This commit is contained in:
2023-07-03 16:37:35 +08:00
parent 6c36460d89
commit 912470c4b2
19 changed files with 831 additions and 52 deletions

View File

@ -0,0 +1,71 @@
package ${packageName}.controller;
import com.qiaoba.common.base.result.AjaxResult;
import com.qiaoba.common.database.entity.PageQuery;
import com.qiaoba.common.database.entity.TableDataInfo;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import ${packageName}.entity.${ClassName};
import ${packageName}.entity.dto.${ClassName}Dto;
import ${packageName}.entity.param.${ClassName}Param;
import ${packageName}.service.${ClassName}Service;
/**
* ${functionName} Web层
*
* @author ${author}
* @version 1.0
* @since ${datetime}
*/
@RestController
@RequestMapping("/${moduleName}/${businessName}")
@RequiredArgsConstructor
@Tag(name = "${functionName}管理")
public class ${ClassName}Controller {
private final ${ClassName}Service ${className}Service;
@PreAuthorize("hasAuthority('${permissionPrefix}:list')")
@GetMapping("/list")
@Operation(summary = "获取列表")
public TableDataInfo<${ClassName}> list(${ClassName}Param param, PageQuery pageQuery) {
return ${className}Service.selectPageList(param, pageQuery);
}
@PreAuthorize("hasAuthority('${permissionPrefix}:query')")
@GetMapping(value = "/{${pkColumn.javaField}}")
@Operation(summary = "获取详情")
public AjaxResult getInfo(@PathVariable String ${pkColumn.javaField}) {
return AjaxResult.success(${className}Service.selectById(${pkColumn.javaField}, false));
}
@PreAuthorize("hasAuthority('${permissionPrefix}:add')")
@PostMapping
@Operation(summary = "新增${functionName}")
public AjaxResult add(@RequestBody ${ClassName}Dto dto) {
return AjaxResult.toAjax(${className}Service.insert(dto));
}
@PreAuthorize("hasAuthority('${permissionPrefix}:edit')")
@PutMapping
@Operation(summary = "修改${functionName}")
public AjaxResult edit(@RequestBody ${ClassName}Dto dto) {
return AjaxResult.toAjax(${className}Service.updateById(dto));
}
@PreAuthorize("hasAuthority('${permissionPrefix}:remove')")
@DeleteMapping("/{${pkColumn.javaField}s}")
@Operation(summary = "删除${functionName}")
public AjaxResult remove(@PathVariable List<String> ${pkColumn.javaField}s) {
return AjaxResult.toAjax(${className}Service.deleteByIds(${pkColumn.javaField}s));
}
}

View File

@ -0,0 +1,39 @@
package ${packageName}.entity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
/**
* ${functionName} Dto
*
* @author ${author}
* @version 1.0
* @since ${datetime}
*/
@Getter
@Setter
public class ${ClassName}Dto implements Serializable {
private static final long serialVersionUID=1L;
## 遍历字段
#foreach ($column in $columns)
## 忽略基础(父类)字段
#if(!$generator.isBaseColumn($column.javaField))
## 是主键
#if($generator.isPk($column.isPk))
@Schema(description = "$column.columnComment")
private String $column.javaField;
## 不是主键
#else
@Schema(description = "$column.columnComment")
private $column.javaType $column.javaField;
#end
#end
#end
}

View File

@ -0,0 +1,45 @@
package ${packageName}.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.qiaoba.common.base.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* ${functionName} ${tableName}
*
* @author ${author}
* @version 1.0
* @since ${datetime}
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("${tableName}")
public class ${ClassName} extends BaseEntity{
private static final long serialVersionUID=1L;
## 遍历字段
#foreach ($column in $columns)
## 忽略基础(父类)字段
#if(!$generator.isBaseColumn($column.javaField))
## 是主键
#if($generator.isPk($column.isPk))
/**
* $column.columnComment
*/
@TableId
private String $column.javaField;
## 不是主键
#else
/**
* $column.columnComment
*/
private $column.javaType $column.javaField;
#end
#end
#end
}

View File

@ -0,0 +1,14 @@
package ${packageName}.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import ${packageName}.entity.${ClassName};
/**
* ${functionName}管理 数据层
*
* @author ${author}
* @version 1.0
* @since ${datetime}
*/
public interface ${ClassName}Mapper extends BaseMapper<${ClassName}> {
}

View File

@ -0,0 +1,22 @@
package ${packageName}.entity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
/**
* ${functionName} Param
*
* @author ${author}
* @version 1.0
* @since ${datetime}
*/
@Getter
@Setter
public class ${ClassName}Param implements Serializable {
private static final long serialVersionUID=1L;
}

View File

