account.go 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. package account
  2. import (
  3. "mtp20access/global"
  4. "time"
  5. )
  6. // Loginaccount 登录账户表
  7. type Loginaccount struct {
  8. LOGINID int64 `json:"loginid" xorm:"LOGINID"` // 登陆账号
  9. USERID int64 `json:"userid" xorm:"USERID"` // 用户ID
  10. LOGINFAILNUM int32 `json:"loginfailnum" xorm:"LOGINFAILNUM"` // 连续登录失败次数(登录成功时清零)
  11. PASSWORD string `json:"password" xorm:"PASSWORD"` // 登陆密码
  12. LOGINUSERTYPE int32 `json:"loginusertype" xorm:"LOGINUSERTYPE"` // 登录账号类型 - 1:投资者 2:机构交易员
  13. LOGINSTATUS int32 `json:"loginstatus" xorm:"LOGINSTATUS"` // 登录账号状态 1:正常 2:冻结(停用) 3:无效(注销)
  14. LASTLOGINTIME time.Time `json:"lastlogintime" xorm:"LASTLOGINTIME"` // 最新登录时间
  15. LASTLOGINMODE int32 `json:"lastloginmode" xorm:"LASTLOGINMODE"` // 最新登录方式(客户端类型) - 0:保留为未填终端类型 1:PC管理端 2:PC交易端 3:手机客户端_安卓 4:网页客户端 5:微信客户端 6:手机客户端_苹果 7:网上开户客户端 8:无效终端编号 9:报价终端(中江)
  16. LASTLOGINIP string `json:"lastloginip" xorm:"LASTLOGINIP"` // 最新登录地址
  17. LOGINPORT int32 `json:"loginport" xorm:"LOGINPORT"` // 最新登录端口
  18. LASTLOGINREMARK string `json:"lastloginremark" xorm:"LASTLOGINREMARK"` // 最新登录描述
  19. MODIFYTIME time.Time `json:"modifytime" xorm:"MODIFYTIME"` // 修改时间
  20. MODIFIERID int64 `json:"modifierid" xorm:"MODIFIERID"` // 修改人
  21. PWDWRONGCOUNT int32 `json:"pwdwrongcount" xorm:"PWDWRONGCOUNT"` // 密码错误次数
  22. UNFREEZETIME time.Time `json:"unfreezetime" xorm:"UNFREEZETIME"` // 账户解冻时间
  23. HASLOGINED int32 `json:"haslogined" xorm:"HASLOGINED"` // 是否已登录 - 0:未登录 1:已登录
  24. HASUPDATEDPWD int32 `json:"hasupdatedpwd" xorm:"HASUPDATEDPWD"` // 是否已更改密码 - 0:未修改 1:已修改
  25. LOGINCODE string `json:"logincode" xorm:"LOGINCODE"` // 登录代码
  26. CANOUTIN int32 `json:"canoutin" xorm:"CANOUTIN"` // 是否可出入金 - 0:不可 1:可
  27. CLIENTROLEID int32 `json:"clientroleid" xorm:"CLIENTROLEID"` // 终端角色ID
  28. TAACCOUNTRIGHTTYPE int32 `json:"taaccountrighttype" xorm:"TAACCOUNTRIGHTTYPE"` // 资金账号权限类型 - 1:不选默认为所有权限 2:不选默认为无权限
  29. MOBILE string `json:"mobile" xorm:"MOBILE"` // 手机号码(加密存储)
  30. ACCOUNTNAME string `json:"accountname" xorm:"ACCOUNTNAME"` // 账户名称
  31. MODIFYSRC int32 `json:"modifysrc" xorm:"MODIFYSRC"` // 修改人来源 - 1:管理端 2:终端
  32. RELATEDUSERID int64 `json:"relateduserid" xorm:"RELATEDUSERID"` // 关联用户ID(机构)
  33. SUBJECTID int64 `json:"subjectid" xorm:"SUBJECTID"` // 所属部门(管理部门)
  34. }
  35. // TableName is LOGINACCOUNT
  36. func (r *Loginaccount) TableName() string {
  37. return "LOGINACCOUNT"
  38. }
  39. // Get 根据条件获取登录账户表信息
  40. func (r *Loginaccount) Get() (has bool, err error) {
  41. return global.M2A_DB.Get(r)
  42. }
  43. // Taaccount 资金账户表 - 导历史
  44. type Taaccount struct {
  45. ACCOUNTID int64 `json:"accountid" xorm:"ACCOUNTID"` // 资金账户ID
  46. USERID int64 `json:"userid" xorm:"USERID"` // 用户ID
  47. CURRENCYID int64 `json:"currencyid" xorm:"CURRENCYID"` // 货币ID
  48. CHANGEFLAG int32 `json:"changeflag" xorm:"CHANGEFLAG"` // 变动标志(当前账户资金有任何变动更新为1系统结算时更新0;供清算时使用) 0:无变动 1:有变动
  49. PASSWORD string `json:"password" xorm:"PASSWORD"` // 资金密码
  50. TRADESTATUS int32 `json:"tradestatus" xorm:"TRADESTATUS"` // 交易状态 - 1:正常 2:受限 3:冻结(停用) 4:禁止建仓(人工受限) 5:禁止交易(人工冻结) 6:待激活 7:已删除(注销)
  51. SIGNSTATUS int32 `json:"signstatus" xorm:"SIGNSTATUS"` // 签约状态 - 1:未签约 2:签约待审核 3:签约中 4:已签约 5:解约待审核 6:解约中 7:已解约 8:已解绑 9:绑卡中
  52. ISMAIN int32 `json:"ismain" xorm:"ISMAIN"` // 是否母账号 0:不是母账户 1:是母账户
  53. PARENTACCOUNTID int64 `json:"parentaccountid" xorm:"PARENTACCOUNTID"` // 所属根账号
  54. RELATEDUSERID int64 `json:"relateduserid" xorm:"RELATEDUSERID"` // 关联用户
  55. RELATEDACCOUNTSTATUS int32 `json:"relatedaccountstatus" xorm:"RELATEDACCOUNTSTATUS"` // 关联用户交易权限状态 - 1:正常(可交易) 2:受限(可平仓,不可建仓) 3:冻结(不可交易)
  56. TAACCOUNTTYPE int32 `json:"taaccounttype" xorm:"TAACCOUNTTYPE"` // 账号类型 - 1:外部账号 2:内部账号 3:内部做市自营账号 4:内部做市接单账号
  57. ISRECKONACCOUNT int32 `json:"isreckonaccount" xorm:"ISRECKONACCOUNT"` // 是否机构分润账号 0:不是 1:是
  58. ISMARKETACCOUNT int32 `json:"ismarketaccount" xorm:"ISMARKETACCOUNT"` // 是否机构接单账号 0:不是 1:是
  59. BALANCE float64 `json:"balance" xorm:"BALANCE"` // 期初余额
  60. ORIFREEZEMARGIN float64 `json:"orifreezemargin" xorm:"ORIFREEZEMARGIN"` // 期初冻结保证金
  61. ORIUSEDMARGIN float64 `json:"oriusedmargin" xorm:"ORIUSEDMARGIN"` // 期初占用保证金
  62. ORIOTHERFREEZEMARGIN float64 `json:"oriotherfreezemargin" xorm:"ORIOTHERFREEZEMARGIN"` // 期初其他冻结保证金(出金冻结资金 交割买方冻结 申购冻结 全款买入 商城买入)
  63. ORIFREEZECHARGE float64 `json:"orifreezecharge" xorm:"ORIFREEZECHARGE"` // 期初手续费冻结
  64. ORIMORTGAGECREDIT float64 `json:"orimortgagecredit" xorm:"ORIMORTGAGECREDIT"` // 期初授信金额
  65. ORIOTHERCREDIT float64 `json:"oriothercredit" xorm:"ORIOTHERCREDIT"` // 期初其它授信金额
  66. ORIOUTAMOUNTFREEZE float64 `json:"orioutamountfreeze" xorm:"ORIOUTAMOUNTFREEZE"` // 期初出金冻结
  67. FREEZEMARGIN float64 `json:"freezemargin" xorm:"FREEZEMARGIN"` // 冻结保证金
  68. USEDMARGIN float64 `json:"usedmargin" xorm:"USEDMARGIN"` // 占用保证金
  69. OTHERFREEZEMARGIN float64 `json:"otherfreezemargin" xorm:"OTHERFREEZEMARGIN"` // 其他冻结保证金(交割买方冻结 申购冻结 全款买入 商城买入)
  70. FREEZECHARGE float64 `json:"freezecharge" xorm:"FREEZECHARGE"` // 手续费冻结
  71. MORTGAGECREDIT float64 `json:"mortgagecredit" xorm:"MORTGAGECREDIT"` // 授信金额
  72. OTHERCREDIT float64 `json:"othercredit" xorm:"OTHERCREDIT"` // 其它授信金额
  73. OUTAMOUNTFREEZE float64 `json:"outamountfreeze" xorm:"OUTAMOUNTFREEZE"` // 出金冻结
  74. INAMOUNT float64 `json:"inamount" xorm:"INAMOUNT"` // 今日入金金额(包括三方入金)
  75. CURRENTBALANCE float64 `json:"currentbalance" xorm:"CURRENTBALANCE"` // 期末余额
  76. OUTAMOUNT float64 `json:"outamount" xorm:"OUTAMOUNT"` // 今日出金金额(包括三方出金)
  77. PAYCHARGE float64 `json:"paycharge" xorm:"PAYCHARGE"` // 今日手续费支出
  78. CLOSEPL float64 `json:"closepl" xorm:"CLOSEPL"` // 今日平仓盈亏
  79. CREDITINCREASE float64 `json:"creditincrease" xorm:"CREDITINCREASE"` // 今日授信增加
  80. CREDITDECREASE float64 `json:"creditdecrease" xorm:"CREDITDECREASE"` // 今日授信减少
  81. OTHERCREDITINCREASE float64 `json:"othercreditincrease" xorm:"OTHERCREDITINCREASE"` // 今日其它授信增加
  82. OTHERCREDITDECREASE float64 `json:"othercreditdecrease" xorm:"OTHERCREDITDECREASE"` // 今日其它授信减少
  83. TRANSFERAMOUNT float64 `json:"transferamount" xorm:"TRANSFERAMOUNT"` // 今日划转金额(母子账号资金划转,从划入账号为正,从账号划出为负)
  84. OTHERPAY float64 `json:"otherpay" xorm:"OTHERPAY"` // 其他支出(交割付款 申购付款 全款买入 商城买入 卖家退货)
  85. OTHERINCOME float64 `json:"otherincome" xorm:"OTHERINCOME"` // 其他收入(交割收款 申购收款 全款卖出 商城卖出 买家退货 会员手续费收入)
  86. OUTTHRESHOLD float64 `json:"outthreshold" xorm:"OUTTHRESHOLD"` // 出金阈值
  87. TRADESTATUSCHANGETIME time.Time `json:"tradestatuschangetime" xorm:"TRADESTATUSCHANGETIME"` // 激活时间
  88. CHANGETIME time.Time `json:"changetime" xorm:"CHANGETIME"` // 账户状态变更时间
  89. THIRDINAMOUNT float64 `json:"thirdinamount" xorm:"THIRDINAMOUNT"` // 今日三方入金
  90. THIRDOUTAMOUNT float64 `json:"thirdoutamount" xorm:"THIRDOUTAMOUNT"` // 今日三方出金
  91. CAPITALBALANCE float64 `json:"capitalbalance" xorm:"CAPITALBALANCE"` // 本金余额[外部子母账户实际出入金余额]
  92. FROMACCOUNTID int64 `json:"fromaccountid" xorm:"FROMACCOUNTID"` // 所属上级账户
  93. SUBLEVELPATH string `json:"sublevelpath" xorm:"SUBLEVELPATH"` // 账号层级路径(逗号分隔,首尾加逗号)
  94. SERIVCEGROUP int64 `json:"serivcegroup" xorm:"SERIVCEGROUP"` // 服务分组
  95. ACCOUNTNAME string `json:"accountname" xorm:"ACCOUNTNAME"` // 账户名称
  96. ACCOUNTFLAG int32 `json:"accountflag" xorm:"ACCOUNTFLAG"` // 账户标识 - 0\1 (默认为0, 当上级账户与本账户的关联用户均为自己时更新为1)
  97. ORIDEBT float64 `json:"oridebt" xorm:"ORIDEBT"` // 期初欠款
  98. CURDEBT float64 `json:"curdebt" xorm:"CURDEBT"` // 期末欠款
  99. MODIFYTIME time.Time `json:"modifytime" xorm:"MODIFYTIME"` // 修改时间
  100. MODIFYSRC int32 `json:"modifysrc" xorm:"MODIFYSRC"` // 修改来源 - 1:管理端 2:终端
  101. MODIFIERID int64 `json:"modifierid" xorm:"MODIFIERID"` // 修改人
  102. }
  103. // TableName is TAACCOUNT
  104. func (r *Taaccount) TableName() string {
  105. return "TAACCOUNT"
  106. }
  107. // Logintaaccount 登录账户资金权限表
  108. type Logintaaccount struct {
  109. LOGINID int64 `json:"loginid" xorm:"LOGINID"` // 登录账号ID
  110. ACCOUNTID int64 `json:"accountid" xorm:"ACCOUNTID"` // 资金账号ID
  111. MODIFYTIME time.Time `json:"modifytime" xorm:"MODIFYTIME"` // 修改时间
  112. MODIFIERID int64 `json:"modifierid" xorm:"MODIFIERID"` // 修改人
  113. }
  114. // TableName is LOGINTAACCOUNT
  115. func (r *Logintaaccount) TableName() string {
  116. return "LOGINTAACCOUNT"
  117. }
  118. // Userauthinfo 用户三方登录信息表
  119. type Userauthinfo struct {
  120. AUTHID string `json:"authid" xorm:"AUTHID"` // 三方认证IID - 手机号时存储加密串
  121. AUTHTYPE int32 `json:"authtype" xorm:"AUTHTYPE"` // 三方认证类型 - 1:微信 2:支付宝 3:手机号 4:管理员账号
  122. LOGINID int64 `json:"loginid" xorm:"LOGINID"` // 登陆账号
  123. USERID int64 `json:"userid" xorm:"USERID"` // 用户ID
  124. AUTHNAME string `json:"authname" xorm:"AUTHNAME"` // 三方认证I昵称
  125. ISVALID int32 `json:"isvalid" xorm:"ISVALID"` // 是否有效 - 0:无效 1:有效
  126. }
  127. // TableName is USERAUTHINFO
  128. func (r *Userauthinfo) TableName() string {
  129. return "USERAUTHINFO"
  130. }