浏览代码

海博退款单模块

fubojin 5 天之前
父节点
当前提交
a3a171012c

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

@@ -2,6 +2,7 @@ package com.yami.shop.api.controller;
 
 import cn.hutool.core.lang.Snowflake;
 import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yami.shop.bean.app.dto.ApiOrderRefundDto;
@@ -29,11 +30,13 @@ import com.yami.shop.delivery.comment.api.paotui.model.response.OrderStatusRespo
 import com.yami.shop.delivery.comment.service.TransportManagerService;
 import com.yami.shop.security.api.util.SecurityUtils;
 import com.yami.shop.service.*;
+import com.yami.shop.service.hb.IHBOrderService;
 import com.yami.shop.utils.CullenUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
 import ma.glasnost.orika.MapperFacade;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -46,6 +49,7 @@ import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
+@Slf4j
 @RestController
 @RequestMapping("/p/orderRefund")
 //@RequestMapping("/orderRefund")
@@ -89,6 +93,7 @@ public class OrderRefundController {
     @Autowired
     private SkuService skuService;
 
+
     @GetMapping("getIsDistribution")
     @ApiOperation(value = "获取是否在配送中")
     public ResponseEntity<Boolean> getIsDistribution( String orderNumber){
@@ -128,6 +133,7 @@ public class OrderRefundController {
     @Transactional(rollbackFor = Exception.class)
     @ApiOperation(value = "申请退款(再次提交)", notes = "申请退款(再次提交)")
     public ResponseEntity<String> applyAgain(@Valid @RequestBody OrderRefundParam orderRefundParam) {
+        log.info("小程序(再次提交)申请退款参数:{}", JSONObject.toJSONString(orderRefundParam));
         Long refundId = orderRefundParam.getRefundId();
         CullenUtils.validateDataThrowException(refundId==null,"请输入旧退款订单ID...");
         List<OrderRefundSku> orderRefundSkuList = orderRefundParam.getOrderRefundSkuList();
@@ -266,6 +272,7 @@ public class OrderRefundController {
         newOrderRefund.setReturnMoneySts(ReturnMoneyStsType.APPLY.value());
         newOrderRefund.setApplyTime(new Date());
         newOrderRefund.setUpdateTime(new Date());
+        log.info( "申请退款申请,生成退款单信息{}", newOrderRefund);
         OrderRefund orderRefund = orderRefundService.applyRefund(newOrderRefund);
         if (!orderRefundSkuList.isEmpty()){
             orderRefundSkuList.forEach(c->{
@@ -276,6 +283,11 @@ public class OrderRefundController {
 
         orderRefundService.removeById(refundId);
         orderRefundSkuMapper.delete(new LambdaQueryWrapper<OrderRefundSku>().eq(OrderRefundSku::getOrderRefundId,refundId));
+
+        //创建海博退款单
+        log.info( "创建海博退款单,生成海博退款单信息{}", orderRefund);
+        orderRefundService.createRefundOrder(orderRefund.getOrderNumber(),orderRefund.getRefundSn());
+
         return ResponseEntity.ok(newOrderRefund.getRefundSn());
     }
 
@@ -284,6 +296,8 @@ public class OrderRefundController {
     @ApiOperation(value = "申请退款", notes = "申请退款")
     public ResponseEntity<String> apply(@Valid @RequestBody OrderRefundParam orderRefundParam) {
 
+        log.info("小程序申请退款参数:{}", JSONObject.toJSONString(orderRefundParam));
+
         List<OrderRefundSku> orderRefundSkuList = orderRefundParam.getOrderRefundSkuList();
         CullenUtils.validateDataThrowException(orderRefundSkuList.isEmpty(),"退款商品不能为空...");
 
@@ -476,6 +490,11 @@ public class OrderRefundController {
             });
         }
 
+
+        //创建海博退款单
+        log.info( "创建海博退款单,生成海博退款单信息{}", orderRefund);
+        orderRefundService.createRefundOrder(orderRefund.getOrderNumber(),orderRefund.getRefundSn());
+
 //        if(StringUtils.isNotEmpty(order.getQnhOrderId())){
 //            //取消牵牛花订单
 //            createQNHOrder(order,newOrderRefund.getRefundSn());

+ 1 - 0
yami-shop-service/src/main/java/com/yami/shop/service/OrderService.java

@@ -123,6 +123,7 @@ public interface OrderService extends IService<Order> {
      * @return 订单申请退款结果
      */
     String applyAgain(OrderRefundParam orderRefundParam , Integer  rReturnMoneySts);
+
     /**
      * 订单申请退款
      * @param orderNumber 订单单号

+ 0 - 4
yami-shop-service/src/main/java/com/yami/shop/service/hb/impl/HBOrderService.java

@@ -478,8 +478,4 @@ public class HBOrderService implements IHBOrderService {
         return HBR.success(createOrderRequest);
     }
 
-
-
-
-
 }

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

@@ -947,6 +947,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
     //*************************** 售后接口 ***************************
     @Override
     public String createRefundOrder(String channelOrderId, String afterSaleOrder) {
+        log.info("createRefundOrder 退款单推送单号开始channelOrderId:{},afterSaleOrder:{}",channelOrderId,afterSaleOrder);
         HBBaseReq<Object> build = HBBaseReq.create();
         build.setAppId(hbSignUtil.getAppId());
 
@@ -969,8 +970,8 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
         HBBaseReq<Object> build = HBBaseReq.create();
         build.setAppId(hbSignUtil.getAppId());
         OrderRefund orderRefund = orderRefundMapper.selectOne(new LambdaQueryWrapper<OrderRefund>().eq(OrderRefund::getRefundSn, afterSaleOrder));
-        orderRefund.setReturnMoneySts(refundStatus);
-        orderRefundMapper.updateById(orderRefund);
+//        orderRefund.setReturnMoneySts(refundStatus);
+//        orderRefundMapper.updateById(orderRefund);
 
         // 3. 构建外层请求体
         JSONObject requestBody = new JSONObject();
@@ -990,11 +991,6 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
         String post = post(hbSignUtil.getHBHost() + "/api/refund/changeStatus", build);
         log.info("post 退款单推送结果:{}", post);
 
-        //TODO 退款单完成处理积分
-        if (refundStatus == 70){
-            orderService.returnRefund(orderRefund.getOrderNumber());
-        }
-
         return post;
     }
 
@@ -1056,9 +1052,17 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
             thirdPartyRefundRequest.setOrderPayments(orderPaymentRequests);
             log.info("退款订单信息,参数:{}", thirdPartyRefundRequest);
 
-            // 返回退款单信息
-            changeStatus(orderRefund.getRefundSn(), orderRefund.getReturnMoneySts());
 
+            orderRefund.setReturnMoneySts(orderRefund.getReturnMoneySts());
+            orderRefundMapper.updateById(orderRefund);
+
+//            changeStatus(orderRefund.getRefundSn(), orderRefund.getReturnMoneySts());
+
+            // 返回退款单信息
+            //TODO 退款单完成处理积分
+            if (orderRefund.getReturnMoneySts() == 70) {
+                orderService.returnRefund(orderRefund.getOrderNumber());
+            }
         } catch (Exception e) {
             log.error("海博退款订单查询异常:{}", e);
             HBR.error("未知异常");
@@ -1088,12 +1092,12 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
 
             OrderRefund orderRefund = orderRefundMapper.selectOne(new LambdaQueryWrapper<OrderRefund>().eq(OrderRefund::getRefundSn, afterSaleOrder));
 
-            if (auditType == 2 || auditType == 4) {
-                orderRefund.setApplyType(applyDeal);
-                orderRefund.setReturnMoneySts(ReturnMoneyStsType.PROCESSING.value());
-            } else {
+            if (auditType == 3) {
                 orderRefund.setReturnMoneySts(ReturnMoneyStsType.REJECT.value());
                 orderRefund.setRejectMessage(bodyStr.getString("reason"));
+            } else {
+                orderRefund.setApplyType(applyDeal);
+                orderRefund.setReturnMoneySts(ReturnMoneyStsType.SUCCESS.value());
             }
             orderRefundMapper.updateById(orderRefund);
 
@@ -1105,6 +1109,10 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
                 orderService.updateById(orderByOrderNumber);
             }
 
+            //推送商家审核状态后 同步退款单状态
+            changeStatus(orderRefund.getRefundSn(), orderRefund.getReturnMoneySts());
+
+
         } catch (Exception e) {
             log.error("海博退款订单查询异常:{}", e);
             HBR.error("未知异常");
@@ -1163,7 +1171,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
             Order order = orderMapper.getOrderAndOrderItemByOrderNumber(channelOrderId);
 
             orderRefundParam.setOrderNumber(channelOrderId);
-            orderRefundParam.setRefundType( RefundType.SINGLE.value());
+            orderRefundParam.setRefundType(RefundType.SINGLE.value());
             orderRefundParam.setApplyType(1);
             orderRefundParam.setRefundType(1);
             orderRefundParam.setIsReceiver(false);
@@ -1216,7 +1224,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
             orderRefundParam.setOrderRefundSkuList(orderRefundSkuList);
 
 
-            orderService.applyAgain(orderRefundParam,ReturnMoneyStsType.APPLY.value());
+            orderService.applyAgain(orderRefundParam, ReturnMoneyStsType.APPLY.value());
 
         } catch (Exception e) {
             log.error("海博退款订单查询异常:{}", e);
@@ -1238,7 +1246,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
             orderRefundMapper.updateById(orderRefund);
 
             Order orderByOrderNumber = orderService.getById(orderRefund.getOrderId());
-            orderByOrderNumber.setRefundStatus(2);
+//            orderByOrderNumber.setRefundStatus(2);
             orderService.updateById(orderByOrderNumber);
         } catch (Exception e) {
             log.error("海博退款订单查询异常:{}", e);