diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxScoreRulesController.java b/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxScoreRulesController.java index db6bc7be6..daf6f5370 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxScoreRulesController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxScoreRulesController.java @@ -68,6 +68,9 @@ public class WxScoreRulesController extends BaseController { }else{ return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL,"type"); } + if (!wxScoreRules.checkRules()) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"规则内容有项重复"); + } wxScoreRulesService.saveOrUpdate(wxScoreRules); return new ResultData(); } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxScoreRules.java b/mallinkService/src/main/java/com/iformall/domain/po/WxScoreRules.java index e5b9c84e4..81827b10b 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxScoreRules.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxScoreRules.java @@ -12,7 +12,9 @@ import lombok.EqualsAndHashCode; import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * 1. 每天登录首次给成长值 @@ -161,5 +163,30 @@ public class WxScoreRules extends BaseTenantEntity { String json = "{\"businessId\":"+businessId+",\"limit\":"+DEFAULT_LIMIT+",\"step\":"+DEFAULT_STEP+",\"score\":"+DEFAULT_SCORE+" ,\"desc\":\"线上交易1元\"}" ; return JSONObject.parseObject(json); } + + public boolean checkRules() { + if (rules == null) + return true; + + List list = JSONObject.parseArray(rules, JSONObject.class); + if (list == null) + return true; + if (list.size() == 0) + return true; + + Map rootIdCount = new HashMap(); + for (JSONObject jo:list) { + Integer id = jo.getInteger(WxScoreRules.ID); + if ( id!= null){ + Integer idcont = rootIdCount.get(id); + if (null != idcont && idcont > 0) { + return false; + }else { + rootIdCount.put(id, 1); + } + } + } + return true; + } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java index 8c6b508d8..5b2a224ff 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java @@ -208,6 +208,9 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { @Override public void saveOrUpdate(WxScoreRules record) { + //校验规则不能重复 + + Date date = new Date(); record.setUpdateDate(date); if (record.getId() == null) {