|
|
@@ -79,6 +79,8 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
|
|
|
|
|
|
private final OrderDonMapper orderDonMapper;
|
|
|
|
|
|
+ private final OrderDonGalaxyCoinRecordMapper orderDonGalaxyCoinRecordMapper;
|
|
|
+
|
|
|
private final ClaudeCodeUserResetRecordMapper claudeCodeUserResetRecordMapper;
|
|
|
|
|
|
private final ClaudeCodeUserCreditCardRecordMapper claudeCodeUserCreditCardRecordMapper;
|
|
|
@@ -1069,7 +1071,11 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
|
|
|
ClaudeCodeDeductDto claudeCodeDeductDto = new ClaudeCodeDeductDto();
|
|
|
if (renewSkuId != null && renewExpiryTime.compareTo(now) > 0) {
|
|
|
OrderDon renewOrderDon = orderDonMapper.selectById(renewOrderId);
|
|
|
- BigDecimal orderMoney = renewOrderDon.getMoney().add(Optional.ofNullable(renewOrderDon.getBalance()).orElse(BigDecimal.ZERO));
|
|
|
+ BigDecimal orderMoney = renewOrderDon.getMoney().add(Optional.ofNullable(renewOrderDon.getBalance()).orElse(BigDecimal.ZERO)).add(Optional.ofNullable(renewOrderDon.getCouponMoney()).orElse(BigDecimal.ZERO));
|
|
|
+ OrderDonGalaxyCoinRecord orderDonGalaxyCoinRecord = orderDonGalaxyCoinRecordMapper.selectOne(Wrappers.lambdaQuery(OrderDonGalaxyCoinRecord.class).eq(OrderDonGalaxyCoinRecord::getOrderId, renewOrderDon.getId()).last("limit 1"));
|
|
|
+ if (orderDonGalaxyCoinRecord != null) {
|
|
|
+ orderMoney = orderMoney.add(orderDonGalaxyCoinRecord.getDeductMoney());
|
|
|
+ }
|
|
|
GoodsDonSku presentSku = skuMapper.selectById(renewSkuId);
|
|
|
if (orderMoney.compareTo(BigDecimal.ZERO) == 0) {
|
|
|
//存在升级后的0元订单 即兑换码订单 不让抵扣
|
|
|
@@ -1233,7 +1239,11 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
|
|
|
Integer totalDays = 0;
|
|
|
for (OrderDon orderDon : orderDonList) {
|
|
|
GoodsDonSku sku = skuMapper.selectById(skuId);
|
|
|
- BigDecimal thisOrderMoney = orderDon.getMoney().add(Optional.ofNullable(orderDon.getBalance()).orElse(BigDecimal.ZERO)).subtract(Optional.ofNullable(orderDon.getRefundMoney()).orElse(BigDecimal.ZERO));
|
|
|
+ BigDecimal thisOrderMoney = orderDon.getMoney().add(Optional.ofNullable(orderDon.getBalance()).orElse(BigDecimal.ZERO)).subtract(Optional.ofNullable(orderDon.getRefundMoney()).orElse(BigDecimal.ZERO)).add(Optional.ofNullable(orderDon.getCouponMoney()).orElse(BigDecimal.ZERO));
|
|
|
+ OrderDonGalaxyCoinRecord orderDonGalaxyCoinRecord = orderDonGalaxyCoinRecordMapper.selectOne(Wrappers.lambdaQuery(OrderDonGalaxyCoinRecord.class).eq(OrderDonGalaxyCoinRecord::getOrderId, orderDon.getId()).last("limit 1"));
|
|
|
+ if (orderDonGalaxyCoinRecord != null) {
|
|
|
+ thisOrderMoney = thisOrderMoney.add(orderDonGalaxyCoinRecord.getDeductMoney());
|
|
|
+ }
|
|
|
if (thisOrderMoney.compareTo(BigDecimal.ZERO) == 0) {
|
|
|
if (sku.getDays() != null) {
|
|
|
relationExpiryTime = DateUtil.offsetDay(relationExpiryTime, -sku.getDays());
|