UserInfoDto.java 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340
  1. package com.xy.dto;
  2. import com.fasterxml.jackson.annotation.JsonFormat;
  3. import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
  4. import com.fasterxml.jackson.databind.annotation.JsonSerialize;
  5. import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
  6. import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
  7. import com.xy.utils.PageBean;
  8. import io.swagger.annotations.ApiModelProperty;
  9. import lombok.Data;
  10. import lombok.experimental.Accessors;
  11. import javax.validation.constraints.NotBlank;
  12. import javax.validation.constraints.NotEmpty;
  13. import javax.validation.constraints.NotNull;
  14. import java.time.LocalDate;
  15. import java.time.LocalDateTime;
  16. import java.util.List;
  17. /**
  18. * <p>
  19. * 用户表
  20. * </p>
  21. *
  22. * @author lijin
  23. * @since 2023-01-12
  24. */
  25. public class UserInfoDto {
  26. @Data
  27. @Accessors(chain = true)
  28. public static class SelectListDto {
  29. @ApiModelProperty("用户ID集合")
  30. private List<Long> userIds;
  31. @ApiModelProperty("用户对象Vo")
  32. private Vo userVo;
  33. @ApiModelProperty("姓名查询")
  34. private String nameQuery;
  35. @ApiModelProperty("手机查询")
  36. private String telQuery;
  37. }
  38. @Data
  39. @Accessors(chain = true)
  40. public static class Page extends Vo {
  41. @ApiModelProperty(value = "分页对象", required = true)
  42. private PageBean page;
  43. @JsonFormat(pattern = "yyyy-MM-dd")
  44. @ApiModelProperty(value = "创建时间-起")
  45. private LocalDate beginCreateTime;
  46. @JsonFormat(pattern = "yyyy-MM-dd")
  47. @ApiModelProperty(value = "创建时间-始")
  48. private LocalDate endCreateTime;
  49. public LocalDateTime getBeginCreateTime() {
  50. return beginCreateTime == null ? null : beginCreateTime.atTime(0, 0, 0);
  51. }
  52. public LocalDateTime getEndCreateTime() {
  53. return endCreateTime == null ? null : endCreateTime.atTime(23, 59, 59);
  54. }
  55. }
  56. @Data
  57. @Accessors(chain = true)
  58. public static class Save extends Vo {
  59. @NotNull(message = "sysId不能为空")
  60. @ApiModelProperty(value = "系统id")
  61. private Long sysId;
  62. @NotBlank(message = "account不能为空")
  63. @ApiModelProperty(value = "登录账号")
  64. private String account;
  65. @NotBlank(message = "name不能为空")
  66. @ApiModelProperty(value = "账户名称", required = true)
  67. private String name;
  68. @NotBlank(message = "phone不能为空")
  69. @ApiModelProperty(value = "手机", required = true)
  70. private String tel;
  71. @NotBlank(message = "mail不能为空")
  72. @ApiModelProperty(value = "邮件")
  73. private String mail;
  74. @ApiModelProperty(value = "密码", required = true)
  75. @NotBlank(message = "password不可为空")
  76. private String password;
  77. @ApiModelProperty(value = "角色ID(数组)")
  78. private List<Long> roleIds;
  79. @ApiModelProperty(value = "部门ID(数组)", required = true)
  80. private List<Long> deptIds;
  81. }
  82. @Data
  83. @Accessors(chain = true)
  84. public static class Update {
  85. @ApiModelProperty(value = "备注(暂时只有客服用到)")
  86. private String remark;
  87. @ApiModelProperty(value = "登录名")
  88. private String account;
  89. @ApiModelProperty(value = "用户昵称")
  90. private String name;
  91. @NotNull(message = "userId不能为空")
  92. @ApiModelProperty(value = "id")
  93. private Long userId;
  94. @ApiModelProperty(value = "手机", required = true)
  95. private String tel;
  96. @ApiModelProperty(value = "邮件")
  97. private String mail;
  98. @ApiModelProperty(value = "密码", required = true)
  99. private String password;
  100. @ApiModelProperty(value = "用户类型")
  101. private String userType;
  102. @ApiModelProperty(value = "状态")
  103. private Boolean status;
  104. @ApiModelProperty(value = "角色ID(数组)")
  105. private List<Long> roleIds;
  106. @ApiModelProperty(value = "部门ID(数组)")
  107. private List<Long> deptIds;
  108. @ApiModelProperty(value = "支付宝用户id")
  109. private String aliUserId;
  110. @ApiModelProperty(value = "微信开放平台识别码")
  111. private String unionid;
  112. @ApiModelProperty(value = "微信小程序openid")
  113. private String wechatOpenid;
  114. @ApiModelProperty(value = "微信公众号openid")
  115. private String mpOpenid;
  116. }
  117. @Data
  118. @Accessors(chain = true)
  119. public static class SaleBackUsersVO {
  120. @ApiModelProperty(value = "所有售后用户ID")
  121. private List<Long> authUserIds;
  122. @ApiModelProperty(value = "所有售后用户openID")
  123. private List<String> mpOpenIds;
  124. }
  125. @Data
  126. @Accessors(chain = true)
  127. public static class SaleBackUsersDTO {
  128. @NotEmpty(message = "角色编号不可为空")
  129. @ApiModelProperty(value = "角色编号", required = true)
  130. private String roleCode;
  131. @NotEmpty(message = "系统ID不可为空")
  132. @ApiModelProperty(value = "用户ID", required = true)
  133. private Long sysId;
  134. }
  135. @Data
  136. @Accessors(chain = true)
  137. public static class Vo {
  138. @ApiModelProperty(value = "是否拥有团队")
  139. private Boolean hasMercTeam;
  140. @ApiModelProperty(value = "id")
  141. private Long userId;
  142. @ApiModelProperty(value = "用户昵称")
  143. private String name;
  144. @ApiModelProperty(value = "手机号")
  145. private String tel;
  146. @ApiModelProperty(value = "邮件")
  147. private String mail;
  148. @ApiModelProperty(value = "微信开放平台识别码")
  149. private String unionid;
  150. @ApiModelProperty(value = "微信小程序openid")
  151. private String wechatOpenid;
  152. @ApiModelProperty(value = "微信公众号openid")
  153. private String mpOpenid;
  154. @ApiModelProperty(value = "支付宝用户id")
  155. private String aliUserId;
  156. @ApiModelProperty(value = "系统id")
  157. private Long sysId;
  158. @ApiModelProperty(value = "权限系统用户id")
  159. private Long authorizeUserId;
  160. @ApiModelProperty(value = "用户类型")
  161. private String userType;
  162. @ApiModelProperty(value = "状态")
  163. private Boolean status;
  164. @ApiModelProperty(value = "创建人")
  165. private Long createUser;
  166. @ApiModelProperty(value = "创建时间")
  167. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  168. @JsonDeserialize(using = LocalDateTimeDeserializer.class)
  169. @JsonSerialize(using = LocalDateTimeSerializer.class)
  170. private LocalDateTime createTime;
  171. @ApiModelProperty(value = "更新人")
  172. private Long updateUser;
  173. @ApiModelProperty(value = "更新时间")
  174. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  175. @JsonDeserialize(using = LocalDateTimeDeserializer.class)
  176. @JsonSerialize(using = LocalDateTimeSerializer.class)
  177. private LocalDateTime updateTime;
  178. @ApiModelProperty("部门id")
  179. private List<Long> deptIds;
  180. @ApiModelProperty("部门名称")
  181. private List<String> deptNames;
  182. }
  183. @Data
  184. @Accessors(chain = true)
  185. public static class DelDto {
  186. @NotEmpty(message = "未选中删除对象")
  187. @ApiModelProperty("ID数组")
  188. private List<Long> id;
  189. }
  190. @Data
  191. @Accessors(chain = true)
  192. public static class WebUserMqtt {
  193. @NotNull(message = "type不能为空")
  194. @ApiModelProperty(value = "类型 1=pc管理端 2=微信c端小程序 3=支付宝c端小程序", required = true)
  195. private Integer type;
  196. }
  197. @Data
  198. @Accessors(chain = true)
  199. public static class WebUserMqttVo {
  200. @ApiModelProperty(value = "url")
  201. private String url;
  202. @ApiModelProperty(value = "端口")
  203. private Integer port;
  204. @ApiModelProperty(value = "账号")
  205. private String username;
  206. @ApiModelProperty(value = "密码")
  207. private String password;
  208. @ApiModelProperty(value = "客户端id&topic")
  209. private String clientTopic;
  210. }
  211. @Data
  212. @Accessors(chain = true)
  213. public static class UpdateByWechat {
  214. @NotNull(message = "用户ID不能为空")
  215. @ApiModelProperty(value = "id")
  216. private Long userId;
  217. @ApiModelProperty(value = "微信开放平台识别码")
  218. private String unionid;
  219. @ApiModelProperty(value = "微信小程序openid")
  220. private String wechatOpenid;
  221. @ApiModelProperty(value = "微信公众号openid")
  222. private String mpOpenid;
  223. }
  224. @Data
  225. @Accessors(chain = true)
  226. public static class UpdateByAli {
  227. @NotNull(message = "用户ID不能为空")
  228. @ApiModelProperty(value = "id")
  229. private Long userId;
  230. @ApiModelProperty(value = "支付宝用户id")
  231. private String aliUserId;
  232. }
  233. @Data
  234. @Accessors(chain = true)
  235. public static class WxQrCode {
  236. // @NotBlank(message = "用户ID不能为空")
  237. @ApiModelProperty(value = "id")
  238. private String userId;
  239. }
  240. @Data
  241. @Accessors(chain = true)
  242. public static class WxQrCodeVO {
  243. @ApiModelProperty(value = "imgList")
  244. private List<String> imgList;
  245. @ApiModelProperty(value = "ticket")
  246. private String ticket;
  247. }
  248. @Data
  249. @Accessors(chain = true)
  250. public static class CheckSubWx {
  251. @NotBlank(message = "ticketId不可为空")
  252. @ApiModelProperty(value = "ticketId")
  253. private String ticketId;
  254. @ApiModelProperty(value = "userId")
  255. private String userId;
  256. }
  257. }