|
@@ -3,19 +3,23 @@ package com.izouma.dingdong.service;
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
|
+import com.izouma.dingdong.converter.LongArrayConverter;
|
|
|
import com.izouma.dingdong.domain.Appraisal;
|
|
import com.izouma.dingdong.domain.Appraisal;
|
|
|
import com.izouma.dingdong.domain.OrderGoodsSpec;
|
|
import com.izouma.dingdong.domain.OrderGoodsSpec;
|
|
|
import com.izouma.dingdong.domain.OrderInfo;
|
|
import com.izouma.dingdong.domain.OrderInfo;
|
|
|
import com.izouma.dingdong.domain.User;
|
|
import com.izouma.dingdong.domain.User;
|
|
|
import com.izouma.dingdong.domain.merchant.Goods;
|
|
import com.izouma.dingdong.domain.merchant.Goods;
|
|
|
import com.izouma.dingdong.dto.AppraisalMerDTO;
|
|
import com.izouma.dingdong.dto.AppraisalMerDTO;
|
|
|
|
|
+import com.izouma.dingdong.dto.AppraisalRidDTO;
|
|
|
import com.izouma.dingdong.enums.AppraisalSort;
|
|
import com.izouma.dingdong.enums.AppraisalSort;
|
|
|
import com.izouma.dingdong.enums.OrderStatus;
|
|
import com.izouma.dingdong.enums.OrderStatus;
|
|
|
import com.izouma.dingdong.exception.BusinessException;
|
|
import com.izouma.dingdong.exception.BusinessException;
|
|
|
import com.izouma.dingdong.repo.AppraisalRepo;
|
|
import com.izouma.dingdong.repo.AppraisalRepo;
|
|
|
|
|
+import com.izouma.dingdong.repo.FastAppraisalRepo;
|
|
|
import com.izouma.dingdong.repo.OrderGoodsSpecRepo;
|
|
import com.izouma.dingdong.repo.OrderGoodsSpecRepo;
|
|
|
import com.izouma.dingdong.repo.OrderInfoRepo;
|
|
import com.izouma.dingdong.repo.OrderInfoRepo;
|
|
|
|
|
|
|
|
|
|
+import com.izouma.dingdong.repo.merchant.MerchantRepo;
|
|
|
import com.izouma.dingdong.service.merchant.SalesService;
|
|
import com.izouma.dingdong.service.merchant.SalesService;
|
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
@@ -34,6 +38,8 @@ public class AppraisalService {
|
|
|
private OrderInfoRepo orderInfoRepo;
|
|
private OrderInfoRepo orderInfoRepo;
|
|
|
private OrderGoodsSpecRepo orderGoodsSpecRepo;
|
|
private OrderGoodsSpecRepo orderGoodsSpecRepo;
|
|
|
private SalesService salesService;
|
|
private SalesService salesService;
|
|
|
|
|
+ private MerchantRepo merchantRepo;
|
|
|
|
|
+ private FastAppraisalRepo fastAppraisalRepo;
|
|
|
|
|
|
|
|
/*
|
|
/*
|
|
|
客户评价
|
|
客户评价
|
|
@@ -74,14 +80,12 @@ public class AppraisalService {
|
|
|
if (ObjectUtil.isNull(specs)) {
|
|
if (ObjectUtil.isNull(specs)) {
|
|
|
return null;
|
|
return null;
|
|
|
}
|
|
}
|
|
|
-// List<Appraisal> appraisals = CollUtil.newArrayList();
|
|
|
|
|
List<AppraisalMerDTO> appraisals = CollUtil.newArrayList();
|
|
List<AppraisalMerDTO> appraisals = CollUtil.newArrayList();
|
|
|
specs.forEach(s -> {
|
|
specs.forEach(s -> {
|
|
|
Appraisal appraisal = appraisalRepo.findByOrderInfoId(s.getOrderInfoId())
|
|
Appraisal appraisal = appraisalRepo.findByOrderInfoId(s.getOrderInfoId())
|
|
|
.orElseThrow(new BusinessException("无订单"));
|
|
.orElseThrow(new BusinessException("无订单"));
|
|
|
if (ObjectUtil.isNotNull(appraisal)) {
|
|
if (ObjectUtil.isNotNull(appraisal)) {
|
|
|
- appraisals.add(this.toDTO(appraisal));
|
|
|
|
|
-// appraisals.add(appraisal);
|
|
|
|
|
|
|
+ appraisals.add(this.toMerDTO(appraisal));
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
return appraisals;
|
|
return appraisals;
|
|
@@ -93,7 +97,7 @@ public class AppraisalService {
|
|
|
* @param appraisal 评价
|
|
* @param appraisal 评价
|
|
|
* @return 商家需要信息的评价dto
|
|
* @return 商家需要信息的评价dto
|
|
|
*/
|
|
*/
|
|
|
- public AppraisalMerDTO toDTO(Appraisal appraisal) {
|
|
|
|
|
|
|
+ public AppraisalMerDTO toMerDTO(Appraisal appraisal) {
|
|
|
OrderInfo order = orderInfoRepo.findById(appraisal.getOrderInfoId()).orElseThrow(new BusinessException("无订单"));
|
|
OrderInfo order = orderInfoRepo.findById(appraisal.getOrderInfoId()).orElseThrow(new BusinessException("无订单"));
|
|
|
List<Goods> collect = order.getOrderGoodsSpecs()
|
|
List<Goods> collect = order.getOrderGoodsSpecs()
|
|
|
.stream()
|
|
.stream()
|
|
@@ -162,5 +166,34 @@ public class AppraisalService {
|
|
|
return appraisals1;
|
|
return appraisals1;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ public List<AppraisalRidDTO> showRider(Long riderId) {
|
|
|
|
|
+ List<Appraisal> appraisals = appraisalRepo.findAllByRiderId(riderId);
|
|
|
|
|
+ return appraisals.stream().map(this::toRidDTO).collect(Collectors.toList());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public AppraisalRidDTO toRidDTO(Appraisal a) {
|
|
|
|
|
+ AppraisalRidDTO ridDTO = AppraisalRidDTO
|
|
|
|
|
+ .builder()
|
|
|
|
|
+ .riderLike(a.getRiderLike())
|
|
|
|
|
+ .userNickname("匿名")
|
|
|
|
|
+ .riderAppraise(a.getRiderAppraise())
|
|
|
|
|
+ .date(a.getAppraiseTime().toLocalDate())
|
|
|
|
|
+ .build();
|
|
|
|
|
|
|
|
|
|
+ //商家用户名
|
|
|
|
|
+ merchantRepo.findById(a.getMerchantId())
|
|
|
|
|
+ .ifPresent(m -> ridDTO.setMerShowName(m.getShowName()));
|
|
|
|
|
+
|
|
|
|
|
+ if (ObjectUtil.isNotEmpty(a.getFastIds())) {
|
|
|
|
|
+ List<String> content = new ArrayList<>();
|
|
|
|
|
+ LongArrayConverter converter = new LongArrayConverter();
|
|
|
|
|
+ List<Long> longs = converter.convertToEntityAttribute(a.getFastIds());
|
|
|
|
|
+ longs.forEach(l ->
|
|
|
|
|
+ //快捷内容
|
|
|
|
|
+ fastAppraisalRepo.findById(l).ifPresent(f -> content.add(f.getContent()))
|
|
|
|
|
+ );
|
|
|
|
|
+ ridDTO.setContent(content);
|
|
|
|
|
+ }
|
|
|
|
|
+ return ridDTO;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|