diff --git a/pom.xml b/pom.xml
index 7109187..61b705c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -67,7 +67,11 @@
commons-lang3
3.12.0
-
+
+ com.alibaba
+ fastjson
+ 2.0.1
+
diff --git a/src/main/java/org/yangliu/codegenerate/Main.java b/src/main/java/org/yangliu/codegenerate/Main.java
index 621125c..df8a306 100644
--- a/src/main/java/org/yangliu/codegenerate/Main.java
+++ b/src/main/java/org/yangliu/codegenerate/Main.java
@@ -1,6 +1,7 @@
package org.yangliu.codegenerate;
import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONObject;
import com.google.common.base.CaseFormat;
import freemarker.cache.ClassTemplateLoader;
import freemarker.core.XMLOutputFormat;
@@ -68,13 +69,28 @@ public class Main {
String user = "enjoy";
String password = "Nomi1234";
//2.选择表配置
- String table= "oqc_nspection_level_cl";
- String entityName="OqcNspectionLevelCl";//实体类
- String description = "检验水平-样本代字";//备注
- String primaryKeyField = "id";//主键
- List tableEntityVoList = printTableStructure(driver, url, user, password, table);
- //3.生成
- generate(bussi_package, table,primaryKeyField,entityName,description, tableEntityVoList);
+ String json="{\"oqc_spot_check_record\":\"抽检记录\",\"oqc_shipment_record\":\"成品出货记录\",\"oqc_1008_record\":\"1008仓台账\",\"oqc_after_sales_record\":\"售后记录\",\"oqc_special_sample\":\"特殊样件\",\"oqc_product_record\":\"产品追溯\",\"oqc_ncr_record\":\"NCR明细\",\"oqc_qrqc_record\":\"QRQC明细\"}";
+ JSONObject tables = JSONObject.parseObject(json);
+ for (String table : tables.keySet()) {
+ String entityName = TableFieldUtil.tableNameToEntityName(table);
+ String description = tables.getString(table);
+ System.out.println(String.format("表名:%s,实体类:%s,备注:%s",table,entityName,description));
+ String primaryKeyField = "id";//主键
+ List tableEntityVoList = printTableStructure(driver, url, user, password, table);
+ //3.生成
+ generate(bussi_package, table,primaryKeyField,entityName,description, tableEntityVoList);
+ }
+
+ /*if(!true){
+ String table= "oqc_nspection_level_cl";
+ String entityName="OqcNspectionLevelCl";//实体类
+ String description = "检验水平-样本代字";//备注
+ String primaryKeyField = "id";//主键
+ List tableEntityVoList = printTableStructure(driver, url, user, password, table);
+ //3.生成
+ generate(bussi_package, table,primaryKeyField,entityName,description, tableEntityVoList);
+ }*/
+
}
/**
diff --git a/src/main/java/org/yangliu/codegenerate/util/TableFieldUtil.java b/src/main/java/org/yangliu/codegenerate/util/TableFieldUtil.java
index bca13f9..303860d 100644
--- a/src/main/java/org/yangliu/codegenerate/util/TableFieldUtil.java
+++ b/src/main/java/org/yangliu/codegenerate/util/TableFieldUtil.java
@@ -1,5 +1,6 @@
package org.yangliu.codegenerate.util;
+import com.google.common.base.CaseFormat;
import org.yangliu.codegenerate.util.fieldType.DbColumnType;
import org.yangliu.codegenerate.util.fieldType.MySqlTypeConvert;
import org.yangliu.codegenerate.util.fieldType.PostgreSqlTypeConvert;
@@ -34,4 +35,11 @@ public class TableFieldUtil {
System.out.println("暂不支持该数据库");
return null;
}
+
+
+ public static String tableNameToEntityName(String tableName){
+ String to = CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, tableName);
+ String orderColumn = CaseFormat.LOWER_CAMEL.to(CaseFormat.UPPER_CAMEL,to);
+ return orderColumn;
+ }
}
diff --git a/src/main/resources/yangliu/XXXController.javai b/src/main/resources/yangliu/XXXController.javai
index 9057f60..ba98e7f 100644
--- a/src/main/resources/yangliu/XXXController.javai
+++ b/src/main/resources/yangliu/XXXController.javai
@@ -107,7 +107,7 @@ public class ${entityName}Controller extends BaseController {
public AjaxResult delete(@RequestParam(name="id",required=true) String id) {
return ${entityName?uncap_first}Service.delete${entityName}(id);
}
-
+
/**
* 批量删除
*/
@@ -136,4 +136,11 @@ public class ${entityName}Controller extends BaseController {
public AjaxResult import${entityName}(@RequestPart("file") MultipartFile file) throws Exception {
return ${entityName?uncap_first}Service.import${entityName}(file);
}
+ /**
+ * 导入模板
+ */
+ @PostMapping("/importTemplate")
+ public void importTemplate(HttpServletResponse response) throws IOException {
+ ${entityName?uncap_first}Service.importTemplateExcel(response);
+ }
}
diff --git a/src/main/resources/yangliu/XXXService.javai b/src/main/resources/yangliu/XXXService.javai
index d8a0e99..6e17ac3 100644
--- a/src/main/resources/yangliu/XXXService.javai
+++ b/src/main/resources/yangliu/XXXService.javai
@@ -63,4 +63,9 @@ public interface I${entityName}Service extends IService<${entityName}> {
* 导入
*/
AjaxResult import${entityName}(MultipartFile file);
+
+ /**
+ * 下载模板
+ */
+ void importTemplateExcel(HttpServletResponse response);
}
\ No newline at end of file
diff --git a/src/main/resources/yangliu/XXXServiceImpl.javai b/src/main/resources/yangliu/XXXServiceImpl.javai
index c8af2dc..f20f4a6 100644
--- a/src/main/resources/yangliu/XXXServiceImpl.javai
+++ b/src/main/resources/yangliu/XXXServiceImpl.javai
@@ -194,4 +194,13 @@ public class ${entityName}ServiceImpl extends ServiceImpl<${entityName}Mapper, $
}
return AjaxResult.success("导入成功");
}
+ /**
+ * 下载模板
+ */
+ @Override
+ public void importTemplateExcel(HttpServletResponse response){
+ ExcelUtil<${entityName}Excel> util = new ExcelUtil<${entityName}Excel>(${entityName}Excel.class);
+ util.importTemplateExcel(response, "${tableVo.ftlDescription}");
+ }
+
}
diff --git a/src/main/resources/yangliu/test.json b/src/main/resources/yangliu/test.json
new file mode 100644
index 0000000..e721d2e
--- /dev/null
+++ b/src/main/resources/yangliu/test.json
@@ -0,0 +1,10 @@
+{
+"oqc_spot_check_record":"抽检记录",
+"oqc_shipment_record":"成品出货记录",
+"oqc_1008_record":"1008仓台账",
+"oqc_after_sales_record":"售后记录",
+"oqc_special_sample":"特殊样件",
+"oqc_product_record":"产品追溯",
+"oqc_ncr_record":"NCR明细",
+"oqc_qrqc_record":"QRQC明细"
+}
\ No newline at end of file