From 89d5c46407d8375f28f0fc125ff64e4d783b7d16 Mon Sep 17 00:00:00 2001 From: hokli <2629910752@qq.com> Date: Wed, 1 Oct 2025 13:46:23 +0800 Subject: [PATCH] turGuildsalary-bug --- .../GuildDiamondWagePolicy2Service.java | 38 ++++++++++++------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/guildpolicy2/GuildDiamondWagePolicy2Service.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/guildpolicy2/GuildDiamondWagePolicy2Service.java index f5180a3e9..e4b099dfc 100644 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/guildpolicy2/GuildDiamondWagePolicy2Service.java +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/guildpolicy2/GuildDiamondWagePolicy2Service.java @@ -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 diamondWageMap = getDiamondWageMap(partitionId); Map.Entry 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 diamondWageMap, BigDecimal diamond, Integer micDay) { Map.Entry 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 getDiamondWageMap(Integer partitionId) {