From 4e43292ef963be988afdb83e3888e91adeac4e17 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期六, 14 九月 2024 15:40:32 +0800
Subject: [PATCH] 优化代码

---
 service-user/src/main/java/com/java110/user/cmd/menuGroupCommunity/UpdateMenuGroupCommunityCmd.java |   92 ++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 81 insertions(+), 11 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..75ef627 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.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
 import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.community.CommunityDto;
+import com.java110.dto.menu.MenuGroupDto;
+import com.java110.dto.store.StoreDto;
+import com.java110.intf.community.ICommunityV1InnerServiceSMO;
 import com.java110.intf.user.IMenuGroupCommunityV1InnerServiceSMO;
-import com.java110.po.menuGroupCommunity.MenuGroupCommunityPo;
+import com.java110.intf.user.IMenuGroupV1InnerServiceSMO;
+import com.java110.po.menu.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;
 
 
 /**
@@ -44,18 +53,31 @@
  * // modify by 寮犱笁 at 2021-09-12 绗�10琛屽湪鏌愮鍦烘櫙涓嬪瓨鍦ㄦ煇绉峛ug 闇�瑕佷慨澶嶏紝娉ㄩ噴10鑷�20琛� 鍔犲叆 20琛岃嚦30琛�
  */
 @Java110Cmd(serviceCode = "menuGroupCommunity.updateMenuGroupCommunity")
-public class UpdateMenuGroupCommunityCmd extends AbstractServiceCmdListener {
+public class UpdateMenuGroupCommunityCmd extends Cmd {
 
-  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