主播周奖励-在麦时长-领取记录

This commit is contained in:
2025-09-03 14:47:43 +08:00
parent 9defde13a2
commit 8f290a1610

View File

@@ -20,6 +20,7 @@ import com.accompany.core.enumeration.I18nAlertEnum;
import com.accompany.core.enumeration.PartitionEnum; import com.accompany.core.enumeration.PartitionEnum;
import com.accompany.core.exception.ServiceException; import com.accompany.core.exception.ServiceException;
import com.accompany.core.util.I18NMessageSourceUtil; import com.accompany.core.util.I18NMessageSourceUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.redisson.api.RMap; import org.redisson.api.RMap;
import org.redisson.api.RedissonClient; import org.redisson.api.RedissonClient;
@@ -155,7 +156,9 @@ public class GuildMemberWeekLevelRewardService extends ServiceImpl<GuildMemberWe
curLevel = levelReward.getLevelName(); curLevel = levelReward.getLevelName();
} else if (needFilter) { } else if (needFilter) {
break; break;
} else { }
if (remainUserProcess.compareTo(BigDecimal.ZERO) < 0){
remainUserProcess = BigDecimal.ZERO; remainUserProcess = BigDecimal.ZERO;
} }
@@ -184,17 +187,15 @@ public class GuildMemberWeekLevelRewardService extends ServiceImpl<GuildMemberWe
return vo; return vo;
} }
vo.setCurLevel(curLevel);
GuildMemberWeekLevelRewardItemVo curLevelReward = null; GuildMemberWeekLevelRewardItemVo curLevelReward = null;
if (StringUtils.hasText(curLevel)){ for (GuildMemberWeekLevelRewardItemVo voItem: vo.getItemList()){
vo.setCurLevel(curLevel); if (!voItem.getLevel().equals(curLevel)){
continue;
for (GuildMemberWeekLevelRewardItemVo voItem: vo.getItemList()){
if (!voItem.getLevel().equals(curLevel)){
continue;
}
curLevelReward = voItem;
} }
curLevelReward = voItem;
} }
if (null == curLevelReward){ if (null == curLevelReward){
@@ -261,15 +262,41 @@ public class GuildMemberWeekLevelRewardService extends ServiceImpl<GuildMemberWe
SpringContextHolder.getBean(GuildMemberWeekLevelRewardService.class).sendReward(uid, levelReward, isBonus); SpringContextHolder.getBean(GuildMemberWeekLevelRewardService.class).sendReward(uid, levelReward, isBonus);
GuildMemberWeekLevelRewardRecord record = new GuildMemberWeekLevelRewardRecord(); boolean isInsert = false;
record.setGuildMemberId(guildMemberId); GuildMemberWeekLevelRewardRecord record = recordMapper.selectOne(Wrappers.<GuildMemberWeekLevelRewardRecord>lambdaQuery()
record.setUid(uid); .eq(GuildMemberWeekLevelRewardRecord::getGuildMemberId, guildMemberId)
record.setMonday(monday); .eq(GuildMemberWeekLevelRewardRecord::getMonday, monday)
record.setLevel(levelReward.getLevel()); .eq(GuildMemberWeekLevelRewardRecord::getLevel, levelReward.getLevel()));
record.setProcessNum(levelReward.getProcessNum()); if (null == record){
record.setRewardNum(levelReward.getRewardNum()); record = new GuildMemberWeekLevelRewardRecord();
record.setCreateTime(new Date()); record.setGuildMemberId(guildMemberId);
recordMapper.insert(record); record.setUid(uid);
record.setMonday(monday);
record.setLevel(levelReward.getLevel());
record.setProcessNum(BigDecimal.ZERO);
record.setRewardNum(BigDecimal.ZERO);
record.setMicValidDay(0);
record.setBonusNum(BigDecimal.ZERO);
isInsert = true;
}
if (isBonus){
record.setMicValidDay(levelReward.getMicValidDay());
record.setBonusNum(levelReward.getBonusNum());
} else {
record.setProcessNum(levelReward.getProcessNum());
record.setRewardNum(levelReward.getRewardNum());
}
if (isInsert){
record.setCreateTime(new Date());
recordMapper.insert(record);
} else {
recordMapper.update(record, Wrappers.<GuildMemberWeekLevelRewardRecord>lambdaUpdate()
.eq(GuildMemberWeekLevelRewardRecord::getGuildMemberId, guildMemberId)
.eq(GuildMemberWeekLevelRewardRecord::getMonday, monday)
.eq(GuildMemberWeekLevelRewardRecord::getLevel, levelReward.getLevel()));
}
String tip = I18NMessageSourceUtil.getMessage(I18nAlertEnum.FAMILY_MEMBER_WEEK_LEVEL_REWARD, String tip = I18NMessageSourceUtil.getMessage(I18nAlertEnum.FAMILY_MEMBER_WEEK_LEVEL_REWARD,
new Object[]{levelReward.getLevel(), levelReward.getRewardNum()}, partitionId); new Object[]{levelReward.getLevel(), levelReward.getRewardNum()}, partitionId);