|
|
@@ -18,6 +18,7 @@ import com.izouma.dingdong.service.merchant.SalesService;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import javax.transaction.Transactional;
|
|
|
import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@@ -33,9 +34,11 @@ public class AppraisalService {
|
|
|
/*
|
|
|
客户评价
|
|
|
*/
|
|
|
+ @Transactional
|
|
|
public Appraisal userAppraisal(Appraisal appraisal) {
|
|
|
|
|
|
- OrderInfo order = appraisal.getOrder();
|
|
|
+ OrderInfo order = orderInfoRepo.findById(appraisal.getOrderInfoId()).orElseThrow(new BusinessException("无订单"));
|
|
|
+ //OrderInfo order = appraisal.getOrder();
|
|
|
if (OrderStatus.RATED.equals(order.getStatus())) {
|
|
|
|
|
|
order.setRated(true);
|
|
|
@@ -44,11 +47,14 @@ public class AppraisalService {
|
|
|
|
|
|
appraisal.setMerchantId(order.getMerchantId());
|
|
|
appraisal.setRiderId(order.getRiderId());
|
|
|
+ appraisal.setLikes(0);
|
|
|
|
|
|
- Appraisal save = appraisalRepo.save(appraisal);
|
|
|
+ appraisal = appraisalRepo.save(appraisal);
|
|
|
//更新销量数据
|
|
|
- salesService.addLike(save.getId());
|
|
|
- return save;
|
|
|
+ salesService.addLike(appraisal);
|
|
|
+ return appraisal;
|
|
|
+ } else if (OrderStatus.COMPLETED.equals(order.getStatus())) {
|
|
|
+ throw new BusinessException("订单已评价");
|
|
|
} else {
|
|
|
throw new BusinessException("订单未完成");
|
|
|
}
|
|
|
@@ -65,7 +71,7 @@ public class AppraisalService {
|
|
|
// List<Appraisal> appraisals = CollUtil.newArrayList();
|
|
|
List<AppraisalMerDTO> appraisals = CollUtil.newArrayList();
|
|
|
specs.forEach(s -> {
|
|
|
- Appraisal appraisal = appraisalRepo.findByOrderId(s.getOrderId()).orElseThrow(new BusinessException("无订单"));
|
|
|
+ Appraisal appraisal = appraisalRepo.findByOrderInfoId(s.getOrderInfoId()).orElseThrow(new BusinessException("无订单"));
|
|
|
if (ObjectUtil.isNotNull(appraisal)) {
|
|
|
appraisals.add(this.toDTO(appraisal));
|
|
|
// appraisals.add(appraisal);
|
|
|
@@ -76,9 +82,10 @@ public class AppraisalService {
|
|
|
|
|
|
|
|
|
public AppraisalMerDTO toDTO(Appraisal appraisal) {
|
|
|
- List<Goods> collect = appraisal.getOrder().getOrderGoodsSpecs().stream().map(OrderGoodsSpec::getGoods).collect(Collectors.toList());
|
|
|
+ OrderInfo order = orderInfoRepo.findById(appraisal.getOrderInfoId()).orElseThrow(new BusinessException("无订单"));
|
|
|
+ List<Goods> collect = order.getOrderGoodsSpecs().stream().map(OrderGoodsSpec::getGoods).collect(Collectors.toList());
|
|
|
String goodsName = collect.stream().map(Goods::getName).collect(Collectors.joining(","));
|
|
|
- User user = appraisal.getOrder().getUser();
|
|
|
+ User user = order.getUser();
|
|
|
return AppraisalMerDTO.builder()
|
|
|
.appraiseTime(appraisal.getAppraiseTime())
|
|
|
.avatar(user.getAvatar())
|
|
|
@@ -88,6 +95,7 @@ public class AppraisalService {
|
|
|
.goodsName(goodsName)
|
|
|
.merchantReply(appraisal.getMerchantReply())
|
|
|
.nickname(user.getNickname())
|
|
|
+ .img(appraisal.getImg())
|
|
|
.build();
|
|
|
}
|
|
|
|