mirror of
https://github.com/dromara/RuoYi-Vue-Plus.git
synced 2025-09-24 07:19:46 +08:00
!11 [功能] 拆分出Vo,QueryBo,AddBo,EditBo等领域对象
* [修改] 错误引入的无用导包删除 * [新增] 增加Vo,QueryBo,AddBo,EditBo等视图,并调整controller,service的调用代码 * [新增] 增加CreateAndUpdateMetaObjectHandler,配合fill注解,实现创建和修改人的自动设置,减少重复代码
This commit is contained in:
36
ruoyi-generator/src/main/resources/vm/java/addBo.java.vm
Normal file
36
ruoyi-generator/src/main/resources/vm/java/addBo.java.vm
Normal file
@ -0,0 +1,36 @@
|
||||
package ${packageName}.bo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
#foreach ($import in $importList)
|
||||
import ${import};
|
||||
#end
|
||||
|
||||
/**
|
||||
* ${functionName}添加对象 ${tableName}
|
||||
*
|
||||
* @author ${author}
|
||||
* @date ${datetime}
|
||||
*/
|
||||
@Data
|
||||
@ApiModel("${functionName}添加对象")
|
||||
public class ${ClassName}AddBo {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
#foreach ($column in $columns)
|
||||
#if($column.isInsert && $column.isPk!=1)
|
||||
/** $column.columnComment */
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
private $column.javaType $column.javaField;
|
||||
#end
|
||||
#end
|
||||
#if($table.sub)
|
||||
|
||||
/** $table.subTable.functionName信息 */
|
||||
@ApiModelProperty("$table.subTable.functionName")
|
||||
private List<${subClassName}> ${subclassName}List;
|
||||
#end
|
||||
}
|
@ -18,13 +18,18 @@ import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
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}.service.I${ClassName}Service;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
#if($table.crud || $table.sub)
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
#elseif($table.tree)
|
||||
#end
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
|
||||
/**
|
||||
* ${functionName}Controller
|
||||
@ -32,6 +37,7 @@ import com.ruoyi.common.core.page.TableDataInfo;
|
||||
* @author ${author}
|
||||
* @date ${datetime}
|
||||
*/
|
||||
@Api(value = "${functionName}控制器", tags = {"${functionName}管理"})
|
||||
@RequiredArgsConstructor(onConstructor_ = @Autowired)
|
||||
@RestController
|
||||
@RequestMapping("/${moduleName}/${businessName}" )
|
||||
@ -42,17 +48,18 @@ public class ${ClassName}Controller extends BaseController {
|
||||
/**
|
||||
* 查询${functionName}列表
|
||||
*/
|
||||
@ApiOperation("查询${functionName}列表")
|
||||
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:list')")
|
||||
@GetMapping("/list")
|
||||
#if($table.crud || $table.sub)
|
||||
public TableDataInfo list(${ClassName} ${className}) {
|
||||
public TableDataInfo<${ClassName}Vo> list(${ClassName}QueryBo bo) {
|
||||
startPage();
|
||||
List<${ClassName}> list = i${ClassName}Service.queryList(${className});
|
||||
List<${ClassName}Vo> list = i${ClassName}Service.queryList(bo);
|
||||
return getDataTable(list);
|
||||
}
|
||||
#elseif($table.tree)
|
||||
public AjaxResult list(${ClassName} ${className}) {
|
||||
List<${ClassName}> list = i${ClassName}Service.queryList(${className});
|
||||
public AjaxResult<${ClassName}Vo> list(${ClassName}QueryBo bo) {
|
||||
List<${ClassName}Vo> list = i${ClassName}Service.queryList(bo);
|
||||
return AjaxResult.success(list);
|
||||
}
|
||||
#end
|
||||
@ -60,51 +67,56 @@ public class ${ClassName}Controller extends BaseController {
|
||||
/**
|
||||
* 导出${functionName}列表
|
||||
*/
|
||||
@ApiOperation("导出${functionName}列表")
|
||||
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:export')" )
|
||||
@Log(title = "${functionName}" , businessType = BusinessType.EXPORT)
|
||||
@GetMapping("/export" )
|
||||
public AjaxResult export(${ClassName} ${className}) {
|
||||
List<${ClassName}> list = i${ClassName}Service.queryList(${className});
|
||||
ExcelUtil<${ClassName}> util = new ExcelUtil<${ClassName}>(${ClassName}.class);
|
||||
public AjaxResult<${ClassName}Vo> export(${ClassName}QueryBo 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, "${businessName}" );
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取${functionName}详细信息
|
||||
*/
|
||||
@ApiOperation("获取${functionName}详细信息")
|
||||
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:query')" )
|
||||
@GetMapping(value = "/{${pkColumn.javaField}}" )
|
||||
public AjaxResult getInfo(@PathVariable("${pkColumn.javaField}" ) ${pkColumn.javaType} ${pkColumn.javaField}) {
|
||||
return AjaxResult.success(i${ClassName}Service.getById(${pkColumn.javaField}));
|
||||
public AjaxResult<${ClassName}Vo> getInfo(@PathVariable("${pkColumn.javaField}" ) ${pkColumn.javaType} ${pkColumn.javaField}) {
|
||||
return AjaxResult.success(i${ClassName}Service.queryById(${pkColumn.javaField}));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增${functionName}
|
||||
*/
|
||||
@ApiOperation("新增${functionName}")
|
||||
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:add')" )
|
||||
@Log(title = "${functionName}" , businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
public AjaxResult add(@RequestBody ${ClassName} ${className}) {
|
||||
return toAjax(i${ClassName}Service.save(${className}) ? 1 : 0);
|
||||
public AjaxResult<Void> add(@RequestBody ${ClassName}AddBo bo) {
|
||||
return toAjax(i${ClassName}Service.insertByAddBo(bo) ? 1 : 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改${functionName}
|
||||
*/
|
||||
@ApiOperation("修改${functionName}")
|
||||
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:edit')" )
|
||||
@Log(title = "${functionName}" , businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
public AjaxResult edit(@RequestBody ${ClassName} ${className}) {
|
||||
return toAjax(i${ClassName}Service.updateById(${className}) ? 1 : 0);
|
||||
public AjaxResult<Void> edit(@RequestBody ${ClassName}EditBo bo) {
|
||||
return toAjax(i${ClassName}Service.updateByEditBo(bo) ? 1 : 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除${functionName}
|
||||
*/
|
||||
@ApiOperation("删除${functionName}")
|
||||
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:remove')" )
|
||||
@Log(title = "${functionName}" , businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{${pkColumn.javaField}s}" )
|
||||
public AjaxResult remove(@PathVariable ${pkColumn.javaType}[] ${pkColumn.javaField}s) {
|
||||
return toAjax(i${ClassName}Service.removeByIds(Arrays.asList(${pkColumn.javaField}s)) ? 1 : 0);
|
||||
public AjaxResult<Void> remove(@PathVariable ${pkColumn.javaType} ${pkColumn.javaField}s) {
|
||||
return toAjax(i${ClassName}Service.deleteWithValidByIds(Arrays.asList(${pkColumn.javaField}s), true) ? 1 : 0);
|
||||
}
|
||||
}
|
||||
|
@ -1,14 +1,9 @@
|
||||
package ${packageName}.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
@ -32,30 +27,19 @@ private static final long serialVersionUID=1L;
|
||||
#foreach ($column in $columns)
|
||||
|
||||
/** $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)
|
||||
#if($column.javaField=="createBy"||$column.javaField=="createTime")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
#end
|
||||
#if($parentheseIndex != -1)
|
||||
@Excel(name = "${comment}" , readConverterExp = "$column.readConverterExp()")
|
||||
#elseif($column.javaType == 'Date')
|
||||
@Excel(name = "${comment}" , width = 30, dateFormat = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
#else
|
||||
@Excel(name = "${comment}")
|
||||
#if($column.javaField=="updateBy"||$column.javaField=="updateTime")
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
#end
|
||||
#if($column.javaField=='delFlag')
|
||||
@TableLogic
|
||||
#end
|
||||
#if($column.isPk==1)
|
||||
@TableId(value = "$column.columnName")
|
||||
private $column.javaType $column.javaField;
|
||||
#else
|
||||
private $column.javaType $column.javaField;
|
||||
#end
|
||||
private $column.javaType $column.javaField;
|
||||
#end
|
||||
|
||||
@TableField(exist = false)
|
||||
private Map<String, Object> params = new HashMap<>();
|
||||
}
|
||||
|
36
ruoyi-generator/src/main/resources/vm/java/editBo.java.vm
Normal file
36
ruoyi-generator/src/main/resources/vm/java/editBo.java.vm
Normal file
@ -0,0 +1,36 @@
|
||||
package ${packageName}.bo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
#foreach ($import in $importList)
|
||||
import ${import};
|
||||
#end
|
||||
|
||||
/**
|
||||
* ${functionName}编辑对象 ${tableName}
|
||||
*
|
||||
* @author ${author}
|
||||
* @date ${datetime}
|
||||
*/
|
||||
@Data
|
||||
@ApiModel("${functionName}编辑对象")
|
||||
public class ${ClassName}EditBo {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
#foreach ($column in $columns)
|
||||
#if($column.isEdit)
|
||||
|
||||
/** $column.columnComment */
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
private $column.javaType $column.javaField;
|
||||
#end
|
||||
#end
|
||||
#if($table.sub)
|
||||
|
||||
/** $table.subTable.functionName信息 */
|
||||
@ApiModelProperty("$table.subTable.functionName")
|
||||
private List<${subClassName}> ${subclassName}List;
|
||||
#end
|
||||
}
|
42
ruoyi-generator/src/main/resources/vm/java/queryBo.java.vm
Normal file
42
ruoyi-generator/src/main/resources/vm/java/queryBo.java.vm
Normal file
@ -0,0 +1,42 @@
|
||||
package ${packageName}.bo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
#foreach ($import in $importList)
|
||||
import ${import};
|
||||
#end
|
||||
|
||||
/**
|
||||
* ${functionName}分页查询对象 ${tableName}
|
||||
*
|
||||
* @author ${author}
|
||||
* @date ${datetime}
|
||||
*/
|
||||
@Data
|
||||
@ApiModel("${functionName}分页查询对象")
|
||||
public class ${ClassName}QueryBo {
|
||||
private static final long serialVersionUID = 1L;
|
||||
/** 分页大小 */
|
||||
@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,7 +1,13 @@
|
||||
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 com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@ -11,9 +17,36 @@ import java.util.List;
|
||||
* @date ${datetime}
|
||||
*/
|
||||
public interface I${ClassName}Service extends IService<${ClassName}> {
|
||||
/**
|
||||
* 查询单个
|
||||
* @return
|
||||
*/
|
||||
${ClassName}Vo queryById(${pkColumn.javaType} ${pkColumn.javaField});
|
||||
|
||||
/**
|
||||
* 查询列表
|
||||
*/
|
||||
List<${ClassName}> queryList(${ClassName} ${className});
|
||||
/**
|
||||
* 查询列表
|
||||
*/
|
||||
List<${ClassName}Vo> queryList(${ClassName}QueryBo bo);
|
||||
|
||||
/**
|
||||
* 根据新增业务对象插入${functionName}
|
||||
* @param bo ${functionName}新增业务对象
|
||||
* @return
|
||||
*/
|
||||
Boolean insertByAddBo(${ClassName}AddBo bo);
|
||||
|
||||
/**
|
||||
* 根据编辑业务对象修改${functionName}
|
||||
* @param bo ${functionName}编辑业务对象
|
||||
* @return
|
||||
*/
|
||||
Boolean updateByEditBo(${ClassName}EditBo bo);
|
||||
|
||||
/**
|
||||
* 校验并删除数据
|
||||
* @param ids 主键集合
|
||||
* @param isValid 是否校验,true-删除前校验,false-不校验
|
||||
* @return
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
|
@ -1,16 +1,23 @@
|
||||
package ${packageName}.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import ${packageName}.mapper.${ClassName}Mapper;
|
||||
import ${packageName}.bo.${ClassName}AddBo;
|
||||
import ${packageName}.bo.${ClassName}QueryBo;
|
||||
import ${packageName}.bo.${ClassName}EditBo;
|
||||
import ${packageName}.domain.${ClassName};
|
||||
import ${packageName}.mapper.${ClassName}Mapper;
|
||||
import ${packageName}.vo.${ClassName}Vo;
|
||||
import ${packageName}.service.I${ClassName}Service;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* ${functionName}Service业务层处理
|
||||
@ -22,93 +29,80 @@ import java.util.Map;
|
||||
public class ${ClassName}ServiceImpl extends ServiceImpl<${ClassName}Mapper, ${ClassName}> implements I${ClassName}Service {
|
||||
|
||||
@Override
|
||||
public List<${ClassName}> queryList(${ClassName} ${className}) {
|
||||
public ${ClassName}Vo queryById(${pkColumn.javaType} ${pkColumn.javaField}){
|
||||
${ClassName} db = this.baseMapper.selectById(${pkColumn.javaField});
|
||||
return entity2Vo(Collections.singletonList(db)).get(0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<${ClassName}Vo> queryList(${ClassName}QueryBo bo) {
|
||||
LambdaQueryWrapper<${ClassName}> lqw = Wrappers.lambdaQuery();
|
||||
#foreach($column in $columns)
|
||||
#if($column.query)
|
||||
#set($queryType=$column.queryType)
|
||||
#set($javaField=$column.javaField)
|
||||
#set($javaType=$column.javaType)
|
||||
#set($columnName=$column.columnName)
|
||||
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
|
||||
#if($column.query)
|
||||
#if($column.queryType == "EQ")
|
||||
#set($mpMethod=$column.queryType.toLowerCase())
|
||||
#if($queryType != 'BETWEEN')
|
||||
#if($javaType == 'String')
|
||||
if (StringUtils.isNotBlank(${className}.get$AttrName())){
|
||||
lqw.eq(${ClassName}::get$AttrName ,${className}.get$AttrName());
|
||||
}
|
||||
#set($condition='StringUtils.isNotBlank(bo.get'+$AttrName+'())')
|
||||
#else
|
||||
if (${className}.get$AttrName() != null){
|
||||
lqw.eq(${ClassName}::get$AttrName ,${className}.get$AttrName());
|
||||
}
|
||||
#set($condition='bo.get'+$AttrName+'() != null')
|
||||
#end
|
||||
#elseif($queryType == "NE")
|
||||
#if($javaType == 'String')
|
||||
if (StringUtils.isNotBlank(${className}.get$AttrName())){
|
||||
lqw.ne(${ClassName}::get$AttrName ,${className}.get$AttrName());
|
||||
}
|
||||
lqw.$mpMethod($condition, ${ClassName}::get$AttrName, bo.get$AttrName());
|
||||
#else
|
||||
if (${className}.get$AttrName() != null){
|
||||
lqw.ne(${ClassName}::get$AttrName ,${className}.get$AttrName());
|
||||
}
|
||||
#end
|
||||
#elseif($queryType == "GT")
|
||||
#if($javaType == 'String')
|
||||
if (StringUtils.isNotBlank(${className}.get$AttrName())){
|
||||
lqw.gt(${ClassName}::get$AttrName ,${className}.get$AttrName());
|
||||
}
|
||||
#else
|
||||
if (${className}.get$AttrName() != null){
|
||||
lqw.gt(${ClassName}::get$AttrName ,${className}.get$AttrName());
|
||||
}
|
||||
#end
|
||||
#elseif($queryType == "GTE")
|
||||
#if($javaType == 'String')
|
||||
if (StringUtils.isNotBlank(${className}.get$AttrName())){
|
||||
lqw.ge(${ClassName}::get$AttrName ,${className}.get$AttrName());
|
||||
}
|
||||
#else
|
||||
if (${className}.get$AttrName() != null){
|
||||
lqw.ge(${ClassName}::get$AttrName ,${className}.get$AttrName());
|
||||
}
|
||||
#end
|
||||
#elseif($queryType == "LT")
|
||||
#if($javaType == 'String')
|
||||
if (StringUtils.isNotBlank(${className}.get$AttrName())){
|
||||
lqw.lt(${ClassName}::get$AttrName ,${className}.get$AttrName());
|
||||
}
|
||||
#else
|
||||
if (${className}.get$AttrName() != null){
|
||||
lqw.lt(${ClassName}::get$AttrName ,${className}.get$AttrName());
|
||||
}
|
||||
#end
|
||||
#elseif($queryType == "LTE")
|
||||
#if($javaType == 'String')
|
||||
if (StringUtils.isNotBlank(${className}.get$AttrName())){
|
||||
lqw.le(${ClassName}::get$AttrName ,${className}.get$AttrName());
|
||||
}
|
||||
#else
|
||||
if (${className}.get$AttrName() != null){
|
||||
lqw.le(${ClassName}::get$AttrName ,${className}.get$AttrName());
|
||||
}
|
||||
#end
|
||||
#elseif($queryType == "LIKE")
|
||||
#if($javaType == 'String')
|
||||
if (StringUtils.isNotBlank(${className}.get$AttrName())){
|
||||
lqw.like(${ClassName}::get$AttrName ,${className}.get$AttrName());
|
||||
}
|
||||
#else
|
||||
if (${className}.get$AttrName() != null){
|
||||
lqw.like(${ClassName}::get$AttrName ,${className}.get$AttrName());
|
||||
}
|
||||
#end
|
||||
#elseif($queryType == "BETWEEN")
|
||||
Map<String, Object> params = ${className}.getParams();
|
||||
if (params.get("begin$AttrName") != null && params.get("end$AttrName") != null) {
|
||||
lqw.between(${ClassName}::get$AttrName ,params.get("begin$AttrName"),params.get("end$AttrName"));
|
||||
lqw.between(${ClassName}::get$AttrName ,params.get("begin$AttrName"), params.get("end$AttrName"));
|
||||
}
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
return this.list(lqw);
|
||||
return entity2Vo(this.list(lqw));
|
||||
}
|
||||
|
||||
/**
|
||||
* 实体类转化成视图对象
|
||||
*
|
||||
* @param collection 实体类集合
|
||||
* @return
|
||||
*/
|
||||
private List<${ClassName}Vo> entity2Vo(Collection<${ClassName}> collection) {
|
||||
return collection.stream()
|
||||
.map(any -> BeanUtil.toBean(any, ${ClassName}Vo.class))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean insertByAddBo(${ClassName}AddBo bo) {
|
||||
${ClassName} add = BeanUtil.toBean(bo, ${ClassName}.class);
|
||||
validEntityBeforeSave(add);
|
||||
return this.save(add);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean updateByEditBo(${ClassName}EditBo bo) {
|
||||
${ClassName} update = BeanUtil.toBean(bo, ${ClassName}.class);
|
||||
validEntityBeforeSave(update);
|
||||
return this.updateById(update);
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*
|
||||
* @param entity 实体类数据
|
||||
*/
|
||||
private void validEntityBeforeSave(${ClassName} entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return this.removeByIds(ids);
|
||||
}
|
||||
}
|
||||
|
51
ruoyi-generator/src/main/resources/vm/java/vo.java.vm
Normal file
51
ruoyi-generator/src/main/resources/vm/java/vo.java.vm
Normal file
@ -0,0 +1,51 @@
|
||||
package ${packageName}.vo;
|
||||
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
#foreach ($import in $importList)
|
||||
import ${import};
|
||||
#end
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* ${functionName}视图对象 mall_package
|
||||
*
|
||||
* @author ${author}
|
||||
* @date ${datetime}
|
||||
*/
|
||||
@Data
|
||||
@ApiModel("${functionName}视图对象")
|
||||
public class ${ClassName}Vo {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** $pkColumn.columnComment */
|
||||
@ApiModelProperty("$pkColumn.columnComment")
|
||||
private ${pkColumn.javaType} ${pkColumn.javaField};
|
||||
|
||||
#foreach ($column in $columns)
|
||||
#if($column.isList)
|
||||
/** $column.columnComment */
|
||||
#set($parentheseIndex=$column.columnComment.indexOf("("))
|
||||
#if($parentheseIndex != -1)
|
||||
#set($comment=$column.columnComment.substring(0, $parentheseIndex))
|
||||
#else
|
||||
#set($comment=$column.columnComment)
|
||||
#end
|
||||
#if($parentheseIndex != -1)
|
||||
@Excel(name = "${comment}" , readConverterExp = "$column.readConverterExp()")
|
||||
#elseif($column.javaType == 'Date')
|
||||
@Excel(name = "${comment}" , width = 30, dateFormat = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
#else
|
||||
@Excel(name = "${comment}")
|
||||
#end
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
private $column.javaType $column.javaField;
|
||||
#end
|
||||
#end
|
||||
|
||||
}
|
Reference in New Issue
Block a user