Browse Source

fix: 个人承接-修改积分值可分配积分值的校验

lixuesong 1 năm trước cách đây
mục cha
commit
91e896fb38

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

@@ -1531,22 +1531,41 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 				.equals("-1")) {
 			WmScorePackage wmScorePackage1 = new WmScorePackage();
 			wmScorePackage1.setId(wmScorePackage.getRelationScoreId());
-			WmScorePackage wmScorePackage2 = wmScorePackageMapper.selectById(wmScorePackage1.getId());
 			Integer kfpjf = 0;
-			if (wmScorePackage2 != null) {
-				kfpjf += wmScorePackage2.getKfpjf() == null ? 0 : wmScorePackage2.getKfpjf();
-				WmScorePackage wmScorePackageOld = wmScorePackageMapper.selectById(wmScorePackage.getId());
-				kfpjf += wmScorePackageOld.getScore();
-				if (kfpjf > 0 && wmScorePackage.getScore() > kfpjf) {
-					return R.failed("预积分包值不能大于可分配积分值");
+
+			List<WmScorePackage> scorePackagekfpjf = this.getScorePackagekfpjf(null, null, new String[]{"0", "1", "2"},
+					new String[]{wmScorePackage.getRelationScoreId()});
+
+			if (CollUtil.isNotEmpty(scorePackagekfpjf)) {
+				kfpjf = scorePackagekfpjf.get(0).getKfpjf();
+				WmScorePackage oldScorePackage = wmScorePackageMapper.selectById(wmScorePackage.getId());
+
+				int changeScore = wmScorePackage.getScore() - oldScorePackage.getScore();
+
+				if (changeScore > 0 && changeScore > kfpjf) {
+					return R.failed("修改后增加的积分值不能大于可分配积分值");
 				}
 				//更新可分配积分包值
 				if (kfpjf >= wmScorePackage.getScore()) {
 					relationScorePackage.setId(wmScorePackage.getRelationScoreId());
 					relationScorePackage.setKfpjf(kfpjf - wmScorePackage.getScore());
 				}
-
 			}
+
+//			if (wmScorePackage2 != null) {
+//				kfpjf += wmScorePackage2.getKfpjf() == null ? 0 : wmScorePackage2.getKfpjf();
+//				WmScorePackage wmScorePackageOld = wmScorePackageMapper.selectById(wmScorePackage.getId());
+//				kfpjf += wmScorePackageOld.getScore();
+//				if (kfpjf > 0 && wmScorePackage.getScore() > kfpjf) {
+//					return R.failed("预积分包值不能大于可分配积分值");
+//				}
+//				//更新可分配积分包值
+//				if (kfpjf >= wmScorePackage.getScore()) {
+//					relationScorePackage.setId(wmScorePackage.getRelationScoreId());
+//					relationScorePackage.setKfpjf(kfpjf - wmScorePackage.getScore());
+//				}
+//
+//			}
 			//List<WmScorePackage> packageList=wmScorePackageMapper.getScorePackagekfpjf(wmScorePackage1);
 			//Integer kfpjf=0;
 //			if(null!=packageList&&packageList.size()!=0){