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-06-29 */ public class DeviceAlgorithmChargingDto { @Data @Accessors(chain = true) public static class Page extends Vo { @ApiModelProperty("分页对象") private PageBean page; } @Data @Accessors(chain = true) public static class Check { @NotEmpty(message = "设备id不能为空") @ApiModelProperty(value = "设备id") private Long deviceId; } @Data @Accessors(chain = true) public static class Pay { @NotBlank(message = "orderId不能为空") @ApiModelProperty("订单号") private String orderId; @NotNull(message = "payType不能为空") @ApiModelProperty(value = "支付类型 2=支付宝 3=微信 100=赠送") private Integer payType; @NotNull(message = "mercId不能为空") @ApiModelProperty(value = "商户id") private Long mercId; @NotEmpty(message = "deviceAlgorithmChargings不能为空") @ApiModelProperty("计费信息") private List deviceAlgorithmChargings; @ApiModelProperty(value = "备注") private String note; @Data @Accessors(chain = true) public static class DeviceAlgorithmCharging { @ApiModelProperty("设备id") private Long deviceId; @ApiModelProperty("算法id") private Long algorithmId; @ApiModelProperty("名称") private String name; @ApiModelProperty("类型") private Integer type; @ApiModelProperty("充值数量") private Integer chargingSize; @ApiModelProperty("充值金额") private Integer money; } } @Data @Accessors(chain = true) public static class PayNotice { @NotBlank(message = "orderId不能为空") private String orderId; @ApiModelProperty("赠送过期时间") private Integer timeout; } @Data @Accessors(chain = true) public static class Charging { @ApiModelProperty(value = "商户设备算法计费id") private Long mercDeviceAlgorithmChargingId; @ApiModelProperty(value = "设备id") private Long deviceId; @ApiModelProperty(value = "算法id") private Long algorithmId; @ApiModelProperty(value = "商户id") private Long mercId; @ApiModelProperty(value = "扣除条数") private Integer size; @ApiModelProperty(value = "计费日期") private Integer algorithmDate; } @Data @Accessors(chain = true) public static class Vo { @ApiModelProperty(value = "id") private Long id; @ApiModelProperty(value = "商户编码") private String mercCode; @ApiModelProperty(value = "设备id") private Long deviceId; @ApiModelProperty(value = "算法id") private Long algorithmId; @ApiModelProperty(value = "名称") private String name; @ApiModelProperty(value = "已用条数") private Integer makeSize; @ApiModelProperty(value = "未用条数") private Integer unusedSize; @ApiModelProperty(value = "类型") private Integer type; @ApiModelProperty(value = "过期时间;yyyyMMdd") private Integer timeout; @ApiModelProperty(value = "生效时间;yyyyMMdd") private Integer beginTime; @ApiModelProperty(value = "创建时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; @ApiModelProperty(value = "更新时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime updateTime; } @Data @Accessors(chain = true) public static class AlgorithmMoonConfig { private Integer price; private Moon moon; private Inf inf; @Data @Accessors(chain = true) public static class Moon { private Long id; private Integer money; private Integer size; } @Data @Accessors(chain = true) public static class Inf { private Long id; private Integer money; private Integer size; } } }