turGuildsalary-bug

This commit is contained in:
2025-10-01 13:46:23 +08:00
parent a152f3b03f
commit 89d5c46407

View File

@@ -2,7 +2,6 @@ package com.accompany.business.service.guildpolicy2;
import com.accompany.business.model.guildpolicy2.GuildDiamondWagePolicy2; import com.accompany.business.model.guildpolicy2.GuildDiamondWagePolicy2;
import com.accompany.business.mybatismapper.guildpolicy2.GuildDiamondWagePolicy2Mapper; import com.accompany.business.mybatismapper.guildpolicy2.GuildDiamondWagePolicy2Mapper;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@@ -28,27 +27,40 @@ public class GuildDiamondWagePolicy2Service extends ServiceImpl<GuildDiamondWage
TreeMap<BigDecimal, GuildDiamondWagePolicy2> diamondWageMap = getDiamondWageMap(partitionId); TreeMap<BigDecimal, GuildDiamondWagePolicy2> diamondWageMap = getDiamondWageMap(partitionId);
Map.Entry<BigDecimal, GuildDiamondWagePolicy2> curDiamondLevel = diamondWageMap.headMap(diamond, true).lastEntry(); Map.Entry<BigDecimal, GuildDiamondWagePolicy2> curDiamondLevel = diamondWageMap.headMap(diamond, true).lastEntry();
GuildDiamondWagePolicy2 value = curDiamondLevel.getValue(); GuildDiamondWagePolicy2 value = curDiamondLevel.getValue();
if (micDay < value.getMicDay()) { // 创建新对象,避免修改原始数据
value.setAnchorMicSalary(BigDecimal.ZERO); GuildDiamondWagePolicy2 result = new GuildDiamondWagePolicy2();
result.setMicDay(value.getMicDay());
result.setAnchorDiamondSalary(value.getAnchorDiamondSalary());
result.setLevel(value.getLevel());
result.setDiamondNum(value.getDiamondNum());
result.setPartitionId(value.getPartitionId());
result.setOwnerSalary(value.getOwnerSalary());
result.setAnchorMicSalary(value.getAnchorMicSalary());
if (micDay < result.getMicDay()) {
result.setAnchorMicSalary(BigDecimal.ZERO);
} }
return value; return result;
} }
public GuildDiamondWagePolicy2 calDiamondWageVo(TreeMap<BigDecimal, GuildDiamondWagePolicy2> diamondWageMap, BigDecimal diamond, Integer micDay) { public GuildDiamondWagePolicy2 calDiamondWageVo(TreeMap<BigDecimal, GuildDiamondWagePolicy2> diamondWageMap, BigDecimal diamond, Integer micDay) {
Map.Entry<BigDecimal, GuildDiamondWagePolicy2> curDiamondLevel = diamondWageMap.headMap(diamond, true).lastEntry(); Map.Entry<BigDecimal, GuildDiamondWagePolicy2> curDiamondLevel = diamondWageMap.headMap(diamond, true).lastEntry();
log.info("输入参数 - diamond: " + diamond + ", micDay: " + micDay);
log.info("找到的等级 - key: " + curDiamondLevel.getKey());
log.info("原始值 - micDay: " + curDiamondLevel.getValue().getMicDay() +
", AnchorMicSalary: " + curDiamondLevel.getValue().getAnchorMicSalary());
GuildDiamondWagePolicy2 value = curDiamondLevel.getValue(); GuildDiamondWagePolicy2 value = curDiamondLevel.getValue();
log.info("条件判断 - micDay(" + micDay + ") < value.getMicDay(" + value.getMicDay() + "): " + (micDay < value.getMicDay())); // 创建新对象,避免修改原始数据
if (micDay < value.getMicDay()) { GuildDiamondWagePolicy2 result = new GuildDiamondWagePolicy2();
value.setAnchorMicSalary(BigDecimal.ZERO); result.setMicDay(value.getMicDay());
result.setAnchorDiamondSalary(value.getAnchorDiamondSalary());
result.setLevel(value.getLevel());
result.setDiamondNum(value.getDiamondNum());
result.setPartitionId(value.getPartitionId());
result.setOwnerSalary(value.getOwnerSalary());
result.setAnchorMicSalary(value.getAnchorMicSalary());
if (micDay < result.getMicDay()) {
result.setAnchorMicSalary(BigDecimal.ZERO);
} }
log.info("返回值 - value: " + JSONObject.toJSONString(value)); return result;
return value;
} }
public TreeMap<BigDecimal, GuildDiamondWagePolicy2> getDiamondWageMap(Integer partitionId) { public TreeMap<BigDecimal, GuildDiamondWagePolicy2> getDiamondWageMap(Integer partitionId) {