From c3e3d235a54619bb2a5bd5daba0b6062c8b7f780 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期一, 18 四月 2022 17:47:51 +0800
Subject: [PATCH] 优化房屋

---
 service-user/src/main/java/com/java110/user/cmd/menuGroupCommunity/UpdateMenuGroupCommunityCmd.java |   86 +++++++++++++++++++++++++++++++++++++++----
 1 files changed, 78 insertions(+), 8 deletions(-)

diff --git a/service-user/src/main/java/com/java110/user/cmd/menuGroupCommunity/UpdateMenuGroupCommunityCmd.java b/service-user/src/main/java/com/java110/user/cmd/menuGroupCommunity/UpdateMenuGroupCommunityCmd.java
index 94db7f7..5e83f42 100644
--- a/service-user/src/main/java/com/java110/user/cmd/menuGroupCommunity/UpdateMenuGroupCommunityCmd.java
+++ b/service-user/src/main/java/com/java110/user/cmd/menuGroupCommunity/UpdateMenuGroupCommunityCmd.java
@@ -15,22 +15,31 @@
  */
 package com.java110.user.cmd.menuGroupCommunity;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.annotation.Java110Cmd;
 import com.java110.core.annotation.Java110Transactional;
+import com.java110.core.context.Environment;
 import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.event.cmd.AbstractServiceCmdListener;
 import com.java110.core.event.cmd.CmdEvent;
 import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.community.CommunityDto;
+import com.java110.dto.menuGroup.MenuGroupDto;
+import com.java110.dto.store.StoreDto;
+import com.java110.intf.community.ICommunityV1InnerServiceSMO;
 import com.java110.intf.user.IMenuGroupCommunityV1InnerServiceSMO;
+import com.java110.intf.user.IMenuGroupV1InnerServiceSMO;
 import com.java110.po.menuGroupCommunity.MenuGroupCommunityPo;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
-import com.java110.utils.util.BeanConvertUtil;
 import com.java110.vo.ResultVo;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.ArrayList;
