From dbdeed946e616f9b3c2ac9ba8406030084f2e64e Mon Sep 17 00:00:00 2001 From: TinyAnts Date: Fri, 30 Dec 2022 09:53:07 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E8=B0=83=E6=95=B4SQL=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/install.sql | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sql/install.sql b/sql/install.sql index 83accf53..52a5997d 100644 --- a/sql/install.sql +++ b/sql/install.sql @@ -169,6 +169,7 @@ CREATE TABLE `la_gen_table` ( `table_comment` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '表描述', `sub_table_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '关联表名称', `sub_table_fk` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '关联表外键', + `sub_table_fr` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '关联表主键', `author_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '作者的名称', `entity_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '实体的名称', `module_name` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '生成模块名', @@ -526,7 +527,7 @@ BEGIN; INSERT INTO `la_system_auth_dept` VALUES (1, 0, '默认部门', 'LikeAdmin', '18327647788', 10, 0, 0, 1649841995, 1660190949, 0); INSERT INTO `la_system_auth_role` VALUES (1, '审核员', '审核数据', 0, 0, 1668679451, 1668679468); INSERT INTO `la_system_auth_admin` VALUES (1, '0', '1', '', 'admin', 'admin', '4919832b10f1d2133c0f24a7dbe8330e', '/api/static/backend_avatar.png', 'Huku0', 0, 1, 0, 0, '127.0.0.1', 1670314940, 1642321599, 1670376604, 0); -INSERT INTO `la_crontab` VALUES (1, '有参数任务', 'default', 'myJob.handle(\"参数\")', '* * * * * ?', '', '', 1, 1, 0, 0, 1670377612, 1670377612, 0, 1669970830, 1670289651, 0); +INSERT INTO `la_crontab` VALUES (1, '有参数任务', 'default', 'myJob.handle(\"参数\")', '* * * * * ?', '', '', 2, 1, 0, 0, 1670377612, 1670377612, 0, 1669970830, 1670289651, 0); COMMIT; BEGIN; From c5781cd796bfaf64944355a469fd4df6957d466d Mon Sep 17 00:00:00 2001 From: TinyAnts Date: Fri, 30 Dec 2022 10:35:58 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E5=A4=84=E7=90=86=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E7=94=9F=E6=88=90=E5=99=A8=E5=85=B3=E8=81=94=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../generator/service/impl/GenerateServiceImpl.java | 1 + .../main/java/com/mdd/generator/util/GenUtil.java | 13 +++++++++++++ .../java/com/mdd/generator/util/VelocityUtil.java | 2 ++ .../java/com/mdd/generator/validate/GenParam.java | 2 ++ .../src/main/resources/java/serviceImpl.java.vm | 2 +- 5 files changed, 19 insertions(+), 1 deletion(-) diff --git a/server/like-generator/src/main/java/com/mdd/generator/service/impl/GenerateServiceImpl.java b/server/like-generator/src/main/java/com/mdd/generator/service/impl/GenerateServiceImpl.java index 430c033d..1ac233d9 100644 --- a/server/like-generator/src/main/java/com/mdd/generator/service/impl/GenerateServiceImpl.java +++ b/server/like-generator/src/main/java/com/mdd/generator/service/impl/GenerateServiceImpl.java @@ -264,6 +264,7 @@ public class GenerateServiceImpl implements IGenerateService { model.setGenType(genParam.getGenType()); model.setGenPath(genParam.getGenPath()); model.setSubTableFk(genParam.getSubTableFk()); + model.setSubTableFr(genParam.getSubTableFr()); model.setSubTableName(genParam.getSubTableName()); genTableMapper.updateById(model); diff --git a/server/like-generator/src/main/java/com/mdd/generator/util/GenUtil.java b/server/like-generator/src/main/java/com/mdd/generator/util/GenUtil.java index 4ab2e288..e2b9d503 100644 --- a/server/like-generator/src/main/java/com/mdd/generator/util/GenUtil.java +++ b/server/like-generator/src/main/java/com/mdd/generator/util/GenUtil.java @@ -248,4 +248,17 @@ public class GenUtil { } } + /** + * 获取表的别名 + * + * @param tableName 表名 + * @return String + */ + public static String getTableAlias(String tableName) { + StringBuilder val = new StringBuilder(); + for (String name : tableName.split("_")) { + val.append(name.charAt(0)); + } + return val.toString(); + } } diff --git a/server/like-generator/src/main/java/com/mdd/generator/util/VelocityUtil.java b/server/like-generator/src/main/java/com/mdd/generator/util/VelocityUtil.java index 687a38b7..b155254b 100644 --- a/server/like-generator/src/main/java/com/mdd/generator/util/VelocityUtil.java +++ b/server/like-generator/src/main/java/com/mdd/generator/util/VelocityUtil.java @@ -70,6 +70,7 @@ public class VelocityUtil { // 替换前缀 table.setSubTableName(table.getSubTableName().replace(GlobalConfig.tablePrefix, "")); + System.out.println(GenUtil.getTableAlias(table.getSubTableName())); // 设置模板变量 VelocityContext velocityContext = new VelocityContext(); @@ -84,6 +85,7 @@ public class VelocityUtil { velocityContext.put("notesType", GenConfig.notesType); velocityContext.put("table", table); velocityContext.put("columns", columns); + velocityContext.put("subTableAlias", GenUtil.getTableAlias(table.getSubTableName())); velocityContext.put("dateFields", SqlConstants.COLUMN_TIME_NAME); velocityContext.put("primaryKey", primaryKey); velocityContext.put("primaryField", primaryField); diff --git a/server/like-generator/src/main/java/com/mdd/generator/validate/GenParam.java b/server/like-generator/src/main/java/com/mdd/generator/validate/GenParam.java index c93a803c..6dd0053a 100644 --- a/server/like-generator/src/main/java/com/mdd/generator/validate/GenParam.java +++ b/server/like-generator/src/main/java/com/mdd/generator/validate/GenParam.java @@ -88,4 +88,6 @@ public class GenParam implements Serializable { private String subTableFk = ""; + private String subTableFr = ""; + } diff --git a/server/like-generator/src/main/resources/java/serviceImpl.java.vm b/server/like-generator/src/main/resources/java/serviceImpl.java.vm index 888d7bdb..fb7fa609 100644 --- a/server/like-generator/src/main/resources/java/serviceImpl.java.vm +++ b/server/like-generator/src/main/resources/java/serviceImpl.java.vm @@ -93,7 +93,7 @@ public class ${EntityName}ServiceImpl implements I${EntityName}Service { #set($queryWrapper = "mpjQueryWrapper") MPJQueryWrapper<${EntityName}> mpjQueryWrapper = new MPJQueryWrapper<>(); mpjQueryWrapper.selectAll(${EntityName}.class); - mpjQueryWrapper.innerJoin("?_$table.subTableName f ON f.$table.SubTableFr=t.$table.SubTableFk".replace("?_", GlobalConfig.tablePrefix)); + mpjQueryWrapper.innerJoin("?_$table.subTableName $subTableAlias ON $subTableAlias.$table.SubTableFk=t.$table.SubTableFr".replace("?_", GlobalConfig.tablePrefix)); #if($allFields.contains("is_delete")) mpjQueryWrapper.eq("t.is_delete", 0); #end From 5f3260c586068c9dd1a2db5712b55ac657edd79c Mon Sep 17 00:00:00 2001 From: TinyAnts Date: Fri, 30 Dec 2022 11:11:36 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=A0=B9=E6=8D=AE?= =?UTF-8?q?=E8=A1=A8=E5=90=8D=E8=8E=B7=E5=8F=96=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../generator/controller/GenController.java | 37 +++++++++++++------ .../generator/service/IGenerateService.java | 9 +++++ .../service/impl/GenerateServiceImpl.java | 23 ++++++++++++ .../java/com/mdd/generator/vo/DbColumnVo.java | 16 ++++++++ 4 files changed, 73 insertions(+), 12 deletions(-) create mode 100644 server/like-generator/src/main/java/com/mdd/generator/vo/DbColumnVo.java diff --git a/server/like-generator/src/main/java/com/mdd/generator/controller/GenController.java b/server/like-generator/src/main/java/com/mdd/generator/controller/GenController.java index bdc56079..9301048f 100644 --- a/server/like-generator/src/main/java/com/mdd/generator/controller/GenController.java +++ b/server/like-generator/src/main/java/com/mdd/generator/controller/GenController.java @@ -10,6 +10,7 @@ import com.mdd.common.validator.annotation.IDMust; import com.mdd.generator.service.IGenerateService; import com.mdd.generator.validate.GenParam; import com.mdd.generator.validate.PageParam; +import com.mdd.generator.vo.DbColumnVo; import com.mdd.generator.vo.DbTableVo; import com.mdd.generator.vo.GenTableVo; import org.apache.commons.io.IOUtils; @@ -38,8 +39,8 @@ public class GenController { * @return Object */ @GetMapping("/db") - public Object db(@Validated PageParam pageParam, - @RequestParam Map params) { + public AjaxResult> db(@Validated PageParam pageParam, + @RequestParam Map params) { PageResult list = iGenerateService.db(pageParam, params); return AjaxResult.success(list); } @@ -52,11 +53,23 @@ public class GenController { * @return Object */ @GetMapping("/dbAll") - public Object dbAll(@RequestParam Map params) { + public AjaxResult> dbAll(@RequestParam Map params) { List list = iGenerateService.dbAll(params); return AjaxResult.success(list); } + /** + * 根据表名查字段 + * + * @param tableName 表名 + * @return List + */ + @GetMapping("/dbColumn") + public AjaxResult> dbColumn(@RequestParam String tableName) { + List list = iGenerateService.dbColumn(tableName); + return AjaxResult.success(list); + } + /** * 生成列表 * @@ -66,8 +79,8 @@ public class GenController { * @return Object */ @GetMapping("/list") - public Object list(@Validated PageParam pageParam, - @RequestParam Map params) { + public AjaxResult> list(@Validated PageParam pageParam, + @RequestParam Map params) { PageResult list = iGenerateService.list(pageParam, params); return AjaxResult.success(list); } @@ -80,7 +93,7 @@ public class GenController { * @return Object */ @GetMapping("/detail") - public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) { + public AjaxResult> detail(@Validated @IDMust() @RequestParam("id") Integer id) { Map maps = iGenerateService.detail(id); return AjaxResult.success(maps); } @@ -92,7 +105,7 @@ public class GenController { * @return Object */ @PostMapping("/importTable") - public Object importTable(String tables) { + public AjaxResult importTable(String tables) { Assert.notNull(tables, "请选择要导入的表"); String[] tableNames = tables.split(","); iGenerateService.importTable(tableNames); @@ -107,7 +120,7 @@ public class GenController { * @return Object */ @PostMapping("/editTable") - public Object editTable(@Validated() @RequestBody GenParam genParam) { + public AjaxResult editTable(@Validated() @RequestBody GenParam genParam) { iGenerateService.editTable(genParam); return AjaxResult.success(); } @@ -120,7 +133,7 @@ public class GenController { * @return Object */ @PostMapping("/delTable") - public Object deleteTable(@Validated(value = GenParam.delete.class) @RequestBody GenParam genParam) { + public AjaxResult deleteTable(@Validated(value = GenParam.delete.class) @RequestBody GenParam genParam) { iGenerateService.deleteTable(genParam.getIds()); return AjaxResult.success(); } @@ -133,7 +146,7 @@ public class GenController { * @return Object */ @PostMapping("/syncTable") - public Object syncTable(@Validated @IDMust() @RequestParam("id") Integer id) { + public AjaxResult syncTable(@Validated @IDMust() @RequestParam("id") Integer id) { iGenerateService.syncTable(id); return AjaxResult.success(); } @@ -146,7 +159,7 @@ public class GenController { * @return Object */ @GetMapping("/previewCode") - public Object previewCode(@Validated @IDMust() @RequestParam("id") Integer id) { + public AjaxResult> previewCode(@Validated @IDMust() @RequestParam("id") Integer id) { Map map = iGenerateService.previewCode(id); return AjaxResult.success(map); } @@ -158,7 +171,7 @@ public class GenController { * @param tables 表名 */ @GetMapping("/genCode") - public Object genCode(String tables) { + public AjaxResult genCode(String tables) { String production = YmlUtils.get("like.production"); if (StringUtils.isNotEmpty(production) && production.equals("true")) { throw new OperateException("抱歉,演示环境不允许操作!"); diff --git a/server/like-generator/src/main/java/com/mdd/generator/service/IGenerateService.java b/server/like-generator/src/main/java/com/mdd/generator/service/IGenerateService.java index 2438b465..eff00a5b 100644 --- a/server/like-generator/src/main/java/com/mdd/generator/service/IGenerateService.java +++ b/server/like-generator/src/main/java/com/mdd/generator/service/IGenerateService.java @@ -3,6 +3,7 @@ package com.mdd.generator.service; import com.mdd.common.core.PageResult; import com.mdd.generator.validate.GenParam; import com.mdd.generator.validate.PageParam; +import com.mdd.generator.vo.DbColumnVo; import com.mdd.generator.vo.DbTableVo; import com.mdd.generator.vo.GenTableVo; @@ -33,6 +34,14 @@ public interface IGenerateService { */ List dbAll(Map params); + /** + * 根据表名查字段 + * + * @param tableName 表名 + * @return List + */ + List dbColumn(String tableName); + /** * 生成列表 * diff --git a/server/like-generator/src/main/java/com/mdd/generator/service/impl/GenerateServiceImpl.java b/server/like-generator/src/main/java/com/mdd/generator/service/impl/GenerateServiceImpl.java index 1ac233d9..7be3bfb6 100644 --- a/server/like-generator/src/main/java/com/mdd/generator/service/impl/GenerateServiceImpl.java +++ b/server/like-generator/src/main/java/com/mdd/generator/service/impl/GenerateServiceImpl.java @@ -21,6 +21,7 @@ import com.mdd.generator.util.GenUtil; import com.mdd.generator.util.VelocityUtil; import com.mdd.generator.validate.GenParam; import com.mdd.generator.validate.PageParam; +import com.mdd.generator.vo.DbColumnVo; import com.mdd.generator.vo.DbTableVo; import com.mdd.generator.vo.GenColumnVo; import com.mdd.generator.vo.GenTableVo; @@ -104,6 +105,28 @@ public class GenerateServiceImpl implements IGenerateService { return tables; } + /** + * 根据表名查字段 + * + * @param tableName 表名 + * @return List + */ + @Override + public List dbColumn(String tableName) { + List columns = genTableMapper.selectDbTableColumnsByName(tableName); + + List list = new LinkedList<>(); + for (GenTableColumn col : columns) { + DbColumnVo vo = new DbColumnVo(); + vo.setColumnName(col.getColumnName()); + vo.setColumnType(col.getColumnType()); + vo.setColumnComment(col.getColumnComment()); + list.add(vo); + } + + return list; + } + /** * 生成列表 * diff --git a/server/like-generator/src/main/java/com/mdd/generator/vo/DbColumnVo.java b/server/like-generator/src/main/java/com/mdd/generator/vo/DbColumnVo.java new file mode 100644 index 00000000..dc6a7201 --- /dev/null +++ b/server/like-generator/src/main/java/com/mdd/generator/vo/DbColumnVo.java @@ -0,0 +1,16 @@ +package com.mdd.generator.vo; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class DbColumnVo implements Serializable { + + private static final long serialVersionUID = 1L; + + private String columnName; // 字段名称 + private String columnComment; // 字段描述 + private String columnType; // 字段类型 + +} From 84c4b305d16ad9f34dc90e8e7568902138313bcb Mon Sep 17 00:00:00 2001 From: lr <> Date: Fri, 30 Dec 2022 11:18:55 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E5=A2=9E=E5=8A=A0uploads=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 4 +++- public/uploads/index.html | 0 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 public/uploads/index.html diff --git a/.gitignore b/.gitignore index e1f1d407..4ea9d8cd 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,6 @@ application-dev.yml application-pro.yml application-dem.yml application-prod.yml -application-test.yml \ No newline at end of file +application-test.yml +/public/uploads/* +!/public/uploads/index.html \ No newline at end of file diff --git a/public/uploads/index.html b/public/uploads/index.html new file mode 100644 index 00000000..e69de29b