From 3c4a0a1edc6d33e9237dd0c1d84f0723c66c8475 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期六, 18 九月 2021 14:19:30 +0800
Subject: [PATCH] 优化代码

---
 service-community/src/main/java/com/java110/community/cmd/community/UpdateCommunityCmd.java |   43 ++++++++++++++++++++++++++++++++++++-------
 1 files changed, 36 insertions(+), 7 deletions(-)

diff --git a/service-community/src/main/java/com/java110/community/cmd/community/UpdateCommunityCmd.java b/service-community/src/main/java/com/java110/community/cmd/community/UpdateCommunityCmd.java
index 9c2bdf0..efb485f 100644
--- a/service-community/src/main/java/com/java110/community/cmd/community/UpdateCommunityCmd.java
+++ b/service-community/src/main/java/com/java110/community/cmd/community/UpdateCommunityCmd.java
@@ -15,17 +15,18 @@
  */
 package com.java110.community.cmd.community;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.java110.community.bmo.community.ICommunityBMO;
 import com.java110.core.annotation.Java110Cmd;
 import com.java110.core.annotation.Java110Transactional;
 import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.event.cmd.AbstractServiceCmdListener;
 import com.java110.core.event.cmd.CmdEvent;
 import com.java110.intf.community.ICommunityV1InnerServiceSMO;
-import com.java110.po.community.CommunityPo;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
-import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -51,9 +52,20 @@
     @Autowired
     private ICommunityV1InnerServiceSMO communityV1InnerServiceSMOImpl;
 
+
+    @Autowired
+    private ICommunityBMO communityBMOImpl;
+
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
-        Assert.hasKeyAndValue(reqJson, "communityId", "communityId涓嶈兘涓虹┖");
+
+        Assert.hasKeyAndValue(reqJson, "communityId", "灏忓尯ID涓嶈兘涓虹┖");
+        Assert.hasKeyAndValue(reqJson, "name", "蹇呭~锛岃濉啓灏忓尯鍚嶇О");
+        Assert.hasKeyAndValue(reqJson, "address", "蹇呭~锛岃濉啓灏忓尯鍦板潃");
+        Assert.hasKeyAndValue(reqJson, "nearbyLandmarks", "蹇呭~锛岃濉啓灏忓尯闄勮繎鍦版爣");
+
+        Assert.judgeAttrValue(reqJson);
 
     }
 
@@ -61,11 +73,28 @@
     @Java110Transactional
     public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
 
-        CommunityPo communityPo = BeanConvertUtil.covertBean(reqJson, CommunityPo.class);
-        int flag = communityV1InnerServiceSMOImpl.updateCommunity(communityPo);
 
-        if (flag < 1) {
-            throw new CmdException("鏇存柊鏁版嵁澶辫触");
+        communityBMOImpl.updateCommunityOne(reqJson, cmdDataFlowContext);
+
+        if (!reqJson.containsKey("attrs")) {
+            return;
+        }
+
+        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("communityId", reqJson.getString("communityId"));
+            if (!attr.containsKey("attrId") || attr.getString("attrId").startsWith("-") || StringUtil.isEmpty(attr.getString("attrId"))) {
+                communityBMOImpl.addAttr(attr, cmdDataFlowContext);
+                continue;
+            }
+            communityBMOImpl.updateAttr(attr, cmdDataFlowContext);
         }
 
         cmdDataFlowContext.setResponseEntity(ResultVo.success());

--
Gitblit v1.8.0