|
@@ -18,9 +18,9 @@ import com.yami.shop.common.config.Constant;
|
|
|
import com.yami.shop.common.exception.GlobalException;
|
|
|
import com.yami.shop.common.util.Arith;
|
|
|
import com.yami.shop.common.util.PageParam;
|
|
|
+import com.yami.shop.dao.OrderRefundSkuMapper;
|
|
|
import com.yami.shop.delivery.comment.api.paotui.PaoTuiApi;
|
|
|
import com.yami.shop.delivery.comment.api.paotui.model.request.AddWithoutShopRequest;
|
|
|
-import com.yami.shop.delivery.comment.api.paotui.model.request.CancelOrderRequest;
|
|
|
import com.yami.shop.delivery.comment.api.paotui.model.request.DeliveryCpriceRequest;
|
|
|
import com.yami.shop.delivery.comment.api.paotui.model.request.OrderDetailRequest;
|
|
|
import com.yami.shop.delivery.comment.api.paotui.model.response.DeliveryPriceResponse;
|
|
@@ -29,6 +29,7 @@ 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.utils.CullenUtils;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiImplicitParam;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
@@ -52,6 +53,8 @@ public class OrderRefundController {
|
|
|
|
|
|
private final OrderRefundService orderRefundService;
|
|
|
|
|
|
+ private final OrderRefundSkuMapper orderRefundSkuMapper;
|
|
|
+
|
|
|
private final OrderService orderService;
|
|
|
|
|
|
private final MapperFacade mapperFacade;
|
|
@@ -109,9 +112,14 @@ public class OrderRefundController {
|
|
|
return ResponseEntity.ok(false);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
@PostMapping("/apply")
|
|
|
@ApiOperation(value = "申请退款", notes = "申请退款")
|
|
|
public ResponseEntity<String> apply(@Valid @RequestBody OrderRefundParam orderRefundParam) {
|
|
|
+
|
|
|
+ List<OrderRefundSku> orderRefundSkuList = orderRefundParam.getOrderRefundSkuList();
|
|
|
+ CullenUtils.validateDataThrowException(orderRefundSkuList.isEmpty(),"退款商品不能为空...");
|
|
|
+
|
|
|
String userId = SecurityUtils.getUser().getUserId();
|
|
|
// 获取订单信息
|
|
|
Order order = orderService.getOrderByOrderNumberAndUserId(orderRefundParam.getOrderNumber(), userId, true);
|
|
@@ -160,25 +168,25 @@ public class OrderRefundController {
|
|
|
}
|
|
|
|
|
|
// 已支付订单取消订单,已付款后需要相应处理物流状态
|
|
|
- if(StringUtils.isNotEmpty(order.getDvyFlowId())){
|
|
|
- OrderDetailRequest orderDetailRequest = new OrderDetailRequest();
|
|
|
- orderDetailRequest.setOrder_id(order.getDvyFlowId());
|
|
|
- orderDetailRequest.setOrigin_id(orderRefundParam.getOrderNumber());
|
|
|
- OrderStatusResponse orderStatusResponse = paoTuiApi.deliveryRoute(orderDetailRequest);
|
|
|
- if (ObjectUtil.isNotEmpty(orderStatusResponse.getInfo()) && orderStatusResponse.getInfo().size()>0){
|
|
|
- if(orderStatusResponse.getInfo().get(0).getStatus()==40){
|
|
|
- throw new GlobalException("正在配送中,无法取消");
|
|
|
- }else if(orderStatusResponse.getInfo().get(0).getStatus()<40){
|
|
|
- // //先取消配送订单
|
|
|
- CancelOrderRequest cancelOrderRequest = new CancelOrderRequest();
|
|
|
- cancelOrderRequest.setOrder_id(order.getDvyFlowId());
|
|
|
- cancelOrderRequest.setOrigin_id(orderRefundParam.getOrderNumber());
|
|
|
- cancelOrderRequest.setCancel_reason_code(3);
|
|
|
- cancelOrderRequest.setCancel_reason("不想要了");
|
|
|
- CancelOrderRequest cancelOrderRequest1 = paoTuiApi.orderCancel(cancelOrderRequest);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+// if(StringUtils.isNotEmpty(order.getDvyFlowId())){
|
|
|
+// OrderDetailRequest orderDetailRequest = new OrderDetailRequest();
|
|
|
+// orderDetailRequest.setOrder_id(order.getDvyFlowId());
|
|
|
+// orderDetailRequest.setOrigin_id(orderRefundParam.getOrderNumber());
|
|
|
+// OrderStatusResponse orderStatusResponse = paoTuiApi.deliveryRoute(orderDetailRequest);
|
|
|
+// if (ObjectUtil.isNotEmpty(orderStatusResponse.getInfo()) && orderStatusResponse.getInfo().size()>0){
|
|
|
+// if(orderStatusResponse.getInfo().get(0).getStatus()==40){
|
|
|
+// throw new GlobalException("正在配送中,无法取消");
|
|
|
+// }else if(orderStatusResponse.getInfo().get(0).getStatus()<40){
|
|
|
+// // //先取消配送订单
|
|
|
+// CancelOrderRequest cancelOrderRequest = new CancelOrderRequest();
|
|
|
+// cancelOrderRequest.setOrder_id(order.getDvyFlowId());
|
|
|
+// cancelOrderRequest.setOrigin_id(orderRefundParam.getOrderNumber());
|
|
|
+// cancelOrderRequest.setCancel_reason_code(3);
|
|
|
+// cancelOrderRequest.setCancel_reason("不想要了");
|
|
|
+// CancelOrderRequest cancelOrderRequest1 = paoTuiApi.orderCancel(cancelOrderRequest);
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
// 生成退款单信息
|
|
|
OrderRefund newOrderRefund = new OrderRefund();
|
|
|
|
|
@@ -251,11 +259,11 @@ public class OrderRefundController {
|
|
|
}
|
|
|
|
|
|
// 一个订单项只能申请一次退款
|
|
|
- for (OrderRefund orderRefund : orderRefunds) {
|
|
|
- if (Objects.equals(orderRefund.getOrderId(), orderItem.getOrderItemId())) {
|
|
|
- throw new GlobalException("退款订单项已处理,请勿重复申请");
|
|
|
- }
|
|
|
- }
|
|
|
+// for (OrderRefund orderRefund : orderRefunds) {
|
|
|
+// if (Objects.equals(orderRefund.getOrderId(), orderItem.getOrderItemId())) {
|
|
|
+// throw new GlobalException("退款订单项已处理,请勿重复申请");
|
|
|
+// }
|
|
|
+// }
|
|
|
}
|
|
|
|
|
|
newOrderRefund.setShopId(order.getShopId());
|
|
@@ -293,12 +301,18 @@ public class OrderRefundController {
|
|
|
newOrderRefund.setReturnMoneySts(ReturnMoneyStsType.APPLY.value());
|
|
|
newOrderRefund.setApplyTime(new Date());
|
|
|
newOrderRefund.setUpdateTime(new Date());
|
|
|
- orderRefundService.applyRefund(newOrderRefund);
|
|
|
-
|
|
|
- if(StringUtils.isNotEmpty(order.getQnhOrderId())){
|
|
|
- //取消牵牛花订单
|
|
|
- createQNHOrder(order,newOrderRefund.getRefundSn());
|
|
|
+ OrderRefund orderRefund = orderRefundService.applyRefund(newOrderRefund);
|
|
|
+ if (!orderRefundSkuList.isEmpty()){
|
|
|
+ orderRefundSkuList.forEach(c->{
|
|
|
+ c.setOrderRefundId(orderRefund.getRefundId());
|
|
|
+ orderRefundSkuMapper.insert(c);
|
|
|
+ });
|
|
|
}
|
|
|
+
|
|
|
+// if(StringUtils.isNotEmpty(order.getQnhOrderId())){
|
|
|
+// //取消牵牛花订单
|
|
|
+// createQNHOrder(order,newOrderRefund.getRefundSn());
|
|
|
+// }
|
|
|
return ResponseEntity.ok(newOrderRefund.getRefundSn());
|
|
|
}
|
|
|
|
|
@@ -519,7 +533,7 @@ public class OrderRefundController {
|
|
|
|
|
|
Date now = new Date();
|
|
|
orderRefund.setReturnMoneySts(ReturnMoneyStsType.CANCEL.value());
|
|
|
- orderRefund.setReturnMoneySts(ReturnMoneyStsType.FAIL.value());
|
|
|
+ //orderRefund.setReturnMoneySts(ReturnMoneyStsType.FAIL.value());
|
|
|
orderRefund.setCancelTime(now);
|
|
|
orderRefund.setUpdateTime(now);
|
|
|
orderRefundService.updateById(orderRefund);
|