Explorar el Código

新增查询掉期确认书接口

zou.yingbin hace 3 años
padre
commit
339f010ebe
Se han modificado 6 ficheros con 430 adiciones y 0 borrados
  1. 16 0
      controllers/tjmd/qryTjmd.go
  2. 123 0
      docs/docs.go
  3. 123 0
      docs/swagger.json
  4. 86 0
      docs/swagger.yaml
  5. 81 0
      models/tjmd.go
  6. 1 0
      routers/router.go

+ 16 - 0
controllers/tjmd/qryTjmd.go

@@ -107,3 +107,19 @@ func QueryTjmdMarketSection(c *gin.Context) {
 	a.DoBindReq(&m)
 	a.DoGetDataI(&m)
 }
+
+// QueryTjmdHolderDetailTradeInfo
+// @Summary 掉期商品订单详情(交易确认书)
+// @Produce json
+// @Security ApiKeyAuth
+// @param tradeid query string true "成交单号"
+// @Success 200 {array} models.TjmdHolderDetailTradeInfo
+// @Failure 500 {object} app.Response
+// @Router /Tjmd/QueryTjmdHolderDetailTradeInfo [get]
+// @Tags 天津麦顿
+func QueryTjmdHolderDetailTradeInfo(c *gin.Context) {
+	a := app.GinUtils{Gin: app.Gin{C: c}}
+	m := models.TjmdHolderDetailTradeInfo{}
+	a.DoBindReq(&m)
+	a.DoGetDataI(&m)
+}

+ 123 - 0
docs/docs.go

@@ -11191,6 +11191,48 @@ var doc = `{
                 }
             }
         },
+        "/Tjmd/QueryTjmdHolderDetailTradeInfo": {
+            "get": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "天津麦顿"
+                ],
+                "summary": "掉期商品订单详情(交易确认书)",
+                "parameters": [
+                    {
+                        "type": "string",
+                        "description": "成交单号",
+                        "name": "tradeid",
+                        "in": "query",
+                        "required": true
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "OK",
+                        "schema": {
+                            "type": "array",
+                            "items": {
+                                "$ref": "#/definitions/models.TjmdHolderDetailTradeInfo"
+                            }
+                        }
+                    },
+                    "500": {
+                        "description": "Internal Server Error",
+                        "schema": {
+                            "$ref": "#/definitions/app.Response"
+                        }
+                    }
+                }
+            }
+        },
         "/Tjmd/QueryTjmdMarketSection": {
             "get": {
                 "security": [
@@ -22955,6 +22997,10 @@ var doc = `{
                     "description": "交易对手方(个人:用户名称 企业:简称)",
                     "type": "string"
                 },
