修改代码生成器模板.
This commit is contained in:
@@ -15,7 +15,6 @@ import org.hibernate.validator.constraints.Range;
|
|||||||
@Data
|
@Data
|
||||||
public class PageRequest implements IPageRequest {
|
public class PageRequest implements IPageRequest {
|
||||||
|
|
||||||
// TODO TEST
|
|
||||||
@Range(min = 1, max = 10000)
|
@Range(min = 1, max = 10000)
|
||||||
@Schema(description = "页码")
|
@Schema(description = "页码")
|
||||||
private int page;
|
private int page;
|
||||||
|
|||||||
@@ -15,7 +15,6 @@ import org.springframework.context.annotation.Bean;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* mybatis 配置类
|
* mybatis 配置类
|
||||||
* TODO 扫描的包
|
|
||||||
*
|
*
|
||||||
* @author Jiahang Li
|
* @author Jiahang Li
|
||||||
* @version 1.0.0
|
* @version 1.0.0
|
||||||
|
|||||||
@@ -21,6 +21,8 @@ public class FieldFillHandler implements MetaObjectHandler {
|
|||||||
@Resource
|
@Resource
|
||||||
private SecurityHolder securityHolder;
|
private SecurityHolder securityHolder;
|
||||||
|
|
||||||
|
// TODO 删除fill baseConst
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void insertFill(MetaObject metaObject) {
|
public void insertFill(MetaObject metaObject) {
|
||||||
if (Objects.nonNull(metaObject) && metaObject.getOriginalObject() instanceof BaseDO) {
|
if (Objects.nonNull(metaObject) && metaObject.getOriginalObject() instanceof BaseDO) {
|
||||||
@@ -36,7 +38,6 @@ public class FieldFillHandler implements MetaObjectHandler {
|
|||||||
baseDO.setUpdateTime(now);
|
baseDO.setUpdateTime(now);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO TEST
|
|
||||||
Long userId = securityHolder.getLoginUserId();
|
Long userId = securityHolder.getLoginUserId();
|
||||||
// 创建人
|
// 创建人
|
||||||
if (Objects.nonNull(userId) && Objects.isNull(baseDO.getCreator())) {
|
if (Objects.nonNull(userId) && Objects.isNull(baseDO.getCreator())) {
|
||||||
@@ -60,7 +61,6 @@ public class FieldFillHandler implements MetaObjectHandler {
|
|||||||
|
|
||||||
// 更新人
|
// 更新人
|
||||||
Object updater = getFieldValByName("updater", metaObject);
|
Object updater = getFieldValByName("updater", metaObject);
|
||||||
// TODO TEST
|
|
||||||
Long userId = securityHolder.getLoginUserId();
|
Long userId = securityHolder.getLoginUserId();
|
||||||
if (Objects.nonNull(userId) && Objects.isNull(updater)) {
|
if (Objects.nonNull(userId) && Objects.isNull(updater)) {
|
||||||
setFieldValByName("updater", userId.toString(), metaObject);
|
setFieldValByName("updater", userId.toString(), metaObject);
|
||||||
|
|||||||
@@ -7,8 +7,6 @@ import com.orion.lang.utils.Strings;
|
|||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO TEST
|
|
||||||
* <p>
|
|
||||||
* 有效性验证 wrapper
|
* 有效性验证 wrapper
|
||||||
*
|
*
|
||||||
* @author Jiahang Li
|
* @author Jiahang Li
|
||||||
@@ -38,23 +36,23 @@ public class ValidateLambdaWrapper<T> extends LambdaQueryWrapper<T> {
|
|||||||
for (Object object : objects) {
|
for (Object object : objects) {
|
||||||
// 非 null 检测
|
// 非 null 检测
|
||||||
if (object == null) {
|
if (object == null) {
|
||||||
return false;
|
return true;
|
||||||
}
|
}
|
||||||
// 字符串 非空校验
|
// 字符串 非空校验
|
||||||
if (object instanceof String) {
|
if (object instanceof String) {
|
||||||
if (Strings.isBlank((String) object)) {
|
if (Strings.isBlank((String) object)) {
|
||||||
return false;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 集合 非空校验
|
// 集合 非空校验
|
||||||
if (object instanceof Collection<?>) {
|
if (object instanceof Collection<?>) {
|
||||||
if (((Collection<?>) object).isEmpty()) {
|
if (((Collection<?>) object).isEmpty()) {
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public LambdaQueryWrapper<T> eq(SFunction<T, ?> column, Object val) {
|
public LambdaQueryWrapper<T> eq(SFunction<T, ?> column, Object val) {
|
||||||
|
|||||||
@@ -46,14 +46,14 @@ private ${type}Service ${typeLower}Service;
|
|||||||
@PostMapping("/create")
|
@PostMapping("/create")
|
||||||
@Operation(summary = "创建$!{table.comment}")
|
@Operation(summary = "创建$!{table.comment}")
|
||||||
@PreAuthorize("@ss.hasPermission('${package.ModuleName}:${typeHyphen}:create')")
|
@PreAuthorize("@ss.hasPermission('${package.ModuleName}:${typeHyphen}:create')")
|
||||||
public Long create${type}(@Validated ${type}CreateRequest request){
|
public Long create${type}(@Validated @RequestBody ${type}CreateRequest request) {
|
||||||
return ${typeLower}Service.create${type}(request);
|
return ${typeLower}Service.create${type}(request);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PutMapping("/update")
|
@PutMapping("/update")
|
||||||
@Operation(summary = "更新$!{table.comment}")
|
@Operation(summary = "更新$!{table.comment}")
|
||||||
@PreAuthorize("@ss.hasPermission('${package.ModuleName}:${typeHyphen}:update')")
|
@PreAuthorize("@ss.hasPermission('${package.ModuleName}:${typeHyphen}:update')")
|
||||||
public Integer update${type}(@Validated ${type}UpdateRequest request){
|
public Integer update${type}(@Validated @RequestBody ${type}UpdateRequest request) {
|
||||||
return ${typeLower}Service.update${type}(request);
|
return ${typeLower}Service.update${type}(request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
package ${currentPackage};
|
package ${currentPackage};
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
package ${currentPackage};
|
package ${currentPackage};
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
package ${currentPackage};
|
package ${currentPackage};
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
package ${currentPackage};
|
package ${currentPackage};
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|||||||
@@ -42,9 +42,7 @@ public Long create${type}(${type}CreateRequest request){
|
|||||||
${type}DO record = ${type}Convert.MAPPER.to(request);
|
${type}DO record = ${type}Convert.MAPPER.to(request);
|
||||||
record.setId(null);
|
record.setId(null);
|
||||||
// 查询是否存在
|
// 查询是否存在
|
||||||
if(this.check${type}Present(record)){
|
this.checkTestTablePresent(record);
|
||||||
throw ErrorCode.DATA_PRESENT.exception();
|
|
||||||
}
|
|
||||||
// 插入
|
// 插入
|
||||||
int effect = ${typeLower}DAO.insert(record);
|
int effect = ${typeLower}DAO.insert(record);
|
||||||
log.info("${type}Service-add${type} effect: {}, domain: {}", effect, JSON.toJSONString(record));
|
log.info("${type}Service-add${type} effect: {}, domain: {}", effect, JSON.toJSONString(record));
|
||||||
@@ -55,11 +53,9 @@ public Long create${type}(${type}CreateRequest request){
|
|||||||
public Integer update${type}(${type}UpdateRequest request) {
|
public Integer update${type}(${type}UpdateRequest request) {
|
||||||
// 转换
|
// 转换
|
||||||
${type}DO record = ${type}Convert.MAPPER.to(request);
|
${type}DO record = ${type}Convert.MAPPER.to(request);
|
||||||
Valid.notNull(request.getId(),ErrorMessage.ID_MISSING);
|
Valid.notNull(record.getId(), ErrorMessage.ID_MISSING);
|
||||||
// 查询是否存在
|
// 查询是否存在
|
||||||
if(this.check${type}Present(record)){
|
this.checkTestTablePresent(record);
|
||||||
throw ErrorCode.DATA_PRESENT.exception();
|
|
||||||
}
|
|
||||||
// 更新
|
// 更新
|
||||||
int effect = ${typeLower}DAO.updateById(record);
|
int effect = ${typeLower}DAO.updateById(record);
|
||||||
log.info("${type}Service-update${type} effect: {}, domain: {}", effect, JSON.toJSONString(record));
|
log.info("${type}Service-update${type} effect: {}, domain: {}", effect, JSON.toJSONString(record));
|
||||||
@@ -113,17 +109,19 @@ public Integer batchDelete${type}(List<Long> idList){
|
|||||||
* 检测对象是否存在
|
* 检测对象是否存在
|
||||||
*
|
*
|
||||||
* @param domain domain
|
* @param domain domain
|
||||||
* @return 是否存在
|
|
||||||
*/
|
*/
|
||||||
private boolean check${type}Present(${type}DO domain){
|
private void check${type}Present(${type}DO domain) {
|
||||||
// 构造条件
|
// 构造条件
|
||||||
LambdaQueryWrapper<${type}DO> wrapper = Conditions.wrapper(${type}DO.class)
|
LambdaQueryWrapper<${type}DO> wrapper = Conditions.wrapper(${type}DO.class)
|
||||||
.eq(${type}DO::getId, domain.getId());
|
.eq(${type}DO::getId, domain.getId());
|
||||||
// .eq(XXXDO::getXXX, domain.getXXX());
|
// .eq(XXXDO::getXXX, domain.getXXX());
|
||||||
// 检查是否存在
|
// 检查是否存在
|
||||||
return ${typeLower}DAO.of()
|
boolean present = testTableDAO.of()
|
||||||
.wrapper(wrapper)
|
.wrapper(wrapper)
|
||||||
.present();
|
.present();
|
||||||
|
if (present) {
|
||||||
|
throw ErrorCode.DATA_PRESENT.exception();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ public class OrionSwaggerAutoConfiguration {
|
|||||||
Map<String, SecurityScheme> securitySchemas = this.buildSecuritySchemes();
|
Map<String, SecurityScheme> securitySchemas = this.buildSecuritySchemes();
|
||||||
OpenAPI api = new OpenAPI()
|
OpenAPI api = new OpenAPI()
|
||||||
// 接口信息
|
// 接口信息
|
||||||
.info(buildInfo(properties))
|
.info(this.buildInfo(properties))
|
||||||
// 接口安全配置
|
// 接口安全配置
|
||||||
.components(new Components().securitySchemes(securitySchemas));
|
.components(new Components().securitySchemes(securitySchemas));
|
||||||
securitySchemas.keySet()
|
securitySchemas.keySet()
|
||||||
@@ -109,13 +109,12 @@ public class OrionSwaggerAutoConfiguration {
|
|||||||
propertyResolverUtils, openApiBuilderCustomizers, serverBaseUrlCustomizers, javadocProvider);
|
propertyResolverUtils, openApiBuilderCustomizers, serverBaseUrlCustomizers, javadocProvider);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return 所有模块的 api 分组
|
* @return 所有模块的 api 分组
|
||||||
*/
|
*/
|
||||||
@Bean
|
@Bean
|
||||||
public GroupedOpenApi allGroupedOpenApi() {
|
public GroupedOpenApi allGroupedOpenApi() {
|
||||||
return buildGroupedOpenApi("全部", "");
|
return buildGroupedOpenApi("全部", "*");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -74,8 +74,8 @@ public class GlobalExceptionHandler {
|
|||||||
@ExceptionHandler(value = BindException.class)
|
@ExceptionHandler(value = BindException.class)
|
||||||
public HttpWrapper<?> paramBindExceptionHandler(BindException ex) {
|
public HttpWrapper<?> paramBindExceptionHandler(BindException ex) {
|
||||||
log.error("paramBindExceptionHandler", ex);
|
log.error("paramBindExceptionHandler", ex);
|
||||||
FieldError error = ex.getFieldError();
|
FieldError error = Objects.requireNonNull(ex.getFieldError());
|
||||||
return ErrorCode.BAD_REQUEST.wrapper().msg(Objects.requireNonNull(error).getDefaultMessage());
|
return ErrorCode.BAD_REQUEST.wrapper().msg(error.getField() + " " + error.getDefaultMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ExceptionHandler(value = ConstraintViolationException.class)
|
@ExceptionHandler(value = ConstraintViolationException.class)
|
||||||
|
|||||||
Reference in New Issue
Block a user