+import java.util.List;
 
 
 /**
@@ -46,16 +55,29 @@
 @Java110Cmd(serviceCode = "menuGroupCommunity.updateMenuGroupCommunity")
 public class UpdateMenuGroupCommunityCmd extends AbstractServiceCmdListener {
 
-  private static Logger logger = LoggerFactory.getLogger(UpdateMenuGroupCommunityCmd.class);
+    private static Logger logger = LoggerFactory.getLogger(UpdateMenuGroupCommunityCmd.class);
 
 
     @Autowired
     private IMenuGroupCommunityV1InnerServiceSMO menuGroupCommunityV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IMenuGroupV1InnerServiceSMO menuGroupV1InnerServiceSMOImpl;
+
+    @Autowired
+    private ICommunityV1InnerServiceSMO communityV1InnerServiceSMOImpl;
+    public static final String CODE_PREFIX_ID = "10";
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
-        Assert.hasKeyAndValue(reqJson, "gcId", "gcId涓嶈兘涓虹┖");
-Assert.hasKeyAndValue(reqJson, "communityId", "communityId涓嶈兘涓虹┖");
+        Environment.isDevEnv();
+        Assert.hasKeyAndValue(reqJson, "communityId", "communityId涓嶈兘涓虹┖");
+
+
+        // 鍒ゆ柇鏄惁鍖呭惈浜嗗皬鍖轰俊鎭�
+        if (!reqJson.containsKey("groupIds") || reqJson.getJSONArray("groupIds").size() < 1) {
+            throw new CmdException("鏈寘鍚皬鍖哄紑閫氬姛鑳�");
+        }
 
     }
 
@@ -63,11 +85,59 @@
     @Java110Transactional
     public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
 
-       MenuGroupCommunityPo menuGroupCommunityPo = BeanConvertUtil.covertBean(reqJson, MenuGroupCommunityPo.class);
-        int flag = menuGroupCommunityV1InnerServiceSMOImpl.updateMenuGroupCommunity(menuGroupCommunityPo);
 
+        //鏌ヨ灏忓尯鏄惁瀛樺湪
+        CommunityDto communityDto = new CommunityDto();
+        communityDto.setCommunityId(reqJson.getString("communityId"));
+        List<CommunityDto> communityDtos = communityV1InnerServiceSMOImpl.queryCommunitys(communityDto);
+
+        Assert.listOnlyOne(communityDtos, "灏忓尯涓嶅瓨鍦�");
+
+
+        MenuGroupCommunityPo menuGroupCommunityPo = new MenuGroupCommunityPo();
+        menuGroupCommunityPo.setCommunityId(reqJson.getString("communityId"));
+        int flag = menuGroupCommunityV1InnerServiceSMOImpl.deleteMenuGroupCommunity(menuGroupCommunityPo);
         if (flag < 1) {
-            throw new CmdException("鏇存柊鏁版嵁澶辫触");
+            //throw new CmdException("鍒犻櫎鏁版嵁澶辫触"); //鏈夊彲鑳� 宸茬粡涓婄嚎鐨勫鎴� 娌℃湁 杩欎釜鏁版嵁 鎵�浠ヤ笉闇�鍒ゆ柇
+        }
+
+        List<MenuGroupDto> menuGroupDtos = null;
+        MenuGroupDto menuGroupDto = null;
+        if (!reqJson.containsKey("groupIds") || reqJson.getJSONArray("groupIds").size() < 1) {
+            menuGroupDto = new MenuGroupDto();
+            menuGroupDto.setStoreType(StoreDto.STORE_TYPE_PROPERTY);
+            menuGroupDtos = menuGroupV1InnerServiceSMOImpl.queryMenuGroups(menuGroupDto);
+        } else {
+            menuGroupDto = new MenuGroupDto();
+            JSONArray groupIds = reqJson.getJSONArray("groupIds");
+            String groupId;
+            List<String> gIds = new ArrayList<>();
+            for (int groupIndex = 0; groupIndex < groupIds.size(); groupIndex++) {
+                groupId = groupIds.getString(groupIndex);
+                gIds.add(groupId);
+            }
+            menuGroupDto.setgIds(gIds.toArray(new String[gIds.size()]));
+            menuGroupDtos = menuGroupV1InnerServiceSMOImpl.queryMenuGroups(menuGroupDto);
+        }
+
+        if (menuGroupDtos == null || menuGroupDtos.size() < 1) {
+            throw new IllegalArgumentException("娌℃湁鍒嗛厤浠讳綍鍔熻兘");
+        }
+
+        List<MenuGroupCommunityPo> menuGroupCommunityPos = new ArrayList<>();
+        MenuGroupCommunityPo tmpMenuGroupCommunityPo = null;
+        for (MenuGroupDto menuGroupDto1 : menuGroupDtos) {
+            tmpMenuGroupCommunityPo = new MenuGroupCommunityPo();
+            tmpMenuGroupCommunityPo.setCommunityId(reqJson.getString("communityId"));
+            tmpMenuGroupCommunityPo.setCommunityName(communityDtos.get(0).getName());
+            tmpMenuGroupCommunityPo.setGcId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
+            tmpMenuGroupCommunityPo.setgId(menuGroupDto1.getgId());
+            tmpMenuGroupCommunityPo.setName(menuGroupDto1.getName());
+            menuGroupCommunityPos.add(tmpMenuGroupCommunityPo);
+        }
+        flag = menuGroupCommunityV1InnerServiceSMOImpl.saveMenuGroupCommunitys(menuGroupCommunityPos);
+        if (flag < 1) {
+            throw new CmdException("娉ㄥ唽澶辫触");
         }
 
         cmdDataFlowContext.setResponseEntity(ResultVo.success());

--
Gitblit v1.8.0