package com.xy.dto; import com.fasterxml.jackson.annotation.JsonFormat; import com.xy.utils.PageBean; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.time.LocalDateTime; import java.util.List; /** *

* 设备计费表 *

* * @author lijin * @since 2023-04-14 */ public class DeviceChargingDto { @Data @Accessors(chain = true) public static class Charging { @NotEmpty(message = "设备id不能为空") @ApiModelProperty(value = "设备id集合") private List deviceIds; } @Data @Accessors(chain = true) public static class Page { @ApiModelProperty("分页对象") private PageBean page; @ApiModelProperty("商户id") private Long mercId; @ApiModelProperty("设备id") private Long deviceId; @ApiModelProperty("缴费状态 true=已缴费 false=欠费") private Boolean chargingStatus; @ApiModelProperty(value = "当前系统时间", hidden = true) private LocalDateTime thisTime = LocalDateTime.now(); } @Data @Accessors(chain = true) public static class Pay { @NotBlank(message = "orderId不能为空") @ApiModelProperty("订单号") private String orderId; @NotEmpty(message = "deviceChargings不能为空") @ApiModelProperty("续费信息") private List deviceChargings; @NotNull(message = "payType不能为空") @ApiModelProperty(value = "支付类型 2=支付宝 3=微信 100=赠送") private Integer payType; @Data @Accessors(chain = true) public static class DeviceCharging { @ApiModelProperty("设备id") private Long deviceId; @ApiModelProperty("购买年数/赠送天数") private Integer num; @ApiModelProperty(value = "计费标准 单位:分/年") private Integer standard; @ApiModelProperty("续费金额") private Integer chargingMoney; } } @Data @Accessors(chain = true) public static class PayNotice { @NotBlank(message = "orderId不能为空") private String orderId; } @Data @Accessors(chain = true) public static class Vo { @ApiModelProperty(value = "设备id") private Long deviceId; @ApiModelProperty(value = "累计续费金额") private Integer chargingSumMoney; @ApiModelProperty(value = "试用剩余天") private Integer chargingX; @ApiModelProperty(value = "过期时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime timeout; @ApiModelProperty(value = "创建时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; } @Data @Accessors(chain = true) public static class PageVo { @ApiModelProperty(value = "计费信息") private Vo deviceCharging; @ApiModelProperty(value = "最新计费历史信息") private DeviceChargingHistoryDto.Vo deviceChargingHistory; @ApiModelProperty(value = "设备信息") private DeviceInfoDto.Vo deviceInfo; @ApiModelProperty(value = "计费标准金额/年") private Integer chargingMoney; @ApiModelProperty("缴费状态 true=已缴费 false=欠费") private Boolean chargingStatus; } }