package com.tmerclub.cloud.api.user.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * @author TRACK
 */
@Data
public class FinanceDetailDTO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    @Schema(description = "开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    @Schema(description = "结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    @Schema(description = "订单号")
    private Long orderId;

    /**
     * @see com.tmerclub.cloud.common.constant.PayType
     */
    @Schema(description = "支付方式 -1不限 0积分 1微信 2支付宝...")
    @NotNull(message = "支付方式不能为空")
    private Integer payType;

    @Schema(description = "语言")
    private Integer lang;

    @Schema(description = "请求财务类型：1.订单支付 2.退款 3.余额充值 4.会员购买")
    private Integer financeBizType;

    @Schema(description = "当前页")
    private Integer pageNum;

    @Schema(description = "每页大小")
    private Integer pageSize;

    @Schema(description = "支付系统类型")
    private Integer paySysType;

    @Override
    public String toString() {
        return "FinanceDetailDTO{" +
                "startTime=" + startTime +
                ", endTime=" + endTime +
                ", orderId=" + orderId +
                ", payType=" + payType +
                ", lang=" + lang +
                ", financeBizType=" + financeBizType +
                ", pageNum=" + pageNum +
                ", pageSize=" + pageSize +
                ", paySysType=" + paySysType +
                '}';
    }
}
