package com.yami.trading.bean.trader.domain;
|
|
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.yami.trading.common.domain.BaseEntity;
|
import lombok.Data;
|
import lombok.extern.slf4j.Slf4j;
|
|
import java.math.BigDecimal;
|
|
/**
|
* 用户跟随交易员详情表
|
*/
|
@Data
|
@TableName("T_TRADER_FOLLOW_USER")
|
@Slf4j
|
public class TraderFollowUser extends BaseEntity {
|
|
public static final String FOLLOW_TYPE_FIXED = "1";
|
|
public static final String STATE_FOLLOWING = "1";
|
|
public static final String STATE_STOPPED = "2";
|
|
public static final String STATE_STOPPING = "3";
|
|
public static final String STATE_FAILED = "4";
|
|
private static final long serialVersionUID = -1617033543659508052L;
|
|
@TableField("PARTY_ID")
|
private String partyId;
|
/**
|
* 用户名
|
*/
|
@TableField("USERNAME")
|
private String username;
|
|
/**
|
* 交易员partyId TRADER_PARTYID
|
*/
|
@TableField("TRADER_PARTY_ID")
|
private String traderPartyId;
|
|
/**
|
* 跟随购买品种 symbol
|
*/
|
@TableField("SYMBOL")
|
private String symbol;
|
|
/**
|
* 跟单方式。当前仅支持固定币数量模式
|
*/
|
@TableField("FOLLOW_TYPE")
|
private String followType = FOLLOW_TYPE_FIXED;
|
/**
|
* 状态 1-跟随中 2-已停止 3-停止中
|
*/
|
@TableField("STATE")
|
private String state = STATE_FOLLOWING;
|
|
/**
|
* 最小跟单币数量
|
*/
|
@TableField("VOLUME")
|
private double volume;
|
/**
|
* 最大跟单币数量
|
*/
|
@TableField("VOLUME_MAX")
|
private double volumeMax;
|
|
/**
|
* 跟随者自定义杠杆倍数(需已执行 docs/db/V5__follow_leverage_support.sql 增加 LEVER_RATE 列)
|
*/
|
@TableField("LEVER_RATE")
|
private double leverRate = 1D;
|
|
/**
|
* 跟单投入币数量(新模型核心字段)
|
*/
|
@TableField("INVEST_AMOUNT")
|
private BigDecimal investAmount = BigDecimal.ZERO;
|
|
/**
|
* 累计跟单收益 PROFIT
|
*/
|
@TableField("PROFIT")
|
private double profit;
|
/**
|
* 累计跟单本金 AMOUNT_SUM
|
*/
|
@TableField("AMOUNT_SUM")
|
private double amountSum;
|
|
/**
|
* 止盈百分比
|
*/
|
@TableField("STOP_PFOFIT")
|
private double stopProfit;
|
/**
|
* 止损百分比
|
*/
|
@TableField("STOP_LOSS")
|
private double stopLoss;
|
|
/**
|
* 止盈百分比
|
*/
|
@TableField("DAYS_SETTING")
|
private String daysSetting;
|
|
/**
|
* 请求停止跟单时间戳(秒)
|
*/
|
@TableField("STOP_REQUEST_TIME")
|
private Long stopRequestTime;
|
|
/**
|
* 停止跟单完成时间戳(秒)
|
*/
|
@TableField("STOP_FINISH_TIME")
|
private Long stopFinishTime;
|
|
/**
|
* 月固定跟单费已缴纳到的自然月 yyyy-MM(同月内停止后再跟单不重复扣)
|
*/
|
@TableField("MONTHLY_FEE_PAID_PERIOD")
|
private String monthlyFeePaidPeriod;
|
|
/**
|
* 最近一次跟单失败原因(如余额不足)
|
*/
|
@TableField("FAIL_REASON")
|
private String failReason;
|
|
/**
|
* 最近一次跟单失败时间戳(秒)
|
*/
|
@TableField("LAST_FAIL_TIME")
|
private Long lastFailTime;
|
|
@TableField(exist = false)
|
private String userCode;
|
|
@TableField(exist = false)
|
private String traderUserCode;
|
|
@TableField(exist = false)
|
private String traderName;
|
|
@TableField(exist = false)
|
private Long openOrderCount;
|
|
@TableField(exist = false)
|
private Double openOrderVolume;
|
|
@TableField(exist = false)
|
private Double openOrderProfit;
|
|
public boolean isFollowing() {
|
return STATE_FOLLOWING.equals(this.state);
|
}
|
|
public boolean isStopping() {
|
return STATE_STOPPING.equals(this.state);
|
}
|
}
|