【7.1.6】添加 @ChineseDescription 注解

pull/26/MERGE
lipengteng 2022-02-16 10:26:31 +08:00
parent 9de4b27ee1
commit f2bd7d0e6f
17 changed files with 86 additions and 1 deletions

View File

@ -24,6 +24,7 @@
*/ */
package cn.stylefeng.roses.kernel.dsctn.api.pojo.request; package cn.stylefeng.roses.kernel.dsctn.api.pojo.request;
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest; import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
import cn.stylefeng.roses.kernel.validator.api.validators.unique.TableUniqueValue; import cn.stylefeng.roses.kernel.validator.api.validators.unique.TableUniqueValue;
import lombok.Data; import lombok.Data;
@ -48,6 +49,7 @@ public class DatabaseInfoRequest extends BaseRequest {
* id * id
*/ */
@NotNull(message = "dbId不能为空", groups = {edit.class, delete.class, detail.class}) @NotNull(message = "dbId不能为空", groups = {edit.class, delete.class, detail.class})
@ChineseDescription("主键id")
private Long dbId; private Long dbId;
/** /**
@ -61,45 +63,53 @@ public class DatabaseInfoRequest extends BaseRequest {
columnName = "db_name", columnName = "db_name",
idFieldName = "db_id", idFieldName = "db_id",
excludeLogicDeleteItems = true) excludeLogicDeleteItems = true)
@ChineseDescription("数据库名称(英文名称)")
private String dbName; private String dbName;
/** /**
* jdbc * jdbc
*/ */
@NotBlank(message = "jdbc的驱动类型为空", groups = {add.class, edit.class}) @NotBlank(message = "jdbc的驱动类型为空", groups = {add.class, edit.class})
@ChineseDescription("jdbc的驱动类型")
private String jdbcDriver; private String jdbcDriver;
/** /**
* jdbcurl * jdbcurl
*/ */
@NotBlank(message = "jdbc的url", groups = {add.class, edit.class}) @NotBlank(message = "jdbc的url", groups = {add.class, edit.class})
@ChineseDescription("jdbc的url")
private String jdbcUrl; private String jdbcUrl;
/** /**
* *
*/ */
@NotBlank(message = "数据库连接的账号", groups = {add.class, edit.class}) @NotBlank(message = "数据库连接的账号", groups = {add.class, edit.class})
@ChineseDescription("数据库连接的账号")
private String username; private String username;
/** /**
* *
*/ */
@NotBlank(message = "数据库连接密码", groups = {add.class, edit.class}) @NotBlank(message = "数据库连接密码", groups = {add.class, edit.class})
@ChineseDescription("数据库连接密码")
private String password; private String password;
/** /**
* schemaNameschema * schemaNameschema
*/ */
@ChineseDescription("数据库schemaName注意每种数据库的schema意义不同")
private String schemaName; private String schemaName;
/** /**
* 1-2- * 1-2-
*/ */
@ChineseDescription("状态标识1-正常2-无法连接")
private Integer statusFlag; private Integer statusFlag;
/** /**
* *
*/ */
@ChineseDescription("备注,摘要")
private String remarks; private String remarks;
} }

View File

