From 8a4ba5f8784d9e33f18b5ee5681bb7cdead964a2 Mon Sep 17 00:00:00 2001 From: hokli <2629910752@qq.com> Date: Tue, 5 Aug 2025 15:50:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BB=E6=92=AD=E8=96=AA=E8=B5=84=E8=BD=AC?= =?UTF-8?q?=E4=BB=A3=E7=90=86=E6=97=A5=E6=9C=9F=EF=BC=8C=E6=97=A5=E9=99=90?= =?UTF-8?q?=E9=A2=9D=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../GuildUsdToRechargeUserLimitService.java | 46 +++++++++---------- .../GameUsdToRechargeUserLimitService.java | 39 ++++++++-------- 2 files changed, 39 insertions(+), 46 deletions(-) diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/guild/GuildUsdToRechargeUserLimitService.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/guild/GuildUsdToRechargeUserLimitService.java index a4ea1bc9c..f22725480 100644 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/guild/GuildUsdToRechargeUserLimitService.java +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/guild/GuildUsdToRechargeUserLimitService.java @@ -15,9 +15,9 @@ import com.accompany.core.service.SysConfService; import com.accompany.core.util.I18NMessageSourceUtil; import com.accompany.payment.service.RechargeUserService; import com.alibaba.fastjson2.JSON; +import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import java.math.BigDecimal; @@ -69,38 +69,34 @@ public class GuildUsdToRechargeUserLimitService { List enableDayOfMonth = GuildConstant.RoleType.OWNER.equals(guildMember.getRoleType())? configDto.getOwnerEnableDayOfMonth(): configDto.getMemberEnableDayOfMonth(); - if (CollectionUtils.isEmpty(enableDayOfMonth)){ - return; - } PartitionEnum partitionEnum = PartitionEnum.getByPartitionId(guildMember.getPartitionId()); ZonedDateTime zdt = DateTimeUtil.getDateTimeByZoneId(partitionEnum.getZoneId()); - if (!enableDayOfMonth.contains(zdt.getDayOfMonth())){ + + if (CollectionUtils.isNotEmpty(enableDayOfMonth) && !enableDayOfMonth.contains(zdt.getDayOfMonth())){ String enableDayOfMonthStr = enableDayOfMonth.stream().sorted().map(String::valueOf).collect(Collectors.joining(",")); String errorMsg = I18NMessageSourceUtil.getMessage(I18nAlertEnum.GUILD_USD_TO_RECHARGE_USER_DAY_OF_MONTH_LIMIT, new Object[]{enableDayOfMonthStr}, guildMember.getPartitionId()); throw new ServiceException(errorMsg); } - if (null == configDto.getDayNumLimit() || BigDecimal.ZERO.compareTo(configDto.getDayNumLimit()) <= 0){ - return; + if (null != configDto.getDayNumLimit() && BigDecimal.ZERO.compareTo(configDto.getDayNumLimit()) > 0){ + ZonedDateTime todayStartTime = zdt.withHour(0).withMinute(0).withSecond(0).withNano(0); + Date systemStartTime = DateTimeUtil.converLocalDateTimeToDate(todayStartTime.withZoneSameInstant(ZoneId.systemDefault()).toLocalDateTime()); + String systemStartTimeStr = DateTimeUtil.convertDateTime(systemStartTime); + + ZonedDateTime todayEndTime = zdt.withHour(23).withMinute(59).withSecond(59).withNano(999999999); + Date systemEndTime = DateTimeUtil.converLocalDateTimeToDate(todayEndTime.withZoneSameInstant(ZoneId.systemDefault()).toLocalDateTime()); + String systemEndTimeStr = DateTimeUtil.convertDateTime(systemEndTime); + + Double todayNum = guildUsdBillRecordMapper.sum(guildMember.getPartitionId(), guildMember.getUid(), null, + systemStartTimeStr, systemEndTimeStr, GuildUsdOperateTypeEnum.USD_TO_RECHARGE_USER.getType()); + BigDecimal todayNumB = null == todayNum? BigDecimal.ZERO: BigDecimal.valueOf(todayNum); + BigDecimal judgeNum = todayNumB.add(guildUsdNum); + + if (judgeNum.compareTo(configDto.getDayNumLimit()) > 0){ + String errorMsg = I18NMessageSourceUtil.getMessage(I18nAlertEnum.GUILD_USD_TO_RECHARGE_USER_DAY_NUM_LIMIT, null, guildMember.getPartitionId()); + throw new ServiceException(errorMsg); + } } - ZonedDateTime todayStartTime = zdt.withHour(0).withMinute(0).withSecond(0).withNano(0); - Date systemStartTime = DateTimeUtil.converLocalDateTimeToDate(todayStartTime.withZoneSameInstant(ZoneId.systemDefault()).toLocalDateTime()); - String systemStartTimeStr = DateTimeUtil.convertDateTime(systemStartTime); - - ZonedDateTime todayEndTime = zdt.withHour(23).withMinute(59).withSecond(59).withNano(999999999); - Date systemEndTime = DateTimeUtil.converLocalDateTimeToDate(todayEndTime.withZoneSameInstant(ZoneId.systemDefault()).toLocalDateTime()); - String systemEndTimeStr = DateTimeUtil.convertDateTime(systemEndTime); - - Double todayNum = guildUsdBillRecordMapper.sum(guildMember.getPartitionId(), guildMember.getUid(), null, - systemStartTimeStr, systemEndTimeStr, GuildUsdOperateTypeEnum.USD_TO_RECHARGE_USER.getType()); - BigDecimal todayNumB = null == todayNum? BigDecimal.ZERO: BigDecimal.valueOf(todayNum); - BigDecimal judgeNum = todayNumB.add(guildUsdNum); - - if (judgeNum.compareTo(configDto.getDayNumLimit()) > 0){ - String errorMsg = I18NMessageSourceUtil.getMessage(I18nAlertEnum.GUILD_USD_TO_RECHARGE_USER_DAY_NUM_LIMIT, null, guildMember.getPartitionId()); - throw new ServiceException(errorMsg); - } - } public GuildUsdToRechargeUserLimitConfigDto getConfig(){ diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/guildgame/GameUsdToRechargeUserLimitService.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/guildgame/GameUsdToRechargeUserLimitService.java index 383f276f3..3731afcca 100644 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/guildgame/GameUsdToRechargeUserLimitService.java +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/guildgame/GameUsdToRechargeUserLimitService.java @@ -15,9 +15,9 @@ import com.accompany.core.service.SysConfService; import com.accompany.core.util.I18NMessageSourceUtil; import com.accompany.payment.service.RechargeUserService; import com.alibaba.fastjson2.JSON; +import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import java.math.BigDecimal; @@ -69,36 +69,33 @@ public class GameUsdToRechargeUserLimitService { List enableDayOfMonth = GuildConstant.RoleType.OWNER.equals(guildMember.getRoleType())? configDto.getOwnerEnableDayOfMonth(): configDto.getMemberEnableDayOfMonth(); - if (CollectionUtils.isEmpty(enableDayOfMonth)){ - return; - } PartitionEnum partitionEnum = PartitionEnum.getByPartitionId(guildMember.getPartitionId()); ZonedDateTime zdt = DateTimeUtil.getDateTimeByZoneId(partitionEnum.getZoneId()); - if (!enableDayOfMonth.contains(zdt.getDayOfMonth())){ + + if (CollectionUtils.isNotEmpty(enableDayOfMonth) && !enableDayOfMonth.contains(zdt.getDayOfMonth())){ String enableDayOfMonthStr = enableDayOfMonth.stream().sorted().map(String::valueOf).collect(Collectors.joining(",")); String errorMsg = I18NMessageSourceUtil.getMessage(I18nAlertEnum.GUILD_USD_TO_RECHARGE_USER_DAY_OF_MONTH_LIMIT, new Object[]{enableDayOfMonthStr}, guildMember.getPartitionId()); throw new ServiceException(errorMsg); } - if (null == configDto.getDayNumLimit() || BigDecimal.ZERO.compareTo(configDto.getDayNumLimit()) <= 0){ - return; - } - ZonedDateTime todayStartTime = zdt.withHour(0).withMinute(0).withSecond(0).withNano(0); - Date systemStartTime = DateTimeUtil.converLocalDateTimeToDate(todayStartTime.withZoneSameInstant(ZoneId.systemDefault()).toLocalDateTime()); - String systemStartTimeStr = DateTimeUtil.convertDateTime(systemStartTime); + if (null != configDto.getDayNumLimit() && BigDecimal.ZERO.compareTo(configDto.getDayNumLimit()) > 0){ + ZonedDateTime todayStartTime = zdt.withHour(0).withMinute(0).withSecond(0).withNano(0); + Date systemStartTime = DateTimeUtil.converLocalDateTimeToDate(todayStartTime.withZoneSameInstant(ZoneId.systemDefault()).toLocalDateTime()); + String systemStartTimeStr = DateTimeUtil.convertDateTime(systemStartTime); - ZonedDateTime todayEndTime = zdt.withHour(23).withMinute(59).withSecond(59).withNano(999999999); - Date systemEndTime = DateTimeUtil.converLocalDateTimeToDate(todayEndTime.withZoneSameInstant(ZoneId.systemDefault()).toLocalDateTime()); - String systemEndTimeStr = DateTimeUtil.convertDateTime(systemEndTime); + ZonedDateTime todayEndTime = zdt.withHour(23).withMinute(59).withSecond(59).withNano(999999999); + Date systemEndTime = DateTimeUtil.converLocalDateTimeToDate(todayEndTime.withZoneSameInstant(ZoneId.systemDefault()).toLocalDateTime()); + String systemEndTimeStr = DateTimeUtil.convertDateTime(systemEndTime); - Double todayNum = guildUsdBillRecordMapper.sum(guildMember.getPartitionId(), guildMember.getUid(), null, - systemStartTimeStr, systemEndTimeStr, GameUsdOperateTypeEnum.USD_TO_RECHARGE_USER.getType()); - BigDecimal todayNumB = null == todayNum? BigDecimal.ZERO: BigDecimal.valueOf(todayNum); - BigDecimal judgeNum = todayNumB.add(guildUsdNum); + Double todayNum = guildUsdBillRecordMapper.sum(guildMember.getPartitionId(), guildMember.getUid(), null, + systemStartTimeStr, systemEndTimeStr, GameUsdOperateTypeEnum.USD_TO_RECHARGE_USER.getType()); + BigDecimal todayNumB = null == todayNum? BigDecimal.ZERO: BigDecimal.valueOf(todayNum); + BigDecimal judgeNum = todayNumB.add(guildUsdNum); - if (judgeNum.compareTo(configDto.getDayNumLimit()) > 0){ - String errorMsg = I18NMessageSourceUtil.getMessage(I18nAlertEnum.GUILD_USD_TO_RECHARGE_USER_DAY_NUM_LIMIT, null, guildMember.getPartitionId()); - throw new ServiceException(errorMsg); + if (judgeNum.compareTo(configDto.getDayNumLimit()) > 0){ + String errorMsg = I18NMessageSourceUtil.getMessage(I18nAlertEnum.GUILD_USD_TO_RECHARGE_USER_DAY_NUM_LIMIT, null, guildMember.getPartitionId()); + throw new ServiceException(errorMsg); + } } }