mirror of
				https://github.com/dromara/RuoYi-Vue-Plus.git
				synced 2025-11-04 16:23:42 +08:00 
			
		
		
		
	update 多bo合并 使用分组校验 生成bo代码
This commit is contained in:
		@@ -132,9 +132,7 @@ public class VelocityUtils
 | 
			
		||||
        List<String> templates = new ArrayList<String>();
 | 
			
		||||
        templates.add("vm/java/domain.java.vm");
 | 
			
		||||
        templates.add("vm/java/vo.java.vm");
 | 
			
		||||
        templates.add("vm/java/queryBo.java.vm");
 | 
			
		||||
        templates.add("vm/java/addBo.java.vm");
 | 
			
		||||
        templates.add("vm/java/editBo.java.vm");
 | 
			
		||||
		templates.add("vm/java/bo.java.vm");
 | 
			
		||||
        templates.add("vm/java/mapper.java.vm");
 | 
			
		||||
        templates.add("vm/java/service.java.vm");
 | 
			
		||||
        templates.add("vm/java/serviceImpl.java.vm");
 | 
			
		||||
@@ -184,20 +182,12 @@ public class VelocityUtils
 | 
			
		||||
        }
 | 
			
		||||
        if (template.contains("vo.java.vm"))
 | 
			
		||||
        {
 | 
			
		||||
            fileName = StrUtil.format("{}/vo/{}Vo.java", javaPath, className);
 | 
			
		||||
        }
 | 
			
		||||
        if (template.contains("queryBo.java.vm"))
 | 
			
		||||
        {
 | 
			
		||||
            fileName = StrUtil.format("{}/bo/{}QueryBo.java", javaPath, className);
 | 
			
		||||
        }
 | 
			
		||||
        if (template.contains("addBo.java.vm"))
 | 
			
		||||
        {
 | 
			
		||||
            fileName = StrUtil.format("{}/bo/{}AddBo.java", javaPath, className);
 | 
			
		||||
        }
 | 
			
		||||
        if (template.contains("editBo.java.vm"))
 | 
			
		||||
        {
 | 
			
		||||
            fileName = StrUtil.format("{}/bo/{}EditBo.java", javaPath, className);
 | 
			
		||||
            fileName = StrUtil.format("{}/domain/vo/{}Vo.java", javaPath, className);
 | 
			
		||||
        }
 | 
			
		||||
		if (template.contains("bo.java.vm"))
 | 
			
		||||
		{
 | 
			
		||||
			fileName = StrUtil.format("{}/domain/bo/{}Bo.java", javaPath, className);
 | 
			
		||||
		}
 | 
			
		||||
        if (template.contains("sub-domain.java.vm") && StrUtil.equals(GenConstants.TPL_SUB, genTable.getTplCategory()))
 | 
			
		||||
        {
 | 
			
		||||
            fileName = StrUtil.format("{}/domain/{}.java", javaPath, genTable.getSubTable().getClassName());
 | 
			
		||||
 
 | 
			
		||||
@@ -1,45 +0,0 @@
 | 
			
		||||
package ${packageName}.bo;
 | 
			
		||||
 | 
			
		||||
import io.swagger.annotations.ApiModel;
 | 
			
		||||
import io.swagger.annotations.ApiModelProperty;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import java.util.Date;
 | 
			
		||||
import javax.validation.constraints.*;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#foreach ($import in $importList)
 | 
			
		||||
import ${import};
 | 
			
		||||
#end
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * ${functionName}添加对象 ${tableName}
 | 
			
		||||
 *
 | 
			
		||||
 * @author ${author}
 | 
			
		||||
 * @date ${datetime}
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
@ApiModel("${functionName}添加对象")
 | 
			
		||||
public class ${ClassName}AddBo {
 | 
			
		||||
 | 
			
		||||
#foreach ($column in $columns)
 | 
			
		||||
#if($column.isInsert && $column.isPk!=1)
 | 
			
		||||
 | 
			
		||||
    /** $column.columnComment */
 | 
			
		||||
    @ApiModelProperty("$column.columnComment")
 | 
			
		||||
#if($column.isRequired==1)
 | 
			
		||||
#if($column.javaType == 'String')
 | 
			
		||||
    @NotBlank(message = "$column.columnComment不能为空")
 | 
			
		||||
#else
 | 
			
		||||
    @NotNull(message = "$column.columnComment不能为空")
 | 
			
		||||
#end
 | 
			
		||||
#end
 | 
			
		||||
    private $column.javaType $column.javaField;
 | 
			
		||||
#end
 | 
			
		||||
#end
 | 
			
		||||
#if($table.sub)
 | 
			
		||||
 | 
			
		||||
    /** $table.subTable.functionName信息 */
 | 
			
		||||
    @ApiModelProperty("$table.subTable.functionName")
 | 
			
		||||
    private List<${subClassName}> ${subclassName}List;
 | 
			
		||||
#end
 | 
			
		||||
}
 | 
			
		||||
@@ -13,11 +13,11 @@ import com.ruoyi.common.annotation.RepeatSubmit;
 | 
			
		||||
import com.ruoyi.common.annotation.Log;
 | 
			
		||||
import com.ruoyi.common.core.controller.BaseController;
 | 
			
		||||
import com.ruoyi.common.core.domain.AjaxResult;
 | 
			
		||||
import com.ruoyi.common.core.validate.AddGroup;
 | 
			
		||||
import com.ruoyi.common.core.validate.EditGroup;
 | 
			
		||||
import com.ruoyi.common.enums.BusinessType;
 | 
			
		||||
import ${packageName}.vo.${ClassName}Vo;
 | 
			
		||||
import ${packageName}.bo.${ClassName}QueryBo;
 | 
			
		||||
import ${packageName}.bo.${ClassName}AddBo;
 | 
			
		||||
import ${packageName}.bo.${ClassName}EditBo;
 | 
			
		||||
import ${packageName}.domain.vo.${ClassName}Vo;
 | 
			
		||||
import ${packageName}.domain.bo.${ClassName}Bo;
 | 
			
		||||
import ${packageName}.service.I${ClassName}Service;
 | 
			
		||||
import com.ruoyi.common.utils.poi.ExcelUtil;
 | 
			
		||||
#if($table.crud || $table.sub)
 | 
			
		||||
@@ -49,11 +49,11 @@ public class ${ClassName}Controller extends BaseController {
 | 
			
		||||
    @PreAuthorize("@ss.hasPermi('${permissionPrefix}:list')")
 | 
			
		||||
    @GetMapping("/list")
 | 
			
		||||
#if($table.crud || $table.sub)
 | 
			
		||||
    public TableDataInfo<${ClassName}Vo> list(@Validated ${ClassName}QueryBo bo) {
 | 
			
		||||
    public TableDataInfo<${ClassName}Vo> list(@Validated ${ClassName}Bo bo) {
 | 
			
		||||
        return i${ClassName}Service.queryPageList(bo);
 | 
			
		||||
    }
 | 
			
		||||
#elseif($table.tree)
 | 
			
		||||
    public AjaxResult<List<${ClassName}Vo>> list(@Validated ${ClassName}QueryBo bo) {
 | 
			
		||||
    public AjaxResult<List<${ClassName}Vo>> list(@Validated ${ClassName}Bo bo) {
 | 
			
		||||
        List<${ClassName}Vo> list = i${ClassName}Service.queryList(bo);
 | 
			
		||||
        return AjaxResult.success(list);
 | 
			
		||||
    }
 | 
			
		||||
@@ -66,7 +66,7 @@ public class ${ClassName}Controller extends BaseController {
 | 
			
		||||
    @PreAuthorize("@ss.hasPermi('${permissionPrefix}:export')")
 | 
			
		||||
    @Log(title = "${functionName}", businessType = BusinessType.EXPORT)
 | 
			
		||||
    @GetMapping("/export")
 | 
			
		||||
    public AjaxResult<${ClassName}Vo> export(@Validated ${ClassName}QueryBo bo) {
 | 
			
		||||
    public AjaxResult<${ClassName}Vo> export(@Validated ${ClassName}Bo bo) {
 | 
			
		||||
        List<${ClassName}Vo> list = i${ClassName}Service.queryList(bo);
 | 
			
		||||
        ExcelUtil<${ClassName}Vo> util = new ExcelUtil<${ClassName}Vo>(${ClassName}Vo.class);
 | 
			
		||||
        return util.exportExcel(list, "${functionName}");
 | 
			
		||||
@@ -91,8 +91,8 @@ public class ${ClassName}Controller extends BaseController {
 | 
			
		||||
    @Log(title = "${functionName}", businessType = BusinessType.INSERT)
 | 
			
		||||
    @RepeatSubmit
 | 
			
		||||
    @PostMapping()
 | 
			
		||||
    public AjaxResult<Void> add(@Validated @RequestBody ${ClassName}AddBo bo) {
 | 
			
		||||
        return toAjax(i${ClassName}Service.insertByAddBo(bo) ? 1 : 0);
 | 
			
		||||
    public AjaxResult<Void> add(@Validated(AddGroup.class) @RequestBody ${ClassName}Bo bo) {
 | 
			
		||||
        return toAjax(i${ClassName}Service.insertByBo(bo) ? 1 : 0);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
@@ -103,8 +103,8 @@ public class ${ClassName}Controller extends BaseController {
 | 
			
		||||
    @Log(title = "${functionName}", businessType = BusinessType.UPDATE)
 | 
			
		||||
    @RepeatSubmit
 | 
			
		||||
    @PutMapping()
 | 
			
		||||
    public AjaxResult<Void> edit(@Validated @RequestBody ${ClassName}EditBo bo) {
 | 
			
		||||
        return toAjax(i${ClassName}Service.updateByEditBo(bo) ? 1 : 0);
 | 
			
		||||
    public AjaxResult<Void> edit(@Validated(EditGroup.class) @RequestBody ${ClassName}Bo bo) {
 | 
			
		||||
        return toAjax(i${ClassName}Service.updateByBo(bo) ? 1 : 0);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
 
 | 
			
		||||
@@ -1,46 +0,0 @@
 | 
			
		||||
package ${packageName}.bo;
 | 
			
		||||
 | 
			
		||||
import io.swagger.annotations.ApiModel;
 | 
			
		||||
import io.swagger.annotations.ApiModelProperty;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import java.util.Date;
 | 
			
		||||
import javax.validation.constraints.*;
 | 
			
		||||
 | 
			
		||||
#foreach ($import in $importList)
 | 
			
		||||
import ${import};
 | 
			
		||||
#end
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * ${functionName}编辑对象 ${tableName}
 | 
			
		||||
 *
 | 
			
		||||
 * @author ${author}
 | 
			
		||||
 * @date ${datetime}
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
@ApiModel("${functionName}编辑对象")
 | 
			
		||||
public class ${ClassName}EditBo {
 | 
			
		||||
 | 
			
		||||
#foreach ($column in $columns)
 | 
			
		||||
#if($column.isEdit || $column.isPk==1)
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * $column.columnComment
 | 
			
		||||
     */
 | 
			
		||||
    @ApiModelProperty("$column.columnComment")
 | 
			
		||||
#if($column.isRequired==1)
 | 
			
		||||
#if($column.javaType == 'String')
 | 
			
		||||
    @NotBlank(message = "$column.columnComment不能为空")
 | 
			
		||||
#else
 | 
			
		||||
    @NotNull(message = "$column.columnComment不能为空")
 | 
			
		||||
#end
 | 
			
		||||
#end
 | 
			
		||||
    private $column.javaType $column.javaField;
 | 
			
		||||
#end
 | 
			
		||||
#end
 | 
			
		||||
#if($table.sub)
 | 
			
		||||
 | 
			
		||||
    /** $table.subTable.functionName信息 */
 | 
			
		||||
    @ApiModelProperty("$table.subTable.functionName")
 | 
			
		||||
    private List<${subClassName}> ${subclassName}List;
 | 
			
		||||
#end
 | 
			
		||||
}
 | 
			
		||||
@@ -1,68 +0,0 @@
 | 
			
		||||
package ${packageName}.bo;
 | 
			
		||||
 | 
			
		||||
import io.swagger.annotations.ApiModel;
 | 
			
		||||
import io.swagger.annotations.ApiModelProperty;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import lombok.EqualsAndHashCode;
 | 
			
		||||
 | 
			
		||||
import java.util.Date;
 | 
			
		||||
 | 
			
		||||
#foreach ($import in $importList)
 | 
			
		||||
import ${import};
 | 
			
		||||
#end
 | 
			
		||||
#if($table.crud || $table.sub)
 | 
			
		||||
import com.ruoyi.common.core.domain.BaseEntity;
 | 
			
		||||
#elseif($table.tree)
 | 
			
		||||
import com.ruoyi.common.core.domain.TreeEntity;
 | 
			
		||||
#end
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * ${functionName}分页查询对象 ${tableName}
 | 
			
		||||
 *
 | 
			
		||||
 * @author ${author}
 | 
			
		||||
 * @date ${datetime}
 | 
			
		||||
 */
 | 
			
		||||
#if($table.crud || $table.sub)
 | 
			
		||||
#set($Entity="BaseEntity")
 | 
			
		||||
#elseif($table.tree)
 | 
			
		||||
#set($Entity="TreeEntity")
 | 
			
		||||
#end
 | 
			
		||||
 | 
			
		||||
@Data
 | 
			
		||||
@EqualsAndHashCode(callSuper = true)
 | 
			
		||||
@ApiModel("${functionName}分页查询对象")
 | 
			
		||||
public class ${ClassName}QueryBo extends ${Entity} {
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * 分页大小
 | 
			
		||||
	 */
 | 
			
		||||
	@ApiModelProperty("分页大小")
 | 
			
		||||
	private Integer pageSize;
 | 
			
		||||
	/**
 | 
			
		||||
	 * 当前页数
 | 
			
		||||
	 */
 | 
			
		||||
	@ApiModelProperty("当前页数")
 | 
			
		||||
	private Integer pageNum;
 | 
			
		||||
	/**
 | 
			
		||||
	 * 排序列
 | 
			
		||||
	 */
 | 
			
		||||
	@ApiModelProperty("排序列")
 | 
			
		||||
	private String orderByColumn;
 | 
			
		||||
	/**
 | 
			
		||||
	 * 排序的方向desc或者asc
 | 
			
		||||
	 */
 | 
			
		||||
	@ApiModelProperty(value = "排序的方向", example = "asc,desc")
 | 
			
		||||
	private String isAsc;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#foreach ($column in $columns)
 | 
			
		||||
#if(!$table.isSuperColumn($column.javaField) && $column.query)
 | 
			
		||||
    /**
 | 
			
		||||
     * $column.columnComment
 | 
			
		||||
     */
 | 
			
		||||
	@ApiModelProperty("$column.columnComment")
 | 
			
		||||
	private $column.javaType $column.javaField;
 | 
			
		||||
#end
 | 
			
		||||
#end
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -1,10 +1,8 @@
 | 
			
		||||
package ${packageName}.service;
 | 
			
		||||
 | 
			
		||||
import ${packageName}.domain.${ClassName};
 | 
			
		||||
import ${packageName}.vo.${ClassName}Vo;
 | 
			
		||||
import ${packageName}.bo.${ClassName}QueryBo;
 | 
			
		||||
import ${packageName}.bo.${ClassName}AddBo;
 | 
			
		||||
import ${packageName}.bo.${ClassName}EditBo;
 | 
			
		||||
import ${packageName}.domain.vo.${ClassName}Vo;
 | 
			
		||||
import ${packageName}.domain.bo.${ClassName}Bo;
 | 
			
		||||
import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
 | 
			
		||||
#if($table.crud || $table.sub)
 | 
			
		||||
import com.ruoyi.common.core.page.TableDataInfo;
 | 
			
		||||
@@ -30,27 +28,27 @@ public interface I${ClassName}Service extends IServicePlus<${ClassName}, ${Class
 | 
			
		||||
	/**
 | 
			
		||||
	 * 查询列表
 | 
			
		||||
	 */
 | 
			
		||||
    TableDataInfo<${ClassName}Vo> queryPageList(${ClassName}QueryBo bo);
 | 
			
		||||
    TableDataInfo<${ClassName}Vo> queryPageList(${ClassName}Bo bo);
 | 
			
		||||
#end
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * 查询列表
 | 
			
		||||
	 */
 | 
			
		||||
	List<${ClassName}Vo> queryList(${ClassName}QueryBo bo);
 | 
			
		||||
	List<${ClassName}Vo> queryList(${ClassName}Bo bo);
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * 根据新增业务对象插入${functionName}
 | 
			
		||||
	 * @param bo ${functionName}新增业务对象
 | 
			
		||||
	 * @return
 | 
			
		||||
	 */
 | 
			
		||||
	Boolean insertByAddBo(${ClassName}AddBo bo);
 | 
			
		||||
	Boolean insertByBo(${ClassName}Bo bo);
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * 根据编辑业务对象修改${functionName}
 | 
			
		||||
	 * @param bo ${functionName}编辑业务对象
 | 
			
		||||
	 * @return
 | 
			
		||||
	 */
 | 
			
		||||
	Boolean updateByEditBo(${ClassName}EditBo bo);
 | 
			
		||||
	Boolean updateByBo(${ClassName}Bo bo);
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * 校验并删除数据
 | 
			
		||||
 
 | 
			
		||||
@@ -11,12 +11,10 @@ import org.springframework.stereotype.Service;
 | 
			
		||||
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
 | 
			
		||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 | 
			
		||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 | 
			
		||||
import ${packageName}.bo.${ClassName}AddBo;
 | 
			
		||||
import ${packageName}.bo.${ClassName}QueryBo;
 | 
			
		||||
import ${packageName}.bo.${ClassName}EditBo;
 | 
			
		||||
import ${packageName}.domain.bo.${ClassName}Bo;
 | 
			
		||||
import ${packageName}.domain.vo.${ClassName}Vo;
 | 
			
		||||
import ${packageName}.domain.${ClassName};
 | 
			
		||||
import ${packageName}.mapper.${ClassName}Mapper;
 | 
			
		||||
import ${packageName}.vo.${ClassName}Vo;
 | 
			
		||||
import ${packageName}.service.I${ClassName}Service;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
@@ -39,18 +37,18 @@ public class ${ClassName}ServiceImpl extends ServicePlusImpl<${ClassName}Mapper,
 | 
			
		||||
 | 
			
		||||
#if($table.crud || $table.sub)
 | 
			
		||||
    @Override
 | 
			
		||||
    public TableDataInfo<${ClassName}Vo> queryPageList(${ClassName}QueryBo bo) {
 | 
			
		||||
    public TableDataInfo<${ClassName}Vo> queryPageList(${ClassName}Bo bo) {
 | 
			
		||||
        PagePlus<${ClassName}, ${ClassName}Vo> result = pageVo(PageUtils.buildPagePlus(), buildQueryWrapper(bo));
 | 
			
		||||
        return PageUtils.buildDataInfo(result);
 | 
			
		||||
    }
 | 
			
		||||
#end
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public List<${ClassName}Vo> queryList(${ClassName}QueryBo bo) {
 | 
			
		||||
    public List<${ClassName}Vo> queryList(${ClassName}Bo bo) {
 | 
			
		||||
        return listVo(buildQueryWrapper(bo));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private LambdaQueryWrapper<${ClassName}> buildQueryWrapper(${ClassName}QueryBo bo) {
 | 
			
		||||
    private LambdaQueryWrapper<${ClassName}> buildQueryWrapper(${ClassName}Bo bo) {
 | 
			
		||||
        Map<String, Object> params = bo.getParams();
 | 
			
		||||
        LambdaQueryWrapper<${ClassName}> lqw = Wrappers.lambdaQuery();
 | 
			
		||||
#foreach($column in $columns)
 | 
			
		||||
@@ -78,14 +76,14 @@ public class ${ClassName}ServiceImpl extends ServicePlusImpl<${ClassName}Mapper,
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public Boolean insertByAddBo(${ClassName}AddBo bo) {
 | 
			
		||||
    public Boolean insertByBo(${ClassName}Bo bo) {
 | 
			
		||||
        ${ClassName} add = BeanUtil.toBean(bo, ${ClassName}.class);
 | 
			
		||||
        validEntityBeforeSave(add);
 | 
			
		||||
        return save(add);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public Boolean updateByEditBo(${ClassName}EditBo bo) {
 | 
			
		||||
    public Boolean updateByBo(${ClassName}Bo bo) {
 | 
			
		||||
        ${ClassName} update = BeanUtil.toBean(bo, ${ClassName}.class);
 | 
			
		||||
        validEntityBeforeSave(update);
 | 
			
		||||
        return updateById(update);
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
package ${packageName}.vo;
 | 
			
		||||
package ${packageName}.domain.vo;
 | 
			
		||||
 | 
			
		||||
import com.ruoyi.common.annotation.Excel;
 | 
			
		||||
#foreach ($import in $importList)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user