From fb82959b79f61a4b1609a4f388f24c1bef3188c7 Mon Sep 17 00:00:00 2001 From: zhouwentao <1577701412@qq.com> Date: Thu, 17 Aug 2023 13:35:13 +0800 Subject: [PATCH] updates --- pom.xml | 6 +++- .../java/org/yangliu/codegenerate/Main.java | 30 ++++++++++++++----- .../codegenerate/util/TableFieldUtil.java | 8 +++++ .../resources/yangliu/XXXController.javai | 9 +++++- src/main/resources/yangliu/XXXService.javai | 5 ++++ .../resources/yangliu/XXXServiceImpl.javai | 9 ++++++ src/main/resources/yangliu/test.json | 10 +++++++ 7 files changed, 68 insertions(+), 9 deletions(-) create mode 100644 src/main/resources/yangliu/test.json 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