|
|
@@ -3315,3 +3315,71 @@ func (r *Ermcp3SubTaaccount) GetDataEx() (interface{}, error) {
|
|
|
}
|
|
|
return sData, err
|
|
|
}
|
|
|
+
|
|
|
+// Ermcp3InnerTradeLink 外部成交关联的内部成交单
|
|
|
+type Ermcp3InnerTradeLink struct {
|
|
|
+ OUTTRADEID string `json:"outtradeid" xorm:"'OUTTRADEID'" form:"outtradeid"` // 外部成交单号
|
|
|
+ TRADETIME string `json:"tradetime" xorm:"'TRADETIME'"` // 关联时间 | 成交时间 ps:因为数据库表里没有关联时间, 所以取外部成交单的成交时间
|
|
|
+ TRADEID string `json:"tradeid" xorm:"'TRADEID'"` // 期货单号 | 内部成交单号(108+Unix秒时间戳(10位)+2位(MarketServiceID)+xxxx)
|
|
|
+ ACCOUNTID int64 `json:"accountid" xorm:"'ACCOUNTID'"` // 期货账号代码 | 资金账号ID
|
|
|
+ TANAME string `json:"taname" xorm:"'TANAME'"` // 期货账户名称
|
|
|
+ USERNAME string `json:"username" xorm:"'USERNAME'"` // 用户名称
|
|
|
+ GOODSID int64 `json:"goodsid" xorm:"'GOODSID'"` // 商品ID
|
|
|
+ GOODSCODE string `json:"goodscode" xorm:"'GOODSCODE'"` // 商品代码
|
|
|
+ GOODSNAME string `json:"goodsname" xorm:"'GOODSNAME'"` // 商品名称
|
|
|
+ BUYORSELL int32 `json:"buyorsell" xorm:"'BUYORSELL'"` // 方向 - 0:买 1:卖
|
|
|
+ CHANNELBUILDTYPE int32 `json:"channelbuildtype" xorm:"'CHANNELBUILDTYPE'"` // 委托单据类型 0:无 1:建仓 2:平仓
|
|
|
+ TRADEQTY int64 `json:"tradeqty" xorm:"'TRADEQTY'"` // 期货成交数量
|
|
|
+ TRADEPRICE float64 `json:"tradeprice" xorm:"'TRADEPRICE'"` // 成交价格
|
|
|
+ CURRENCYID int32 `json:"currencyid" xorm:"'CURRENCYID'"` // 币种id
|
|
|
+ CURRENCYNAME string `json:"currencyname" xorm:"'CURRENCYNAME'"` // 结算币种 名称
|
|
|
+}
|
|
|
+
|
|
|
+func (r *Ermcp3InnerTradeLink) calc() {
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+func (r *Ermcp3InnerTradeLink) buildSql() string {
|
|
|
+ var sqlId utils.SQLVal = `
|
|
|
+select to_char(k.outtradeid) outtradeid,
|
|
|
+ t.tradetime,
|
|
|
+ to_char(t.tradeid) tradeid,
|
|
|
+ t.accountid,
|
|
|
+ ta.accountname taname,
|
|
|
+ u.accountname username,
|
|
|
+ t.goodsid,
|
|
|
+ g.goodscode,
|
|
|
+ g.goodsname,
|
|
|
+ t.buyorsell,
|
|
|
+ t.channelbuildtype,
|
|
|
+ t.tradeqty,
|
|
|
+ t.tradeprice,
|
|
|
+ ta.currencyid,
|
|
|
+ e.enumdicname currencyname
|
|
|
+ from hedge_innertradedetail t
|
|
|
+ inner join hedge_outtradedetail k
|
|
|
+ on k.mhpinnertradeid = t.tradeid
|
|
|
+ left join taaccount ta
|
|
|
+ on t.accountid = ta.accountid
|
|
|
+ left join useraccount u
|
|
|
+ on ta.relateduserid = u.userid
|
|
|
+ left join goods g
|
|
|
+ on t.goodsid = g.goodsid
|
|
|
+ left join enumdicitem e
|
|
|
+ on ta.currencyid = e.enumitemname
|
|
|
+ and e.enumdiccode = 'currency'
|
|
|
+ where 1 = 1
|
|
|
+`
|
|
|
+ sqlId.AndEx("k.outtradeid", r.OUTTRADEID, r.OUTTRADEID != "")
|
|
|
+ return sqlId.String()
|
|
|
+}
|
|
|
+
|
|
|
+// GetDataEx 获取外部成交关联的内部成交单
|
|
|
+func (r *Ermcp3InnerTradeLink) GetDataEx() (interface{}, error) {
|
|
|
+ sData := make([]Ermcp3InnerTradeLink, 0)
|
|
|
+ err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
|
|
|
+ for i := range sData {
|
|
|
+ sData[i].calc()
|
|
|
+ }
|
|
|
+ return sData, err
|
|
|
+}
|