挂账退款bug修复

This commit is contained in:
谭凯凯 2024-12-02 14:19:35 +08:00 committed by Tankaikai
parent 0bc8095e7c
commit 0e41e455ba
1 changed files with 37 additions and 35 deletions

View File

@ -1514,7 +1514,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
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);
ArrayList<Integer> couponIds = new ArrayList<>();
couponInfoDTO.getProductCoupon().forEach(item -> {
@ -2817,7 +2817,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
if (detailList.size() != returnOrderDTO.getOrderDetails().size()) {
throw new BadRequestException("挂账退款必须全退");
}
}else {
} else {
detailList = orderDetailMapper.selectList(new LambdaQueryWrapper<TbOrderDetail>()
.eq(TbOrderDetail::getShopId, returnOrderDTO.getShopId())
.eq(TbOrderDetail::getStatus, "closed")
@ -3092,7 +3092,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
} else if ("cash".equals(payType)) {
mpOrderDetailService.updateStatusByOrderIdAndIds(OrderStatusEnums.REFUNDING, OrderStatusEnums.REFUND,
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()));
}
orderInfo.setStatus(TableConstant.OrderInfo.Status.CLOSED.getValue());
@ -3104,11 +3104,13 @@ public class TbShopTableServiceImpl implements TbShopTableService {
.eq(TbOrderDetail::getStatus, TableConstant.OrderInfo.Status.CLOSED));
if (count == 0) {
returnCoupon(orderInfo, true);
if (orderInfo.getMemberId() != null && orderInfo.getPointsNum() != null) {
// 返还积分
memberPointsService.addPoints(Long.valueOf(orderInfo.getMemberId()), orderInfo.getPointsNum(),
"用户退款订单积分返还: " + orderInfo.getPointsNum() + "积分", Long.valueOf(orderInfo.getId()));
}
}
}
orderInfoMapper.updateById(orderInfo);
// 打印退款小票
// producer.printMechine(newOrderInfo.getId().toString());