|
|
@@ -2,8 +2,8 @@ package com.kym.admin.utils;
|
|
|
|
|
|
import cn.hutool.core.io.IoUtil;
|
|
|
import com.google.common.collect.ImmutableMap;
|
|
|
-import com.kym.common.utils.CommUtil;
|
|
|
import com.kym.JacksonUtil;
|
|
|
+import com.kym.common.utils.CommUtil;
|
|
|
import lombok.Data;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.velocity.VelocityContext;
|
|
|
@@ -14,11 +14,7 @@ import java.io.File;
|
|
|
import java.io.FileWriter;
|
|
|
import java.io.StringWriter;
|
|
|
import java.time.LocalDateTime;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Collections;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
|
|
|
|
|
|
/**
|
|
|
@@ -33,33 +29,22 @@ public class CommJdbcCodeGenerator {
|
|
|
|
|
|
private static DBHelper db;
|
|
|
|
|
|
-
|
|
|
- private void closeDb() {
|
|
|
- if (null != db) {
|
|
|
- db.closeDb();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private void openDb() throws Exception {
|
|
|
- db = new DBHelper();
|
|
|
- db.open("jdbc:mysql://121.40.98.15:3307/car-wash?serverTimezone=Asia/Shanghai", "root", "KuaiyuMan/*-");
|
|
|
- }
|
|
|
-
|
|
|
public static void main(String[] args) {
|
|
|
CodeGeneratorParam param = new CodeGeneratorParam();
|
|
|
- param.setTableName("t_banner");
|
|
|
- param.setBasePackage("com.kym.admin");
|
|
|
-
|
|
|
-
|
|
|
+ var basePath = "D://快与慢充电桩/code/car-wash-java";
|
|
|
+// var basePath = "/home/zuy/02.code/wash";
|
|
|
+ param.setModule("admin");
|
|
|
+ param.setTableName("t_wash_user");
|
|
|
+ param.setBasePackage("com.kym");
|
|
|
|
|
|
|
|
|
List<Map<String, String>> pathList = new ArrayList<>();
|
|
|
//修改代码输出路径
|
|
|
- pathList.add(ImmutableMap.of("vm", "Controller.java.vm", "output", "/home/zuy/02.code/wash/car-wash-admin/src/main/java/com/kym/admin/controller"));
|
|
|
- pathList.add(ImmutableMap.of("vm", "Service.java.vm", "output", "/home/zuy/02.code/wash/car-wash-service/src/main/java/com/kym/service/admin/"));
|
|
|
- pathList.add(ImmutableMap.of("vm", "ServiceImpl.java.vm", "output", "/home/zuy/02.code/wash/car-wash-service/src/main/java/com/kym/service/admin/impl"));
|
|
|
-// pathList.add(ImmutableMap.of("vm", "DAO.java.vm", "output", "/home/zuy/02.code/wash/car-wash-service/src/main/java/com/kym/dao"));
|
|
|
- pathList.add(ImmutableMap.of("vm", ".java.vm", "output", "/home/zuy/02.code/wash/car-wash-entity/src/main/java/com/kym/entity/admin"));
|
|
|
+ pathList.add(ImmutableMap.of("vm", "Controller.java.vm", "output", "%s/car-wash-%s/src/main/java/com/kym/%s/controller".formatted(basePath, param.getModule(), param.getModule())));
|
|
|
+ pathList.add(ImmutableMap.of("vm", "Service.java.vm", "output", "%s/car-wash-service/src/main/java/com/kym/service/%s".formatted(basePath, param.getModule())));
|
|
|
+ pathList.add(ImmutableMap.of("vm", "ServiceImpl.java.vm", "output", "%s/car-wash-service/src/main/java/com/kym/service/%s/impl".formatted(basePath, param.getModule())));
|
|
|
+ pathList.add(ImmutableMap.of("vm", "DAO.java.vm", "output", "%s/car-wash-service/src/main/java/com/kym/dao/%s".formatted(basePath, param.getModule())));
|
|
|
+ pathList.add(ImmutableMap.of("vm", ".java.vm", "output", "%s/car-wash-entity/src/main/java/com/kym/entity/%s".formatted(basePath, param.getModule())));
|
|
|
// pathList.add(ImmutableMap.of("vm", "listvue.vm", "output", "src/main/java/com/kym/admin/controller/"));
|
|
|
// pathList.add(ImmutableMap.of("vm", "dialog.vm", "output", "src/main/java/com/kym/admin/controller/"));
|
|
|
// pathList.add(ImmutableMap.of("vm", "drawer.vm", "output", "src/main/java/com/kym/admin/controller/"));
|
|
|
@@ -67,6 +52,30 @@ public class CommJdbcCodeGenerator {
|
|
|
new CommJdbcCodeGenerator().generate(param);
|
|
|
}
|
|
|
|
|
|
+ public static String getFirstLowCase(String name) {
|
|
|
+ StringBuilder sbr = new StringBuilder();
|
|
|
+ char[] chars = name.toCharArray();
|
|
|
+ for (int i = 0; i < chars.length; i++) {
|
|
|
+ if (i == 0) {
|
|
|
+ sbr.append(Character.toLowerCase(chars[i]));
|
|
|
+ } else {
|
|
|
+ sbr.append(chars[i]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return sbr.toString();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void closeDb() {
|
|
|
+ if (null != db) {
|
|
|
+ db.closeDb();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void openDb() throws Exception {
|
|
|
+ db = new DBHelper();
|
|
|
+ db.open("jdbc:mysql://121.40.98.15:3307/car-wash?serverTimezone=Asia/Shanghai", "root", "KuaiyuMan/*-");
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 数据表列表
|
|
|
*
|
|
|
@@ -87,7 +96,6 @@ public class CommJdbcCodeGenerator {
|
|
|
return Collections.emptyList();
|
|
|
}
|
|
|
|
|
|
-
|
|
|
private String getPojoName(String name) {
|
|
|
StringBuilder result = new StringBuilder();
|
|
|
if (name.startsWith("t_")) {
|
|
|
@@ -110,19 +118,6 @@ public class CommJdbcCodeGenerator {
|
|
|
return result.toString();
|
|
|
}
|
|
|
|
|
|
- public static String getFirstLowCase(String name) {
|
|
|
- StringBuilder sbr = new StringBuilder();
|
|
|
- char[] chars = name.toCharArray();
|
|
|
- for (int i = 0; i < chars.length; i++) {
|
|
|
- if (i == 0) {
|
|
|
- sbr.append(Character.toLowerCase(chars[i]));
|
|
|
- } else {
|
|
|
- sbr.append(chars[i]);
|
|
|
- }
|
|
|
- }
|
|
|
- return sbr.toString();
|
|
|
- }
|
|
|
-
|
|
|
private String getPojoFieldName(String name) {
|
|
|
StringBuilder result = new StringBuilder();
|
|
|
char[] chars = name.toCharArray();
|
|
|
@@ -164,7 +159,7 @@ public class CommJdbcCodeGenerator {
|
|
|
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
+ e.printStackTrace();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -185,38 +180,38 @@ public class CommJdbcCodeGenerator {
|
|
|
varVo.setTableName(CommUtil.null2String(dataMap.get("tablename")));
|
|
|
varVo.setTableComment(CommUtil.null2String(dataMap.get("tablecomment")));
|
|
|
|
|
|
- System.out.println("generate list:\n"+ JacksonUtil.toJSONString(varVo));
|
|
|
+ System.out.println("generate list:\n" + JacksonUtil.toJSONString(varVo));
|
|
|
|
|
|
- //table meta
|
|
|
- StringBuilder sbr = new StringBuilder("insert into t_permission (name,pid,perm,level) values ");
|
|
|
- String[] premissionLabel = {"list", "list", "modify", "remove", "add", "status"};
|
|
|
- StringBuilder rb = new StringBuilder("insert into t_permission (name,pid,perm,level) values (\'").append(varVo.getTableComment()).append("\',0,\'").append(getFirstLowCase(getPojoName(varVo.getTableName()))).append(".list\',0)");
|
|
|
- System.out.println("===============================\n");
|
|
|
- System.out.println(rb.toString() );
|
|
|
+ //table meta
|
|
|
+ StringBuilder sbr = new StringBuilder("insert into t_permission (name,pid,perm,level) values ");
|
|
|
+ String[] premissionLabel = {"list", "list", "modify", "remove", "add", "status"};
|
|
|
+ StringBuilder rb = new StringBuilder("insert into t_permission (name,pid,perm,level) values (\'").append(varVo.getTableComment()).append("\',0,\'").append(getFirstLowCase(getPojoName(varVo.getTableName()))).append(".list\',0)");
|
|
|
+ System.out.println("===============================\n");
|
|
|
+ System.out.println(rb.toString());
|
|
|
// System.out.println(rb + " RETURNING id;");
|
|
|
- System.out.println("SELECT @parentId := LAST_INSERT_ID();");
|
|
|
-
|
|
|
-
|
|
|
- // permission SQL
|
|
|
- for (int i = 0; i < premissionLabel.length; i++) {
|
|
|
- String pn = varVo.getTableComment();
|
|
|
- if (i == 1) {
|
|
|
- pn = "查看";
|
|
|
- } else if (i == 2) {
|
|
|
- pn = "编辑";
|
|
|
- } else if (i == 3) {
|
|
|
- pn = "删除";
|
|
|
- } else if (i == 4) {
|
|
|
- pn = "新增";
|
|
|
- }
|
|
|
- if (i == 0) {
|
|
|
- } else {
|
|
|
- sbr.append("(\'").append(pn).append("\',@parentId,\'").append(getFirstLowCase(getPojoName(varVo.getTableName()))).append(".").append(premissionLabel[i]).append("\',1),");
|
|
|
+ System.out.println("SELECT @parentId := LAST_INSERT_ID();");
|
|
|
+
|
|
|
+
|
|
|
+ // permission SQL
|
|
|
+ for (int i = 0; i < premissionLabel.length; i++) {
|
|
|
+ String pn = varVo.getTableComment();
|
|
|
+ if (i == 1) {
|
|
|
+ pn = "查看";
|
|
|
+ } else if (i == 2) {
|
|
|
+ pn = "编辑";
|
|
|
+ } else if (i == 3) {
|
|
|
+ pn = "删除";
|
|
|
+ } else if (i == 4) {
|
|
|
+ pn = "新增";
|
|
|
+ }
|
|
|
+ if (i == 0) {
|
|
|
+ } else {
|
|
|
+ sbr.append("(\'").append(pn).append("\',@parentId,\'").append(getFirstLowCase(getPojoName(varVo.getTableName()))).append(".").append(premissionLabel[i]).append("\',1),");
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- System.out.println(sbr.substring(0, sbr.length() - 1));
|
|
|
- System.out.println("\n===============================");
|
|
|
+ System.out.println(sbr.substring(0, sbr.length() - 1));
|
|
|
+ System.out.println("\n===============================");
|
|
|
|
|
|
List<Map<String, Object>> tableVarList = new ArrayList<>();
|
|
|
String tableSql = "select column_name,data_type,character_maximum_length,column_comment from information_schema.columns" + " where table_name = '" + varVo.getTableName() + "'";
|
|
|
@@ -249,6 +244,7 @@ public class CommJdbcCodeGenerator {
|
|
|
context.put("pojoName", pojoName);
|
|
|
context.put("lowPojoName", pojoName.toLowerCase());
|
|
|
context.put("firstLowPojoName", pojoName.substring(0, 1).toLowerCase() + pojoName.substring(1));
|
|
|
+ context.put("module", param.getModule());
|
|
|
context.put("basePackage", param.getBasePackage());
|
|
|
context.put("dollar", "$");
|
|
|
context.put("datetime", LocalDateTime.now().toString());
|
|
|
@@ -275,6 +271,7 @@ public class CommJdbcCodeGenerator {
|
|
|
public static class CodeGeneratorParam {
|
|
|
private long databaseId;
|
|
|
private String basePackage;
|
|
|
+ private String module;
|
|
|
private String tableName;
|
|
|
private List<Long> plainTemplateIdList;
|
|
|
private boolean permSQL;
|