diff --git a/opsli-modulars/opsli-modulars-generator/src/main/java/org/opsli/core/generator/strategy/create/backend/JavaCodeBuilder.java b/opsli-modulars/opsli-modulars-generator/src/main/java/org/opsli/core/generator/strategy/create/backend/JavaCodeBuilder.java index 8bb78538..2d10471d 100644 --- a/opsli-modulars/opsli-modulars-generator/src/main/java/org/opsli/core/generator/strategy/create/backend/JavaCodeBuilder.java +++ b/opsli-modulars/opsli-modulars-generator/src/main/java/org/opsli/core/generator/strategy/create/backend/JavaCodeBuilder.java @@ -52,16 +52,6 @@ public enum JavaCodeBuilder { public Map createEntity(GenBuilderModel builderModelTmp, String dataStr){ GenBuilderModel builderModel = WrapperUtil.transformInstance(builderModelTmp, GenBuilderModel.class, true); - List columnList = builderModel.getModel().getColumnList(); - // 处理数据 - for (GenTableColumnModel columnModel : columnList) { - // 数据库字段名转驼峰 - columnModel.setFieldName( - HumpUtil.underlineToHump( - columnModel.getFieldName() - ) - ); - } String codeStr = EnjoyUtil.render("/backend/entity/TemplateEntity.html", this.createKv(builderModel) @@ -83,7 +73,7 @@ public enum JavaCodeBuilder { Map entityMap = new HashMap<>(); entityMap.put(ZipUtils.FILE_PATH, path.toString()); entityMap.put(ZipUtils.FILE_NAME, - builderModel.getModel().getTableName()+".java"); + builderModel.getModel().getTableHumpName()+".java"); entityMap.put(ZipUtils.FILE_DATA, codeStr); return entityMap; } @@ -117,7 +107,7 @@ public enum JavaCodeBuilder { Map entityMap = new HashMap<>(); entityMap.put(ZipUtils.FILE_PATH, path.toString()); entityMap.put(ZipUtils.FILE_NAME, - builderModel.getModel().getTableName()+"Mapper.java"); + builderModel.getModel().getTableHumpName()+"Mapper.java"); entityMap.put(ZipUtils.FILE_DATA, codeStr); return entityMap; } @@ -153,7 +143,7 @@ public enum JavaCodeBuilder { Map entityMap = new HashMap<>(); entityMap.put(ZipUtils.FILE_PATH, path.toString()); entityMap.put(ZipUtils.FILE_NAME, - builderModel.getModel().getTableName()+"Mapper.xml"); + builderModel.getModel().getTableHumpName()+"Mapper.xml"); entityMap.put(ZipUtils.FILE_DATA, codeStr); return entityMap; } @@ -187,7 +177,7 @@ public enum JavaCodeBuilder { Map entityMap = new HashMap<>(); entityMap.put(ZipUtils.FILE_PATH, path.toString()); entityMap.put(ZipUtils.FILE_NAME, - "I"+builderModel.getModel().getTableName()+"Service.java"); + "I"+builderModel.getModel().getTableHumpName()+"Service.java"); entityMap.put(ZipUtils.FILE_DATA, codeStr); return entityMap; } @@ -224,7 +214,7 @@ public enum JavaCodeBuilder { Map entityMap = new HashMap<>(); entityMap.put(ZipUtils.FILE_PATH, path.toString()); entityMap.put(ZipUtils.FILE_NAME, - builderModel.getModel().getTableName()+"ServiceImpl.java"); + builderModel.getModel().getTableHumpName()+"ServiceImpl.java"); entityMap.put(ZipUtils.FILE_DATA, codeStr); return entityMap; } @@ -258,7 +248,7 @@ public enum JavaCodeBuilder { Map entityMap = new HashMap<>(); entityMap.put(ZipUtils.FILE_PATH, path.toString()); entityMap.put(ZipUtils.FILE_NAME, - builderModel.getModel().getTableName()+"RestController.java"); + builderModel.getModel().getTableHumpName()+"RestController.java"); entityMap.put(ZipUtils.FILE_DATA, codeStr); return entityMap; } @@ -273,44 +263,6 @@ public enum JavaCodeBuilder { public Map createModel(GenBuilderModel builderModelTmp, String dataStr){ GenBuilderModel builderModel = WrapperUtil.transformInstance(builderModelTmp, GenBuilderModel.class, true); - // 处理数据 - List columnList = builderModel.getModel().getColumnList(); - for (GenTableColumnModel columnModel : columnList) { - // 数据库字段名转驼峰 - columnModel.setFieldName( - HumpUtil.underlineToHump( - columnModel.getFieldName() - ) - ); - - // 处理验证器 - String validateType = columnModel.getValidateType(); - if(StringUtils.isNotBlank(validateType)){ - String[] validateTypes = validateType.split(","); - StringBuilder stb = new StringBuilder(); - boolean izNotNull = false; - // 如果非空 则开启非空验证 - if(DictType.NO_YES_YES.getValue().equals(columnModel.getIzNotNull())){ - izNotNull = true; - stb.append("ValiArgsType.").append(ValiArgsType.IS_NOT_NULL); - } - - for (int i = 0; i < validateTypes.length; i++) { - String type = validateTypes[i]; - if(izNotNull){ - stb.append(", "); - izNotNull = false; - } - if(!ValiArgsType.IS_NOT_NULL.equals(ValiArgsType.valueOf(type))){ - stb.append("ValiArgsType.").append(type); - } - if(i < validateTypes.length -1 ){ - stb.append(", "); - } - } - columnModel.setValidateType(stb.toString()); - } - } String codeStr = EnjoyUtil.render("/backend/model/TemplateModel.html", this.createKv(builderModel) @@ -332,7 +284,7 @@ public enum JavaCodeBuilder { Map entityMap = new HashMap<>(); entityMap.put(ZipUtils.FILE_PATH, path.toString()); entityMap.put(ZipUtils.FILE_NAME, - builderModel.getModel().getTableName()+"Model.java"); + builderModel.getModel().getTableHumpName()+"Model.java"); entityMap.put(ZipUtils.FILE_DATA, codeStr); return entityMap; } @@ -367,7 +319,7 @@ public enum JavaCodeBuilder { Map entityMap = new HashMap<>(); entityMap.put(ZipUtils.FILE_PATH, path.toString()); entityMap.put(ZipUtils.FILE_NAME, - builderModel.getModel().getTableName()+"RestApi.java"); + builderModel.getModel().getTableHumpName()+"RestApi.java"); entityMap.put(ZipUtils.FILE_DATA, codeStr); return entityMap; } diff --git a/opsli-modulars/opsli-modulars-generator/src/main/java/org/opsli/core/generator/strategy/create/foreend/VueCodeBuilder.java b/opsli-modulars/opsli-modulars-generator/src/main/java/org/opsli/core/generator/strategy/create/foreend/VueCodeBuilder.java index 9565e648..60de1b32 100644 --- a/opsli-modulars/opsli-modulars-generator/src/main/java/org/opsli/core/generator/strategy/create/foreend/VueCodeBuilder.java +++ b/opsli-modulars/opsli-modulars-generator/src/main/java/org/opsli/core/generator/strategy/create/foreend/VueCodeBuilder.java @@ -60,43 +60,9 @@ public enum VueCodeBuilder { public Map createIndex(GenBuilderModel builderModelTmp, String dataStr){ GenBuilderModel builderModel = WrapperUtil.transformInstance(builderModelTmp, GenBuilderModel.class, true); - List columnList = builderModel.getModel().getColumnList(); - // 处理数据 - for (GenTableColumnModel columnModel : columnList) { - // 数据库字段名转驼峰 - columnModel.setFieldName( - HumpUtil.underlineToHump( - columnModel.getFieldName() - ) - ); - } - - List queryList = new ArrayList<>(2); - // 简单检索 - List briefQueryList = new ArrayList<>(2); - // 更多检索 - List moreQueryList = new ArrayList<>(); - for (GenTableColumnModel genTableColumnModel : columnList) { - if (StringUtils.isNotBlank(genTableColumnModel.getQueryType()) && - genTableColumnModel.getIzShowList().equals(DictType.NO_YES_YES.getValue()) - ) { - queryList.add(genTableColumnModel); - } - } - // 筛选数据 - for (int i = 0; i < queryList.size(); i++) { - if(i < 2){ - briefQueryList.add(queryList.get(i)); - }else{ - moreQueryList.add(queryList.get(i)); - } - } - String codeStr = EnjoyUtil.render("/foreend/index/TemplateIndex.html", this.createKv(builderModel) - .set("briefQueryList", briefQueryList) - .set("moreQueryList", moreQueryList) ); StringBuilder path = new StringBuilder(); @@ -129,79 +95,9 @@ public enum VueCodeBuilder { public Map createEdit(GenBuilderModel builderModelTmp, String dataStr){ GenBuilderModel builderModel = WrapperUtil.transformInstance(builderModelTmp, GenBuilderModel.class, true); - List columnList = builderModel.getModel().getColumnList(); - List> formList = new ArrayList<>(); - Map> valiDict = new HashMap<>(); - Set validateTypesSet = new HashSet<>(); - // 处理验证数据 - for (GenTableColumnModel columnModel : columnList) { - // 数据库字段名转驼峰 - columnModel.setFieldName( - HumpUtil.underlineToHump( - columnModel.getFieldName() - ) - ); - - // 处理验证器 - String validateType = columnModel.getValidateType(); - if(StringUtils.isNotBlank(validateType)){ - String[] validateTypes = validateType.split(","); - Set validateTypeSet = new HashSet<>(Arrays.asList(validateTypes)); - // 如果非空 则开启非空验证 - if(DictType.NO_YES_YES.getValue().equals(columnModel.getIzNotNull())){ - validateTypeSet.add(ValiArgsType.IS_NOT_NULL.toString()); - } - - List validateTypeList = new ArrayList<>(validateTypes.length); - for (String validate : validateTypeSet) { - validateTypeList.add( - HumpUtil.underlineToHump( - VALIDATE_PREFIX + validate.toLowerCase() - ) - ); - } - - validateTypesSet.addAll(validateTypeList); - valiDict.put(columnModel.getFieldName(), validateTypeList); - } - } - - // 处理数据 - if(columnList.size() == 1){ - if(DictType.NO_YES_YES.getValue().equals(columnList.get(0).getIzShowForm()) && - StringUtils.isNotBlank(columnList.get(0).getShowType()) - ){ - List formTmpList = new ArrayList<>(); - formTmpList.add(columnList.get(0)); - formList.add(formTmpList); - } - }else{ - for (int i = 0; i < columnList.size(); i+=2) { - List formTmpList = new ArrayList<>(); - if(DictType.NO_YES_YES.getValue().equals(columnList.get(i).getIzShowForm()) && - StringUtils.isNotBlank(columnList.get(i).getShowType()) - ){ - formTmpList.add(columnList.get(i)); - if(i+1 < columnList.size()){ - formTmpList.add(columnList.get(i+1)); - } - formList.add(formTmpList); - } - } - } - - StringBuilder validateTypeStb = new StringBuilder(); - for (String validateType : validateTypesSet) { - validateTypeStb.append(validateType); - validateTypeStb.append(", "); - } String codeStr = EnjoyUtil.render("/foreend/components/TemplateEdit.html", - this.createKv(builderModel) - .set("formList", formList) - .set("valiDict", valiDict) - .set("validateTypes", validateTypeStb.toString()) - ); + this.createKv(builderModel)); StringBuilder path = new StringBuilder(); path.append(CodeBuilder.BASE_PATH).append(dataStr).append(CodeBuilder.FOREEND_PATH) @@ -220,7 +116,7 @@ public enum VueCodeBuilder { } Map entityMap = new HashMap<>(); entityMap.put(ZipUtils.FILE_PATH, path.toString()); - entityMap.put(ZipUtils.FILE_NAME, builderModel.getModel().getTableName()+"ManagementEdit.vue"); + entityMap.put(ZipUtils.FILE_NAME, builderModel.getModel().getTableHumpName()+"ManagementEdit.vue"); entityMap.put(ZipUtils.FILE_DATA, codeStr); return entityMap; } @@ -235,16 +131,6 @@ public enum VueCodeBuilder { public Map createImport(GenBuilderModel builderModelTmp, String dataStr){ GenBuilderModel builderModel = WrapperUtil.transformInstance(builderModelTmp, GenBuilderModel.class, true); - List columnList = builderModel.getModel().getColumnList(); - // 处理数据 - for (GenTableColumnModel columnModel : columnList) { - // 数据库字段名转驼峰 - columnModel.setFieldName( - HumpUtil.underlineToHump( - columnModel.getFieldName() - ) - ); - } String codeStr = EnjoyUtil.render("/foreend/components/TemplateImport.html", this.createKv(builderModel) @@ -267,7 +153,7 @@ public enum VueCodeBuilder { } Map entityMap = new HashMap<>(); entityMap.put(ZipUtils.FILE_PATH, path.toString()); - entityMap.put(ZipUtils.FILE_NAME, builderModel.getModel().getTableName()+"ManagementImport.vue"); + entityMap.put(ZipUtils.FILE_NAME, builderModel.getModel().getTableHumpName()+"ManagementImport.vue"); entityMap.put(ZipUtils.FILE_DATA, codeStr); return entityMap; } @@ -281,17 +167,6 @@ public enum VueCodeBuilder { public Map createApi(GenBuilderModel builderModelTmp, String dataStr){ GenBuilderModel builderModel = WrapperUtil.transformInstance(builderModelTmp, GenBuilderModel.class, true); - List columnList = builderModel.getModel().getColumnList(); - // 处理数据 - for (GenTableColumnModel columnModel : columnList) { - // 数据库字段名转驼峰 - columnModel.setFieldName( - HumpUtil.underlineToHump( - columnModel.getFieldName() - ) - ); - } - String codeStr = EnjoyUtil.render("/foreend/api/TemplateApi.html", this.createKv(builderModel) @@ -311,7 +186,7 @@ public enum VueCodeBuilder { } Map entityMap = new HashMap<>(); entityMap.put(ZipUtils.FILE_PATH, path.toString()); - entityMap.put(ZipUtils.FILE_NAME, builderModel.getModel().getTableName()+"Management.js"); + entityMap.put(ZipUtils.FILE_NAME, builderModel.getModel().getTableHumpName()+"Management.js"); entityMap.put(ZipUtils.FILE_DATA, codeStr); return entityMap; } diff --git a/opsli-modulars/opsli-modulars-generator/src/main/java/org/opsli/core/generator/utils/GeneratorHandleUtil.java b/opsli-modulars/opsli-modulars-generator/src/main/java/org/opsli/core/generator/utils/GeneratorHandleUtil.java index 43208a67..6443cf10 100644 --- a/opsli-modulars/opsli-modulars-generator/src/main/java/org/opsli/core/generator/utils/GeneratorHandleUtil.java +++ b/opsli-modulars/opsli-modulars-generator/src/main/java/org/opsli/core/generator/utils/GeneratorHandleUtil.java @@ -17,6 +17,9 @@ package org.opsli.core.generator.utils; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.ListUtil; +import cn.hutool.core.convert.Convert; +import com.google.common.collect.Lists; +import com.google.common.collect.Sets; import org.apache.commons.lang3.StringUtils; import org.opsli.common.enums.DictType; import org.opsli.common.enums.ValiArgsType; @@ -25,7 +28,9 @@ import org.opsli.modulars.generator.column.wrapper.GenTableColumnModel; import org.opsli.modulars.generator.logs.wrapper.GenBuilderModel; import org.opsli.modulars.generator.table.wrapper.GenTableAndColumnModel; +import java.util.ArrayList; import java.util.List; +import java.util.Set; /*** * 代码生成器 处理工具类 @@ -37,7 +42,15 @@ public final class GeneratorHandleUtil { /** 后端 验证前缀 */ private static final String BACKEND_VALIDATE_TYPE_PREFIX = "ValiArgsType."; + /** 验证方法前缀 */ + private static final String VALIDATE_PREFIX = "validate_"; + /** + * 处理代码生成器数据 + * @param builderModel 数据 + * @param excludeFields 排除字段 + * @return GenBuilderModel + */ public static GenBuilderModel handleData(GenBuilderModel builderModel, List excludeFields){ if(builderModel == null){ return null; @@ -66,6 +79,8 @@ public final class GeneratorHandleUtil { List finalExcludeFields = excludeFields; columnList.removeIf(tmp -> finalExcludeFields.contains(tmp.getFieldName())); + List queryList = Lists.newArrayList(); + for (GenTableColumnModel columnModel : columnList) { // 1. 数据库字段名转驼峰 columnModel.setFieldHumpName( @@ -74,35 +89,89 @@ public final class GeneratorHandleUtil { ) ); + // 验证集合 + Set validateTypeSet = Sets.newHashSet(columnModel.getValidateType()); + // 如果非空 则开启非空验证 + if(DictType.NO_YES_YES.getValue().equals(columnModel.getIzNotNull())){ + validateTypeSet.add(ValiArgsType.IS_NOT_NULL.toString()); + } + List validateTypeList = Convert.toList(String.class, validateTypeSet); + validateTypeList.removeIf(StringUtils::isBlank); + // 2. 后端字段验证 // 处理验证器 - String validateType = columnModel.getValidateType(); - if(StringUtils.isNotBlank(validateType)){ - String[] validateTypes = validateType.split(","); - StringBuilder stb = new StringBuilder(); - boolean izNotNull = false; - // 如果非空 则开启非空验证 - if(DictType.NO_YES_YES.getValue().equals(columnModel.getIzNotNull())){ - izNotNull = true; - stb.append(BACKEND_VALIDATE_TYPE_PREFIX).append(ValiArgsType.IS_NOT_NULL); - } + if(!CollUtil.isEmpty(validateTypeList)){ + StringBuilder backendStb = new StringBuilder(); + StringBuilder frontendStb = new StringBuilder(); - for (int i = 0; i < validateTypes.length; i++) { - String type = validateTypes[i]; - if(izNotNull){ - stb.append(", "); - izNotNull = false; - } - if(!ValiArgsType.IS_NOT_NULL.equals(ValiArgsType.valueOf(type))){ - stb.append(BACKEND_VALIDATE_TYPE_PREFIX).append(type); - } - if(i < validateTypes.length -1 ){ - stb.append(", "); + columnModel.setFrontendValidateTypeList(Lists.newArrayList()); + List backendList = Lists.newArrayListWithCapacity(validateTypeList.size()); + List frontendList = Lists.newArrayListWithCapacity(validateTypeList.size()); + for (int i = 0; i < validateTypeList.size(); i++) { + String validate = validateTypeList.get(i); + + backendStb.append(BACKEND_VALIDATE_TYPE_PREFIX).append(validate); + frontendStb.append( + HumpUtil.underlineToHump( + VALIDATE_PREFIX + validate.toLowerCase())); + + backendList.add(validate); + frontendList.add( + HumpUtil.underlineToHump( + VALIDATE_PREFIX + validate.toLowerCase())); + + if(i < validateTypeList.size() - 1 ){ + backendStb.append(", "); + frontendStb.append(", "); } } - columnModel.setBackendValidateType(stb.toString()); + + + columnModel.setBackendValidateType(backendStb.toString()); + columnModel.setFrontendValidateType(frontendStb.toString()); + model.setFrontendValidateType(frontendStb.toString()); + + columnModel.setBackendValidateTypeList(backendList); + columnModel.setFrontendValidateTypeList(frontendList); + } + + // 3. 处理 Form 表单字段 + if(DictType.NO_YES_YES.getValue().equals(columnModel.getIzShowForm())){ + if(CollUtil.isEmpty(model.getFormList())){ + model.setFormList(Lists.newArrayList()); + } + model.getFormList().add(columnModel); + } + + // 4. 处理 Index 页面字段 - QueryList + if (StringUtils.isNotBlank(columnModel.getQueryType()) && + DictType.NO_YES_YES.getValue().equals(columnModel.getIzShowList()) + ) { + queryList.add(columnModel); } + } + + // 5. 处理 Index 页面字段 - briefQueryList - moreQueryList + if(!CollUtil.isEmpty(queryList)){ + if(CollUtil.isEmpty(model.getBriefQueryList())){ + model.setBriefQueryList(Lists.newArrayList()); + } + if(CollUtil.isEmpty(model.getMoreQueryList())){ + model.setMoreQueryList(Lists.newArrayList()); + } + + for (int i = 0; i < queryList.size(); i++) { + if(i < 2){ + model.getBriefQueryList().add( + queryList.get(i)); + }else{ + model.getMoreQueryList().add( + queryList.get(i)); + } + } + } + } return builderModel; diff --git a/opsli-modulars/opsli-modulars-generator/src/main/java/org/opsli/modulars/generator/column/wrapper/GenTableColumnModel.java b/opsli-modulars/opsli-modulars-generator/src/main/java/org/opsli/modulars/generator/column/wrapper/GenTableColumnModel.java index b24fabe6..025b5e74 100644 --- a/opsli-modulars/opsli-modulars-generator/src/main/java/org/opsli/modulars/generator/column/wrapper/GenTableColumnModel.java +++ b/opsli-modulars/opsli-modulars-generator/src/main/java/org/opsli/modulars/generator/column/wrapper/GenTableColumnModel.java @@ -144,14 +144,24 @@ public class GenTableColumnModel extends ApiWrapper { @ExcelIgnore private String fieldHumpName; - /** 后台验证集合 */ + /** 后端验证 */ @JsonIgnore @ExcelIgnore private String backendValidateType; - /** 前台验证集合 */ + /** 后端验证集合 */ @JsonIgnore @ExcelIgnore - private List frontendValidateType; + private List backendValidateTypeList; + + /** 前端验证集合 */ + @JsonIgnore + @ExcelIgnore + private String frontendValidateType; + + /** 前端验证集合 */ + @JsonIgnore + @ExcelIgnore + private List frontendValidateTypeList; } diff --git a/opsli-modulars/opsli-modulars-generator/src/main/java/org/opsli/modulars/generator/table/wrapper/GenTableAndColumnModel.java b/opsli-modulars/opsli-modulars-generator/src/main/java/org/opsli/modulars/generator/table/wrapper/GenTableAndColumnModel.java index b3d709b5..cbc6d7a7 100644 --- a/opsli-modulars/opsli-modulars-generator/src/main/java/org/opsli/modulars/generator/table/wrapper/GenTableAndColumnModel.java +++ b/opsli-modulars/opsli-modulars-generator/src/main/java/org/opsli/modulars/generator/table/wrapper/GenTableAndColumnModel.java @@ -26,6 +26,7 @@ import org.opsli.common.annotation.validation.ValidationArgsLenMax; import org.opsli.common.enums.ValiArgsType; import org.opsli.modulars.generator.column.wrapper.GenTableColumnModel; +import java.util.ArrayList; import java.util.List; /** @@ -96,4 +97,24 @@ public class GenTableAndColumnModel extends ApiWrapper { @ExcelIgnore private String tableHumpName; + /** 前端Form集合 */ + @JsonIgnore + @ExcelIgnore + private List formList; + + /** 简单检索集合 */ + @JsonIgnore + @ExcelIgnore + private List briefQueryList; + + /** 更多检索集合 */ + @JsonIgnore + @ExcelIgnore + private List moreQueryList; + + /** 前端验证集合 */ + @JsonIgnore + @ExcelIgnore + private String frontendValidateType; + } diff --git a/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/backend/api/TemplateRestApi.html b/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/backend/api/TemplateRestApi.html index 4c340656..dbf0d08f 100644 --- a/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/backend/api/TemplateRestApi.html +++ b/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/backend/api/TemplateRestApi.html @@ -29,9 +29,9 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; #if(data.subModuleName != null && data.subModuleName != "") -import #(apiPath).wrapper.#(data.moduleName+"."+data.subModuleName).#(data.model.tableName)Model; +import #(apiPath).wrapper.#(data.moduleName+"."+data.subModuleName).#(data.model.tableHumpName)Model; #else -import #(apiPath).wrapper.#(data.moduleName).#(data.model.tableName)Model; +import #(apiPath).wrapper.#(data.moduleName).#(data.model.tableHumpName)Model; #end @@ -46,7 +46,7 @@ import #(apiPath).wrapper.#(data.moduleName).#(data.model.tableName)Model; * @author #(data.authorName) * @date #(currTime) */ -public interface #(data.model.tableName)RestApi { +public interface #(data.model.tableHumpName)RestApi { /** 标题 */ String TITLE = "#(data.codeTitle)"; @@ -59,7 +59,7 @@ public interface #(data.model.tableName)RestApi { * @return ResultVo */ @GetMapping("/get") - ResultVo<#(data.model.tableName)Model> get(#(data.model.tableName)Model model); + ResultVo<#(data.model.tableHumpName)Model> get(#(data.model.tableHumpName)Model model); /** * #(data.codeTitle) 查询分页 @@ -81,7 +81,7 @@ public interface #(data.model.tableName)RestApi { * @return ResultVo */ @PostMapping("/insert") - ResultVo insert(@RequestBody #(data.model.tableName)Model model); + ResultVo insert(@RequestBody #(data.model.tableHumpName)Model model); /** * #(data.codeTitle) 修改 @@ -89,7 +89,7 @@ public interface #(data.model.tableName)RestApi { * @return ResultVo */ @PostMapping("/update") - ResultVo update(@RequestBody #(data.model.tableName)Model model); + ResultVo update(@RequestBody #(data.model.tableHumpName)Model model); /** * #(data.codeTitle) 删除 diff --git a/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/backend/entity/TemplateEntity.html b/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/backend/entity/TemplateEntity.html index 98e32de5..f3697c52 100644 --- a/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/backend/entity/TemplateEntity.html +++ b/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/backend/entity/TemplateEntity.html @@ -35,17 +35,17 @@ import org.opsli.core.base.entity.BaseEntity; */ @Data @EqualsAndHashCode(callSuper = false) -public class #(data.model.tableName) extends BaseEntity { +public class #(data.model.tableHumpName) extends BaseEntity { #for(column : data.model.columnList) ### 不等于 删除字段 和 不等于 租户字段放入上边 - #if(column.fieldName != "deleted" && column.fieldName != "tenantId") + #if(column.fieldHumpName != "deleted" && column.fieldHumpName != "tenantId") /** #(column.fieldComments) */ #if(!column.izNotNull) @TableField(updateStrategy = FieldStrategy.IGNORED) #end - private #(column.javaType) #(column.fieldName); + private #(column.javaType) #(column.fieldHumpName); #end #end @@ -54,11 +54,11 @@ public class #(data.model.tableName) extends BaseEntity { ### 专门处理 删除字段 和 租户字段 #for(column : data.model.columnList) - #if(column.fieldName == "deleted") + #if(column.fieldHumpName == "deleted") /** 逻辑删除字段 */ @TableLogic private Integer deleted; - #else if(column.fieldName == "tenantId") + #else if(column.fieldHumpName == "tenantId") /** 多租户字段 */ private String tenantId; #end diff --git a/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/backend/mapper/TemplateMapper.html b/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/backend/mapper/TemplateMapper.html index cd2f47d3..6822dfac 100644 --- a/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/backend/mapper/TemplateMapper.html +++ b/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/backend/mapper/TemplateMapper.html @@ -23,9 +23,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; #if(data.subModuleName != null && data.subModuleName != "") -import #(data.packageName+"."+data.moduleName+"."+data.subModuleName).entity.#(data.model.tableName); +import #(data.packageName+"."+data.moduleName+"."+data.subModuleName).entity.#(data.model.tableHumpName); #else -import #(data.packageName+"."+data.moduleName).entity.#(data.model.tableName); +import #(data.packageName+"."+data.moduleName).entity.#(data.model.tableHumpName); #end /** @@ -35,6 +35,6 @@ import #(data.packageName+"."+data.moduleName).entity.#(data.model.tableName); * @date #(currTime) */ @Mapper -public interface #(data.model.tableName)Mapper extends BaseMapper<#(data.model.tableName)> { +public interface #(data.model.tableHumpName)Mapper extends BaseMapper<#(data.model.tableHumpName)> { } diff --git a/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/backend/mapper/xml/TemplateMapperXML.html b/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/backend/mapper/xml/TemplateMapperXML.html index 9aa68e99..2c6fd78d 100644 --- a/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/backend/mapper/xml/TemplateMapperXML.html +++ b/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/backend/mapper/xml/TemplateMapperXML.html @@ -1,9 +1,9 @@ #if(data.subModuleName != null && data.subModuleName != "") - + #else - + #end diff --git a/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/backend/model/TemplateModel.html b/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/backend/model/TemplateModel.html index 197b03bb..93a5b57b 100644 --- a/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/backend/model/TemplateModel.html +++ b/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/backend/model/TemplateModel.html @@ -40,11 +40,11 @@ import org.springframework.format.annotation.DateTimeFormat; */ @Data @EqualsAndHashCode(callSuper = false) -public class #(data.model.tableName)Model extends ApiWrapper { +public class #(data.model.tableHumpName)Model extends ApiWrapper { #for(column : data.model.columnList) ### 不等于 删除字段 和 不等于 租户字段放入上边 - #if(column.fieldName != "deleted" && column.fieldName != "tenantId") + #if(column.fieldHumpName != "deleted" && column.fieldHumpName != "tenantId") /** #(column.fieldComments) */ @ApiModelProperty(value = "#(column.fieldComments)") @ExcelProperty(value = "#(column.fieldComments)", order = #(column.sort)) @@ -53,8 +53,8 @@ public class #(data.model.tableName)Model extends ApiWrapper { #else @ExcelInfo #end - #if(column.validateType != null && column.validateType != "") - @ValidationArgs({#(column.validateType)}) + #if(column.backendValidateType != null && column.backendValidateType != "") + @ValidationArgs({#(column.backendValidateType)}) #end #if(column.fieldLength != null && column.fieldLength > 0) #if(column.fieldPrecision != null && column.fieldPrecision > 0) @@ -73,7 +73,7 @@ public class #(data.model.tableName)Model extends ApiWrapper { @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") #end #end - private #(column.javaType) #(column.fieldName); + private #(column.javaType) #(column.fieldHumpName); #end #end diff --git a/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/backend/service/TemplateService.html b/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/backend/service/TemplateService.html index 09c7378e..ac8d58cc 100644 --- a/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/backend/service/TemplateService.html +++ b/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/backend/service/TemplateService.html @@ -23,11 +23,11 @@ import org.opsli.core.base.service.interfaces.CrudServiceInterface; #if(data.subModuleName != null && data.subModuleName != "") -import #(data.packageName+"."+data.moduleName+"."+data.subModuleName).entity.#(data.model.tableName); -import #(apiPath).wrapper.#(data.moduleName+"."+data.subModuleName).#(data.model.tableName)Model; +import #(data.packageName+"."+data.moduleName+"."+data.subModuleName).entity.#(data.model.tableHumpName); +import #(apiPath).wrapper.#(data.moduleName+"."+data.subModuleName).#(data.model.tableHumpName)Model; #else -import #(data.packageName+"."+data.moduleName).entity.#(data.model.tableName); -import #(apiPath).wrapper.#(data.moduleName).#(data.model.tableName)Model; +import #(data.packageName+"."+data.moduleName).entity.#(data.model.tableHumpName); +import #(apiPath).wrapper.#(data.moduleName).#(data.model.tableHumpName)Model; #end /** @@ -36,6 +36,6 @@ import #(apiPath).wrapper.#(data.moduleName).#(data.model.tableName)Model; * @author #(data.authorName) * @date #(currTime) */ -public interface I#(data.model.tableName)Service extends CrudServiceInterface<#(data.model.tableName), #(data.model.tableName)Model> { +public interface I#(data.model.tableHumpName)Service extends CrudServiceInterface<#(data.model.tableHumpName), #(data.model.tableHumpName)Model> { } diff --git a/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/backend/service/impl/TemplateServiceImpl.html b/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/backend/service/impl/TemplateServiceImpl.html index fe4f2a95..df345a17 100644 --- a/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/backend/service/impl/TemplateServiceImpl.html +++ b/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/backend/service/impl/TemplateServiceImpl.html @@ -26,15 +26,15 @@ import org.springframework.transaction.annotation.Transactional; import org.opsli.core.base.service.impl.CrudServiceImpl; #if(data.subModuleName != null && data.subModuleName != "") -import #(data.packageName+"."+data.moduleName+"."+data.subModuleName).entity.#(data.model.tableName); -import #(apiPath).wrapper.#(data.moduleName+"."+data.subModuleName).#(data.model.tableName)Model; -import #(data.packageName+"."+data.moduleName+"."+data.subModuleName).service.I#(data.model.tableName)Service; -import #(data.packageName+"."+data.moduleName+"."+data.subModuleName).mapper.#(data.model.tableName)Mapper; +import #(data.packageName+"."+data.moduleName+"."+data.subModuleName).entity.#(data.model.tableHumpName); +import #(apiPath).wrapper.#(data.moduleName+"."+data.subModuleName).#(data.model.tableHumpName)Model; +import #(data.packageName+"."+data.moduleName+"."+data.subModuleName).service.I#(data.model.tableHumpName)Service; +import #(data.packageName+"."+data.moduleName+"."+data.subModuleName).mapper.#(data.model.tableHumpName)Mapper; #else -import #(data.packageName+"."+data.moduleName).entity.#(data.model.tableName); -import #(apiPath).wrapper.#(data.moduleName).#(data.model.tableName)Model; -import #(data.packageName+"."+data.moduleName).service.I#(data.model.tableName)Service; -import #(data.packageName+"."+data.moduleName).mapper.#(data.model.tableName)Mapper; +import #(data.packageName+"."+data.moduleName).entity.#(data.model.tableHumpName); +import #(apiPath).wrapper.#(data.moduleName).#(data.model.tableHumpName)Model; +import #(data.packageName+"."+data.moduleName).service.I#(data.model.tableHumpName)Service; +import #(data.packageName+"."+data.moduleName).mapper.#(data.model.tableHumpName)Mapper; #end @@ -45,10 +45,10 @@ import #(data.packageName+"."+data.moduleName).mapper.#(data.model.tableName)Map * @date #(currTime) */ @Service -public class #(data.model.tableName)ServiceImpl extends CrudServiceImpl<#(data.model.tableName)Mapper, #(data.model.tableName), #(data.model.tableName)Model> - implements I#(data.model.tableName)Service { +public class #(data.model.tableHumpName)ServiceImpl extends CrudServiceImpl<#(data.model.tableHumpName)Mapper, #(data.model.tableHumpName), #(data.model.tableHumpName)Model> + implements I#(data.model.tableHumpName)Service { @Autowired(required = false) - private #(data.model.tableName)Mapper mapper; + private #(data.model.tableHumpName)Mapper mapper; } diff --git a/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/backend/web/TemplateRestController.html b/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/backend/web/TemplateRestController.html index 7b2ccc16..4672ce94 100644 --- a/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/backend/web/TemplateRestController.html +++ b/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/backend/web/TemplateRestController.html @@ -40,15 +40,15 @@ import javax.servlet.http.HttpServletResponse; import java.lang.reflect.Method; #if(data.subModuleName != null && data.subModuleName != "") -import #(data.packageName+"."+data.moduleName+"."+data.subModuleName).entity.#(data.model.tableName); -import #(apiPath).wrapper.#(data.moduleName+"."+data.subModuleName).#(data.model.tableName)Model; -import #(data.packageName+"."+data.moduleName+"."+data.subModuleName).service.I#(data.model.tableName)Service; -import #(apiPath).web.#(data.moduleName+"."+data.subModuleName).#(data.model.tableName)RestApi; +import #(data.packageName+"."+data.moduleName+"."+data.subModuleName).entity.#(data.model.tableHumpName); +import #(apiPath).wrapper.#(data.moduleName+"."+data.subModuleName).#(data.model.tableHumpName)Model; +import #(data.packageName+"."+data.moduleName+"."+data.subModuleName).service.I#(data.model.tableHumpName)Service; +import #(apiPath).web.#(data.moduleName+"."+data.subModuleName).#(data.model.tableHumpName)RestApi; #else -import #(data.packageName+"."+data.moduleName).entity.#(data.model.tableName); -import #(apiPath).wrapper.#(data.moduleName).#(data.model.tableName)Model; -import #(data.packageName+"."+data.moduleName).service.I#(data.model.tableName)Service; -import #(apiPath).web.#(data.moduleName).#(data.model.tableName)RestApi; +import #(data.packageName+"."+data.moduleName).entity.#(data.model.tableHumpName); +import #(apiPath).wrapper.#(data.moduleName).#(data.model.tableHumpName)Model; +import #(data.packageName+"."+data.moduleName).service.I#(data.model.tableHumpName)Service; +import #(apiPath).web.#(data.moduleName).#(data.model.tableHumpName)RestApi; #end /** @@ -57,15 +57,15 @@ import #(apiPath).web.#(data.moduleName).#(data.model.tableName)RestApi; * @author #(data.authorName) * @date #(currTime) */ -@Api(tags = #(data.model.tableName)RestApi.TITLE) +@Api(tags = #(data.model.tableHumpName)RestApi.TITLE) @Slf4j #if(data.subModuleName != null && data.subModuleName != "") @ApiRestController("/#(data.moduleName)/#(data.subModuleName)") #else @ApiRestController("/#(data.moduleName)") #end -public class #(data.model.tableName)RestController extends BaseRestController<#(data.model.tableName), #(data.model.tableName)Model, I#(data.model.tableName)Service> - implements #(data.model.tableName)RestApi { +public class #(data.model.tableHumpName)RestController extends BaseRestController<#(data.model.tableHumpName), #(data.model.tableHumpName)Model, I#(data.model.tableHumpName)Service> + implements #(data.model.tableHumpName)RestApi { /** @@ -80,7 +80,7 @@ public class #(data.model.tableName)RestController extends BaseRestController<#( @RequiresPermissions("#(data.moduleName.toLowerCase())_select") #end @Override - public ResultVo<#(data.model.tableName)Model> get(#(data.model.tableName)Model model) { + public ResultVo<#(data.model.tableHumpName)Model> get(#(data.model.tableHumpName)Model model) { // 如果系统内部调用 则直接查数据库 if(model != null && model.getIzApi() != null && model.getIzApi()){ model = IService.get(model); @@ -104,8 +104,8 @@ public class #(data.model.tableName)RestController extends BaseRestController<#( @Override public ResultVo findPage(Integer pageNo, Integer pageSize, HttpServletRequest request) { - QueryBuilder<#(data.model.tableName)> queryBuilder = new WebQueryBuilder<>(entityClazz, request.getParameterMap()); - Page<#(data.model.tableName), #(data.model.tableName)Model> page = new Page<>(pageNo, pageSize); + QueryBuilder<#(data.model.tableHumpName)> queryBuilder = new WebQueryBuilder<>(entityClazz, request.getParameterMap()); + Page<#(data.model.tableHumpName), #(data.model.tableHumpName)Model> page = new Page<>(pageNo, pageSize); page.setQueryWrapper(queryBuilder.build()); page = IService.findPage(page); @@ -125,7 +125,7 @@ public class #(data.model.tableName)RestController extends BaseRestController<#( #end @EnableLog @Override - public ResultVo insert(#(data.model.tableName)Model model) { + public ResultVo insert(#(data.model.tableHumpName)Model model) { // 调用新增方法 IService.insert(model); return ResultVo.success("新增#(data.codeTitleBrief)成功"); @@ -144,7 +144,7 @@ public class #(data.model.tableName)RestController extends BaseRestController<#( #end @EnableLog @Override - public ResultVo update(#(data.model.tableName)Model model) { + public ResultVo update(#(data.model.tableHumpName)Model model) { // 调用修改方法 IService.update(model); return ResultVo.success("修改#(data.codeTitleBrief)成功"); @@ -214,8 +214,8 @@ public class #(data.model.tableName)RestController extends BaseRestController<#( public void exportExcel(HttpServletRequest request, HttpServletResponse response) { // 当前方法 Method method = ReflectUtil.getMethodByName(this.getClass(), "exportExcel"); - QueryBuilder<#(data.model.tableName)> queryBuilder = new WebQueryBuilder<>(entityClazz, request.getParameterMap()); - super.excelExport(#(data.model.tableName)RestApi.SUB_TITLE, queryBuilder.build(), response, method); + QueryBuilder<#(data.model.tableHumpName)> queryBuilder = new WebQueryBuilder<>(entityClazz, request.getParameterMap()); + super.excelExport(#(data.model.tableHumpName)RestApi.SUB_TITLE, queryBuilder.build(), response, method); } /** @@ -251,7 +251,7 @@ public class #(data.model.tableName)RestController extends BaseRestController<#( public void importTemplate(HttpServletResponse response) { // 当前方法 Method method = ReflectUtil.getMethodByName(this.getClass(), "importTemplate"); - super.importTemplate(#(data.model.tableName)RestApi.SUB_TITLE, response, method); + super.importTemplate(#(data.model.tableHumpName)RestApi.SUB_TITLE, response, method); } } diff --git a/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/foreend/components/TemplateEdit.html b/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/foreend/components/TemplateEdit.html index 5a0cd07b..153234b6 100644 --- a/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/foreend/components/TemplateEdit.html +++ b/opsli-modulars/opsli-modulars-generator/src/main/resources/tpl/foreend/components/TemplateEdit.html @@ -7,57 +7,55 @@ @close="close" > - #for(columnList : formList) - #if(columnList != null && columnList.size() > 0) - - #for(column : columnList) + #for(column : data.model.formList) + ### 文本框 #if(column.showType == "0") - - - + + + ### 文本域 #else if(column.showType == "1") - - - - + + + + ### 字典 #else if(column.showType == "2") - - - - - - + + + + + + ### 日期时间 #else if(column.showType == "3") - - - - + + + + ### 日期 #else if(column.showType == "4") - - + + #end - #end #end - #end