package com.xy.dto; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.format.NumberFormat; import com.fasterxml.jackson.annotation.JsonFormat; import com.xy.annotate.DictFormat; import com.xy.consts.DictConsts; import com.xy.convert.CustomFenToYuanConverter; import com.xy.convert.DictConvert; import com.xy.utils.PageBean; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; import java.time.LocalDateTime; import java.util.List; /** *
* 设备计费历史表 *
* * @author lijin * @since 2023-04-14 */ public class DeviceChargingHistoryDto { @Data @Accessors(chain = true) public static class MySpendPageVO { @ApiModelProperty(value = "id") private Long id; @ApiModelProperty(value = "商户id") private Long mercId; @ApiModelProperty(value = "订单id") private String orderId; @ApiModelProperty(value = "设备id") private Long deviceId; @ApiModelProperty(value = "续费金额") private Integer chargingMoney; @ApiModelProperty(value = "佣金") private Integer agentMoney; @ApiModelProperty(value = "续费数量") private Integer chargingSize; @ApiModelProperty(value = "续费方式") private Integer chargingType; @ApiModelProperty(value = "状态") private Integer status; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "创建时间") private LocalDateTime createTime; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "更新时间") private LocalDateTime updateTime; @ApiModelProperty(value = "备注") private String note; @ApiModelProperty(value = "附件") private String files; @ApiModelProperty(value = "商户名称") private String mercName; @ApiModelProperty(value = "过期时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime timeout; @ApiModelProperty(value = "过期状态说明") private String timeoutStatus; } @Data @Accessors(chain = true) public static class PageVo { @ApiModelProperty(value = "id") private Long id; @ApiModelProperty(value = "商户id") private Long mercId; @ApiModelProperty(value = "订单id") private String orderId; @ApiModelProperty(value = "设备id") private Long deviceId; @ApiModelProperty(value = "续费金额") private Integer chargingMoney; @ApiModelProperty(value = "佣金") private Integer agentMoney; @ApiModelProperty(value = "续费数量") private Integer chargingSize; @ApiModelProperty(value = "续费方式") private Integer chargingType; @ApiModelProperty(value = "状态") private Integer status; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "创建时间") private LocalDateTime createTime; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "更新时间") private LocalDateTime updateTime; @ApiModelProperty(value = "备注") private String note; @ApiModelProperty(value = "附件") private String files; @ApiModelProperty(value = "商户名称") private String mercName; @ApiModelProperty(value = "过期时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime timeout; @ApiModelProperty(value = "过期状态说明") private String timeoutStatus; } @Data @Accessors(chain = true) public static class PageExcelVo { @ExcelProperty("商户名称") @ApiModelProperty(value = "商户名称") private String mercName; @ExcelProperty("缴费单号") @ApiModelProperty(value = "缴费单号") private String orderId; @ExcelProperty("设备编号") @ApiModelProperty(value = "设备编号") private Long deviceId; @ExcelProperty(value = "实缴金额", converter = CustomFenToYuanConverter.class) @NumberFormat("#0.00") @ApiModelProperty(value = "续费金额") private Integer chargingMoney; @ApiModelProperty(value = "佣金") @ExcelProperty(value = "佣金", converter = CustomFenToYuanConverter.class) @NumberFormat("#0.00") private Integer agentMoney; @ExcelProperty("续费数量(年)") @ApiModelProperty(value = "续费数量") private Integer chargingSize; @ExcelProperty(value = "续费方式", converter = DictConvert.class) @DictFormat(DictConsts.ORDER_MERC_MANAGE_PAY_TYPE) @ApiModelProperty(value = "续费方式") private Integer chargingType; @ExcelProperty("缴费时间") @ApiModelProperty(value = "创建时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; @ExcelProperty("过期时间") @ApiModelProperty(value = "过期时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime timeout; @ExcelProperty("状态说明") @ApiModelProperty(value = "过期状态说明") private String timeoutStatus; } @Data @Accessors(chain = true) public static class SpendPageExcelVo { @ExcelProperty("商户名称") @ApiModelProperty(value = "商户名称") private String mercName; @ExcelProperty("缴费单号") @ApiModelProperty(value = "缴费单号") private String orderId; @ExcelProperty("设备编号") @ApiModelProperty(value = "设备编号") private Long deviceId; @ExcelProperty(value = "实缴金额", converter = CustomFenToYuanConverter.class) @NumberFormat("#0.00") @ApiModelProperty(value = "续费金额") private Integer chargingMoney; @ExcelProperty("续费数量(年)") @ApiModelProperty(value = "续费数量") private Integer chargingSize; @ExcelProperty(value = "续费方式", converter = DictConvert.class) @DictFormat(DictConsts.ORDER_MERC_MANAGE_PAY_TYPE) @ApiModelProperty(value = "续费方式") private Integer chargingType; @ExcelProperty("缴费时间") @ApiModelProperty(value = "创建时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; @ExcelProperty("过期时间") @ApiModelProperty(value = "过期时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime timeout; @ExcelProperty("状态说明") @ApiModelProperty(value = "过期状态说明") private String timeoutStatus; } @Data @Accessors(chain = true) public static class Vo { @ApiModelProperty(value = "id") private Long id; @ApiModelProperty(value = "商户id") private Long mercId; @ApiModelProperty(value = "订单id") private String orderId; @ApiModelProperty(value = "设备id") private Long deviceId; @ApiModelProperty(value = "续费金额") private Integer chargingMoney; @ApiModelProperty(value = "续费数量") private Integer chargingSize; @ApiModelProperty(value = "续费方式") private Integer chargingType; @ApiModelProperty(value = "状态") private Integer status; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "创建时间") private LocalDateTime createTime; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "更新时间") private LocalDateTime updateTime; @ApiModelProperty(value = "备注") private String note; @ApiModelProperty(value = "商户名称") private String mercName; @ApiModelProperty(value = "附件") private String files; @ApiModelProperty(value = "余额抵扣") private Integer balanceMone; } @Data @Accessors(chain = true) public static class Page extends Vo { @ApiModelProperty("分页对象") private PageBean page; @ApiModelProperty(value = "创建时间-起") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime beginCreateTime; @ApiModelProperty(value = "创建时间-始") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime endCreateTime; } @Data @Accessors(chain = true) public static class PageByTopMerc { @ApiModelProperty("分页对象") private PageBean page; @ApiModelProperty("是否导出当前页") private Boolean exportPage = true; @ApiModelProperty(value = "创建时间-起") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime beginCreateTime; @ApiModelProperty(value = "创建时间-始") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime endCreateTime; @ApiModelProperty(value = "id") private Long id; @ApiModelProperty(value = "商户id") private Long curMercId; @ApiModelProperty(value = "指定商户id") private Long chooseMercId; @ApiModelProperty(value = "订单id") private String orderId; @ApiModelProperty(value = "设备id") private Long deviceId; @ApiModelProperty(value = "续费金额") private Integer chargingMoney; @ApiModelProperty(value = "续费数量") private Integer chargingSize; @ApiModelProperty(value = "续费方式") private Integer chargingType; @ApiModelProperty(value = "状态") private Integer status; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "创建时间") private LocalDateTime createTime; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "更新时间") private LocalDateTime updateTime; @ApiModelProperty(value = "备注") private String note; @ApiModelProperty(value = "附件") private String files; @ApiModelProperty(value = "商户名称") private String mercName; // size -1 不分页 public PageBean getPage() { if (!this.exportPage) { this.page.setSize(-1L); } return page; } } @Data @Accessors(chain = true) public static class MoonCount { @ApiModelProperty(value = "商户id") private List