挂账退款bug修复

This commit is contained in:
谭凯凯
2024-12-02 14:19:35 +08:00
committed by Tankaikai
parent 0bc8095e7c
commit 0e41e455ba

View File

@@ -1514,7 +1514,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
private void returnCoupon(TbOrderInfo orderInfo, boolean resetInfo) { private void returnCoupon(TbOrderInfo orderInfo, boolean resetInfo) {
// 返还优惠券 // 返还优惠券
if (StrUtil.isNotBlank(orderInfo.getCouponInfoList())) { if (StrUtil.isNotBlank(orderInfo.getCouponInfoList()) && !"null".equals(orderInfo.getCouponInfoList())) {
OrderInfoCouponInfoDTO couponInfoDTO = JSONObject.parseObject(orderInfo.getCouponInfoList(), OrderInfoCouponInfoDTO.class); OrderInfoCouponInfoDTO couponInfoDTO = JSONObject.parseObject(orderInfo.getCouponInfoList(), OrderInfoCouponInfoDTO.class);
ArrayList<Integer> couponIds = new ArrayList<>(); ArrayList<Integer> couponIds = new ArrayList<>();
couponInfoDTO.getProductCoupon().forEach(item -> { couponInfoDTO.getProductCoupon().forEach(item -> {
@@ -2817,7 +2817,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
if (detailList.size() != returnOrderDTO.getOrderDetails().size()) { if (detailList.size() != returnOrderDTO.getOrderDetails().size()) {
throw new BadRequestException("挂账退款必须全退"); throw new BadRequestException("挂账退款必须全退");
} }
}else { } else {
detailList = orderDetailMapper.selectList(new LambdaQueryWrapper<TbOrderDetail>() detailList = orderDetailMapper.selectList(new LambdaQueryWrapper<TbOrderDetail>()
.eq(TbOrderDetail::getShopId, returnOrderDTO.getShopId()) .eq(TbOrderDetail::getShopId, returnOrderDTO.getShopId())
.eq(TbOrderDetail::getStatus, "closed") .eq(TbOrderDetail::getStatus, "closed")
@@ -3092,7 +3092,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
} else if ("cash".equals(payType)) { } else if ("cash".equals(payType)) {
mpOrderDetailService.updateStatusByOrderIdAndIds(OrderStatusEnums.REFUNDING, OrderStatusEnums.REFUND, mpOrderDetailService.updateStatusByOrderIdAndIds(OrderStatusEnums.REFUNDING, OrderStatusEnums.REFUND,
returnOrderDTO.getOrderId(), returnOrderDTO.getOrderDetails().stream().map(ReturnOrderDTO.OrderDetail::getId).collect(Collectors.toList())); returnOrderDTO.getOrderId(), returnOrderDTO.getOrderDetails().stream().map(ReturnOrderDTO.OrderDetail::getId).collect(Collectors.toList()));
}else if (TableConstant.OrderInfo.PayType.CREDIT_BUYER.equalsVals(payType)) { } else if (TableConstant.OrderInfo.PayType.CREDIT_BUYER.equalsVals(payType)) {
creditBuyerOrderService.refund(orderInfo.getCreditBuyerId(), Long.valueOf(orderInfo.getId())); creditBuyerOrderService.refund(orderInfo.getCreditBuyerId(), Long.valueOf(orderInfo.getId()));
} }
orderInfo.setStatus(TableConstant.OrderInfo.Status.CLOSED.getValue()); orderInfo.setStatus(TableConstant.OrderInfo.Status.CLOSED.getValue());
@@ -3104,11 +3104,13 @@ public class TbShopTableServiceImpl implements TbShopTableService {
.eq(TbOrderDetail::getStatus, TableConstant.OrderInfo.Status.CLOSED)); .eq(TbOrderDetail::getStatus, TableConstant.OrderInfo.Status.CLOSED));
if (count == 0) { if (count == 0) {
returnCoupon(orderInfo, true); returnCoupon(orderInfo, true);
if (orderInfo.getMemberId() != null && orderInfo.getPointsNum() != null) {
// 返还积分 // 返还积分
memberPointsService.addPoints(Long.valueOf(orderInfo.getMemberId()), orderInfo.getPointsNum(), memberPointsService.addPoints(Long.valueOf(orderInfo.getMemberId()), orderInfo.getPointsNum(),
"用户退款订单积分返还: " + orderInfo.getPointsNum() + "积分", Long.valueOf(orderInfo.getId())); "用户退款订单积分返还: " + orderInfo.getPointsNum() + "积分", Long.valueOf(orderInfo.getId()));
} }
} }
}
orderInfoMapper.updateById(orderInfo); orderInfoMapper.updateById(orderInfo);
// 打印退款小票 // 打印退款小票
// producer.printMechine(newOrderInfo.getId().toString()); // producer.printMechine(newOrderInfo.getId().toString());