package cn.pluss.platform.vo;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

@Data
@Accessors(chain = true)
public class AgentInfo {
    private Long userId;

    private Long parentId;

    /**
     * {@link cn.pluss.platform.entity.UserApp}
     */
    private String autoAudit;

    /**
     * {@link cn.pluss.platform.entity.UserApp}
     */
    private String payEcdemicSwitch;

    /**
     * {@link cn.pluss.platform.entity.UserApp}
     */
    private String isMarket;

    /**
     * {@link cn.pluss.platform.entity.UserApp}
     */
    private String isUnionPay;

    /**
     * 来自表user_info
     * 总收益
     */
    private BigDecimal sumPrice;
    /**
     * 上月收益
     */
    private BigDecimal beforeMonthPrice;
    /**
     * 本月收益
     */
    private BigDecimal nowMonthPrice;
    /**
     * 提现金额
     */
    private BigDecimal cashAmt;
    /**
     * 余额
     */
    private BigDecimal surplusPrice;
    @NotNull(message = "登录账号不能为空")
    private String loginName;

    /**
     * 来自user_info
     */
    @NotNull(message = "手机号不能为空")
    private String phone;
    /**
     * 来自表 user_app
     */
    private String userName;

    /**
     * 状态：1是有效，0是无效，-1是删除
     */
    private Integer status;

    /**
     * 密码
     */
    private String password;

    /**
     * 备注信息
     */
    private String remark;

    /**
     * 浮动费率
     */
    private BigDecimal rate;

    /**
     * 是否为浮动费率
     */
    private String isFixedRate;

    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTimeStart;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTimeEnd;


    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTimeStart;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTimeEnd;
}