소스 검색

评价、退款优化

liude 8 달 전
부모
커밋
e9d46bd33b

+ 0 - 3
vehicle-client/src/main/java/com/chelvc/cloud/vehicle/client/param/OrderReturnApplyModifyParam.java

@@ -40,9 +40,6 @@ public class OrderReturnApplyModifyParam implements Serializable
     /** 订单编号 */
     /** 订单编号 */
     private String orderSn;
     private String orderSn;
 
 
-    /** 会员用户名 */
-    private String userName;
-
     /** 退款金额 */
     /** 退款金额 */
     private BigDecimal returnAmount;
     private BigDecimal returnAmount;
 
 

+ 2 - 1
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/GoodsAssess.java

@@ -8,6 +8,7 @@ import com.chelvc.framework.database.entity.ModifyEntity;
 import lombok.*;
 import lombok.*;
 import lombok.experimental.SuperBuilder;
 import lombok.experimental.SuperBuilder;
 
 
+import java.io.Serializable;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.util.List;
 import java.util.List;
 
 
@@ -22,7 +23,7 @@ import java.util.List;
 @ToString(callSuper = true)
 @ToString(callSuper = true)
 @EqualsAndHashCode(callSuper = true)
 @EqualsAndHashCode(callSuper = true)
 @TableName(autoResultMap = true)
 @TableName(autoResultMap = true)
