订单取消 返回库存
This commit is contained in:
@@ -4,10 +4,7 @@ import cn.hutool.core.collection.CollUtil;
|
|||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.exceptions.ValidateException;
|
import cn.hutool.core.exceptions.ValidateException;
|
||||||
import cn.hutool.core.thread.ThreadUtil;
|
import cn.hutool.core.thread.ThreadUtil;
|
||||||
import cn.hutool.core.util.ArrayUtil;
|
import cn.hutool.core.util.*;
|
||||||
import cn.hutool.core.util.IdUtil;
|
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
|
||||||
import cn.hutool.core.util.StrUtil;
|
|
||||||
import com.alibaba.fastjson2.JSON;
|
import com.alibaba.fastjson2.JSON;
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import com.czg.account.dto.shopuser.ShopUserMoneyEditDTO;
|
import com.czg.account.dto.shopuser.ShopUserMoneyEditDTO;
|
||||||
@@ -33,6 +30,7 @@ import com.czg.order.service.OrderInfoService;
|
|||||||
import com.czg.order.service.OrderPaymentService;
|
import com.czg.order.service.OrderPaymentService;
|
||||||
import com.czg.order.vo.*;
|
import com.czg.order.vo.*;
|
||||||
import com.czg.product.entity.Product;
|
import com.czg.product.entity.Product;
|
||||||
|
import com.czg.product.service.ProductRpcService;
|
||||||
import com.czg.product.service.ProductService;
|
import com.czg.product.service.ProductService;
|
||||||
import com.czg.resp.CzgResult;
|
import com.czg.resp.CzgResult;
|
||||||
import com.czg.sa.StpKit;
|
import com.czg.sa.StpKit;
|
||||||
@@ -89,6 +87,8 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
|||||||
@DubboReference
|
@DubboReference
|
||||||
private ProductService productService;
|
private ProductService productService;
|
||||||
@DubboReference
|
@DubboReference
|
||||||
|
private ProductRpcService productRpcService;
|
||||||
|
@DubboReference
|
||||||
private ShopInfoService shopInfoService;
|
private ShopInfoService shopInfoService;
|
||||||
@DubboReference
|
@DubboReference
|
||||||
private UserInfoService userInfoService;
|
private UserInfoService userInfoService;
|
||||||
@@ -1033,6 +1033,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
|||||||
.eq(OrderInfo::getId, orderId)
|
.eq(OrderInfo::getId, orderId)
|
||||||
.update();
|
.update();
|
||||||
redisService.del(RedisCst.classKeyExpired.EXPIRED_ORDER + orderInfo.getId());
|
redisService.del(RedisCst.classKeyExpired.EXPIRED_ORDER + orderInfo.getId());
|
||||||
|
rabbitPublisher.sendOrderCancelMsg(orderInfo.getId().toString());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1053,9 +1054,22 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
|||||||
.eq(OrderInfo::getShopId, shopId)
|
.eq(OrderInfo::getShopId, shopId)
|
||||||
.eq(OrderInfo::getId, orderId)
|
.eq(OrderInfo::getId, orderId)
|
||||||
.update();
|
.update();
|
||||||
|
rabbitPublisher.sendOrderCancelMsg(orderInfo.getId().toString());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
List<OrderDetail> details = orderDetailService.list(QueryWrapper.create().eq(OrderDetail::getOrderId, orderId).eq(OrderDetail::getPlaceNum, placeNum));
|
||||||
|
List<Map<String, Object>> dataList = new ArrayList<>();
|
||||||
|
for (OrderDetail detail : details) {
|
||||||
|
Map<String, Object> data = new HashMap<>();
|
||||||
|
data.put("shopId", shopId);
|
||||||
|
data.put("productId", detail.getProductId());
|
||||||
|
data.put("num", NumberUtil.sub(detail.getNum(), detail.getReturnNum()));
|
||||||
|
dataList.add(data);
|
||||||
|
}
|
||||||
orderDetailService.remove(new QueryWrapper().eq(OrderDetail::getOrderId, orderId).eq(OrderDetail::getPlaceNum, placeNum));
|
orderDetailService.remove(new QueryWrapper().eq(OrderDetail::getOrderId, orderId).eq(OrderDetail::getPlaceNum, placeNum));
|
||||||
|
if (CollUtil.isNotEmpty(dataList)) {
|
||||||
|
productRpcService.orderCancelRecoverStock(shopId, orderId, dataList);
|
||||||
|
}
|
||||||
List<OrderDetail> list = orderDetailService.queryChain().eq(OrderDetail::getOrderId, orderId).eq(OrderDetail::getShopId, shopId).list();
|
List<OrderDetail> list = orderDetailService.queryChain().eq(OrderDetail::getOrderId, orderId).eq(OrderDetail::getShopId, shopId).list();
|
||||||
if (CollUtil.isEmpty(list)) {
|
if (CollUtil.isEmpty(list)) {
|
||||||
updateChain()
|
updateChain()
|
||||||
|
|||||||
Reference in New Issue
Block a user