DeviceChargingDto.java 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. package com.xy.dto;
  2. import com.fasterxml.jackson.annotation.JsonFormat;
  3. import com.xy.utils.PageBean;
  4. import io.swagger.annotations.ApiModelProperty;
  5. import lombok.Data;
  6. import lombok.experimental.Accessors;
  7. import javax.validation.constraints.NotBlank;
  8. import javax.validation.constraints.NotEmpty;
  9. import javax.validation.constraints.NotNull;
  10. import java.time.LocalDateTime;
  11. import java.util.List;
  12. /**
  13. * <p>
  14. * 设备计费表
  15. * </p>
  16. *
  17. * @author lijin
  18. * @since 2023-04-14
  19. */
  20. public class DeviceChargingDto {
  21. @Data
  22. @Accessors(chain = true)
  23. public static class Del {
  24. @NotEmpty(message = "设备id不能为空")
  25. @ApiModelProperty(value = "设备id")
  26. private List<Long> deviceId;
  27. }
  28. @Data
  29. @Accessors(chain = true)
  30. public static class Check {
  31. @NotEmpty(message = "设备id不能为空")
  32. @ApiModelProperty(value = "设备id")
  33. private Long deviceId;
  34. }
  35. @Data
  36. @Accessors(chain = true)
  37. public static class Charging {
  38. @NotEmpty(message = "设备id不能为空")
  39. @ApiModelProperty(value = "设备id集合")
  40. private List<Long> deviceIds;
  41. }
  42. @Data
  43. @Accessors(chain = true)
  44. public static class Page {
  45. @ApiModelProperty("分页对象")
  46. private PageBean page;
  47. @ApiModelProperty("商户id")
  48. private Long mercId;
  49. @ApiModelProperty("设备id")
  50. private Long deviceId;
  51. @ApiModelProperty("状态类型 字典=device_charging_query_type")
  52. private Integer chargingStatus;
  53. @ApiModelProperty(hidden = true)
  54. private LocalDateTime thisTime;
  55. @ApiModelProperty(hidden = true)
  56. private LocalDateTime theTime;
  57. }
  58. @Data
  59. @Accessors(chain = true)
  60. public static class Pay {
  61. @NotBlank(message = "orderId不能为空")
  62. @ApiModelProperty("订单号")
  63. private String orderId;
  64. @NotNull(message = "mercId不能为空")
  65. @ApiModelProperty(value = "商户id")
  66. private Long mercId;
  67. @NotEmpty(message = "deviceChargings不能为空")
  68. @ApiModelProperty("续费信息")
  69. private List<DeviceCharging> deviceChargings;
  70. @NotNull(message = "payType不能为空")
  71. @ApiModelProperty(value = "支付类型 2=支付宝 3=微信 100=赠送")
  72. private Integer payType;
  73. @ApiModelProperty(value = "备注")
  74. private String note;
  75. @Data
  76. @Accessors(chain = true)
  77. public static class DeviceCharging {
  78. @ApiModelProperty("设备id")
  79. private Long deviceId;
  80. @ApiModelProperty("购买年数/赠送天数")
  81. private Integer num;
  82. @ApiModelProperty("续费金额")
  83. private Integer chargingMoney;
  84. }
  85. }
  86. @Data
  87. @Accessors(chain = true)
  88. public static class PayNotice {
  89. @NotBlank(message = "orderId不能为空")
  90. private String orderId;
  91. }
  92. @Data
  93. @Accessors(chain = true)
  94. public static class PayCheck {
  95. @NotEmpty(message = "deviceId不能为空")
  96. @ApiModelProperty("设备id")
  97. private List<Long> deviceId;
  98. }
  99. @Data
  100. @Accessors(chain = true)
  101. public static class PayCheckVo {
  102. @ApiModelProperty(value = "设备信息")
  103. private DeviceInfo deviceInfo;
  104. @ApiModelProperty(value = "算法包月信息")
  105. private DeviceAlgorithmCharging moonDeviceAlgorithmCharging;
  106. @ApiModelProperty(value = "算法购买信息")
  107. private DeviceAlgorithmCharging infDeviceAlgorithmCharging;
  108. @Data
  109. @Accessors(chain = true)
  110. public static class DeviceInfo {
  111. @ApiModelProperty("设备id")
  112. private Long deviceId;
  113. @ApiModelProperty("设备名称")
  114. private String deviceName;
  115. @ApiModelProperty("设备类型")
  116. private Integer deviceType;
  117. @ApiModelProperty("设备类型名称")
  118. private String deviceTypeName;
  119. @ApiModelProperty("计费标准说明")
  120. private String standard;
  121. @ApiModelProperty("激活状态")
  122. private Integer activeState;
  123. @ApiModelProperty("运营状态")
  124. private Integer busyState;
  125. @ApiModelProperty("冻结状态")
  126. private Integer freezeStatus;
  127. @ApiModelProperty("价格")
  128. private Integer money;
  129. }
  130. @Data
  131. @Accessors(chain = true)
  132. public static class DeviceAlgorithmCharging {
  133. @ApiModelProperty("算法id")
  134. private Long algorithmId;
  135. @ApiModelProperty("算法名称")
  136. private String algorithmName;
  137. @ApiModelProperty("设备id")
  138. private Long deviceId;
  139. @ApiModelProperty("设备名称")
  140. private String deviceName;
  141. @ApiModelProperty("设备类型")
  142. private Integer deviceType;
  143. @ApiModelProperty("设备类型名称")
  144. private String deviceTypeName;
  145. @ApiModelProperty("计费标准说明")
  146. private String standard;
  147. @ApiModelProperty("价格")
  148. private Integer money;
  149. }
  150. }
  151. @Data
  152. @Accessors(chain = true)
  153. public static class Vo {
  154. @ApiModelProperty(value = "设备id")
  155. private Long deviceId;
  156. @ApiModelProperty(value = "累计续费金额")
  157. private Integer chargingSumMoney;
  158. @ApiModelProperty(value = "过期时间")
  159. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  160. private LocalDateTime timeout;
  161. @ApiModelProperty(value = "创建时间")
  162. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  163. private LocalDateTime createTime;
  164. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  165. @ApiModelProperty(value = "最后续费时间")
  166. private LocalDateTime lastChargingTime;
  167. @ApiModelProperty(value = "最后续费金额")
  168. private Integer lastChargingMoney;
  169. @ApiModelProperty(value = "最后续费方式")
  170. private Integer lastChargingPayType;
  171. @ApiModelProperty(value = "过期状态说明")
  172. private String timeoutStatus;
  173. }
  174. @Data
  175. @Accessors(chain = true)
  176. public static class PageVo {
  177. @ApiModelProperty(value = "计费信息")
  178. private Vo deviceCharging;
  179. @ApiModelProperty(value = "设备信息")
  180. private DeviceInfoDto.Vo deviceInfo;
  181. @ApiModelProperty(value = "计费标准金额/年")
  182. private Integer chargingMoney;
  183. }
  184. }