Эх сурвалжийг харах

Merge remote-tracking branch 'origin/master'

wang 14 цаг өмнө
parent
commit
665011be13

+ 12 - 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);
@@ -270,8 +272,11 @@ public class OrderRefundController {
     public ResponseEntity<String> apply(@Valid @RequestBody OrderRefundParam orderRefundParam) {
         log.info("小程序申请退款参数:{}", JSONObject.toJSONString(orderRefundParam));
         List<OrderRefundSku> orderRefundSkuList = orderRefundParam.getOrderRefundSkuList();
+        System.out.println("orderRefundSkuList-------"+orderRefundSkuList);
         CullenUtils.validateDataThrowException(orderRefundSkuList.isEmpty(), "退款商品不能为空...");
+        System.out.println("过-------");
         String userId = SecurityUtils.getUser().getUserId();
+        System.out.println("userId-------"+userId);
 //        String userId = "36726893042d492aba446439c5f00584";
         // 获取订单信息
         Order order = orderService.getOrderByOrderNumberAndUserId(orderRefundParam.getOrderNumber(), userId, true);
@@ -389,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);
@@ -398,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);
@@ -672,6 +679,11 @@ public class OrderRefundController {
         }
 
         ApiOrderRefundDto apiOrderRefundDto = mapperFacade.map(orderRefundDto, ApiOrderRefundDto.class);
+
+        //收货地址对象
+        orderRefundDto.setRefundDelivery(refundDeliveryService.getOne(
+                new LambdaQueryWrapper<RefundDelivery>().eq(RefundDelivery::getRefundSn, orderRefundDto.getRefundSn())));
+
         return ResponseEntity.ok(apiOrderRefundDto);
     }
 

+ 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) {

+ 6 - 1
yami-shop-service/src/main/java/com/yami/shop/service/impl/OrderServiceImpl.java

@@ -220,7 +220,12 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
         // 提交订单
         eventPublisher.publishEvent(new SubmitOrderEvent(mergerOrder, orderList));
         // 插入订单
-        orderList.forEach(orderMapper::insert);
+        orderList.forEach(c->{
+            if (c.getDvyType().equals(1) && c.getHbOrderStatus()!=0) {
+                c.setHbOrderStatus(1);
+            }
+            orderMapper.insert(c);
+        });
         List<OrderItem> orderItems = orderList.stream()
                 .flatMap(order -> order.getOrderItems().stream()
                 )

+ 2 - 2
yami-shop-service/src/main/resources/mapper/OrderMapper.xml

@@ -518,7 +518,7 @@
         LEFT JOIN tz_user_addr_order b on a.addr_order_id=b.addr_order_id
         LEFT JOIN tz_shop_detail c on a.shop_id=c.shop_id
         <where>
-            a.dvy_type=3
+            a.dvy_type=1
             <if test="orderParam.orderNumber != null and orderParam.orderNumber != ''">
                 and a.order_number = #{orderParam.orderNumber}
             </if>
@@ -960,7 +960,7 @@
     </select>
 
     <select id="statusCount" resultType="integer">
-        SELECT count(1) FROM `tz_order` WHERE hb_order_status in
+        SELECT count(1) FROM `tz_order` WHERE  dvy_type=1 and hb_order_status in
         <foreach collection="status" item="status" separator="," open="(" close=")">
             #{status}
         </foreach>