@ -24,6 +24,7 @@
*/ */
package cn.stylefeng.roses.kernel.file.api.pojo.request; package cn.stylefeng.roses.kernel.file.api.pojo.request;
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest; import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@ -48,6 +49,7 @@ public class SysFileInfoRequest extends BaseRequest {
* ID * ID
*/ */
@NotNull(message = "fileId不能为空", groups = {versionBack.class, detail.class}) @NotNull(message = "fileId不能为空", groups = {versionBack.class, detail.class})
@ChineseDescription("文件ID")
private Long fileId; private Long fileId;
/** /**
@ -58,6 +60,7 @@ public class SysFileInfoRequest extends BaseRequest {
* codeid * codeid
*/ */
@NotNull(message = "fileCode不能为空", groups = {edit.class, delete.class,}) @NotNull(message = "fileCode不能为空", groups = {edit.class, delete.class,})
@ChineseDescription("文件编码")
private Long fileCode; private Long fileCode;
/** /**
@ -66,48 +69,57 @@ public class SysFileInfoRequest extends BaseRequest {
* 访 * 访
*/ */
@NotBlank(message = "是否是机密文件不能为空", groups = {add.class, edit.class}) @NotBlank(message = "是否是机密文件不能为空", groups = {add.class, edit.class})
@ChineseDescription("是否为机密文件")
private String secretFlag; private String secretFlag;
/** /**
* .txt * .txt
*/ */
@ChineseDescription("文件名称(上传时候的文件全名)")
private String fileOriginName; private String fileOriginName;
/** /**
* *
*/ */
@ChineseDescription("其他文件形式传参")
private String token; private String token;
/** /**
* 1-2-3-minio4- * 1-2-3-minio4-
*/ */
@ChineseDescription("文件存储位置1-阿里云2-腾讯云3-minio4-本地")
private Integer fileLocation; private Integer fileLocation;
/** /**
* *
*/ */
@NotBlank(message = "fileBucket不能为空", groups = {previewByObjectName.class}) @NotBlank(message = "fileBucket不能为空", groups = {previewByObjectName.class})
@ChineseDescription("文件仓库(文件夹)")
private String fileBucket; private String fileBucket;
/** /**
* *
*/ */
@ChineseDescription("文件后缀")
private String fileSuffix; private String fileSuffix;
/** /**
* kb * kb
*/ */
@ChineseDescription("文件大小kb")
private Long fileSizeKb; private Long fileSizeKb;
/** /**
* bucketid+. * bucketid+.
*/ */
@NotBlank(message = "fileObjectName不能为空", groups = {previewByObjectName.class}) @NotBlank(message = "fileObjectName不能为空", groups = {previewByObjectName.class})
@ChineseDescription("存储到bucket中的名称主键id+.后缀")
private String fileObjectName; private String fileObjectName;
/** /**
* *
*/ */
@ChineseDescription("存储路径")
private String filePath; private String filePath;
/** /**

View File

@ -192,7 +192,7 @@ public class SysFileInfoController {
* @author majianguo * @author majianguo
* @date 2020/12/16 15:34 * @date 2020/12/16 15:34
*/ */
@PostResource(name = "替换文件", path = "/sysFileInfo/versionBack", requiredPermission = false) @PostResource(name = "版本回退", path = "/sysFileInfo/versionBack", requiredPermission = false)
public ResponseData<SysFileInfoResponse> versionBack(@Validated(SysFileInfoRequest.versionBack.class) SysFileInfoRequest sysFileInfoRequest) { public ResponseData<SysFileInfoResponse> versionBack(@Validated(SysFileInfoRequest.versionBack.class) SysFileInfoRequest sysFileInfoRequest) {
SysFileInfoResponse fileUploadInfoResult = this.sysFileInfoService.versionBack(sysFileInfoRequest); SysFileInfoResponse fileUploadInfoResult = this.sysFileInfoService.versionBack(sysFileInfoRequest);
return new SuccessResponseData<>(fileUploadInfoResult); return new SuccessResponseData<>(fileUploadInfoResult);

View File

@ -24,6 +24,7 @@
*/ */
package cn.stylefeng.roses.kernel.i18n.api.pojo.request; package cn.stylefeng.roses.kernel.i18n.api.pojo.request;
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest; import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@ -47,36 +48,42 @@ public class TranslationRequest extends BaseRequest {
* id * id
*/ */
@NotNull(message = "tranId不能为空", groups = {edit.class, detail.class, delete.class}) @NotNull(message = "tranId不能为空", groups = {edit.class, detail.class, delete.class})
@ChineseDescription("主键id")
private Long tranId; private Long tranId;
/** /**
* *
*/ */
@NotBlank(message = "tranCode不能为空", groups = {add.class, edit.class}) @NotBlank(message = "tranCode不能为空", groups = {add.class, edit.class})
@ChineseDescription("编码")
private String tranCode; private String tranCode;
/** /**
* *
*/ */
@NotBlank(message = "tranName不能为空", groups = {add.class, edit.class}) @NotBlank(message = "tranName不能为空", groups = {add.class, edit.class})
@ChineseDescription("多语言条例名称")
private String tranName; private String tranName;
/** /**
* *
*/ */
@NotBlank(message = "tranLanguageCode不能为空", groups = {add.class, edit.class, changeUserLanguage.class, deleteTranLanguage.class}) @NotBlank(message = "tranLanguageCode不能为空", groups = {add.class, edit.class, changeUserLanguage.class, deleteTranLanguage.class})
@ChineseDescription("语种字典")
private String tranLanguageCode; private String tranLanguageCode;
/** /**
* *
*/ */
@NotBlank(message = "tranValue不能为空", groups = {add.class, edit.class}) @NotBlank(message = "tranValue不能为空", groups = {add.class, edit.class})
@ChineseDescription("翻译的值")
private String tranValue; private String tranValue;
/** /**
* id * id
*/ */
@NotNull(message = "字典id", groups = {deleteTranLanguage.class}) @NotNull(message = "字典id", groups = {deleteTranLanguage.class})
@ChineseDescription("字典id用在删除语种")
private Long dictId; private Long dictId;
/** /**

View File

@ -24,6 +24,7 @@
*/ */
package cn.stylefeng.roses.kernel.scanner.api.pojo.devops; package cn.stylefeng.roses.kernel.scanner.api.pojo.devops;
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest; import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
import cn.stylefeng.roses.kernel.scanner.api.pojo.resource.SysResourcePersistencePojo; import cn.stylefeng.roses.kernel.scanner.api.pojo.resource.SysResourcePersistencePojo;
import lombok.Data; import lombok.Data;
@ -44,11 +45,13 @@ public class DevOpsReportResourceParam extends BaseRequest {
/** /**
* DevOps * DevOps
*/ */
@ChineseDescription("项目唯一编码在DevOps平台创建项目后会颁发")
private String projectUniqueCode; private String projectUniqueCode;
/** /**
* DevOpsjwt * DevOpsjwt
*/ */
@ChineseDescription("向DevOps平台发送资源时候的令牌通过jwt工具生成")
private String interactionToken; private String interactionToken;
/** /**
@ -56,11 +59,13 @@ public class DevOpsReportResourceParam extends BaseRequest {
* <p> * <p>
* key * key
*/ */
@ChineseDescription("第一个key是模块名称是下划线分割的控制器名称不带Controller结尾。第二个key是资源的编码")
private List<SysResourcePersistencePojo> sysResourcePersistencePojoList; private List<SysResourcePersistencePojo> sysResourcePersistencePojoList;
/** /**
* FieldMetadata * FieldMetadata
*/ */
@ChineseDescription("FieldMetadata类的全路径")
private String fieldMetadataClassPath; private String fieldMetadataClassPath;
public DevOpsReportResourceParam(String projectUniqueCode, String interactionToken, List<SysResourcePersistencePojo> sysResourcePersistencePojoList, String fieldMetadataClassPath) { public DevOpsReportResourceParam(String projectUniqueCode, String interactionToken, List<SysResourcePersistencePojo> sysResourcePersistencePojoList, String fieldMetadataClassPath) {

View File

@ -156,6 +156,7 @@ public class SysResourcePersistencePojo {
/** /**
* *
*/ */
@ChineseDescription("应用名称")
private transient String appName; private transient String appName;
} }

View File

@ -24,6 +24,7 @@
*/ */
package cn.stylefeng.roses.kernel.timer.modular.param; package cn.stylefeng.roses.kernel.timer.modular.param;
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest; import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@ -45,45 +46,53 @@ public class SysTimersParam extends BaseRequest {
* id * id
*/ */
@NotNull(message = "主键timerId不能为空", groups = {edit.class, detail.class, delete.class, startTimer.class, stopTimer.class}) @NotNull(message = "主键timerId不能为空", groups = {edit.class, detail.class, delete.class, startTimer.class, stopTimer.class})
@ChineseDescription("定时器id")
private Long timerId; private Long timerId;
/** /**
* *
*/ */
@NotBlank(message = "任务名称不能为空", groups = {add.class, edit.class}) @NotBlank(message = "任务名称不能为空", groups = {add.class, edit.class})
@ChineseDescription("任务名称")
private String timerName; private String timerName;
/** /**
* classTimerTaskRunner * classTimerTaskRunner
*/ */
@NotBlank(message = "任务的class的类名不能为空", groups = {add.class, edit.class}) @NotBlank(message = "任务的class的类名不能为空", groups = {add.class, edit.class})
@ChineseDescription("执行任务的class的类名")
private String actionClass; private String actionClass;
/** /**
* *
*/ */
@NotBlank(message = "定时任务表达式不能为空", groups = {add.class, edit.class}) @NotBlank(message = "定时任务表达式不能为空", groups = {add.class, edit.class})
@ChineseDescription("定时任务表达式")
private String cron; private String cron;
/** /**
* 1 2 * 1 2
*/ */
@NotNull(message = "任务状态不能为空", groups = {edit.class}) @NotNull(message = "任务状态不能为空", groups = {edit.class})
@ChineseDescription("状态(字典 1运行 2停止")
private Integer jobStatus; private Integer jobStatus;
/** /**
* *
*/ */
@ChineseDescription("参数")
private String params; private String params;
/** /**
* *
*/ */
@ChineseDescription("备注信息")
private String remark; private String remark;
/** /**
* *
*/ */
@ChineseDescription("是否删除标记")
private String delFlag; private String delFlag;
/** /**

View File

@ -101,11 +101,13 @@ public class CustomerRequest extends BaseRequest {
/** /**
* *
*/ */
@ChineseDescription("用在图形验证码或者拖拽验证码")
private String verKey; private String verKey;
/** /**
* *
*/ */
@ChineseDescription("用在图形验证码或者拖拽验证码")
private String verCode; private String verCode;
/** /**

View File

@ -24,6 +24,7 @@
*/ */
package cn.stylefeng.roses.kernel.dict.modular.pojo.request; package cn.stylefeng.roses.kernel.dict.modular.pojo.request;
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest; import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
import cn.stylefeng.roses.kernel.validator.api.validators.status.StatusValue; import cn.stylefeng.roses.kernel.validator.api.validators.status.StatusValue;
import cn.stylefeng.roses.kernel.validator.api.validators.unique.TableUniqueValue; import cn.stylefeng.roses.kernel.validator.api.validators.unique.TableUniqueValue;
@ -48,17 +49,20 @@ public class DictTypeRequest extends BaseRequest {
* id * id
*/ */
@NotNull(message = "id不能为空", groups = {edit.class, delete.class, detail.class, updateStatus.class}) @NotNull(message = "id不能为空", groups = {edit.class, delete.class, detail.class, updateStatus.class})
@ChineseDescription("字典类型id")
private Long dictTypeId; private Long dictTypeId;
/** /**
* 1-2- DictTypeClassEnum * 1-2- DictTypeClassEnum
*/ */
@NotNull(message = "字典类型不能为空", groups = {add.class, edit.class}) @NotNull(message = "字典类型不能为空", groups = {add.class, edit.class})
@ChineseDescription("字典类型: 1-业务类型2-系统类型")
private Integer dictTypeClass; private Integer dictTypeClass;
/** /**
* *
*/ */
@ChineseDescription("字典类型业务编码")
private String dictTypeBusCode; private String dictTypeBusCode;
/** /**
@ -72,22 +76,26 @@ public class DictTypeRequest extends BaseRequest {
columnName = "dict_type_code", columnName = "dict_type_code",
idFieldName = "dict_type_id", idFieldName = "dict_type_id",
excludeLogicDeleteItems = true) excludeLogicDeleteItems = true)
@ChineseDescription("字典类型编码")
private String dictTypeCode; private String dictTypeCode;
/** /**
* *
*/ */
@NotBlank(message = "字典类型名称不能为空", groups = {add.class, edit.class}) @NotBlank(message = "字典类型名称不能为空", groups = {add.class, edit.class})
@ChineseDescription("字典类型名称")
private String dictTypeName; private String dictTypeName;
/** /**
* *
*/ */
@ChineseDescription("字典类型名词拼音")
private String dictTypeNamePinYin; private String dictTypeNamePinYin;
/** /**
* *
*/ */
@ChineseDescription("字典类型描述")
private String dictTypeDesc; private String dictTypeDesc;
/** /**
@ -95,12 +103,14 @@ public class DictTypeRequest extends BaseRequest {
*/ */
@NotNull(message = "状态不能为空", groups = {updateStatus.class}) @NotNull(message = "状态不能为空", groups = {updateStatus.class})
@StatusValue(groups = updateStatus.class) @StatusValue(groups = updateStatus.class)
@ChineseDescription("字典类型的状态1-启用2-禁用")
private Integer statusFlag; private Integer statusFlag;
/** /**
* *
*/ */
@NotNull(message = "排序不能为空", groups = {add.class, edit.class}) @NotNull(message = "排序不能为空", groups = {add.class, edit.class})
@ChineseDescription("排序,带小数")
private BigDecimal dictTypeSort; private BigDecimal dictTypeSort;
/** /**

View File

@ -1,5 +1,6 @@
package cn.stylefeng.roses.kernel.migration.api.pojo; package cn.stylefeng.roses.kernel.migration.api.pojo;
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest; import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
import lombok.Data; import lombok.Data;
@ -20,12 +21,14 @@ public class MigrationAggregationPOJO extends BaseRequest {
* *
*/ */
@NotNull(message = "模块名称不能为空", groups = {export.class, restore.class}) @NotNull(message = "模块名称不能为空", groups = {export.class, restore.class})
@ChineseDescription("应用和模块名称列表")
private List<String> appAndModuleNameList; private List<String> appAndModuleNameList;
/** /**
* *
*/ */
@NotNull(message = "数据集不能为空", groups = {restore.class}) @NotNull(message = "数据集不能为空", groups = {restore.class})
@ChineseDescription("数据集")
private Map<String, MigrationInfo> data; private Map<String, MigrationInfo> data;
/** /**

View File

@ -24,6 +24,7 @@
*/ */
package cn.stylefeng.roses.kernel.system.api.pojo.role.request; package cn.stylefeng.roses.kernel.system.api.pojo.role.request;
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import lombok.Data; import lombok.Data;
/** /**
@ -38,15 +39,18 @@ public class SysRoleDataScopeRequest {
/** /**
* *
*/ */
@ChineseDescription("主键")
private Long roleDataScopeId; private Long roleDataScopeId;
/** /**
* id * id
*/ */
@ChineseDescription("角色id")
private Long roleId; private Long roleId;
/** /**
* id * id
*/ */
@ChineseDescription("机构id")
private Long organizationId; private Long organizationId;
} }

View File

@ -24,6 +24,7 @@
*/ */
package cn.stylefeng.roses.kernel.system.api.pojo.role.request; package cn.stylefeng.roses.kernel.system.api.pojo.role.request;
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import lombok.Data; import lombok.Data;
/** /**
@ -38,11 +39,13 @@ public class SysRoleMenuButtonRequest {
/** /**
* id * id
*/ */
@ChineseDescription("按钮id")
private Long buttonId; private Long buttonId;
/** /**
* *
*/ */
@ChineseDescription("按钮编码")
private String buttonCode; private String buttonCode;
} }

View File

@ -157,22 +157,26 @@ public class SysRoleRequest extends BaseRequest {
* true-false- * true-false-
*/ */
@NotNull(message = "是否是新增绑定菜单", groups = {grantMenu.class}) @NotNull(message = "是否是新增绑定菜单", groups = {grantMenu.class})
@ChineseDescription("是否是新增绑定菜单true-新增绑定菜单false-取消绑定菜单")
private Boolean grantAddMenuFlag; private Boolean grantAddMenuFlag;
/** /**
* id * id
*/ */
@NotNull(message = "绑定菜单的id", groups = {grantMenu.class}) @NotNull(message = "绑定菜单的id", groups = {grantMenu.class})
@ChineseDescription("绑定菜单的id")
private Long grantMenuId; private Long grantMenuId;
/** /**
* id * id
*/ */
@ChineseDescription("模块下所有的按钮id")
private List<Long> modularButtonIds; private List<Long> modularButtonIds;
/** /**
* id * id
*/ */
@ChineseDescription("模块下选中的按钮id")
private List<Long> selectedButtonIds; private List<Long> selectedButtonIds;
/** /**

View File

@ -183,11 +183,13 @@ public class SysUserRequest extends BaseRequest {
/** /**
* *
*/ */
@ChineseDescription("部门的数据范围集合")
private Set<Long> scopeOrgIds; private Set<Long> scopeOrgIds;
/** /**
* id * id
*/ */
@ChineseDescription("用户id的数据范围集合")
private Set<Long> userScopeIds; private Set<Long> userScopeIds;
/** /**

View File

@ -25,6 +25,7 @@
package cn.stylefeng.roses.kernel.system.api.pojo.user.request; package cn.stylefeng.roses.kernel.system.api.pojo.user.request;
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import lombok.Data; import lombok.Data;
/** /**
@ -39,15 +40,18 @@ public class UserDataScopeRequest {
/** /**
* *
*/ */
@ChineseDescription("主键")
private Long userDataScopeId; private Long userDataScopeId;
/** /**
* id * id
*/ */
@ChineseDescription("用户id")
private Long userId; private Long userId;
/** /**
* id * id
*/ */
@ChineseDescription("机构id")
private Long orgId; private Long orgId;
} }

View File

@ -24,6 +24,7 @@
*/ */
package cn.stylefeng.roses.kernel.system.api.pojo.user.request; package cn.stylefeng.roses.kernel.system.api.pojo.user.request;
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import lombok.Data; import lombok.Data;
/** /**
@ -38,20 +39,24 @@ public class UserOrgRequest {
/** /**
* *
*/ */
@ChineseDescription("主键")
private Long userOrgId; private Long userOrgId;
/** /**
* id * id
*/ */
@ChineseDescription("用户id")
private Long userId; private Long userId;
/** /**
* id * id
*/ */
@ChineseDescription("所属机构id")
private Long orgId; private Long orgId;
/** /**
* id * id
*/ */
@ChineseDescription("职位id")
private Long positionId; private Long positionId;
} }

View File

@ -24,6 +24,7 @@
*/ */
package cn.stylefeng.roses.kernel.system.api.pojo.user.request; package cn.stylefeng.roses.kernel.system.api.pojo.user.request;
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import lombok.Data; import lombok.Data;
/** /**
@ -38,16 +39,19 @@ public class UserRoleRequest {
/** /**
* *
*/ */
@ChineseDescription("主键")
private Long userRoleId; private Long userRoleId;
/** /**
* id * id
*/ */
@ChineseDescription("用户id")
private Long userId; private Long userId;
/** /**
* id * id
*/ */
@ChineseDescription("角色id")
private Long roleId; private Long roleId;
} }