Răsfoiți Sursa

配送售后退货退款用户预约上门取件

fubojin 1 lună în urmă
părinte
comite
ff68d57957

+ 1 - 6
yami-shop-api/src/main/java/com/yami/shop/api/controller/OrderRefundController.java

@@ -431,10 +431,6 @@ public class OrderRefundController {
         log.info("创建海博退款单,生成海博退款单信息{}", orderRefund);
         orderRefundService.createRefundOrder(orderRefund.getOrderNumber(), orderRefund.getRefundSn());
 
-//        if(StringUtils.isNotEmpty(order.getQnhOrderId())){
-//            //取消牵牛花订单
-//            createQNHOrder(order,newOrderRefund.getRefundSn());
-//        }
         return ResponseEntity.ok(newOrderRefund.getRefundSn());
     }
 
@@ -527,7 +523,6 @@ public class OrderRefundController {
         deliveryCpriceRequest.setMap_type(1);
         DeliveryPriceResponse deliveryPriceResponse = paoTuiApi.ordercPrice(deliveryCpriceRequest);
 
-
         // 发货
         AddWithoutShopRequest addOrderRequest = new AddWithoutShopRequest();
         addOrderRequest.setShop_id(deliveryPriceResponse.getShop_origin_id());
@@ -558,7 +553,7 @@ public class OrderRefundController {
         refundDelivery.setCreateTime(new Date());
 
         // 更新退款单信息
-        orderRefund.setReturnMoneySts(ReturnMoneyStsType.CONSIGNMENT.value());
+        orderRefund.setReturnMoneySts(ReturnMoneyStsType.RECEIVE.value());
         orderRefund.setShipTime(new Date());
         orderRefund.setUpdateTime(new Date());
 

+ 13 - 4
yami-shop-api/src/main/java/com/yami/shop/api/controller/RefundAppointmentController.java

@@ -3,6 +3,7 @@ package com.yami.shop.api.controller;
 
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.yami.shop.bean.enums.ReturnMoneyStsType;
 import com.yami.shop.bean.model.OrderRefund;
 import com.yami.shop.bean.model.OrderRefundRecord;
 import com.yami.shop.bean.model.RefundAppointment;
@@ -14,6 +15,7 @@ import com.yami.shop.service.RefundAppointmentService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -23,6 +25,7 @@ import java.util.Date;
 @RestController
 @RequestMapping("/p/appointment")
 @Api(tags = "用户退款预约上门取件接口")
+@Slf4j
 @AllArgsConstructor
 public class RefundAppointmentController {
 
@@ -37,14 +40,15 @@ public class RefundAppointmentController {
     public R<Void> save(@RequestBody RefundAppointment refundAppointment) {
         //添加填写物流信息轨迹
         OrderRefund orderRefund = orderRefundService.getOne(new LambdaQueryWrapper<OrderRefund>().eq(OrderRefund::getRefundSn, refundAppointment.getRefundNumber()));
-
-        refundAppointmentService.save(refundAppointment);
-
         if (ObjectUtil.isEmpty( orderRefund)){
             throw new GlobalException("该退款单不存在");
         }
 
-        orderRefund.setIsReturnLogistics(true);
+        refundAppointmentService.save(refundAppointment);
+
+        orderRefund.setReturnMoneySts(ReturnMoneyStsType.RECEIVE.value());
+        orderRefund.setShipTime(new Date());
+        orderRefund.setUpdateTime(new Date());
         orderRefundService.updateById(orderRefund);
 
         OrderRefundRecord orderRefundRecord = new OrderRefundRecord();
@@ -56,6 +60,11 @@ public class RefundAppointmentController {
         orderRefundRecord.setAuditStatus(7);
         orderRefundRecord.setSort(5);
         orderRefundRecordMapper.insert(orderRefundRecord);
+
+        //海博退款单状态同步65
+        log.info("客户填写完成快递信息后海博退款单状态同步65");
+        orderRefundService.changeStatus(orderRefund.getRefundSn(), ReturnMoneyStsType.RECEIVE.value());
+
         return R.SUCCESS();
     }
 

+ 29 - 22
yami-shop-service/src/main/java/com/yami/shop/service/impl/OrderRefundServiceImpl.java

@@ -313,7 +313,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
                 double goodsTotal = Arith.add(BigDecimal.valueOf(orderRefundDto.getGoodsTotal()), BigDecimal.valueOf(orderRefundDto.getFreightAmount()));
                 orderRefundDto.setGoodsTotal(goodsTotal);
             }
-            item.forEach(c-> c.setRefundCount(orderItemService.refundCount(c.getOrderItemId())));
+            item.forEach(c -> c.setRefundCount(orderItemService.refundCount(c.getOrderItemId())));
         }
         orderRefundDto.setOrderItems(item);
     }
@@ -1110,42 +1110,33 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
                 orderService.updateById(orderByOrderNumber);
 
                 //生成待商家审核记录
-                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);
+                addOrderRefundRecord(orderRefund.getRefundId(), 20, 3, "reason");
             } 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.setOrderRefundId(orderRefund.getRefundId());