-public class GoodsAssess extends ModifyEntity<Long> {
+public class GoodsAssess extends ModifyEntity<Long> implements Serializable {
     /**
     /**
      * 主键
      * 主键
      */
      */

+ 3 - 1
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/Help.java

@@ -11,6 +11,8 @@ import lombok.NoArgsConstructor;
 import lombok.ToString;
 import lombok.ToString;
 import lombok.experimental.SuperBuilder;
 import lombok.experimental.SuperBuilder;
 
 
+import java.io.Serializable;
+
 /**
 /**
  * 帮助对象 help
  * 帮助对象 help
  * 
  * 
@@ -24,7 +26,7 @@ import lombok.experimental.SuperBuilder;
 @ToString(callSuper = true)
 @ToString(callSuper = true)
 @EqualsAndHashCode(callSuper = true)
 @EqualsAndHashCode(callSuper = true)
 @TableName(autoResultMap = true)
 @TableName(autoResultMap = true)
-public class Help extends ModifyEntity<Long>
+public class Help extends ModifyEntity<Long> implements Serializable
 {
 {
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
 
 

+ 0 - 2
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/OmsOrderReturnApply.java

@@ -44,8 +44,6 @@ public class OmsOrderReturnApply extends ModifyEntity<Long>
     /** 订单编号 */
     /** 订单编号 */
     private String orderSn;
     private String orderSn;
 
 
-    /** 会员用户名 */
-    private String userName;
 
 
     /** 退款金额 */
     /** 退款金额 */
     private BigDecimal returnAmount;
     private BigDecimal returnAmount;

+ 35 - 8
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/AssessServiceImpl.java

@@ -14,6 +14,7 @@ import com.chelvc.cloud.user.client.dto.UserDTO;
 import com.chelvc.cloud.vehicle.client.dto.AssessMessageDto;
 import com.chelvc.cloud.vehicle.client.dto.AssessMessageDto;
 import com.chelvc.cloud.vehicle.client.dto.AssessRecoverDto;
 import com.chelvc.cloud.vehicle.client.dto.AssessRecoverDto;
 import com.chelvc.cloud.vehicle.client.dto.GoodsAssessDto;
 import com.chelvc.cloud.vehicle.client.dto.GoodsAssessDto;
+import com.chelvc.cloud.vehicle.client.dto.OmsOrderItemDTO;
 import com.chelvc.cloud.vehicle.client.param.AssessModifyParam;
 import com.chelvc.cloud.vehicle.client.param.AssessModifyParam;
 import com.chelvc.cloud.vehicle.client.param.AssessQueryParam;
 import com.chelvc.cloud.vehicle.client.param.AssessQueryParam;
 import com.chelvc.cloud.vehicle.client.param.AssessRecoverModifyParam;
 import com.chelvc.cloud.vehicle.client.param.AssessRecoverModifyParam;
@@ -26,7 +27,9 @@ import com.chelvc.cloud.vehicle.server.entity.AssessRecover;
 import com.chelvc.cloud.vehicle.server.entity.AssessScore;
 import com.chelvc.cloud.vehicle.server.entity.AssessScore;
 import com.chelvc.cloud.vehicle.server.entity.Goods;
 import com.chelvc.cloud.vehicle.server.entity.Goods;
 import com.chelvc.cloud.vehicle.server.entity.GoodsAssess;
 import com.chelvc.cloud.vehicle.server.entity.GoodsAssess;
+import com.chelvc.cloud.vehicle.server.entity.OmsOrderItem;
 import com.chelvc.cloud.vehicle.server.service.AssessService;
 import com.chelvc.cloud.vehicle.server.service.AssessService;
+import com.chelvc.cloud.vehicle.server.service.OmsOrderItemService;
 import com.chelvc.framework.base.context.Session;
 import com.chelvc.framework.base.context.Session;
 import com.chelvc.framework.base.context.SessionContextHolder;
 import com.chelvc.framework.base.context.SessionContextHolder;
 import com.chelvc.framework.common.model.Pagination;
 import com.chelvc.framework.common.model.Pagination;
@@ -34,11 +37,13 @@ import com.chelvc.framework.common.model.Paging;
 import com.chelvc.framework.common.util.AssertUtils;
 import com.chelvc.framework.common.util.AssertUtils;
 import com.chelvc.framework.common.util.ObjectUtils;
 import com.chelvc.framework.common.util.ObjectUtils;
 import com.chelvc.framework.database.context.DatabaseContextHolder;
 import com.chelvc.framework.database.context.DatabaseContextHolder;
+import com.chelvc.framework.database.entity.ModifyEntity;
 import lombok.RequiredArgsConstructor;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.math.RoundingMode;
@@ -62,6 +67,7 @@ public class AssessServiceImpl extends ServiceImpl<GoodsAssessMapper, GoodsAsses
 
 
     private final AssessRecoverMapper assessRecoverMapper;
     private final AssessRecoverMapper assessRecoverMapper;
     private final AssessScoreMapper assessScoreMapper;
     private final AssessScoreMapper assessScoreMapper;
+    private final OmsOrderItemService omsOrderItemService;
 
 
     @Override
     @Override
     public Long add(AssessModifyParam param) {
     public Long add(AssessModifyParam param) {
@@ -69,11 +75,21 @@ public class AssessServiceImpl extends ServiceImpl<GoodsAssessMapper, GoodsAsses
         AssertUtils.available(this.getOne(new QueryWrapper<GoodsAssess>().eq("order_id", param.getOrderId()).eq(
         AssertUtils.available(this.getOne(new QueryWrapper<GoodsAssess>().eq("order_id", param.getOrderId()).eq(
                 "creator", user.getId())) == null, "该订单已评价");
                 "creator", user.getId())) == null, "该订单已评价");
         GoodsAssess goodsAssess = GoodsAssessCopier.INSTANCE.copying(param);
         GoodsAssess goodsAssess = GoodsAssessCopier.INSTANCE.copying(param);
+        List<OmsOrderItemDTO> orderItems = this.omsOrderItemService.getOrderItemByOrderId(param.getOrderId());
+        List<GoodsAssess> goodsAssessList = new ArrayList<>();
         goodsAssess.setHits(0L);
         goodsAssess.setHits(0L);
         goodsAssess.setIsRecover(0);
         goodsAssess.setIsRecover(0);
-        this.save(goodsAssess);
+         if (CollectionUtils.isEmpty(orderItems)){
+             return null;
+         }else{
+             for (OmsOrderItemDTO omsOrderItem:orderItems){
+                 goodsAssess.setGoodsId(omsOrderItem.getGoodsId());
+                 goodsAssessList.add(goodsAssess);
+             }
+         }
+        this.saveBatch(goodsAssessList,goodsAssessList.size());
         baseMapper.updatePersonalAssessStatus(param.getOrderId());
         baseMapper.updatePersonalAssessStatus(param.getOrderId());
-        return goodsAssess.getId();
+        return param.getOrderId();
     }
     }
 
 
     @Override
     @Override
@@ -324,12 +340,23 @@ public class AssessServiceImpl extends ServiceImpl<GoodsAssessMapper, GoodsAsses
     @Override
     @Override
     public List<GoodsAssessDto> merchantQuery(AssessQueryParam param) {
     public List<GoodsAssessDto> merchantQuery(AssessQueryParam param) {
         AssertUtils.nonnull(param.getMerchantId(), "query merchant assess merchantId must not be null");
         AssertUtils.nonnull(param.getMerchantId(), "query merchant assess merchantId must not be null");
-        QueryWrapper<GoodsAssess> wrapper = new QueryWrapper<>();
-        wrapper.eq("merchant_id", param.getMerchantId());
-        if (null != param.getGoodsId()) wrapper.eq("goods_id", param.getGoodsId());
-        wrapper.orderByDesc("create_time");
-        List<GoodsAssess> list = this.list(wrapper);
-        return GoodsAssessCopier.INSTANCE.copying(list);
+        List<GoodsAssess> list = this.lambdaQuery()
+                .eq(GoodsAssess::getGoodsId,param.getGoodsId())
+                .eq(GoodsAssess::getMerchantId,param.getMerchantId())
+                .orderByDesc(ModifyEntity::getCreateTime).list();
+        List<GoodsAssessDto> goodsAssessDtoList = GoodsAssessCopier.INSTANCE.copying(list);
+        if (CollectionUtils.isEmpty(goodsAssessDtoList)){
+            return null;
+        }else{
+            goodsAssessDtoList.forEach(item ->{
+                UserDTO userDTO = this.userService.getUser(item.getCreator());
+                if (null != userDTO){
+                    item.setCreatorAvatar(userDTO.getAvatar());
+                    item.setCreatorNickName(userDTO.getNickname());
+                }
+            });
+        }
+        return goodsAssessDtoList;
     }
     }
 
 
     @Override
     @Override

+ 9 - 0
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/OmsOrderReturnApplyServiceImpl.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.chelvc.cloud.user.client.UserClient;
 import com.chelvc.cloud.user.client.UserClient;
+import com.chelvc.cloud.user.client.dto.UserDTO;
 import com.chelvc.cloud.user.client.model.Scope;
 import com.chelvc.cloud.user.client.model.Scope;
 import com.chelvc.cloud.vehicle.client.constant.ReserveStatus;
 import com.chelvc.cloud.vehicle.client.constant.ReserveStatus;
 import com.chelvc.cloud.vehicle.client.dto.OmsOrderReturnApplyDTO;
 import com.chelvc.cloud.vehicle.client.dto.OmsOrderReturnApplyDTO;
@@ -96,6 +97,14 @@ public class OmsOrderReturnApplyServiceImpl extends ServiceImpl<OmsOrderReturnAp
     {
     {
         OmsOrderReturnApply omsOrderReturnApply = OrderReturnApplyCopier.INSTANCE.copying(param);
         OmsOrderReturnApply omsOrderReturnApply = OrderReturnApplyCopier.INSTANCE.copying(param);
         omsOrderReturnApply.setCreateTime(new Date());
         omsOrderReturnApply.setCreateTime(new Date());
+        OmsOrder omsOrder = this.omsOrderService.getById(param.getOrderId());
+        if (null != omsOrder){
+            omsOrderReturnApply.setReturnAmount(omsOrder.getPayAmount());
+            UserDTO userDTO = this.userClient.getUser(omsOrder.getUserId());
+            omsOrderReturnApply.setReturnName(userDTO.getNickname());
+            omsOrderReturnApply.setReturnPhone(userDTO.getMobile());
+            omsOrderReturnApply.setStatus(0L);
+        }
         this.save(omsOrderReturnApply);
         this.save(omsOrderReturnApply);
         this.omsOrderService.updateOrderStatus(param.getOrderId(),5);
         this.omsOrderService.updateOrderStatus(param.getOrderId(),5);
         this.reservationService.updateStatusByOrderId(param.getOrderId(), ReserveStatus.CANCELED);
         this.reservationService.updateStatusByOrderId(param.getOrderId(), ReserveStatus.CANCELED);