import { AccountListItem } from '@/services/dataCenter/interafce/account';
import { Marketrun } from '@/services/go/commonMarket/interface';
import { Loginaccount, Useraccount, Userinfo } from '@/services/go/useInfo/interface';


/**
 * 用户信息模型类
 */
export class UserInfoModel implements Userinfo {
    address = '';
    attachment1 = '';
    attachment2 = '';
    bankaccount = '';
    bankaccountname = '';
    bankcardfrontphotourl = '';
    bankid = '';
    bankname = '';
    biznature = 0;
    bizscope = '';
    cardbackphotourl = '';
    cardfrontphotourl = '';
    cardnum = '';
    cardtypeid = 0;
    cityid = 0;
    company = '';
    contactname = '';
    countryid = 0;
    createtime = '';
    creatorid = 0;
    customername = '';
    districtid = 0;
    email = '';
    fax = '';
    halfbodyphotourl = '';
    hasencrypt = 0;
    headurl = '';
    legalcardbackphotourl = '';
    legalcardfrontphotourl = '';
    legalpersonname = '';
    mobile = '';
    mobile2 = '';
    modifierid = 0;
    modifiertime = '';
    needinvoice: 1;
    nickname = '';
    openmode = 0;
    otherurl = '';
    postalcode = '';
    provinceid = 0;
    qq = '';
    remark = '';
    sex = 0;
    signpdfurl = '';
    telphone = '';
    userid = 0;
    userinfotype = 0;
    userstatus = 0;
    usertype = 0;
    wechat = '';
    wskhinfo = '';
}

export class LoginaccountModel implements Loginaccount {
    canoutin = 0;
    clientroleid = 0;
    haslogined = 0;
    hasupdatedpwd = 0;
    lastloginip = '';
    lastloginmode = 0;
    lastloginremark = '';
    lastlogintime = '';
    logincode = '';
    loginfailnum = 0;
    loginid = 0;
    loginport = 0;
    loginstatus = 0;
    loginusertype = 0;
    modifierid = 0;
    modifytime = '';
    pwdwrongcount = 0;
    taaccountrighttype = 0;
    unfreezetime = '';
    userid = 0;
}
export class UserAccountModel implements Useraccount {
    accountname = '';
    accountstatus = 0;
    auditremark = '';
    audittime = '';
    audituserid = 0;
    broker = 0;
    canceltime = '';
    canceluserid = 0;
    createtime = '';
    creatorid = 0;
    hasauth = 0;
    isanonymous = 0;
    maxinvestornum = 0;
    memberuserid = 0;
    modifierid = 0;
    modifyremark = '';
    modifystatus = 0;
    modifytime = '';
    parentuserid = 0;
    reckonaccountid = 0;
    refercount = 0;
    refereeuserid = 0;
    refernum = '';
    subarealevelpath = '';
    userid = 0;
    usertype = 0;
}


export class MarketrunModal implements Marketrun {
    afternexttradedate = ''; //下下交易日
    clearquoteflag = 0;//行情清盘标志- 1:未发送 2:已发送 3:已回复
    lastreckondate = '';//最新交易日(结算成功)
    machinedate = '';//机器时间
    manualflag = 0;//手动开市标志- number;
    //:否 1:是 (市场为手动时，是否触发了手动开市标志)
    marketid = 0;//市场ID
    nexttradedate = '';//下一交易日
    pretradedate = '';//上一交易日
    reckonflag = 0;//结算标识 - number;
    //: 停止结算 1: 正常(管理端控制此字段，交易服务根据此字段判断是否做结算)
    runstatus = 1;//运行状态 - number;
    //:初始化 1:待开市 2:开市 3:休市 4:手工休市 5:闭市 6:确认行权开始 7:确认行权结束 1number;
    //:日终处理开始 11:日终处理成功 12:日终处理失败 13基础服务结算开始 14基础服务结算成功 23.资金结算开始 24.资金结算成功 25.资金结算失败 26.系统结算成功 27.系统结算失败 28.盘中处理开始 29.盘中处理成功 3number;
    //.盘中处理失败 31.资金结算开始(内) 32.资金结算成功(内) 33.资金结算失败(内) 4number;
    //.签到开始 41.签到成功 42.签到部份成功 43.签到失败 44.签退开始 45.签退成功 46.签退部份成功 47.签退失败 48.对账开始 49.对账成功 5number;
    //.对账失败 51.清算开始 52.清算成功 53.清算失败 54.清算部分成功 55. 系统结算开始 62.今日免清算
    sectionid = 0;//时间段号[多时段时用]
    tradedate = '';//当前交易日(服务) 资金结算完成即变更，供交易服务使用
    tradedate2 = '';//当前交易日(行情) 在第一个市场待开市时变更为TradeDate，供行情及终端系统使用
    updatetime = '';//更新时间
}

