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.mybatismapper.guildpolicy2.GuildDiamondWagePolicy2Mapper;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
@@ -28,27 +27,40 @@ public class GuildDiamondWagePolicy2Service extends ServiceImpl<GuildDiamondWage
TreeMap<BigDecimal, GuildDiamondWagePolicy2> diamondWageMap = getDiamondWageMap(partitionId);
Map.Entry<BigDecimal, GuildDiamondWagePolicy2> curDiamondLevel = diamondWageMap.headMap(diamond, true).lastEntry();
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) {
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();
log.info("条件判断 - micDay(" + micDay + ") < value.getMicDay(" + value.getMicDay() + "): " + (micDay < value.getMicDay()));
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);
}
log.info("返回值 - value: " + JSONObject.toJSONString(value));
return value;
return result;
}
public TreeMap<BigDecimal, GuildDiamondWagePolicy2> getDiamondWageMap(Integer partitionId) {