SysRoleDto.java 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  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. @Data
  13. @ApiModel("角色表DTO")
  14. @Accessors(chain = true)
  15. public class SysRoleDto {
  16. @Data
  17. @ApiModel
  18. @Accessors(chain = true)
  19. public static class SaveOrUpdate {
  20. @ApiModelProperty(value = "角色ID")
  21. private Long id;
  22. @NotNull(message = "所属系统不可为空")
  23. @ApiModelProperty(value = "系统", required = true)
  24. private Long sysId;
  25. @NotNull(message = "角色标识不可为空")
  26. @Size(max = 64, min = 2, message = "角色标识长度需要在2-64之间")
  27. @ApiModelProperty(value = "角色标识", required = true)
  28. private String code;
  29. @NotNull(message = "角色名称不能为空")
  30. @Size(max = 64, min = 2, message = "角色名称长度需要在2-64之间")
  31. @ApiModelProperty(value = "角色名称", required = true)
  32. private String name;
  33. @ApiModelProperty("描述")
  34. @Size(max = 255, message = "描述不可超过255个字符")
  35. private String description;
  36. @ApiModelProperty("状态;true=启用(默认) false=禁用")
  37. private Boolean status;
  38. @ApiModelProperty("是否预留角色;true=是 false=否(默认)")
  39. private Boolean isLeave;
  40. }
  41. @Data
  42. @ApiModel
  43. @Accessors(chain = true)
  44. public static class Page extends PageDto {
  45. @ApiModelProperty(value = "分页对象")
  46. private PageBean page;
  47. @JsonFormat(pattern = "yyyy-MM-dd")
  48. @ApiModelProperty(value = "创建时间-起")
  49. private LocalDate beginCreateTime;
  50. @JsonFormat(pattern = "yyyy-MM-dd")
  51. @ApiModelProperty(value = "创建时间-始")
  52. private LocalDate endCreateTime;
  53. public LocalDateTime getBeginCreateTime() {
  54. return beginCreateTime == null ? null : beginCreateTime.atTime(0, 0, 0);
  55. }
  56. public LocalDateTime getEndCreateTime() {
  57. return endCreateTime == null ? null : endCreateTime.atTime(23, 59, 59);
  58. }
  59. }
  60. @Data
  61. @ApiModel
  62. @Accessors(chain = true)
  63. public static class PageDto {
  64. @NotNull(message = "所属系统不可为空")
  65. @ApiModelProperty(value = "系统")
  66. private Long sysId;
  67. @ApiModelProperty(value = "角色标识")
  68. private String code;
  69. @ApiModelProperty(value = "角色名称")
  70. private String name;
  71. @ApiModelProperty("状态;true=启用(默认) false=禁用")
  72. private Boolean status;
  73. @ApiModelProperty("是否预留角色;true=是 false=否(默认)")
  74. private Boolean isLeave;
  75. }
  76. }