+                "matchnickname": {
+                    "description": "交易对手方昵称",
+                    "type": "string"
+                },
                 "middlegoodscode": {
                     "description": "套保品种代码",
                     "type": "string"
@@ -32951,6 +32997,83 @@ var doc = `{
                 }
             }
         },
+        "models.TjmdHolderDetailTradeInfo": {
+            "type": "object",
+            "properties": {
+                "agreeunit": {
+                    "description": "合约乘数",
+                    "type": "number"
+                },
+                "buyaccountid": {
+                    "description": "买方账户",
+                    "type": "string"
+                },
+                "buyusername": {
+                    "description": "买方",
+                    "type": "string"
+                },
+                "delistingdate": {
+                    "description": "最后结算日",
+                    "type": "string"
+                },
+                "expiredate": {
+                    "description": "到期结算价定价日",
+                    "type": "string"
+                },
+                "exprieprice": {
+                    "description": "到期清算价格",
+                    "type": "string"
+                },
+                "goodscode": {
+                    "description": "商品代码",
+                    "type": "string"
+                },
+                "goodsid": {
+                    "description": "商品ID",
+                    "type": "integer"
+                },
+                "goodsname": {
+                    "description": "商品名称(交易标的)",
+                    "type": "string"
+                },
+                "lasttradedate": {
+                    "description": "最后交易日",
+                    "type": "string"
+                },
+                "listingdate": {
+                    "description": "开始交易日",
+                    "type": "string"
+                },
+                "openprice": {
+                    "description": "成交价",
+                    "type": "number"
+                },
+                "openqty": {
+                    "description": "交易数量",
+                    "type": "integer"
+                },
+                "sellaccountid": {
+                    "description": "卖方账户",
+                    "type": "string"
+                },
+                "sellusername": {
+                    "description": "卖方",
+                    "type": "string"
+                },
+                "tradeamount": {
+                    "description": "初始名义价值",
+                    "type": "number"
+                },
+                "tradedate": {
+                    "description": "成交日期",
+                    "type": "string"
+                },
+                "tradeid": {
+                    "description": "成交编号",
+                    "type": "string"
+                }
+            }
+        },
         "models.TjmdMarketSection": {
             "type": "object",
             "properties": {

+ 123 - 0
docs/swagger.json

@@ -11176,6 +11176,48 @@
                 }
             }
         },
+        "/Tjmd/QueryTjmdHolderDetailTradeInfo": {
+            "get": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "天津麦顿"
+                ],
+                "summary": "掉期商品订单详情(交易确认书)",
+                "parameters": [
+                    {
+                        "type": "string",
+                        "description": "成交单号",
+                        "name": "tradeid",
+                        "in": "query",
+                        "required": true
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "OK",
+                        "schema": {
+                            "type": "array",
+                            "items": {
+                                "$ref": "#/definitions/models.TjmdHolderDetailTradeInfo"
+                            }
+                        }
+                    },
+                    "500": {
+                        "description": "Internal Server Error",
+                        "schema": {
+                            "$ref": "#/definitions/app.Response"
+                        }
+                    }
+                }
+            }
+        },
         "/Tjmd/QueryTjmdMarketSection": {
             "get": {
                 "security": [
@@ -22940,6 +22982,10 @@
                     "description": "交易对手方(个人:用户名称 企业:简称)",
                     "type": "string"
                 },
+                "matchnickname": {
+                    "description": "交易对手方昵称",
+                    "type": "string"
+                },
                 "middlegoodscode": {
                     "description": "套保品种代码",
                     "type": "string"
@@ -32936,6 +32982,83 @@
                 }
             }
         },
+        "models.TjmdHolderDetailTradeInfo": {
+            "type": "object",
+            "properties": {
+                "agreeunit": {
+                    "description": "合约乘数",
+                    "type": "number"
+                },
+                "buyaccountid": {
+                    "description": "买方账户",
+                    "type": "string"
+                },
+                "buyusername": {
+                    "description": "买方",
+                    "type": "string"
+                },
+                "delistingdate": {
+                    "description": "最后结算日",
+                    "type": "string"
+                },
+                "expiredate": {
+                    "description": "到期结算价定价日",
+                    "type": "string"
+                },
+                "exprieprice": {
+                    "description": "到期清算价格",
+                    "type": "string"
+                },
+                "goodscode": {
+                    "description": "商品代码",
+                    "type": "string"
+                },
+                "goodsid": {
+                    "description": "商品ID",
+                    "type": "integer"
+                },
+                "goodsname": {
+                    "description": "商品名称(交易标的)",
+                    "type": "string"
+                },
+                "lasttradedate": {
+                    "description": "最后交易日",
+                    "type": "string"
+                },
+                "listingdate": {
+                    "description": "开始交易日",
+                    "type": "string"
+                },
+                "openprice": {
+                    "description": "成交价",
+                    "type": "number"
+                },
+                "openqty": {
+                    "description": "交易数量",
+                    "type": "integer"
+                },
+                "sellaccountid": {
+                    "description": "卖方账户",
+                    "type": "string"
+                },
+                "sellusername": {
+                    "description": "卖方",
+                    "type": "string"
+                },
+                "tradeamount": {
+                    "description": "初始名义价值",
+                    "type": "number"
+                },
+                "tradedate": {
+                    "description": "成交日期",
+                    "type": "string"
+                },
+                "tradeid": {
+                    "description": "成交编号",
+                    "type": "string"
+                }
+            }
+        },
         "models.TjmdMarketSection": {
             "type": "object",
             "properties": {

+ 86 - 0
docs/swagger.yaml

@@ -6285,6 +6285,9 @@ definitions:
       matchname:
         description: 交易对手方(个人:用户名称 企业:简称)
         type: string
+      matchnickname:
+        description: 交易对手方昵称
+        type: string
       middlegoodscode:
         description: 套保品种代码
         type: string
@@ -13755,6 +13758,63 @@ definitions:
     required:
     - autoid
     type: object
+  models.TjmdHolderDetailTradeInfo:
+    properties:
+      agreeunit:
+        description: 合约乘数
+        type: number
+      buyaccountid:
+        description: 买方账户
+        type: string
+      buyusername:
+        description: 买方
+        type: string
+      delistingdate:
+        description: 最后结算日
+        type: string
+      expiredate:
+        description: 到期结算价定价日
+        type: string
+      exprieprice:
+        description: 到期清算价格
+        type: string
+      goodscode:
+        description: 商品代码
+        type: string
+      goodsid:
+        description: 商品ID
+        type: integer
+      goodsname:
+        description: 商品名称(交易标的)
+        type: string
+      lasttradedate:
+        description: 最后交易日
+        type: string
+      listingdate:
+        description: 开始交易日
+        type: string
+      openprice:
+        description: 成交价
+        type: number
+      openqty:
+        description: 交易数量
+        type: integer
+      sellaccountid:
+        description: 卖方账户
+        type: string
+      sellusername:
+        description: 卖方
+        type: string
+      tradeamount:
+        description: 初始名义价值
+        type: number
+      tradedate:
+        description: 成交日期
+        type: string
+      tradeid:
+        description: 成交编号
+        type: string
+    type: object
   models.TjmdMarketSection:
     properties:
       marketsectionid:
@@ -26851,6 +26911,32 @@ paths:
       summary: 查询掉期报价列表
       tags:
       - 天津麦顿
+  /Tjmd/QueryTjmdHolderDetailTradeInfo:
+    get:
+      parameters:
+      - description: 成交单号
+        in: query
+        name: tradeid
+        required: true
+        type: string
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: OK
+          schema:
+            items:
+              $ref: '#/definitions/models.TjmdHolderDetailTradeInfo'
+            type: array
+        "500":
+          description: Internal Server Error
+          schema:
+            $ref: '#/definitions/app.Response'
+      security:
+      - ApiKeyAuth: []
+      summary: 掉期商品订单详情(交易确认书)
+      tags:
+      - 天津麦顿
   /Tjmd/QueryTjmdMarketSection:
     get:
       produces:

+ 81 - 0
models/tjmd.go

@@ -410,3 +410,84 @@ func (r *TjmdMarketSectionConfig) GetDataEx() (interface{}, error) {
 	}
 	return sData, err
 }
+
+// TjmdHolderDetailTradeInfo 掉期商品订单详情(交易确认书)
+type TjmdHolderDetailTradeInfo struct {
+	TRADEID       string  `json:"tradeid"  xorm:"'TRADEID'" form:"tradeid"` // 成交编号
+	TRADEDATE     string  `json:"tradedate"  xorm:"'TRADEDATE'"`            // 成交日期
+	GOODSID       int     `json:"goodsid"  xorm:"'GOODSID'"`                // 商品ID
+	GOODSCODE     string  `json:"goodscode"  xorm:"'GOODSCODE'"`            // 商品代码
+	GOODSNAME     string  `json:"goodsname"  xorm:"'GOODSNAME'"`            // 商品名称(交易标的)
+	LISTINGDATE   string  `json:"listingdate"  xorm:"'LISTINGDATE'"`        // 开始交易日
+	LASTTRADEDATE string  `json:"lasttradedate"  xorm:"'LASTTRADEDATE'"`    // 最后交易日
+	DELISTINGDATE string  `json:"delistingdate"  xorm:"'DELISTINGDATE'"`    // 最后结算日
+	AGREEUNIT     float64 `json:"agreeunit"  xorm:"'AGREEUNIT'"`            // 合约乘数
+	OPENQTY       int64   `json:"openqty"  xorm:"'OPENQTY'"`                // 交易数量
+	OPENPRICE     float64 `json:"openprice"  xorm:"'OPENPRICE'"`            // 成交价
+	TRADEAMOUNT   float64 `json:"tradeamount"  xorm:"'TRADEAMOUNT'"`        // 初始名义价值
+	EXPIREDATE    string  `json:"expiredate"  xorm:"'EXPIREDATE'"`          // 到期结算价定价日
+	BUYACCOUNTID  string  `json:"buyaccountid"  xorm:"'BUYACCOUNTID'"`      // 买方账户
+	SELLACCOUNTID string  `json:"sellaccountid"  xorm:"'SELLACCOUNTID'"`    // 卖方账户
+	BUYUSERNAME   string  `json:"buyusername"  xorm:"'BUYUSERNAME'"`        // 买方
+	SELLUSERNAME  string  `json:"sellusername"  xorm:"'SELLUSERNAME'"`      // 卖方
+	EXPRIEPRICE   string  `json:"exprieprice"  xorm:"'EXPRIEPRICE'"`        // 到期清算价格
+}
+
+func (r *TjmdHolderDetailTradeInfo) calc() {
+	// #3568 固定为 到期收盘价
+	r.EXPRIEPRICE = "到期收盘价"
+	if len(r.TRADEDATE) == 8 {
+		// 20220408 插入分隔符'-' 变成 2022-04-08
+		r.TRADEDATE = r.TRADEDATE[:4] + "-" + r.TRADEDATE[4:6] + "-" + r.TRADEDATE[6:]
+	}
+}
+
+func (r *TjmdHolderDetailTradeInfo) buildSql() string {
+	var sqlId utils.SQLVal = `
+select to_char(a.tradeid) tradeid,
+       a.tradedate,
+       a.goodsid,
+       g.goodscode,
+       g.goodsname,
+       to_char(g.listingdate, 'yyyy-mm-dd') listingdate,
+       to_char(g.lasttradedate, 'yyyy-mm-dd') lasttradedate,
+       to_char(g.delistingdate, 'yyyy-mm-dd') delistingdate,
+       g.agreeunit,
+       a.openqty,
+       a.openprice,
+       a.tradeamount,
+       a.expiredate,
+       to_char(a.accountid) buyaccountid,
+       to_char(b.accountid) sellaccountid,
+       u1.accountname buyusername,
+       u2.accountname sellusername
+  from trade_holderdetail a
+  left join trade_holderdetail b
+    on a.tradeid = b.tradeid
+   and b.buyorsell = 1
+  left join goods g
+    on a.goodsid = g.goodsid
+  left join taaccount ta1
+    on a.accountid = ta1.accountid
+  left join useraccount u1
+    on ta1.relateduserid = u1.userid
+  left join taaccount ta2
+    on b.accountid = ta2.accountid
+  left join useraccount u2
+    on ta2.relateduserid = u2.userid
+ where a.buyorsell = 0
+   and a.tradeid = %v
+`
+	sqlId.FormatParam(r.TRADEID)
+	return sqlId.String()
+}
+
+// GetDataEx 获取掉期商品订单详情(交易确认书)
+func (r *TjmdHolderDetailTradeInfo) GetDataEx() (interface{}, error) {
+	sData := make([]TjmdHolderDetailTradeInfo, 0)
+	err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
+	for i := range sData {
+		sData[i].calc()
+	}
+	return sData, err
+}

+ 1 - 0
routers/router.go

@@ -597,6 +597,7 @@ func InitRouter() *gin.Engine {
 		tjmdR.GET("QueryTjmdTransferApply", tjmd.QueryTjmdTransferApply)
 		tjmdR.GET("QueryTjmdTodayAccountMargin", tjmd.QueryTjmdTodayAccountMargin)
 		tjmdR.GET("QueryTjmdMarketSection", tjmd.QueryTjmdMarketSection)
+		tjmdR.GET("QueryTjmdHolderDetailTradeInfo", tjmd.QueryTjmdHolderDetailTradeInfo)
 	}
 
 	// **************************中江*************************