Эх сурвалжийг харах

fix mj抵扣总次数为null

zoujiajian 11 сар өмнө
parent
commit
4e6c1458a6

+ 8 - 4
netflix-service/src/main/java/com/cyksj/service/vip/impl/VipFrontServiceImpl.java

@@ -439,7 +439,7 @@ public class VipFrontServiceImpl implements VipFrontService {
 
 		List<OrderDon> orderDonList = orderDonMapper.selectList(Wrappers.lambdaQuery(OrderDon.class).eq(OrderDon::getRelationId, relationId).in(OrderDon::getUserId, userIdList).notIn(OrderDon::getStatus, Constant.noOrderAllStatus));
 		for (OrderDon orderDon : orderDonList) {
-			GoodsDonSku sku = skuMapper.selectById(skuId);
+			GoodsDonSku sku = skuMapper.selectById(orderDon.getSkuId());
 			Date orderCreatedTime = orderDon.getCreatedTime();
 			Integer months = sku.getMonths();
 			Integer days = sku.getDays();
@@ -507,8 +507,8 @@ public class VipFrontServiceImpl implements VipFrontService {
 
 		List<OrderDon> orderDonList = orderDonMapper.selectList(Wrappers.lambdaQuery(OrderDon.class).eq(OrderDon::getRelationId, relationId).in(OrderDon::getUserId, userIdList).notIn(OrderDon::getStatus, Constant.noOrderAllStatus));
 		for (OrderDon orderDon : orderDonList) {
-			GoodsDonSku sku = skuMapper.selectById(skuId);
 			Date orderCreatedTime = orderDon.getCreatedTime();
+			GoodsDonSku sku = skuMapper.selectById(orderDon.getSkuId());
 			Integer months = sku.getMonths();
 			Integer days = sku.getDays();
 			//订单过期时间
@@ -531,9 +531,13 @@ public class VipFrontServiceImpl implements VipFrontService {
 				orderTotalMoney = orderTotalMoney.add(sku.getPrice());
 			}
 			if (totalNum == null) {
-				totalNum = sku.getMjFastNum() + sku.getMjRelaxNum();
+				totalNum = sku.getMjFastNum() + Optional.ofNullable(sku.getMjRelaxNum()).orElse(0);
 			}
 		}
+		if (totalNum == null) {
+			GoodsDonSku sku = skuMapper.selectById(skuId);
+			totalNum = sku.getMjFastNum() + Optional.ofNullable(sku.getMjRelaxNum()).orElse(0);
+		}
 		Integer upgradeNum = 0;
 		BigDecimal upgradeOrderMoney = BigDecimal.ZERO;
 		//加量包订单
@@ -548,7 +552,7 @@ public class VipFrontServiceImpl implements VipFrontService {
 		} else {
 			if (CollUtil.isNotEmpty(orderDonList)) {
 				Integer remainFastNum = midjourneyUser.getMjFastNum();
-				Integer remainRelaxNum = midjourneyUser.getMjRelaxNum();
+				Integer remainRelaxNum = Optional.ofNullable(midjourneyUser.getMjRelaxNum()).orElse(0);
 				Integer usedNum = totalNum - remainFastNum - remainRelaxNum;
 				if (usedNum == 0 && now.toDateStr().equals(DateUtil.format(relationStartTime, "yyyy-MM-dd"))) {
 					deductMoney = deductMoney.add(orderTotalMoney);