Jelajahi Sumber

模版完善

lichunlei 5 bulan lalu
induk
melakukan
28f344ad0c

+ 41 - 16
Template/Java/controller.java

@@ -1,4 +1,4 @@
-package ${PackageName}$.biz.controller.${ClientType}$;
+package <<ym.projectService.packageName>>.biz.controller.admin;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -8,8 +8,11 @@ import com.kxs.common.security.annotation.Inner;
 import com.kxs.common.log.annotation.SysLog;
 import org.springdoc.core.annotations.ParameterObject;
 import io.swagger.v3.oas.annotations.security.SecurityRequirement;
-import io.swagger.v3.oas.annotations.tags.Tag;
-${ImportList}$
+import io.swagger.v3.oas.annotations.tags.Tag;<<ym-loop:databaseTables>>
+import <<ym.projectService.packageName>>.api.model.<<tableNameFirstUpper>>;<</ym-loop:databaseTables>>
+import org.apache.ibatis.annotations.Param;<<ym-loop:databaseTables>>
+import <<ym.projectService.packageName>>.biz.service.<<tableNameFirstUpper>>Service;<</ym-loop:databaseTables>>
+
 import org.springframework.web.bind.annotation.*;
 import org.springframework.http.HttpHeaders;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -18,26 +21,48 @@ import java.util.List;
 import lombok.RequiredArgsConstructor;
 
 /**
- * ${TabName}$(${ClassName}$)控制层
- *
- * @author 系统
- * @since ${Now}$
- */
+* <<ym.apiGroup.groupTitle>>(<<ym.apiGroup.groupNameUpper>>)控制层
+*
+ * @author <<ym:author>>
+ * @since <<ym:since>>
+*/
 @RestController
 @RequiredArgsConstructor
-@RequestMapping("${ClassNameLower}$")
-@Tag(description = "${ClassNameLower}$", name = "${ClassName}$")
+@RequestMapping("<<ym.apiGroup.groupName>>")
+@Tag(description = "<<ym.apiGroup.groupName>>", name = "<<ym.apiGroup.groupNameUpper>>")
 @SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
-public class ${ClassName}$Controller {
+public class <<ym.apiGroup.groupNameUpper>>Controller {
 
     /**
-     * 服务对象
-     */
-${ServiceList}$
+    * 服务对象
+    */<<ym-loop:databaseTables>>
+    private final <<tableNameFirstUpper>>Service <<tableNameFirstUpper>>Service;<</ym-loop:databaseTables>>
+
 
 
-${MethodList}$
+    <<ym-loop:apiInfos>>
+    /**
+     * <<tabName>>-<<apiName>>
+     *
+     * @RequestBody param 实体参数
+     * @return <<tabName>>-<<apiName>>
+    */<<ym-if:<<apiKind>> > 2>>
+    @SysLog("<<tabName>><<apiName>>")<</ym-if>><<ym-if:<<apiKind>> < 3>>
+    @GetMapping("/<<methodName>>")<</ym-if>><<ym-if:<<apiKind>> == 3>>
+    @PostMapping("/<<methodName>>")<</ym-if>><<ym-if:<<apiKind>> == 4>>
+    @PutMapping("/<<methodName>>")<</ym-if>><<ym-if:<<apiKind>> == 5>>
+    @DeleteMapping("/<<methodName>>")<</ym-if>><<ym-if:<<apiKind>> > 2>>
+    @PreAuthorize("@pms.hasPermission('<<linkTableName>>_<<methodName>>')")<</ym-if>>
+    public R <<methodName>>(<<ym-if:<<apiKind>> == 1 && <<pageFlag>>>>@ParameterObject Page<<<linkTableNameFirstUpper>>> page, <</ym-if>><<ym-if:<<apiKind>> < 3>>@ParameterObject<</ym-if>><<ym-if:<<apiKind>> == 3 || <<apiKind>> == 4>>@RequestBody<</ym-if>> <<ym-if:<<apiKind>> == 5>>@PathVariable Long id<<ym-else>><<linkTableNameFirstUpper>> param<</ym-if) {<<ym-if:<<apiKind>> == 1>>
+        return R.ok(<<linkTableNameUpper>>Service.page(page, new QueryWrapper<>(param)));<</ym-if>><<ym-if:<<apiKind>> == 2>>
+        return R.ok(<<linkTableNameUpper>>Service.getById(param));<</ym-if>><<ym-if:<<apiKind>> == 3>>
+        return R.ok(<<linkTableNameUpper>>Service.save(param));<</ym-if>><<ym-if:<<apiKind>> == 4>>
+        return R.ok(<<linkTableNameUpper>>Service.updateById(param));<</ym-if>><<ym-if:<<apiKind>> == 5>>
+        return R.ok(<<linkTableNameUpper>>Service.removeById(id));<</ym-if>>
+    }
+
 
 
-}
+    <</ym-loop:apiInfos>>
 
+}

+ 22 - 9
Template/Java/dto.java

