Ver código fonte

优化删除代码

java110 5 anos atrás
pai
commit
f1700e01dd

+ 23 - 0
service-api/src/main/java/com/java110/api/listener/fee/DeleteTempCarFeeConfigListener.java

@@ -1,13 +1,16 @@
 package com.java110.api.listener.fee;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.api.bmo.tempCarFeeConfig.ITempCarFeeConfigBMO;
+import com.java110.api.bmo.tempCarFeeConfigAttr.ITempCarFeeConfigAttrBMO;
 import com.java110.api.listener.AbstractServiceApiPlusListener;
 import com.java110.core.annotation.Java110Listener;
 import com.java110.core.context.DataFlowContext;
 import com.java110.core.event.service.api.ServiceDataFlowEvent;
 import com.java110.utils.constant.ServiceCodeTempCarFeeConfigConstant;
 import com.java110.utils.util.Assert;
+import com.java110.utils.util.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpMethod;
 
@@ -22,6 +25,9 @@ public class DeleteTempCarFeeConfigListener extends AbstractServiceApiPlusListen
     @Autowired
     private ITempCarFeeConfigBMO tempCarFeeConfigBMOImpl;
 
+    @Autowired
+    private ITempCarFeeConfigAttrBMO tempCarFeeConfigAttrBMOImpl;
+
     @Override
     protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
         //Assert.hasKeyAndValue(reqJson, "xxx", "xxx");
@@ -35,6 +41,23 @@ public class DeleteTempCarFeeConfigListener extends AbstractServiceApiPlusListen
     protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
 
         tempCarFeeConfigBMOImpl.deleteTempCarFeeConfig(reqJson, context);
+
+        JSONArray attrs = reqJson.getJSONArray("attrs");
+        if (attrs.size() < 1) {
+            return;
+        }
+
+
+        JSONObject attr = null;
+        for (int attrIndex = 0; attrIndex < attrs.size(); attrIndex++) {
+            attr = attrs.getJSONObject(attrIndex);
+            attr.put("ruleId", reqJson.getString("ruleId"));
+            attr.put("communityId", reqJson.getString("communityId"));
+            if (!attr.containsKey("attrId") || attr.getString("attrId").startsWith("-") || StringUtil.isEmpty(attr.getString("attrId"))) {
+                continue;
+            }
+            tempCarFeeConfigAttrBMOImpl.deleteTempCarFeeConfigAttr(attr, context);
+        }
     }
 
     @Override