Selaa lähdekoodia

律师端代码修改评价评论部分

ldz 3 viikkoa sitten
vanhempi
commit
971dd9e0f2

+ 15 - 13
alien-entity/src/main/resources/mapper/OrderReviewMapper.xml

@@ -158,26 +158,28 @@
         <result column="completed_time" property="completedTime" />
     </resultMap>
 
-    <!-- 分页查询评价列表(查询用户已评价的订单对应的律师信息,包含评分、评价内容、发布时间) -->
+    <!-- 分页查询评价列表(查询用户已完成但未评价的订单对应的律师信息) -->
     <select id="getPendingReviewList" resultMap="PendingReviewVoResultMap">
         SELECT
-            orv.order_id,
-            orv.order_number,
-            orv.lawyer_user_id,
+            lco.id AS order_id,
+            lco.order_number,
+            lco.lawyer_user_id,
             lu.name AS lawyer_name,
             lu.head_img AS lawyer_avatar,
             lf.firm_name AS law_firm_name,
-            orv.overall_rating,
-            orv.review_content,
-            orv.created_time,
+            NULL AS overall_rating,
+            NULL AS review_content,
+            lco.end_time AS created_time,
             lco.end_time AS completed_time
-        FROM order_review orv
-        LEFT JOIN lawyer_user lu ON lu.id = orv.lawyer_user_id AND lu.delete_flag = 0
+        FROM lawyer_consultation_order lco
+        LEFT JOIN lawyer_user lu ON lu.id = lco.lawyer_user_id AND lu.delete_flag = 0
         LEFT JOIN law_firm lf ON lf.id = lu.firm_id AND lf.delete_flag = 0
-        LEFT JOIN lawyer_consultation_order lco ON lco.id = orv.order_id AND lco.delete_flag = 0
-        WHERE orv.delete_flag = 0
-        AND orv.user_id = #{userId}
-        ORDER BY orv.created_time DESC
+        LEFT JOIN order_review orv ON orv.order_id = lco.id AND orv.delete_flag = 0
+        WHERE lco.delete_flag = 0
+        AND lco.order_status = 3
+        AND lco.client_user_id = #{userId}
+        AND orv.id IS NULL
+        ORDER BY lco.end_time DESC
     </select>
 
 </mapper>

+ 13 - 12
alien-lawyer/src/main/java/shop/alien/lawyer/service/impl/OrderReviewServiceImpl.java

@@ -24,10 +24,8 @@ import shop.alien.lawyer.service.ReviewCommentService;
 import shop.alien.mapper.*;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
-import java.util.stream.Collectors;
 
 /**
  * 订单评价 服务实现类
@@ -84,7 +82,7 @@ public class OrderReviewServiceImpl extends ServiceImpl<OrderReviewMapper, Order
                 .eq(OrderReview::getDeleteFlag, 0);
         OrderReview existingReview = this.getOne(queryWrapper);
         if (existingReview != null) {
-            return R.fail("该订单已经评价过了");
+            return R.success("该订单已经评价过了");
         }
 
         // 创建评价
@@ -301,25 +299,28 @@ public class OrderReviewServiceImpl extends ServiceImpl<OrderReviewMapper, Order
         Page<OrderReviewVo> page = new Page<>(pageNum, pageSize);
         IPage<OrderReviewVo> result = orderReviewMapper.getReviewListWithUser(page, null, null, userId);
 
-        // 处理评价图片:将逗号分割的字符串转换为List<String>
-        // 格式:http://example.com/lawyer1/certificate.jpg,http://example.com/lawyer2/certificate.jpg
+        // 处理评价图片:将JSON字符串转换为List<String>
         if (result.getRecords() != null) {
             for (OrderReviewVo vo : result.getRecords()) {
                 // 从数据库查询原始的reviewImages字符串
                 if (vo.getId() != null) {
                     OrderReview review = this.getById(vo.getId());
                     if (review != null && review.getReviewImages() != null && !review.getReviewImages().trim().isEmpty()) {
-                        // 按逗号分割字符串,转换为List,并去除每个元素的前后空格
-                        String imagesStr = review.getReviewImages().trim();
-                        List<String> imagesList = Arrays.stream(imagesStr.split(","))
-                                .map(String::trim)
-                                .filter(img -> !img.isEmpty())
-                                .collect(Collectors.toList());
-                        vo.setReviewImages(imagesList);
+                        try {
+                            // 解析JSON数组字符串为List<String>
+                            List<String> imagesList = JSON.parseArray(review.getReviewImages(), String.class);
+                            vo.setReviewImages(imagesList != null ? imagesList : new ArrayList<>());
+                        } catch (Exception e) {
+                            log.warn("解析评价图片失败,reviewId={}, error={}", vo.getId(), e.getMessage());
+                            vo.setReviewImages(new ArrayList<>());
+                        }
                     } else {
                         // 如果没有图片,设置为空列表
                         vo.setReviewImages(new ArrayList<>());
                     }
+                } else {
+                    // 如果ID为空,设置为空列表
+                    vo.setReviewImages(new ArrayList<>());
                 }
             }
         }