@@ -1,19 +1,32 @@
-package ${PackageName}$.api.dto.${ClientType}$${Path}$;
+package <<ym.projectService.packageName>>.api.dto.admin.<<ym.apiGroup.groupName>>;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
-${ImportSub}$
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
 
 
 /**
- * ${ApiTitle}$-dto
+ * <<ym.apiInfo.apiName>>-dto
  *
- * @author 系统
- * @date ${Now}$
- */
+ * @author <<ym:author>>
+ * @since <<ym:since>>
+*/
 @Data
-public class ${MethodName}$DTO {
+@Schema(description = "<<ym.apiInfo.apiName>>请求参数")
+public class <<ym.apiInfo.methodName>>DTO {
+
+    <<ym-loop:databaseFields>>
+    /**
+     * <<fieldTitle>>
+     */
+    @Schema(description = "<<fieldTitle>>")
+    private <<ym-if:"<<fieldType>>"="int">>Integer<</ym-if>><<ym-if:"<<fieldType>>"="bigint">>Long<</ym-if>><<ym-if:"<<fieldType>>"="numeric">>BigDecimal<</ym-if>><<ym-if:"<<fieldType>>"="datetime">>LocalDateTime<</ym-if>><<ym-if:"<<fieldType>>"="bit">>Boolean<</ym-if>><<ym-if:"<<fieldType>>"!="bit" && "<<fieldType>>"!="bigint" && "<<fieldType>>"!="numeric" && "<<fieldType>>"!="datetime" && "<<fieldType>>"!="bit">>String<</ym-if>> <<fieldNameUpper>>;
+
 
-${Fields}$
+    <</ym-loop:databaseFields>>
 
-}
+}

+ 2 - 2
Template/Java/mapper.xml

@@ -3,8 +3,8 @@
 <mapper namespace="<<ym.projectService.packageName>>.biz.mapper.<<ym:databaseTable.tableNameUpper>>Mapper">
 
     <resultMap type="<<ym.projectService.packageName>>.api.model.<<ym:databaseTable.tableNameUpper>>" id="<<ym:databaseTable.tableNameUpper>>Map">
-        <<ym-loop:DatabaseFields>>
-        <result column="<<fieldName>>" property="<<fieldNameUpper>>" /><</ym-loop:DatabaseFields>>
+        <<ym-loop:databaseFields>>
+        <result column="<<fieldName>>" property="<<fieldNameUpper>>" /><</ym-loop:databaseFields>>
 
     </resultMap>
 

+ 2 - 2
Template/Java/model.java

@@ -28,7 +28,7 @@ public class <<ym:databaseTable.tableNameUpper>> extends Model<<<ym:databaseTabl
     private static final long serialVersionUID = 1L;
 
     
-    <<ym-loop:DatabaseFields>>
+    <<ym-loop:databaseFields>>
     /**
      * <<fieldTitle>>
      */<<ym-if:"<<fieldType>>"="datetime" && "<<fieldName>>".start("create")>>
@@ -40,5 +40,5 @@ public class <<ym:databaseTable.tableNameUpper>> extends Model<<<ym:databaseTabl
     private <<ym-if:"<<fieldType>>"="int">>Integer<</ym-if>><<ym-if:"<<fieldType>>"="bigint">>Long<</ym-if>><<ym-if:"<<fieldType>>"="numeric">>BigDecimal<</ym-if>><<ym-if:"<<fieldType>>"="datetime">>LocalDateTime<</ym-if>><<ym-if:"<<fieldType>>"="bit">>Boolean<</ym-if>><<ym-if:"<<fieldType>>"!="bit" && "<<fieldType>>"!="bigint" && "<<fieldType>>"!="numeric" && "<<fieldType>>"!="datetime" && "<<fieldType>>"!="bit">>String<</ym-if>> <<fieldNameUpper>>;
 
 
-    <</ym-loop:DatabaseFields>>
+    <</ym-loop:databaseFields>>
 }

+ 20 - 4
Template/Java/serviceImpl.java

@@ -3,16 +3,16 @@ package <<ym.projectService.packageName>>.biz.service.impl;
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.github.yulichang.toolkit.JoinWrappers;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
-import <<ym.projectService.packageName>>.biz.mapper.<<ym:databaseTable.tableTitle>>Mapper;
-import <<ym.projectService.packageName>>.biz.service.<<ym:databaseTable.tableTitle>>Service;
+import <<ym.projectService.packageName>>.biz.mapper.<<ym:databaseTable.tableNameUpper>>Mapper;
+import <<ym.projectService.packageName>>.biz.service.<<ym:databaseTable.tableNameUpper>>Service;
 import org.springframework.stereotype.Service;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import <<ym.projectService.packageName>>.api.model.<<ym:databaseTable.tableTitle>>;
