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 57241594c..5bc350362 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxScoreRules.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxScoreRules.java @@ -1,5 +1,6 @@ package com.iformall.domain.po; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; @@ -13,6 +14,7 @@ import lombok.EqualsAndHashCode; import java.util.Date; import java.util.HashMap; +import java.util.Iterator; import java.util.List; import java.util.Map; @@ -157,6 +159,26 @@ public class WxScoreRules extends BaseTenantEntity { return null; } + + public static JSONArray removeRuleObj(JSONArray rule,EnumScoreType scoreType) { + if (rule == null) { + return null; + } + JSONArray ret = new JSONArray(); + for (Iterator crule = rule.iterator();crule.hasNext();) { + JSONObject jo = (JSONObject) crule.next(); + Integer id = jo.getInteger(WxScoreRules.ID); + if ( id!= null && id.equals(scoreType.getCode())){ + continue; + }else { + ret.add(jo); + } + } + if (ret.size() <= 0 ) { + return null; + } + return ret; + } public static JSONObject createBusinessDefaultJson(Integer businessId,String businessNme) { String json = "{\"businessId\":"+businessId+",\"title\":\""+businessNme+"\",\"limit\":"+DEFAULT_LIMIT+",\"step\":"+DEFAULT_STEP+",\"score\":"+DEFAULT_SCORE+" ,\"desc\":\"线上交易1元\"}" ; 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 f2c854339..912f8234f 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java @@ -169,14 +169,13 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { childsJsonArray.add(businessRuleMap.get(businessId)); } JSONArray originalJSONArray = JSONArray.parseArray(scoreRules); - if (null != businessObject) { - originalJSONArray.remove(businessObject); - } + //把之前的去掉 + JSONArray otherRuleObj = WxScoreRules.removeRuleObj(originalJSONArray, EnumScoreType.CONSUMPTION); JSONObject newJSONObject = new JSONObject(); newJSONObject.put("id",EnumScoreType.CONSUMPTION.getCode()); newJSONObject.put("childs",childsJsonArray); - originalJSONArray.add(newJSONObject); - return originalJSONArray.toJSONString(); + otherRuleObj.add(newJSONObject); + return otherRuleObj.toJSONString(); } return scoreRules; }