Bladeren bron

新增表单增加菜单按钮

Administrator 4 jaren geleden
bovenliggende
commit
948786d3a7

+ 3 - 0
boman-common/boman-common-core/src/main/java/com/boman/common/core/constant/Constants.java

@@ -106,4 +106,7 @@ public class Constants
      * 资源映射路径 前缀
      */
     public static final String RESOURCE_PREFIX = "/profile";
+
+    public static final String[] MENU_NAME = new String[]{"新增", "查看","编辑","删除","提交","反提交","导入","导出"};
+
 }

+ 0 - 1
boman-modules/boman-gen/pom.xml

@@ -71,7 +71,6 @@
             <groupId>com.boman</groupId>
             <artifactId>boman-common-swagger</artifactId>
         </dependency>
-
     </dependencies>
 
     <build>

+ 0 - 11
boman-modules/boman-gen/src/main/java/com/boman/gen/controller/GenController.java

@@ -197,15 +197,4 @@ public class GenController extends BaseController {
         response.setContentType("application/octet-stream; charset=UTF-8");
         IOUtils.write(data, response.getOutputStream());
     }
-
-
-    /**
-    * @Description 数据表 新增功能
-    * @Author: tjf
-    * @Date: 2021/3/24
-    */
-    @PostMapping
-    public AjaxResult add(@Validated @RequestBody GenTable genTable) {
-        return genTableService.insertGenTable(genTable);
-    }
 }

+ 0 - 51
boman-modules/boman-gen/src/main/java/com/boman/gen/service/GenTableServiceImpl.java

@@ -11,8 +11,6 @@ import java.util.stream.Collectors;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipOutputStream;
 
-import com.boman.common.core.utils.DateUtils;
-import com.boman.common.core.web.domain.AjaxResult;
 import org.apache.commons.io.IOUtils;
 import org.apache.velocity.Template;
 import org.apache.velocity.VelocityContext;
@@ -53,7 +51,6 @@ public class GenTableServiceImpl implements IGenTableService {
 
     @Autowired
     private GenTableColumnMapper genTableColumnMapper;
-
     /**
      * 查询业务信息
      *
@@ -365,54 +362,6 @@ public class GenTableServiceImpl implements IGenTableService {
         }
     }
 
-    /**
-     * 代码生成业务表新增
-     *
-     * @param genTable
-     * @return
-     */
-    @Override
-    public AjaxResult insertGenTable(GenTable genTable) {
-        //判断是否是菜单
-        //新增表成功的时候,新增字段公共字段
-
-        int i = genTableMapper.insertGenTable(genTable);
-        if (i > 0) {
-            insertCommonColumn(genTable.getTableId());
-            return AjaxResult.success();
-        }
-        return AjaxResult.error();
-    }
-    /**
-     * 新建表时新增对应公共字段
-     *
-     * @param tableId
-     */
-    public void insertCommonColumn(Long tableId) {
-
-        String[]  columnName = new String[]{"create_by","create_time","update_by","update_time","is_del"};
-        String[]  columnComment = new String[]{"创建者","创建时间","更新者","更新时间","是否删除"};
-        String[]  columnType = new String[]{"varchar(64)","datetime","varchar(64)","datetime","char(1)"};
-        String[]  htmlType = new String[]{"input","datetime","input","datetime","input"};
-
-        for (int i = 0; i < columnName.length; i++) {
-            GenTableColumn genTableColumn = new GenTableColumn();
-            genTableColumn.setTableId(tableId);
-            genTableColumn.setColumnName(columnName[i]);
-            genTableColumn.setColumnComment(columnComment[i]);
-            genTableColumn.setColumnType(columnType[i]);
-            genTableColumn.setIsPk("0");
-            genTableColumn.setIsIncrement("0");
-            genTableColumn.setIsInsert("1");
-            genTableColumn.setQueryType("EQ");
-            genTableColumn.setHtmlType(htmlType[i]);
-            genTableColumn.setSort(i+1);
-            genTableColumn.setCreateBy("admin");
-            genTableColumn.setCreateTime(DateUtils.getNowDate());
-            genTableColumnMapper.insertGenTableColumn(genTableColumn);
-        }
-    }
-
     /**
      * 设置主键列信息
      *

+ 0 - 7
boman-modules/boman-gen/src/main/java/com/boman/gen/service/IGenTableService.java

@@ -120,11 +120,4 @@ public interface IGenTableService
      * @param genTable 业务信息
      */
     public void validateEdit(GenTable genTable);
-
-    /**
-     * 代码生成业务新增
-     * @param genTable
-     * @return
-     */
-    public AjaxResult insertGenTable(GenTable genTable);
 }

