mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-11-04 04:08:43 +08:00 
			
		
		
		
	多模块重构 11:修改代码生成器的实现
This commit is contained in:
		@@ -1,9 +1,9 @@
 | 
			
		||||
package ${basePackage}.module.${table.moduleName}.controller.${table.businessName};
 | 
			
		||||
package ${basePackage}.module.${table.moduleName}.controller.${sceneEnum.basePackage}.${table.businessName};
 | 
			
		||||
 | 
			
		||||
import org.springframework.web.bind.annotation.*;
 | 
			
		||||
import javax.annotation.Resource;
 | 
			
		||||
import org.springframework.validation.annotation.Validated;
 | 
			
		||||
import org.springframework.security.access.prepost.PreAuthorize;
 | 
			
		||||
#if ($sceneEnum.scene == 1)import org.springframework.security.access.prepost.PreAuthorize;#end
 | 
			
		||||
 | 
			
		||||
import io.swagger.annotations.*;
 | 
			
		||||
 | 
			
		||||
@@ -22,32 +22,32 @@ import ${ExcelUtilsClassName};
 | 
			
		||||
import ${OperateLogClassName};
 | 
			
		||||
import static ${OperateTypeEnumClassName}.*;
 | 
			
		||||
 | 
			
		||||
import ${basePackage}.module.${table.moduleName}.controller.${table.businessName}.vo.*;
 | 
			
		||||
import ${basePackage}.module.${table.moduleName}.controller.${sceneEnum.basePackage}.${table.businessName}.vo.*;
 | 
			
		||||
import ${basePackage}.module.${table.moduleName}.dal.dataobject.${table.businessName}.${table.className}DO;
 | 
			
		||||
import ${basePackage}.module.${table.moduleName}.convert.${table.businessName}.${table.className}Convert;
 | 
			
		||||
import ${basePackage}.module.${table.moduleName}.service.${table.businessName}.${table.className}Service;
 | 
			
		||||
 | 
			
		||||
@Api(tags = "${table.classComment}")
 | 
			
		||||
@Api(tags = "${sceneEnum.name} - ${table.classComment}")
 | 
			
		||||
@RestController
 | 
			
		||||
##二级的 businessName 暂时不算在 HTTP 路径上,可以根据需要写
 | 
			
		||||
@RequestMapping("/${table.moduleName}/${simpleClassName_strikeCase}")
 | 
			
		||||
@Validated
 | 
			
		||||
public class ${table.className}Controller {
 | 
			
		||||
public class ${sceneEnum.prefixClass}${table.className}Controller {
 | 
			
		||||
 | 
			
		||||
    @Resource
 | 
			
		||||
    private ${table.className}Service ${classNameVar}Service;
 | 
			
		||||
 | 
			
		||||
    @PostMapping("/create")
 | 
			
		||||
    @ApiOperation("创建${table.classComment}")
 | 
			
		||||
    @PreAuthorize("@ss.hasPermission('${permissionPrefix}:create')")
 | 
			
