|
|
@@ -144,6 +144,8 @@ public class CmsOrderDonServiceImpl extends ServiceImpl<OrderDonMapper,OrderDon>
|
|
|
|
|
|
private final GiftCardOrderUseRecordService giftCardOrderUseRecordService;
|
|
|
|
|
|
+ private final GiftCardUserRecordMapper giftCardUserRecordMapper;
|
|
|
+
|
|
|
private static final GlobalThreadPoolTaskExecutor TASK_POOL = GlobalThreadPoolTaskExecutor.getInstance();
|
|
|
|
|
|
@Override
|
|
|
@@ -610,9 +612,23 @@ public class CmsOrderDonServiceImpl extends ServiceImpl<OrderDonMapper,OrderDon>
|
|
|
}
|
|
|
orderDon.setRefundMoney(refundMoney);
|
|
|
}
|
|
|
+ //礼品卡是否已使用
|
|
|
+ GiftCardUserRecord giftCardUserRecord = null;
|
|
|
+ if (goodsDon.getSpecialType() != null && goodsDon.getSpecialType() == GoodsDon.SpecialType.giftCard) {
|
|
|
+ giftCardUserRecord = giftCardUserRecordMapper.selectOne(Wrappers.lambdaQuery(GiftCardUserRecord.class)
|
|
|
+ .eq(GiftCardUserRecord::getOrderId, orderDon.getId()).last("limit 1"));
|
|
|
+ if (giftCardUserRecord != null && giftCardUserRecord.getIsUsed()) {
|
|
|
+ throw BusinessRuntimeException.getInstance("该礼品卡已使用无法退款");
|
|
|
+ }
|
|
|
+ }
|
|
|
if (!redisService.setNx(String.format("%s", refundReq.getOrderId()), refundReq.getOrderId(), 10l)) {
|
|
|
throw BusinessRuntimeException.getInstance("请勿重复点击,正在退款中..");
|
|
|
}
|
|
|
+ //礼品卡购买状态
|
|
|
+ if (giftCardUserRecord != null) {
|
|
|
+ giftCardUserRecord.setIsPay(false);
|
|
|
+ giftCardUserRecordMapper.updateById(giftCardUserRecord);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/**
|