DeviceChargingDto.java 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  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 Charging {
  24. @NotEmpty(message = "设备id不能为空")
  25. @ApiModelProperty(value = "设备id集合")
  26. private List<Long> deviceIds;
  27. }
  28. @Data
  29. @Accessors(chain = true)
  30. public static class Page {
  31. @ApiModelProperty("分页对象")
  32. private PageBean page;
  33. @ApiModelProperty("商户id")
  34. private Long mercId;
  35. @ApiModelProperty("设备id")
  36. private Long deviceId;
  37. @ApiModelProperty("缴费状态 true=已缴费 false=欠费")
  38. private Boolean chargingStatus;
  39. @ApiModelProperty(value = "当前系统时间", hidden = true)
  40. private LocalDateTime thisTime = LocalDateTime.now();
  41. }
  42. @Data
  43. @Accessors(chain = true)
  44. public static class Pay {
  45. @NotBlank(message = "orderId不能为空")
  46. @ApiModelProperty("订单号")
  47. private String orderId;
  48. @NotEmpty(message = "deviceChargings不能为空")
  49. @ApiModelProperty("续费信息")
  50. private List<DeviceCharging> deviceChargings;
  51. @NotNull(message = "payType不能为空")
  52. @ApiModelProperty(value = "支付类型 2=支付宝 3=微信 100=赠送")
  53. private Integer payType;
  54. @Data
  55. @Accessors(chain = true)
  56. public static class DeviceCharging {
  57. @ApiModelProperty("设备id")
  58. private Long deviceId;
  59. @ApiModelProperty("购买年数/赠送天数")
  60. private Integer num;
  61. @ApiModelProperty(value = "计费标准 单位:分/年")
  62. private Integer standard;
  63. @ApiModelProperty("续费金额")
  64. private Integer chargingMoney;
  65. }
  66. }
  67. @Data
  68. @Accessors(chain = true)
  69. public static class PayNotice {
  70. @NotBlank(message = "orderId不能为空")
  71. private String orderId;
  72. }
  73. @Data
  74. @Accessors(chain = true)
  75. public static class Vo {
  76. @ApiModelProperty(value = "设备id")
  77. private Long deviceId;
  78. @ApiModelProperty(value = "累计续费金额")
  79. private Integer chargingSumMoney;
  80. @ApiModelProperty(value = "试用剩余天")
  81. private Integer chargingX;
  82. @ApiModelProperty(value = "过期时间")
  83. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  84. private LocalDateTime timeout;
  85. @ApiModelProperty(value = "创建时间")
  86. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  87. private LocalDateTime createTime;
  88. }
  89. @Data
  90. @Accessors(chain = true)
  91. public static class PageVo {
  92. @ApiModelProperty(value = "计费信息")
  93. private Vo deviceCharging;
  94. @ApiModelProperty(value = "最新计费历史信息")
  95. private DeviceChargingHistoryDto.Vo deviceChargingHistory;
  96. @ApiModelProperty(value = "设备信息")
  97. private DeviceInfoDto.Vo deviceInfo;
  98. @ApiModelProperty(value = "计费标准金额/年")
  99. private Integer chargingMoney;
  100. @ApiModelProperty("缴费状态 true=已缴费 false=欠费")
  101. private Boolean chargingStatus;
  102. }
  103. }