package cn.newfeifan.mall.module.distri.controller.admin.ptprofitlog.vo;

import lombok.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.newfeifan.mall.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static cn.newfeifan.mall.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 平台利润记录分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PtProfitLogPageReqVO extends PageParam {

    @Schema(description = "增加金额")
    private Long amount;

    @Schema(description = "增加后金额")
    private Long afterAmount;

    @Schema(description = "收益类型 1:平台服务器费 2:平台收益 3用户下单返回毛利额度 4直推人额度 5合赢奖", example = "2")
    private Integer profitStatus;

    @Schema(description = "用户ID , 只有收益类型为 3,4才有值", example = "6982")
    private Long userId;

    @Schema(description = "订单Id", example = "26464")
    private Long orderId;

    @Schema(description = "订单编号")
    private String orderNo;

    @Schema(description = "计算百分比模板")
    private String percentTemplate;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

    @Schema(description = "变动的冻结积分值（可为负数）")
    private Long freezeAmount;

    @Schema(description = "变动后冻结积分钱包的余额")
    private Long afterFreezeAmount;

    @Schema(description = "最大可用积分变化值")
    private Long maxAvailablePointsAmount;

    @Schema(description = "最大可用积分额度")
    private Long afterMaxAvailablePointsAmount;

    @Schema(description = "合赢奖超出额度")
    private Long accumulatedQuotaAmount;

    @Schema(description = "直推奖超出额度")
    private Long ancestorQuotaAmount;

    @Schema(description = "游客收益")
    private Boolean visitor;

}