|
@@ -24,6 +24,7 @@ import com.yami.shop.common.annotation.SysLog;
|
|
|
import com.yami.shop.common.config.Constant;
|
|
|
import com.yami.shop.common.enums.PayType;
|
|
|
import com.yami.shop.common.enums.YamiHttpStatus;
|
|
|
+import com.yami.shop.common.exception.GlobalException;
|
|
|
import com.yami.shop.common.exception.YamiShopBindException;
|
|
|
import com.yami.shop.common.util.Arith;
|
|
|
import com.yami.shop.common.util.Json;
|
|
@@ -88,11 +89,10 @@ public class OrderRefundController {
|
|
|
* 进入这个方法,会出现两种情况:
|
|
|
* 1. 仅退款,此时商家同意买家的退款申请,执行发放退款的操作
|
|
|
* 2. 退货退款操作:
|
|
|
- * 2.1)退货退款的第一步,商家允许买家退款的申请,商家进行设置退货地址,不执行发放退款的操作
|
|
|
- * 2.2)退货退款的第二步,当商家收到货之后,同意买家退款,此时需要发放退款,但不会执行这个方法,执行的是下面这个方法
|
|
|
- * @see com.yami.shop.multishop.controller.OrderRefundController#returnMoney(OrderRefundParam)
|
|
|
- *
|
|
|
+ * 2.1)退货退款的第一步,商家允许买家退款的申请,商家进行设置退货地址,不执行发放退款的操作
|
|
|
+ * 2.2)退货退款的第二步,当商家收到货之后,同意买家退款,此时需要发放退款,但不会执行这个方法,执行的是下面这个方法
|
|
|
*
|
|
|
+ * @see com.yami.shop.multishop.controller.OrderRefundController#returnMoney(OrderRefundParam)
|
|
|
*/
|
|
|
@SysLog("退款处理 -商家处理退款订单")
|
|
|
@PutMapping("/process")
|
|
@@ -108,17 +108,17 @@ public class OrderRefundController {
|
|
|
if (orderRefundDto.getReturnMoneySts() == 5) {
|
|
|
// 将orderItem.status改成 0 表示可以发货
|
|
|
OrderItem orderItem = orderItemService.getOne(new LambdaQueryWrapper<OrderItem>().eq(OrderItem::getOrderItemId, orderRefundDto.getOrderItemId()));
|
|
|
- if(Objects.isNull(orderItem)){
|
|
|
+ if (Objects.isNull(orderItem)) {
|
|
|
return ResponseEntity.ok().build();
|
|
|
}
|
|
|
String orderNumber = orderItem.getOrderNumber();
|
|
|
List<OrderItem> orderItems1 = orderItemService.list(new LambdaQueryWrapper<OrderItem>().eq(OrderItem::getOrderNumber, orderNumber));
|
|
|
- if (orderItems1.size() <=1 ) {
|
|
|
+ if (orderItems1.size() <= 1) {
|
|
|
return ResponseEntity.ok().build();
|
|
|
}
|
|
|
orderItemService.update(new LambdaUpdateWrapper<OrderItem>()
|
|
|
- .set(OrderItem::getStatus,0)
|
|
|
- .eq(OrderItem::getOrderItemId,orderItem.getOrderItemId()));
|
|
|
+ .set(OrderItem::getStatus, 0)
|
|
|
+ .eq(OrderItem::getOrderItemId, orderItem.getOrderItemId()));
|
|
|
// 如果该单是商品项目的所有订单都是已发货,其他的都是退款成功,则可以改成订单项发货状态
|
|
|
List<OrderItem> orderItems = orderItemService.list(new LambdaQueryWrapper<OrderItem>().eq(OrderItem::getOrderNumber, orderNumber));
|
|
|
// 如果所有的订单都是申请退款,并且退款成功,则不改变
|
|
@@ -154,12 +154,12 @@ public class OrderRefundController {
|
|
|
order.setDvyTime(date);
|
|
|
Integer type = null;
|
|
|
for (OrderItem item : orderItems) {
|
|
|
- if (Objects.nonNull(item.getDvyType())){
|
|
|
+ if (Objects.nonNull(item.getDvyType())) {
|
|
|
type = item.getDvyType();
|
|
|
}
|
|
|
}
|
|
|
List<DeliveryOrder> deliveryOrders = deliveryOrderService.list(new LambdaQueryWrapper<DeliveryOrder>().eq(DeliveryOrder::getOrderNumber, orderNumber));
|
|
|
- if (!CollectionUtils.isEmpty(deliveryOrders)){
|
|
|
+ if (!CollectionUtils.isEmpty(deliveryOrders)) {
|
|
|
order.setDvyType(1);
|
|
|
} else {
|
|
|
order.setDvyType(type);
|
|
@@ -208,9 +208,9 @@ public class OrderRefundController {
|
|
|
throw new GlobalException("已退款成功,无法再申请退款操作");
|
|
|
}
|
|
|
if (!Objects.equals(orderRefundDto.getShopId(), SecurityUtils.getShopUser().getShopId())) {
|
|
|
- throw new GlobalException(YamiHttpStatus.UNAUTHORIZED);
|
|
|
+ throw new GlobalException("未授权");
|
|
|
}
|
|
|
- if (Objects.equals(-1,orderRefundDto.getReturnMoneySts())) {
|
|
|
+ if (Objects.equals(-1, orderRefundDto.getReturnMoneySts())) {
|
|
|
throw new GlobalException("买家已取消申请");
|
|
|
}
|
|
|
// 提交退款请求
|
|
@@ -233,5 +233,4 @@ public class OrderRefundController {
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
}
|