package co.yixiang.yshop.module.distributor.controller.admin.distributor.vo;

import lombok.*;

import java.math.BigDecimal;
import java.util.*;

import io.swagger.v3.oas.annotations.media.Schema;
import co.yixiang.yshop.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

import static co.yixiang.yshop.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 DistributorPageReqVO extends PageParam {

    @Schema(description = "用户ID", example = "12876")
    private Long userId;

    @Schema(description = "真实姓名", example = "王五")
    private String realName;

    @Schema(description = "等级ID", example = "7188")
    private Long levelId;

    @Schema(description = "上级ID", example = "16998")
    private Long superiorId;

    @Schema(description = "上级名称", example = "yshop")
    private String superiorName;

    @Schema(description = "地址")
    private String address;

    @Schema(description = "申请原因", example = "不对")
    private String reason;

    @Schema(description = "拒绝原因")
    private String refuse;

    @Schema(description = "状态 0-待审核 1-已通过 2-已拒绝", example = "1")
    private Integer status;

    @Schema(description = "累计金额")
    private BigDecimal addUpAmount;

    @Schema(description = "累计佣金")
    private BigDecimal addUpWages;

    @Schema(description = "累计用户")
    private Integer addUpUser;

    @Schema(description = "累计下级经销商")
    private Integer addUpDistributor;

    /**
     * 所属一级ID
     */
    private Long superiorIdP1;
    /**
     * 上级名称
     */
    private String superiorNameP1;
    /**
     * 所属二级ID
     */
    private Long superiorIdP2;
    /**
     * 上级名称
     */
    private String superiorNameP2;

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

}
