Forráskód Böngészése

持仓汇总查询(合约市场)接口(/Order/QueryTradePosition)增加交收服务商信息出参

zhou.xiaoning 1 éve
szülő
commit
017820f8da

+ 4 - 4
controllers/guangzuan/tradeService.go

@@ -18,8 +18,8 @@ import (
 // @Security Group
 // @Param    userid   query    int    true  "用户ID"
 // @Param    executestatus query    int false "执行状态 - 1:未生效 2:进行中 3:已结束"
-// @Param    page     query    int    false "页码"
-// @Param    pagesize query    int    false "每页条数"
+// @Param    page          query    int false "页码"
+// @Param    pagesize      query    int false "每页条数"
 // @Success  200           {array}  models.GzcjjcorderM
 // @Failure  500     {object} app.Response
 // @Router   /Guangzuan/QueryGZCJJCOrder [get]
@@ -39,8 +39,8 @@ func QueryGZCJJCOrder(c *gin.Context) {
 // @Security Group
 // @Param    userid        query    int true  "用户ID"
 // @Param    orderid  query    string false "单据ID"
-// @Param    page          query    int false "页码"
-// @Param    pagesize      query    int false "每页条数"
+// @Param    page     query    int    false "页码"
+// @Param    pagesize query    int    false "每页条数"
 // @Success  200      {array}  models.GzcjjcorderdetailM
 // @Failure  500           {object} app.Response
 // @Router   /Guangzuan/QueryGZCJJCOrderDetail [get]

+ 59 - 55
controllers/order/order.go

@@ -47,45 +47,47 @@ type QueryTradePositionReq struct {
 
 // QueryTradePositionRsp 持仓汇总查询返回模型(合约市场)
 type QueryTradePositionRsp struct {
-	AccountID       int64   `json:"accountid"  xorm:"'ACCOUNTID'"`                // 资金账户
-	BuyOrSell       int64   `json:"buyorsell"  xorm:"'BUYORSELL'" `               // 方向 - 0:买 1:卖
-	Goodsid         int32   `json:"goodsid"  xorm:"'GOODSID'" binding:"required"` // 商品Id
-	GoodsCode       string  `json:"goodscode" xorm:"GOODSCODE"`                   // 商品代码
-	GoodsName       string  `json:"goodsname" xorm:"GOODSNAME"`                   // 商品名称
-	AgreeUnit       float64 `json:"agreeunit"  xorm:"'AGREEUNIT'"`                // 合约单位
-	CurrencyID      int64   `json:"currencyid"  xorm:"'CURRENCYID'"`              // 报价货币ID - goods
-	TaCurrencyid    int64   `json:"tacurrencyid"  xorm:"'TACURRENCYID'"`          // 报价货币ID - taaccount
-	GoodUnitID      int64   `json:"goodunitid"  xorm:"'GOODUNITID'"`              // 报价单位ID
-	Goodunit        string  `json:"goodunit" xorm:"'GOODUNIT'"`                   // 报价单位
-	DecimalPlace    int64   `json:"decimalplace"  xorm:"'DECIMALPLACE'"`          // 报价小数位
-	MarketID        int64   `json:"marketid"  xorm:"'MARKETID'"`                  // 所属市场ID
-	TradeMode       int32   `json:"trademode"  xorm:"'TRADEMODE'"`                // 交易模式
-	PositionQTY     float64 `json:"positionqty"  xorm:"'POSITIONQTY'"`            // 期初持仓数量
-	HolderAmount    float64 `json:"holderamount"  xorm:"'HOLDERAMOUNT'"`          // 期初持仓总金额[商品币种]
-	CurPositionQTY  float64 `json:"curpositionqty"  xorm:"'CURPOSITIONQTY'"`      // 当前持仓总数量
-	CurHolderAmount float64 `json:"curholderamount"  xorm:"'CURHOLDERAMOUNT'"`    // 当前持仓总金额[商品币种]
-	FrozenQTY       float64 `json:"frozenqty"  xorm:"'FROZENQTY'"`                // 持仓冻结数量
-	OtherFrozenQTY  float64 `json:"otherfrozenqty"  xorm:"'OTHERFROZENQTY'"`      // 持仓其他冻结数量(交割冻结)
-	OpenReqQTY      float64 `json:"openreqqty"  xorm:"'OPENREQQTY'"`              // 开仓申请数量(用于比较最大持仓数量)
-	OpenTotalQTY    float64 `json:"opentotalqty"  xorm:"'OPENTOTALQTY'"`          // 开仓总数量
-	CloseTotalQTY   float64 `json:"closetotalqty"  xorm:"'CLOSETOTALQTY'"`        // 平仓总数量
-	TNQTY           float64 `json:"tnqty"  xorm:"'TNQTY'"`                        // T+N冻结总量
-	TNUsedQTY       float64 `json:"tnusedqty"  xorm:"'TNUSEDQTY'"`                // T+N使用量(可以使用T+N的冻结数量)
-	CurTDPosition   float64 `json:"curtdposition"  xorm:"'CURTDPOSITION'"`        // 期末今日头寸
-	FreTDPosition   float64 `json:"fretdposition"  xorm:"'FRETDPOSITION'"`        // 冻结今日头寸
-	EnableQTY       float64 `json:"enableqty"  xorm:"'ENABLEQTY'"`                // 可用量
-	AveragePrice    float64 `json:"averageprice" xorm:"AVERAGEPRICE"`             // 持仓均价
-	Usedmargin      float64 `json:"usedmargin"  xorm:"'USEDMARGIN'"`              // 占用保证金[商品币种]
-	QTYDECIMALPLACE int32   `json:"qtydecimalplace"`                              // 成交量小数位
-	PositionPL      float64 `json:"positionpl"`                                   // 持仓盈亏 买方向 = (最新价 - 持仓均价) * 买期末头寸 * 合约单位;卖方向 = (持仓均价 - 最新价) * 卖期末头寸 * 合约单位
-	PositionPLRate  float64 `json:"positionplrate"`                               // 持仓盈亏比例【实时行情更新】 = 持仓盈亏 / 开仓成本
-	MarketAmount    float64 `json:"marketamount"`                                 // 市值
-	LastPrice       float64 `json:"lastprice"`                                    // 最新价
-	Tradeproperty   int32   `json:"tradeproperty"`                                // 交易属性
-	REFGOODSID      int32   `json:"refgoodsid"  xorm:"'REFGOODSID'"`              // 参考商品ID
-	REFGOODSCODE    string  `json:"refgoodscode"  xorm:"'REFGOODSCODE'"`          // 参考商品代码
-	MatchName       string  `json:"matchname"  xorm:"'MATCHNAME'"`                // ProviderUserID 企业名称
-	Mindeliverylot  int64   `json:"mindeliverylot"  xorm:"MINDELIVERYLOT"`        // 最小交收手数(50模式)
+	AccountID         int64   `json:"accountid"  xorm:"'ACCOUNTID'"`                // 资金账户
+	BuyOrSell         int64   `json:"buyorsell"  xorm:"'BUYORSELL'" `               // 方向 - 0:买 1:卖
+	Goodsid           int32   `json:"goodsid"  xorm:"'GOODSID'" binding:"required"` // 商品Id
+	GoodsCode         string  `json:"goodscode" xorm:"GOODSCODE"`                   // 商品代码
+	GoodsName         string  `json:"goodsname" xorm:"GOODSNAME"`                   // 商品名称
+	AgreeUnit         float64 `json:"agreeunit"  xorm:"'AGREEUNIT'"`                // 合约单位
+	CurrencyID        int64   `json:"currencyid"  xorm:"'CURRENCYID'"`              // 报价货币ID - goods
+	TaCurrencyid      int64   `json:"tacurrencyid"  xorm:"'TACURRENCYID'"`          // 报价货币ID - taaccount
+	GoodUnitID        int64   `json:"goodunitid"  xorm:"'GOODUNITID'"`              // 报价单位ID
+	Goodunit          string  `json:"goodunit" xorm:"'GOODUNIT'"`                   // 报价单位
+	DecimalPlace      int64   `json:"decimalplace"  xorm:"'DECIMALPLACE'"`          // 报价小数位
+	MarketID          int64   `json:"marketid"  xorm:"'MARKETID'"`                  // 所属市场ID
+	TradeMode         int32   `json:"trademode"  xorm:"'TRADEMODE'"`                // 交易模式
+	PositionQTY       float64 `json:"positionqty"  xorm:"'POSITIONQTY'"`            // 期初持仓数量
+	HolderAmount      float64 `json:"holderamount"  xorm:"'HOLDERAMOUNT'"`          // 期初持仓总金额[商品币种]
+	CurPositionQTY    float64 `json:"curpositionqty"  xorm:"'CURPOSITIONQTY'"`      // 当前持仓总数量
+	CurHolderAmount   float64 `json:"curholderamount"  xorm:"'CURHOLDERAMOUNT'"`    // 当前持仓总金额[商品币种]
+	FrozenQTY         float64 `json:"frozenqty"  xorm:"'FROZENQTY'"`                // 持仓冻结数量
+	OtherFrozenQTY    float64 `json:"otherfrozenqty"  xorm:"'OTHERFROZENQTY'"`      // 持仓其他冻结数量(交割冻结)
+	OpenReqQTY        float64 `json:"openreqqty"  xorm:"'OPENREQQTY'"`              // 开仓申请数量(用于比较最大持仓数量)
+	OpenTotalQTY      float64 `json:"opentotalqty"  xorm:"'OPENTOTALQTY'"`          // 开仓总数量
+	CloseTotalQTY     float64 `json:"closetotalqty"  xorm:"'CLOSETOTALQTY'"`        // 平仓总数量
+	TNQTY             float64 `json:"tnqty"  xorm:"'TNQTY'"`                        // T+N冻结总量
+	TNUsedQTY         float64 `json:"tnusedqty"  xorm:"'TNUSEDQTY'"`                // T+N使用量(可以使用T+N的冻结数量)
+	CurTDPosition     float64 `json:"curtdposition"  xorm:"'CURTDPOSITION'"`        // 期末今日头寸
+	FreTDPosition     float64 `json:"fretdposition"  xorm:"'FRETDPOSITION'"`        // 冻结今日头寸
+	EnableQTY         float64 `json:"enableqty"  xorm:"'ENABLEQTY'"`                // 可用量
+	AveragePrice      float64 `json:"averageprice" xorm:"AVERAGEPRICE"`             // 持仓均价
+	Usedmargin        float64 `json:"usedmargin"  xorm:"'USEDMARGIN'"`              // 占用保证金[商品币种]
+	QTYDECIMALPLACE   int32   `json:"qtydecimalplace"`                              // 成交量小数位
+	PositionPL        float64 `json:"positionpl"`                                   // 持仓盈亏 买方向 = (最新价 - 持仓均价) * 买期末头寸 * 合约单位;卖方向 = (持仓均价 - 最新价) * 卖期末头寸 * 合约单位
+	PositionPLRate    float64 `json:"positionplrate"`                               // 持仓盈亏比例【实时行情更新】 = 持仓盈亏 / 开仓成本
+	MarketAmount      float64 `json:"marketamount"`                                 // 市值
+	LastPrice         float64 `json:"lastprice"`                                    // 最新价
+	Tradeproperty     int32   `json:"tradeproperty"`                                // 交易属性
+	REFGOODSID        int32   `json:"refgoodsid"  xorm:"'REFGOODSID'"`              // 参考商品ID
+	REFGOODSCODE      string  `json:"refgoodscode"  xorm:"'REFGOODSCODE'"`          // 参考商品代码
+	MatchName         string  `json:"matchname"  xorm:"'MATCHNAME'"`                // ProviderUserID 企业名称
+	Mindeliverylot    int64   `json:"mindeliverylot"  xorm:"MINDELIVERYLOT"`        // 最小交收手数(50模式)
+	PROVIDERUSERID    int64   `json:"provideruserid" xorm:"PROVIDERUSERID"`         // 发售方用户ID(49)\供货商(50)
+	PROVIDERACCOUNTID int64   `json:"provideraccountid" xorm:"PROVIDERACCOUNTID"`   // 发售方资金账户ID(49)\供货商资金账户ID(50)
 
 	PKID string `json:"pkid" xorm:"-"` // 自定义主键
 }
@@ -125,21 +127,23 @@ func GetTradePosition(accIds string, tradeModes string) (rst []QueryTradePositio
 	// 查询数据
 	type tradePosition struct {
 		models.Tradeposition `xorm:"extends"`
-		Goodscode            string  `json:"goodscode"  xorm:"'GOODSCODE'"`             // 商品代码(内部)
-		Goodsname            string  `json:"goodsname"  xorm:"'GOODSNAME'"`             // 商品名称
-		Currencyid           int64   `json:"currencyid"  xorm:"'CURRENCYID'"`           // 报价货币ID - goods
-		TaCurrencyid         int64   `json:"tacurrencyid"  xorm:"'TACURRENCYID'"`       // 报价货币ID - taaccount
-		Goodunitid           int64   `json:"goodunitid"  xorm:"'GOODUNITID'"`           // 报价单位ID
-		Goodunit             string  `json:"goodunit" xorm:"'GOODUNIT'"`                // 报价单位
-		Agreeunit            float64 `json:"agreeunit"  xorm:"'AGREEUNIT'"`             // 合约单位
-		Decimalplace         int64   `json:"decimalplace"  xorm:"'DECIMALPLACE'"`       // 报价小数位
-		Marketid             int32   `json:"marketid"  xorm:"'MARKETID'"`               // 市场ID
-		Trademode            int32   `json:"trademode"  xorm:"'TRADEMODE'"`             // 交易模式
-		QTYDECIMALPLACE      int32   `json:"qtydecimalplace"  xorm:"'QTYDECIMALPLACE'"` // 成交量小数位
-		REFGOODSID           int32   `json:"refgoodsid"  xorm:"'REFGOODSID'"`           // 参考商品ID
-		REFGOODSCODE         string  `json:"refgoodscode"  xorm:"'REFGOODSCODE'"`       // 参考商品代码
-		MatchName            string  `json:"matchname"  xorm:"'MATCHNAME'"`             // ProviderUserID 企业名称
-		Mindeliverylot       int64   `json:"mindeliverylot"  xorm:"MINDELIVERYLOT"`     // 最小交收手数(50模式)
+		Goodscode            string  `json:"goodscode"  xorm:"'GOODSCODE'"`              // 商品代码(内部)
+		Goodsname            string  `json:"goodsname"  xorm:"'GOODSNAME'"`              // 商品名称
+		Currencyid           int64   `json:"currencyid"  xorm:"'CURRENCYID'"`            // 报价货币ID - goods
+		TaCurrencyid         int64   `json:"tacurrencyid"  xorm:"'TACURRENCYID'"`        // 报价货币ID - taaccount
+		Goodunitid           int64   `json:"goodunitid"  xorm:"'GOODUNITID'"`            // 报价单位ID
+		Goodunit             string  `json:"goodunit" xorm:"'GOODUNIT'"`                 // 报价单位
+		Agreeunit            float64 `json:"agreeunit"  xorm:"'AGREEUNIT'"`              // 合约单位
+		Decimalplace         int64   `json:"decimalplace"  xorm:"'DECIMALPLACE'"`        // 报价小数位
+		Marketid             int32   `json:"marketid"  xorm:"'MARKETID'"`                // 市场ID
+		Trademode            int32   `json:"trademode"  xorm:"'TRADEMODE'"`              // 交易模式
+		QTYDECIMALPLACE      int32   `json:"qtydecimalplace"  xorm:"'QTYDECIMALPLACE'"`  // 成交量小数位
+		REFGOODSID           int32   `json:"refgoodsid"  xorm:"'REFGOODSID'"`            // 参考商品ID
+		REFGOODSCODE         string  `json:"refgoodscode"  xorm:"'REFGOODSCODE'"`        // 参考商品代码
+		MatchName            string  `json:"matchname"  xorm:"'MATCHNAME'"`              // ProviderUserID 企业名称
+		Mindeliverylot       int64   `json:"mindeliverylot"  xorm:"MINDELIVERYLOT"`      // 最小交收手数(50模式)
+		PROVIDERUSERID       int64   `json:"provideruserid" xorm:"PROVIDERUSERID"`       // 发售方用户ID(49)\供货商(50)
+		PROVIDERACCOUNTID    int64   `json:"provideraccountid" xorm:"PROVIDERACCOUNTID"` // 发售方资金账户ID(49)\供货商资金账户ID(50)
 	}
 	datas := make([]tradePosition, 0)
 	engine := db.GetEngine()
@@ -151,7 +155,7 @@ func GetTradePosition(accIds string, tradeModes string) (rst []QueryTradePositio
 		Join("LEFT", "ENUMDICITEM", "GOODS.GOODUNITID = ENUMDICITEM.ENUMITEMNAME and ENUMDICITEM.ENUMDICCODE = 'goodsunit'").
 		Join("LEFT", "USERINFO UI", "UI.USERID = GOODS.PROVIDERUSERID").
 		Join("LEFT", "TAACCOUNT TA", "TA.ACCOUNTID = TRADEPOSITION.ACCOUNTID").
-		Select("TRADEPOSITION.*, GOODS.GOODSCODE, GOODS.GOODSNAME, GOODS.CURRENCYID, TA.CURRENCYID TACURRENCYID, GOODS.GOODUNITID,GOODS.QTYDECIMALPLACE, GOODS.REFGOODSID, GOODS.REFGOODSCODE, " +
+		Select("TRADEPOSITION.*, GOODS.GOODSCODE, GOODS.GOODSNAME, GOODS.CURRENCYID, TA.CURRENCYID TACURRENCYID, GOODS.GOODUNITID,GOODS.QTYDECIMALPLACE, GOODS.REFGOODSID, GOODS.REFGOODSCODE, GOODS.PROVIDERUSERID, GOODS.PROVIDERACCOUNTID, " +
 			"ENUMDICITEM.ENUMDICNAME as GOODUNIT, GOODS.AGREEUNIT, GOODS.DECIMALPLACE, MARKET.MARKETID, MARKET.TRADEMODE, UI.CUSTOMERNAME as MATCHNAME, nvl(EX.MINDELIVERYLOT, 1) MINDELIVERYLOT").
 		Where(fmt.Sprintf(`TRADEPOSITION.ACCOUNTID in (%s)`, accIds))
 	if len(tradeModes) > 0 {

+ 8 - 0
docs/docs.go

@@ -64336,6 +64336,14 @@ const docTemplate = `{
                     "description": "期初持仓数量",
                     "type": "number"
                 },
+                "provideraccountid": {
+                    "description": "发售方资金账户ID(49)\\供货商资金账户ID(50)",
+                    "type": "integer"
+                },
+                "provideruserid": {
+                    "description": "发售方用户ID(49)\\供货商(50)",
+                    "type": "integer"
+                },
                 "qtydecimalplace": {
                     "description": "成交量小数位",
                     "type": "integer"

+ 8 - 0
docs/swagger.json

@@ -64327,6 +64327,14 @@
                     "description": "期初持仓数量",
                     "type": "number"
                 },
+                "provideraccountid": {
+                    "description": "发售方资金账户ID(49)\\供货商资金账户ID(50)",
+                    "type": "integer"
+                },
+                "provideruserid": {
+                    "description": "发售方用户ID(49)\\供货商(50)",
+                    "type": "integer"
+                },
                 "qtydecimalplace": {
                     "description": "成交量小数位",
                     "type": "integer"

+ 6 - 0
docs/swagger.yaml

@@ -30279,6 +30279,12 @@ definitions:
       positionqty:
         description: 期初持仓数量
         type: number
+      provideraccountid:
+        description: 发售方资金账户ID(49)\供货商资金账户ID(50)
+        type: integer
+      provideruserid:
+        description: 发售方用户ID(49)\供货商(50)
+        type: integer
       qtydecimalplace:
         description: 成交量小数位
         type: integer