+ 10 - 0
boman-modules/boman-system/src/main/java/com/boman/system/controller/SysMenuController.java

@@ -159,4 +159,14 @@ public class SysMenuController extends BaseController
         List<SysMenu> menus = menuService.selectMenuTreeById(userId);
         return AjaxResult.success(menuService.buildMenus(menus));
     }
+
+    /**
+     * @Description 数据表 新增功能
+     * @Author: tjf
+     * @Date: 2021/3/24
+     */
+    @PostMapping
+    public AjaxResult add(@Validated @RequestBody GenTable genTable) {
+        return menuService.insertGenTable(genTable);
+    }
 }

+ 9 - 0
boman-modules/boman-system/src/main/java/com/boman/system/service/ISysMenuService.java

@@ -3,6 +3,8 @@ package com.boman.system.service;
 import java.util.List;
 import java.util.Set;
 
+import com.boman.common.core.web.domain.AjaxResult;
+import com.boman.gen.domain.GenTable;
 import com.boman.system.domain.SysMenu;
 import com.boman.system.domain.vo.RouterVo;
 import com.boman.system.domain.vo.TreeSelect;
@@ -134,4 +136,11 @@ public interface ISysMenuService
      * @return 结果
      */
     public String checkMenuNameUnique(SysMenu menu);
+
+    /**
+     * 代码生成业务新增
+     * @param genTable
+     * @return
+     */
+    public AjaxResult insertGenTable(GenTable genTable);
 }

+ 96 - 0
boman-modules/boman-system/src/main/java/com/boman/system/service/impl/SysMenuServiceImpl.java

@@ -8,6 +8,14 @@ import java.util.LinkedList;
 import java.util.List;
 import java.util.Set;
 import java.util.stream.Collectors;
+
+import com.boman.common.core.constant.Constants;
+import com.boman.common.core.utils.DateUtils;
+import com.boman.common.core.web.domain.AjaxResult;
+import com.boman.gen.domain.GenTable;
+import com.boman.gen.domain.GenTableColumn;
+import com.boman.gen.mapper.GenTableColumnMapper;
+import com.boman.gen.mapper.GenTableMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.boman.common.core.constant.UserConstants;
@@ -43,6 +51,12 @@ public class SysMenuServiceImpl implements ISysMenuService
     @Autowired
     private SysRoleMenuMapper roleMenuMapper;
 
