فهرست منبع

Merge remote-tracking branch 'origin/master'

wangming 15 ساعت پیش
والد
کامیت
5631bb0075

+ 4 - 0
yami-shop-api/src/main/java/com/yami/shop/api/controller/OrderRefundController.java

@@ -241,6 +241,7 @@ public class OrderRefundController {
         OrderRefundRecord orderRefundRecord = new OrderRefundRecord();
         orderRefundRecord.setOrderRefundId(orderRefund.getRefundId());
         orderRefundRecord.setInstructions(newOrderRefund.getBuyerReason());
+        orderRefundRecord.setCreateTime(new Date());
         orderRefundRecord.setUpdateTime(new Date());
         orderRefundRecord.setAuditStatus(1);
         orderRefundRecord.setSort(1);
@@ -250,6 +251,7 @@ public class OrderRefundController {
         OrderRefundRecord orderRefundRecord1 = new OrderRefundRecord();
         orderRefundRecord1.setOrderRefundId(orderRefund.getRefundId());
         orderRefundRecord1.setInstructions("你的服务单已申请成功,待商家审核");
+        orderRefundRecord1.setCreateTime(new Date());
         orderRefundRecord1.setUpdateTime(new Date());
         orderRefundRecord1.setAuditStatus(2);
         orderRefundRecord1.setSort(2);
@@ -392,6 +394,7 @@ public class OrderRefundController {
         OrderRefundRecord orderRefundRecord = new OrderRefundRecord();
         orderRefundRecord.setOrderRefundId(orderRefund.getRefundId());
         orderRefundRecord.setInstructions(newOrderRefund.getBuyerReason());
+        orderRefundRecord.setCreateTime(new Date());
         orderRefundRecord.setUpdateTime(new Date());
         orderRefundRecord.setAuditStatus(1);
         orderRefundRecord.setSort(1);
@@ -401,6 +404,7 @@ public class OrderRefundController {
         OrderRefundRecord orderRefundRecord1 = new OrderRefundRecord();
         orderRefundRecord1.setOrderRefundId(orderRefund.getRefundId());
         orderRefundRecord1.setInstructions("你的服务单已申请成功,待商家审核");
+        orderRefundRecord1.setCreateTime(new Date());
         orderRefundRecord1.setUpdateTime(new Date());
         orderRefundRecord1.setAuditStatus(2);
         orderRefundRecord1.setSort(2);

+ 43 - 1
yami-shop-api/src/main/java/com/yami/shop/api/controller/RefundDeliveryController.java

@@ -1,17 +1,27 @@
 package com.yami.shop.api.controller;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yami.shop.bean.model.OrderRefund;
+import com.yami.shop.bean.model.OrderRefundRecord;
 import com.yami.shop.bean.model.RefundDelivery;
+import com.yami.shop.bean.model.ShopDetail;
+import com.yami.shop.common.exception.GlobalException;
 import com.yami.shop.common.util.PageParam;
+import com.yami.shop.dao.OrderRefundRecordMapper;
+import com.yami.shop.dao.ShopDetailMapper;
+import com.yami.shop.service.OrderRefundService;
 import com.yami.shop.service.RefundDeliveryService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import org.springframework.http.ResponseEntity;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
+import java.util.Date;
 
 /**
  * 退货物流信息接口
@@ -23,6 +33,9 @@ import javax.validation.Valid;
 public class RefundDeliveryController {
 
     private final RefundDeliveryService refundDeliveryService;
+    private final OrderRefundService orderRefundService;
+    private final OrderRefundRecordMapper orderRefundRecordMapper;
+    private final ShopDetailMapper shopDetailMapper;
 
     /**
      * 分页获取退货物流信息列表
@@ -59,8 +72,37 @@ public class RefundDeliveryController {
      */
     @PostMapping("/save")
     @ApiOperation("保存退货物流信息")
-    public ResponseEntity<Void> save(@Valid @RequestBody RefundDelivery refundDelivery) {
+    @Transactional(rollbackFor = Exception.class)
+    public ResponseEntity<?> save(@Valid @RequestBody RefundDelivery refundDelivery) {
+
+
+        //获取门店信息
+        ShopDetail shopDetail = shopDetailMapper.selectById(refundDelivery.getShopId());
+        if (ObjectUtil.isEmpty(shopDetail)){
+            throw new GlobalException("门店信息不存在");
+        }
+        //门店信息获取地址
+        String shopAddress = shopDetail.getProvince() + shopDetail.getCity() + shopDetail.getArea() + shopDetail.getShopAddress();
+        refundDelivery.setReceiverAddr(shopAddress);
+        refundDelivery.setReceiverName(shopDetail.getTel());
+        refundDelivery.setReceiverMobile(shopDetail.getShopOwner());
+        refundDelivery.setReceiverTelephone(shopDetail.getMobile());
         refundDeliveryService.save(refundDelivery);
+        //添加填写物流信息轨迹
+        OrderRefund one = orderRefundService.getOne(new LambdaQueryWrapper<OrderRefund>().eq(OrderRefund::getRefundSn, refundDelivery.getRefundSn()));
+
+        if (ObjectUtil.isEmpty( one)){
+            throw new GlobalException("该退款单不存在");
+        }
+        OrderRefundRecord orderRefundRecord = new OrderRefundRecord();
+        orderRefundRecord.setOrderRefundId(one.getRefundId());
+        orderRefundRecord.setInstructions("商家收到商品井确认不影响二次销售后,将会为您处理退款");
+        Date date = new Date();
+        orderRefundRecord.setCreateTime(date);
+        orderRefundRecord.setUpdateTime(date);
+        orderRefundRecord.setAuditStatus(7);
+        orderRefundRecord.setSort(5);
+        orderRefundRecordMapper.insert(orderRefundRecord);
         return ResponseEntity.ok().build();
     }
 

+ 4 - 0
yami-shop-bean/src/main/java/com/yami/shop/bean/dto/OrderRefundDto.java

@@ -35,6 +35,10 @@ public class OrderRefundDto extends OrderRefund implements Serializable {
      * 订单编号
      */
     private String orderNumber;
+    /**
+     * 退款单号
+     */
+    private String refundSn;
 
     /**
      * 实际总值

+ 4 - 1
yami-shop-bean/src/main/java/com/yami/shop/bean/model/OrderRefundRecord.java

@@ -21,10 +21,13 @@ public class OrderRefundRecord {
     @ApiModelProperty(value = "说明")
     private String instructions;
 
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+
     @ApiModelProperty(value = "修改时间")
     private Date updateTime;
 
-    @ApiModelProperty(value = "审核状态(1-申请原因,2-商家待审核,3-审核通过,4-驳回,5-退款成功)")
+    @ApiModelProperty(value = "审核状态(1-申请原因,2-商家待审核,5-用户待发货,7-待商家收货,10-审核通过,20-驳回,30-退款成功)")
     private Integer auditStatus;
 
     @ApiModelProperty(value = "排序")

+ 24 - 16
yami-shop-service/src/main/java/com/yami/shop/service/impl/OrderRefundServiceImpl.java

@@ -140,6 +140,10 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
         }
         // 判断退款单类型(1:整单退款,2:单个物品退款)
         getRefundTypeByOrderItem(orderRefundDto);
+
+        //收货地址对象
+        orderRefundDto.setRefundDelivery(refundDeliveryService.getOne(
+                new LambdaQueryWrapper<RefundDelivery>().eq(RefundDelivery::getRefundSn, orderRefundDto.getRefundSn())));
         return orderRefundDto;
     }
 
@@ -1089,7 +1093,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
                     applyDeal = 1;
                 }
             }
-
+            Date date = new Date();
             OrderRefund orderRefund = orderRefundMapper.selectOne(new LambdaQueryWrapper<OrderRefund>().eq(OrderRefund::getRefundSn, afterSaleOrder));
             if (auditType == 3) {
                 //3:驳回
@@ -1103,33 +1107,37 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
                 orderService.updateById(orderByOrderNumber);
 
                 //生成待商家审核记录
-                OrderRefundRecord orderRefundRecord1 = new OrderRefundRecord();
-                orderRefundRecord1.setOrderRefundId(orderRefund.getRefundId());
-                orderRefundRecord1.setInstructions(reason);
-                orderRefundRecord1.setUpdateTime(new Date());
-                orderRefundRecord1.setAuditStatus(4);
-                orderRefundRecord1.setSort(3);
-                orderRefundRecordMapper.insert(orderRefundRecord1);
+                OrderRefundRecord orderRefundRecord = new OrderRefundRecord();
+                orderRefundRecord.setOrderRefundId(orderRefund.getRefundId());
+                orderRefundRecord.setInstructions(reason);
+                orderRefundRecord.setCreateTime(date);
+                orderRefundRecord.setUpdateTime(date);
+                orderRefundRecord.setAuditStatus(20);
+                orderRefundRecord.setSort(3);
+                orderRefundRecordMapper.insert(orderRefundRecord);
             } else {
                 //审核通过
                 orderRefund.setApplyType(applyDeal);
 
+                //生成待商家审核记录
+                OrderRefundRecord orderRefundRecord = new OrderRefundRecord();
                 if (applyDeal == 1) {
                     orderRefund.setReturnMoneySts(ReturnMoneyStsType.SUCCESS.value());
+                    orderRefundRecord.setInstructions("你的申请已通过,退款处理中");
+                    orderRefundRecord.setAuditStatus(3);
                 } else {
+                    orderRefundRecord.setInstructions("申请已通过,请及时填写配送信息并支付配送费");
+                    orderRefundRecord.setAuditStatus(3);
                     //退货退款需要处理二审
                     orderRefund.setReturnMoneySts(ReturnMoneyStsType.CONSIGNMENT.value());
                 }
                 orderRefundMapper.updateById(orderRefund);
 
-                //生成待商家审核记录
-                OrderRefundRecord orderRefundRecord1 = new OrderRefundRecord();
-                orderRefundRecord1.setOrderRefundId(orderRefund.getRefundId());
-                orderRefundRecord1.setInstructions("你的申请已通过,退款处理中");
-                orderRefundRecord1.setUpdateTime(new Date());
-                orderRefundRecord1.setAuditStatus(3);
-                orderRefundRecord1.setSort(3);
-                orderRefundRecordMapper.insert(orderRefundRecord1);
+                orderRefundRecord.setOrderRefundId(orderRefund.getRefundId());
+                orderRefundRecord.setCreateTime(date);
+                orderRefundRecord.setUpdateTime(date);
+                orderRefundRecord.setSort(3);
+                orderRefundRecordMapper.insert(orderRefundRecord);
             }
 
             if (applyDeal == 1) {