退菜 重复商品问题
This commit is contained in:
@@ -441,9 +441,13 @@ public class OrderPayServiceImpl implements OrderPayService {
|
|||||||
}
|
}
|
||||||
orderDetailService.updateById(orderDetail);
|
orderDetailService.updateById(orderDetail);
|
||||||
if (orderDetail.getProductId() != null && orderDetail.getProductId() > 0) {
|
if (orderDetail.getProductId() != null && orderDetail.getProductId() > 0) {
|
||||||
|
if (productStockMap.containsKey(orderDetail.getProductId())) {
|
||||||
|
productStockMap.put(orderDetail.getProductId(), productStockMap.get(orderDetail.getProductId()).add(refundDetail.getNum()));
|
||||||
|
} else {
|
||||||
productStockMap.put(orderDetail.getProductId(), refundDetail.getNum());
|
productStockMap.put(orderDetail.getProductId(), refundDetail.getNum());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
long count = orderDetailService.count(QueryWrapper.create().eq(OrderDetail::getOrderId, orderInfo.getId())
|
long count = orderDetailService.count(QueryWrapper.create().eq(OrderDetail::getOrderId, orderInfo.getId())
|
||||||
.ne(OrderDetail::getStatus, OrderStatusEnums.REFUND.getCode()));
|
.ne(OrderDetail::getStatus, OrderStatusEnums.REFUND.getCode()));
|
||||||
if (count > 0 && isPay) {
|
if (count > 0 && isPay) {
|
||||||
@@ -459,15 +463,23 @@ public class OrderPayServiceImpl implements OrderPayService {
|
|||||||
for (OrderDetail orderDetail : orderDetails) {
|
for (OrderDetail orderDetail : orderDetails) {
|
||||||
if (isPay) {
|
if (isPay) {
|
||||||
if (orderDetail.getProductId() != null && orderDetail.getProductId() > 0) {
|
if (orderDetail.getProductId() != null && orderDetail.getProductId() > 0) {
|
||||||
|
if (productStockMap.containsKey(orderDetail.getProductId())) {
|
||||||
|
productStockMap.put(orderDetail.getProductId(), productStockMap.get(orderDetail.getProductId()).add(orderDetail.getNum().subtract(orderDetail.getReturnNum()).subtract(orderDetail.getRefundNum())));
|
||||||
|
} else {
|
||||||
productStockMap.put(orderDetail.getProductId(), orderDetail.getNum().subtract(orderDetail.getReturnNum()).subtract(orderDetail.getRefundNum()));
|
productStockMap.put(orderDetail.getProductId(), orderDetail.getNum().subtract(orderDetail.getReturnNum()).subtract(orderDetail.getRefundNum()));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
orderDetail.setReturnAmount(orderDetail.getPayAmount());
|
orderDetail.setReturnAmount(orderDetail.getPayAmount());
|
||||||
orderDetail.setRefundNum(orderDetail.getNum().subtract(orderDetail.getReturnNum()));
|
orderDetail.setRefundNum(orderDetail.getNum().subtract(orderDetail.getReturnNum()));
|
||||||
orderDetail.setStatus(OrderStatusEnums.REFUND.getCode());
|
orderDetail.setStatus(OrderStatusEnums.REFUND.getCode());
|
||||||
} else {
|
} else {
|
||||||
if (orderDetail.getProductId() != null && orderDetail.getProductId() > 0) {
|
if (orderDetail.getProductId() != null && orderDetail.getProductId() > 0) {
|
||||||
|
if (productStockMap.containsKey(orderDetail.getProductId())) {
|
||||||
|
productStockMap.put(orderDetail.getProductId(), productStockMap.get(orderDetail.getProductId()).add(orderDetail.getNum().subtract(orderDetail.getReturnNum())));
|
||||||
|
} else {
|
||||||
productStockMap.put(orderDetail.getProductId(), orderDetail.getNum().subtract(orderDetail.getReturnNum()));
|
productStockMap.put(orderDetail.getProductId(), orderDetail.getNum().subtract(orderDetail.getReturnNum()));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
orderDetail.setReturnNum(orderDetail.getNum());
|
orderDetail.setReturnNum(orderDetail.getNum());
|
||||||
orderDetail.setStatus(OrderStatusEnums.CANCELLED.getCode());
|
orderDetail.setStatus(OrderStatusEnums.CANCELLED.getCode());
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user