|
|
@@ -5,6 +5,9 @@ import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.izouma.dingdong.domain.Appraisal;
|
|
|
import com.izouma.dingdong.domain.OrderGoodsSpec;
|
|
|
import com.izouma.dingdong.domain.OrderInfo;
|
|
|
+import com.izouma.dingdong.domain.User;
|
|
|
+import com.izouma.dingdong.domain.merchant.Goods;
|
|
|
+import com.izouma.dingdong.dto.AppraisalMerDTO;
|
|
|
import com.izouma.dingdong.enums.OrderStatus;
|
|
|
import com.izouma.dingdong.exception.BusinessException;
|
|
|
import com.izouma.dingdong.repo.AppraisalRepo;
|
|
|
@@ -16,6 +19,7 @@ import lombok.AllArgsConstructor;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.List;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
|
@AllArgsConstructor
|
|
|
@@ -45,8 +49,7 @@ public class AppraisalService {
|
|
|
//更新销量数据
|
|
|
salesService.addLike(save.getId());
|
|
|
return save;
|
|
|
- }
|
|
|
- else {
|
|
|
+ } else {
|
|
|
throw new BusinessException("订单未完成");
|
|
|
}
|
|
|
}
|
|
|
@@ -54,20 +57,39 @@ public class AppraisalService {
|
|
|
/*
|
|
|
按商品查找评价
|
|
|
*/
|
|
|
- public List<Appraisal> goodsAppraisals(Long goodsId) {
|
|
|
+ public List<AppraisalMerDTO> goodsAppraisals(Long goodsId) {
|
|
|
List<OrderGoodsSpec> specs = orderGoodsSpecRepo.findAllByGoodsId(goodsId);
|
|
|
- if (ObjectUtil.isNull(specs)){
|
|
|
+ if (ObjectUtil.isNull(specs)) {
|
|
|
return null;
|
|
|
}
|
|
|
- List<Appraisal> appraisals = CollUtil.newArrayList();
|
|
|
+// List<Appraisal> appraisals = CollUtil.newArrayList();
|
|
|
+ List<AppraisalMerDTO> appraisals = CollUtil.newArrayList();
|
|
|
specs.forEach(s -> {
|
|
|
Appraisal appraisal = appraisalRepo.findByOrderId(s.getOrderId()).orElseThrow(new BusinessException("无订单"));
|
|
|
if (ObjectUtil.isNotNull(appraisal)) {
|
|
|
- appraisals.add(appraisal);
|
|
|
+ appraisals.add(this.toDTO(appraisal));
|
|
|
+// appraisals.add(appraisal);
|
|
|
}
|
|
|
});
|
|
|
return appraisals;
|
|
|
}
|
|
|
|
|
|
|
|
|
+ public AppraisalMerDTO toDTO(Appraisal appraisal) {
|
|
|
+ List<Goods> collect = appraisal.getOrder().getOrderGoodsSpecs().stream().map(OrderGoodsSpec::getGoods).collect(Collectors.toList());
|
|
|
+ String goodsName = collect.stream().map(Goods::getName).collect(Collectors.joining(","));
|
|
|
+ User user = appraisal.getOrder().getUser();
|
|
|
+ return AppraisalMerDTO.builder()
|
|
|
+ .appraiseTime(appraisal.getAppraiseTime())
|
|
|
+ .avatar(user.getAvatar())
|
|
|
+ .goodsAppraise(appraisal.getGoodsAppraise())
|
|
|
+ .goodsBad(appraisal.getGoodsBad())
|
|
|
+ .goodsLike(appraisal.getGoodsLike())
|
|
|
+ .goodsName(goodsName)
|
|
|
+ .merchantReply(appraisal.getMerchantReply())
|
|
|
+ .nickname(user.getNickname())
|
|
|
+ .build();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|