+    @Autowired
+    private GenTableColumnMapper genTableColumnMapper;
+
+    @Autowired
+    private GenTableMapper genTableMapper;
+
     /**
      * 根据用户查询系统菜单列表
      * 
@@ -462,4 +476,86 @@ public class SysMenuServiceImpl implements ISysMenuService
     {
         return getChildList(list, t).size() > 0 ? true : false;
     }
+
+
+    /**
+     * 代码生成业务表新增
+     * 注意解决事务问题
+     *
+     * @param genTable
+     * @return
+     */
+    @Override
+    public AjaxResult insertGenTable(GenTable genTable) {
+        //判断是否是菜单
+        isMenu(genTable);
+        //新增表成功的时候,新增字段公共字段
+        int i = genTableMapper.insertGenTable(genTable);
+        if (i > 0) {
+            insertCommonColumn(genTable.getTableId());
+            return AjaxResult.success();
+        }
+        return AjaxResult.error();
+    }
+
+    /**
+     * 新建表时新增对应公共字段
+     *
+     * @param tableId
+     */
+    public void insertCommonColumn(Long tableId) {
+
+        String[] columnName = new String[]{"create_by", "create_time", "update_by", "update_time", "is_del"};
+        String[] columnComment = new String[]{"创建者", "创建时间", "更新者", "更新时间", "是否删除"};
+        String[] columnType = new String[]{"varchar(64)", "datetime", "varchar(64)", "datetime", "char(1)"};
+        String[] htmlType = new String[]{"input", "datetime", "input", "datetime", "input"};
+        for (int i = 0; i < columnName.length; i++) {
+            GenTableColumn genTableColumn = new GenTableColumn();
+            genTableColumn.setTableId(tableId);
+            genTableColumn.setColumnName(columnName[i]);
+            genTableColumn.setColumnComment(columnComment[i]);
+            genTableColumn.setColumnType(columnType[i]);
+            genTableColumn.setIsPk("0");
+            genTableColumn.setIsIncrement("0");
+            genTableColumn.setIsInsert("1");
+            genTableColumn.setQueryType("EQ");
+            genTableColumn.setHtmlType(htmlType[i]);
+            genTableColumn.setSort(i + 1);
+            genTableColumn.setCreateBy("admin");
+            genTableColumn.setCreateTime(DateUtils.getNowDate());
+            genTableColumnMapper.insertGenTableColumn(genTableColumn);
+        }
+    }
+
+    //判断是否是菜单
+    public void isMenu(GenTable genTable) {
+        String isMenu = genTable.getIsMenu();
+        if (StringUtils.isNotBlank(isMenu) && isMenu.equals(UserConstants.NOT_UNIQUE)) {
+            //先生成主菜单
+            SysMenu sysMenu = new SysMenu();
+            //表描述当菜单名称
+            sysMenu.setMenuName(genTable.getTableComment());
+            sysMenu.setParentId(0L);
+            sysMenu.setOrderNum("1");
+            //路由地址
+            sysMenu.setPath(genTable.getBusinessName());
+            sysMenu.setComponent(genTable.getModuleName() + "/" + genTable.getTableComment() + "/index");
+            sysMenu.setMenuType("C");
+            sysMenu.setIcon("system");
+            sysMenu.setCreateBy(SecurityUtils.getUsername());
+            menuMapper.insertMenu(sysMenu);
+            //是菜单,生成crud按钮
+            for (int i = 0; i < Constants.MENU_NAME.length; i++) {
+                String[] menuName = Constants.MENU_NAME;
+                SysMenu menu = new SysMenu();
+                menu.setParentId(sysMenu.getId());
+                menu.setMenuName(menuName[i]);
+                menu.setOrderNum(String.valueOf(i+1));
+                menu.setMenuType("F");
+                menu.setIcon("#");
+                sysMenu.setCreateBy(SecurityUtils.getUsername());
+                menuMapper.insertMenu(menu);
+            }
+        }
+    }
 }

+ 1 - 3
boman-modules/boman-system/src/main/resources/mapper/system/SysMenuMapper.xml

@@ -146,9 +146,8 @@
 		where id = #{id}
 	</update>
 
-	<insert id="insertMenu" parameterType="SysMenu">
+	<insert id="insertMenu" parameterType="SysMenu" useGeneratedKeys="true">
 		insert into sys_menu(
-		<if test="id != null and id != 0">id,</if>
 		<if test="parentId != null and parentId != 0">parent_id,</if>
 		<if test="menuName != null and menuName != ''">menu_name,</if>
 		<if test="orderNum != null and orderNum != ''">order_num,</if>
@@ -165,7 +164,6 @@
 		<if test="createBy != null and createBy != ''">create_by,</if>
 		create_time
 		)values(
-		<if test="id != null and id != 0">#{id},</if>
 		<if test="parentId != null and parentId != 0">#{parentId},</if>
 		<if test="menuName != null and menuName != ''">#{menuName},</if>
 		<if test="orderNum != null and orderNum != ''">#{orderNum},</if>