From d6989ccfa687398eb48c2d92e4160275f06290f2 Mon Sep 17 00:00:00 2001 From: hanxueda Date: Thu, 18 Apr 2019 20:37:26 +0800 Subject: [PATCH] =?UTF-8?q?[=E7=A7=AF=E5=88=86][=E4=BF=AE=E6=94=B9]:?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E7=94=A8=E6=88=B7=E7=A7=AF=E5=88=86=E6=9C=80?= =?UTF-8?q?=E5=A4=A7=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/iformall/common/ErrorCode.java | 1 + .../iformall/service/impl/WxCreditHistoryServiceImpl.java | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java index c8c81bf25..004d52cd9 100644 --- a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java +++ b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java @@ -280,6 +280,7 @@ public enum ErrorCode{ CREDIT_ZERO(13100,"本次操作积分为零"), CREDIT_NOT_ENOUGH(13101, "积分不够扣减值"), USER_NOT_MEMBER(13102, "该用户不是小程序会员"), + CREDIT_TOO_MUCH(13103, "超出最大积分"), /** diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java index 5e8e8087d..2f31a9da5 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java @@ -163,7 +163,11 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { //计算出需要新增或减少的积分 int creditChangeNum = creditIncrement(record); if (creditChangeNum != 0) { - if (currentCreditAmount + creditChangeNum < 0) { + Long total = Long.valueOf(currentCreditAmount) + Long.valueOf(creditChangeNum); + if (total > Integer.MAX_VALUE) { + throw new MallinkException(ErrorCode.CREDIT_TOO_MUCH); + } + if (total < 0) { throw new MallinkException(ErrorCode.CREDIT_NOT_ENOUGH); } //如果为导入的会员 则直接覆盖总积分和操作积分明细