SysRoleDto.java 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. package com.xy.dto;
  2. import com.fasterxml.jackson.annotation.JsonFormat;
  3. import com.xy.utils.PageBean;
  4. import io.swagger.annotations.ApiModel;
  5. import io.swagger.annotations.ApiModelProperty;
  6. import lombok.Data;
  7. import lombok.experimental.Accessors;
  8. import javax.validation.constraints.NotNull;
  9. import javax.validation.constraints.Size;
  10. import java.time.LocalDate;
  11. import java.time.LocalDateTime;
  12. import java.util.List;
  13. @Data
  14. @ApiModel("角色表DTO")
  15. @Accessors(chain = true)
  16. public class SysRoleDto {
  17. @Data
  18. @ApiModel
  19. @Accessors(chain = true)
  20. public static class SaveOrUpdate {
  21. @ApiModelProperty(value = "角色ID")
  22. private Long id;
  23. @NotNull(message = "所属系统不可为空")
  24. @ApiModelProperty(value = "系统", required = true)
  25. private Long sysId;
  26. @NotNull(message = "角色标识不可为空")
  27. @Size(max = 64, min = 2, message = "角色标识长度需要在2-64之间")
  28. @ApiModelProperty(value = "角色标识", required = true)
  29. private String code;
  30. @NotNull(message = "角色名称不能为空")
  31. @Size(max = 64, min = 2, message = "角色名称长度需要在2-64之间")
  32. @ApiModelProperty(value = "角色名称", required = true)
  33. private String name;
  34. @ApiModelProperty("描述")
  35. @Size(max = 255, message = "描述不可超过255个字符")
  36. private String description;
  37. @ApiModelProperty("状态;true=启用(默认) false=禁用")
  38. private Boolean status;
  39. @ApiModelProperty("是否预留角色;true=是 false=否(默认)")
  40. private Boolean isLeave;
  41. @ApiModelProperty("菜单ID数组")
  42. private List<Long> menuIds;
  43. }
  44. @Data
  45. @ApiModel
  46. @Accessors(chain = true)
  47. public static class Page extends PageDto {
  48. @ApiModelProperty(value = "分页对象")
  49. private PageBean page;
  50. @JsonFormat(pattern = "yyyy-MM-dd")
  51. @ApiModelProperty(value = "创建时间-起")
  52. private LocalDate beginCreateTime;
  53. @JsonFormat(pattern = "yyyy-MM-dd")
  54. @ApiModelProperty(value = "创建时间-始")
  55. private LocalDate endCreateTime;
  56. public LocalDateTime getBeginCreateTime() {
  57. return beginCreateTime == null ? null : beginCreateTime.atTime(0, 0, 0);
  58. }
  59. public LocalDateTime getEndCreateTime() {
  60. return endCreateTime == null ? null : endCreateTime.atTime(23, 59, 59);
  61. }
  62. }
  63. @Data
  64. @ApiModel
  65. @Accessors(chain = true)
  66. public static class PageDto {
  67. @NotNull(message = "所属系统不可为空")
  68. @ApiModelProperty(value = "系统")
  69. private Long sysId;
  70. @ApiModelProperty(value = "角色标识")
  71. private String code;
  72. @ApiModelProperty(value = "角色名称")
  73. private String name;
  74. @ApiModelProperty("状态;true=启用(默认) false=禁用")
  75. private Boolean status;
  76. @ApiModelProperty("是否预留角色;true=是 false=否(默认)")
  77. private Boolean isLeave;
  78. }
  79. @Data
  80. @ApiModel
  81. @Accessors(chain = true)
  82. public static class UpdateAdminRoleMenu {
  83. @NotNull(message = "角色菜单可为空")
  84. @ApiModelProperty("角色菜单")
  85. private List<RoleMenuDto> roleMenuList;
  86. }
  87. @Data
  88. @ApiModel
  89. @Accessors(chain = true)
  90. public static class RoleMenuDto {
  91. @NotNull(message = "角色ID不可为空")
  92. @ApiModelProperty("角色ID")
  93. private Long roleId;
  94. @NotNull(message = "菜单ID不可为空")
  95. @ApiModelProperty("菜单")
  96. private Long menuId;
  97. @NotNull(message = "系统ID不可为空")
  98. @ApiModelProperty("系统ID")
  99. private Long sysId;
  100. @NotNull(message = "角色ID不可为空")
  101. @ApiModelProperty("管理员查询权限;true=管理员查询权限查询某系统所有数据 false=普通查询权限查询某系统自身数据")
  102. private Boolean selectAdmin;
  103. }
  104. }