-                orderRefundRecord.setCreateTime(date);
-                orderRefundRecord.setUpdateTime(date);
-                orderRefundRecord.setSort(3);
-                orderRefundRecordMapper.insert(orderRefundRecord);
+                //生成待商家审核记录
+                if (applyDeal == 1) {
+                    addOrderRefundRecord(orderRefund.getRefundId(), 3, 3, "你的申请已通过,退款处理中");
+                } else {
+                    addOrderRefundRecord(orderRefund.getRefundId(), 5, 3, "申请已通过,请及时填写配送信息并支付配送费");
+                }
+
             }
 
             if (applyDeal == 1) {
+                //订单退款金额或者积分处理
                 orderService.returnRefund(orderRefund.getOrderNumber());
             }
+
             //推送商家审核状态后 同步退款单状态
             changeStatus(orderRefund.getRefundSn(), orderRefund.getReturnMoneySts());
         } catch (Exception e) {
@@ -1176,9 +1167,13 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
                 orderRefund.setRejectMessage(bodyStr.getString("reason"));
             } else {
                 orderRefund.setIsReceiver(true);
-                orderRefund.setReturnMoneySts(ReturnMoneyStsType.PROCESSING.value());
+                orderRefund.setReceiveTime(new Date());
+                orderRefund.setReturnMoneySts(ReturnMoneyStsType.SUCCESS.value());
             }
             orderRefundMapper.updateById(orderRefund);
+
+            //生成待商家审核记录
+            addOrderRefundRecord(orderRefund.getRefundId(), 7, 5, "商家收到商品井确认不影响二次销售后,将会为您处理退款");
         } catch (Exception e) {
             log.error("海博退款订单查询异常:{}", e);
             HBR.error("未知异常");
@@ -1187,6 +1182,18 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
         return HBR.success();
     }
 
+    private void addOrderRefundRecord(Long refundId, Integer auditStatus, Integer sort, String instructions) {
+        OrderRefundRecord orderRefundRecord = new OrderRefundRecord();
+        orderRefundRecord.setOrderRefundId(refundId);
+        orderRefundRecord.setInstructions(instructions);
+        Date date = new Date();
+        orderRefundRecord.setCreateTime(date);
+        orderRefundRecord.setUpdateTime(date);
+        orderRefundRecord.setAuditStatus(auditStatus);
+        orderRefundRecord.setSort(sort);
+        orderRefundRecordMapper.insert(orderRefundRecord);
+    }
+
     @Override
     public HBR partRefund(JSONObject hBRequest) {
         try {

+ 0 - 2
yami-shop-sys/src/main/java/com/yami/shop/sys/controller/SysRoleController.java

@@ -88,7 +88,6 @@ public class SysRoleController{
 		//查询角色对应的菜单
 		List<Long> menuList = sysMenuService.listMenuIdByRoleId(roleId);
 		role.setMenuIdList(menuList);
-
 		return R.SUCCESS(role);
 	}
 
@@ -99,7 +98,6 @@ public class SysRoleController{
 	@PostMapping
 	@PreAuthorize("@pms.hasPermission('sys:role:save')")
 	public R<Void> save(@RequestBody SysRole role){
-
 		if (sysRoleService.count(new LambdaQueryWrapper<SysRole>()
 				.eq(SysRole::getRoleName, role.getRoleName())) > 0) {
 			throw new GlobalException("系统已存在相同角色名称");