Parcourir la source

星闪豹退货退款

zhangxin il y a 2 jours
Parent
commit
4f43653ac0

+ 10 - 0
yami-shop-platform/src/main/java/com/yami/shop/platform/controller/smqjh/XSBRefundOrderController.java

@@ -75,5 +75,15 @@ public class XSBRefundOrderController {
         return xsbRefundOrderService.changeHbOrderStatus(orderNumber, status);
     }
 
+    /**
+     * 变更海博退款订单状态
+     */
+    @PostMapping("/changeHbRefundOrderStatus")
+    public R<String> changeHbRefundOrderStatus(@RequestBody Map<String, Object> params) {
+        String refundSn = (String) params.get("refundSn");
+        Integer status = (Integer) params.get("status");
+        log.info("接收变更海博退款订单状态请求, refundSn: {}, status: {}", refundSn, status);
+        return xsbRefundOrderService.changeHbRefundOrderStatus(refundSn, status);
+    }
 
 }

+ 4 - 2
yami-shop-service/src/main/java/com/yami/shop/service/impl/OrderRefundServiceImpl.java

@@ -73,7 +73,6 @@ import java.util.concurrent.Executors;
 import java.util.stream.Collectors;
 
 import static com.yami.shop.common.util.HttpUtil.post;
-import static com.yami.shop.wx.utils.Http5Util.post;
 
 @Slf4j
 @Service
@@ -1242,7 +1241,10 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
             changeStatus(orderRefund.getRefundSn(), orderRefund.getReturnMoneySts());
             try {
                 if (ChannelType.SMQJH.value().equals(orderRefund.getChannelType())) {
-                    orderService.returnRefundCheck(orderRefund.getRefundSn());
+                    //只有当状态为完成的时候需要新增这条记录 否则不进行添加这退款记录
+                    if(orderRefund.getReturnMoneySts().equals(ReturnMoneyStsType.SUCCESS.value())){
+                        orderService.returnRefundCheck(orderRefund.getRefundSn());
+                    }
                     R<String> stringR = xsbPushRefundOrderService.pushRefundStatus(orderRefund);
                     if (!stringR.isSuccess()) {
                     log.info("推送退款状态成功");

+ 8 - 0
yami-shop-service/src/main/java/com/yami/shop/service/xsb/XSBRefundOrderService.java

@@ -34,4 +34,12 @@ public interface XSBRefundOrderService {
      * @return
      */
     R<String> changeHbOrderStatus(String orderNumber, Integer status);
+
+    /**
+     * 变更海博退款订单状态
+     * @param refundSn
+     * @param status
+     * @return
+     */
+    R<String> changeHbRefundOrderStatus(String refundSn, Integer status);
 }

+ 21 - 1
yami-shop-service/src/main/java/com/yami/shop/service/xsb/impl/XSBRefundOrderServiceImpl.java

@@ -229,7 +229,9 @@ public class XSBRefundOrderServiceImpl implements XSBRefundOrderService {
         newOrderRefund.setGoodsNum(refundOrderPushVo.getGoodsNum());
         newOrderRefund.setApplyType(refundOrderPushVo.getApplyType());
         if (Objects.equals(refundOrderPushVo.getApplyType(), 2)) {
-            newOrderRefund.setIsReceiver(true);
+//            newOrderRefund.setIsReceiver(true);
+            //第一次进来带审核的时候收货状态为未收到货
+            newOrderRefund.setIsReceiver(false);
         } else {
             newOrderRefund.setIsReceiver(false);
         }
@@ -416,6 +418,24 @@ public class XSBRefundOrderServiceImpl implements XSBRefundOrderService {
         }
     }
 
+    /**
+     * 变更退款订单状态
+     * @param refundSn
+     * @param status
+     * @return
+     */
+    @Override
+    public R<String> changeHbRefundOrderStatus(String refundSn, Integer status) {
+        OrderRefund orderRefund = orderRefundService.getOne(new LambdaQueryWrapper<OrderRefund>().eq(OrderRefund::getRefundSn,refundSn));
+        if (orderRefund==null){
+            return R.FAIL("【星闪豹】退款订单信息不存在");
+        }
+        orderRefund.setReturnMoneySts(status);
+        orderRefundService.updateById(orderRefund);
+        orderRefundService.changeStatus(refundSn,status);
+        return  R.SUCCESS("变更退款订单状态成功");
+    }
+
     /**
      * 参数校验
      * @param refundOrderPushVo