diff --git a/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/util/VelocityUtils.java b/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/util/VelocityUtils.java index ba3a656..5ee6095 100644 --- a/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/util/VelocityUtils.java +++ b/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/util/VelocityUtils.java @@ -128,6 +128,7 @@ public class VelocityUtils { List templates = new ArrayList(); templates.add("vm/java/domain.java.vm"); templates.add("vm/java/query.java.vm"); + templates.add("vm/java/queryModel.java.vm"); templates.add("vm/java/save.java.vm"); templates.add("vm/java/edit.java.vm"); templates.add("vm/java/controller.java.vm"); @@ -173,6 +174,9 @@ public class VelocityUtils { if (template.contains("query.java.vm")) { fileName = StringUtils.format("{}/domain/req/{}QueryReq.java", javaPath, className); } + if (template.contains("queryModel.java.vm")) { + fileName = StringUtils.format("{}/domain/model/{}QueryModel.java", javaPath, className); + } if (template.contains("save.java.vm")) { fileName = StringUtils.format("{}/domain/req/{}SaveReq.java", javaPath, className); } diff --git a/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/controller.java.vm b/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/controller.java.vm index 0b1bf6a..c3b55b5 100644 --- a/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/controller.java.vm +++ b/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/controller.java.vm @@ -1,10 +1,18 @@ package ${packageName}.controller; import java.util.List; -import javax.servlet.http.HttpServletResponse; -import io.swagger.annotations.*; -import org.springframework.security.access.prepost.PreAuthorize; +import com.muyu.common.core.domain.Result; +import com.muyu.common.core.utils.poi.ExcelUtil; +import com.muyu.common.core.web.controller.BaseController; +import com.muyu.common.core.web.page.DataPageResp; +import com.muyu.common.core.web.page.PageQueryModel; +import com.muyu.common.log.annotation.Log; +import com.muyu.common.log.enums.BusinessType; +import com.muyu.common.security.annotation.RequiresPermissions; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -14,18 +22,14 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.core.controller.BaseController; -import com.ruoyi.common.core.domain.Result; -import com.ruoyi.common.enums.BusinessType; import ${packageName}.domain.${ClassName}; import ${packageName}.domain.req.${ClassName}QueryReq; +import ${packageName}.domain.model.${ClassName}QueryModel; import ${packageName}.domain.req.${ClassName}SaveReq; import ${packageName}.domain.req.${ClassName}EditReq; import ${packageName}.service.${ClassName}Service; -import com.ruoyi.common.utils.poi.ExcelUtil; #if($table.crud) -import com.ruoyi.common.core.page.TableDataInfo; +import com.muyu.common.core.web.page.DataPageResp; #elseif($table.tree) #end @@ -35,9 +39,9 @@ import com.ruoyi.common.core.page.TableDataInfo; * @author ${author} * @date ${datetime} */ -@Api(tags = "${functionName}") @RestController @RequestMapping("/${moduleName}/${businessName}") +@Tag(name = "${functionName}", description = "${functionName}控制层") public class ${ClassName}Controller extends BaseController { @Autowired private ${ClassName}Service ${className}Service; @@ -45,14 +49,13 @@ public class ${ClassName}Controller extends BaseController { /** * 查询${functionName}列表 */ - @ApiOperation("获取${functionName}列表") - @PreAuthorize("@ss.hasPermi('${permissionPrefix}:list')") + @Operation(summary = "获取${functionName}列表", description = "获取${functionName}列表") + @RequiresPermissions("${permissionPrefix}:list") @GetMapping("/list") #if($table.crud) - public Result> list(${ClassName}QueryReq ${className}QueryReq) { - startPage(); - List<${ClassName}> list = ${className}Service.list(${ClassName}.queryBuild(${className}QueryReq)); - return getDataTable(list); + public Result> list(${ClassName}QueryReq ${className}QueryReq) { + PageQueryModel<${ClassName}> pageQueryModel = ${className}Service.pageQuery(${ClassName}QueryModel.reqBuild(${className}QueryReq)); + return resultList(pageQueryModel); } #elseif($table.tree) public Result> list(${ClassName} ${className}) { @@ -64,23 +67,22 @@ public class ${ClassName}Controller extends BaseController { /** * 导出${functionName}列表 */ - @ApiOperation("导出${functionName}列表") - @PreAuthorize("@ss.hasPermi('${permissionPrefix}:export')") + @Operation(summary = "导出${functionName}列表", description = "导出${functionName}列表") + @RequiresPermissions("${permissionPrefix}:export") @Log(title = "${functionName}", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, ${ClassName} ${className}) { - List<${ClassName}> list = ${className}Service.list(${className}); - ExcelUtil<${ClassName}> util = new ExcelUtil<${ClassName}>(${ClassName}.class); + List<${ClassName}> list = ${className}Service.exportList(${className}); + ExcelUtil<${ClassName}> util = new ExcelUtil<>(${ClassName}.class); util.exportExcel(response, list, "${functionName}数据"); } /** * 获取${functionName}详细信息 */ - @ApiOperation("获取${functionName}详细信息") - @PreAuthorize("@ss.hasPermi('${permissionPrefix}:query')") + @Operation(summary = "获取${functionName}详细信息", description = "获取${functionName}详细信息") + @RequiresPermissions("${permissionPrefix}:query") @GetMapping(value = "/{${pkColumn.javaField}}") - @ApiImplicitParam(name = "${pkColumn.javaField}", value = "${pkColumn.javaField}", required = true, dataType = "${pkColumn.javaType}", paramType = "path", dataTypeClass = ${pkColumn.javaType}.class) public Result<${ClassName}> getInfo(@PathVariable("${pkColumn.javaField}") ${pkColumn.javaType} ${pkColumn.javaField}) { return Result.success(${className}Service.getById(${pkColumn.javaField})); } @@ -88,10 +90,10 @@ public class ${ClassName}Controller extends BaseController { /** * 新增${functionName} */ - @PreAuthorize("@ss.hasPermi('${permissionPrefix}:add')") + @RequiresPermissions("${permissionPrefix}:add") @Log(title = "${functionName}", businessType = BusinessType.INSERT) @PostMapping - @ApiOperation("新增${functionName}") + @Operation(summary = "新增${functionName}", description = "新增${functionName}") public Result add(@RequestBody ${ClassName}SaveReq ${className}SaveReq) { return toAjax(${className}Service.save(${ClassName}.saveBuild(${className}SaveReq))); } @@ -99,10 +101,10 @@ public class ${ClassName}Controller extends BaseController { /** * 修改${functionName} */ - @PreAuthorize("@ss.hasPermi('${permissionPrefix}:edit')") + @RequiresPermissions("${permissionPrefix}:edit") @Log(title = "${functionName}", businessType = BusinessType.UPDATE) @PutMapping("/{${pkColumn.javaField}}") - @ApiOperation("修改${functionName}") + @Operation(summary = "修改${functionName}", description = "修改${functionName}") public Result edit(@PathVariable ${pkColumn.javaType} ${pkColumn.javaField}, @RequestBody ${ClassName}EditReq ${className}EditReq) { return toAjax(${className}Service.updateById(${ClassName}.editBuild(${pkColumn.javaField},${className}EditReq))); } @@ -110,11 +112,10 @@ public class ${ClassName}Controller extends BaseController { /** * 删除${functionName} */ - @PreAuthorize("@ss.hasPermi('${permissionPrefix}:remove')") + @RequiresPermissions("${permissionPrefix}:remove") @Log(title = "${functionName}", businessType = BusinessType.DELETE) @DeleteMapping("/{${pkColumn.javaField}s}") - @ApiOperation("删除${functionName}") - @ApiImplicitParam(name = "${pkColumn.javaField}", value = "${pkColumn.javaField}", required = true, dataType = "${pkColumn.javaType}", paramType = "path", dataTypeClass = String.class, example = "1,2,3,4") + @Operation(summary = "删除${functionName}", description = "删除${functionName}") public Result remove(@PathVariable List<${pkColumn.javaType}> ${pkColumn.javaField}s) { return toAjax(${className}Service.removeBatchByIds(${pkColumn.javaField}s)); } diff --git a/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/domain.java.vm b/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/domain.java.vm index 96a65a2..51adc2b 100644 --- a/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/domain.java.vm +++ b/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/domain.java.vm @@ -3,23 +3,26 @@ package ${packageName}.domain; #foreach ($import in $importList) import ${import}; #end +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.muyu.common.core.annotation.Excel; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; +import java.io.Serial; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.AllArgsConstructor; import lombok.experimental.SuperBuilder; -import io.swagger.annotations.*; -import com.ruoyi.common.annotation.Excel; import ${packageName}.domain.req.${ClassName}QueryReq; import ${packageName}.domain.req.${ClassName}SaveReq; import ${packageName}.domain.req.${ClassName}EditReq; #if($table.crud) -import com.ruoyi.common.core.domain.BaseEntity; +import com.muyu.common.core.web.domain.BaseEntity; #elseif($table.tree) -import com.ruoyi.common.core.domain.TreeEntity; +import com.muyu.common.core.web.domain.TreeEntity; #end /** @@ -39,9 +42,9 @@ import com.ruoyi.common.core.domain.TreeEntity; @AllArgsConstructor @TableName("${tableName}") @EqualsAndHashCode(callSuper = true) -@ApiModel(value = "${ClassName}", description = "${functionName}") +@Schema(description = "${functionName}") public class ${ClassName} extends ${Entity} { - + @Serial private static final long serialVersionUID = 1L; #foreach ($column in $columns) @@ -70,30 +73,11 @@ public class ${ClassName} extends ${Entity} { #if($column.isRequired == '1') #set($comment=', required = true') #end - @ApiModelProperty(name = "${column.columnComment}", value = "${column.columnComment}"$comment) + @Schema(name = "${column.columnComment}") private $column.javaType $column.javaField; #end #end - /** - * 查询构造器 - */ - public static ${ClassName} queryBuild( ${ClassName}QueryReq ${className}QueryReq){ - return ${ClassName}.builder() - #foreach ($column in $columns) - #if($column.isQuery == '1') - #if(!$table.isSuperColumn($column.javaField)) - #if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]")) - #set($AttrName=$column.javaField) - #else - #set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) - #end - .${column.javaField}(${className}QueryReq.get${AttrName}()) - #end - #end - #end - .build(); - } /** * 添加构造器 diff --git a/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/edit.java.vm b/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/edit.java.vm index 0218bf2..d7dd164 100644 --- a/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/edit.java.vm +++ b/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/edit.java.vm @@ -3,20 +3,13 @@ package ${packageName}.domain.req; #foreach ($import in $importList) import ${import}; #end -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; -import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.AllArgsConstructor; import lombok.experimental.SuperBuilder; -import io.swagger.annotations.*; -import com.ruoyi.common.annotation.Excel; -#if($table.crud) -import com.ruoyi.common.core.domain.BaseEntity; -#elseif($table.tree) -import com.ruoyi.common.core.domain.TreeEntity; -#end /** * ${functionName}对象 ${tableName} @@ -33,10 +26,8 @@ import com.ruoyi.common.core.domain.TreeEntity; @SuperBuilder @NoArgsConstructor @AllArgsConstructor -@ApiModel(value = "${ClassName}EditReq", description = "${functionName}") -public class ${ClassName}EditReq extends ${Entity} { - - private static final long serialVersionUID = 1L; +@Schema(description = "${functionName}") +public class ${ClassName}EditReq { #foreach ($column in $columns) #if(!$table.isSuperColumn($column.javaField)) @@ -57,7 +48,7 @@ public class ${ClassName}EditReq extends ${Entity} { #if($column.isRequired == '1') #set($isRequired=', required = true') #end - @ApiModelProperty(name = "${column.columnComment}", value = "${column.columnComment}"$isRequired) + @Schema(name = "${column.columnComment}" $isRequired) private $column.javaType $column.javaField; #end diff --git a/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/query.java.vm b/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/query.java.vm index 65876b7..791c88d 100644 --- a/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/query.java.vm +++ b/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/query.java.vm @@ -3,20 +3,16 @@ package ${packageName}.domain.req; #foreach ($import in $importList) import ${import}; #end -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.muyu.common.core.web.page.PageReq; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.AllArgsConstructor; import lombok.experimental.SuperBuilder; -import io.swagger.annotations.*; -import com.ruoyi.common.annotation.Excel; -#if($table.crud) -import com.ruoyi.common.core.domain.BaseEntity; -#elseif($table.tree) -import com.ruoyi.common.core.domain.TreeEntity; -#end +import ${packageName}.domain.model.${ClassName}QueryModel; /** * ${functionName}对象 ${tableName} @@ -33,10 +29,9 @@ import com.ruoyi.common.core.domain.TreeEntity; @SuperBuilder @NoArgsConstructor @AllArgsConstructor -@ApiModel(value = "${ClassName}QueryReq", description = "${functionName}") -public class ${ClassName}QueryReq extends ${Entity} { - - private static final long serialVersionUID = 1L; +@Schema(description = "${functionName}") +@EqualsAndHashCode(callSuper = true) +public class ${ClassName}QueryReq extends PageReq { #foreach ($column in $columns) #if(!$table.isSuperColumn($column.javaField)) @@ -56,7 +51,7 @@ public class ${ClassName}QueryReq extends ${Entity} { #if($column.javaField == $pkColumn.javaField) @TableId(value = "${pkColumn.javaField}",type = IdType.AUTO) #end - @ApiModelProperty(name = "${column.columnComment}", value = "${column.columnComment}") + @Schema(name = "${column.columnComment}") private $column.javaType $column.javaField; #end diff --git a/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/queryModel.java.vm b/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/queryModel.java.vm new file mode 100644 index 0000000..cf55c27 --- /dev/null +++ b/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/queryModel.java.vm @@ -0,0 +1,73 @@ +package ${packageName}.domain.req; + +#foreach ($import in $importList) +import ${import}; +#end +import com.muyu.common.core.web.model.QueryModel; +import com.muyu.system.domain.req.StudentInfoQueryReq; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.AllArgsConstructor; +import lombok.experimental.SuperBuilder; + +/** + * ${functionName}对象 ${tableName} + * + * @author ${author} + * @date ${datetime} + */ +#if($table.crud) +#set($Entity="BaseEntity") +#elseif($table.tree) +#set($Entity="TreeEntity") +#end +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@Schema(description = "${functionName}") +@EqualsAndHashCode(callSuper = true) +public class ${ClassName}QueryModel extends QueryModel<${ClassName}QueryModel> { + +#foreach ($column in $columns) +#if(!$table.isSuperColumn($column.javaField)) +#if($column.isQuery == '1') + /** $column.columnComment */ +#if($column.list) + #set($parentheseIndex=$column.columnComment.indexOf("(")) + #if($parentheseIndex != -1) + #set($comment=$column.columnComment.substring(0, $parentheseIndex)) + #else + #set($comment=$column.columnComment) + #end +#end + @Schema(name = "${column.columnComment}") + private $column.javaType $column.javaField; + +#end +#end +#end + /** + * 查询构造器 + */ + public static ${ClassName}QueryModel reqBuild( ${ClassName}QueryReq queryReq){ + ${ClassName}QueryModel ${className}QueryModel = ${ClassName}QueryModel.builder() + #foreach ($column in $columns) + #if($column.isQuery == '1') + #if(!$table.isSuperColumn($column.javaField)) + #if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]")) + #set($AttrName=$column.javaField) + #else + #set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) + #end + .${column.javaField}(queryReq.get${AttrName}()) + #end + #end + #end + .build(); + ${className}QueryModel.domainBuild(queryReq); + return ${className}QueryModel; + } +} diff --git a/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/save.java.vm b/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/save.java.vm index 34952af..e4773c2 100644 --- a/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/save.java.vm +++ b/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/save.java.vm @@ -3,20 +3,13 @@ package ${packageName}.domain.req; #foreach ($import in $importList) import ${import}; #end -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; -import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.AllArgsConstructor; import lombok.experimental.SuperBuilder; -import io.swagger.annotations.*; -import com.ruoyi.common.annotation.Excel; -#if($table.crud) -import com.ruoyi.common.core.domain.BaseEntity; -#elseif($table.tree) -import com.ruoyi.common.core.domain.TreeEntity; -#end /** * ${functionName}对象 ${tableName} @@ -33,10 +26,9 @@ import com.ruoyi.common.core.domain.TreeEntity; @SuperBuilder @NoArgsConstructor @AllArgsConstructor -@ApiModel(value = "${ClassName}SaveReq", description = "${functionName}") -public class ${ClassName}SaveReq extends ${Entity} { +@Schema(description = "${functionName}") +public class ${ClassName}SaveReq{ - private static final long serialVersionUID = 1L; #foreach ($column in $columns) #if(!$table.isSuperColumn($column.javaField)) @@ -58,7 +50,7 @@ public class ${ClassName}SaveReq extends ${Entity} { #if($column.isRequired == '1') #set($isRequired=', required = true') #end - @ApiModelProperty(name = "${column.columnComment}", value = "${column.columnComment}"$isRequired) + @Schema(name = "${column.columnComment}" $isRequired) private $column.javaType $column.javaField; #end diff --git a/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/service.java.vm b/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/service.java.vm index 89bbdf4..49fb659 100644 --- a/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/service.java.vm +++ b/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/service.java.vm @@ -1,7 +1,9 @@ package ${packageName}.service; import java.util.List; +import com.muyu.common.core.web.page.PageQueryModel; import ${packageName}.domain.${ClassName}; +import ${packageName}.domain.model.${ClassName}QueryModel; import com.baomidou.mybatisplus.extension.service.IService; /** @@ -14,9 +16,17 @@ public interface ${ClassName}Service extends IService<${ClassName}> { /** * 查询${functionName}列表 * - * @param ${className} ${functionName} + * @param pageQueryModel ${functionName} * @return ${functionName}集合 */ - public List<${ClassName}> list(${ClassName} ${className}); + public PageQueryModel<${ClassName}> pageQuery(${ClassName}QueryModel pageQueryModel); + + /** + * 查询${functionName}列表 + * + * @param pageQueryModel ${functionName} + * @return ${functionName}集合 + */ + public List<${ClassName}> exportList(${ClassName} pageQueryModel); } diff --git a/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/serviceImpl.java.vm b/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/serviceImpl.java.vm index 28dbce6..5ef5421 100644 --- a/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/serviceImpl.java.vm +++ b/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/serviceImpl.java.vm @@ -2,15 +2,17 @@ package ${packageName}.service.impl; import java.util.List; -import com.ruoyi.common.utils.ObjUtils; -import com.ruoyi.common.utils.StringUtils; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.muyu.common.core.web.page.PageQueryModel; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; -import ${packageName}.mapper.${ClassName}Mapper; -import ${packageName}.domain.${ClassName}; -import ${packageName}.service.${ClassName}Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import ${packageName}.mapper.${ClassName}Mapper; +import ${packageName}.domain.${ClassName}; +import ${packageName}.domain.model.${ClassName}QueryModel; +import ${packageName}.service.${ClassName}Service; /** * ${functionName}Service业务层处理 @@ -25,53 +27,70 @@ public class ${ClassName}ServiceImpl extends ServiceImpl<${ClassName}Mapper, ${C /** * 查询${functionName}列表 * - * @param ${className} ${functionName} + * @param pageQueryModel ${functionName} * @return ${functionName} */ @Override - public List<${ClassName}> list(${ClassName} ${className}) { + public PageQueryModel<${ClassName}> pageQuery(${ClassName}QueryModel pageQueryModel) { LambdaQueryWrapper<${ClassName}> queryWrapper = new LambdaQueryWrapper<>(); #foreach($column in $columns) #set($queryType=$column.queryType) #set($javaField=$column.javaField) #set($JavaField=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) - #if($column.query) #if($queryType == "EQ") - if (ObjUtils.notNull(${className}.get$JavaField())){ - queryWrapper.eq(${ClassName}::get$JavaField, ${className}.get$JavaField()); - } + queryWrapper.eq(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()), ${ClassName}::get$JavaField, pageQueryModel.get$JavaField()); #elseif($queryType == "NE") - if (ObjUtils.notNull(${className}.get$JavaField())){ - queryWrapper.ne(${ClassName}::get$JavaField, ${className}.get$JavaField()); - } + queryWrapper.ne(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.get$JavaField()); #elseif($queryType == "GT") - if (ObjUtils.notNull(${className}.get$JavaField())){ - queryWrapper.gt(${ClassName}::get$JavaField, ${className}.get$JavaField()); - } + queryWrapper.gt(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.get$JavaField()); #elseif($queryType == "GTE") - if (ObjUtils.notNull(${className}.get$JavaField())){ - queryWrapper.ge(${ClassName}::get$JavaField, ${className}.get$JavaField()); - } + queryWrapper.ge(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.get$JavaField()); #elseif($queryType == "LT") - if (ObjUtils.notNull(${className}.get$JavaField())){ - queryWrapper.lt()${ClassName}::get$JavaField, ${className}.get$JavaField()); - } + queryWrapper.lt(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.get$JavaField()); #elseif($queryType == "LTE") - if (ObjUtils.notNull(${className}.get$JavaField())){ - queryWrapper.le()${ClassName}::get$JavaField, ${className}.get$JavaField()); - } + queryWrapper.le(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()), ${ClassName}::get$JavaField, pageQueryModel.get$JavaField()); #elseif($queryType == "LIKE") - if (ObjUtils.notNull(${className}.get$JavaField())){ - queryWrapper.like(${ClassName}::get$JavaField, ${className}.get$JavaField()); - } + queryWrapper.like(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.get$JavaField()); #elseif($queryType == "BETWEEN") - if (ObjUtils.notChildNull(${className}.getBetween("$JavaField"))){ - queryWrapper.between(${ClassName}::get$JavaField, ${className}.getBeginParam("$JavaField"),${className}.getEndParam("$JavaField")); - } - #end - #end -#end - return list(queryWrapper); + queryWrapper.between(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.getBeginParam("$JavaField"),pageQueryModel.getEndParam("$JavaField")); +#end #end #end + Page<${ClassName}> page = this.page(pageQueryModel.buildPage(), queryWrapper); + return PageQueryModel.of(page); + } + + + /** + * 查询${functionName}列表 + * + * @param pageQueryModel ${functionName} + * @return ${functionName} + */ + @Override + public List<${ClassName}> exportList(${ClassName} pageQueryModel) { + LambdaQueryWrapper<${ClassName}> queryWrapper = new LambdaQueryWrapper<>(); + #foreach($column in $columns) + #set($queryType=$column.queryType) + #set($javaField=$column.javaField) + #set($JavaField=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) + #if($column.query) + #if($queryType == "EQ") + queryWrapper.eq(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()), ${ClassName}::get$JavaField, pageQueryModel.get$JavaField()); + #elseif($queryType == "NE") + queryWrapper.ne(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.get$JavaField()); + #elseif($queryType == "GT") + queryWrapper.gt(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.get$JavaField()); + #elseif($queryType == "GTE") + queryWrapper.ge(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.get$JavaField()); + #elseif($queryType == "LT") + queryWrapper.lt(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.get$JavaField()); + #elseif($queryType == "LTE") + queryWrapper.le(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()), ${ClassName}::get$JavaField, pageQueryModel.get$JavaField()); + #elseif($queryType == "LIKE") + queryWrapper.like(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.get$JavaField()); + #elseif($queryType == "BETWEEN") + queryWrapper.between(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.getBeginParam("$JavaField"),pageQueryModel.getEndParam("$JavaField")); + #end #end #end + return this.list(queryWrapper); } } diff --git a/cloud-modules/cloud-modules-gen/src/main/resources/vm/xml/mapper.xml.vm b/cloud-modules/cloud-modules-gen/src/main/resources/vm/xml/mapper.xml.vm index 0ceb3d8..a2965b9 100644 --- a/cloud-modules/cloud-modules-gen/src/main/resources/vm/xml/mapper.xml.vm +++ b/cloud-modules/cloud-modules-gen/src/main/resources/vm/xml/mapper.xml.vm @@ -3,8 +3,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - - + + #foreach ($column in $columns) #end @@ -21,115 +21,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #end #end - - - select#foreach($column in $columns) $column.columnName#if($foreach.count != $columns.size()),#end#end from ${tableName} - - - - - - - - insert into ${tableName} - -#foreach($column in $columns) -#if($column.columnName != $pkColumn.columnName || !$pkColumn.increment) - $column.columnName, -#end -#end - - -#foreach($column in $columns) -#if($column.columnName != $pkColumn.columnName || !$pkColumn.increment) - #{$column.javaField}, -#end -#end - - - - - update ${tableName} - -#foreach($column in $columns) -#if($column.columnName != $pkColumn.columnName) - $column.columnName = #{$column.javaField}, -#end -#end - - where ${pkColumn.columnName} = #{${pkColumn.javaField}} - - - - delete from ${tableName} where ${pkColumn.columnName} = #{${pkColumn.javaField}} - - - - delete from ${tableName} where ${pkColumn.columnName} in - - #{${pkColumn.javaField}} - - -#if($table.sub) - - - delete from ${subTableName} where ${subTableFkName} in - - #{${subTableFkclassName}} - - - - - delete from ${subTableName} where ${subTableFkName} = #{${subTableFkclassName}} - - - - insert into ${subTableName}(#foreach($column in $subTable.columns) $column.columnName#if($foreach.count != $subTable.columns.size()),#end#end) values - - (#foreach($column in $subTable.columns) #{item.$column.javaField}#if($foreach.count != $subTable.columns.size()),#end#end) - - -#end \ No newline at end of file