|
|
@@ -284,3 +284,84 @@ func GetHedgeInnerHolderDetails(goodsID, buyOrSell int) ([]Hedgeinnerholderdetai
|
|
|
|
|
|
return hedgeInnerHolderDetails, nil
|
|
|
}
|
|
|
+
|
|
|
+// QueryHedgeInnerOrderDetailRsp 企业风管内部委托单查询返回模型
|
|
|
+type QueryHedgeInnerOrderDetailRsp struct {
|
|
|
+ Orderid string `json:"orderid" xorm:"'ORDERIDSTR'"` // 委托单号(107+Unix秒时间戳(10位)+2位(MarketServiceID)+xxxx)
|
|
|
+ Tradedate string `json:"tradedate" xorm:"'TRADEDATE'"` // 交易日(yyyyMMdd)
|
|
|
+ Channelbuildtype int32 `json:"channelbuildtype" xorm:"'CHANNELBUILDTYPE'"` // 开平标志 - 0:无 1:建仓 2:平仓
|
|
|
+ Closetype int32 `json:"closetype" xorm:"'CLOSETYPE'"` // 平仓方式 - 0:无 1:平今 2:平昨
|
|
|
+ Hedgeflag int32 `json:"hedgeflag" xorm:"'HEDGEFLAG'"` // 投机套保标志 - 0:无 1:投机 2:套保 3:套利
|
|
|
+ Marketid int32 `json:"marketid" xorm:"'MARKETID'"` // 市场ID
|
|
|
+ Goodsid int32 `json:"goodsid" xorm:"'GOODSID'"` // 商品ID
|
|
|
+ Accountid int64 `json:"accountid" xorm:"'ACCOUNTID'"` // 账户ID
|
|
|
+ Buyorsell int32 `json:"buyorsell" xorm:"'BUYORSELL'"` // 买卖 - 0:买 1:卖
|
|
|
+ Pricemode int32 `json:"pricemode" xorm:"'PRICEMODE'"` // 取价方式 - 1:市价 2: 限价
|
|
|
+ Orderprice float64 `json:"orderprice" xorm:"'ORDERPRICE'"` // 委托价格(账户)
|
|
|
+ Openorderqty int64 `json:"openorderqty" xorm:"'OPENORDERQTY'"` // 委托数量
|
|
|
+ Opentradeqty int64 `json:"opentradeqty" xorm:"'OPENTRADEQTY'"` // 成交数量
|
|
|
+ Opencancelqty int64 `json:"opencancelqty" xorm:"'OPENCANCELQTY'"` // 撤单数量
|
|
|
+ Openfailqty int64 `json:"openfailqty" xorm:"'OPENFAILQTY'"` // 失败数量
|
|
|
+ Opensuccessqty int64 `json:"opensuccessqty" xorm:"'OPENSUCCESSQTY'"` // 建仓委托成功数量
|
|
|
+ Closeorderqty int64 `json:"closeorderqty" xorm:"'CLOSEORDERQTY'"` // 委托数量
|
|
|
+ Closetradeqty int64 `json:"closetradeqty" xorm:"'CLOSETRADEQTY'"` // 成交数量
|
|
|
+ Closecancelqty int64 `json:"closecancelqty" xorm:"'CLOSECANCELQTY'"` // 撤单数量
|
|
|
+ Closefailqty int64 `json:"closefailqty" xorm:"'CLOSEFAILQTY'"` // 失败数量
|
|
|
+ Closesuccessqty int64 `json:"closesuccessqty" xorm:"'CLOSESUCCESSQTY'"` // 委托成功数量
|
|
|
+ Openfreezemargin float64 `json:"openfreezemargin" xorm:"'OPENFREEZEMARGIN'"` // 冻结保证金(冻结交易金额)
|
|
|
+ Openunfreezemargin float64 `json:"openunfreezemargin" xorm:"'OPENUNFREEZEMARGIN'"` // 解冻保证金
|
|
|
+ Openfreezecharge float64 `json:"openfreezecharge" xorm:"'OPENFREEZECHARGE'"` // 建仓冻结手续费(账户)
|
|
|
+ Openunfreezecharge float64 `json:"openunfreezecharge" xorm:"'OPENUNFREEZECHARGE'"` // 建仓解冻手续费(账户)
|
|
|
+ Validtype int32 `json:"validtype" xorm:"'VALIDTYPE'"` // 有效类型 - 1当日有效
|
|
|
+ Validtime time.Time `json:"validtime" xorm:"'VALIDTIME'"` // 有效期限
|
|
|
+ Channeloperatetype int32 `json:"channeloperatetype" xorm:"'CHANNELOPERATETYPE'"` // 操作类型 - 1:正常委托 2:斩仓委托 3:强平委托
|
|
|
+ Ordertime time.Time `json:"ordertime" xorm:"'ORDERTIME'"` // 委托时间
|
|
|
+ Channelordersrc int32 `json:"channelordersrc" xorm:"'CHANNELORDERSRC'"` // 委托来源 - 1:客户端 2:风控服务 3:管理端 4:下单接口平台 5:交易服务 6:跟单服务 7:监控终端
|
|
|
+ Channelinnerorderstatus int32 `json:"channelinnerorderstatus" xorm:"'CHANNELINNERORDERSTATUS'"` // 委托状态 - 1:委托请求 2:冻结成功 3:委托失败 4:委托部成部失败 5:委托成功 6:全部撤销 7:部成部撤 8:部成部撤部失败 9:全部成交
|
|
|
+ Operatorid int64 `json:"operatorid" xorm:"'OPERATORID'"` // 登录账号(LoginID)
|
|
|
+ Updatetime time.Time `json:"updatetime" xorm:"'UPDATETIME'"` // 更新时间
|
|
|
+ Clientordertime time.Time `json:"clientordertime" xorm:"'CLIENTORDERTIME'"` // 客户端委托时间
|
|
|
+ Clientticket string `json:"clientticket" xorm:"'CLIENTTICKET'"` // 客户端流水号
|
|
|
+ UUID string `json:"uuid" xorm:"'UUID'"` // 发起端唯一id
|
|
|
+ Clienttype int32 `json:"clienttype" xorm:"'CLIENTTYPE'"` // 客户端类型 - 0:保留为未填终端类型 1:PC管理端 2:PC交易端 3:手机客户端_安卓 4:网页客户端 5:微信客户端 6:手机客户端_苹果 7:网上开户客户端 8:无效终端编号 9:报价终端(中江) 10;监控终端
|
|
|
+ Retcode int32 `json:"retcode" xorm:"'RETCODE'"` // 错误代码
|
|
|
+ Marginalgorithm int32 `json:"marginalgorithm" xorm:"'MARGINALGORITHM'"` // 保证金收取方式 1:比率 2:固定
|
|
|
+ Marginvalue float64 `json:"marginvalue" xorm:"'MARGINVALUE'"` // 即市保证金设置值
|
|
|
+ Openfeealgorithm int32 `json:"openfeealgorithm" xorm:"'OPENFEEALGORITHM'"` // 建仓手续费收取方式 1:比率 2:固定
|
|
|
+ Openchargevalue float64 `json:"openchargevalue" xorm:"'OPENCHARGEVALUE'"` // 建仓手续费设置值
|
|
|
+ Closefeealgorithm int32 `json:"closefeealgorithm" xorm:"'CLOSEFEEALGORITHM'"` // 平仓手续费收取方式 1:比率 2:固定
|
|
|
+ Closechargevalue float64 `json:"closechargevalue" xorm:"'CLOSECHARGEVALUE'"` // 平仓手续费设置值
|
|
|
+ Accountcurrencyid int32 `json:"accountcurrencyid" xorm:"'ACCOUNTCURRENCYID'"` // 账户币种ID
|
|
|
+ Goodscurrencyid int32 `json:"goodscurrencyid" xorm:"'GOODSCURRENCYID'"` // 商品币种ID
|
|
|
+ Margincurrencyid int32 `json:"margincurrencyid" xorm:"'MARGINCURRENCYID'"` // 保证金币种ID 比率时等于账户币种
|
|
|
+ Marginrate float64 `json:"marginrate" xorm:"'MARGINRATE'"` // 保证金汇率-比率时等于1
|
|
|
+ Curexchangerate float64 `json:"curexchangerate" xorm:"'CUREXCHANGERATE'"` // 当前汇率
|
|
|
+ Goodsorderprice float64 `json:"goodsorderprice" xorm:"'GOODSORDERPRICE'"` // 委托价格(商品)
|
|
|
+ Openfreezemargin2 float64 `json:"openfreezemargin2" xorm:"'OPENFREEZEMARGIN2'"` // 建仓冻结保证金(保证金/商品)
|
|
|
+ Openfreezecharge2 float64 `json:"openfreezecharge2" xorm:"'OPENFREEZECHARGE2'"` // 建仓冻结手续费(商品)
|
|
|
+ Openunfreezemargin2 float64 `json:"openunfreezemargin2" xorm:"'OPENUNFREEZEMARGIN2'"` // 建仓解冻保证金(保证金/商品)
|
|
|
+ Openunfreezecharge2 float64 `json:"openunfreezecharge2" xorm:"'OPENUNFREEZECHARGE2'"` // 建仓解冻手续费(商品)
|
|
|
+ Parentaccountid int64 `json:"parentaccountid" xorm:"'PARENTACCOUNTID'"` // 所属母账户
|
|
|
+ Sessionid int64 `json:"sessionid" xorm:"'SESSIONID'"` // 会话ID
|
|
|
+
|
|
|
+ Goodscode string `json:"goodscode" xorm:"'GOODSCODE'" binding:"required"` // 商品代码(内部)
|
|
|
+ Goodsname string `json:"goodsname" xorm:"'GOODSNAME'" binding:"required"` // 商品名称
|
|
|
+
|
|
|
+ Exchangefullname string `json:"exchangefullname" xorm:"'EXCHANGEFULLNAME'"` // 外部交易所全称
|
|
|
+}
|
|
|
+
|
|
|
+// GetHedgeInnerOrderDetails 获取指定资金账号的通道交易内部委托单信息
|
|
|
+func GetHedgeInnerOrderDetails(accountID int) ([]QueryHedgeInnerOrderDetailRsp, error) {
|
|
|
+ hedgeInnerOrderDetails := make([]QueryHedgeInnerOrderDetailRsp, 0)
|
|
|
+ if err := db.GetEngine().Table("HEDGE_INNERORDERDETAIL T").
|
|
|
+ Select("to_char(T.ORDERID) ORDERIDSTR, T.*, EX.EXCHANGEFULLNAME").
|
|
|
+ Join("LEFT", "GOODS G", "G.GOODSID = T.GOODSID").
|
|
|
+ Join("LEFT", "GOODSGROUP GG", "GG.GOODSGROUPID = G.GOODSGROUPID").
|
|
|
+ Join("LEFT", "EXTERNALEXCHANGE EX", "GG.EXEXCHANGEID = EX.AUTOID").
|
|
|
+ Where("T.ACCOUNTID = ?", accountID).Desc("T.ORDERTIME").
|
|
|
+ Find(&hedgeInnerOrderDetails); err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+
|
|
|
+ return hedgeInnerOrderDetails, nil
|
|
|
+}
|