feat: fix代码生成类型问题

This commit is contained in:
l90215
2025-08-11 21:59:02 +08:00
parent 0f28e1f3f6
commit e83d70e9c3
17 changed files with 235 additions and 375 deletions

View File

@@ -27,10 +27,18 @@ import org.ruoyi.service.IKnowledgeAttachService;
import org.ruoyi.service.IKnowledgeFragmentService;
import org.ruoyi.service.IKnowledgeInfoService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
import java.util.Objects;
/**
* 知识库管理
@@ -60,7 +68,9 @@ public class KnowledgeController extends BaseController {
if (!StpUtil.isLogin()) {
throw new SecurityException("请先去登录!");
}
bo.setUid(LoginHelper.getUserId());
if (!Objects.equals(LoginHelper.getUserId(), 1L)) {
bo.setUid(LoginHelper.getUserId());
}
return knowledgeInfoService.queryPageList(bo, pageQuery);
}
@@ -72,13 +82,15 @@ public class KnowledgeController extends BaseController {
if (!StpUtil.isLogin()) {
throw new SecurityException("请先去登录!");
}
LoginUser loginUser = LoginHelper.getLoginUser();
// 管理员跳过权限
if (loginUser.getUserId().equals(1L) || !knowledgeRoleConfig.getEnable()) {
if (Objects.equals(LoginHelper.getUserId(), 1L)) {
return knowledgeInfoService.queryPageList(bo, pageQuery);
} else if (!knowledgeRoleConfig.getEnable()) {
bo.setUid(LoginHelper.getUserId());
return knowledgeInfoService.queryPageList(bo, pageQuery);
} else {
// TODO 自己创建的知识库+角色分配的知识库
return knowledgeInfoService.queryPageListByRole(pageQuery);
}
}

View File

@@ -53,6 +53,7 @@ public class SchemaGroupController extends BaseController {
/**
* 获取数据模型分组选择列表
*/
@SaCheckPermission("dev:schemaGroup:select")
@GetMapping("/select")
public R<List<SchemaGroupVo>> select() {
SchemaGroupBo bo = new SchemaGroupBo();

View File

@@ -1,13 +1,14 @@
package org.ruoyi.generator.domain;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.ruoyi.core.domain.BaseEntity;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 数据模型对象 dev_schema
@@ -16,12 +17,9 @@ import java.io.Serial;
* @date 2024-01-01
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("dev_schema")
public class Schema extends BaseEntity {
public class Schema implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
@@ -49,41 +47,6 @@ public class Schema extends BaseEntity {
*/
private String tableName;
/**
* 表注释
*/
private String comment;
/**
* 存储引擎
*/
private String engine;
/**
* 列表字段
*/
private String listKeys;
/**
* 搜索表单字段
*/
private String searchFormKeys;
/**
* 表单设计
*/
private String designer;
/**
* 状态
*/
private String status;
/**
* 排序
*/
private Integer sort;
/**
* 备注
*/
@@ -96,8 +59,33 @@ public class Schema extends BaseEntity {
private String delFlag;
/**
* 租户编号
* 创建部门
*/
private String tenantId;
@TableField(fill = FieldFill.INSERT)
private Long createDept;
/**
* 创建者
*/
@TableField(fill = FieldFill.INSERT)
private Long createBy;
/**
* 创建时间
*/
@TableField(fill = FieldFill.INSERT)
private Date createTime;
/**
* 更新者
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long updateBy;
/**
* 更新时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateTime;
}

View File

@@ -1,13 +1,14 @@
package org.ruoyi.generator.domain;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.ruoyi.core.domain.BaseEntity;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 数据模型字段对象 dev_schema_field
@@ -16,12 +17,8 @@ import java.io.Serial;
* @date 2024-01-01
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("dev_schema_field")
public class SchemaField extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
public class SchemaField implements Serializable {
/**
* 主键
@@ -129,15 +126,6 @@ public class SchemaField extends BaseEntity {
*/
private String dictType;
/**
* 状态
*/
private String status;
/**
* 扩展JSON
*/
private String extendJson;
/**
* 备注
@@ -151,8 +139,33 @@ public class SchemaField extends BaseEntity {
private String delFlag;
/**
* 租户编号
* 创建部门
*/
private String tenantId;
@TableField(fill = FieldFill.INSERT)
private Long createDept;
/**
* 创建者
*/
@TableField(fill = FieldFill.INSERT)
private Long createBy;
/**
* 创建时间
*/
@TableField(fill = FieldFill.INSERT)
private Date createTime;
/**
* 更新者
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long updateBy;
/**
* 更新时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateTime;
}

View File

@@ -1,13 +1,14 @@
package org.ruoyi.generator.domain;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.ruoyi.core.domain.BaseEntity;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 数据模型分组对象 dev_schema_group
@@ -16,12 +17,8 @@ import java.io.Serial;
* @date 2024-01-01
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("dev_schema_group")
public class SchemaGroup extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
public class SchemaGroup implements Serializable {
/**
* 主键
@@ -44,16 +41,6 @@ public class SchemaGroup extends BaseEntity {
*/
private String icon;
/**
* 排序
*/
private Integer sort;
/**
* 状态
*/
private String status;
/**
* 备注
*/
@@ -66,8 +53,32 @@ public class SchemaGroup extends BaseEntity {
private String delFlag;
/**
* 租户编号
* 创建部门
*/
private String tenantId;
@TableField(fill = FieldFill.INSERT)
private Long createDept;
/**
* 创建者
*/
@TableField(fill = FieldFill.INSERT)
private Long createBy;
/**
* 创建时间
*/
@TableField(fill = FieldFill.INSERT)
private Date createTime;
/**
* 更新者
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long updateBy;
/**
* 更新时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateTime;
}

View File

@@ -4,12 +4,12 @@ import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.ruoyi.common.core.validate.AddGroup;
import org.ruoyi.common.core.validate.EditGroup;
import org.ruoyi.core.domain.BaseEntity;
import org.ruoyi.generator.domain.Schema;
import java.io.Serializable;
/**
* 数据模型业务对象 SchemaBo
*
@@ -17,9 +17,8 @@ import org.ruoyi.generator.domain.Schema;
* @date 2024-01-01
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = Schema.class, reverseConvertGenerate = false)
public class SchemaBo extends BaseEntity {
public class SchemaBo implements Serializable {
/**
* 主键
@@ -38,52 +37,12 @@ public class SchemaBo extends BaseEntity {
@NotBlank(message = "模型名称不能为空", groups = {AddGroup.class, EditGroup.class})
private String name;
/**
* 模型编码
*/
@NotBlank(message = "模型编码不能为空", groups = {AddGroup.class, EditGroup.class})
private String code;
/**
* 表名
*/
@NotBlank(message = "表名不能为空", groups = {AddGroup.class, EditGroup.class})
private String tableName;
/**
* 表注释
*/
private String comment;
/**
* 存储引擎
*/
private String engine;
/**
* 列表字段
*/
private String listKeys;
/**
* 搜索表单字段
*/
private String searchFormKeys;
/**
* 表单设计
*/
private String designer;
/**
* 状态
*/
private String status;
/**
* 排序
*/
private Integer sort;
/**
* 备注
*/

View File

@@ -4,12 +4,12 @@ import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.ruoyi.common.core.validate.AddGroup;
import org.ruoyi.common.core.validate.EditGroup;
import org.ruoyi.core.domain.BaseEntity;
import org.ruoyi.generator.domain.SchemaField;
import java.io.Serializable;
/**
* 数据模型字段业务对象 SchemaFieldBo
*
@@ -17,9 +17,8 @@ import org.ruoyi.generator.domain.SchemaField;
* @date 2024-01-01
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = SchemaField.class, reverseConvertGenerate = false)
public class SchemaFieldBo extends BaseEntity {
public class SchemaFieldBo implements Serializable {
/**
* 主键
@@ -36,7 +35,7 @@ public class SchemaFieldBo extends BaseEntity {
/**
* 模型名称
*/
@NotNull(message = "模型名称不能为空", groups = {AddGroup.class, EditGroup.class})
// @NotNull(message = "模型名称不能为空", groups = {AddGroup.class, EditGroup.class})
private String schemaName;
/**
@@ -131,16 +130,6 @@ public class SchemaFieldBo extends BaseEntity {
*/
private String dictType;
/**
* 状态
*/
private String status;
/**
* 扩展JSON
*/
private String extendJson;
/**
* 备注
*/

View File

@@ -4,12 +4,12 @@ import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.ruoyi.common.core.validate.AddGroup;
import org.ruoyi.common.core.validate.EditGroup;
import org.ruoyi.core.domain.BaseEntity;
import org.ruoyi.generator.domain.SchemaGroup;
import java.io.Serializable;
/**
* 数据模型分组业务对象 SchemaGroupBo
*
@@ -17,9 +17,8 @@ import org.ruoyi.generator.domain.SchemaGroup;
* @date 2024-01-01
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = SchemaGroup.class, reverseConvertGenerate = false)
public class SchemaGroupBo extends BaseEntity {
public class SchemaGroupBo implements Serializable {
/**
* 主键
@@ -44,16 +43,6 @@ public class SchemaGroupBo extends BaseEntity {
*/
private String icon;
/**
* 排序
*/
private Integer sort;
/**
* 状态
*/
private String status;
/**
* 备注
*/

View File

@@ -6,9 +6,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.ruoyi.generator.domain.SchemaField;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 数据模型字段视图对象 SchemaFieldVo
@@ -20,9 +18,6 @@ import java.util.Date;
@AutoMapper(target = SchemaField.class)
public class SchemaFieldVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@@ -136,25 +131,8 @@ public class SchemaFieldVo implements Serializable {
@Schema(description = "字典类型")
private String dictType;
/**
* 状态
*/
@Schema(description = "状态")
private String status;
/**
* 扩展JSON
*/
private String extendJson;
/**
* 备注
*/
private String remark;
/**
* 创建时间
*/
private Date createTime;
}

View File

@@ -4,7 +4,6 @@ import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.ruoyi.generator.domain.SchemaGroup;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
@@ -18,9 +17,6 @@ import java.util.Date;
@AutoMapper(target = SchemaGroup.class)
public class SchemaGroupVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@@ -46,11 +42,6 @@ public class SchemaGroupVo implements Serializable {
*/
private Integer sort;
/**
* 状态
*/
private String status;
/**
* 备注
*/

View File

@@ -19,9 +19,6 @@ import java.util.Date;
@AutoMapper(target = Schema.class)
public class SchemaVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/

View File

@@ -11,9 +11,11 @@ import org.apache.velocity.app.Velocity;
import org.ruoyi.common.core.constant.Constants;
import org.ruoyi.generator.config.GenConfig;
import org.ruoyi.generator.domain.vo.SchemaFieldVo;
import org.ruoyi.generator.domain.vo.SchemaGroupVo;
import org.ruoyi.generator.domain.vo.SchemaVo;
import org.ruoyi.generator.service.IGenTableService;
import org.ruoyi.generator.service.SchemaFieldService;
import org.ruoyi.generator.service.SchemaGroupService;
import org.ruoyi.generator.service.SchemaService;
import org.ruoyi.generator.util.VelocityInitializer;
import org.ruoyi.generator.util.VelocityUtils;
@@ -44,6 +46,7 @@ public class GenTableServiceImpl implements IGenTableService {
private final SchemaService schemaService;
private final SchemaFieldService schemaFieldService;
private final SchemaGroupService schemaGroupService;
/**
* 基于表名称批量生成代码到classpath路径
@@ -137,6 +140,8 @@ public class GenTableServiceImpl implements IGenTableService {
boolean autoRemovePre = GenConfig.getAutoRemovePre();
// 处理表名和类名
Long schemaGroupId = schema.getSchemaGroupId();
SchemaGroupVo schemaGroupVo = schemaGroupService.queryById(schemaGroupId);
String tableName = schema.getTableName();
String baseClassName = schema.getTableName();
@@ -154,7 +159,7 @@ public class GenTableServiceImpl implements IGenTableService {
String className = toCamelCase(baseClassName, true); // 首字母大写的类名SysRole
String classname = toCamelCase(baseClassName, false); // 首字母小写的类名sysRole
String businessName = toCamelCase(baseClassName, false);
String moduleName = getModuleName(packageName);
String moduleName = schemaGroupVo.getCode();
// 基本信息
context.put("tableName", tableName);

View File

@@ -79,7 +79,6 @@ public class SchemaFieldServiceImpl implements SchemaFieldService {
lqw.eq(StringUtils.isNotBlank(bo.getQueryType()), SchemaField::getQueryType, bo.getQueryType());
lqw.eq(StringUtils.isNotBlank(bo.getHtmlType()), SchemaField::getHtmlType, bo.getHtmlType());
lqw.like(StringUtils.isNotBlank(bo.getDictType()), SchemaField::getDictType, bo.getDictType());
lqw.eq(StringUtils.isNotBlank(bo.getStatus()), SchemaField::getStatus, bo.getStatus());
lqw.orderByAsc(SchemaField::getSort);
return lqw;
}
@@ -150,7 +149,6 @@ public class SchemaFieldServiceImpl implements SchemaFieldService {
public List<SchemaFieldVo> queryListBySchemaId(Long schemaId) {
LambdaQueryWrapper<SchemaField> lqw = Wrappers.lambdaQuery();
lqw.eq(SchemaField::getSchemaId, schemaId);
lqw.eq(SchemaField::getStatus, "0"); // 只查询正常状态的字段
lqw.orderByAsc(SchemaField::getSort);
return baseMapper.selectVoList(lqw);
}
@@ -264,8 +262,7 @@ public class SchemaFieldServiceImpl implements SchemaFieldService {
return false;
}
LambdaQueryWrapper<SchemaField> lqw = Wrappers.lambdaQuery();
lqw.eq(SchemaField::getSchemaName, tableName);
lqw.eq(SchemaField::getStatus, "0");
lqw.eq(SchemaField::getSchemaId, schemaId);
// 检查是否已存在字段数据
List<SchemaFieldVo> existingFields = baseMapper.selectVoList(lqw);
if (CollUtil.isNotEmpty(existingFields)) {
@@ -279,20 +276,26 @@ public class SchemaFieldServiceImpl implements SchemaFieldService {
SchemaField field = new SchemaField();
field.setSchemaId(schemaId);
field.setSchemaName(tableName);
field.setDefaultValue((String) columnInfo.get("columnDefault"));
field.setComment((String) columnInfo.get("columnComment"));
field.setName((String) columnInfo.get("columnComment"));
field.setCode(StrUtil.toCamelCase((String) columnInfo.get("columnName")));
field.setType((String) columnInfo.get("dataType"));
field.setLength(Integer.valueOf(String.valueOf(columnInfo.get("columnSize"))));
field.setIsPk((Boolean) columnInfo.get("isPrimaryKey") ? "1" : "0");
field.setIsRequired(!(Boolean) columnInfo.get("isNullable") ? "1" : "0");
field.setIsInsert("1");
field.setIsEdit("1");
if ("1".equals(field.getIsPk())) {
field.setIsInsert("0");
field.setIsEdit("0");
}else {
field.setIsInsert("1");
field.setIsEdit("1");
}
field.setIsList("1");
field.setIsQuery("1");
field.setQueryType("EQ");
field.setHtmlType(getDefaultHtmlType((String) columnInfo.get("dataType")));
field.setSort(sort++);
field.setStatus("0");
// 如果字段名为空,使用字段代码作为名称
if (StringUtils.isBlank(field.getName())) {
field.setName(field.getCode());

View File

@@ -60,9 +60,6 @@ public class SchemaGroupServiceImpl implements SchemaGroupService {
LambdaQueryWrapper<SchemaGroup> lqw = Wrappers.lambdaQuery();
lqw.like(StringUtils.isNotBlank(bo.getName()), SchemaGroup::getName, bo.getName());
lqw.eq(StringUtils.isNotBlank(bo.getCode()), SchemaGroup::getCode, bo.getCode());
lqw.eq(bo.getSort() != null, SchemaGroup::getSort, bo.getSort());
lqw.eq(StringUtils.isNotBlank(bo.getStatus()), SchemaGroup::getStatus, bo.getStatus());
lqw.orderByAsc(SchemaGroup::getSort);
return lqw;
}
@@ -102,9 +99,6 @@ public class SchemaGroupServiceImpl implements SchemaGroupService {
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if (isValid) {
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@@ -8,7 +8,10 @@ import org.ruoyi.common.core.utils.MapstructUtils;
import org.ruoyi.common.core.utils.StringUtils;
import org.ruoyi.core.page.PageQuery;
import org.ruoyi.core.page.TableDataInfo;
import org.ruoyi.generator.domain.SchemaGroup;
import org.ruoyi.generator.domain.vo.SchemaGroupVo;
import org.ruoyi.generator.event.SchemaDeletedEvent;
import org.ruoyi.generator.service.SchemaGroupService;
import org.ruoyi.generator.service.SchemaService;
import org.ruoyi.generator.domain.Schema;
import org.ruoyi.generator.domain.bo.SchemaBo;
@@ -20,6 +23,8 @@ import org.springframework.stereotype.Service;
import java.util.Collection;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
/**
* 数据模型Service业务层处理
@@ -31,6 +36,7 @@ import java.util.List;
public class SchemaServiceImpl implements SchemaService {
private final SchemaMapper baseMapper;
private final SchemaGroupService schemaGroupService;
private final ApplicationEventPublisher eventPublisher;
/**
@@ -64,10 +70,7 @@ public class SchemaServiceImpl implements SchemaService {
LambdaQueryWrapper<Schema> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getSchemaGroupId() != null, Schema::getSchemaGroupId, bo.getSchemaGroupId());
lqw.like(StringUtils.isNotBlank(bo.getName()), Schema::getName, bo.getName());
lqw.eq(StringUtils.isNotBlank(bo.getCode()), Schema::getCode, bo.getCode());
lqw.eq(StringUtils.isNotBlank(bo.getTableName()), Schema::getTableName, bo.getTableName());
lqw.eq(StringUtils.isNotBlank(bo.getStatus()), Schema::getStatus, bo.getStatus());
lqw.orderByAsc(Schema::getSort);
return lqw;
}
@@ -76,15 +79,18 @@ public class SchemaServiceImpl implements SchemaService {
*/
@Override
public Boolean insertByBo(SchemaBo bo) {
Schema add = MapstructUtils.convert(bo, Schema.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
Schema schema = MapstructUtils.convert(bo, Schema.class);
Long schemaGroupId = bo.getSchemaGroupId();
SchemaGroupVo schemaGroupVo = schemaGroupService.queryById(schemaGroupId);
if (Objects.nonNull(schemaGroupVo)) {
schema.setCode(schemaGroupVo.getCode());
}
boolean flag = baseMapper.insert(schema) > 0;
if (flag) {
bo.setId(add.getId());
bo.setId(schema.getId());
// 发布数据模型添加事件,由事件监听器处理字段插入
if (StringUtils.isNotBlank(bo.getTableName())) {
eventPublisher.publishEvent(new SchemaAddedEvent(this, add.getId(), bo.getTableName()));
eventPublisher.publishEvent(new SchemaAddedEvent(this, schema.getId(), bo.getTableName()));
}
}
return flag;
@@ -96,17 +102,9 @@ public class SchemaServiceImpl implements SchemaService {
@Override
public Boolean updateByBo(SchemaBo bo) {
Schema update = MapstructUtils.convert(bo, Schema.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(Schema entity) {
//TODO 做一些数据校验,如唯一约束
}
/**
* 批量删除数据模型
*/
@@ -127,8 +125,6 @@ public class SchemaServiceImpl implements SchemaService {
public SchemaVo queryByTableName(String tableName) {
LambdaQueryWrapper<Schema> lqw = Wrappers.lambdaQuery();
lqw.eq(Schema::getTableName, tableName);
// 只查询正常状态的模型
lqw.eq(Schema::getStatus, "0");
return baseMapper.selectVoOne(lqw);
}
}

View File

@@ -25,26 +25,28 @@ import org.ruoyi.common.core.validate.EditGroup;
public class ${ClassName}Bo implements Serializable {
#foreach ($column in $columns)
#if($column.isPk || $column.query || $column.insert || $column.edit|| $column.required)
/**
* $column.columnComment
*/
#if(($column.insert && $column.edit) || $column.required)
#set($Group="AddGroup.class, EditGroup.class")
#elseif($column.insert)
#set($Group="AddGroup.class")
#elseif($column.edit)
#set($Group="EditGroup.class")
#end
#if($column.required)
#if($column.javaType == 'String')
@NotBlank(message = "$column.columnComment不能为空", groups = { $Group })
#else
@NotNull(message = "$column.columnComment不能为空", groups = { $Group })
#end
#end
#if($column.isPk)
private $column.javaType $column.javaField;
#elseif($column.insert || $column.edit)
/**
* $column.columnComment
*/
#if($column.insert && $column.edit)
#set($Group="AddGroup.class, EditGroup.class")
#elseif($column.insert)
#set($Group="AddGroup.class")
#elseif($column.edit)
#set($Group="EditGroup.class")
#end
#if($column.required)
#if($column.javaType == 'String')
@NotBlank(message = "$column.columnComment不能为空", groups = { $Group })
#else
@NotNull(message = "$column.columnComment不能为空", groups = { $Group })
#end
#end
private $column.javaType $column.javaField;
#end
#end