@ -0,0 +1,77 @@
package ${packageName}.service;
import java.util.List;
import com.qiaoba.common.database.entity.PageQuery;
import com.qiaoba.common.database.entity.TableDataInfo;
import ${packageName}.entity.${ClassName};
import ${packageName}.entity.dto.${ClassName}Dto;
import ${packageName}.entity.param.${ClassName}Param;
/**
* ${functionName} 服务层
*
* @author ${author}
* @version 1.0
* @since ${datetime}
*/
public interface ${ClassName}Service {
/**
* 查询${functionName}列表
*
* @param param 查询条件
* @return ${functionName}集合
*/
List<${ClassName}> selectList(${ClassName}Param param);
/**
* 分页查询${functionName}列表
*
* @param param 查询条件
* @param pageQuery 分页信息
* @return ${functionName}集合
*/
TableDataInfo<${ClassName}> selectPageList(${ClassName}Param param, PageQuery pageQuery);
/**
* 查询${functionName}
*
* @param ${pkColumn.javaField} ${pkColumn.javaField}
* @param allowNull 允许空
* @return ${functionName}
*/
${ClassName} selectById(String ${pkColumn.javaField}, boolean allowNull);
/**
* 新增${functionName}
*
* @param dto dto
* @return 结果
*/
int insert(${ClassName}Dto dto);
/**
* 修改${functionName}
*
* @param dto dto
* @return 结果
*/
int updateById(${ClassName}Dto dto);
/**
* 删除${functionName}信息
*
* @param ${pkColumn.javaField} ${pkColumn.javaField}
* @return 结果
*/
int deleteById(String ${pkColumn.javaField});
/**
* 批量删除${functionName}
*
* @param ${pkColumn.javaField}s ${pkColumn.javaField}s
* @return 结果
*/
int deleteByIds(List<String> ${pkColumn.javaField}s);
}

View File

@ -0,0 +1,99 @@
package ${packageName}.service.impl;
import java.util.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.qiaoba.auth.utils.SecurityUtil;
import com.qiaoba.common.base.exceptions.ServiceException;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.qiaoba.common.database.entity.PageQuery;
import com.qiaoba.common.database.entity.TableDataInfo;
import ${packageName}.entity.${ClassName};
import ${packageName}.entity.dto.${ClassName}Dto;
import ${packageName}.entity.param.${ClassName}Param;
import ${packageName}.service.${ClassName}Service;
import ${packageName}.mapper.${ClassName}Mapper;
/**
* ${functionName} 服务层实现
*
* @author ${author}
* @version 1.0
* @since ${datetime}
*/
@Service
@RequiredArgsConstructor
public class ${ClassName}ServiceImpl implements ${ClassName}Service {
private final ${ClassName}Mapper ${className}Mapper;
@Override
public List<${ClassName}> selectList(${ClassName}Param param) {
return ${className}Mapper.selectList(param2Wrapper(param));
}
@Override
public TableDataInfo<${ClassName}> selectPageList(${ClassName}Param param, PageQuery pageQuery) {
return TableDataInfo.build(${className}Mapper.selectPage(pageQuery.build(), param2Wrapper(param)));
}
@Override
public ${ClassName} selectById(String ${pkColumn.javaField}, boolean allowNull) {
${ClassName} ${className} =${className}Mapper.selectById(${pkColumn.javaField});
if (!allowNull && Objects.isNull(${className})) {
throw new ServiceException("未查询到有关信息");
}
return ${className};
}
@Override
public int insert(${ClassName}Dto dto) {
${ClassName} ${className} =dto2Entity(dto);
${className}.setCreateTime(new Date());
${className}.setCreateUser(SecurityUtil.getLoginUsername());
return ${className}Mapper.insert(${className});
}
@Override
public int updateById(${ClassName}Dto dto) {
${ClassName} ${className} =dto2Entity(dto);
${className}.setUpdateTime(new Date());
${className}.setUpdateUser(SecurityUtil.getLoginUsername());
return ${className}Mapper.updateById(${className});
}
@Override
public int deleteById(String ${pkColumn.javaField}) {
return ${className}Mapper.deleteById(${pkColumn.javaField});
}
@Override
public int deleteByIds(List<String> ${pkColumn.javaField}s) {
return ${className}Mapper.deleteBatchIds(${pkColumn.javaField}s);
}
private ${ClassName} dto2Entity(${ClassName}Dto dto) {
${ClassName} ${className} = new ${ClassName}();
#foreach ($column in $columns)
#if(!$generator.isBaseColumn($column.javaField))
## 首字母大写
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
${className}.set$AttrName(dto.get$AttrName());
#end
#end
return ${className};
}
private QueryWrapper<${ClassName}> param2Wrapper(${ClassName}Param param) {
QueryWrapper<${ClassName}> wrapper = new QueryWrapper<>();
return wrapper;
}
}

View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询${functionName}列表
export function list${BusinessName}(query) {
return request({
url: '/${moduleName}/${businessName}/list',
method: 'get',
params: query
})
}
// 查询${functionName}详细
export function get${BusinessName}(${pkColumn.javaField}) {
return request({
url: '/${moduleName}/${businessName}/' + ${pkColumn.javaField},
method: 'get'
})
}
// 新增${functionName}
export function add${BusinessName}(data) {
return request({
url: '/${moduleName}/${businessName}',
method: 'post',
data: data
})
}
// 修改${functionName}
export function update${BusinessName}(data) {
return request({
url: '/${moduleName}/${businessName}',
method: 'put',
data: data
})
}
// 删除${functionName}
export function del${BusinessName}(${pkColumn.javaField}) {
return request({
url: '/${moduleName}/${businessName}/' + ${pkColumn.javaField},
method: 'delete'
})
}