		||||
    public CommonResult<${primaryColumn.javaType}> create${simpleClassName}(@Valid @RequestBody ${table.className}CreateReqVO createReqVO) {
 | 
			
		||||
#if ($sceneEnum.scene == 1)    @PreAuthorize("@ss.hasPermission('${permissionPrefix}:create')")#end
 | 
			
		||||
    public CommonResult<${primaryColumn.javaType}> create${simpleClassName}(@Valid @RequestBody ${sceneEnum.prefixClass}${table.className}CreateReqVO createReqVO) {
 | 
			
		||||
        return success(${classNameVar}Service.create${simpleClassName}(createReqVO));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @PutMapping("/update")
 | 
			
		||||
    @ApiOperation("更新${table.classComment}")
 | 
			
		||||
    @PreAuthorize("@ss.hasPermission('${permissionPrefix}:update')")
 | 
			
		||||
    public CommonResult<Boolean> update${simpleClassName}(@Valid @RequestBody ${table.className}UpdateReqVO updateReqVO) {
 | 
			
		||||
#if ($sceneEnum.scene == 1)    @PreAuthorize("@ss.hasPermission('${permissionPrefix}:update')")#end
 | 
			
		||||
    public CommonResult<Boolean> update${simpleClassName}(@Valid @RequestBody ${sceneEnum.prefixClass}${table.className}UpdateReqVO updateReqVO) {
 | 
			
		||||
        ${classNameVar}Service.update${simpleClassName}(updateReqVO);
 | 
			
		||||
        return success(true);
 | 
			
		||||
    }
 | 
			
		||||
@@ -55,7 +55,7 @@ public class ${table.className}Controller {
 | 
			
		||||
    @DeleteMapping("/delete")
 | 
			
		||||
    @ApiOperation("删除${table.classComment}")
 | 
			
		||||
    @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = ${primaryColumn.javaType}.class)
 | 
			
		||||
    @PreAuthorize("@ss.hasPermission('${permissionPrefix}:delete')")
 | 
			
		||||
#if ($sceneEnum.scene == 1)    @PreAuthorize("@ss.hasPermission('${permissionPrefix}:delete')")#end
 | 
			
		||||
    public CommonResult<Boolean> delete${simpleClassName}(@RequestParam("id") ${primaryColumn.javaType} id) {
 | 
			
		||||
        ${classNameVar}Service.delete${simpleClassName}(id);
 | 
			
		||||
        return success(true);
 | 
			
		||||
@@ -65,7 +65,7 @@ public class ${table.className}Controller {
 | 
			
		||||
    @ApiOperation("获得${table.classComment}")
 | 
			
		||||
    @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = ${primaryColumn.javaType}.class)
 | 
			
		||||
    @PreAuthorize("@ss.hasPermission('${permissionPrefix}:query')")
 | 
			
		||||
    public CommonResult<${table.className}RespVO> get${simpleClassName}(@RequestParam("id") ${primaryColumn.javaType} id) {
 | 
			
		||||
    public CommonResult<${sceneEnum.prefixClass}${table.className}RespVO> get${simpleClassName}(@RequestParam("id") ${primaryColumn.javaType} id) {
 | 
			
		||||
        ${table.className}DO ${classNameVar} = ${classNameVar}Service.get${simpleClassName}(id);
 | 
			
		||||
        return success(${table.className}Convert.INSTANCE.convert(${classNameVar}));
 | 
			
		||||
    }
 | 
			
		||||
@@ -73,30 +73,30 @@ public class ${table.className}Controller {
 | 
			
		||||
    @GetMapping("/list")
 | 
			
		||||
    @ApiOperation("获得${table.classComment}列表")
 | 
			
		||||
    @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class)
 | 
			
		||||
    @PreAuthorize("@ss.hasPermission('${permissionPrefix}:query')")
 | 
			
		||||
    public CommonResult<List<${table.className}RespVO>> get${simpleClassName}List(@RequestParam("ids") Collection<${primaryColumn.javaType}> ids) {
 | 
			
		||||
#if ($sceneEnum.scene == 1)    @PreAuthorize("@ss.hasPermission('${permissionPrefix}:query')")#end
 | 
			
		||||
    public CommonResult<List<${sceneEnum.prefixClass}${table.className}RespVO>> get${simpleClassName}List(@RequestParam("ids") Collection<${primaryColumn.javaType}> ids) {
 | 
			
		||||
        List<${table.className}DO> list = ${classNameVar}Service.get${simpleClassName}List(ids);
 | 
			
		||||
        return success(${table.className}Convert.INSTANCE.convertList(list));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @GetMapping("/page")
 | 
			
		||||
    @ApiOperation("获得${table.classComment}分页")
 | 
			
		||||
    @PreAuthorize("@ss.hasPermission('${permissionPrefix}:query')")
 | 
			
		||||
    public CommonResult<PageResult<${table.className}RespVO>> get${simpleClassName}Page(@Valid ${table.className}PageReqVO pageVO) {
 | 
			
		||||
#if ($sceneEnum.scene == 1)    @PreAuthorize("@ss.hasPermission('${permissionPrefix}:query')")#end
 | 
			
		||||
    public CommonResult<PageResult<${sceneEnum.prefixClass}${table.className}RespVO>> get${simpleClassName}Page(@Valid ${sceneEnum.prefixClass}${table.className}PageReqVO pageVO) {
 | 
			
		||||
        PageResult<${table.className}DO> pageResult = ${classNameVar}Service.get${simpleClassName}Page(pageVO);
 | 
			
		||||
        return success(${table.className}Convert.INSTANCE.convertPage(pageResult));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @GetMapping("/export-excel")
 | 
			
		||||
    @ApiOperation("导出${table.classComment} Excel")
 | 
			
		||||
    @PreAuthorize("@ss.hasPermission('${permissionPrefix}:export')")
 | 
			
		||||
#if ($sceneEnum.scene == 1)    @PreAuthorize("@ss.hasPermission('${permissionPrefix}:export')")#end
 | 
			
		||||
    @OperateLog(type = EXPORT)
 | 
			
		||||
    public void export${simpleClassName}Excel(@Valid ${table.className}ExportReqVO exportReqVO,
 | 
			
		||||
    public void export${simpleClassName}Excel(@Valid ${sceneEnum.prefixClass}${table.className}ExportReqVO exportReqVO,
 | 
			
		||||
              HttpServletResponse response) throws IOException {
 | 
			
		||||
        List<${table.className}DO> list = ${classNameVar}Service.get${simpleClassName}List(exportReqVO);
 | 
			
		||||
        // 导出 Excel
 | 
			
		||||
        List<${table.className}ExcelVO> datas = ${table.className}Convert.INSTANCE.convertList02(list);
 | 
			
		||||
        ExcelUtils.write(response, "${table.classComment}.xls", "数据", ${table.className}ExcelVO.class, datas);
 | 
			
		||||
        List<${sceneEnum.prefixClass}${table.className}ExcelVO> datas = ${table.className}Convert.INSTANCE.convertList02(list);
 | 
			
		||||
        ExcelUtils.write(response, "${table.classComment}.xls", "数据", ${sceneEnum.prefixClass}${table.className}ExcelVO.class, datas);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
package ${basePackage}.module.${table.moduleName}.controller.${table.businessName}.vo;
 | 
			
		||||
package ${basePackage}.module.${table.moduleName}.controller.${sceneEnum.basePackage}.${table.businessName}.vo;
 | 
			
		||||
 | 
			
		||||
import lombok.*;
 | 
			
		||||
import java.util.*;
 | 
			
		||||
@@ -20,7 +20,7 @@ import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
 | 
			
		||||
* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
 | 
			
		||||
*/
 | 
			
		||||
@Data
 | 
			
		||||
public class ${table.className}BaseVO {
 | 
			
		||||
public class ${sceneEnum.prefixClass}${table.className}BaseVO {
 | 
			
		||||
 | 
			
		||||
#foreach ($column in $columns)
 | 
			
		||||
#if (${column.createOperation} && ${column.updateOperation} && ${column.listOperationResult})##通用操作
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
package ${basePackage}.module.${table.moduleName}.controller.${table.businessName}.vo;
 | 
			
		||||
package ${basePackage}.module.${table.moduleName}.controller.${sceneEnum.basePackage}.${table.businessName}.vo;
 | 
			
		||||
 | 
			
		||||
import lombok.*;
 | 
			
		||||
import java.util.*;
 | 
			
		||||
@@ -15,11 +15,11 @@ import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
 | 
			
		||||
#end
 | 
			
		||||
#end
 | 
			
		||||
 | 
			
		||||
@ApiModel("${table.classComment}创建 Request VO")
 | 
			
		||||
@ApiModel("${sceneEnum.name} - ${table.classComment}创建 Request VO")
 | 
			
		||||
@Data
 | 
			
		||||
@EqualsAndHashCode(callSuper = true)
 | 
			
		||||
@ToString(callSuper = true)
 | 
			
		||||
public class ${table.className}CreateReqVO extends ${table.className}BaseVO {
 | 
			
		||||
public class ${sceneEnum.prefixClass}${table.className}CreateReqVO extends ${sceneEnum.prefixClass}${table.className}BaseVO {
 | 
			
		||||
 | 
			
		||||
#foreach ($column in $columns)
 | 
			
		||||
#if (${column.createOperation} && (!${column.updateOperation} || !${column.listOperationResult}))##不是通用字段
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
package ${basePackage}.module.${table.moduleName}.controller.${table.businessName}.vo;
 | 
			
		||||
package ${basePackage}.module.${table.moduleName}.controller.${sceneEnum.basePackage}.${table.businessName}.vo;
 | 
			
		||||
 | 
			
		||||
import lombok.*;
 | 
			
		||||
import java.util.*;
 | 
			
		||||
@@ -20,7 +20,7 @@ import ${DictConvertClassName};
 | 
			
		||||
 * @author ${table.author}
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
public class ${table.className}ExcelVO {
 | 
			
		||||
public class ${sceneEnum.prefixClass}${table.className}ExcelVO {
 | 
			
		||||
 | 
			
		||||
#foreach ($column in $columns)
 | 
			
		||||
    #if (${column.listOperationResult})##返回字段
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
package ${basePackage}.module.${table.moduleName}.controller.${table.businessName}.vo;
 | 
			
		||||
package ${basePackage}.module.${table.moduleName}.controller.${sceneEnum.basePackage}.${table.businessName}.vo;
 | 
			
		||||
 | 
			
		||||
import lombok.*;
 | 
			
		||||
import java.util.*;
 | 
			
		||||
@@ -22,9 +22,9 @@ import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
 | 
			
		||||
    private ${column.javaType}#if ("$!prefix" != "") ${prefix}${JavaField}#else ${column.javaField}#end;
 | 
			
		||||
#end
 | 
			
		||||
 | 
			
		||||
@ApiModel(value = "${table.classComment} Excel 导出 Request VO", description = "参数和 ${table.className}PageReqVO 是一致的")
 | 
			
		||||
@ApiModel(value = "${sceneEnum.name} - ${table.classComment} Excel 导出 Request VO", description = "参数和 ${table.className}PageReqVO 是一致的")
 | 
			
		||||
@Data
 | 
			
		||||
public class ${table.className}ExportReqVO {
 | 
			
		||||
public class ${sceneEnum.prefixClass}${table.className}ExportReqVO {
 | 
			
		||||
 | 
			
		||||
#foreach ($column in $columns)
 | 
			
		||||
#set ($JavaField = $column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})##首字母大写
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
package ${basePackage}.module.${table.moduleName}.controller.${table.businessName}.vo;
 | 
			
		||||
package ${basePackage}.module.${table.moduleName}.controller.${sceneEnum.basePackage}.${table.businessName}.vo;
 | 
			
		||||
 | 
			
		||||
import lombok.*;
 | 
			
		||||
import java.util.*;
 | 
			
		||||
@@ -22,11 +22,11 @@ import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
 | 
			
		||||
    private ${column.javaType}#if ("$!prefix" != "") ${prefix}${JavaField}#else ${column.javaField}#end;
 | 
			
		||||
#end
 | 
			
		||||
 | 
			
		||||
@ApiModel("${table.classComment}分页 Request VO")
 | 
			
		||||
@ApiModel("${sceneEnum.name} - ${table.classComment}分页 Request VO")
 | 
			
		||||
@Data
 | 
			
		||||
@EqualsAndHashCode(callSuper = true)
 | 
			
		||||
@ToString(callSuper = true)
 | 
			
		||||
public class ${table.className}PageReqVO extends PageParam {
 | 
			
		||||
public class ${sceneEnum.prefixClass}${table.className}PageReqVO extends PageParam {
 | 
			
		||||
 | 
			
		||||
#foreach ($column in $columns)
 | 
			
		||||
#set ($JavaField = $column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})##首字母大写
 | 
			
		||||
 
 | 
			
		||||
@@ -1,14 +1,14 @@
 | 
			
		||||
package ${basePackage}.module.${table.moduleName}.controller.${table.businessName}.vo;
 | 
			
		||||
package ${basePackage}.module.${table.moduleName}.controller.${sceneEnum.basePackage}.${table.businessName}.vo;
 | 
			
		||||
 | 
			
		||||
import lombok.*;
 | 
			
		||||
import java.util.*;
 | 
			
		||||
import io.swagger.annotations.*;
 | 
			
		||||
 | 
			
		||||
@ApiModel("${table.classComment} Response VO")
 | 
			
		||||
@ApiModel("${sceneEnum.name} - ${table.classComment} Response VO")
 | 
			
		||||
@Data
 | 
			
		||||
@EqualsAndHashCode(callSuper = true)
 | 
			
		||||
@ToString(callSuper = true)
 | 
			
		||||
public class ${table.className}RespVO extends ${table.className}BaseVO {
 | 
			
		||||
public class ${sceneEnum.prefixClass}${table.className}RespVO extends ${sceneEnum.prefixClass}${table.className}BaseVO {
 | 
			
		||||
 | 
			
		||||
#foreach ($column in $columns)
 | 
			
		||||
#if (${column.listOperationResult} && (!${column.createOperation} || !${column.updateOperation}))##不是通用字段
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
package ${basePackage}.module.${table.moduleName}.controller.${table.businessName}.vo;
 | 
			
		||||
package ${basePackage}.module.${table.moduleName}.controller.${sceneEnum.basePackage}.${table.businessName}.vo;
 | 
			
		||||
 | 
			
		||||
import lombok.*;
 | 
			
		||||
import java.util.*;
 | 
			
		||||
@@ -15,11 +15,11 @@ import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
 | 
			
		||||
#end
 | 
			
		||||
#end
 | 
			
		||||
 | 
			
		||||
@ApiModel("${table.classComment}更新 Request VO")
 | 
			
		||||
@ApiModel("${sceneEnum.name} - ${table.classComment}更新 Request VO")
 | 
			
		||||
@Data
 | 
			
		||||
@EqualsAndHashCode(callSuper = true)
 | 
			
		||||
@ToString(callSuper = true)
 | 
			
		||||
public class ${table.className}UpdateReqVO extends ${table.className}BaseVO {
 | 
			
		||||
public class ${sceneEnum.prefixClass}${table.className}UpdateReqVO extends ${sceneEnum.prefixClass}${table.className}BaseVO {
 | 
			
		||||
 | 
			
		||||
#foreach ($column in $columns)
 | 
			
		||||
#if (${column.updateOperation} && (!${column.createOperation} || !${column.listOperationResult}))##不是通用字段
 | 
			
		||||
 
 | 
			
		||||
@@ -6,7 +6,7 @@ import ${PageResultClassName};
 | 
			
		||||
 | 
			
		||||
import org.mapstruct.Mapper;
 | 
			
		||||
import org.mapstruct.factory.Mappers;
 | 
			
		||||
import ${basePackage}.module.${table.moduleName}.controller.${table.businessName}.vo.*;
 | 
			
		||||
import ${basePackage}.module.${table.moduleName}.controller.${sceneEnum.basePackage}.${table.businessName}.vo.*;
 | 
			
		||||
import ${basePackage}.module.${table.moduleName}.dal.dataobject.${table.businessName}.${table.className}DO;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@@ -19,16 +19,16 @@ public interface ${table.className}Convert {
 | 
			
		||||
 | 
			
		||||
    ${table.className}Convert INSTANCE = Mappers.getMapper(${table.className}Convert.class);
 | 
			
		||||
 | 
			
		||||
    ${table.className}DO convert(${table.className}CreateReqVO bean);
 | 
			
		||||
    ${table.className}DO convert(${sceneEnum.prefixClass}${table.className}CreateReqVO bean);
 | 
			
		||||
 | 
			
		||||
    ${table.className}DO convert(${table.className}UpdateReqVO bean);
 | 
			
		||||
    ${table.className}DO convert(${sceneEnum.prefixClass}${table.className}UpdateReqVO bean);
 | 
			
		||||
 | 
			
		||||
    ${table.className}RespVO convert(${table.className}DO bean);
 | 
			
		||||
    ${sceneEnum.prefixClass}${table.className}RespVO convert(${table.className}DO bean);
 | 
			
		||||
 | 
			
		||||
    List<${table.className}RespVO> convertList(List<${table.className}DO> list);
 | 
			
		||||
    List<${sceneEnum.prefixClass}${table.className}RespVO> convertList(List<${table.className}DO> list);
 | 
			
		||||
 | 
			
		||||
    PageResult<${table.className}RespVO> convertPage(PageResult<${table.className}DO> page);
 | 
			
		||||
    PageResult<${sceneEnum.prefixClass}${table.className}RespVO> convertPage(PageResult<${table.className}DO> page);
 | 
			
		||||
 | 
			
		||||
    List<${table.className}ExcelVO> convertList02(List<${table.className}DO> list);
 | 
			
		||||
    List<${sceneEnum.prefixClass}${table.className}ExcelVO> convertList02(List<${table.className}DO> list);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,7 @@ import ${QueryWrapperClassName};
 | 
			
		||||
import ${BaseMapperClassName};
 | 
			
		||||
import ${basePackage}.module.${table.moduleName}.dal.dataobject.${table.businessName}.${table.className}DO;
 | 
			
		||||
import org.apache.ibatis.annotations.Mapper;
 | 
			
		||||
import ${basePackage}.module.${table.moduleName}.controller.${table.businessName}.vo.*;
 | 
			
		||||
import ${basePackage}.module.${table.moduleName}.controller.${sceneEnum.basePackage}.${table.businessName}.vo.*;
 | 
			
		||||
 | 
			
		||||
## 字段模板
 | 
			
		||||
#macro(listCondition)
 | 
			
		||||
@@ -15,28 +15,28 @@ import ${basePackage}.module.${table.moduleName}.controller.${table.businessName
 | 
			
		||||
#if (${column.listOperation})
 | 
			
		||||
#set ($JavaField = $column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})##首字母大写
 | 
			
		||||
#if (${column.listOperationCondition} == "=")##情况一,= 的时候
 | 
			
		||||
                .eqIfPresent("${column.columnName}", reqVO.get${JavaField}())
 | 
			
		||||
                .eqIfPresent(${table.className}DO::get${JavaField}, reqVO.get${JavaField}())
 | 
			
		||||
#end
 | 
			
		||||
#if (${column.listOperationCondition} == "!=")##情况二,!= 的时候
 | 
			
		||||
                .neIfPresent("${column.columnName}", reqVO.get${JavaField}())
 | 
			
		||||
                .neIfPresent(${table.className}DO::get${JavaField}, reqVO.get${JavaField}())
 | 
			
		||||
#end
 | 
			
		||||
#if (${column.listOperationCondition} == ">")##情况三,> 的时候
 | 
			
		||||
                .gtIfPresent("${column.columnName}", reqVO.get${JavaField}())
 | 
			
		||||
                .gtIfPresent(${table.className}DO::get${JavaField}, reqVO.get${JavaField}())
 | 
			
		||||
#end
 | 
			
		||||
#if (${column.listOperationCondition} == ">=")##情况四,>= 的时候
 | 
			
		||||
                .geIfPresent("${column.columnName}", reqVO.get${JavaField}())
 | 
			
		||||
                .geIfPresent(${table.className}DO::get${JavaField}, reqVO.get${JavaField}())
 | 
			
		||||
#end
 | 
			
		||||
#if (${column.listOperationCondition} == "<")##情况五,< 的时候
 | 
			
		||||
                .ltIfPresent("${column.columnName}", reqVO.get${JavaField}())
 | 
			
		||||
                .ltIfPresent(${table.className}DO::get${JavaField}, reqVO.get${JavaField}())
 | 
			
		||||
#end
 | 
			
		||||
#if (${column.listOperationCondition} == "<=")##情况五,<= 的时候
 | 
			
		||||
                .leIfPresent("${column.columnName}", reqVO.get${JavaField}())
 | 
			
		||||
                .leIfPresent(${table.className}DO::get${JavaField}, reqVO.get${JavaField}())
 | 
			
		||||
#end
 | 
			
		||||
#if (${column.listOperationCondition} == "LIKE")##情况七,Like 的时候
 | 
			
		||||
                .likeIfPresent("${column.columnName}", reqVO.get${JavaField}())
 | 
			
		||||
                .likeIfPresent(${table.className}DO::get${JavaField}, reqVO.get${JavaField}())
 | 
			
		||||
#end
 | 
			
		||||
#if (${column.listOperationCondition} == "BETWEEN")##情况八,Between 的时候
 | 
			
		||||
                .betweenIfPresent("${column.columnName}", reqVO.getBegin${JavaField}(), reqVO.getEnd${JavaField}())
 | 
			
		||||
                .betweenIfPresent(${table.className}DO::get${JavaField}, reqVO.getBegin${JavaField}(), reqVO.getEnd${JavaField}())
 | 
			
		||||
#end
 | 
			
		||||
#end
 | 
			
		||||
#end
 | 
			
		||||
@@ -49,18 +49,18 @@ import ${basePackage}.module.${table.moduleName}.controller.${table.businessName
 | 
			
		||||
@Mapper
 | 
			
		||||
public interface ${table.className}Mapper extends BaseMapperX<${table.className}DO> {
 | 
			
		||||
 | 
			
		||||
    default PageResult<${table.className}DO> selectPage(${table.className}PageReqVO reqVO) {
 | 
			
		||||
        return selectPage(reqVO, new QueryWrapperX<${table.className}DO>()
 | 
			
		||||
    default PageResult<${table.className}DO> selectPage(${sceneEnum.prefixClass}${table.className}PageReqVO reqVO) {
 | 
			
		||||
        return selectPage(reqVO, new LambdaQueryWrapperX<${table.className}DO>()
 | 
			
		||||
			#listCondition()
 | 
			
		||||
                .orderByDesc("id")## 大多数情况下,id 倒序
 | 
			
		||||
        );
 | 
			
		||||
                .orderByDesc(${table.className}DO::getId));## 大多数情况下,id 倒序
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    default List<${table.className}DO> selectList(${table.className}ExportReqVO reqVO) {
 | 
			
		||||
        return selectList(new QueryWrapperX<${table.className}DO>()
 | 
			
		||||
    default List<${table.className}DO> selectList(${sceneEnum.prefixClass}${table.className}ExportReqVO reqVO) {
 | 
			
		||||
        return selectList(new LambdaQueryWrapperX<${table.className}DO>()
 | 
			
		||||
			#listCondition()
 | 
			
		||||
                .orderByDesc("id")## 大多数情况下,id 倒序
 | 
			
		||||
        );
 | 
			
		||||
                .orderByDesc(${table.className}DO::getId));## 大多数情况下,id 倒序
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,2 +1,3 @@
 | 
			
		||||
// TODO 待办:请将下面的错误码复制到 yudao-module-${table.moduleName}-api 模块的 ErrorCodeConstants 类中。注意,请给“TODO 补充编号”设置一个错误码编号!!!
 | 
			
		||||
// ========== ${table.classComment} TODO 补充编号 ==========
 | 
			
		||||
ErrorCode ${simpleClassName_underlineCase.toUpperCase()}_NOT_EXISTS = new ErrorCode(TODO 补充编号, "${table.classComment}不存在");
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@ package ${basePackage}.module.${table.moduleName}.service.${table.businessName};
 | 
			
		||||
 | 
			
		||||
import java.util.*;
 | 
			
		||||
import javax.validation.*;
 | 
			
		||||
import ${basePackage}.module.${table.moduleName}.controller.${table.businessName}.vo.*;
 | 
			
		||||
import ${basePackage}.module.${table.moduleName}.controller.${sceneEnum.basePackage}.${table.businessName}.vo.*;
 | 
			
		||||
import ${basePackage}.module.${table.moduleName}.dal.dataobject.${table.businessName}.${table.className}DO;
 | 
			
		||||
import ${PageResultClassName};
 | 
			
		||||
 | 
			
		||||
@@ -19,14 +19,14 @@ public interface ${table.className}Service {
 | 
			
		||||
     * @param createReqVO 创建信息
 | 
			
		||||
     * @return 编号
 | 
			
		||||
     */
 | 
			
		||||
    ${primaryColumn.javaType} create${simpleClassName}(@Valid ${table.className}CreateReqVO createReqVO);
 | 
			
		||||
    ${primaryColumn.javaType} create${simpleClassName}(@Valid ${sceneEnum.prefixClass}${table.className}CreateReqVO createReqVO);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 更新${table.classComment}
 | 
			
		||||
     *
 | 
			
		||||
     * @param updateReqVO 更新信息
 | 
			
		||||
     */
 | 
			
		||||
    void update${simpleClassName}(@Valid ${table.className}UpdateReqVO updateReqVO);
 | 
			
		||||
    void update${simpleClassName}(@Valid ${sceneEnum.prefixClass}${table.className}UpdateReqVO updateReqVO);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 删除${table.classComment}
 | 
			
		||||
@@ -57,7 +57,7 @@ public interface ${table.className}Service {
 | 
			
		||||
     * @param pageReqVO 分页查询
 | 
			
		||||
     * @return ${table.classComment}分页
 | 
			
		||||
     */
 | 
			
		||||
    PageResult<${table.className}DO> get${simpleClassName}Page(${table.className}PageReqVO pageReqVO);
 | 
			
		||||
    PageResult<${table.className}DO> get${simpleClassName}Page(${sceneEnum.prefixClass}${table.className}PageReqVO pageReqVO);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 获得${table.classComment}列表, 用于 Excel 导出
 | 
			
		||||
@@ -65,6 +65,6 @@ public interface ${table.className}Service {
 | 
			
		||||
     * @param exportReqVO 查询条件
 | 
			
		||||
     * @return ${table.classComment}列表
 | 
			
		||||
     */
 | 
			
		||||
    List<${table.className}DO> get${simpleClassName}List(${table.className}ExportReqVO exportReqVO);
 | 
			
		||||
    List<${table.className}DO> get${simpleClassName}List(${sceneEnum.prefixClass}${table.className}ExportReqVO exportReqVO);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -5,13 +5,12 @@ import javax.annotation.Resource;
 | 
			
		||||
import org.springframework.validation.annotation.Validated;
 | 
			
		||||
 | 
			
		||||
import java.util.*;
 | 
			
		||||
import ${basePackage}.module.${table.moduleName}.controller.${table.businessName}.vo.*;
 | 
			
		||||
import ${basePackage}.module.${table.moduleName}.controller.${sceneEnum.basePackage}.${table.businessName}.vo.*;
 | 
			
		||||
import ${basePackage}.module.${table.moduleName}.dal.dataobject.${table.businessName}.${table.className}DO;
 | 
			
		||||
import ${PageResultClassName};
 | 
			
		||||
 | 
			
		||||
import ${basePackage}.module.${table.moduleName}.convert.${table.businessName}.${table.className}Convert;
 | 
			
		||||
import ${basePackage}.module.${table.moduleName}.dal.mysql.${table.businessName}.${table.className}Mapper;
 | 
			
		||||
import ${basePackage}.module.${table.moduleName}.service.${table.businessName}.${table.className}Service;
 | 
			
		||||
 | 
			
		||||
import static ${ServiceExceptionUtilClassName}.exception;
 | 
			
		||||
import static ${basePackage}.module.${table.moduleName}.enums.ErrorCodeConstants.*;
 | 
			
		||||
@@ -29,7 +28,7 @@ public class ${table.className}ServiceImpl implements ${table.className}Service
 | 
			
		||||
    private ${table.className}Mapper ${classNameVar}Mapper;
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public ${primaryColumn.javaType} create${simpleClassName}(${table.className}CreateReqVO createReqVO) {
 | 
			
		||||
    public ${primaryColumn.javaType} create${simpleClassName}(${sceneEnum.prefixClass}${table.className}CreateReqVO createReqVO) {
 | 
			
		||||
        // 插入
 | 
			
		||||
        ${table.className}DO ${classNameVar} = ${table.className}Convert.INSTANCE.convert(createReqVO);
 | 
			
		||||
        ${classNameVar}Mapper.insert(${classNameVar});
 | 
			
		||||
@@ -38,7 +37,7 @@ public class ${table.className}ServiceImpl implements ${table.className}Service
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void update${simpleClassName}(${table.className}UpdateReqVO updateReqVO) {
 | 
			
		||||
    public void update${simpleClassName}(${sceneEnum.prefixClass}${table.className}UpdateReqVO updateReqVO) {
 | 
			
		||||
        // 校验存在
 | 
			
		||||
        this.validate${simpleClassName}Exists(updateReqVO.getId());
 | 
			
		||||
        // 更新
 | 
			
		||||
@@ -71,12 +70,12 @@ public class ${table.className}ServiceImpl implements ${table.className}Service
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public PageResult<${table.className}DO> get${simpleClassName}Page(${table.className}PageReqVO pageReqVO) {
 | 
			
		||||
    public PageResult<${table.className}DO> get${simpleClassName}Page(${sceneEnum.prefixClass}${table.className}PageReqVO pageReqVO) {
 | 
			
		||||
        return ${classNameVar}Mapper.selectPage(pageReqVO);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public List<${table.className}DO> get${simpleClassName}List(${table.className}ExportReqVO exportReqVO) {
 | 
			
		||||
    public List<${table.className}DO> get${simpleClassName}List(${sceneEnum.prefixClass}${table.className}ExportReqVO exportReqVO) {
 | 
			
		||||
        return ${classNameVar}Mapper.selectList(exportReqVO);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -5,9 +5,9 @@ import org.springframework.boot.test.mock.mockito.MockBean;
 | 
			
		||||
 | 
			
		||||
import javax.annotation.Resource;
 | 
			
		||||
 | 
			
		||||
import ${basePackage}.BaseDbUnitTest;
 | 
			
		||||
import ${basePackage}.module.${table.moduleName}.service.${table.businessName}.impl.${table.className}ServiceImpl;
 | 
			
		||||
import ${basePackage}.module.${table.moduleName}.controller.${table.businessName}.vo.*;
 | 
			
		||||
import ${basePackage}.module.${table.moduleName}.test.BaseDbUnitTest;## 每个项目,默认有一个基础 DB Test 基类
 | 
			
		||||
 | 
			
		||||
import ${basePackage}.module.${table.moduleName}.controller.${sceneEnum.basePackage}.${table.businessName}.vo.*;
 | 
			
		||||
import ${basePackage}.module.${table.moduleName}.dal.dataobject.${table.businessName}.${table.className}DO;
 | 
			
		||||
import ${basePackage}.module.${table.moduleName}.dal.mysql.${table.businessName}.${table.className}Mapper;
 | 
			
		||||
import ${PageResultClassName};
 | 
			
		||||
@@ -45,7 +45,7 @@ import static org.mockito.Mockito.*;
 | 
			
		||||
       #end
 | 
			
		||||
       #end
 | 
			
		||||
       // 准备参数
 | 
			
		||||
       ${table.className}${VO} reqVO = new ${table.className}${VO}();
 | 
			
		||||
       ${sceneEnum.prefixClass}${table.className}${VO} reqVO = new ${sceneEnum.prefixClass}${table.className}${VO}();
 | 
			
		||||
       #foreach ($column in $columns)
 | 
			
		||||
       #if (${column.listOperation})
 | 
			
		||||
       #set ($JavaField = $column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})##首字母大写
 | 
			
		||||
@@ -64,7 +64,7 @@ import static org.mockito.Mockito.*;
 | 
			
		||||
* @author ${table.author}
 | 
			
		||||
*/
 | 
			
		||||
@Import(${table.className}ServiceImpl.class)
 | 
			
		||||
public class ${table.className}ServiceTest extends BaseDbUnitTest {
 | 
			
		||||
public class ${table.className}ServiceImplTest extends BaseDbUnitTest {
 | 
			
		||||
 | 
			
		||||
    @Resource
 | 
			
		||||
    private ${table.className}ServiceImpl ${classNameVar}Service;
 | 
			
		||||
@@ -75,7 +75,7 @@ public class ${table.className}ServiceTest extends BaseDbUnitTest {
 | 
			
		||||
    @Test
 | 
			
		||||
    public void testCreate${simpleClassName}_success() {
 | 
			
		||||
        // 准备参数
 | 
			
		||||
        ${table.className}CreateReqVO reqVO = randomPojo(${table.className}CreateReqVO.class);
 | 
			
		||||
        ${sceneEnum.prefixClass}${table.className}CreateReqVO reqVO = randomPojo(${sceneEnum.prefixClass}${table.className}CreateReqVO.class);
 | 
			
		||||
 | 
			
		||||
        // 调用
 | 
			
		||||
        ${primaryColumn.javaType} ${classNameVar}Id = ${classNameVar}Service.create${simpleClassName}(reqVO);
 | 
			
		||||
@@ -92,7 +92,7 @@ public class ${table.className}ServiceTest extends BaseDbUnitTest {
 | 
			
		||||
        ${table.className}DO db${simpleClassName} = randomPojo(${table.className}DO.class);
 | 
			
		||||
        ${classNameVar}Mapper.insert(db${simpleClassName});// @Sql: 先插入出一条存在的数据
 | 
			
		||||
        // 准备参数
 | 
			
		||||
        ${table.className}UpdateReqVO reqVO = randomPojo(${table.className}UpdateReqVO.class, o -> {
 | 
			
		||||
        ${sceneEnum.prefixClass}${table.className}UpdateReqVO reqVO = randomPojo(${sceneEnum.prefixClass}${table.className}UpdateReqVO.class, o -> {
 | 
			
		||||
            o.setId(db${simpleClassName}.getId()); // 设置更新的 ID
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
@@ -106,7 +106,7 @@ public class ${table.className}ServiceTest extends BaseDbUnitTest {
 | 
			
		||||
    @Test
 | 
			
		||||
    public void testUpdate${simpleClassName}_notExists() {
 | 
			
		||||
        // 准备参数
 | 
			
		||||
        ${table.className}UpdateReqVO reqVO = randomPojo(${table.className}UpdateReqVO.class);
 | 
			
		||||
        ${sceneEnum.prefixClass}${table.className}UpdateReqVO reqVO = randomPojo(${sceneEnum.prefixClass}${table.className}UpdateReqVO.class);
 | 
			
		||||
 | 
			
		||||
        // 调用, 并断言异常
 | 
			
		||||
        assertServiceException(() -> ${classNameVar}Service.update${simpleClassName}(reqVO), ${simpleClassName_underlineCase.toUpperCase()}_NOT_EXISTS);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user