result = R.ok();
+ ${serviceInstanceName}.removeById(id);
+ return result.setData(id).setMsg("删除成功");
+ }
+ <% } %>
+
+ <% if(isNotEmpty(controllerMethods.update)){ %>
+ @PostMapping(value = "/update")
+ <% if(!restControllerStyle){ %>
+ @ResponseBody
+ <% } %>
+ public R<${table.entityName}> update(${table.entityName} ${entityInstanceName}) {
+ R<${table.entityName}> result = R.ok();
+ ${serviceInstanceName}.updateById(${entityInstanceName});
+ return result.setData(${serviceInstanceName}.getById(${entityInstanceName}.getId())).setMsg("更新成功");
+ }
+ <% } %>
+}
+<% } %>
diff --git a/hncy4cloud-zgf/src/test/resources/codetpls/dto.btl b/hncy4cloud-zgf/src/test/resources/codetpls/dto.btl
new file mode 100644
index 0000000..476e85a
--- /dev/null
+++ b/hncy4cloud-zgf/src/test/resources/codetpls/dto.btl
@@ -0,0 +1,53 @@
+package ${config.pkg};
+<% for(pkg in config.importPackages){ %>
+import ${pkg};
+<% } %>
+<% if(config.enableLombok){ %>
+import lombok.Data;
+<% } %>
+/**
+ * ${config.comment!}
+ *
+ * @author ${config.author}
+ * @since ${config.createDate}
+ */
+<% if(config.enableLombok){ %>
+@Data
+<% } %>
+public class ${config.dtoName} {
+
+<% /** -----------BEGIN 字段循环遍历----------- **/ %>
+<% for(field in config.fields){ %>
+ <%/*字段定义*/%>
+ private ${field.shortJavaType} ${field.propertyName};
+
+<% } %>
+<% /** -----------END 字段循环遍历----------- **/ %>
+<% if(!config.enableLombok){ %>
+ <% for(field in config.fields){ %>
+ public ${field.shortJavaType} ${field.getMethodName}() {
+ return ${field.propertyName};
+ }
+
+ public void ${field.setMethodName}(${field.shortJavaType} ${field.propertyName}) {
+ this.${field.propertyName} = ${field.propertyName};
+ }
+
+ <% } %>
+<% } %>
+<% if(!config.enableLombok){ %>
+
+ @Override
+ public String toString() {
+ return "${config.dtoName}{" +
+ <% for(field in config.fields){ %>
+ <% if(fieldLP.index==0){ %>
+ "${field.propertyName}=" + ${field.propertyName} +
+ <% }else{ %>
+ ", ${field.propertyName}=" + ${field.propertyName} +
+ <% } %>
+ <% } %>
+ "}";
+ }
+<% } %>
+}
diff --git a/hncy4cloud-zgf/src/test/resources/codetpls/entity.java.btl b/hncy4cloud-zgf/src/test/resources/codetpls/entity.java.btl
new file mode 100644
index 0000000..767df42
--- /dev/null
+++ b/hncy4cloud-zgf/src/test/resources/codetpls/entity.java.btl
@@ -0,0 +1,173 @@
+package ${package.Entity};
+
+<% for(pkg in table.importPackages){ %>
+import ${pkg};
+<% } %>
+<% if(springdoc){ %>
+import io.swagger.v3.oas.annotations.media.Schema;
+<% }else if(swagger){ %>
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+<% } %>
+<% if(entityLombokModel){ %>
+import lombok.Getter;
+import lombok.Setter;
+<% if(chainModel){ %>
+import lombok.experimental.Accessors;
+<% } %>
+<% } %>
+
+/**
+ *
+ * ${table.comment!}
+ *
+ *
+ * @author ${author}
+ * @since ${date}
+ */
+<% if(entityLombokModel){ %>
+@Getter
+@Setter
+ <% if(chainModel){ %>
+@Accessors(chain = true)
+ <% } %>
+<% } %>
+<% if(table.convert){ %>
+@TableName("${schemaName}${table.name}")
+<% } %>
+<% if(springdoc){ %>
+@Schema(name = "${entity}", description = "$!{table.comment}")
+<% }else if(swagger){ %>
+@ApiModel(value = "${entity}对象", description = "${table.comment!''}")
+<% } %>
+<% if(isNotEmpty(superEntityClass)){ %>
+public class ${entity} extends ${superEntityClass}<% if(activeRecord){ %><${entity}><%}%> {
+<% }else if(activeRecord){ %>
+public class ${entity} extends Model<${entity}> {
+<% }else if(entitySerialVersionUID){ %>
+public class ${entity} implements Serializable {
+<% }else{ %>
+public class ${entity} {
+<% } %>
+<% if(entitySerialVersionUID){ %>
+
+ private static final long serialVersionUID = 1L;
+<% } %>
+<% var keyPropertyName; %>
+<% /** -----------BEGIN 字段循环遍历----------- **/ %>
+<% for(field in table.fields){ %>
+ <%
+ if(field.keyFlag){
+ keyPropertyName = field.propertyName;
+ }
+ %>
+ <% if(isNotEmpty(field.comment)){ %>
+
+ <% if(springdoc){ %>
+ @Schema(description = "${field.comment}")
+ <% }else if(swagger){ %>
+ @ApiModelProperty(value = "${field.comment}")
+ <% }else{ %>
+ /**
+ * ${field.comment}
+ */
+ <% } %>
+ <% } %>
+ <% if(field.keyFlag){ %>
+ <%
+ /*主键*/
+ %>
+ <% if(field.keyIdentityFlag){ %>
+ @TableId(value = "${field.annotationColumnName}", type = IdType.AUTO)
+ <% }else if(isNotEmpty(idType)){ %>
+ @TableId(value = "${field.annotationColumnName}", type = IdType.${idType})
+ <% }else if(field.convert){ %>
+ @TableId("${field.annotationColumnName}")
+ <% } %>
+ <%
+ /*普通字段*/
+ %>
+ <% }else if(isNotEmpty(field.fill)){ %>
+ <% if(field.convert){ %>
+ @TableField(value = "${field.annotationColumnName}", fill = FieldFill.${field.fill})
+ <% }else{ %>
+ @TableField(fill = FieldFill.${field.fill})
+ <% } %>
+ <% }else if(field.convert){ %>
+ @TableField("${field.annotationColumnName}")
+ <% } %>
+ <%
+ /*乐观锁注解*/
+ %>
+ <% if(field.versionField){ %>
+ @Version
+ <% } %>
+ <%
+ /*逻辑删除注解*/
+ %>
+ <% if(field.logicDeleteField){ %>
+ @TableLogic
+ <% } %>
+ private ${field.propertyType} ${field.propertyName};
+<% } %>
+<% /** -----------END 字段循环遍历----------- **/ %>
+<% if(!entityLombokModel){ %>
+ <% for(field in table.fields){ %>
+ <%
+ var getprefix ='';
+ if(field.propertyType=='boolean'){
+ getprefix='is';
+ }else{
+ getprefix='get';
+ }
+ %>
+
+ public ${field.propertyType} ${getprefix}${field.capitalName}() {
+ return ${field.propertyName};
+ }
+
+ <% if(chainModel){ %>
+ public ${entity} set${field.capitalName}(${field.propertyType} ${field.propertyName}) {
+ <% }else{ %>
+ public void set${field.capitalName}(${field.propertyType} ${field.propertyName}) {
+ <% } %>
+ this.${field.propertyName} = ${field.propertyName};
+ <% if(chainModel){ %>
+ return this;
+ <% } %>
+ }
+ <% } %>
+<% } %>
+<% if(entityColumnConstant){ %>
+ <% for(field in table.fields){ %>
+
+ public static final String ${strutil.toUpperCase(field.name)} = "${field.name}";
+ <% } %>
+<% } %>
+<% if(activeRecord){ %>
+
+ @Override
+ public Serializable pkVal() {
+ <% if(isNotEmpty(keyPropertyName)){ %>
+ return this.${keyPropertyName};
+ <% }else{ %>
+ return super.pkVal();
+ <% } %>
+ }
+<% } %>
+<% if(!entityLombokModel){ %>
+
+ @Override
+ public String toString() {
+ return "${entity}{" +
+ <% for(field in table.fields){ %>
+ <% if(fieldLP.index==0){ %>
+ "${field.propertyName} = " + ${field.propertyName} +
+ <% }else{ %>
+ ", ${field.propertyName} = " + ${field.propertyName} +
+ <% } %>
+ <% } %>
+ "}";
+ }
+<% } %>
+}
diff --git a/hncy4cloud-zgf/src/test/resources/codetpls/mapper.java.btl b/hncy4cloud-zgf/src/test/resources/codetpls/mapper.java.btl
new file mode 100644
index 0000000..222ab15
--- /dev/null
+++ b/hncy4cloud-zgf/src/test/resources/codetpls/mapper.java.btl
@@ -0,0 +1,26 @@
+package ${package.Mapper};
+
+import ${package.Entity}.${entity};
+import ${superMapperClassPackage};
+<% if(mapperAnnotationClass!=null){ %>
+import ${mapperAnnotationClass.name};
+<% } %>
+
+/**
+ *
+ * ${table.comment!} Mapper 接口
+ *
+ *
+ * @author ${author}
+ * @since ${date}
+ */
+<% if(mapperAnnotationClass!=null){ %>
+@${mapperAnnotationClass.simpleName}
+<% } %>
+<% if(kotlin){ %>
+interface ${table.mapperName} : ${superMapperClass}<${entity}>
+<% }else{ %>
+public interface ${table.mapperName} extends ${superMapperClass}<${entity}> {
+
+}
+<% } %>
diff --git a/hncy4cloud-zgf/src/test/resources/codetpls/mapper.xml.btl b/hncy4cloud-zgf/src/test/resources/codetpls/mapper.xml.btl
new file mode 100644
index 0000000..0c42a38
--- /dev/null
+++ b/hncy4cloud-zgf/src/test/resources/codetpls/mapper.xml.btl
@@ -0,0 +1,41 @@
+
+
+
+
+<% if(enableCache){ %>
+
+
+
+<% } %>
+<% if(baseResultMap){ %>
+
+
+<% for(field in table.fields){ %>
+ <% /** 生成主键排在第一位 **/ %>
+ <% if(field.keyFlag){ %>
+
+ <% } %>
+<% } %>
+<% for(field in table.commonFields){ %>
+ <% /** 生成公共字段 **/ %>
+
+<% } %>
+<% for(field in table.fields){ %>
+ <% /** 生成普通字段 **/ %>
+ <% if(!field.keyFlag){ %>
+
+ <% } %>
+<% } %>
+
+<% } %>
+<% if(baseColumnList){ %>
+
+
+<% for(field in table.commonFields){ %>
+ ${field.columnName},
+<% } %>
+ ${table.fieldNames}
+
+
+<% } %>
+
diff --git a/hncy4cloud-zgf/src/test/resources/codetpls/mapperMethods.btl b/hncy4cloud-zgf/src/test/resources/codetpls/mapperMethods.btl
new file mode 100644
index 0000000..38ac229
--- /dev/null
+++ b/hncy4cloud-zgf/src/test/resources/codetpls/mapperMethods.btl
@@ -0,0 +1,10 @@
+<% if(elementType == 'select'){ %>
+ <% if(config.resultMap != null){ %>
+