|
|
@@ -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<>());
|
|
|
}
|
|
|
}
|
|
|
}
|