ソースを参照

优化菜单查询接口

java110 4 年 前
コミット
5ff4e08597

+ 2 - 8
java110-bean/src/main/java/com/java110/dto/menu/MenuDto.java

@@ -23,11 +23,11 @@ public class MenuDto extends PageDto implements Serializable {
     private String menuGroupName;
     private String storeTypeName;
 
-    public String getMId() {
+    public String getmId() {
         return mId;
     }
 
-    public void setMId(String mId) {
+    public void setmId(String mId) {
         this.mId = mId;
     }
 
@@ -71,13 +71,7 @@ public class MenuDto extends PageDto implements Serializable {
         this.description = description;
     }
 
-    public String getmId() {
-        return mId;
-    }
 
-    public void setmId(String mId) {
-        this.mId = mId;
-    }
 
     public String getStatusCd() {
         return statusCd;

+ 40 - 27
java110-bean/src/main/java/com/java110/po/menuUser/MenuUserPo.java

@@ -16,7 +16,7 @@
 package com.java110.po.menuUser;
 
 import java.io.Serializable;
-import java.util.Date;
+
 /**
  * 类表述: Po 数据模型实体对象 基本保持与数据库模型一直 用于 增加修改删除 等时的数据载体
  * add by 吴学文 at 2022-02-27 12:21:33 mail: 928255095@qq.com
@@ -28,62 +28,75 @@ import java.util.Date;
 public class MenuUserPo implements Serializable {
 
     private String muId;
-private String name;
-private String icon;
-private String mId;
-private String statusCd = "0";
-private String staffId;
-private String url;
-private String seq;
-public String getMuId() {
+    private String name;
+    private String icon;
+    private String mId;
+    private String statusCd = "0";
+    private String staffId;
+    private String url;
+    private String seq;
+
+    public String getMuId() {
         return muId;
     }
-public void setMuId(String muId) {
+
+    public void setMuId(String muId) {
         this.muId = muId;
     }
-public String getName() {
+
+    public String getName() {
         return name;
     }
-public void setName(String name) {
+
+    public void setName(String name) {
         this.name = name;
     }
-public String getIcon() {
+
+    public String getIcon() {
         return icon;
     }
-public void setIcon(String icon) {
+
+    public void setIcon(String icon) {
         this.icon = icon;
     }
-public String getMId() {
+
+    public String getmId() {
         return mId;
     }
-public void setMId(String mId) {
+
+    public void setmId(String mId) {
         this.mId = mId;
     }
-public String getStatusCd() {
+
+    public String getStatusCd() {
         return statusCd;
     }
-public void setStatusCd(String statusCd) {
+
+    public void setStatusCd(String statusCd) {
         this.statusCd = statusCd;
     }
-public String getStaffId() {
+
+    public String getStaffId() {
         return staffId;
     }
-public void setStaffId(String staffId) {
+
+    public void setStaffId(String staffId) {
         this.staffId = staffId;
     }
-public String getUrl() {
+
+    public String getUrl() {
         return url;
     }
-public void setUrl(String url) {
+
+    public void setUrl(String url) {
         this.url = url;
     }
-public String getSeq() {
+
+    public String getSeq() {
         return seq;
     }
-public void setSeq(String seq) {
+
+    public void setSeq(String seq) {
         this.seq = seq;
     }
-
-
-
 }

+ 5 - 1
java110-db/src/main/resources/mapper/user/MenuCatalogV1ServiceDaoImplMapper.xml

@@ -124,11 +124,15 @@
         mmg.`description` menuGroupDescription,mm.is_show isShow,mm.description
         FROM m_menu mm
         inner join m_menu_group mmg on mm.`g_id` = mmg.`g_id` AND mmg.`status_cd` = '0'
+        <if test="caId !=null and caId != ''">
         inner join m_menu_group_catalog mgc on mmg.g_id = mgc.g_id and mgc.status_cd = '0'
+        </if>
         WHERE
          mmg.group_type = #{groupType}
         and mmg.store_type= #{domain}
-        and mgc.ca_id = #{caId}
+        <if test="caId !=null and caId != ''">
+            and mgc.ca_id = #{caId}
+        </if>
         AND mm.`status_cd` = '0'
         AND mm.`m_id` IN (
         SELECT pp.`m_id` FROM p_privilege_user ppu,p_privilege pp

+ 10 - 10
java110-generator/src/main/java/com/java110/code/TableToJsonWeb.java

@@ -7,20 +7,20 @@ import com.java110.utils.util.StringUtil;
 public class TableToJsonWeb {
 
     //show create table c_orders  用这个语句获取
-    public static final String createTableSql = "CREATE TABLE `m_menu_group_catalog` (\n" +
-            "  `gc_id` varchar(30) NOT NULL COMMENT '目录名称',\n" +
-            "  `ca_id` varchar(30) NOT NULL COMMENT '目录ID',\n" +
-            "  `g_id` varchar(30) NOT NULL COMMENT '菜单组ID',\n" +
-            "  `store_type` varchar(12) DEFAULT NULL COMMENT '商户类型'\n" +
+    public static final String createTableSql = "CREATE TABLE `m_menu_user` (\n" +
+            "  `mu_id` varchar(30) NOT NULL COMMENT '编号',\n" +
+            "  `m_id` varchar(30) NOT NULL COMMENT '菜单',\n" +
+            "  `icon` varchar(128) NOT NULL COMMENT '图标',\n" +
+            "  `seq` int(11) NOT NULL COMMENT '列顺序'\n" +
             ")";
     public static void main(String[] args) {
-        String templateName = "目录组"; //业务名称
-        String templateCode = "menuGroupCatalog"; //表名大写
-        String templateKey = "gcId"; //表主键
+        String templateName = "常用菜单"; //业务名称
+        String templateCode = "menuUser"; //表名大写
+        String templateKey = "muId"; //表主键
         String templateKeyName = "编号";//主键说明
-        String searchCode = "gcId"; //分片字段
+        String searchCode = "muId"; //分片字段
         String searchName = "编号"; //分片字段说明
-        String directories = "dev"; //前端生成到那个目录下
+        String directories = "frame"; //前端生成到那个目录下
         // templateName 业务名称 业务编码名称生成后文件名 templateCode 主键 templateKey
         // 业务主键名称 templateKeyName=templateName+ID 主机驼峰 searchCode 主键名称 searchName
         // directories 放在前端那个目录下

+ 47 - 13
java110-generator/src/main/resources/web/template_1.json

@@ -1,37 +1,71 @@
 {
   "templateKeyName": "编号",
-  "templateName": "目录组",
+  "templateName": "常用菜单",
   "columns": [
     {
       "hasDefaultValue": false,
       "limitParam": "30",
-      "code": "gId",
-      "limitErrInfo": "菜单组ID不能超过30",
-      "cnCode": "菜单组ID",
+      "code": "mId",
+      "limitErrInfo": "菜单不能超过30",
+      "cnCode": "菜单",
+      "limit": "maxLength",
+      "show": true,
+      "inputType": "select",
+      "selectValue":"10001,10002",
+      "selectValueName":"小区文化,其他",
+      "required": true,
+      "desc": "必填,菜单"
+    },
+    {
+      "hasDefaultValue": false,
+      "limitParam": "128",
+      "code": "icon",
+      "limitErrInfo": "图标不能超过128",
+      "cnCode": "图标",
+      "limit": "maxLength",
+      "show": true,
+      "inputType": "select",
+      "selectValue":"10001,10002",
+      "selectValueName":"小区文化,其他",
+      "required": true,
+      "desc": "必填,图标"
+    },
+    {
+      "hasDefaultValue": false,
+      "limitParam": "11",
+      "code": "seq",
+      "limitErrInfo": "列顺序'不能超过11",
+      "cnCode": "列顺序'",
       "limit": "maxLength",
       "show": true,
       "inputType": "input",
       "required": true,
-      "desc": "必填,菜单组ID"
+      "desc": "必填,列顺序'"
     }
   ],
   "searchName": "编号",
-  "directories": "dev",
-  "searchCode": "gcId",
-  "templateCode": "menuGroupCatalog",
+  "directories": "frame",
+  "searchCode": "muId",
+  "templateCode": "menuUser",
   "conditions": [
     {
       "whereCondition": "equal",
-      "code": "caId",
-      "name": "目录ID",
+      "code": "muId",
+      "name": "编号",
+      "inputType": "input"
+    },
+    {
+      "whereCondition": "equal",
+      "code": "mId",
+      "name": "菜单",
       "inputType": "input"
     },
     {
       "whereCondition": "equal",
-      "code": "gId",
-      "name": "菜单组编号",
+      "code": "seq",
+      "name": "列顺序'",
       "inputType": "input"
     }
   ],
-  "templateKey": "gcId"
+  "templateKey": "muId"
 }

+ 2 - 1
service-user/src/main/java/com/java110/user/cmd/menu/ListCatalogMenusCmd.java

@@ -65,7 +65,7 @@ public class ListCatalogMenusCmd extends AbstractServiceCmdListener {
 
         Assert.hasKeyAndValue(reqJson, "userId", "未包含用户信息");
         Assert.hasKeyAndValue(reqJson, "storeId", "未包含商户信息");
-        Assert.hasKeyAndValue(reqJson, "caId", "未包含目录信息");
+        //Assert.hasKeyAndValue(reqJson, "caId", "未包含目录信息");
     }
 
     @Override
@@ -109,6 +109,7 @@ public class ListCatalogMenusCmd extends AbstractServiceCmdListener {
             //获取孩子菜单
             JSONArray childs = tempMenu.getJSONArray("childs");
             JSONObject childMenu = new JSONObject();
+            childMenu.put("mId", tMenu.getString("mId"));
             childMenu.put("name", tMenu.getString("menuName"));
             childMenu.put("href", tMenu.getString("url"));
             childMenu.put("seq", tMenu.getString("menuSeq"));

+ 21 - 1
service-user/src/main/java/com/java110/user/cmd/menuUser/SaveMenuUserCmd.java

@@ -22,6 +22,8 @@ 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.menu.MenuDto;
+import com.java110.intf.community.IMenuInnerServiceSMO;
 import com.java110.intf.user.IMenuUserV1InnerServiceSMO;
 import com.java110.po.menuUser.MenuUserPo;
 import com.java110.utils.exception.CmdException;
@@ -32,6 +34,8 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 
+import java.util.List;
+
 /**
  * 类表述:保存
  * 服务编码:menuUser.saveMenuUser
@@ -52,10 +56,13 @@ public class SaveMenuUserCmd extends AbstractServiceCmdListener {
     @Autowired
     private IMenuUserV1InnerServiceSMO menuUserV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IMenuInnerServiceSMO menuInnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
         Assert.hasKeyAndValue(reqJson, "mId", "请求报文中未包含mId");
-        Assert.hasKeyAndValue(reqJson, "staffId", "请求报文中未包含staffId");
+        Assert.hasKeyAndValue(reqJson, "userId", "请求报文中未包含userId");
         Assert.hasKeyAndValue(reqJson, "name", "请求报文中未包含name");
         Assert.hasKeyAndValue(reqJson, "icon", "请求报文中未包含icon");
         Assert.hasKeyAndValue(reqJson, "url", "请求报文中未包含url");
@@ -69,6 +76,19 @@ public class SaveMenuUserCmd extends AbstractServiceCmdListener {
 
         MenuUserPo menuUserPo = BeanConvertUtil.covertBean(reqJson, MenuUserPo.class);
         menuUserPo.setMuId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
+
+        //
+        MenuDto menuDto = new MenuDto();
+        menuDto.setmId(reqJson.getString("mId"));
+        List<MenuDto> menuDtos = menuInnerServiceSMOImpl.queryMenus(menuDto);
+
+        Assert.listOnlyOne(menuDtos, "菜单不存在");
+
+        menuUserPo.setmId(menuDtos.get(0).getmId());
+        menuUserPo.setUrl(menuDtos.get(0).getUrl());
+        menuUserPo.setName(menuDtos.get(0).getName());
+        menuUserPo.setStaffId(reqJson.getString("userId"));
+
         int flag = menuUserV1InnerServiceSMOImpl.saveMenuUser(menuUserPo);
 
         if (flag < 1) {