正式发布 v2.0.0

This commit is contained in:
疯狂的狮子li
2021-05-14 21:39:30 +08:00
parent b608002e89
commit 687d746b1b
82 changed files with 1221 additions and 576 deletions

View File

@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
import javax.validation.constraints.*;
#foreach ($import in $importList)
@ -27,6 +28,11 @@ public class ${ClassName}AddBo {
@ApiModelProperty("$column.columnComment")
#if($column.javaType == 'Date')
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
#end
#if($column.javaType == 'String')
@NotBlank(message = "$column.columnComment不能为空")
#else
@NotNull(message = "$column.columnComment不能为空")
#end
private $column.javaType $column.javaField;
#end

View File

@ -4,16 +4,11 @@ import java.util.List;
import java.util.Arrays;
import lombok.RequiredArgsConstructor;
import javax.validation.constraints.*;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
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 org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
@ -52,13 +47,11 @@ public class ${ClassName}Controller extends BaseController {
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:list')")
@GetMapping("/list")
#if($table.crud || $table.sub)
public TableDataInfo<${ClassName}Vo> list(${ClassName}QueryBo bo) {
startPage();
List<${ClassName}Vo> list = i${ClassName}Service.queryList(bo);
return getDataTable(list);
public TableDataInfo<${ClassName}Vo> list(@Validated ${ClassName}QueryBo bo) {
return i${ClassName}Service.queryPageList(bo);
}
#elseif($table.tree)
public AjaxResult<${ClassName}Vo> list(${ClassName}QueryBo bo) {
public AjaxResult<List<${ClassName}Vo>> list(@Validated ${ClassName}QueryBo bo) {
List<${ClassName}Vo> list = i${ClassName}Service.queryList(bo);
return AjaxResult.success(list);
}
@ -71,7 +64,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(${ClassName}QueryBo bo) {
public AjaxResult<${ClassName}Vo> export(@Validated ${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, "${functionName}");
@ -83,7 +76,8 @@ public class ${ClassName}Controller extends BaseController {
@ApiOperation("获取${functionName}详细信息")
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:query')")
@GetMapping("/{${pkColumn.javaField}}")
public AjaxResult<${ClassName}Vo> getInfo(@PathVariable("${pkColumn.javaField}" ) ${pkColumn.javaType} ${pkColumn.javaField}) {
public AjaxResult<${ClassName}Vo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("${pkColumn.javaField}") ${pkColumn.javaType} ${pkColumn.javaField}) {
return AjaxResult.success(i${ClassName}Service.queryById(${pkColumn.javaField}));
}
@ -94,7 +88,7 @@ public class ${ClassName}Controller extends BaseController {
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:add')")
@Log(title = "${functionName}", businessType = BusinessType.INSERT)
@PostMapping()
public AjaxResult<Void> add(@RequestBody ${ClassName}AddBo bo) {
public AjaxResult<Void> add(@Validated @RequestBody ${ClassName}AddBo bo) {
return toAjax(i${ClassName}Service.insertByAddBo(bo) ? 1 : 0);
}
@ -105,7 +99,7 @@ public class ${ClassName}Controller extends BaseController {
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:edit')")
@Log(title = "${functionName}", businessType = BusinessType.UPDATE)
@PutMapping()
public AjaxResult<Void> edit(@RequestBody ${ClassName}EditBo bo) {
public AjaxResult<Void> edit(@Validated @RequestBody ${ClassName}EditBo bo) {
return toAjax(i${ClassName}Service.updateByEditBo(bo) ? 1 : 0);
}
@ -116,7 +110,8 @@ public class ${ClassName}Controller extends BaseController {
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:remove')")
@Log(title = "${functionName}" , businessType = BusinessType.DELETE)
@DeleteMapping("/{${pkColumn.javaField}s}")
public AjaxResult<Void> remove(@PathVariable ${pkColumn.javaType}[] ${pkColumn.javaField}s) {
public AjaxResult<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable ${pkColumn.javaType}[] ${pkColumn.javaField}s) {
return toAjax(i${ClassName}Service.deleteWithValidByIds(Arrays.asList(${pkColumn.javaField}s), true) ? 1 : 0);
}
}

View File

@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
import javax.validation.constraints.*;
#foreach ($import in $importList)
import ${import};
@ -27,6 +28,11 @@ public class ${ClassName}EditBo {
@ApiModelProperty("$column.columnComment")
#if($column.javaType == 'Date')
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
#end
#if($column.javaType == 'String')
@NotBlank(message = "$column.columnComment不能为空")
#else
@NotNull(message = "$column.columnComment不能为空")
#end
private $column.javaType $column.javaField;
#end

View File

@ -1,7 +1,7 @@
package ${packageName}.mapper;
import ${packageName}.domain.${ClassName};
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.core.page.BaseMapperPlus;
/**
* ${functionName}Mapper接口
@ -9,6 +9,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @author ${author}
* @date ${datetime}
*/
public interface ${ClassName}Mapper extends BaseMapper<${ClassName}> {
public interface ${ClassName}Mapper extends BaseMapperPlus<${ClassName}> {
}

View File

@ -6,8 +6,6 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import java.util.Map;
import java.util.HashMap;
#foreach ($import in $importList)
import ${import};
@ -29,6 +27,7 @@ import com.ruoyi.common.core.domain.TreeEntity;
#elseif($table.tree)
#set($Entity="TreeEntity")
#end
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("${functionName}分页查询对象")

View File

@ -5,7 +5,10 @@ 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 com.ruoyi.common.core.page.IServicePlus;
#if($table.crud || $table.sub)
import com.ruoyi.common.core.page.TableDataInfo;
#end
import java.util.Collection;
import java.util.List;
@ -16,13 +19,19 @@ import java.util.List;
* @author ${author}
* @date ${datetime}
*/
public interface I${ClassName}Service extends IService<${ClassName}> {
public interface I${ClassName}Service extends IServicePlus<${ClassName}> {
/**
* 查询单个
* @return
*/
${ClassName}Vo queryById(${pkColumn.javaType} ${pkColumn.javaField});
#if($table.crud || $table.sub)
/**
* 查询列表
*/
TableDataInfo<${ClassName}Vo> queryPageList(${ClassName}QueryBo bo);
#end
/**
* 查询列表
*/

View File

@ -2,11 +2,15 @@ package ${packageName}.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil;
#if($table.crud || $table.sub)
import com.ruoyi.common.utils.PageUtils;
import com.ruoyi.common.core.page.PagePlus;
import com.ruoyi.common.core.page.TableDataInfo;
#end
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 com.github.pagehelper.Page;
import ${packageName}.bo.${ClassName}AddBo;
import ${packageName}.bo.${ClassName}QueryBo;
import ${packageName}.bo.${ClassName}EditBo;
@ -15,10 +19,9 @@ 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.stream.Collectors;
import java.util.Map;
import java.util.Collection;
/**
* ${functionName}Service业务层处理
@ -31,12 +34,24 @@ public class ${ClassName}ServiceImpl extends ServiceImpl<${ClassName}Mapper, ${C
@Override
public ${ClassName}Vo queryById(${pkColumn.javaType} ${pkColumn.javaField}){
${ClassName} db = this.baseMapper.selectById(${pkColumn.javaField});
return BeanUtil.toBean(db, ${ClassName}Vo.class);
return getVoById(${pkColumn.javaField}, ${ClassName}Vo.class);
}
#if($table.crud || $table.sub)
@Override
public TableDataInfo<${ClassName}Vo> queryPageList(${ClassName}QueryBo bo) {
PagePlus<${ClassName}, ${ClassName}Vo> result = pageVo(PageUtils.buildPagePlus(), buildQueryWrapper(bo), ${ClassName}Vo.class);
return PageUtils.buildDataInfo(result);
}
#end
@Override
public List<${ClassName}Vo> queryList(${ClassName}QueryBo bo) {
return listVo(buildQueryWrapper(bo), ${ClassName}Vo.class);
}
private LambdaQueryWrapper<${ClassName}> buildQueryWrapper(${ClassName}QueryBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<${ClassName}> lqw = Wrappers.lambdaQuery();
#foreach($column in $columns)
#if($column.query)
@ -54,50 +69,26 @@ public class ${ClassName}ServiceImpl extends ServiceImpl<${ClassName}Mapper, ${C
#end
lqw.$mpMethod($condition, ${ClassName}::get$AttrName, bo.get$AttrName());
#else
Object dataScope = bo.getParams().get("dataScope");
lqw.apply(dataScope != null, dataScope != null ? dataScope.toString() : null);
Map<String, Object> params = bo.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(params.get("begin$AttrName") != null && params.get("end$AttrName") != null,
${ClassName}::get$AttrName ,params.get("begin$AttrName"), params.get("end$AttrName"));
#end
#end
#end
return entity2Vo(this.list(lqw));
}
/**
* 实体类转化成视图对象
*
* @param collection 实体类集合
* @return
*/
private List<${ClassName}Vo> entity2Vo(Collection<${ClassName}> collection) {
List<${ClassName}Vo> voList = collection.stream()
.map(any -> BeanUtil.toBean(any, ${ClassName}Vo.class))
.collect(Collectors.toList());
if (collection instanceof Page) {
Page<${ClassName}> page = (Page<${ClassName}>)collection;
Page<${ClassName}Vo> pageVo = new Page<>();
BeanUtil.copyProperties(page,pageVo);
pageVo.addAll(voList);
voList = pageVo;
}
return voList;
return lqw;
}
@Override
public Boolean insertByAddBo(${ClassName}AddBo bo) {
${ClassName} add = BeanUtil.toBean(bo, ${ClassName}.class);
validEntityBeforeSave(add);
return this.save(add);
return save(add);
}
@Override
public Boolean updateByEditBo(${ClassName}EditBo bo) {
${ClassName} update = BeanUtil.toBean(bo, ${ClassName}.class);
validEntityBeforeSave(update);
return this.updateById(update);
return updateById(update);
}
/**
@ -114,6 +105,6 @@ public class ${ClassName}ServiceImpl extends ServiceImpl<${ClassName}Mapper, ${C
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return this.removeByIds(ids);
return removeByIds(ids);
}
}