Jelajahi Sumber

fix: 个人承接-修改可分配积分值问题2

lixuesong 1 tahun lalu
induk
melakukan
b10303d7a4

+ 4 - 3
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmScorePackageServiceImpl.java

@@ -1547,13 +1547,14 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 				kfpjf = scorePackagekfpjf.get(0).getKfpjf();
 				WmScorePackage oldScorePackage = wmScorePackageMapper.selectById(wmScorePackage.getId());
 
-				int changeScore = wmScorePackage.getScore() - oldScorePackage.getScore();
+				// 积分值相比修改前的变动(相对于积分余额,增加则为负-消耗,减少则为正-回收)
+				int changeScore = oldScorePackage.getScore() - wmScorePackage.getScore();
 
-				if (changeScore > 0 && changeScore > kfpjf) {
+				if (changeScore < 0 && Math.abs(changeScore) > kfpjf) {
 					return R.failed("修改后增加的积分值不能大于可分配积分值");
 				}
 				//更新可分配积分包值
-				if (kfpjf >= wmScorePackage.getScore()) {
+				if (changeScore > 0 || (changeScore < 0 && Math.abs(changeScore) <= kfpjf)) {
 					relationScorePackage.setId(wmScorePackage.getRelationScoreId());
 					relationScorePackage.setKfpjf(kfpjf - changeScore);
 				}