新增公会政策模式guildPolicy2
This commit is contained in:
@@ -7,18 +7,15 @@ import com.accompany.business.model.family.FamilyMemberWeekLevelReward;
|
||||
import com.accompany.business.model.guild.Guild;
|
||||
import com.accompany.business.model.guild.GuildMember;
|
||||
import com.accompany.business.model.guild.GuildMemberWeekLevelReward;
|
||||
import com.accompany.business.model.guild.GuildMemberWeekLevelRewardRecord;
|
||||
import com.accompany.business.mybatismapper.family.FamilyMapper;
|
||||
import com.accompany.business.mybatismapper.family.FamilyMemberMapper;
|
||||
import com.accompany.business.mybatismapper.guild.GuildMapper;
|
||||
import com.accompany.business.mybatismapper.guild.GuildMemberMapper;
|
||||
import com.accompany.business.mybatismapper.guild.GuildMemberWeekLevelRewardRecordMapper;
|
||||
import com.accompany.business.service.family.FamilyMemberWeekLevelRewardService;
|
||||
import com.accompany.business.service.guild.GuildMemberWeekLevelRewardService;
|
||||
import com.accompany.business.service.user.UsersService;
|
||||
import com.accompany.common.constant.Constant;
|
||||
import com.accompany.common.status.BusiStatus;
|
||||
import com.accompany.core.enumeration.PartitionEnum;
|
||||
import com.accompany.core.exception.AdminServiceException;
|
||||
import com.accompany.core.model.PartitionInfo;
|
||||
import com.accompany.core.model.Users;
|
||||
@@ -63,7 +60,8 @@ public class FamilyMemberWeekLevelRewardRecordAdminService {
|
||||
int pageNo, int pageSize) {
|
||||
PartitionInfo partitionInfo = partitionInfoService.getById(partitionId);
|
||||
if (null == partitionInfo
|
||||
|| (!Constant.ClanMode.FAMILY.equals(partitionInfo.getClanMode()) && !Constant.ClanMode.GUILD.equals(partitionInfo.getClanMode()))){
|
||||
|| (!Constant.ClanMode.FAMILY.equals(partitionInfo.getClanMode()) && !Constant.ClanMode.GUILD.equals(partitionInfo.getClanMode())
|
||||
&& !Constant.ClanMode.GUILD_POLICY2.equals(partitionInfo.getClanMode()))){
|
||||
throw new AdminServiceException(BusiStatus.PARAMERROR);
|
||||
} else if (!StringUtils.hasText(cycleDate)) {
|
||||
throw new AdminServiceException(BusiStatus.PARAMERROR);
|
||||
|
@@ -91,7 +91,8 @@ public class GuildManageAdminService {
|
||||
throw new AdminServiceException(BusiStatus.USERNOTEXISTS);
|
||||
}
|
||||
PartitionInfo partitionInfo = partitionInfoService.getById(u.getPartitionId());
|
||||
if (null == partitionInfo || !Constant.ClanMode.GUILD.equals(partitionInfo.getClanMode())){
|
||||
if (null == partitionInfo || (!Constant.ClanMode.GUILD.equals(partitionInfo.getClanMode())
|
||||
&& !Constant.ClanMode.GUILD_POLICY2.equals(partitionInfo.getClanMode()))){
|
||||
throw new AdminServiceException(BusiStatus.PARTITION_ERROR);
|
||||
}
|
||||
|
||||
|
@@ -130,7 +130,8 @@ public class UserCancelAdminService extends BaseService {
|
||||
} else if (vaildFamilyMemberByUid != null) {
|
||||
familyManageAdminService.removeMember(vaildFamilyMemberByUid.getId(), 0);
|
||||
}
|
||||
} else if (Constant.ClanMode.GUILD.equals(partitionEnum.getClanMode())) {
|
||||
} else if (Constant.ClanMode.GUILD.equals(partitionEnum.getClanMode())
|
||||
|| Constant.ClanMode.GUILD_POLICY2.equals(partitionEnum.getClanMode())) {
|
||||
GuildMember vaildGuildMemberByUid = guildMemberService.getVaildGuildMemberByUid(users.getUid());
|
||||
if (vaildGuildMemberByUid != null && GuildConstant.RoleType.OWNER.equals(vaildGuildMemberByUid.getRoleType())) {
|
||||
Guild validOwnUid = guildManageAdminService.getValidByOwnUid(users.getUid());
|
||||
|
@@ -4070,6 +4070,7 @@ public class Constant {
|
||||
public static final String CLAN_HALL = "clan_hall";
|
||||
public static final String FAMILY = "family";
|
||||
public static final String GUILD = "guild";
|
||||
public static final String GUILD_POLICY2 = "guild_policy2";
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -11,7 +11,7 @@ public enum PartitionEnum {
|
||||
ENGLISH(1, "Asia/Manila", "英语区", "en", Constant.ClanMode.FAMILY),
|
||||
ARAB(2, "Asia/Riyadh", "阿语区", "ar", Constant.ClanMode.GUILD),
|
||||
CHINESE(4, "Asia/Hong_Kong", "中文区", "zh", Constant.ClanMode.CLAN_HALL),
|
||||
TURKEY(8, "Europe/Istanbul", "土耳其区", "tr", Constant.ClanMode.GUILD),
|
||||
TURKEY(8, "Europe/Istanbul", "土耳其区", "tr", Constant.ClanMode.GUILD_POLICY2),
|
||||
ENGLISH2(16, "Asia/Manila", "英语2区", "en", Constant.ClanMode.GUILD),
|
||||
;
|
||||
|
||||
|
@@ -46,7 +46,8 @@ public class GuildMemberWeekLevelRewardDiamondListener implements ApplicationLis
|
||||
|
||||
PartitionInfo partitionInfo = partitionInfoService.getById(receiver.getPartitionId());
|
||||
if (null == receiver.getPartitionId()
|
||||
|| !Constant.ClanMode.GUILD.equals(partitionInfo.getClanMode())) {
|
||||
|| (!Constant.ClanMode.GUILD.equals(partitionInfo.getClanMode())
|
||||
&& !Constant.ClanMode.GUILD_POLICY2.equals(partitionInfo.getClanMode()))){
|
||||
return;
|
||||
}
|
||||
|
||||
|
@@ -11,7 +11,6 @@ import com.accompany.business.service.room.RoomDayDiamondNumService;
|
||||
import com.accompany.business.service.user.UsersService;
|
||||
import com.accompany.business.util.CycleTimeUtil;
|
||||
import com.accompany.common.constant.Constant;
|
||||
import com.accompany.core.enumeration.PartitionEnum;
|
||||
import com.accompany.core.model.PartitionInfo;
|
||||
import com.accompany.core.model.Users;
|
||||
import com.accompany.core.service.partition.PartitionInfoService;
|
||||
@@ -20,7 +19,6 @@ import org.springframework.context.ApplicationListener;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
@Component
|
||||
@@ -50,7 +48,8 @@ public class SuperLuckyGiftDiamondIncomeListener implements ApplicationListener<
|
||||
Users receiver = usersService.getNotNullUsersByUid(receiverUid);
|
||||
|
||||
PartitionInfo partitionInfo = partitionInfoService.getById(receiver.getPartitionId());
|
||||
if (null == partitionInfo || !Constant.ClanMode.GUILD.equals(partitionInfo.getClanMode())) {
|
||||
if (null == partitionInfo || (!Constant.ClanMode.GUILD.equals(partitionInfo.getClanMode())
|
||||
&& !Constant.ClanMode.GUILD_POLICY2.equals(partitionInfo.getClanMode()))){
|
||||
return;
|
||||
}
|
||||
|
||||
|
@@ -45,7 +45,8 @@ public class WeekActiveGuildMemberStatService {
|
||||
|
||||
public void zoneMark(Integer partitionId, Integer guildId, Long uid, BigDecimal diamondNum, BigDecimal goldNum, Date now){
|
||||
PartitionEnum partitionEnum = PartitionEnum.getByPartitionId(partitionId);
|
||||
if (!Constant.ClanMode.GUILD.equals(partitionEnum.getClanMode())){
|
||||
if (!Constant.ClanMode.GUILD.equals(partitionEnum.getClanMode())
|
||||
&& !Constant.ClanMode.GUILD_POLICY2.equals(partitionEnum.getClanMode())){
|
||||
return;
|
||||
}
|
||||
|
||||
|
@@ -134,7 +134,8 @@ public class GoldExchangeDiamondService {
|
||||
throw new ServiceException(BusiStatus.GOLD_EXCHANGE_DIAMOND_CLOSE);
|
||||
}
|
||||
|
||||
} else if (Constant.ClanMode.GUILD.equals(partitionInfo.getClanMode())) {
|
||||
} else if (Constant.ClanMode.GUILD.equals(partitionInfo.getClanMode())
|
||||
|| Constant.ClanMode.GUILD_POLICY2.equals(partitionInfo.getClanMode())) {
|
||||
GuildMember vaildGuildMemberByUid = guildMemberService.getVaildGuildMemberByUid(uid);
|
||||
if (CollectionUtils.isEmpty(blockClanIds) || vaildGuildMemberByUid == null) {
|
||||
return exchangeDiamondConfigDto;
|
||||
|
@@ -50,7 +50,8 @@ public class FamilyClanService {
|
||||
throw new ServiceException(BusiStatus.PARTITION_ERROR);
|
||||
}
|
||||
FamilyClanDecorateVo vo = new FamilyClanDecorateVo();
|
||||
vo.setClanMode(Constant.ClanMode.GUILD.equals(partitionInfo.getClanMode())?
|
||||
vo.setClanMode(Constant.ClanMode.GUILD.equals(partitionInfo.getClanMode())
|
||||
|| Constant.ClanMode.GUILD_POLICY2.equals(partitionInfo.getClanMode())?
|
||||
Constant.ClanMode.FAMILY: partitionInfo.getClanMode());
|
||||
|
||||
if (Constant.ClanMode.CLAN_HALL.equals(partitionInfo.getClanMode())) {
|
||||
@@ -59,7 +60,8 @@ public class FamilyClanService {
|
||||
} else if (Constant.ClanMode.FAMILY.equals(partitionInfo.getClanMode())) {
|
||||
FamilySkipVo familySkipVo = familyRelationService.getFamilySkipVo(uid);
|
||||
vo.setFamily(familySkipVo);
|
||||
} else if (Constant.ClanMode.GUILD.equals(partitionInfo.getClanMode())) {
|
||||
} else if (Constant.ClanMode.GUILD.equals(partitionInfo.getClanMode())
|
||||
|| Constant.ClanMode.GUILD_POLICY2.equals(partitionInfo.getClanMode())) {
|
||||
GuildSkipVo guildSkipVo = guildRelationService.getGuildSkipVo(uid);
|
||||
vo.setFamily(guildSkipVo);
|
||||
}
|
||||
@@ -79,7 +81,8 @@ public class FamilyClanService {
|
||||
List<ClanRankListVO> clanRankListVOS;
|
||||
if (Constant.ClanMode.FAMILY.equals(partitionInfo.getClanMode())) {
|
||||
clanRankListVOS = familyRankService.listRank(partitionInfo.getId(), periodType);
|
||||
} else if (Constant.ClanMode.GUILD.equals(partitionInfo.getClanMode())) {
|
||||
} else if (Constant.ClanMode.GUILD.equals(partitionInfo.getClanMode())
|
||||
|| Constant.ClanMode.GUILD_POLICY2.equals(partitionInfo.getClanMode())) {
|
||||
clanRankListVOS = guildRankService.listRank(partitionInfo.getId(), periodType);
|
||||
} else {
|
||||
clanRankListVOS = clanService.listClanRankV2();
|
||||
|
@@ -5,10 +5,6 @@ import com.accompany.business.dto.GiftEarnAllot;
|
||||
import com.accompany.business.dto.GiftEarnAllotConfigDto;
|
||||
import com.accompany.business.dto.GiftEarnAllotFamilyConfigDto;
|
||||
import com.accompany.business.dto.GiftEarnAllotGuildConfigDto;
|
||||
import com.accompany.business.event.GuildMemberIncreaseFlowEvent;
|
||||
import com.accompany.business.event.NewGuildEvent;
|
||||
import com.accompany.business.message.GuildMemberIncreaseFlowMessage;
|
||||
import com.accompany.business.message.NewGuildMessage;
|
||||
import com.accompany.business.model.Hall;
|
||||
import com.accompany.business.model.clan.Clan;
|
||||
import com.accompany.business.model.clan.ClanAccountAssociate;
|
||||
@@ -99,7 +95,8 @@ public class GiftEarnAllotService {
|
||||
log.info("[处理礼物mq] giftEarnByFamily recvUid {} partitionInfo {} clanMode {}",
|
||||
uid, partitionInfo.getLanguages(), partitionInfo.getClanMode());
|
||||
allotGiftEarnByFamily(record, partitionInfo.getId(), objId, inEnum);
|
||||
} else if (Constant.ClanMode.GUILD.equals(partitionInfo.getClanMode())) {
|
||||
} else if (Constant.ClanMode.GUILD.equals(partitionInfo.getClanMode())
|
||||
|| Constant.ClanMode.GUILD_POLICY2.equals(partitionInfo.getClanMode())) {
|
||||
log.info("[处理礼物mq] giftEarnByGuild recvUid {} partitionInfo {} clanMode {}",
|
||||
uid, partitionInfo.getLanguages(), partitionInfo.getClanMode());
|
||||
diamondNum = allotGiftEarnByGuild(record, partitionInfo.getId(), objId, inEnum);
|
||||
|
@@ -2,7 +2,6 @@ package com.accompany.business.service.gift;
|
||||
|
||||
import com.accompany.business.dto.GiftEarnAllotFamilyConfigDto;
|
||||
import com.accompany.business.dto.GiftEarnAllotGuildConfigDto;
|
||||
import com.accompany.business.dto.lucky.BravoGiftConfig;
|
||||
import com.accompany.business.dto.lucky.Lucky24GiftConfig;
|
||||
import com.accompany.business.dto.lucky.Lucky25GiftConfig;
|
||||
import com.accompany.business.dto.lucky.SuperLuckyGiftConfig;
|
||||
@@ -105,7 +104,8 @@ public class GiftRateService {
|
||||
} else if (Constant.ClanMode.FAMILY.equals(partitionEnum.getClanMode())) {
|
||||
GiftEarnAllotFamilyConfigDto configDto = giftEarnAllotService.getEarnAllotFamilyConfig(partitionId);
|
||||
rate = BigDecimal.valueOf(null != roomUid? configDto.getInRoomRate(): configDto.getOutRoomRate());
|
||||
} else if (Constant.ClanMode.GUILD.equals(partitionEnum.getClanMode())) {
|
||||
} else if (Constant.ClanMode.GUILD.equals(partitionEnum.getClanMode())
|
||||
|| Constant.ClanMode.GUILD_POLICY2.equals(partitionEnum.getClanMode())) {
|
||||
GiftEarnAllotGuildConfigDto configDto = giftEarnAllotService.getEarnAllotGuildConfig(partitionId);
|
||||
rate = BigDecimal.valueOf(null != configDto.getRate()? configDto.getRate(): 0d);
|
||||
}
|
||||
|
@@ -58,7 +58,8 @@ public class GuildIncomeService {
|
||||
Users me = usersService.getNotNullUsersByUid(uid);
|
||||
PartitionInfo partitionInfo = partitionInfoService.getById(me.getPartitionId());
|
||||
if (null == partitionInfo
|
||||
|| !Constant.ClanMode.GUILD.equals(partitionInfo.getClanMode())) {
|
||||
|| (!Constant.ClanMode.GUILD.equals(partitionInfo.getClanMode())
|
||||
&& !Constant.ClanMode.GUILD_POLICY2.equals(partitionInfo.getClanMode()))) {
|
||||
throw new ServiceException(BusiStatus.FAMILY_PERMISSION_DENIED);
|
||||
}
|
||||
|
||||
|
@@ -199,7 +199,8 @@ public class GuildUsdBillRecordService extends ServiceImpl<GuildUsdBillRecordMap
|
||||
public Page<GuildUsdRechargeUserRecordVo> pageRechargeUserRecordByType(Long uid, Date startDate, Date endDate, Integer page, Integer pageSize) {
|
||||
Users me = usersService.getNotNullUsersByUid(uid);
|
||||
PartitionInfo partitionInfo = partitionInfoService.getById(me.getPartitionId());
|
||||
if (null == partitionInfo || !Constant.ClanMode.GUILD.equals(partitionInfo.getClanMode())
|
||||
if (null == partitionInfo || (!Constant.ClanMode.GUILD.equals(partitionInfo.getClanMode())
|
||||
&& !Constant.ClanMode.GUILD_POLICY2.equals(partitionInfo.getClanMode()))
|
||||
|| !rechargeUserService.isRechargeUser(uid)) {
|
||||
throw new ServiceException(BusiStatus.FAMILY_PERMISSION_DENIED);
|
||||
}
|
||||
|
@@ -599,7 +599,8 @@ public class DiamondGiveHistoryService extends ServiceImpl<DiamondGiveHistoryMap
|
||||
|
||||
Long aLong = this.totalGiveGoldNOSub(uid, Date.from(cycleDateBegin.toInstant()), Date.from(cycleDateEnd.toInstant()));
|
||||
diamondGiveHistoryPageVo.setTotalGiveGold(aLong == 0 ? 0 : (-1 * aLong));
|
||||
if (Constant.ClanMode.GUILD.equals(partitionInfo.getClanMode())) {
|
||||
if (Constant.ClanMode.GUILD.equals(partitionInfo.getClanMode())
|
||||
|| Constant.ClanMode.GUILD_POLICY2.equals(partitionInfo.getClanMode())) {
|
||||
Double aDouble = guildUsdBillRecordService.sumRechargeUsd(uid, cycleDateBegin.format(DateTimeUtil.dateFormatter), GuildUsdOperateTypeEnum.USD_TO_RECHARGE_USER.getType());
|
||||
diamondGiveHistoryPageVo.setTotalGiveGoldUsd(aDouble == 0 ? 0 : (-1 * aDouble));
|
||||
}
|
||||
|
@@ -5,7 +5,6 @@ import com.accompany.business.constant.activity.ActivityType;
|
||||
import com.accompany.business.service.activity.h5.ActivityRankRuleService;
|
||||
import com.accompany.business.service.family.FamilyRankService;
|
||||
import com.accompany.business.service.guild.GuildRankService;
|
||||
import com.accompany.business.service.guild.GuildRelationService;
|
||||
import com.accompany.business.vo.clan.ClanRankListVO;
|
||||
import com.accompany.common.constant.Constant;
|
||||
import com.accompany.common.constant.RankConstant;
|
||||
@@ -17,7 +16,6 @@ import com.accompany.core.enumeration.PartitionEnum;
|
||||
import com.accompany.core.exception.ServiceException;
|
||||
import com.accompany.core.model.PartitionInfo;
|
||||
import com.accompany.core.service.partition.PartitionInfoService;
|
||||
import com.alibaba.excel.util.DateUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -118,7 +116,8 @@ public class MonthRankTaskService {
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else if (Constant.ClanMode.GUILD.equals(partitionInfo.getClanMode())) {
|
||||
} else if (Constant.ClanMode.GUILD.equals(partitionInfo.getClanMode())
|
||||
|| Constant.ClanMode.GUILD_POLICY2.equals(partitionInfo.getClanMode())) {
|
||||
clanRankListVOS = guildRankService.listRank(partitionInfo.getId(), RankConstant.PeriodType.previousOne);
|
||||
if (CollectionUtils.isEmpty(clanRankListVOS)) {
|
||||
return;
|
||||
|
@@ -122,7 +122,8 @@ public class UserCancelService {
|
||||
} else if (vaildFamilyMemberByUid != null) {
|
||||
familyManagerService.removeMember(vaildFamilyMemberByUid.getId(), 0);
|
||||
}
|
||||
} else if (Constant.ClanMode.GUILD.equals(partitionEnum.getClanMode())) {
|
||||
} else if (Constant.ClanMode.GUILD.equals(partitionEnum.getClanMode())
|
||||
|| Constant.ClanMode.GUILD_POLICY2.equals(partitionEnum.getClanMode())) {
|
||||
GuildMember vaildGuildMemberByUid = guildMemberService.getVaildGuildMemberByUid(uid);
|
||||
if (vaildGuildMemberByUid != null && GuildConstant.RoleType.OWNER.equals(vaildGuildMemberByUid.getRoleType())) {
|
||||
GuildVo validOwnUid = guildManagerService.getGuildVo(users.getUid());
|
||||
|
@@ -161,7 +161,8 @@ public class UserDetailsService extends BaseService {
|
||||
if (Constant.ClanMode.FAMILY.equals(partitionInfo.getClanMode())){
|
||||
AgencyOwnerVo guildInfo = familyManagerService.getByMemberUid(uid);
|
||||
userDetailsVo.setGuildInfo(guildInfo);
|
||||
} else if (Constant.ClanMode.GUILD.equals(partitionInfo.getClanMode())) {
|
||||
} else if (Constant.ClanMode.GUILD.equals(partitionInfo.getClanMode())
|
||||
|| Constant.ClanMode.GUILD_POLICY2.equals(partitionInfo.getClanMode())) {
|
||||
AgencyOwnerVo guildInfo = guildManagerService.getByMemberUid(uid);
|
||||
userDetailsVo.setGuildInfo(guildInfo);
|
||||
}
|
||||
|
@@ -0,0 +1,128 @@
|
||||
package com.accompany.business.util;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.accompany.business.vo.guild.CycleDateVo;
|
||||
import com.accompany.common.utils.DateTimeUtil;
|
||||
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.TemporalAdjusters;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 整月周期时间工具类
|
||||
*/
|
||||
public class FullMonthCycleTimeUtil {
|
||||
|
||||
private static final DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern(DateTimeUtil.DEFAULT_DATE_PATTERN);
|
||||
|
||||
public static String getCurCycleDateByZoneId(String zoneId) {
|
||||
ZonedDateTime zdt = DateTimeUtil.getDateTimeByZoneId(zoneId);
|
||||
return getCycleDate(zdt);
|
||||
}
|
||||
|
||||
public static String getCycleDateByZoneId(Date time, String zoneId) {
|
||||
ZonedDateTime zdt = DateTimeUtil.convertWithZoneId(time, zoneId);
|
||||
return getCycleDate(zdt);
|
||||
}
|
||||
|
||||
public static String getCycleDay(Date time, String zoneId) {
|
||||
ZonedDateTime zdt = DateTimeUtil.convertWithZoneId(time, zoneId);
|
||||
return zdt.format(dateFormatter);
|
||||
}
|
||||
|
||||
public static ZonedDateTime getCycleDateZdt(ZonedDateTime zdt) {
|
||||
return zdt.with(TemporalAdjusters.firstDayOfMonth());
|
||||
}
|
||||
|
||||
public static ZonedDateTime getCycleTimeZdt(ZonedDateTime zdt) {
|
||||
return getCycleDateZdt(zdt).withHour(0).withMinute(0).withSecond(0);
|
||||
}
|
||||
|
||||
public static String getCycleDate(ZonedDateTime zdt) {
|
||||
return getCycleDateZdt(zdt).format(dateFormatter);
|
||||
}
|
||||
|
||||
public static ZonedDateTime getCycleEndDateZdt(ZonedDateTime zdt) {
|
||||
return zdt.with(TemporalAdjusters.lastDayOfMonth());
|
||||
}
|
||||
|
||||
public static ZonedDateTime getCycleEndTimeZdt(ZonedDateTime zdt) {
|
||||
return getCycleEndDateZdt(zdt).withHour(23).withMinute(59).withSecond(59);
|
||||
}
|
||||
|
||||
public static String getCycleEndDate(ZonedDateTime zdt) {
|
||||
return getCycleEndDateZdt(zdt).format(dateFormatter);
|
||||
}
|
||||
|
||||
public static ZonedDateTime getLastDateZdt(ZonedDateTime zdt) {
|
||||
return zdt.minusMonths(1L).withDayOfMonth(1);
|
||||
}
|
||||
|
||||
public static String getLastDate(ZonedDateTime zdt) {
|
||||
return getLastDateZdt(zdt).format(dateFormatter);
|
||||
}
|
||||
|
||||
public static List<String> getCurAndLastCycleDateByZoneId(String zoneId) {
|
||||
ZonedDateTime zdt = DateTimeUtil.getDateTimeByZoneId(zoneId);
|
||||
String curCycle = getCycleDate(zdt);
|
||||
String lastCycle = getLastDate(zdt);
|
||||
return List.of(curCycle, lastCycle);
|
||||
}
|
||||
|
||||
public static String getCycleDateInterval(String cycleDate) {
|
||||
return getCycleDateInterval(cycleDate, DateTimeUtil.MONTH_WITHOUT_ZERO_DATE_PATTERN);
|
||||
}
|
||||
|
||||
public static String getCycleDateInterval(String cycleDate, String dateTimeFormatter) {
|
||||
Date cycleStartTime = DateTimeUtil.convertStrToDate(cycleDate, DateTimeUtil.DEFAULT_DATE_PATTERN);
|
||||
String cycleStartDate = DateTimeUtil.convertDate(cycleStartTime, dateTimeFormatter);
|
||||
String cycleEndDate = DateTimeUtil.convertDate(DateTimeUtil.getEndTimeOfMonth(cycleStartTime), dateTimeFormatter);
|
||||
return String.format("%s-%s", cycleStartDate, cycleEndDate);
|
||||
}
|
||||
|
||||
public static List<CycleDateVo> listCycleDateVo(Date limit, ZoneId zoneId, String dateTimeFormatter) {
|
||||
List<CycleDateVo> list = new ArrayList<>();
|
||||
|
||||
ZonedDateTime limitZdt = ZonedDateTime.ofInstant(limit.toInstant(), zoneId);
|
||||
ZonedDateTime limitStartTime = getCycleDateZdt(limitZdt);
|
||||
|
||||
Date date = new Date();
|
||||
ZonedDateTime zdt = ZonedDateTime.ofInstant(date.toInstant(), zoneId);
|
||||
ZonedDateTime startTime = getCycleTimeZdt(zdt);
|
||||
|
||||
while (zdt.isAfter(limitStartTime)) {
|
||||
ZonedDateTime endTime = getCycleEndTimeZdt(zdt);
|
||||
|
||||
CycleDateVo vo = new CycleDateVo();
|
||||
String startDate = startTime.format(dateFormatter);
|
||||
vo.setCycleDate(startDate);
|
||||
vo.setStartDate(startDate);
|
||||
vo.setEndDate(endTime.format(dateFormatter));
|
||||
vo.setIntervalFormatter(getCycleDateInterval(startDate, dateTimeFormatter));
|
||||
|
||||
list.add(vo);
|
||||
|
||||
//
|
||||
zdt = getLastDateZdt(zdt);
|
||||
startTime = getCycleTimeZdt(zdt);
|
||||
}
|
||||
|
||||
list.sort(Comparator.comparing(CycleDateVo::getCycleDate));
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
public static Date getAgencyCycleBeginDate(Date now) {
|
||||
return DateUtil.beginOfMonth(now);
|
||||
}
|
||||
|
||||
public static Date getAgencyCycleEndDate(Date now) {
|
||||
Date beginOfMonth = DateUtil.beginOfMonth(now);
|
||||
return DateTimeUtil.addMonth(beginOfMonth,1);
|
||||
}
|
||||
}
|
@@ -7,10 +7,7 @@ import com.accompany.business.service.purse.DiamondGiveHistoryService;
|
||||
import com.accompany.business.util.CycleTimeUtil;
|
||||
import com.accompany.common.constant.Constant;
|
||||
import com.accompany.common.result.BusiResult;
|
||||
import com.accompany.common.status.BusiStatus;
|
||||
import com.accompany.common.utils.DateTimeUtil;
|
||||
import com.accompany.core.enumeration.PartitionEnum;
|
||||
import com.accompany.core.exception.ServiceException;
|
||||
import com.accompany.core.model.PartitionInfo;
|
||||
import com.accompany.core.service.partition.PartitionInfoService;
|
||||
import com.accompany.payment.model.RechargeUser;
|
||||
@@ -62,7 +59,8 @@ public class RechargeUserController {
|
||||
|
||||
Long aLong = diamondGiveHistoryService.totalGiveGoldNOSub(uid, Date.from(cycleDateZdt.toInstant()), new Date());
|
||||
info.setTotalGiveGold(aLong == 0 ? 0 : (-1 * aLong));
|
||||
if (Constant.ClanMode.GUILD.equals(partitionInfo.getClanMode())) {
|
||||
if (Constant.ClanMode.GUILD.equals(partitionInfo.getClanMode())
|
||||
|| Constant.ClanMode.GUILD_POLICY2.equals(partitionInfo.getClanMode())) {
|
||||
Double aDouble = guildUsdBillRecordService.sumRechargeUsd(uid, cycleDateZdt.format(DateTimeUtil.dateFormatter), GuildUsdOperateTypeEnum.USD_TO_RECHARGE_USER.getType());
|
||||
info.setTotalGiveGoldUsd(aDouble == 0 ? 0 : (-1 * aDouble));
|
||||
}
|
||||
|
Reference in New Issue
Block a user