Sfoglia il codice sorgente

fix: 发包、修改积分包可透支

李学松 2 anni fa
parent
commit
13f6b8fe35

+ 8 - 4
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmScorePackageController.java

@@ -1762,8 +1762,10 @@ public class WmScorePackageController {
 				log.warn("未配置积分充值信息");
 				throw new RuntimeException("积分余额:0。积分不足");
 			}
-			if (wmScorePackage.getScore() > deptRecharge.getScore()) {
-				log.warn("已分配积分不足,发包积分={},剩余积分={}", wmScorePackage.getScore(), deptRecharge.getScore());
+			int limitScore = deptRecharge.getScore() + deptRecharge.getOverdrawScore();
+			if (wmScorePackage.getScore() > limitScore) {
+				log.warn("已分配积分不足,发包积分={},剩余积分={},透支额度={}",
+						wmScorePackage.getScore(), deptRecharge.getScore(), limitScore);
 				throw new RuntimeException(String.format("积分余额:%s。积分不足", deptRecharge.getScore()));
 			}
 
@@ -2665,8 +2667,10 @@ public class WmScorePackageController {
 			int changeScore = oldPackageScore - wmScorePackage.getScore();
 			int currentScore = deptRecharge.getScore() + changeScore;
 
-			if (changeScore > deptRecharge.getScore()) {
-				log.warn("已分配积分不足,发包积分={},剩余积分={}", wmScorePackage.getScore(), deptRecharge.getScore());
+			int limitScore = deptRecharge.getScore() + deptRecharge.getOverdrawScore();
+			if (changeScore < 0 && Math.abs(changeScore) > limitScore) {
+				log.warn("已分配积分不足,修改积分={},剩余积分={},透支额度={}",
+						changeScore, deptRecharge.getScore(), deptRecharge.getOverdrawScore());
 				throw new RuntimeException(String.format("积分余额:%s。积分不足", deptRecharge.getScore()));
 			}
 

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

@@ -656,8 +656,10 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 				log.warn("未配置积分充值信息");
 				throw new RuntimeException("积分余额:0。积分不足");
 			}
-			if (wmScorePackage.getScore() > deptRecharge.getScore()) {
-				log.warn("已分配积分不足,发包积分={},剩余积分={}", wmScorePackage.getScore(), deptRecharge.getScore());
+			int limitScore = deptRecharge.getScore() + deptRecharge.getOverdrawScore();
+			if (wmScorePackage.getScore() > limitScore) {
+				log.warn("已分配积分不足,发包积分={},剩余积分={},透支额度={}",
+						wmScorePackage.getScore(), deptRecharge.getScore(), limitScore);
 				throw new RuntimeException(String.format("积分余额:%s。积分不足", deptRecharge.getScore()));
 			}
 
@@ -1628,8 +1630,10 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 			int changeScore = oldPackageScore - wmScorePackage.getScore();
 			int currentScore = deptRecharge.getScore() + changeScore;
 
-			if (changeScore > deptRecharge.getScore()) {
-				log.warn("已分配积分不足,发包积分={},剩余积分={}", wmScorePackage.getScore(), deptRecharge.getScore());
+			int limitScore = deptRecharge.getScore() + deptRecharge.getOverdrawScore();
+			if (changeScore < 0 && Math.abs(changeScore) > limitScore) {
+				log.warn("已分配积分不足,修改积分={},剩余积分={},透支额度={}",
+						changeScore, deptRecharge.getScore(), deptRecharge.getOverdrawScore());
 				throw new RuntimeException(String.format("积分余额:%s。积分不足", deptRecharge.getScore()));
 			}