From 64ee9ea99e483fbdd4d10553970debf8951cbb2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=91=E5=B9=B4=E6=A2=A6=E4=B8=8E=E7=A0=96?= <2847127106@qq.com> Date: Wed, 21 Aug 2024 13:59:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=8E=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../muyu/gen/controller/GenController.java | 81 ++-- .../java/com/muyu/gen/domain/GenTable.java | 2 + .../muyu/gen/mapper/GenTableColumnMapper.java | 27 +- .../com/muyu/gen/mapper/GenTableMapper.java | 36 +- .../service/GenTableColumnServiceImpl.java | 55 +-- .../muyu/gen/service/GenTableServiceImpl.java | 237 ++++++---- .../gen/service/IGenTableColumnService.java | 17 +- .../muyu/gen/service/IGenTableService.java | 47 +- src/main/resources/bootstrap.yml | 11 - .../mapper/generator/GenTableColumnMapper.xml | 172 +++---- .../mapper/generator/GenTableMapper.xml | 438 +++++++----------- src/main/resources/vm/java/service.java.vm | 16 +- .../resources/vm/java/serviceImpl.java.vm | 2 +- src/main/resources/vm/js/api.js.vm | 44 -- src/main/resources/vm/sql/sql.vm | 22 - 15 files changed, 542 insertions(+), 665 deletions(-) diff --git a/src/main/java/com/muyu/gen/controller/GenController.java b/src/main/java/com/muyu/gen/controller/GenController.java index c2c0a13..d3dc03a 100644 --- a/src/main/java/com/muyu/gen/controller/GenController.java +++ b/src/main/java/com/muyu/gen/controller/GenController.java @@ -1,8 +1,8 @@ package com.muyu.gen.controller; +import com.muyu.common.core.domain.Result; import com.muyu.common.core.text.Convert; import com.muyu.common.core.web.controller.BaseController; -import com.muyu.common.core.domain.Result; import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.common.log.annotation.Log; import com.muyu.common.log.enums.BusinessType; @@ -11,12 +11,12 @@ import com.muyu.gen.domain.GenTable; import com.muyu.gen.domain.GenTableColumn; import com.muyu.gen.service.IGenTableColumnService; import com.muyu.gen.service.IGenTableService; +import jakarta.servlet.http.HttpServletResponse; import org.apache.commons.io.IOUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.HashMap; import java.util.List; @@ -25,11 +25,12 @@ import java.util.Map; /** * 代码生成 操作处理 * - * @author muyu + * @author ruoyi */ @RequestMapping("/gen") @RestController -public class GenController extends BaseController { +public class GenController extends BaseController +{ @Autowired private IGenTableService genTableService; @@ -41,19 +42,20 @@ public class GenController extends BaseController { */ @RequiresPermissions("tool:gen:list") @GetMapping("/list") - public Result> genList (GenTable genTable) { + public TableDataInfo genList(GenTable genTable) + { startPage(); List list = genTableService.selectGenTableList(genTable); - return getDataTable(list); + return getDataTable(list).getData(); } - /** * 修改代码生成业务 */ @RequiresPermissions("tool:gen:query") @GetMapping(value = "/{tableId}") - public Result getInfo (@PathVariable("tableId") Long tableId) { + public Result getInfo(@PathVariable Long tableId) + { GenTable table = genTableService.selectGenTableById(tableId); List tables = genTableService.selectGenTableAll(); List list = genTableColumnService.selectGenTableColumnListByTableId(tableId); @@ -69,24 +71,24 @@ public class GenController extends BaseController { */ @RequiresPermissions("tool:gen:list") @GetMapping("/db/list") - public Result> dataList (GenTable genTable) { + public TableDataInfo dataList(GenTable genTable) + { startPage(); List list = genTableService.selectDbTableList(genTable); - return getDataTable(list); + return getDataTable(list).getData(); } /** * 查询数据表字段列表 */ @GetMapping(value = "/column/{tableId}") - public Result> columnList (Long tableId) { + public TableDataInfo columnList(Long tableId) + { + TableDataInfo dataInfo = new TableDataInfo(); List list = genTableColumnService.selectGenTableColumnListByTableId(tableId); - return Result.success( - TableDataInfo.builder() - .total(list.size()) - .rows(list) - .build() - ); + dataInfo.setRows(list); + dataInfo.setTotal(list.size()); + return dataInfo; } /** @@ -95,10 +97,11 @@ public class GenController extends BaseController { @RequiresPermissions("tool:gen:import") @Log(title = "代码生成", businessType = BusinessType.IMPORT) @PostMapping("/importTable") - public Result importTableSave (String tables) { + public Result importTableSave(@RequestParam("tables") String tables, @RequestParam("dbName") String dbName) + { String[] tableNames = Convert.toStrArray(tables); // 查询表信息 - List tableList = genTableService.selectDbTableListByNames(tableNames); + List tableList = genTableService.selectDbTableListByNames(tableNames,dbName); genTableService.importGenTable(tableList); return success(); } @@ -109,7 +112,8 @@ public class GenController extends BaseController { @RequiresPermissions("tool:gen:edit") @Log(title = "代码生成", businessType = BusinessType.UPDATE) @PutMapping - public Result editSave (@Validated @RequestBody GenTable genTable) { + public Result editSave(@Validated @RequestBody GenTable genTable) + { genTableService.validateEdit(genTable); genTableService.updateGenTable(genTable); return success(); @@ -121,7 +125,8 @@ public class GenController extends BaseController { @RequiresPermissions("tool:gen:remove") @Log(title = "代码生成", businessType = BusinessType.DELETE) @DeleteMapping("/{tableIds}") - public Result remove (@PathVariable("tableIds") Long[] tableIds) { + public Result remove(@PathVariable Long[] tableIds) + { genTableService.deleteGenTableByIds(tableIds); return success(); } @@ -131,7 +136,8 @@ public class GenController extends BaseController { */ @RequiresPermissions("tool:gen:preview") @GetMapping("/preview/{tableId}") - public Result preview (@PathVariable("tableId") Long tableId) throws IOException { + public Result preview(@PathVariable("tableId") Long tableId) throws IOException + { Map dataMap = genTableService.previewCode(tableId); return success(dataMap); } @@ -142,7 +148,8 @@ public class GenController extends BaseController { @RequiresPermissions("tool:gen:code") @Log(title = "代码生成", businessType = BusinessType.GENCODE) @GetMapping("/download/{tableName}") - public void download (HttpServletResponse response, @PathVariable("tableName") String tableName) throws IOException { + public void download(HttpServletResponse response, @PathVariable("tableName") String tableName) throws IOException + { byte[] data = genTableService.downloadCode(tableName); genCode(response, data); } @@ -153,7 +160,8 @@ public class GenController extends BaseController { @RequiresPermissions("tool:gen:code") @Log(title = "代码生成", businessType = BusinessType.GENCODE) @GetMapping("/genCode/{tableName}") - public Result genCode (@PathVariable("tableName") String tableName) { + public Result genCode(@PathVariable("tableName") String tableName) + { genTableService.generatorCode(tableName); return success(); } @@ -163,9 +171,10 @@ public class GenController extends BaseController { */ @RequiresPermissions("tool:gen:edit") @Log(title = "代码生成", businessType = BusinessType.UPDATE) - @GetMapping("/synchDb/{tableName}") - public Result synchDb (@PathVariable("tableName") String tableName) { - genTableService.synchDb(tableName); + @GetMapping("/synchDb/{tableName}/{dbName}") + public Result synchDb(@PathVariable("tableName") String tableName,@PathVariable("dbName") String dbName) + { + genTableService.synchDb(tableName,dbName); return success(); } @@ -175,7 +184,8 @@ public class GenController extends BaseController { @RequiresPermissions("tool:gen:code") @Log(title = "代码生成", businessType = BusinessType.GENCODE) @GetMapping("/batchGenCode") - public void batchGenCode (HttpServletResponse response, String tables) throws IOException { + public void batchGenCode(HttpServletResponse response, String tables) throws IOException + { String[] tableNames = Convert.toStrArray(tables); byte[] data = genTableService.downloadCode(tableNames); genCode(response, data); @@ -184,11 +194,20 @@ public class GenController extends BaseController { /** * 生成zip文件 */ - private void genCode (HttpServletResponse response, byte[] data) throws IOException { + private void genCode(HttpServletResponse response, byte[] data) throws IOException + { response.reset(); - response.setHeader("Content-Disposition", "attachment; filename=\"muyu.zip\""); - response.addHeader("Content-Length", String.valueOf(data.length)); + response.setHeader("Content-Disposition", "attachment; filename=\"ruoyi.zip\""); + response.addHeader("Content-Length", "" + data.length); response.setContentType("application/octet-stream; charset=UTF-8"); IOUtils.write(data, response.getOutputStream()); } + + /** + * 查询所有数据库名称 + */ + @GetMapping("/selDbNameAll") + public Result> selDbNameAll(){ + return Result.success(genTableService.selDbNameAll()); + } } diff --git a/src/main/java/com/muyu/gen/domain/GenTable.java b/src/main/java/com/muyu/gen/domain/GenTable.java index edb6510..c906725 100644 --- a/src/main/java/com/muyu/gen/domain/GenTable.java +++ b/src/main/java/com/muyu/gen/domain/GenTable.java @@ -35,6 +35,8 @@ public class GenTable extends BaseEntity { */ private Long tableId; + private String dbName; + /** * 表名称 */ diff --git a/src/main/java/com/muyu/gen/mapper/GenTableColumnMapper.java b/src/main/java/com/muyu/gen/mapper/GenTableColumnMapper.java index 5825d59..aa93de4 100644 --- a/src/main/java/com/muyu/gen/mapper/GenTableColumnMapper.java +++ b/src/main/java/com/muyu/gen/mapper/GenTableColumnMapper.java @@ -1,67 +1,64 @@ package com.muyu.gen.mapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.muyu.gen.domain.GenTableColumn; +import org.apache.ibatis.annotations.Param; import java.util.List; + /** * 业务字段 数据层 * - * @author muyu + * @author ruoyi */ -public interface GenTableColumnMapper extends BaseMapper { +public interface GenTableColumnMapper +{ /** * 根据表名称查询列信息 * * @param tableName 表名称 - * + * @param dbName * @return 列信息 */ - List selectDbTableColumnsByName (String tableName); + public List selectDbTableColumnsByName(@Param("tableName") String tableName, @Param("dbName") String dbName); /** * 查询业务字段列表 * * @param tableId 业务字段编号 - * * @return 业务字段集合 */ - List selectGenTableColumnListByTableId (Long tableId); + public List selectGenTableColumnListByTableId(Long tableId); /** * 新增业务字段 * * @param genTableColumn 业务字段信息 - * * @return 结果 */ - int insertGenTableColumn (GenTableColumn genTableColumn); + public int insertGenTableColumn(GenTableColumn genTableColumn); /** * 修改业务字段 * * @param genTableColumn 业务字段信息 - * * @return 结果 */ - int updateGenTableColumn (GenTableColumn genTableColumn); + public int updateGenTableColumn(GenTableColumn genTableColumn); /** * 删除业务字段 * * @param genTableColumns 列数据 - * * @return 结果 */ - int deleteGenTableColumns (List genTableColumns); + public int deleteGenTableColumns(List genTableColumns); /** * 批量删除业务字段 * * @param ids 需要删除的数据ID - * * @return 结果 */ - int deleteGenTableColumnByIds (Long[] ids); + public int deleteGenTableColumnByIds(Long[] ids); } diff --git a/src/main/java/com/muyu/gen/mapper/GenTableMapper.java b/src/main/java/com/muyu/gen/mapper/GenTableMapper.java index 66858cb..8c65332 100644 --- a/src/main/java/com/muyu/gen/mapper/GenTableMapper.java +++ b/src/main/java/com/muyu/gen/mapper/GenTableMapper.java @@ -1,92 +1,88 @@ package com.muyu.gen.mapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.muyu.gen.domain.GenTable; +import org.apache.ibatis.annotations.Param; import java.util.List; /** * 业务 数据层 * - * @author muyu + * @author ruoyi */ -public interface GenTableMapper extends BaseMapper { +public interface GenTableMapper +{ /** * 查询业务列表 * * @param genTable 业务信息 - * * @return 业务集合 */ - List selectGenTableList (GenTable genTable); + public List selectGenTableList(GenTable genTable); /** * 查询据库列表 * * @param genTable 业务信息 - * * @return 数据库表集合 */ - List selectDbTableList (GenTable genTable); + public List selectDbTableList(GenTable genTable); /** * 查询据库列表 * * @param tableNames 表名称组 - * + * @param dbName * @return 数据库表集合 */ - List selectDbTableListByNames (String[] tableNames); + public List selectDbTableListByNames(@Param("tableNames") String[] tableNames, @Param("dbName") String dbName); /** * 查询所有表信息 * * @return 表信息集合 */ - List selectGenTableAll (); + public List selectGenTableAll(); /** * 查询表ID业务信息 * * @param id 业务ID - * * @return 业务信息 */ - GenTable selectGenTableById (Long id); + public GenTable selectGenTableById(Long id); /** * 查询表名称业务信息 * * @param tableName 表名称 - * * @return 业务信息 */ - GenTable selectGenTableByName (String tableName); + public GenTable selectGenTableByName(String tableName); /** * 新增业务 * * @param genTable 业务信息 - * * @return 结果 */ - int insertGenTable (GenTable genTable); + public int insertGenTable(GenTable genTable); /** * 修改业务 * * @param genTable 业务信息 - * * @return 结果 */ - int updateGenTable (GenTable genTable); + public int updateGenTable(GenTable genTable); /** * 批量删除业务 * * @param ids 需要删除的数据ID - * * @return 结果 */ - int deleteGenTableByIds (Long[] ids); + public int deleteGenTableByIds(Long[] ids); + + List selDbNameAll(); } diff --git a/src/main/java/com/muyu/gen/service/GenTableColumnServiceImpl.java b/src/main/java/com/muyu/gen/service/GenTableColumnServiceImpl.java index 895b1ed..db8d840 100644 --- a/src/main/java/com/muyu/gen/service/GenTableColumnServiceImpl.java +++ b/src/main/java/com/muyu/gen/service/GenTableColumnServiceImpl.java @@ -11,58 +11,59 @@ import java.util.List; /** * 业务字段 服务层实现 * - * @author muyu + * @author ruoyi */ @Service -public class GenTableColumnServiceImpl implements IGenTableColumnService { - @Autowired - private GenTableColumnMapper genTableColumnMapper; +public class GenTableColumnServiceImpl implements IGenTableColumnService +{ + @Autowired + private GenTableColumnMapper genTableColumnMapper; - /** + /** * 查询业务字段列表 * * @param tableId 业务字段编号 - * * @return 业务字段集合 */ - @Override - public List selectGenTableColumnListByTableId (Long tableId) { - return genTableColumnMapper.selectGenTableColumnListByTableId(tableId); - } + @Override + public List selectGenTableColumnListByTableId(Long tableId) + { + return genTableColumnMapper.selectGenTableColumnListByTableId(tableId); + } /** * 新增业务字段 * * @param genTableColumn 业务字段信息 - * * @return 结果 */ - @Override - public int insertGenTableColumn (GenTableColumn genTableColumn) { - return genTableColumnMapper.insertGenTableColumn(genTableColumn); - } + @Override + public int insertGenTableColumn(GenTableColumn genTableColumn) + { + return genTableColumnMapper.insertGenTableColumn(genTableColumn); + } - /** + /** * 修改业务字段 * * @param genTableColumn 业务字段信息 - * * @return 结果 */ - @Override - public int updateGenTableColumn (GenTableColumn genTableColumn) { - return genTableColumnMapper.updateGenTableColumn(genTableColumn); - } + @Override + public int updateGenTableColumn(GenTableColumn genTableColumn) + { + return genTableColumnMapper.updateGenTableColumn(genTableColumn); + } - /** + /** * 删除业务字段对象 * * @param ids 需要删除的数据ID - * * @return 结果 */ - @Override - public int deleteGenTableColumnByIds (String ids) { - return genTableColumnMapper.deleteGenTableColumnByIds(Convert.toLongArray(ids)); - } + @Override + public int deleteGenTableColumnByIds(String ids) + { + return genTableColumnMapper.deleteGenTableColumnByIds(Convert.toLongArray(ids)); + } } diff --git a/src/main/java/com/muyu/gen/service/GenTableServiceImpl.java b/src/main/java/com/muyu/gen/service/GenTableServiceImpl.java index 6273779..7f0a03a 100644 --- a/src/main/java/com/muyu/gen/service/GenTableServiceImpl.java +++ b/src/main/java/com/muyu/gen/service/GenTableServiceImpl.java @@ -41,10 +41,11 @@ import java.util.zip.ZipOutputStream; /** * 业务 服务层实现 * - * @author muyu + * @author ruoyi */ @Service -public class GenTableServiceImpl implements IGenTableService { +public class GenTableServiceImpl implements IGenTableService +{ private static final Logger log = LoggerFactory.getLogger(GenTableServiceImpl.class); @Autowired @@ -53,31 +54,15 @@ public class GenTableServiceImpl implements IGenTableService { @Autowired private GenTableColumnMapper genTableColumnMapper; - /** - * 获取代码生成地址 - * - * @param table 业务表信息 - * @param template 模板文件路径 - * - * @return 生成地址 - */ - public static String getGenPath (GenTable table, String template) { - String genPath = table.getGenPath(); - if (StringUtils.equals(genPath, "/")) { - return System.getProperty("user.dir") + File.separator + "src" + File.separator + VelocityUtils.getFileName(template, table); - } - return genPath + File.separator + VelocityUtils.getFileName(template, table); - } - /** * 查询业务信息 * * @param id 业务ID - * * @return 业务信息 */ @Override - public GenTable selectGenTableById (Long id) { + public GenTable selectGenTableById(Long id) + { GenTable genTable = genTableMapper.selectGenTableById(id); setTableFromOptions(genTable); return genTable; @@ -87,11 +72,11 @@ public class GenTableServiceImpl implements IGenTableService { * 查询业务列表 * * @param genTable 业务信息 - * * @return 业务集合 */ @Override - public List selectGenTableList (GenTable genTable) { + public List selectGenTableList(GenTable genTable) + { return genTableMapper.selectGenTableList(genTable); } @@ -99,11 +84,11 @@ public class GenTableServiceImpl implements IGenTableService { * 查询据库列表 * * @param genTable 业务信息 - * * @return 数据库表集合 */ @Override - public List selectDbTableList (GenTable genTable) { + public List selectDbTableList(GenTable genTable) + { return genTableMapper.selectDbTableList(genTable); } @@ -111,12 +96,13 @@ public class GenTableServiceImpl implements IGenTableService { * 查询据库列表 * * @param tableNames 表名称组 - * + * @param dbName * @return 数据库表集合 */ @Override - public List selectDbTableListByNames (String[] tableNames) { - return genTableMapper.selectDbTableListByNames(tableNames); + public List selectDbTableListByNames(String[] tableNames, String dbName) + { + return genTableMapper.selectDbTableListByNames(tableNames,dbName); } /** @@ -125,7 +111,8 @@ public class GenTableServiceImpl implements IGenTableService { * @return 表信息集合 */ @Override - public List selectGenTableAll () { + public List selectGenTableAll() + { return genTableMapper.selectGenTableAll(); } @@ -133,17 +120,19 @@ public class GenTableServiceImpl implements IGenTableService { * 修改业务 * * @param genTable 业务信息 - * * @return 结果 */ @Override @Transactional(rollbackFor = Exception.class) - public void updateGenTable (GenTable genTable) { + public void updateGenTable(GenTable genTable) + { String options = JSON.toJSONString(genTable.getParams()); genTable.setOptions(options); int row = genTableMapper.updateGenTable(genTable); - if (row > 0) { - for (GenTableColumn cenTableColumn : genTable.getColumns()) { + if (row > 0) + { + for (GenTableColumn cenTableColumn : genTable.getColumns()) + { genTableColumnMapper.updateGenTableColumn(cenTableColumn); } } @@ -153,12 +142,12 @@ public class GenTableServiceImpl implements IGenTableService { * 删除业务对象 * * @param tableIds 需要删除的数据ID - * * @return 结果 */ @Override @Transactional(rollbackFor = Exception.class) - public void deleteGenTableByIds (Long[] tableIds) { + public void deleteGenTableByIds(Long[] tableIds) + { genTableMapper.deleteGenTableByIds(tableIds); genTableColumnMapper.deleteGenTableColumnByIds(tableIds); } @@ -170,23 +159,31 @@ public class GenTableServiceImpl implements IGenTableService { */ @Override @Transactional(rollbackFor = Exception.class) - public void importGenTable (List tableList) { + public void importGenTable(List tableList) + { String operName = SecurityUtils.getUsername(); - try { - for (GenTable table : tableList) { + try + { + for (GenTable table : tableList) + { + String dbName = table.getDbName(); String tableName = table.getTableName(); GenUtils.initTable(table, operName); int row = genTableMapper.insertGenTable(table); - if (row > 0) { + if (row > 0) + { // 保存列信息 - List genTableColumns = genTableColumnMapper.selectDbTableColumnsByName(tableName); - for (GenTableColumn column : genTableColumns) { + List genTableColumns = genTableColumnMapper.selectDbTableColumnsByName(tableName, dbName); + for (GenTableColumn column : genTableColumns) + { GenUtils.initColumnField(column, table); genTableColumnMapper.insertGenTableColumn(column); } } } - } catch (Exception e) { + } + catch (Exception e) + { throw new ServiceException("导入失败:" + e.getMessage()); } } @@ -195,11 +192,11 @@ public class GenTableServiceImpl implements IGenTableService { * 预览代码 * * @param tableId 表编号 - * * @return 预览数据列表 */ @Override - public Map previewCode (Long tableId) { + public Map previewCode(Long tableId) + { Map dataMap = new LinkedHashMap<>(); // 查询表信息 GenTable table = genTableMapper.selectGenTableById(tableId); @@ -213,7 +210,8 @@ public class GenTableServiceImpl implements IGenTableService { // 获取模板列表 List templates = VelocityUtils.getTemplateList(table.getTplCategory()); - for (String template : templates) { + for (String template : templates) + { // 渲染模板 StringWriter sw = new StringWriter(); Template tpl = Velocity.getTemplate(template, Constants.UTF8); @@ -227,11 +225,11 @@ public class GenTableServiceImpl implements IGenTableService { * 生成代码(下载方式) * * @param tableName 表名称 - * * @return 数据 */ @Override - public byte[] downloadCode (String tableName) { + public byte[] downloadCode(String tableName) + { ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); ZipOutputStream zip = new ZipOutputStream(outputStream); generatorCode(tableName, zip); @@ -245,7 +243,8 @@ public class GenTableServiceImpl implements IGenTableService { * @param tableName 表名称 */ @Override - public void generatorCode (String tableName) { + public void generatorCode(String tableName) + { // 查询表信息 GenTable table = genTableMapper.selectGenTableByName(tableName); // 设置主子表信息 @@ -259,16 +258,21 @@ public class GenTableServiceImpl implements IGenTableService { // 获取模板列表 List templates = VelocityUtils.getTemplateList(table.getTplCategory()); - for (String template : templates) { - if (!StringUtils.containsAny(template, "sql.vm", "api.js.vm", "index.vue.vm", "index-tree.vue.vm")) { + for (String template : templates) + { + if (!StringUtils.containsAny(template, "sql.vm", "api.js.vm", "index.vue.vm", "index-tree.vue.vm")) + { // 渲染模板 StringWriter sw = new StringWriter(); Template tpl = Velocity.getTemplate(template, Constants.UTF8); tpl.merge(context, sw); - try { + try + { String path = getGenPath(table, template); FileUtils.writeStringToFile(new File(path), sw.toString(), CharsetKit.UTF_8); - } catch (IOException e) { + } + catch (IOException e) + { throw new ServiceException("渲染模板失败,表名:" + table.getTableName()); } } @@ -279,45 +283,54 @@ public class GenTableServiceImpl implements IGenTableService { * 同步数据库 * * @param tableName 表名称 + * @param dbName */ @Override @Transactional(rollbackFor = Exception.class) - public void synchDb (String tableName) { + public void synchDb(String tableName, String dbName) + { GenTable table = genTableMapper.selectGenTableByName(tableName); List tableColumns = table.getColumns(); Map tableColumnMap = tableColumns.stream().collect(Collectors.toMap(GenTableColumn::getColumnName, Function.identity())); - List dbTableColumns = genTableColumnMapper.selectDbTableColumnsByName(tableName); - if (StringUtils.isEmpty(dbTableColumns)) { + List dbTableColumns = genTableColumnMapper.selectDbTableColumnsByName(tableName, dbName); + if (StringUtils.isEmpty(dbTableColumns)) + { throw new ServiceException("同步数据失败,原表结构不存在"); } List dbTableColumnNames = dbTableColumns.stream().map(GenTableColumn::getColumnName).collect(Collectors.toList()); dbTableColumns.forEach(column -> { GenUtils.initColumnField(column, table); - if (tableColumnMap.containsKey(column.getColumnName())) { + if (tableColumnMap.containsKey(column.getColumnName())) + { GenTableColumn prevColumn = tableColumnMap.get(column.getColumnName()); column.setColumnId(prevColumn.getColumnId()); - if (column.isList()) { + if (column.isList()) + { // 如果是列表,继续保留查询方式/字典类型选项 column.setDictType(prevColumn.getDictType()); column.setQueryType(prevColumn.getQueryType()); } if (StringUtils.isNotEmpty(prevColumn.getIsRequired()) && !column.isPk() && (column.isInsert() || column.isEdit()) - && ((column.isUsableColumn()) || (!column.isSuperColumn()))) { + && ((column.isUsableColumn()) || (!column.isSuperColumn()))) + { // 如果是(新增/修改&非主键/非忽略及父属性),继续保留必填/显示类型选项 column.setIsRequired(prevColumn.getIsRequired()); column.setHtmlType(prevColumn.getHtmlType()); } genTableColumnMapper.updateGenTableColumn(column); - } else { + } + else + { genTableColumnMapper.insertGenTableColumn(column); } }); List delColumns = tableColumns.stream().filter(column -> !dbTableColumnNames.contains(column.getColumnName())).collect(Collectors.toList()); - if (StringUtils.isNotEmpty(delColumns)) { + if (StringUtils.isNotEmpty(delColumns)) + { genTableColumnMapper.deleteGenTableColumns(delColumns); } } @@ -326,14 +339,15 @@ public class GenTableServiceImpl implements IGenTableService { * 批量生成代码(下载方式) * * @param tableNames 表数组 - * * @return 数据 */ @Override - public byte[] downloadCode (String[] tableNames) { + public byte[] downloadCode(String[] tableNames) + { ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); ZipOutputStream zip = new ZipOutputStream(outputStream); - for (String tableName : tableNames) { + for (String tableName : tableNames) + { generatorCode(tableName, zip); } IOUtils.closeQuietly(zip); @@ -343,7 +357,8 @@ public class GenTableServiceImpl implements IGenTableService { /** * 查询表信息并生成代码 */ - private void generatorCode (String tableName, ZipOutputStream zip) { + private void generatorCode(String tableName, ZipOutputStream zip) + { // 查询表信息 GenTable table = genTableMapper.selectGenTableByName(tableName); // 设置主子表信息 @@ -357,19 +372,23 @@ public class GenTableServiceImpl implements IGenTableService { // 获取模板列表 List templates = VelocityUtils.getTemplateList(table.getTplCategory()); - for (String template : templates) { + for (String template : templates) + { // 渲染模板 StringWriter sw = new StringWriter(); Template tpl = Velocity.getTemplate(template, Constants.UTF8); tpl.merge(context, sw); - try { + try + { // 添加到zip zip.putNextEntry(new ZipEntry(VelocityUtils.getFileName(template, table))); IOUtils.write(sw.toString(), zip, Constants.UTF8); IOUtils.closeQuietly(sw); zip.flush(); zip.closeEntry(); - } catch (IOException e) { + } + catch (IOException e) + { log.error("渲染模板失败,表名:" + table.getTableName(), e); } } @@ -381,49 +400,74 @@ public class GenTableServiceImpl implements IGenTableService { * @param genTable 业务信息 */ @Override - public void validateEdit (GenTable genTable) { - if (GenConstants.TPL_TREE.equals(genTable.getTplCategory())) { + public void validateEdit(GenTable genTable) + { + if (GenConstants.TPL_TREE.equals(genTable.getTplCategory())) + { String options = JSON.toJSONString(genTable.getParams()); JSONObject paramsObj = JSON.parseObject(options); - if (StringUtils.isEmpty(paramsObj.getString(GenConstants.TREE_CODE))) { + if (StringUtils.isEmpty(paramsObj.getString(GenConstants.TREE_CODE))) + { throw new ServiceException("树编码字段不能为空"); - } else if (StringUtils.isEmpty(paramsObj.getString(GenConstants.TREE_PARENT_CODE))) { + } + else if (StringUtils.isEmpty(paramsObj.getString(GenConstants.TREE_PARENT_CODE))) + { throw new ServiceException("树父编码字段不能为空"); - } else if (StringUtils.isEmpty(paramsObj.getString(GenConstants.TREE_NAME))) { + } + else if (StringUtils.isEmpty(paramsObj.getString(GenConstants.TREE_NAME))) + { throw new ServiceException("树名称字段不能为空"); - } else if (GenConstants.TPL_SUB.equals(genTable.getTplCategory())) { - if (StringUtils.isEmpty(genTable.getSubTableName())) { + } + else if (GenConstants.TPL_SUB.equals(genTable.getTplCategory())) + { + if (StringUtils.isEmpty(genTable.getSubTableName())) + { throw new ServiceException("关联子表的表名不能为空"); - } else if (StringUtils.isEmpty(genTable.getSubTableFkName())) { + } + else if (StringUtils.isEmpty(genTable.getSubTableFkName())) + { throw new ServiceException("子表关联的外键名不能为空"); } } } } + @Override + public List selDbNameAll() { + return genTableMapper.selDbNameAll(); + } + /** * 设置主键列信息 * * @param table 业务表信息 */ - public void setPkColumn (GenTable table) { - for (GenTableColumn column : table.getColumns()) { - if (column.isPk()) { + public void setPkColumn(GenTable table) + { + for (GenTableColumn column : table.getColumns()) + { + if (column.isPk()) + { table.setPkColumn(column); break; } } - if (StringUtils.isNull(table.getPkColumn())) { + if (StringUtils.isNull(table.getPkColumn())) + { table.setPkColumn(table.getColumns().get(0)); } - if (GenConstants.TPL_SUB.equals(table.getTplCategory())) { - for (GenTableColumn column : table.getSubTable().getColumns()) { - if (column.isPk()) { + if (GenConstants.TPL_SUB.equals(table.getTplCategory())) + { + for (GenTableColumn column : table.getSubTable().getColumns()) + { + if (column.isPk()) + { table.getSubTable().setPkColumn(column); break; } } - if (StringUtils.isNull(table.getSubTable().getPkColumn())) { + if (StringUtils.isNull(table.getSubTable().getPkColumn())) + { table.getSubTable().setPkColumn(table.getSubTable().getColumns().get(0)); } } @@ -434,9 +478,11 @@ public class GenTableServiceImpl implements IGenTableService { * * @param table 业务表信息 */ - public void setSubTable (GenTable table) { + public void setSubTable(GenTable table) + { String subTableName = table.getSubTableName(); - if (StringUtils.isNotEmpty(subTableName)) { + if (StringUtils.isNotEmpty(subTableName)) + { table.setSubTable(genTableMapper.selectGenTableByName(subTableName)); } } @@ -446,9 +492,11 @@ public class GenTableServiceImpl implements IGenTableService { * * @param genTable 设置后的生成对象 */ - public void setTableFromOptions (GenTable genTable) { + public void setTableFromOptions(GenTable genTable) + { JSONObject paramsObj = JSON.parseObject(genTable.getOptions()); - if (StringUtils.isNotNull(paramsObj)) { + if (StringUtils.isNotNull(paramsObj)) + { String treeCode = paramsObj.getString(GenConstants.TREE_CODE); String treeParentCode = paramsObj.getString(GenConstants.TREE_PARENT_CODE); String treeName = paramsObj.getString(GenConstants.TREE_NAME); @@ -462,4 +510,21 @@ public class GenTableServiceImpl implements IGenTableService { genTable.setParentMenuName(parentMenuName); } } + + /** + * 获取代码生成地址 + * + * @param table 业务表信息 + * @param template 模板文件路径 + * @return 生成地址 + */ + public static String getGenPath(GenTable table, String template) + { + String genPath = table.getGenPath(); + if (StringUtils.equals(genPath, "/")) + { + return System.getProperty("user.dir") + File.separator + "src" + File.separator + VelocityUtils.getFileName(template, table); + } + return genPath + File.separator + VelocityUtils.getFileName(template, table); + } } diff --git a/src/main/java/com/muyu/gen/service/IGenTableColumnService.java b/src/main/java/com/muyu/gen/service/IGenTableColumnService.java index b60ea57..9015c70 100644 --- a/src/main/java/com/muyu/gen/service/IGenTableColumnService.java +++ b/src/main/java/com/muyu/gen/service/IGenTableColumnService.java @@ -7,42 +7,39 @@ import java.util.List; /** * 业务字段 服务层 * - * @author muyu + * @author ruoyi */ -public interface IGenTableColumnService { +public interface IGenTableColumnService +{ /** * 查询业务字段列表 * * @param tableId 业务字段编号 - * * @return 业务字段集合 */ - List selectGenTableColumnListByTableId (Long tableId); + public List selectGenTableColumnListByTableId(Long tableId); /** * 新增业务字段 * * @param genTableColumn 业务字段信息 - * * @return 结果 */ - int insertGenTableColumn (GenTableColumn genTableColumn); + public int insertGenTableColumn(GenTableColumn genTableColumn); /** * 修改业务字段 * * @param genTableColumn 业务字段信息 - * * @return 结果 */ - int updateGenTableColumn (GenTableColumn genTableColumn); + public int updateGenTableColumn(GenTableColumn genTableColumn); /** * 删除业务字段信息 * * @param ids 需要删除的数据ID - * * @return 结果 */ - int deleteGenTableColumnByIds (String ids); + public int deleteGenTableColumnByIds(String ids); } diff --git a/src/main/java/com/muyu/gen/service/IGenTableService.java b/src/main/java/com/muyu/gen/service/IGenTableService.java index f34dc37..ff1e96f 100644 --- a/src/main/java/com/muyu/gen/service/IGenTableService.java +++ b/src/main/java/com/muyu/gen/service/IGenTableService.java @@ -8,124 +8,119 @@ import java.util.Map; /** * 业务 服务层 * - * @author muyu + * @author ruoyi */ -public interface IGenTableService { +public interface IGenTableService +{ /** * 查询业务列表 * * @param genTable 业务信息 - * * @return 业务集合 */ - List selectGenTableList (GenTable genTable); + public List selectGenTableList(GenTable genTable); /** * 查询据库列表 * * @param genTable 业务信息 - * * @return 数据库表集合 */ - List selectDbTableList (GenTable genTable); + public List selectDbTableList(GenTable genTable); /** * 查询据库列表 * * @param tableNames 表名称组 - * + * @param dbName * @return 数据库表集合 */ - List selectDbTableListByNames (String[] tableNames); + public List selectDbTableListByNames(String[] tableNames, String dbName); /** * 查询所有表信息 * * @return 表信息集合 */ - List selectGenTableAll (); + public List selectGenTableAll(); /** * 查询业务信息 * * @param id 业务ID - * * @return 业务信息 */ - GenTable selectGenTableById (Long id); + public GenTable selectGenTableById(Long id); /** * 修改业务 * * @param genTable 业务信息 - * * @return 结果 */ - void updateGenTable (GenTable genTable); + public void updateGenTable(GenTable genTable); /** * 删除业务信息 * * @param tableIds 需要删除的表数据ID - * * @return 结果 */ - void deleteGenTableByIds (Long[] tableIds); + public void deleteGenTableByIds(Long[] tableIds); /** * 导入表结构 * * @param tableList 导入表列表 */ - void importGenTable (List tableList); + public void importGenTable(List tableList); /** * 预览代码 * * @param tableId 表编号 - * * @return 预览数据列表 */ - Map previewCode (Long tableId); + public Map previewCode(Long tableId); /** * 生成代码(下载方式) * * @param tableName 表名称 - * * @return 数据 */ - byte[] downloadCode (String tableName); + public byte[] downloadCode(String tableName); /** * 生成代码(自定义路径) * * @param tableName 表名称 - * * @return 数据 */ - void generatorCode (String tableName); + public void generatorCode(String tableName); /** * 同步数据库 * * @param tableName 表名称 + * @param dbName */ - void synchDb (String tableName); + public void synchDb(String tableName, String dbName); /** * 批量生成代码(下载方式) * * @param tableNames 表数组 - * * @return 数据 */ - byte[] downloadCode (String[] tableNames); + public byte[] downloadCode(String[] tableNames); /** * 修改保存参数校验 * * @param genTable 业务信息 */ - void validateEdit (GenTable genTable); + public void validateEdit(GenTable genTable); + + List selDbNameAll(); } diff --git a/src/main/resources/bootstrap.yml b/src/main/resources/bootstrap.yml index 359755a..e8fb556 100644 --- a/src/main/resources/bootstrap.yml +++ b/src/main/resources/bootstrap.yml @@ -5,8 +5,6 @@ server: # nacos线上地址 nacos: addr: 10.0.1.97:8848 - user-name: nacos - password: nacos namespace: cloud-2112 # Spring @@ -24,20 +22,11 @@ spring: discovery: # 服务注册地址 server-addr: ${nacos.addr} - # nacos用户名 - username: ${nacos.user-name} - # nacos密码 - password: ${nacos.password} # 命名空间 namespace: ${nacos.namespace} - ip: 47.116.173.119 config: # 服务注册地址 server-addr: ${nacos.addr} - # nacos用户名 - username: ${nacos.user-name} - # nacos密码 - password: ${nacos.password} # 命名空间 namespace: ${nacos.namespace} # 配置文件格式 diff --git a/src/main/resources/mapper/generator/GenTableColumnMapper.xml b/src/main/resources/mapper/generator/GenTableColumnMapper.xml index fb9800e..14bc75d 100644 --- a/src/main/resources/mapper/generator/GenTableColumnMapper.xml +++ b/src/main/resources/mapper/generator/GenTableColumnMapper.xml @@ -1,58 +1,36 @@ +PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - select column_id, - table_id, - column_name, - column_comment, - column_type, - java_type, - java_field, - is_pk, - is_increment, - is_required, - is_insert, - is_edit, - is_list, - is_query, - query_type, - html_type, - dict_type, - sort, - create_by, - create_time, - update_by, - update_time - from gen_table_column + + select column_id, table_id, column_name, column_comment, column_type, java_type, java_field, is_pk, is_increment, is_required, is_insert, is_edit, is_list, is_query, query_type, html_type, dict_type, sort, create_by, create_time, update_by, update_time from gen_table_column + select column_name, (case when (is_nullable = 'no' column_key != 'PRI') then '1' else null end) as is_required, (case when column_key = 'PRI' then '1' else '0' end) as is_pk, ordinal_position as sort, column_comment, (case when extra = 'auto_increment' then '1' else '0' end) as is_increment, column_type + from information_schema.columns where + + and table_name = (#{tableName}) + order by ordinal_position + insert into gen_table_column ( - table_id, - column_name, - column_comment, - column_type, - java_type, - java_field, - is_pk, - is_increment, - is_required, - is_insert, - is_edit, - is_list, - is_query, - query_type, - html_type, - dict_type, - sort, - create_by, - create_time - )values( - #{tableId}, - #{columnName}, - #{columnComment}, - #{columnType}, - #{javaType}, - #{javaField}, - #{isPk}, - #{isIncrement}, - #{isRequired}, - #{isInsert}, - #{isEdit}, - #{isList}, - #{isQuery}, - #{queryType}, - #{htmlType}, - #{dictType}, - #{sort}, - #{createBy}, - sysdate() - ) + table_id, + column_name, + column_comment, + column_type, + java_type, + java_field, + is_pk, + is_increment, + is_required, + is_insert, + is_edit, + is_list, + is_query, + query_type, + html_type, + dict_type, + sort, + create_by, + create_time + )values( + #{tableId}, + #{columnName}, + #{columnComment}, + #{columnType}, + #{javaType}, + #{javaField}, + #{isPk}, + #{isIncrement}, + #{isRequired}, + #{isInsert}, + #{isEdit}, + #{isList}, + #{isQuery}, + #{queryType}, + #{htmlType}, + #{dictType}, + #{sort}, + #{createBy}, + sysdate() + ) diff --git a/src/main/resources/mapper/generator/GenTableMapper.xml b/src/main/resources/mapper/generator/GenTableMapper.xml index 42ab2cf..59d2330 100644 --- a/src/main/resources/mapper/generator/GenTableMapper.xml +++ b/src/main/resources/mapper/generator/GenTableMapper.xml @@ -1,291 +1,200 @@ +PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - select table_id, - table_name, - table_comment, - sub_table_name, - sub_table_fk_name, - class_name, - tpl_category, - package_name, - module_name, - business_name, - function_name, - function_author, - gen_type, - gen_path, - options, - create_by, - create_time, - update_by, - update_time, - remark - from gen_table + + select table_id, db_name, table_name, table_comment, sub_table_name, sub_table_fk_name, class_name, tpl_category, tpl_web_type, package_name, module_name, business_name, function_name, function_author, gen_type, gen_path, options, create_by, create_time, update_by, update_time, remark from gen_table + + + + table_schema = #{dbName} + + + table_schema = (select database()) + + + + + + + + AND lower(table_name) like lower(concat('%', #{tableName}, '%')) + + + AND lower(table_comment) like lower(concat('%', #{tableComment}, '%')) + + + AND date_format(create_time,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d') + + + AND date_format(create_time,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d') + + + - + select table_name, table_comment, create_time, update_time from information_schema.tables + where + + AND table_name NOT LIKE 'qrtz_%' AND table_name NOT LIKE 'gen_%' + AND table_name NOT IN (select table_name from gen_table) + + AND lower(table_name) like lower(concat('%', #{tableName}, '%')) + + + AND lower(table_comment) like lower(concat('%', #{tableComment}, '%')) + + + AND date_format(create_time,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d') + + + AND date_format(create_time,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d') + order by create_time desc - + - + select table_name, table_schema db_name, table_comment, create_time, update_time from information_schema.tables + where table_name NOT LIKE 'qrtz_%' and table_name NOT LIKE 'gen_%' + and + and table_name in + + #{name} - + - + - + - + - + + - + insert into gen_table ( - table_name, - table_comment, - class_name, - tpl_category, - package_name, - module_name, - business_name, - function_name, - function_author, - gen_type, - gen_path, - remark, - create_by, - create_time - )values( - #{tableName}, - #{tableComment}, - #{className}, - #{tplCategory}, - #{packageName}, - #{moduleName}, - #{businessName}, - #{functionName}, - #{functionAuthor}, - #{genType}, - #{genPath}, - #{remark}, - #{createBy}, - sysdate() - ) + db_name, + table_name, + table_comment, + class_name, + tpl_category, + tpl_web_type, + package_name, + module_name, + business_name, + function_name, + function_author, + gen_type, + gen_path, + remark, + create_by, + create_time + )values( + #{dbName}, + #{tableName}, + #{tableComment}, + #{className}, + #{tplCategory}, + #{tplWebType}, + #{packageName}, + #{moduleName}, + #{businessName}, + #{functionName}, + #{functionAuthor}, + #{genType}, + #{genPath}, + #{remark}, + #{createBy}, + sysdate() + ) update gen_table + db_name = #{dbName}, table_name = #{tableName}, table_comment = #{tableComment}, sub_table_name = #{subTableName}, @@ -295,6 +204,7 @@ gen_type = #{genType}, gen_path = #{genPath}, tpl_category = #{tplCategory}, + tpl_web_type = #{tplWebType}, package_name = #{packageName}, module_name = #{moduleName}, business_name = #{businessName}, diff --git a/src/main/resources/vm/java/service.java.vm b/src/main/resources/vm/java/service.java.vm index 264882b..fd9568b 100644 --- a/src/main/resources/vm/java/service.java.vm +++ b/src/main/resources/vm/java/service.java.vm @@ -5,15 +5,15 @@ import ${packageName}.domain.${ClassName}; /** * ${functionName}Service接口 - * + * * @author ${author} * @date ${datetime} */ -public interface I${ClassName}Service +public interface ${ClassName}Service { /** * 查询${functionName} - * + * * @param ${pkColumn.javaField} ${functionName}主键 * @return ${functionName} */ @@ -21,7 +21,7 @@ public interface I${ClassName}Service /** * 查询${functionName}列表 - * + * * @param ${className} ${functionName} * @return ${functionName}集合 */ @@ -29,7 +29,7 @@ public interface I${ClassName}Service /** * 新增${functionName} - * + * * @param ${className} ${functionName} * @return 结果 */ @@ -37,7 +37,7 @@ public interface I${ClassName}Service /** * 修改${functionName} - * + * * @param ${className} ${functionName} * @return 结果 */ @@ -45,7 +45,7 @@ public interface I${ClassName}Service /** * 批量删除${functionName} - * + * * @param ${pkColumn.javaField}s 需要删除的${functionName}主键集合 * @return 结果 */ @@ -53,7 +53,7 @@ public interface I${ClassName}Service /** * 删除${functionName}信息 - * + * * @param ${pkColumn.javaField} ${functionName}主键 * @return 结果 */ diff --git a/src/main/resources/vm/java/serviceImpl.java.vm b/src/main/resources/vm/java/serviceImpl.java.vm index 3904af5..dd1d574 100644 --- a/src/main/resources/vm/java/serviceImpl.java.vm +++ b/src/main/resources/vm/java/serviceImpl.java.vm @@ -26,7 +26,7 @@ import ${packageName}.service.I${ClassName}Service; * @date ${datetime} */ @Service -public class ${ClassName}ServiceImpl implements I${ClassName}Service +public class ${ClassName}ServiceImpl implements ${ClassName}Service { @Autowired private ${ClassName}Mapper ${className}Mapper; diff --git a/src/main/resources/vm/js/api.js.vm b/src/main/resources/vm/js/api.js.vm index 9295524..e69de29 100644 --- a/src/main/resources/vm/js/api.js.vm +++ b/src/main/resources/vm/js/api.js.vm @@ -1,44 +0,0 @@ -import request from '@/utils/request' - -// 查询${functionName}列表 -export function list${BusinessName}(query) { - return request({ - url: '/${moduleName}/${businessName}/list', - method: 'get', - params: query - }) -} - -// 查询${functionName}详细 -export function get${BusinessName}(${pkColumn.javaField}) { - return request({ - url: '/${moduleName}/${businessName}/' + ${pkColumn.javaField}, - method: 'get' - }) -} - -// 新增${functionName} -export function add${BusinessName}(data) { - return request({ - url: '/${moduleName}/${businessName}', - method: 'post', - data: data - }) -} - -// 修改${functionName} -export function update${BusinessName}(data) { - return request({ - url: '/${moduleName}/${businessName}', - method: 'put', - data: data - }) -} - -// 删除${functionName} -export function del${BusinessName}(${pkColumn.javaField}) { - return request({ - url: '/${moduleName}/${businessName}/' + ${pkColumn.javaField}, - method: 'delete' - }) -} diff --git a/src/main/resources/vm/sql/sql.vm b/src/main/resources/vm/sql/sql.vm index 0575583..e69de29 100644 --- a/src/main/resources/vm/sql/sql.vm +++ b/src/main/resources/vm/sql/sql.vm @@ -1,22 +0,0 @@ --- 菜单 SQL -insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) -values('${functionName}', '${parentMenuId}', '1', '${businessName}', '${moduleName}/${businessName}/index', 1, 0, 'C', '0', '0', '${permissionPrefix}:list', '#', 'admin', sysdate(), '', null, '${functionName}菜单'); - --- 按钮父菜单ID -SELECT @parentId := LAST_INSERT_ID(); - --- 按钮 SQL -insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) -values('${functionName}查询', @parentId, '1', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:query', '#', 'admin', sysdate(), '', null, ''); - -insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) -values('${functionName}新增', @parentId, '2', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:add', '#', 'admin', sysdate(), '', null, ''); - -insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) -values('${functionName}修改', @parentId, '3', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:edit', '#', 'admin', sysdate(), '', null, ''); - -insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) -values('${functionName}删除', @parentId, '4', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:remove', '#', 'admin', sysdate(), '', null, ''); - -insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) -values('${functionName}导出', @parentId, '5', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:export', '#', 'admin', sysdate(), '', null, ''); \ No newline at end of file