diff --git a/.gitignore b/.gitignore index 6d23dd595e8bed5d8b357ba48818a623f97c7979..b886a4d5bf2bd6266390acae2de20b04391b8847 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,9 @@ # Created by https://www.gitignore.io/api/java,maven,eclipse,java-web,intellij+all # Edit at https://www.gitignore.io/?templates=java,maven,eclipse,java-web,intellij+all + +gitignore + ### Eclipse ### .metadata bin/ diff --git a/README.md b/README.md index ca825a1142fc53000b1ea12d342473273259ac7b..894214818cb5660dbce58f1caac2cb72d7d8c6df 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,11 @@ - 可在`applicaltion.yml`中的`OEM.mode`设置`js/css引入模式`为`local`(本地模式,默认)/`CDN`(云CDN模式,在线网站推荐,省流量) - OEM信息可以在`applicaltion.yml`中的`OEM`中更改 +: 本机地址: http://localhost:1234/generator + + + + # Url 感谢`卡卡`将他部署在[BEJSON](https://java.bejson.com/generator)上,目前是besjon专供的金牌工具(线上版本不一定是最新的,会有延迟,请谅解,谢谢).
diff --git a/generator-web/src/main/java/com/softdev/system/generator/controller/GeneratorController.java b/generator-web/src/main/java/com/softdev/system/generator/controller/GeneratorController.java index 12704ba0bb591ed6123a404ef08f8fdf11c85958..6f35ef8eca5183f75b26981c661938a7e89c7400 100644 --- a/generator-web/src/main/java/com/softdev/system/generator/controller/GeneratorController.java +++ b/generator-web/src/main/java/com/softdev/system/generator/controller/GeneratorController.java @@ -49,6 +49,9 @@ public class GeneratorController { String templates = generatorService.getTemplateConfig(); return ReturnT.ok().put("templates",templates); } + + + @PostMapping("/code/generate") @ResponseBody public ReturnT generateCode(@RequestBody ParamInfo paramInfo) throws Exception { @@ -73,6 +76,7 @@ public class GeneratorController { classInfo = TableParseUtil.processTableToClassInfoByRegex(paramInfo); //默认模式:default parse sql by java } +// 根据class info 自己生成模板吧 字符串操作更加灵活 //2.Set the params 设置表格参数 diff --git a/generator-web/src/main/java/com/softdev/system/generator/entity/FieldInfo.java b/generator-web/src/main/java/com/softdev/system/generator/entity/FieldInfo.java index df9bb3f354b74b27f953d1d94e43fade6a40b5d0..efbe9e5a780eec3c78a68ff01490a9bfda945064 100644 --- a/generator-web/src/main/java/com/softdev/system/generator/entity/FieldInfo.java +++ b/generator-web/src/main/java/com/softdev/system/generator/entity/FieldInfo.java @@ -10,8 +10,10 @@ import lombok.Data; @Data public class FieldInfo { +// user_id 类似这样的字段 数据库的,不过如果数据库里不是下划线形式的,也不一定是这样 private String columnName; private String fieldName; +// 字段是 int 还是string 还是别的什么 private String fieldClass; private String swaggerClass; private String fieldComment; diff --git a/generator-web/src/main/java/com/softdev/system/generator/util/CodeMaker.java b/generator-web/src/main/java/com/softdev/system/generator/util/CodeMaker.java new file mode 100644 index 0000000000000000000000000000000000000000..9e09b651846e9c7aa8035ae6305530c68a62cba9 --- /dev/null +++ b/generator-web/src/main/java/com/softdev/system/generator/util/CodeMaker.java @@ -0,0 +1,210 @@ +package com.softdev.system.generator.util; + +import com.softdev.system.generator.entity.ClassInfo; +import com.softdev.system.generator.entity.FieldInfo; + +import java.util.List; + +public class CodeMaker { + static String makeJdbcTemplateCode(ClassInfo classInfo){ + String template="package zucc.kinect.jdbc;\n" + + "\n" + + "import lombok.extern.slf4j.Slf4j;\n" + + "import org.springframework.beans.factory.annotation.Autowired;\n" + + "import org.springframework.jdbc.core.JdbcTemplate;\n" + + "import org.springframework.jdbc.support.rowset.SqlRowSet;\n" + + "import org.springframework.stereotype.Repository;\n" + + "import zucc.kinect.page.EquipRedPageTime;\n" + + "import zucc.kinect.page.EquipRedPageTimeYuan;\n" + + "import zucc.kinect.util.DecimalUtil;\n" + + "import zucc.kinect.util.StrUtil;\n" + + "\n" + + "import java.sql.Timestamp;\n" + + "import java.util.ArrayList;\n" + + "import java.util.List;\n" + + "\n" + + "@Slf4j\n" + + "@Repository\n" + + "public class #className#JdbcT {\n" + + "\n" + + " private JdbcTemplate jdbcTemplate;\n" + + "\n" + + " @Autowired\n" + + " public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {\n" + + " this.jdbcTemplate = jdbcTemplate;\n" + + " }\n" + + "\n" + + "\n" + + " String l(Object object) {\n" + + " return StrUtil.like(object);\n" + + " }\n" + + "\n" + + " public List list(EquipRedPageTimeYuan equipRedPageTimeYuan, Integer comId) {\n" + + "\n" + + "\n" + + " String equipRedPageSql = \"select ride.*,\\n\" +\n" + + " \" tbl_user.user_name,\\n\" +\n" + + " \" tbl_user.user_phone,\\n\" +\n" + + " \" tbl_equipment.equipment_sid\\n\" +\n" + + " \"from ride,\\n\" +\n" + + " \" tbl_user,\\n\" +\n" + + " \" tbl_equipment\\n\" +\n" + + " \"where ride.user_id = tbl_user.id\\n\" +\n" + + " \" and tbl_equipment.id = ride.equip_id \\n\";\n" + + " if (comId != null) {\n" + + " equipRedPageSql += \" and company_id = ?\";\n" + + "\n" + + " }\n" + + "\n" + + "\n" + + " Long id = equipRedPageTimeYuan.getId();\n" + + " Integer equipId = equipRedPageTimeYuan.getEquipId();\n" + + " Integer dayMaxRed = equipRedPageTimeYuan.getDayMaxRed();\n" + + " Integer todayCanRed = equipRedPageTimeYuan.getTodayCanRed();\n" + + " Timestamp changeDate = equipRedPageTimeYuan.getChangeDate();\n" + + " Integer deleteFlag = equipRedPageTimeYuan.getDeleteFlag();\n" + + "// 传入null 的话 就有问题啊\n" + + "// if()\n" + + " String redStandStr = equipRedPageTimeYuan.getRedStand();\n" + + "\n" + + " Integer redStand = DecimalUtil.yuanToFen(equipRedPageTimeYuan.getRedStand());\n" + + "\n" + + " Integer canRed = equipRedPageTimeYuan.getCanRed();\n" + + "\n" + + " String ip = equipRedPageTimeYuan.getIp();\n" + + " String equipName = equipRedPageTimeYuan.getEquipName();\n" + + "\n" + + "\n" + + "\n" + + " Integer redUp = DecimalUtil.yuanToFen(equipRedPageTimeYuan.getRedUp());\n" + + " Integer redDown = DecimalUtil.yuanToFen(equipRedPageTimeYuan.getRedDown());\n" + + " Integer dayCanRedVal = DecimalUtil.yuanToFen(equipRedPageTimeYuan.getDayCanRedVal());\n" + + " Integer haveSendNum = equipRedPageTimeYuan.getHaveSendNum();\n" + + " String companyName = equipRedPageTimeYuan.getCompanyName();\n" + + "\n" + + " if (id != null) {\n" + + "// sql += \" and id like \" + l(id);\n" + + " equipRedPageSql += \" and equipment_red_packet.id like \" + l(id);\n" + + " }\n" + + " if (equipId != null) {\n" + + "// sql += \" and id like \" + l(id);\n" + + " equipRedPageSql += \" and equipment_id like \" + l(equipId);\n" + + " }\n" + + "\n" + + " if (dayMaxRed != null) {\n" + + " equipRedPageSql += \" and day_max_red like \" + l(dayMaxRed);\n" + + " }\n" + + "\n" + + " if (todayCanRed != null) {\n" + + " equipRedPageSql += \" and today_can_red like \" + l(todayCanRed);\n" + + " }\n" + + "\n" + + " if (changeDate != null) {\n" + + " equipRedPageSql += \" and equipment_red_packet.change_date like \" + l(changeDate);\n" + + " }\n" + + "\n" + + " if (deleteFlag != null) {\n" + + " equipRedPageSql += \" and equipment_red_packet.delete_flag like \" + l(deleteFlag);\n" + + " }\n" + + "\n" + + " if (redStand != null) {\n" + + " equipRedPageSql += \" and red_stand like \" + l(redStand);\n" + + " }\n" + + "\n" + + " if (canRed != null) {\n" + + " equipRedPageSql += \" and can_red like \" + l(canRed);\n" + + " }\n" + + "\n" + + " if (redUp != null) {\n" + + "// sql += \" and id like \" + l(id);\n" + + " equipRedPageSql += \" and red_up like \" + l(redUp);\n" + + " }\n" + + " if (redDown != null) {\n" + + "// sql += \" and id like \" + l(id);\n" + + " equipRedPageSql += \" and red_down like \" + l(redDown);\n" + + " }\n" + + "\n" + + "\n" + + " if (dayCanRedVal != null) {\n" + + " equipRedPageSql += \" and day_can_red_val like \" + l(dayCanRedVal);\n" + + " }\n" + + "\n" + + " if (haveSendNum != null) {\n" + + " equipRedPageSql += \" and have_send_num like \" + l(haveSendNum);\n" + + " }\n" + + " if (companyName != null) {\n" + + " equipRedPageSql += \" and company_name like \" + l(companyName);\n" + + " }\n" + + "\n" + + "\n" + + "\n" + + " if (ip != null) {\n" + + "// sql += \" and id like \" + l(id);\n" + + " equipRedPageSql += \" and ip like \" + l(ip);\n" + + " }\n" + + " if (equipName != null) {\n" + + "// sql += \" and id like \" + l(id);\n" + + " equipRedPageSql += \" and equipment_sid like \" + l(equipName);\n" + + " }\n" + + "\n" + + " int pageIndex = equipRedPageTimeYuan.getPageIndex();\n" + + " int pageSize = equipRedPageTimeYuan.getPageSize();\n" + + "\n" + + " String startTime = equipRedPageTimeYuan.getStartTime();\n" + + " String endTime = equipRedPageTimeYuan.getEndTime();\n" + + " if (startTime != null && endTime != null) {\n" + + " equipRedPageSql += \" and date(change_date)>= \" + StrUtil.quotation(startTime);\n" + + " equipRedPageSql += \" and date(change_date)<= \" + StrUtil.quotation(endTime);\n" + + " }\n" + + "\n" + + " List list = new ArrayList<>();\n" + + "\n" + + " SqlRowSet sqlRowSet;\n" + + " if(comId==null){\n" + + " sqlRowSet = jdbcTemplate.queryForRowSet(equipRedPageSql);\n" + + "\n" + + " }else{\n" + + " sqlRowSet = jdbcTemplate.queryForRowSet(equipRedPageSql, comId);\n" + + " }\n" + + " while (sqlRowSet.next()) {\n" + + " Long id1 = sqlRowSet.getLong(\"id\");\n" + + " Integer equipment_id = sqlRowSet.getInt(\"equipment_id\");\n" + + " Integer day_max_red = sqlRowSet.getInt(\"day_max_red\");\n" + + " Integer today_can_red = sqlRowSet.getInt(\"today_can_red\");\n" + + " Timestamp change_date = sqlRowSet.getTimestamp(\"change_date\");\n" + + " Integer delete_flag = sqlRowSet.getInt(\"delete_flag\");\n" + + " Integer red_stand = sqlRowSet.getInt(\"red_stand\");\n" + + " Integer can_red = sqlRowSet.getInt(\"can_red\");\n" + + " String ip1 = sqlRowSet.getString(\"ip\");\n" + + " String equipment_sid = sqlRowSet.getString(\"equipment_sid\");\n" + + "\n" + + "\n" + + " int red_up = sqlRowSet.getInt(\"red_up\");\n" + + " int red_down = sqlRowSet.getInt(\"red_down\");\n" + + " int day_can_red_val = sqlRowSet.getInt(\"day_can_red_val\");\n" + + " int have_send_num = sqlRowSet.getInt(\"have_send_num\");\n" + + " String company_name = sqlRowSet.getString(\"company_name\");\n" + + "\n" + + "\n" + + " EquipRedPageTime equipRedPageTime1 = new EquipRedPageTime(id1, equipment_id, change_date, ip1, red_stand,\n" + + " equipment_sid, day_max_red, today_can_red, can_red, delete_flag, pageIndex, pageSize,\n" + + " startTime, endTime,red_up,red_down,day_can_red_val,have_send_num,company_name);\n" + + " EquipRedPageTimeYuan equipRedPageTimeYuanRes = equipRedPageTime1.toYuan();\n" + + "\n" + + " list.add(equipRedPageTimeYuanRes);\n" + + " }\n" + + " return list;\n" + + "\n" + + "\n" + + " }\n" + + "}\n"; + List fieldList = classInfo.getFieldList(); + for (FieldInfo fieldInfo : fieldList) { + String fieldName = fieldInfo.getFieldName(); + String columnName = fieldInfo.getColumnName(); +// 这个应该是下划线的吧 + } + template= template.replace("#className#",classInfo.getClassName()); + return null; + } +} diff --git a/generator-web/src/main/java/com/softdev/system/generator/util/TableParseUtil.java b/generator-web/src/main/java/com/softdev/system/generator/util/TableParseUtil.java index 51e318cc9080ca75fb32c3ce0d6e4b4918d59db4..785bd5f4df2f1dd2582bdbcbf64007f963d4eea7 100644 --- a/generator-web/src/main/java/com/softdev/system/generator/util/TableParseUtil.java +++ b/generator-web/src/main/java/com/softdev/system/generator/util/TableParseUtil.java @@ -46,6 +46,7 @@ public class TableParseUtil { //deal with java string copy \n" tableSql = tableSql.trim().replaceAll("\\\\n`", "").replaceAll("\\+", "").replaceAll("``", "`").replaceAll("\\\\", ""); // table Name + String tableName = null; if (tableSql.contains("TABLE") && tableSql.contains("(")) { tableName = tableSql.substring(tableSql.indexOf("TABLE") + 5, tableSql.indexOf("(")); @@ -111,6 +112,7 @@ public class TableParseUtil { // 正常( ) 内的一定是字段相关的定义。 String fieldListTmp = tableSql.substring(tableSql.indexOf("(") + 1, tableSql.lastIndexOf(")")); + // 匹配 comment,替换备注里的小逗号, 防止不小心被当成切割符号切割 String commentPattenStr1 = "comment `(.*?)\\`"; Matcher matcher1 = Pattern.compile(commentPattenStr1).matcher(fieldListTmp); @@ -149,6 +151,7 @@ public class TableParseUtil { if (fieldLineList.length > 0) { int i = 0; //i为了解决primary key关键字出现的地方,出现在前3行,一般和id有关 +// 为什么id 不要呢,这里看起来把id略过了,还是说前后端传值的时候不用传id的吗 for (String columnLine : fieldLineList) { i++; columnLine = columnLine.replaceAll("\n", "").replaceAll("\t", "").trim(); @@ -164,6 +167,9 @@ public class TableParseUtil { && !columnLine.contains("pctincrease") && !columnLine.contains("buffer_pool") && !columnLine.contains("tablespace") && !(columnLine.contains("primary ") && i > 3)); + +// 我知道了 为了排除 PRIMARY KEY (`id`) 这种 +// if (specialFlag||columnLine.contains("id")) { if (specialFlag) { //如果是oracle的number(x,x),可能出现最后分割残留的,x),这里做排除处理 if (columnLine.length() < 5) { @@ -214,6 +220,7 @@ public class TableParseUtil { } // field class // int(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID', +// 字段是 int 还是string 还是别的什么 String fieldClass = Object.class.getSimpleName(); //2018-9-16 zhengk 补充char/clob/blob/json等类型,如果类型未知,默认为String //2018-11-22 lshz0088 处理字段类型的时候,不严谨columnLine.contains(" int") 类似这种的,可在前后适当加一些空格之类的加以区分,否则当我的字段包含这些字符的时候,产生类型判断问题。 diff --git a/generator-web/src/main/resources/template.json b/generator-web/src/main/resources/template.json index 13c6cb218831e9468586816140f01016d158732d..b9265e69200f7fb4a83e49c419cce8029767751e 100644 --- a/generator-web/src/main/resources/template.json +++ b/generator-web/src/main/resources/template.json @@ -24,7 +24,19 @@ "id": "14", "name": "layui-list", "description": "layui-list" + }, + { + "id": "15", + "name": "element-ui-starp", + "description": "element-ui-starp" + }, + { + "id": "16", + "name": "element-ui-starp-underline", + "description": "element-ui-starp-underline" } + + ] }, { @@ -97,7 +109,13 @@ "id": "41", "name": "jtdaoimpl", "description": "jtdaoimpl" + }, + { + "id": "42", + "name": "jt-like", + "description": "jt-like" } + ] }, @@ -247,7 +265,75 @@ "id": "103", "name": "starp-jpa-controller", "description": "jpacontroller" + }, + { + "id": "104", + "name": "i-view", + "description": "i-view.ftl" + }, + { + "id": "105", + "name": "i-view-api", + "description": "i-view-api" + }, + { + "id": "106", + "name": "i-view-form", + "description": "i-view-form" + }, + { + "id": "107", + "name": "i-view-edit", + "description": "i-view-edit" + } + ] + }, + { + "group": "mybatis-starp", + "templates": [{ + "id": "110", + "name": "controller-starp", + "description": "controller" + }, + { + "id": "111", + "name": "service-starp", + "description": "service" + }, + { + "id": "112", + "name": "service_impl-starp", + "description": "service_impl" + }, + { + "id": "113", + "name": "mapper-starp", + "description": "mapper" + }, + { + "id": "114", + "name": "mybatis-starp", + "description": "mybatis" + }, + { + "id": "115", + "name": "model-starp", + "description": "model" + }, + { + "id": "116", + "name": "annotation-mapper-starp", + "description": "mapper annotation" } ] + }, + { + "group": "android", + "templates": [{ + "id": "120", + "name": "initView", + "description": "initView" + } + ] } ] diff --git a/generator-web/src/main/resources/templates/code-generator/android/initView.ftl b/generator-web/src/main/resources/templates/code-generator/android/initView.ftl new file mode 100644 index 0000000000000000000000000000000000000000..0097b5886725dc232f9cc03b9c7d18fd6fbd59c8 --- /dev/null +++ b/generator-web/src/main/resources/templates/code-generator/android/initView.ftl @@ -0,0 +1,49 @@ +/** +* ${classInfo.classComment}安卓 initView +* @author ${authorName} ${.now?string('yyyy-MM-dd')} +*/ + +<#if classInfo.fieldList?exists && classInfo.fieldList?size gt 0> + + + <#list classInfo.fieldList as fieldItem> + TextView textView${fieldItem.fieldName?cap_first}; + + + +<#-- void initFragmentView() {--> +<#-- <#list classInfo.fieldList as fieldItem>--> +<#-- textView${fieldItem.fieldName?cap_first}=getActivity().findViewById(R.id.textView${fieldItem.fieldName?cap_first});--> +<#-- --> +<#-- }--> + + + + void initFragmentView(View view) { + <#list classInfo.fieldList as fieldItem> + textView${fieldItem.fieldName?cap_first}=view.findViewById(R.id.textView${fieldItem.fieldName?cap_first}); + + } + + void initView() { + <#list classInfo.fieldList as fieldItem> + <#-- // ${fieldItem.fieldComment}--> + textView${fieldItem.fieldName?cap_first}=findViewById(R.id.textView${fieldItem.fieldName?cap_first}); + + } + + + <#list classInfo.fieldList as fieldItem> + if(textView${fieldItem.fieldName?cap_first}!=null){ + textView${fieldItem.fieldName?cap_first}.setText(${classInfo.className?uncap_first}.get${fieldItem.fieldName?cap_first}()); + } + + + void setViewData(${classInfo.className?cap_first} ${classInfo.className?uncap_first}){ + <#list classInfo.fieldList as fieldItem> + if(textView${fieldItem.fieldName?cap_first}!=null){ + textView${fieldItem.fieldName?cap_first}.setText(${classInfo.className?uncap_first}.get${fieldItem.fieldName?cap_first}()); + } + + } + diff --git a/generator-web/src/main/resources/templates/code-generator/android/json.ftl b/generator-web/src/main/resources/templates/code-generator/android/json.ftl new file mode 100644 index 0000000000000000000000000000000000000000..596cce40f8e9462c0b63890cb0a4210795bef771 --- /dev/null +++ b/generator-web/src/main/resources/templates/code-generator/android/json.ftl @@ -0,0 +1,13 @@ +<#if classInfo.fieldList?exists && classInfo.fieldList?size gt 0> +{ +<#list classInfo.fieldList as fieldItem> + "${fieldItem.fieldName}":"${fieldItem.fieldComment}"<#if fieldItem_has_next>, + +} + +{ +<#list classInfo.fieldList as fieldItem> + "${fieldItem.fieldName}":""<#if fieldItem_has_next>, + +} + diff --git a/generator-web/src/main/resources/templates/code-generator/android/sql.ftl b/generator-web/src/main/resources/templates/code-generator/android/sql.ftl new file mode 100644 index 0000000000000000000000000000000000000000..126f84dc2ba46e857098f21127fb5d42af5ede8f --- /dev/null +++ b/generator-web/src/main/resources/templates/code-generator/android/sql.ftl @@ -0,0 +1,74 @@ + +<#if classInfo.fieldList?exists && classInfo.fieldList?size gt 0> + #SQL横向select + SELECT <#list classInfo.fieldList as fieldItem >t.${fieldItem.columnName}<#if fieldItem_has_next>, + FROM ${classInfo.tableName} t; + + #CSV横向字段名 + <#list classInfo.fieldList as fieldItem >${fieldItem.columnName}<#if fieldItem_has_next>, + + +<#if classInfo.fieldList?exists && classInfo.fieldList?size gt 0> +#LEFT JOIN + SELECT + * + FROM + ${classInfo.tableName} a + LEFT JOIN ${classInfo.tableName} b + ON a.${classInfo.tableName}_id=b.${classInfo.tableName}_id + WHERE 1=1; + + +<#if classInfo.fieldList?exists && classInfo.fieldList?size gt 0> +#INSERT INTO + INSERT INTO ${classInfo.tableName} ( <#list classInfo.fieldList as fieldItem >${fieldItem.columnName}<#if fieldItem_has_next>, ) + VALUES + ( + <#list classInfo.fieldList as fieldItem >''<#if fieldItem_has_next>, + ); + + + +<#if classInfo.fieldList?exists && classInfo.fieldList?size gt 0> +#关联更新 + UPDATE ${classInfo.tableName} a + JOIN ${classInfo.tableName}_join b ON a.${classInfo.tableName}_id = b.${classInfo.tableName}_id + SET <#list classInfo.fieldList as fieldItem > a.${fieldItem.columnName} = b.${fieldItem.columnName}<#if fieldItem_has_next>, + WHERE + b.${classInfo.tableName}_id IS NOT NULL; + + UPDATE ${classInfo.tableName} a,${classInfo.tableName}_join b + SET <#list classInfo.fieldList as fieldItem > a.${fieldItem.columnName} = b.${fieldItem.columnName}<#if fieldItem_has_next>, + WHERE a.${classInfo.tableName}_id = b.${classInfo.tableName}_id; + +#普通update + UPDATE ${classInfo.tableName} + SET + <#list classInfo.fieldList as fieldItem > + ${fieldItem.columnName} = ''<#if fieldItem_has_next>, + + WHERE + <#list classInfo.fieldList as fieldItem > + ${fieldItem.columnName} = ''<#if fieldItem_has_next>, + ; + + + + +<#if classInfo.fieldList?exists && classInfo.fieldList?size gt 0> +#关联删除 + delete a from ${classInfo.tableName}_del as a inner join ${classInfo.tableName} as b + where a.${classInfo.tableName}_id=b.${classInfo.tableName}_id; + +#普通删除 + DELETE + FROM + ${classInfo.tableName} + WHERE + <#list classInfo.fieldList as fieldItem > + ${fieldItem.columnName} = ''<#if fieldItem_has_next>, + ; + + + + diff --git a/generator-web/src/main/resources/templates/code-generator/android/swagger-yml.ftl b/generator-web/src/main/resources/templates/code-generator/android/swagger-yml.ftl new file mode 100644 index 0000000000000000000000000000000000000000..ce22aaa503e0d58aec516c4797e59e3f0936388a --- /dev/null +++ b/generator-web/src/main/resources/templates/code-generator/android/swagger-yml.ftl @@ -0,0 +1,12 @@ + +<#if classInfo.fieldList?exists && classInfo.fieldList?size gt 0> +${classInfo.className}: + type: "object" + properties: +<#list classInfo.fieldList as fieldItem > + ${fieldItem.fieldName}: + type: ${fieldItem.swaggerClass} + description: <#if isComment?exists && isComment==true>"${fieldItem.fieldComment}" + + + diff --git a/generator-web/src/main/resources/templates/code-generator/android/xml.ftl b/generator-web/src/main/resources/templates/code-generator/android/xml.ftl new file mode 100644 index 0000000000000000000000000000000000000000..3959cfcb1d08bc7e954b5c25ff613214f1cc2e2d --- /dev/null +++ b/generator-web/src/main/resources/templates/code-generator/android/xml.ftl @@ -0,0 +1,11 @@ + +<#if classInfo.fieldList?exists && classInfo.fieldList?size gt 0> +<${classInfo.className}> +<#list classInfo.fieldList as fieldItem> + <${fieldItem.fieldName}>${fieldItem.fieldComment} + + + diff --git a/generator-web/src/main/resources/templates/code-generator/jdbc-template/jt-like.ftl b/generator-web/src/main/resources/templates/code-generator/jdbc-template/jt-like.ftl new file mode 100644 index 0000000000000000000000000000000000000000..652a804c9d481b941bc9fb1953b13a361d6dd0ec --- /dev/null +++ b/generator-web/src/main/resources/templates/code-generator/jdbc-template/jt-like.ftl @@ -0,0 +1,67 @@ +<#if isWithPackage?exists && isWithPackage==true>package ${packageName}.jdbct; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.support.rowset.SqlRowSet; +import org.springframework.stereotype.Repository; +import zucc.kinect.page.EquipRedPageTime; +import zucc.kinect.page.EquipRedPageTimeYuan; +import zucc.kinect.util.DecimalUtil; +import zucc.kinect.util.StrUtil; + +import java.sql.Timestamp; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +@Slf4j +@Repository +public class ${classInfo.className}JdbcT { + +private JdbcTemplate jdbcTemplate; + +@Autowired +public void setJdbcTemplate(JdbcTemplate jdbcTemplate) { +this.jdbcTemplate = jdbcTemplate; +} + + +String l(Object object) { +return StrUtil.like(object); +} + +public List> list(${classInfo.className} ${classInfo.className?uncap_first}, Integer comId) { + + + String sqlStr = ""; + if (comId != null) { + sqlStr += " and company_id = ?"; + + } + + <#if classInfo.fieldList?exists && classInfo.fieldList?size gt 0> + <#list classInfo.fieldList as fieldItem > + if (${classInfo.className?uncap_first}.get${fieldItem.fieldName?cap_first}() != null) { + sqlStr += " and ${classInfo.originTableName}.${fieldItem.columnName} like " + l(${classInfo.className?uncap_first}.get${fieldItem.fieldName?cap_first}()); + } + + + + + int pageIndex = equipRedPageTimeYuan.getPageIndex(); + int pageSize = equipRedPageTimeYuan.getPageSize(); + + String startTime = equipRedPageTimeYuan.getStartTime(); + String endTime = equipRedPageTimeYuan.getEndTime(); + if (startTime != null && endTime != null) { + sqlStr += " and date(change_date)>= " + StrUtil.quotation(startTime); + sqlStr += " and date(change_date)<= " + StrUtil.quotation(endTime); + } + + List> maps = jdbcTemplate.queryForList(sqlStr); + return maps; + + + } + } diff --git a/generator-web/src/main/resources/templates/code-generator/jpa-starp/i-view-api.ftl b/generator-web/src/main/resources/templates/code-generator/jpa-starp/i-view-api.ftl new file mode 100644 index 0000000000000000000000000000000000000000..55fa7bbccac61843e8f832d9fd00fddeefac9906 --- /dev/null +++ b/generator-web/src/main/resources/templates/code-generator/jpa-starp/i-view-api.ftl @@ -0,0 +1,172 @@ +import request from "../utils/request"; + +export function selectWriters(data) { +return request({ +url: '/writer/selectWriters', +data: data, +method: 'POST' +}); +} + + +export function selectAll(data) { +return request({ +url: '/${classInfo.className?uncap_first}/selectAll', +data: data, +method: 'POST' +}); +} + +export function selectPage(data,pageNumber,pageSize) { +return request({ +url: `/${classInfo.className?uncap_first}/selectPage?pageNumber=${r'${pageNumber}'}&pageSize=${r'${pageSize}'}`, +data: data, +method: 'POST' +}); +} + + +export function selectVerifyWriters(data) { +return request({ +url: '/writer/selectVerifyWriters', +data: data, +method: 'POST' +}) +} + +export function createWriter(data) { +return request({ +url: '/writer', +data: data, +method: 'POST' +}) +} +export function create(data) { +return request({ +url: '/${classInfo.className?uncap_first}', +data: data, +method: 'POST' +}) +} + + +export function updateWriter(data) { +return request({ +url: '/writer', +data: data, +method: 'PUT' +}) +} + +export function update(data) { +return request({ +url: '/${classInfo.className?uncap_first}', +data: data, +method: 'PUT' +}) +} + + +export function uploadPhoto(wid, data) { +return request({ +url: '/writer/upload/' + wid, +data: data, +method: 'POST' +}) +} + + +// export function uploadExcel(wid, excelData) { +// return request({ +// url: '/writer/uploadExcel/' + wid, +// data: excelData, +// method: 'POST' +// }) +// } + + +// export function uploadExcel(excelData) { +// return request({ +// url: '/writer/uploadExcel' , +// data: excelData, +// method: 'POST' +// }) +// } + +export function uploadExcelOfBodyComposition(excelData) { +return request({ +url: '/bodyComposition/uploadExcel' , +data: excelData, +method: 'POST' +}) +} +// BodyCompositionService + +export function deleteWriter(wid) { +return request({ +url: '/writer/' + wid, +method: 'DELETE' +}) +} + +export function deleteOne(wid) { +return request({ +url: '/${classInfo.className?uncap_first}/' + wid, +method: 'DELETE' +}) +} + +export function getWriterInfo(wid) { +return request({ +url: '/writer/' + wid, +method: 'GET' +}) +} + +export function getInfo(wid) { +return request({ +url: '/${classInfo.className?uncap_first}/' + wid, +method: 'GET' +}) +} + +export function batchInsertWriters(data) { +return request({ +url: '/writer/batchInsert', +data: data, +method: 'POST' +}) +} + + +export function batchInsert(data) { +return request({ +url: '/${classInfo.className?uncap_first}/batchInsert', +data: data, +method: 'POST' +}) +} + +export function batchDelete(data) { +return request({ +url: '/${classInfo.className?uncap_first}/batchDelete', +data: data, +method: 'POST' +}) +} + +export function verifyWriter(data) { +return request({ +url: '/writer/verify', +method: 'POST', +data: data +}) +} + +export function exportToWord(wid) { +return request({ +url: '/writer/exportToWord/' + wid, +method: 'GET', +responseType: 'blob' +}) +} diff --git a/generator-web/src/main/resources/templates/code-generator/jpa-starp/i-view-edit.ftl b/generator-web/src/main/resources/templates/code-generator/jpa-starp/i-view-edit.ftl new file mode 100644 index 0000000000000000000000000000000000000000..7b7e48eba4b4983b0efdf2cee1d117f4806ddff3 --- /dev/null +++ b/generator-web/src/main/resources/templates/code-generator/jpa-starp/i-view-edit.ftl @@ -0,0 +1,157 @@ + + + + + diff --git a/generator-web/src/main/resources/templates/code-generator/jpa-starp/i-view-form.ftl b/generator-web/src/main/resources/templates/code-generator/jpa-starp/i-view-form.ftl new file mode 100644 index 0000000000000000000000000000000000000000..efe644fa5e4558c1b9f7b9e516bbba54f9197e70 --- /dev/null +++ b/generator-web/src/main/resources/templates/code-generator/jpa-starp/i-view-form.ftl @@ -0,0 +1,220 @@ + + + + + diff --git a/generator-web/src/main/resources/templates/code-generator/jpa-starp/i-view.ftl b/generator-web/src/main/resources/templates/code-generator/jpa-starp/i-view.ftl new file mode 100644 index 0000000000000000000000000000000000000000..af76ff0f9f307b7c132841aa86254241d9e408cf --- /dev/null +++ b/generator-web/src/main/resources/templates/code-generator/jpa-starp/i-view.ftl @@ -0,0 +1,404 @@ + + + + + diff --git a/generator-web/src/main/resources/templates/code-generator/jpa-starp/i-viewReq.ftl b/generator-web/src/main/resources/templates/code-generator/jpa-starp/i-viewReq.ftl new file mode 100644 index 0000000000000000000000000000000000000000..8c45be46e68879998eaa2dc7cb3a2bbb540b9baa --- /dev/null +++ b/generator-web/src/main/resources/templates/code-generator/jpa-starp/i-viewReq.ftl @@ -0,0 +1,400 @@ + + + + + diff --git a/generator-web/src/main/resources/templates/code-generator/jpa-starp/starp-entity.ftl b/generator-web/src/main/resources/templates/code-generator/jpa-starp/starp-entity.ftl index 48183456d0433038b2e9644d0d686495828deca0..70f2ed893ff8a40c267d2a476e7fb0e62ef89e1c 100644 --- a/generator-web/src/main/resources/templates/code-generator/jpa-starp/starp-entity.ftl +++ b/generator-web/src/main/resources/templates/code-generator/jpa-starp/starp-entity.ftl @@ -9,7 +9,8 @@ import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; -import javax.persistence.GeneratedValue; + import javax.persistence.*; + import javax.persistence.GeneratedValue; <#if isSwagger?exists && isSwagger==true> import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -53,6 +54,7 @@ public class ${classInfo.className} implements Serializable { return ${fieldItem.fieldName}; } +<#-- https://blog.csdn.net/niuch1029291561/article/details/8190617--> public void set${fieldItem.fieldName?cap_first}(${fieldItem.fieldClass} ${fieldItem.fieldName}) { this.${fieldItem.fieldName} = ${fieldItem.fieldName}; } diff --git a/generator-web/src/main/resources/templates/code-generator/jpa-starp/starp-jpa-controller.ftl b/generator-web/src/main/resources/templates/code-generator/jpa-starp/starp-jpa-controller.ftl index f9470fc6e3bd290f542d918b2f5cad5683de9b25..74fa536830f0f74ac930eb8fae4baeacd8e25df5 100644 --- a/generator-web/src/main/resources/templates/code-generator/jpa-starp/starp-jpa-controller.ftl +++ b/generator-web/src/main/resources/templates/code-generator/jpa-starp/starp-jpa-controller.ftl @@ -16,6 +16,8 @@ import java.util.Map; import java.util.Optional; +import javax.persistence.criteria.Predicate; + /** * @description ${classInfo.classComment} * @author ${authorName} @@ -103,4 +105,82 @@ public class ${classInfo.className}Controller { } +<#-- @PostMapping("/findAllById")--> +<#-- @ApiOperation(value = "findAllById", notes = "findAllById")--> +<#-- public Object findAllById(@RequestBody List ids){--> +<#-- try {--> +<#-- List<${classInfo.className}> allById = ${classInfo.className?uncap_first}Repository.findAllById(ids);--> +<#-- return ReturnT.success(allById);--> +<#-- } catch (Exception e) {--> +<#-- e.printStackTrace();--> +<#-- return ReturnT.error("保存失败");--> +<#-- }--> +<#-- }--> + + @PostMapping("/findAllById") + @ApiOperation(value = "findAllById", notes = "findAllById") + public Object findAllById(@RequestBody List ids, + @RequestParam(required = false, defaultValue = "0") int pageNumber, + @RequestParam(required = false, defaultValue = "10") int pageSize){ + try { + List<${classInfo.className}> allById = ${classInfo.className?uncap_first}Repository.findAllById(ids); + StarpPage<${classInfo.className}>starpPage=new StarpPage<>(allById,pageNumber,pageSize); + return ReturnT.success(starpPage); + } catch (Exception e) { + e.printStackTrace(); + return ReturnT.error("保存失败"); + } + } + + + + @PostMapping("/deleteInBatch") + @ApiOperation(value = "deleteInBatch", notes = "deleteInBatch") + public Object deleteInBatch(@RequestBody List<${classInfo.className} > entities){ + try { + ${classInfo.className?uncap_first}Repository.deleteInBatch(entities); + return ReturnT.success("批量删除成功"); + } catch (Exception e) { + e.printStackTrace(); + return ReturnT.error("批量删除失败"); + } + } + + @PostMapping("/listLike") + @ApiOperation(value = "listLike", notes = "listLike") + public Object listLike(@RequestBody ${classInfo.className} ${classInfo.className?uncap_first}, + @RequestParam(required = false, defaultValue = "0") int pageNumber, + @RequestParam(required = false, defaultValue = "10") int pageSize) { + + try { + + Pageable pageable = PageRequest.of(pageNumber,pageSize); + Page< ${classInfo.className}> page = ${classInfo.className?uncap_first}Repository.findAll((Specification< ${classInfo.className}>) + (root, criteriaQuery, criteriaBuilder) -> { + List list = new ArrayList(); +<#-- list.add(criteriaBuilder.like(--> + <#if classInfo.fieldList?exists && classInfo.fieldList?size gt 0> + <#list classInfo.fieldList as fieldItem > +<#-- if(null!=${classInfo.className?uncap_first}.get${fieldItem.fieldName?cap_first}()){--> +<#-- root.get("${fieldItem.fieldName}").as(${fieldItem.fieldClass}.class),--> +<#-- "%"+ ${classInfo.className?uncap_first}.get${fieldItem.fieldName?cap_first}()+"%"));--> +<#-- }--> + if(null!=${classInfo.className?uncap_first}.get${fieldItem.fieldName?cap_first}()){ + list.add(criteriaBuilder.like(root.get("${fieldItem.fieldName}").as(String.class), "%"+ ${classInfo.className?uncap_first}.get${fieldItem.fieldName?cap_first}()+"%")); + } + + + + Predicate[] p = new Predicate[list.size()]; + return criteriaBuilder.and(list.toArray(p)); + },pageable); + return ReturnT.success(page); + + } catch (Exception e) { + e.printStackTrace(); + return ReturnT.error(e.getMessage()); + } + + } + } diff --git a/generator-web/src/main/resources/templates/code-generator/jpa-starp/starp-repository.ftl b/generator-web/src/main/resources/templates/code-generator/jpa-starp/starp-repository.ftl index c3643a20fc146ae426587ad58d6f2833a41c6ef1..50ece490f07c8d9fc091091652accbc756c760d4 100644 --- a/generator-web/src/main/resources/templates/code-generator/jpa-starp/starp-repository.ftl +++ b/generator-web/src/main/resources/templates/code-generator/jpa-starp/starp-repository.ftl @@ -19,7 +19,8 @@ import org.springframework.stereotype.Repository; * @date ${.now?string('yyyy-MM-dd')} */ @Repository -public interface ${classInfo.className}Repository extends JpaRepository<${classInfo.className},Integer> { +public interface ${classInfo.className}Repository extends JpaRepository<${classInfo.className},Integer> , + JpaSpecificationExecutor<${classInfo.className}>{ diff --git a/generator-web/src/main/resources/templates/code-generator/mybatis-plus/pluscontroller.ftl b/generator-web/src/main/resources/templates/code-generator/mybatis-plus/pluscontroller.ftl index f18e4429c0c0c6b69750cf32eb5225f2005f7180..abb9c2f945ad183295b6cde8b99a4279d8733504 100644 --- a/generator-web/src/main/resources/templates/code-generator/mybatis-plus/pluscontroller.ftl +++ b/generator-web/src/main/resources/templates/code-generator/mybatis-plus/pluscontroller.ftl @@ -5,6 +5,8 @@ import ${packageName}.entity.${classInfo.className}; import ${packageName}.mapper.${classInfo.className}Mapper; import ${packageName}.util.ReturnT; import lombok.extern.slf4j.Slf4j; + import com.github.pagehelper.Page; + import java.util.Date; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -27,7 +29,8 @@ import java.util.Map; @RequestMapping("/${classInfo.className?uncap_first}") public class ${classInfo.className}Controller { - @Autowired +<#-- @Autowired--> + @Resource private ${classInfo.className}Mapper ${classInfo.className?uncap_first}Mapper; /** @@ -50,6 +53,40 @@ public class ${classInfo.className}Controller { return ${returnUtilSuccess}("保存成功"); } + @Autowired + ${classInfo.className}Service ${classInfo.className?uncap_first}Service; + +<#--@PostMapping("/")--> +@PostMapping("") +public Object create(@RequestBody ${classInfo.className} ${classInfo.className?uncap_first}){ +int insert = ${classInfo.className?uncap_first}Mapper.insert(${classInfo.className?uncap_first}); +return Result.success(insert); +} + + @RequestMapping(value = "/selectPage", method = RequestMethod.POST) + public Result selectPage(@RequestBody ${classInfo.className} ${classInfo.className?uncap_first}, + @RequestParam(required = false, defaultValue = "0") int pageNumber, + @RequestParam(required = false, defaultValue = "10") int pageSize) { + try { + + PageHelper.startPage(pageNumber,pageSize); + + List< ${classInfo.className}> list = ${classInfo.className?uncap_first}Service.list(); + + Page writersPage = (Page) list; + return Result.success(writersPage); + + } + catch (Exception e){ + log.info("error {}",e.getMessage()); + return Result.error(e.getMessage()); + + } + finally { + PageHelper.clearPage(); + } + } + /** * 删除 */ @@ -143,7 +180,7 @@ public class ${classInfo.className}Controller { }else if(status.equals(${classInfo.className?uncap_first}.getStatus())){ return ${returnUtilFailure}("状态不正确"); }else{ - return ${returnUtilFailure}(); + return ${returnUtilFailure}("失败"); } } @@ -152,10 +189,10 @@ public class ${classInfo.className}Controller { */ @PostMapping("/execute") public Object execute(){ - return ${returnUtilSuccess}; + return ${returnUtilSuccess}("成功"); } } -} + diff --git a/generator-web/src/main/resources/templates/code-generator/mybatis-plus/plusentity.ftl b/generator-web/src/main/resources/templates/code-generator/mybatis-plus/plusentity.ftl index 52134edbb6b75bdf4bf62014ee5cfe32edfc2933..9917ad92e32ddf16b50c52f33536d25d2d0fbd1a 100644 --- a/generator-web/src/main/resources/templates/code-generator/mybatis-plus/plusentity.ftl +++ b/generator-web/src/main/resources/templates/code-generator/mybatis-plus/plusentity.ftl @@ -18,10 +18,52 @@ import io.swagger.annotations.ApiModelProperty; */ <#if isLombok?exists && isLombok==true>@Data<#if isSwagger?exists && isSwagger==true> @ApiModel("${classInfo.classComment}") +@JsonIgnoreProperties(ignoreUnknown = true) public class ${classInfo.className} implements Serializable { private static final long serialVersionUID = 1L; + public static LambdaQueryWrapper<${classInfo.className}> getEqLambdaQueryWrapper(${classInfo.className} ${classInfo.className?uncap_first}){ + + LambdaQueryWrapper<${classInfo.className}> eq = + Wrappers.lambdaQuery(${classInfo.className}.class) + <#if classInfo.fieldList?exists && classInfo.fieldList?size gt 0> + <#list classInfo.fieldList as fieldItem > + .eq(${classInfo.className}::get${fieldItem.fieldName?cap_first}, ${classInfo.className?uncap_first}.get${fieldItem.fieldName?cap_first}()) + + + ; + return eq; + } + + public static LambdaQueryWrapper<${classInfo.className}> getLikeLambdaQueryWrapper(${classInfo.className} ${classInfo.className?uncap_first}){ + + LambdaQueryWrapper<${classInfo.className}> queryWrapper = + Wrappers.lambdaQuery(${classInfo.className}.class) + <#if classInfo.fieldList?exists && classInfo.fieldList?size gt 0> + <#list classInfo.fieldList as fieldItem > + .like(${classInfo.className?uncap_first}.get${fieldItem.fieldName?cap_first}()!=null,${classInfo.className}::get${fieldItem.fieldName?cap_first}, ${classInfo.className?uncap_first}.get${fieldItem.fieldName?cap_first}()) + + + ; + return queryWrapper; + } + + + public LambdaQueryWrapper<${classInfo.className}> getEqLambdaQueryWrapper(){ + + LambdaQueryWrapper<${classInfo.className}> eq = + Wrappers.lambdaQuery(${classInfo.className}.class) + <#if classInfo.fieldList?exists && classInfo.fieldList?size gt 0> + <#list classInfo.fieldList as fieldItem > + .eq(${classInfo.className}::get${fieldItem.fieldName?cap_first}, get${fieldItem.fieldName?cap_first}()) + + + ; + return eq; + } + + @TableId(type = IdType.AUTO) <#if classInfo.fieldList?exists && classInfo.fieldList?size gt 0> <#list classInfo.fieldList as fieldItem > diff --git a/generator-web/src/main/resources/templates/code-generator/mybatis-plus/plusmapper.ftl b/generator-web/src/main/resources/templates/code-generator/mybatis-plus/plusmapper.ftl index 438b514fd1ee6141a5a86414e3490ae44e7a701b..c15ab01ced0116fd616c127ade39540d43e3f7d7 100644 --- a/generator-web/src/main/resources/templates/code-generator/mybatis-plus/plusmapper.ftl +++ b/generator-web/src/main/resources/templates/code-generator/mybatis-plus/plusmapper.ftl @@ -12,7 +12,8 @@ import java.util.List; * @date ${.now?string('yyyy-MM-dd')} */ @Mapper -public interface ${classInfo.className}Mapper extends BaseMapper<${classInfo.className}> { +<#--public interface ${classInfo.className}Mapper extends BaseMapper<${classInfo.className}> {--> +public interface ${classInfo.className}Mapper extends RootMapper<${classInfo.className}> { @Select( " + + diff --git a/generator-web/src/main/resources/templates/code-generator/ui/element-ui-starp.ftl b/generator-web/src/main/resources/templates/code-generator/ui/element-ui-starp.ftl new file mode 100644 index 0000000000000000000000000000000000000000..e859c3ab1819d44b016a7d189bbc7bc0dc8a3a5e --- /dev/null +++ b/generator-web/src/main/resources/templates/code-generator/ui/element-ui-starp.ftl @@ -0,0 +1,350 @@ + + + + + diff --git a/generator-web/src/main/resources/templates/code-generator/ui/element-ui.ftl b/generator-web/src/main/resources/templates/code-generator/ui/element-ui.ftl index 9f9e224d2be8ecc9c8d8b921fd8997861fbf13ac..0112db03aaf1f185af3d0e21e013187218c0bf00 100644 --- a/generator-web/src/main/resources/templates/code-generator/ui/element-ui.ftl +++ b/generator-web/src/main/resources/templates/code-generator/ui/element-ui.ftl @@ -1,6 +1,14 @@ + + + + + + diff --git a/generator-web/src/main/resources/templates/code-generator/util/beanutil.ftl b/generator-web/src/main/resources/templates/code-generator/util/beanutil.ftl index 108e27af9eaa1d0cfe4f3287b7d51c516f8b7d60..4ede8e7bdcc4aaea80b25eee5fb90420e94e859c 100644 --- a/generator-web/src/main/resources/templates/code-generator/util/beanutil.ftl +++ b/generator-web/src/main/resources/templates/code-generator/util/beanutil.ftl @@ -38,4 +38,23 @@ map.put("${fieldItem.fieldComment}",${classInfo.className?uncap_first}.get${fiel map.put("${fieldItem.fieldName?uncap_first}",${classInfo.className?uncap_first}.get${fieldItem.fieldName?cap_first}()); + public ${classInfo.className} toEntity(){ + ${classInfo.className} ${classInfo.className?uncap_first} = new ${classInfo.className}(); + <#list classInfo.fieldList as fieldItem> + // ${fieldItem.fieldComment} + ${classInfo.className?uncap_first}.set${fieldItem.fieldName?cap_first}(${fieldItem.fieldName}); + + return ${classInfo.className?uncap_first}; + } + + + public ${classInfo.className}Form toForm(){ + ${classInfo.className}Form ${classInfo.className?uncap_first}Form = new ${classInfo.className}Form(); + <#list classInfo.fieldList as fieldItem> + // ${fieldItem.fieldComment} + ${classInfo.className?uncap_first}Form.set${fieldItem.fieldName?cap_first}(${fieldItem.fieldName}); + + return ${classInfo.className?uncap_first}Form; + } + diff --git a/generator-web/src/main/resources/templates/code-generator/util/json.ftl b/generator-web/src/main/resources/templates/code-generator/util/json.ftl index 596cce40f8e9462c0b63890cb0a4210795bef771..928ccf17eccbd46f0b3c5a7cbc4de0ac079e84b8 100644 --- a/generator-web/src/main/resources/templates/code-generator/util/json.ftl +++ b/generator-web/src/main/resources/templates/code-generator/util/json.ftl @@ -11,3 +11,30 @@ } + + +<#if classInfo.fieldList?exists && classInfo.fieldList?size gt 0> + { + <#list classInfo.fieldList as fieldItem> + "${fieldItem.fieldName}":"${fieldItem.fieldComment}"<#if fieldItem_has_next>, + + } + + { + <#list classInfo.fieldList as fieldItem> + "${fieldItem.fieldName}":""<#if fieldItem_has_next>, + + } + +export const ${classInfo.className?uncap_first}Columns = [ +<#if classInfo.fieldList?exists && classInfo.fieldList?size gt 0> + + <#list classInfo.fieldList as fieldItem> + { + label: '${fieldItem.fieldComment}', key: '${fieldItem.fieldName}' + }, + + ]; + + + diff --git a/push.cmd b/push.cmd new file mode 100644 index 0000000000000000000000000000000000000000..dbc37ec8545b6117a3cbcf03f83493e4e5c484e0 --- /dev/null +++ b/push.cmd @@ -0,0 +1,4 @@ +git add . +@REM git commit -m "i view form create" +git commit -m "i view edit" +git push origin master