空值问题

This commit is contained in:
2025-12-25 15:46:09 +08:00
parent ec59490f3a
commit 0b5ec53187

View File

@@ -127,13 +127,13 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
break; break;
case "COST_AMOUNT": case "COST_AMOUNT":
conditionMap.put("COST_AMOUNT", orderInfoService.getOneAs(query().select("sum(pay_amount)").eq(OrderInfo::getShopId, shopId).eq(OrderInfo::getUserId, shopUserInfo.getUserId()) conditionMap.put("COST_AMOUNT", orderInfoService.getOneAs(query().select("IFNULL(sum(pay_amount), 0) as total_amount ").eq(OrderInfo::getShopId, shopId).eq(OrderInfo::getUserId, shopUserInfo.getUserId())
.notIn(OrderInfo::getStatus, OrderStatusEnums.UNPAID.getCode(), OrderStatusEnums.CANCELLED.getCode()), BigDecimal.class) .notIn(OrderInfo::getStatus, OrderStatusEnums.UNPAID.getCode(), OrderStatusEnums.CANCELLED.getCode()), BigDecimal.class)
.compareTo(new BigDecimal(item.getValue())) >= 0); .compareTo(new BigDecimal(item.getValue())) >= 0);
break; break;
case "RECHARGE_AMOUNT": case "RECHARGE_AMOUNT":
conditionMap.put("RECHARGE_AMOUNT", paymentService.getOneAs(query().select("sum(amount)") conditionMap.put("RECHARGE_AMOUNT", paymentService.getOneAs(query().select("IFNULL(sum(amount), 0) as total_amount ")
.eq(OrderPayment::getShopId, shopId) .eq(OrderPayment::getShopId, shopId)
.eq(OrderPayment::getSourceType, PayTypeConstants.SourceType.MEMBER_IN) .eq(OrderPayment::getSourceType, PayTypeConstants.SourceType.MEMBER_IN)
.eq(OrderPayment::getPayType, PayTypeConstants.PayType.PAY) .eq(OrderPayment::getPayType, PayTypeConstants.PayType.PAY)
@@ -422,10 +422,10 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
orderInfoService.count(query().eq(OrderInfo::getShopId, shopId).eq(OrderInfo::getUserId, shopUser.getUserId()) orderInfoService.count(query().eq(OrderInfo::getShopId, shopId).eq(OrderInfo::getUserId, shopUser.getUserId())
.eq(OrderInfo::getStatus, OrderStatusEnums.DONE.getCode())) >= Integer.parseInt(item.getValue()); .eq(OrderInfo::getStatus, OrderStatusEnums.DONE.getCode())) >= Integer.parseInt(item.getValue());
case "COST_AMOUNT" -> case "COST_AMOUNT" ->
orderInfoService.getOneAs(query().select("sum(pay_amount)").eq(OrderInfo::getShopId, shopId).eq(OrderInfo::getUserId, shopUser.getUserId()) orderInfoService.getOneAs(query().select("IFNULL(sum(pay_amount), 0) as total_amount").eq(OrderInfo::getShopId, shopId).eq(OrderInfo::getUserId, shopUser.getUserId())
.eq(OrderInfo::getStatus, OrderStatusEnums.DONE.getCode()), BigDecimal.class) .eq(OrderInfo::getStatus, OrderStatusEnums.DONE.getCode()), BigDecimal.class)
.compareTo(new BigDecimal(item.getValue())) >= 0; .compareTo(new BigDecimal(item.getValue())) >= 0;
case "RECHARGE_AMOUNT" -> paymentService.getOneAs(query().select("sum(amount)") case "RECHARGE_AMOUNT" -> paymentService.getOneAs(query().select("IFNULL(sum(amount), 0) as total_amount")
.eq(OrderPayment::getShopId, shopId) .eq(OrderPayment::getShopId, shopId)
.eq(OrderPayment::getSourceType, PayTypeConstants.SourceType.MEMBER_IN) .eq(OrderPayment::getSourceType, PayTypeConstants.SourceType.MEMBER_IN)
.eq(OrderPayment::getPayType, PayTypeConstants.PayType.PAY) .eq(OrderPayment::getPayType, PayTypeConstants.PayType.PAY)