公会小时流水统计
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
package com.accompany.common.utils;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.accompany.common.status.BusiStatus;
|
||||
import com.accompany.core.exception.ServiceException;
|
||||
@@ -39,6 +38,7 @@ public class DateTimeUtil {
|
||||
public static final String DEFAULT_DATE_PATTERN__ = "yyyyMMddHHmmss";
|
||||
public static final String DEFAULT_TIME_PATTERN = "HH:mm:ss";
|
||||
public static final String DEFAULT_DATE_MINUTE_PATTERN = "yyyy-MM-dd HH:mm";
|
||||
public static final String DEFAULT_DATE_HOUR_PATTERN = "yyyy-MM-dd HH";
|
||||
public static final String SIMPLE_MONTH_DATE_PATTERN = "M月d日";
|
||||
public static final String DATE_HOUR_PATTERN = "yyyyMMddHH";
|
||||
public static final String DATE_FORMAT_YEAR_MONTH = "yyyyMM";
|
||||
@@ -61,9 +61,10 @@ public class DateTimeUtil {
|
||||
|
||||
public static final DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern(DateTimeUtil.DEFAULT_DATE_PATTERN);
|
||||
public static final DateTimeFormatter datetimeFormatter = DateTimeFormatter.ofPattern(DateTimeUtil.DEFAULT_DATETIME_PATTERN);
|
||||
public static final DateTimeFormatter dateHourFormatter = DateTimeFormatter.ofPattern(DateTimeUtil.DEFAULT_DATE_MINUTE_PATTERN);
|
||||
public static final DateTimeFormatter dateHourMinutesFormatter = DateTimeFormatter.ofPattern(DateTimeUtil.DEFAULT_DATE_MINUTE_PATTERN);
|
||||
public static final DateTimeFormatter hoursFormatter = DateTimeFormatter.ofPattern(DateTimeUtil.DATE_HOUR_PATTERN);
|
||||
public static final DateTimeFormatter monthWithoutZeroDateFormatter = DateTimeFormatter.ofPattern(DateTimeUtil.MONTH_WITHOUT_ZERO_DATE_PATTERN);
|
||||
public static final DateTimeFormatter dateHourFormatter = DateTimeFormatter.ofPattern(DateTimeUtil.DEFAULT_DATE_HOUR_PATTERN);
|
||||
|
||||
public static final DateTimeFormatter yyyyMMdd = DateTimeFormatter.ofPattern("yyyyMMdd");
|
||||
|
||||
@@ -1147,4 +1148,9 @@ public class DateTimeUtil {
|
||||
return Date.from(eastEightZonedDateTime.toInstant());
|
||||
}
|
||||
|
||||
|
||||
public static String getDayHourDate(Date time, String zoneId) {
|
||||
ZonedDateTime zdt = DateTimeUtil.convertWithZoneId(time, zoneId);
|
||||
return zdt.format(dateHourFormatter);
|
||||
}
|
||||
}
|
||||
|
@@ -3,14 +3,12 @@ package com.accompany.business.event.listener;
|
||||
import com.accompany.business.event.SuperLuckyGiftDiamondIncomeMessageEvent;
|
||||
import com.accompany.business.message.SuperLuckyGiftDiamondIncomeMessage;
|
||||
import com.accompany.business.model.guild.GuildMember;
|
||||
import com.accompany.business.service.guild.GuildDiamondStatisticsDayService;
|
||||
import com.accompany.business.service.guild.GuildMemberDiamondStatisticsService;
|
||||
import com.accompany.business.service.guild.GuildMemberService;
|
||||
import com.accompany.business.service.guild.GuildRankService;
|
||||
import com.accompany.business.service.guild.*;
|
||||
import com.accompany.business.service.guildpolicy2.GuildDiamondStatisticsPolicy2Service;
|
||||
import com.accompany.business.service.user.UsersService;
|
||||
import com.accompany.business.util.FullMonthCycleTimeUtil;
|
||||
import com.accompany.common.constant.Constant;
|
||||
import com.accompany.common.utils.DateTimeUtil;
|
||||
import com.accompany.core.model.PartitionInfo;
|
||||
import com.accompany.core.model.Users;
|
||||
import com.accompany.core.service.partition.PartitionInfoService;
|
||||
@@ -38,6 +36,8 @@ public class SuperLuckyGiftDiamondIncomeListener implements ApplicationListener<
|
||||
private GuildDiamondStatisticsDayService guildDiamondStatisticsDayService;
|
||||
@Autowired
|
||||
private GuildDiamondStatisticsPolicy2Service guildDiamondStatisticsPolicy2Service;
|
||||
@Autowired
|
||||
private GuildDiamondStatisticsHourService guildDiamondStatisticsHourService;
|
||||
|
||||
@Async
|
||||
@Override
|
||||
@@ -59,16 +59,20 @@ public class SuperLuckyGiftDiamondIncomeListener implements ApplicationListener<
|
||||
}
|
||||
Date time = message.getCreateTime();
|
||||
Double totalDiamondNum = message.getTotalDiamondNum();
|
||||
String statDate = FullMonthCycleTimeUtil.getCycleDay(time, partitionInfo.getZoneId());
|
||||
if (Constant.ClanMode.GUILD.equals(partitionInfo.getClanMode())) {
|
||||
String cycleDate = FullMonthCycleTimeUtil.getCycleDateByZoneId(time, partitionInfo.getZoneId());
|
||||
String statDate = FullMonthCycleTimeUtil.getCycleDay(time, partitionInfo.getZoneId());
|
||||
statDate = FullMonthCycleTimeUtil.getCycleDay(time, partitionInfo.getZoneId());
|
||||
guildMemberDiamondStatisticsService.update(cycleDate, guildMember, totalDiamondNum);
|
||||
guildDiamondStatisticsDayService.updateDayDiamondStatistics(cycleDate, statDate, guildMember, totalDiamondNum);
|
||||
} else if (Constant.ClanMode.GUILD_POLICY2.equals(partitionInfo.getClanMode())) {
|
||||
String cycleDate = FullMonthCycleTimeUtil.getCycleDateByZoneId(time, partitionInfo.getZoneId());
|
||||
String statDate = FullMonthCycleTimeUtil.getCycleDay(time, partitionInfo.getZoneId());
|
||||
statDate = FullMonthCycleTimeUtil.getCycleDay(time, partitionInfo.getZoneId());
|
||||
guildDiamondStatisticsPolicy2Service.updateDayDiamondStatistics(cycleDate, statDate, guildMember, totalDiamondNum);
|
||||
}
|
||||
String dayHourDate = DateTimeUtil.getDayHourDate(time, partitionInfo.getZoneId());
|
||||
guildDiamondStatisticsHourService.updateHourDiamondStatistics(statDate, dayHourDate, guildMember, totalDiamondNum);
|
||||
|
||||
//todo 时区 zoneId
|
||||
guildRankService.updateRank(guildMember.getGuildId(), guildMember.getUid(), totalDiamondNum, receiver.getPartitionId());
|
||||
}
|
||||
|
@@ -141,7 +141,7 @@ public class LuckyNumberActService {
|
||||
vo.setLuckyNumber(round.getLuckyNumber());
|
||||
|
||||
ZonedDateTime zdt = ZonedDateTime.parse(round.getEndTime(), DateTimeFormatter.ISO_ZONED_DATE_TIME);
|
||||
vo.setEndTime(zdt.format(DateTimeUtil.dateHourFormatter));
|
||||
vo.setEndTime(zdt.format(DateTimeUtil.dateHourMinutesFormatter));
|
||||
|
||||
return vo;
|
||||
}).collect(Collectors.toList());
|
||||
@@ -205,7 +205,7 @@ public class LuckyNumberActService {
|
||||
vo.setDate(record.getDate());
|
||||
|
||||
ZonedDateTime zdt = ZonedDateTime.parse(round.getEndTime(), DateTimeFormatter.ISO_ZONED_DATE_TIME);
|
||||
vo.setEndTime(zdt.format(DateTimeUtil.dateHourFormatter));
|
||||
vo.setEndTime(zdt.format(DateTimeUtil.dateHourMinutesFormatter));
|
||||
|
||||
vo.setLuckyNumber(round.getLuckyNumber());
|
||||
vo.setNumberList(record.getNumberList());
|
||||
|
@@ -46,6 +46,9 @@ public class GuildGiftRecordService extends ServiceImpl<GuildGiftRecordMapper, G
|
||||
private ApplicationContext applicationContext;
|
||||
@Autowired
|
||||
private GuildDiamondStatisticsPolicy2Service guildDiamondStatisticsPolicy2Service;
|
||||
@Autowired
|
||||
private GuildDiamondStatisticsHourService guildDiamondStatisticsHourService;
|
||||
|
||||
|
||||
@Async
|
||||
public void insertGuildGiftRecord(GiftSendRecord giftSendRecord) {
|
||||
@@ -76,16 +79,20 @@ public class GuildGiftRecordService extends ServiceImpl<GuildGiftRecordMapper, G
|
||||
}
|
||||
|
||||
Date createTime = giftSendRecord.getCreateTime();
|
||||
String statDate = FullMonthCycleTimeUtil.getCycleDay(createTime, partitionInfo.getZoneId());
|
||||
Double totalDiamondNum = giftSendRecord.getTotalDiamondNum();
|
||||
if (Constant.ClanMode.GUILD.equals(partitionInfo.getClanMode())) {
|
||||
String cycleDate = FullMonthCycleTimeUtil.getCycleDateByZoneId(createTime, partitionInfo.getZoneId());
|
||||
guildMemberDiamondStatisticsService.update(cycleDate, guildMember, giftSendRecord.getTotalDiamondNum());
|
||||
String statDate = FullMonthCycleTimeUtil.getCycleDay(createTime, partitionInfo.getZoneId());
|
||||
guildDiamondStatisticsDayService.updateDayDiamondStatistics(cycleDate, statDate, guildMember, giftSendRecord.getTotalDiamondNum());
|
||||
guildMemberDiamondStatisticsService.update(cycleDate, guildMember, totalDiamondNum);
|
||||
statDate = FullMonthCycleTimeUtil.getCycleDay(createTime, partitionInfo.getZoneId());
|
||||
guildDiamondStatisticsDayService.updateDayDiamondStatistics(cycleDate, statDate, guildMember, totalDiamondNum);
|
||||
} else if (Constant.ClanMode.GUILD_POLICY2.equals(partitionInfo.getClanMode())) {
|
||||
String cycleDate = FullMonthCycleTimeUtil.getCycleDateByZoneId(createTime, partitionInfo.getZoneId());
|
||||
String statDate = FullMonthCycleTimeUtil.getCycleDay(createTime, partitionInfo.getZoneId());
|
||||
guildDiamondStatisticsPolicy2Service.updateDayDiamondStatistics(cycleDate, statDate, guildMember, giftSendRecord.getTotalDiamondNum());
|
||||
statDate = FullMonthCycleTimeUtil.getCycleDay(createTime, partitionInfo.getZoneId());
|
||||
guildDiamondStatisticsPolicy2Service.updateDayDiamondStatistics(cycleDate, statDate, guildMember, totalDiamondNum);
|
||||
}
|
||||
String dayHourDate = DateTimeUtil.getDayHourDate(createTime, partitionInfo.getZoneId());
|
||||
guildDiamondStatisticsHourService.updateHourDiamondStatistics(statDate, dayHourDate, guildMember, totalDiamondNum);
|
||||
|
||||
guildRankService.updateRank(guildGiftRecord);
|
||||
|
||||
|
Reference in New Issue
Block a user