+import <<ym.projectService.packageName>>.api.model.<<ym:databaseTable.tableNameFirstUpper>>;
 
 
 /**
-* <<ym:databaseTable.tableTitle>>(<<ym:databaseTable.tableNameUpper>>)表服务实现类
+* <<ym:databaseTable.tableNameUpper>>(<<ym:databaseTable.tableNameUpper>>)表服务实现类
 *
 * @author <<ym:author>>
 * @since <<ym:since>>
@@ -22,5 +22,21 @@ import <<ym.projectService.packageName>>.api.model.<<ym:databaseTable.tableTitle
 @Slf4j
 public class <<ym:databaseTable.tableNameUpper>>ServiceImpl extends MPJBaseServiceImpl<<<ym:databaseTable.tableNameUpper>>Mapper, <<ym:databaseTable.tableNameUpper>>> implements <<ym:databaseTable.tableNameUpper>>Service {
 
+    <<ym-loop:apiInfos>>
+    @Override
+    public <<methodName>>VO <<methodName>>(<<ym-if:<<apiKind>> == 1 && <<pageFlag>>>>Page<<<ym:databaseTable.tableNameFirstUpper>>> page, <</ym-if:>>@RepairStandardInfoDTO param) {<<ym-if:<<apiKind>> == 1 && <<pageFlag>>>>
+        return baseMapper.selectJoinListPage(page, <<methodName>>VO.class, JoinWrappers.lambda(<<ym:databaseTable.tableNameFirstUpper>>.class)<</ym-else>>
+        return baseMapper.selectJoinList(<<methodName>>VO.class, JoinWrappers.lambda(<<ym:databaseTable.tableNameFirstUpper>>.class)<</ym-if:>>
+            .selectAsClass(<<ym:databaseTable.tableNameFirstUpper>>.class, <<methodName>>VO.class)<<ym-loop:apiParam>><<ym-if:<<linkTableId>> > 0>>
+            .leftJoin(<<linkTableNameFirstUpper>>.class, <<linkTableNameFirstUpper>>::getId, <<ym:databaseTable.tableNameFirstUpper>>::get<<fieldNameFirstUpper>> )<</ym-if:>><</ym-loop:apiParam>><<ym-loop:apiParam>><<ym-if:<<checkAttribute>>.Contains("reqired") && reqParam>>
+            .eq(<<ym:databaseTable.tableNameFirstUpper>>::get<<fieldNameFirstUpper>>, param.get<<fieldNameFirstUpper>>())<</ym-if>><<ym-if:!<<checkAttribute>>.Contains("reqired") && reqParam>>
+            .eqIfExists(<<ym:databaseTable.tableNameFirstUpper>>::get<<fieldNameFirstUpper>>, param.get<<fieldNameFirstUpper>>())<</ym-if:>><</ym-loop:apiParam>><<ym-loop:apiParam>><<ym-if:"<<sortMode>>" == "desc">>
+            .orderByDesc(<<ym:databaseTable.tableNameFirstUpper>>::get<<fieldNameFirstUpper>>)<</ym-if>><<ym-if:"<<sortMode>>" == "asc">>
+            .orderBy(<<ym:databaseTable.tableNameFirstUpper>>::get<<fieldNameFirstUpper>>)<</ym-if>><</ym-loop:apiParam>>
+        );
+    }
+
+
+    <</ym-loop:apiInfos>>
 
 }

+ 18 - 11
Template/Java/vo.java

@@ -1,29 +1,36 @@
-package ${PackageName}$.api.vo.${ClientType}$${Path}$;
+package <<ym.projectService.packageName>>.api.vo.admin.<<ym.apiGroup.groupName>>;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
 import java.io.Serial;
 import java.io.Serializable;
-${ImportSub}$
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
 
 /**
- * ${ApiTitle}$vo
+ * <<ym.apiInfo.apiName>>vo
  *
- * @author 系统
- * @date ${Now}$
- */
+ * @author <<ym:author>>
+ * @since <<ym:since>>
+*/
 @Data
-@Schema(description = "${ApiTitle}$返回实体")
-public class ${MethodName}$VO implements Serializable {
+@Schema(description = "<<ym.apiInfo.apiName>>返回实体")
+public class <<ym.apiInfo.methodName>>VO implements Serializable {
 
     @Serial
     private static final long serialVersionUID = 1L;
 
 
-${Fields}$
+    <<ym-loop:databaseFields>>
+    /**
+     * <<fieldTitle>>
+     */
+    @Schema(description = "<<fieldTitle>>")
+    private <<ym-if:"<<fieldType>>"="int">>Integer<</ym-if>><<ym-if:"<<fieldType>>"="bigint">>Long<</ym-if>><<ym-if:"<<fieldType>>"="numeric">>BigDecimal<</ym-if>><<ym-if:"<<fieldType>>"="datetime">>LocalDateTime<</ym-if>><<ym-if:"<<fieldType>>"="bit">>Boolean<</ym-if>><<ym-if:"<<fieldType>>"!="bit" && "<<fieldType>>"!="bigint" && "<<fieldType>>"!="numeric" && "<<fieldType>>"!="datetime" && "<<fieldType>>"!="bit">>String<</ym-if>> <<fieldNameUpper>>;
 
 
-	
+    <</ym-loop:databaseFields>>
 
-}
+
+}