export class SelectedAccountModel implements AccountListItem {
    accountflag = 0;//账户标识 - number;
    //\1 (默认为number;
    //， 当上级账户与本账户的关联用户均为自己时更新为1)
    accountid = 0;//资金账户ID
    accountname = '';//账户名称
    balance = 0;//期初余额
    capitalbalance = 0;//本金余额[外部子账户实际出入金余额]
    changeflag = 0;//变动标志(当前账户资金有任何变动更新为1系统结算时更新number;
    //;供清算时使用) number;
    //：无变动 1：有变动
    changetime = '';//账户状态变更时间
    closepl = 0;//今日平仓盈亏
    creditdecrease = 0;//今日授信减少
    creditincrease = 0;//今日授信增加
    currencyid = 0;//货币ID
    currentbalance = 0;//期末余额
    freezecharge = 0;//手续费冻结
    freezemargin = 0;//冻结保证金
    fromaccountid = 0;//所属上级账户
    inamount = 0;//今日入金金额(包括三方入金)
    ismain = 0;//是否母账号 number;
    //:不是母账户 1:是母账户
    ismarketaccount = 0;//是否机构接单账号 number;
    //:不是 1:是
    isreckonaccount = 0;//是否机构分润账号 number;
    //:不是 1:是
    mortgagecredit = 0;//授信金额
    orifreezecharge = 0;//期初手续费冻结
    orifreezemargin = 0;//期初冻结保证金
    orimortgagecredit = 0;//期初授信金额
    oriothercredit = 0;//期初其它授信金额
    oriotherfreezemargin = 0;//期初其他冻结保证金(出金冻结资金 交割买方冻结 申购冻结 全款买入 商城买入)
    orioutamountfreeze = 0;//期初出金冻结
    oriusedmargin = 0;//期初占用保证金
    othercredit = 0;//其它授信金额
    othercreditdecrease = 0;//今日其它授信减少
    othercreditincrease = 0;//今日其它授信增加
    otherfreezemargin = 0;//其他冻结保证金(交割买方冻结 申购冻结 全款买入 商城买入)
    otherincome = 0;//其他收入(交割收款 申购收款 全款卖出 商城卖出 买家退货 会员手续费收入)
    otherpay = 0;//其他支出(交割付款 申购付款 全款买入 商城买入 卖家退货)
    outamount = 0;//今日出金金额(包括三方出金)
    outamountfreeze = 0;//出金冻结
    outthreshold = 0;//出金阈值
    parentaccountid = 0;//所属根账号
    paycharge = 0;//今日手续费支出
    relatedaccountstatus = 0;//关联用户交易权限状态 - 1:正常(可交易) 2:受限(可平仓，不可建仓) 3:冻结(不可交易)
    relateduserid = 0;//关联用户
    serivcegroup = 0;//服务分组
    signstatus = 0;//签约状态 - 1:未签约 2:签约待审核 3:签约中 4:已签约 5:解约待审核 6:解约中 7:已解约 8:已解绑 9:绑卡中
    sublevelpath = '';//账号层级路径(逗号分隔,首尾加逗号)
    taaccounttype = 0;//账号类型 - 1:外部账号 2:内部账号 3:内部做市自营账号 4:内部做市接单账号
    thirdinamount = 0;//今日三方入金
    thirdoutamount = 0;//今日三方出金
    tradestatus = 0;//交易状态 - 1:正常 2:受限 3:冻结 4:禁止建仓(人工受限) 5:禁止交易(人工冻结) 6:待激活 7:已注销
    tradestatuschangetime = '';//激活时间
    transferamount = 0;//今日划转金额(母子账号资金划转，从划入账号为正，从账号划出为负)
    usedmargin = 0;//占用保证金
    userid = 0;//用户ID
}