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-10-16 */ public class DeviceSimChargeDto { @Data @Accessors(chain = true) public static class Page extends Vo { @ApiModelProperty(value = "分页对象", required = true) 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 PageExcelVo { @ExcelProperty("商户名称") @ApiModelProperty(value = "商户名称") private String mercName; @ExcelProperty("缴费单号") @ApiModelProperty(value = "缴费单号") private String orderId; @ExcelProperty("流量卡号") @ApiModelProperty(value = "流量卡id") private String simId; @ApiModelProperty(value = "金额") @ExcelProperty(value = "金额", converter = CustomFenToYuanConverter.class) @NumberFormat("#0.00") private Integer money; @ApiModelProperty(value = "佣金") @ExcelProperty(value = "佣金", converter = CustomFenToYuanConverter.class) @NumberFormat("#0.00") private Integer agentMoney; @ExcelProperty("续费时长(年)") @ApiModelProperty(value = "数量") private Integer size; @ExcelProperty(value = "支付方式", converter = DictConvert.class) @DictFormat(DictConsts.ORDER_PAY_TYPE) @ApiModelProperty(value = "支付方式") private Integer payType; @ExcelProperty(value = "支付状态", converter = DictConvert.class) @DictFormat(DictConsts.ORDER_MERC_MANAGE_STATUS) @ApiModelProperty(value = "支付状态") private Integer status; @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; @ApiModelProperty(value = "状态") @ExcelProperty("过期状态说明") private String timeoutStatus; } @Data @Accessors(chain = true) public static class PageByTopMercVO { @ApiModelProperty(value = "过期时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime timeout; @ApiModelProperty(value = "过期状态说明") private String timeoutStatus; @ApiModelProperty(value = "id") private Long id; @ApiModelProperty(value = "订单id") private String orderId; @ApiModelProperty(value = "流量卡id") private String simId; @ApiModelProperty(value = "商户id") private Long mercId; @ApiModelProperty(value = "金额") private Integer money; @ApiModelProperty(value = "代理商金额") private Integer agentMoney; @ApiModelProperty(value = "数量") private Integer size; @ApiModelProperty(value = "支付方式") private Integer payType; @ApiModelProperty(value = "状态") private Integer status; @ApiModelProperty(value = "备注") private String note; @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; @ApiModelProperty(value = "附件") private String files; @ApiModelProperty(value = "商户名称") private String mercName; } @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 curMercId; @ApiModelProperty(value = "指定商户id") private Long chooseMercId; @ApiModelProperty(value = "id") private Long id; @ApiModelProperty(value = "订单id") private String orderId; @ApiModelProperty(value = "流量卡id") private String simId; @ApiModelProperty(value = "金额") private Integer money; @ApiModelProperty(value = "数量") private Integer size; @ApiModelProperty(value = "支付方式") private Integer payType; @ApiModelProperty(value = "状态") private Integer status; @ApiModelProperty(value = "备注") private String note; @ApiModelProperty(value = "附件") private String files; //size -1 不分页 public PageBean getPage() { if (!this.exportPage) { this.page.setSize(-1L); } return page; } } @Data @Accessors(chain = true) public static class Vo { @ApiModelProperty(value = "id") private Long id; @ApiModelProperty(value = "订单id") private String orderId; @ApiModelProperty(value = "流量卡id") private String simId; @ApiModelProperty(value = "商户id") private Long mercId; @ApiModelProperty(value = "金额") private Integer money; @ApiModelProperty(value = "数量") private Integer size; @ApiModelProperty(value = "支付方式") private Integer payType; @ApiModelProperty(value = "状态") private Integer status; @ApiModelProperty(value = "备注") private String note; @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; @ApiModelProperty(value = "附件") private String files; @ApiModelProperty(value = "商户名称") private String mercName; } @Data @Accessors(chain = true) public static class MoonCount { @ApiModelProperty(value = "商户id") private List mercIds; @ApiModelProperty(value = "统计时间-起 yyyy-MM") private String beginDate; @ApiModelProperty(value = "统计时间-始 yyyy-MM") private String endDate; } @Data @Accessors(chain = true) public static class MoonCountVo { @ApiModelProperty(value = "统计时间 yyyy-MM") private String date; @ApiModelProperty(value = "商户id") private Long mercId; @ApiModelProperty(value = "商户名称") private String mercName; @ApiModelProperty(value = "卡数") private Integer simSize; @ApiModelProperty(value = "续费金额") private Integer money; } @Data @Accessors(chain = true) public static class MoonCountPage { @ApiModelProperty(value = "分页对象") private PageBean page; @ApiModelProperty(value = "商户id") private List mercIds; @ApiModelProperty(value = "统计时间-起 yyyy-MM-dd") private String beginDate; @ApiModelProperty(value = "统计时间-始 yyyy-MM-dd") private String endDate; } }