package com.crm.rely.backend.core.pojo.table;

import com.crm.rely.backend.core.pojo.BaseTable;
import lombok.Data;

import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Date;

/**
 * 跟单日统计信息
 *
 * @author y
 * @create 2022/3/31
 */
@Data
@Entity
@Table(name = "follow_daily")
public class FollowDailyTable extends BaseTable {

    /**
     * 交易账号
     */
    private Long login;
    /**
     * 客户ID
     */
    private Long customId;
    /**
     * 客户CID
     */
    private Long cId;
    /**
     * 代理ID
     */
    private Long agentId;
    /**
     * 销售ID
     */
    private Long salesId;
    /**
     * 信号源账号
     */
    private Long dealLogin;
    /**
     * 品种类型
     */
    private Integer symbolType;
    /**
     * 日净盈利
     */
    private Float profit;
    /**
     * 日盈利
     */
    private Float win;
    /**
     * 日亏损
     */
    private Float loss;
    /**
     * 日总手数
     */
    private Float volume;
    /**
     * 日总盈利手数
     */
    private Float winVolume;
    /**
     * 日总亏损手数
     */
    private Float lossVolume;
    /**
     * 日总单数
     */
    private Integer orderAmount;
    /**
     * 日总盈利单数
     */
    private Integer winOrderAmount;
    /**
     * 日总亏损单数
     */
    private Integer lossOrderAmount;
    /**
     * 日期开始净值
     */
    private Float startEquality;
    /**
     * 日期结束净值
     */
    private Float endEquality;
    /**
     * 日入金
     */
    private Float deposit;
    /**
     * 日出金
     */
    private Float withdrawal;
    /**
     * 日期
     */
    private Date date;
    /**
     * 最大盈利额
     */
    private Float maxWin;
    /**
     * 最大亏损额
     */
    private Float maxLoss;
    /**
     * 最大盈利单手数
     */
    private Float maxWinVolume;
    /**
     * 最大亏损单手数
     */
    private Float maxLossVolume;
    /**
     * 最大盈利持仓时间
     */
    private Long maxWinTime;
    /**
     * 最大亏损持仓时间
     */
    private Long maxLossTime;
    /**
     * 最大手数
     */
    private Float maxVolume;

    private Float minEquity;

    private Float maxEquity;

    private Float minBalance;

    private Float maxBalance;


    public static FollowDailyTable getInstance(){
        FollowDailyTable table = new FollowDailyTable();
        table.setProfit(0F);
        table.setWin(0F);
        table.setLoss(0F);
        table.setVolume(0F);
        table.setWinVolume(0F);
        table.setLossVolume(0F);
        table.setOrderAmount(0);
        table.setWinOrderAmount(0);
        table.setLossOrderAmount(0);
        table.setStartEquality(0F);
        table.setEndEquality(0F);
        table.setDeposit(0F);
        table.setWithdrawal(0F);
        table.setMaxWin(0F);
        table.setMaxLoss(0F);
        table.setMaxWinVolume(0F);
        table.setMaxWinTime(0L);
        table.setMaxLossVolume(0F);
        table.setMaxLossTime(0L);
        table.setMaxVolume(0F);
        table.setMinBalance(0F);
        table.setMaxBalance(0F);
        table.setMinEquity(0F);
        table.setMaxEquity(0F);
        return table;
    }

}
