소스 검색

1.增加查询成交明细接口(仓单贸易)

zou.yingbin 4 년 전
부모
커밋
bee6be79f1
6개의 변경된 파일669개의 추가작업 그리고 14개의 파일을 삭제
  1. 26 3
      controllers/wrTrade2/qryWrTrade.go
  2. 198 0
      docs/docs.go
  3. 198 0
      docs/swagger.json
  4. 139 0
      docs/swagger.yaml
  5. 107 11
      models/wrTrade2.go
  6. 1 0
      routers/router.go

+ 26 - 3
controllers/wrTrade2/qryWrTrade.go

@@ -32,7 +32,7 @@ func QueryOrderQuote(c *gin.Context) {
 	a := app.GinUtils{Gin: app.Gin{C: c}}
 	m := models.WrOrderQuote{}
 	a.DoBindReq(&m)
-	a.DoGetDataI(&m)
+	a.DoGetDataByPage(&m)
 }
 
 // QueryOrderQuote
@@ -55,7 +55,7 @@ func QueryOrderQuoteDetail(c *gin.Context) {
 	a := app.GinUtils{Gin: app.Gin{C: c}}
 	m := models.WrOrderQuoteDetail{}
 	a.DoBindReq(&m)
-	a.DoGetDataI(&m)
+	a.DoGetDataByPage(&m)
 }
 
 // QueryWrPosition
@@ -81,7 +81,10 @@ func QueryWrPosition(c *gin.Context) {
 // @Description 页面 现货仓单 | 预售仓单 -> 挂单
 // @Produce json
 // @Security ApiKeyAuth
+// @Param page query int false "页码"
+// @Param pagesize query int false "每页条数"
 // @Param userid query int true "用户id"
+// @Param marketid query int false "仓单贸易市场id"
 // @Param haswr query int true "是否有仓单 0-没有 1-有(仓单贸易填1,仓单预售填0)"
 // @Success 200 {array} models.WrOrderDetail
 // @Failure 500 {object} app.Response
@@ -91,5 +94,25 @@ func QueryWrOrderDetail(c *gin.Context) {
 	a := app.GinUtils{Gin: app.Gin{C: c}}
 	m := models.WrOrderDetail{}
 	a.DoBindReq(&m)
-	a.DoGetDataI(&m)
+	a.DoGetDataByPage(&m)
+}
+
+// QueryWrTradeDetail
+// @Summary 查询仓单成交明细
+// @Produce json
+// @Security ApiKeyAuth
+// @Param page query int false "页码"
+// @Param pagesize query int false "每页条数"
+// @Param userid query int true "用户id"
+// @Param marketid query int false "仓单贸易市场id"
+// @Param haswr query int true "是否有仓单 0-没有 1-有(仓单贸易填1,仓单预售填0)"
+// @Success 200 {array} models.WrTradeDetail
+// @Failure 500 {object} app.Response
+// @Router /WrTrade2/QueryWrTradeDetail [get]
+// @Tags 仓单贸易v2
+func QueryWrTradeDetail(c *gin.Context) {
+	a := app.GinUtils{Gin: app.Gin{C: c}}
+	m := models.WrTradeDetail{}
+	a.DoBindReq(&m)
+	a.DoGetDataByPage(&m)
 }

+ 198 - 0
docs/docs.go

@@ -11112,6 +11112,18 @@ var doc = `{
                 "parameters": [
                     {
                         "type": "integer",
+                        "description": "页码",
+                        "name": "page",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "每页条数",
+                        "name": "pagesize",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
                         "description": "用户id",
                         "name": "userid",
                         "in": "query",
@@ -11119,6 +11131,12 @@ var doc = `{
                     },
                     {
                         "type": "integer",
+                        "description": "仓单贸易市场id",
+                        "name": "marketid",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
                         "description": "是否有仓单 0-没有 1-有(仓单贸易填1,仓单预售填0)",
                         "name": "haswr",
                         "in": "query",
@@ -11193,6 +11211,73 @@ var doc = `{
                     }
                 }
             }
+        },
+        "/WrTrade2/QueryWrTradeDetail": {
+            "get": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "仓单贸易v2"
+                ],
+                "summary": "查询仓单成交明细",
+                "parameters": [
+                    {
+                        "type": "integer",
+                        "description": "页码",
+                        "name": "page",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "每页条数",
+                        "name": "pagesize",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "用户id",
+                        "name": "userid",
+                        "in": "query",
+                        "required": true
+                    },
+                    {
+                        "type": "integer",
+                        "description": "仓单贸易市场id",
+                        "name": "marketid",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "是否有仓单 0-没有 1-有(仓单贸易填1,仓单预售填0)",
+                        "name": "haswr",
+                        "in": "query",
+                        "required": true
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "OK",
+                        "schema": {
+                            "type": "array",
+                            "items": {
+                                "$ref": "#/definitions/models.WrTradeDetail"
+                            }
+                        }
+                    },
+                    "500": {
+                        "description": "Internal Server Error",
+                        "schema": {
+                            "$ref": "#/definitions/app.Response"
+                        }
+                    }
+                }
+            }
         }
     },
     "definitions": {
@@ -29396,6 +29481,119 @@ var doc = `{
                 }
             }
         },
+        "models.WrTradeDetail": {
+            "type": "object",
+            "properties": {
+                "accountid": {
+                    "description": "资金账号",
+                    "type": "integer"
+                },
+                "buyorsell": {
+                    "description": "买卖 - 0:买 1:卖(挂牌类型 买为采购 卖为销售)",
+                    "type": "integer"
+                },
+                "deliverygoodscode": {
+                    "description": "品种代码",
+                    "type": "string"
+                },
+                "deliverygoodsid": {
+                    "description": "品种ID",
+                    "type": "integer"
+                },
+                "deliverygoodsname": {
+                    "description": "品种名称",
+                    "type": "string"
+                },
+                "deliverymonth": {
+                    "description": "交收月",
+                    "type": "string"
+                },
+                "enumdicname": {
+                    "description": "单位名称",
+                    "type": "string"
+                },
+                "haswr": {
+                    "description": "是否有仓单-卖方 - 0:无仓单 1:有仓单",
+                    "type": "integer"
+                },
+                "marketid": {
+                    "description": "市场ID",
+                    "type": "integer"
+                },
+                "matchaccountid": {
+                    "description": "对手账号",
+                    "type": "integer"
+                },
+                "matchusername": {
+                    "description": "对手方",
+                    "type": "string"
+                },
+                "optioncompare": {
+                    "description": "选择项比较串【{选择项ID}+{冒号}+选择项值 } ,逗号分隔,头尾加逗号】-- 所有选择项拼接,用于比较",
+                    "type": "string"
+                },
+                "tradedate": {
+                    "description": "交易日(yyyyMMdd)",
+                    "type": "string"
+                },
+                "tradeprice": {
+                    "description": "成交价格",
+                    "type": "number"
+                },
+                "tradeqty": {
+                    "description": "成交数量",
+                    "type": "number"
+                },
+                "tradetime": {
+                    "description": "成交时间",
+                    "type": "string"
+                },
+                "userid": {
+                    "description": "用户ID",
+                    "type": "integer"
+                },
+                "warehouseid": {
+                    "description": "仓库ID",
+                    "type": "integer"
+                },
+                "warehousename": {
+                    "description": "仓库名称",
+                    "type": "string"
+                },
+                "wrfactortypeid": {
+                    "description": "仓单要素类型ID(212+Unix秒时间戳(10位)+xxxxxx)",
+                    "type": "integer"
+                },
+                "wrfactortypename": {
+                    "description": "仓单要素类型名称(选择项要素的名称合并显示,逗号分隔)",
+                    "type": "string"
+                },
+                "wrstandardcode": {
+                    "description": "现货商品代码",
+                    "type": "string"
+                },
+                "wrstandardid": {
+                    "description": "现货商品ID",
+                    "type": "integer"
+                },
+                "wrstandardname": {
+                    "description": "商品名称",
+                    "type": "string"
+                },
+                "wrtradedetailid": {
+                    "description": "仓单贸易成交单ID(321+Unix秒时间戳(10位)+xxxxxx)",
+                    "type": "string"
+                },
+                "wrtradetype": {
+                    "description": "仓单贸易类型 - 1:挂牌 2:摘牌 3:提货卖(文化中国) 4:提货买(文化中国)",
+                    "type": "integer"
+                },
+                "wrtypename": {
+                    "description": "商品",
+                    "type": "string"
+                }
+            }
+        },
         "order.QueryHisTradeDetailRsp": {
             "type": "object",
             "required": [

+ 198 - 0
docs/swagger.json

@@ -11096,6 +11096,18 @@
                 "parameters": [
                     {
                         "type": "integer",
+                        "description": "页码",
+                        "name": "page",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "每页条数",
+                        "name": "pagesize",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
                         "description": "用户id",
                         "name": "userid",
                         "in": "query",
@@ -11103,6 +11115,12 @@
                     },
                     {
                         "type": "integer",
+                        "description": "仓单贸易市场id",
+                        "name": "marketid",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
                         "description": "是否有仓单 0-没有 1-有(仓单贸易填1,仓单预售填0)",
                         "name": "haswr",
                         "in": "query",
@@ -11177,6 +11195,73 @@
                     }
                 }
             }
+        },
+        "/WrTrade2/QueryWrTradeDetail": {
+            "get": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "仓单贸易v2"
+                ],
+                "summary": "查询仓单成交明细",
+                "parameters": [
+                    {
+                        "type": "integer",
+                        "description": "页码",
+                        "name": "page",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "每页条数",
+                        "name": "pagesize",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "用户id",
+                        "name": "userid",
+                        "in": "query",
+                        "required": true
+                    },
+                    {
+                        "type": "integer",
+                        "description": "仓单贸易市场id",
+                        "name": "marketid",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "是否有仓单 0-没有 1-有(仓单贸易填1,仓单预售填0)",
+                        "name": "haswr",
+                        "in": "query",
+                        "required": true
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "OK",
+                        "schema": {
+                            "type": "array",
+                            "items": {
+                                "$ref": "#/definitions/models.WrTradeDetail"
+                            }
+                        }
+                    },
+                    "500": {
+                        "description": "Internal Server Error",
+                        "schema": {
+                            "$ref": "#/definitions/app.Response"
+                        }
+                    }
+                }
+            }
         }
     },
     "definitions": {
@@ -29380,6 +29465,119 @@
                 }
             }
         },
+        "models.WrTradeDetail": {
+            "type": "object",
+            "properties": {
+                "accountid": {
+                    "description": "资金账号",
+                    "type": "integer"
+                },
+                "buyorsell": {
+                    "description": "买卖 - 0:买 1:卖(挂牌类型 买为采购 卖为销售)",
+                    "type": "integer"
+                },
+                "deliverygoodscode": {
+                    "description": "品种代码",
+                    "type": "string"
+                },
+                "deliverygoodsid": {
+                    "description": "品种ID",
+                    "type": "integer"
+                },
+                "deliverygoodsname": {
+                    "description": "品种名称",
+                    "type": "string"
+                },
+                "deliverymonth": {
+                    "description": "交收月",
+                    "type": "string"
+                },
+                "enumdicname": {
+                    "description": "单位名称",
+                    "type": "string"
+                },
+                "haswr": {
+                    "description": "是否有仓单-卖方 - 0:无仓单 1:有仓单",
+                    "type": "integer"
+                },
+                "marketid": {
+                    "description": "市场ID",
+                    "type": "integer"
+                },
+                "matchaccountid": {
+                    "description": "对手账号",
+                    "type": "integer"
+                },
+                "matchusername": {
+                    "description": "对手方",
+                    "type": "string"
+                },
+                "optioncompare": {
+                    "description": "选择项比较串【{选择项ID}+{冒号}+选择项值 } ,逗号分隔,头尾加逗号】-- 所有选择项拼接,用于比较",
+                    "type": "string"
+                },
+                "tradedate": {
+                    "description": "交易日(yyyyMMdd)",
+                    "type": "string"
+                },
+                "tradeprice": {
+                    "description": "成交价格",
+                    "type": "number"
+                },
+                "tradeqty": {
+                    "description": "成交数量",
+                    "type": "number"
+                },
+                "tradetime": {
+                    "description": "成交时间",
+                    "type": "string"
+                },
+                "userid": {
+                    "description": "用户ID",
+                    "type": "integer"
+                },
+                "warehouseid": {
+                    "description": "仓库ID",
+                    "type": "integer"
+                },
+                "warehousename": {
+                    "description": "仓库名称",
+                    "type": "string"
+                },
+                "wrfactortypeid": {
+                    "description": "仓单要素类型ID(212+Unix秒时间戳(10位)+xxxxxx)",
+                    "type": "integer"
+                },
+                "wrfactortypename": {
+                    "description": "仓单要素类型名称(选择项要素的名称合并显示,逗号分隔)",
+                    "type": "string"
+                },
+                "wrstandardcode": {
+                    "description": "现货商品代码",
+                    "type": "string"
+                },
+                "wrstandardid": {
+                    "description": "现货商品ID",
+                    "type": "integer"
+                },
+                "wrstandardname": {
+                    "description": "商品名称",
+                    "type": "string"
+                },
+                "wrtradedetailid": {
+                    "description": "仓单贸易成交单ID(321+Unix秒时间戳(10位)+xxxxxx)",
+                    "type": "string"
+                },
+                "wrtradetype": {
+                    "description": "仓单贸易类型 - 1:挂牌 2:摘牌 3:提货卖(文化中国) 4:提货买(文化中国)",
+                    "type": "integer"
+                },
+                "wrtypename": {
+                    "description": "商品",
+                    "type": "string"
+                }
+            }
+        },
         "order.QueryHisTradeDetailRsp": {
             "type": "object",
             "required": [

+ 139 - 0
docs/swagger.yaml

@@ -13567,6 +13567,90 @@ definitions:
         description: 持有人ID
         type: integer
     type: object
+  models.WrTradeDetail:
+    properties:
+      accountid:
+        description: 资金账号
+        type: integer
+      buyorsell:
+        description: 买卖 - 0:买 1:卖(挂牌类型 买为采购 卖为销售)
+        type: integer
+      deliverygoodscode:
+        description: 品种代码
+        type: string
+      deliverygoodsid:
+        description: 品种ID
+        type: integer
+      deliverygoodsname:
+        description: 品种名称
+        type: string
+      deliverymonth:
+        description: 交收月
+        type: string
+      enumdicname:
+        description: 单位名称
+        type: string
+      haswr:
+        description: 是否有仓单-卖方 - 0:无仓单 1:有仓单
+        type: integer
+      marketid:
+        description: 市场ID
+        type: integer
+      matchaccountid:
+        description: 对手账号
+        type: integer
+      matchusername:
+        description: 对手方
+        type: string
+      optioncompare:
+        description: 选择项比较串【{选择项ID}+{冒号}+选择项值 } ,逗号分隔,头尾加逗号】-- 所有选择项拼接,用于比较
+        type: string
+      tradedate:
+        description: 交易日(yyyyMMdd)
+        type: string
+      tradeprice:
+        description: 成交价格
+        type: number
+      tradeqty:
+        description: 成交数量
+        type: number
+      tradetime:
+        description: 成交时间
+        type: string
+      userid:
+        description: 用户ID
+        type: integer
+      warehouseid:
+        description: 仓库ID
+        type: integer
+      warehousename:
+        description: 仓库名称
+        type: string
+      wrfactortypeid:
+        description: 仓单要素类型ID(212+Unix秒时间戳(10位)+xxxxxx)
+        type: integer
+      wrfactortypename:
+        description: 仓单要素类型名称(选择项要素的名称合并显示,逗号分隔)
+        type: string
+      wrstandardcode:
+        description: 现货商品代码
+        type: string
+      wrstandardid:
+        description: 现货商品ID
+        type: integer
+      wrstandardname:
+        description: 商品名称
+        type: string
+      wrtradedetailid:
+        description: 仓单贸易成交单ID(321+Unix秒时间戳(10位)+xxxxxx)
+        type: string
+      wrtradetype:
+        description: 仓单贸易类型 - 1:挂牌 2:摘牌 3:提货卖(文化中国) 4:提货买(文化中国)
+        type: integer
+      wrtypename:
+        description: 商品
+        type: string
+    type: object
   order.QueryHisTradeDetailRsp:
     properties:
       accountid:
@@ -22537,11 +22621,23 @@ paths:
     get:
       description: 页面 现货仓单 | 预售仓单 -> 挂单
       parameters:
+      - description: 页码
+        in: query
+        name: page
+        type: integer
+      - description: 每页条数
+        in: query
+        name: pagesize
+        type: integer
       - description: 用户id
         in: query
         name: userid
         required: true
         type: integer
+      - description: 仓单贸易市场id
+        in: query
+        name: marketid
+        type: integer
       - description: 是否有仓单 0-没有 1-有(仓单贸易填1,仓单预售填0)
         in: query
         name: haswr
@@ -22597,6 +22693,49 @@ paths:
       summary: 查询现货(预售)仓单持仓
       tags:
       - 仓单贸易v2
+  /WrTrade2/QueryWrTradeDetail:
+    get:
+      parameters:
+      - description: 页码
+        in: query
+        name: page
+        type: integer
+      - description: 每页条数
+        in: query
+        name: pagesize
+        type: integer
+      - description: 用户id
+        in: query
+        name: userid
+        required: true
+        type: integer
+      - description: 仓单贸易市场id
+        in: query
+        name: marketid
+        type: integer
+      - description: 是否有仓单 0-没有 1-有(仓单贸易填1,仓单预售填0)
+        in: query
+        name: haswr
+        required: true
+        type: integer
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: OK
+          schema:
+            items:
+              $ref: '#/definitions/models.WrTradeDetail'
+            type: array
+        "500":
+          description: Internal Server Error
+          schema:
+            $ref: '#/definitions/app.Response'
+      security:
+      - ApiKeyAuth: []
+      summary: 查询仓单成交明细
+      tags:
+      - 仓单贸易v2
 securityDefinitions:
   ApiKeyAuth:
     in: header

+ 107 - 11
models/wrTrade2.go

@@ -224,14 +224,16 @@ func (r *WrOrderQuote) buildSql() string {
 	}
 }
 
-// GetDataEx 获取买卖大厅行情
-func (r *WrOrderQuote) GetDataEx() (interface{}, error) {
+// GetDataByPage 获取买卖大厅行情
+func (r *WrOrderQuote) GetDataByPage() (interface{}, error, int, int, int) {
 	sData := make([]WrOrderQuote, 0)
 	err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
+	total := 0
 	for i := range sData {
 		sData[i].calc()
+		total = sData[i].Total
 	}
-	return sData, err
+	return sData, err, r.Page, r.PageSize, total
 }
 
 // WrOrderQuoteDetail 行情大厅明细(买卖大厅)
@@ -300,14 +302,16 @@ func (r *WrOrderQuoteDetail) buildSql() string {
 	return sqlId.String()
 }
 
-// GetDataEx 获取行情大厅明细(买卖大厅)
-func (r *WrOrderQuoteDetail) GetDataEx() (interface{}, error) {
+// GetDataByPage 获取行情大厅明细(买卖大厅)
+func (r *WrOrderQuoteDetail) GetDataByPage() (interface{}, error, int, int, int) {
 	sData := make([]WrOrderQuoteDetail, 0)
 	err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
+	total := 0
 	for i := range sData {
 		sData[i].calc()
+		total = sData[i].Total
 	}
-	return sData, err
+	return sData, err, r.Page, r.PageSize, total
 }
 
 // Wr2FactorType 仓单要素类型
@@ -380,6 +384,8 @@ func (r *WrPosition) buildSql() string {
 		// 现货明细 仓单编号 + 品种 + 仓库 + 仓单要素  即全维度 跟库存汇总一样
 		return r.buildSql3()
 	}
+
+	// TODO: 获取履约中的数量
 }
 
 func (r *WrPosition) buildSql1() string {
@@ -504,6 +510,7 @@ type WrOrderDetail struct {
 	FUTUPRICEMOVE      float64 `json:"futupricemove"  xorm:"'FUTUPRICEMOVE'"`              // 期货升贴水
 	DELIVERYMONTH      string  `json:"deliverymonth"  xorm:"'DELIVERYMONTH'"`              // 交收月
 	Wr2FactorType      `xorm:"extends"`
+	PageEx             `xorm:"extends"`
 
 	FUTUSHOW string `json:"futushow"` // 期货合约/升贴水
 }
@@ -539,14 +546,13 @@ func (r *WrOrderDetail) buildSql() string {
 		"      on t.warehouseid = h.autoid" +
 		"    left join enumdicitem e on w.unitid = e.enumitemname and e.enumdiccode='goodsunit')" +
 		"select t.HASWR," +
-		"       t.WRTRADEORDERID," +
+		"       to_char(t.WRTRADEORDERID) WRTRADEORDERID," +
 		"       t.TRADEDATE," +
 		"       t.DELIVERYMONTH," +
 		"       t.WRTRADETYPE," +
 		"       t.BUYORSELL," +
 		"       t.MARKETID," +
 		"       t.USERID," +
-		"       t.WRFACTORTYPEID," +
 		"       t.ORDERQTY," +
 		"       t.TRADEQTY," +
 		"       t.CANCELQTY," +
@@ -568,15 +574,105 @@ func (r *WrOrderDetail) buildSql() string {
 		"  where t.WRTRADETYPE = 1"
 	sqlId.And("t.USERID", r.USERID)
 	sqlId.And("t.haswr", r.HASWR)
+	sqlId.AndEx("t.marketid", r.MARKETID, r.MARKETID > 0)
+	sqlId.Page(r.Page, r.PageSize)
 	return sqlId.String()
 }
 
-// GetDataEx 获取仓单贸易委托单
-func (r *WrOrderDetail) GetDataEx() (interface{}, error) {
+// GetDataByPage 获取仓单贸易委托单
+func (r *WrOrderDetail) GetDataByPage() (interface{}, error, int, int, int) {
 	sData := make([]WrOrderDetail, 0)
 	err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
+	total := 0
 	for i := range sData {
 		sData[i].calc()
+		total = sData[i].Total
 	}
-	return sData, err
+	return sData, err, r.Page, r.PageSize, total
+}
+
+// WrTradeDetail 仓单贸易成交明细
+type WrTradeDetail struct {
+	HASWR           int32   `json:"haswr"  xorm:"HASWR" form:"haswr"`                   // 是否有仓单-卖方 - 0:无仓单 1:有仓单
+	WRTRADEDETAILID string  `json:"wrtradedetailid"  xorm:"WRTRADEDETAILID"`            // 仓单贸易成交单ID(321+Unix秒时间戳(10位)+xxxxxx)
+	TRADEDATE       string  `json:"tradedate"  xorm:"TRADEDATE" form:"tradedate"`       // 交易日(yyyyMMdd)
+	WRTRADETYPE     int32   `json:"wrtradetype"  xorm:"WRTRADETYPE" form:"wrtradetype"` // 仓单贸易类型 - 1:挂牌 2:摘牌 3:提货卖(文化中国) 4:提货买(文化中国)
+	BUYORSELL       int32   `json:"buyorsell"  xorm:"BUYORSELL" form:"buyorsell"`       // 买卖 - 0:买 1:卖(挂牌类型 买为采购 卖为销售)
+	MARKETID        int64   `json:"marketid"  xorm:"MARKETID" form:"marketid"`          // 市场ID
+	USERID          int64   `json:"userid"  xorm:"USERID" form:"userid"`                // 用户ID
+	WRFACTORTYPEID  int64   `json:"wrfactortypeid"  xorm:"WRFACTORTYPEID"`              // 仓单要素类型ID/商品ID(77)
+	TRADEQTY        float64 `json:"tradeqty"  xorm:"TRADEQTY" form:"tradeqty"`          // 成交数量
+	TRADEPRICE      float64 `json:"tradeprice"  xorm:"TRADEPRICE" form:"tradeprice"`    // 成交价格
+	TRADETIME       string  `json:"tradetime"  xorm:"TRADETIME" form:"tradetime"`       // 成交时间
+	DELIVERYMONTH   string  `json:"deliverymonth"  xorm:"'DELIVERYMONTH'"`              // 交收月
+	ACCOUNTID       int64   `json:"accountid"  xorm:"ACCOUNTID"`                        // 资金账号
+	MATCHACCOUNTID  int64   `json:"matchaccountid"  xorm:"MATCHACCOUNTID"`              // 对手账号
+	MATCHUSERNAME   string  `json:"matchusername"  xorm:"'MATCHUSERNAME'"`              // 对手方
+	Wr2FactorType   `xorm:"extends"`
+	PageEx          `xorm:"extends"`
+}
+
+func (r *WrTradeDetail) calc() {
+
+}
+
+func (r *WrTradeDetail) buildSql() string {
+	var sqlId utils.SQLVal = "with tmp as" +
+		" (select t.wrfactortypeid," +
+		"         t.wrfactortypename," +
+		"         t.wrstandardid," +
+		"         t.deliverygoodsid," +
+		"         g.deliverygoodscode," +
+		"         g.deliverygoodsname," +
+		"         w.wrstandardcode," +
+		"         w.wrstandardname," +
+		"         h.warehousecode," +
+		"         h.warehousename," +
+		"         e.enumdicname," +
+		"         w.wrstandardname || '-' || t.wrfactortypename as wrtypename" +
+		"    from wrfactortype t" +
+		"    left join deliverygoods g" +
+		"      on t.deliverygoodsid = g.deliverygoodsid" +
+		"    left join wrstandard w" +
+		"      on t.wrstandardid = w.wrstandardid" +
+		"    left join warehouseinfo h" +
+		"      on t.warehouseid = h.autoid" +
+		"    left join enumdicitem e on w.unitid = e.enumitemname and e.enumdiccode='goodsunit')" +
+		"select t.HASWR," +
+		"       to_char(t.WRTRADEDETAILID) WRTRADEDETAILID," +
+		"       t.TRADEDATE," +
+		"       t.DELIVERYMONTH," +
+		"       t.WRTRADETYPE," +
+		"       t.BUYORSELL," +
+		"       t.MARKETID," +
+		"       t.TRADEQTY," +
+		"       t.TRADEPRICE," +
+		"       to_char(t.TRADETIME,'yyyy-mm-dd hh24:mi:ss') TRADETIME," +
+		"       u2.accountname matchusername," +
+		"       ta1.userid," +
+		"       k.*" +
+		"  from wrtrade_tradedetail t" +
+		"  left join tmp k" +
+		"    on t.wrfactortypeid = k.wrfactortypeid" +
+		"  left join taaccount ta1 on t.accountid=ta1.accountid" +
+		"  left join taaccount ta2 on t.matchaccountid=ta2.accountid" +
+		"  left join useraccount u2 on ta2.userid=u2.userid" +
+		"  where 1=1"
+	sqlId.And("ta1.userid", r.USERID)
+	sqlId.And("t.haswr", r.HASWR)
+	sqlId.AndEx("t.marketid", r.MARKETID, r.MARKETID > 0)
+	sqlId.Page(r.Page, r.PageSize)
+	return sqlId.String()
+}
+
+// GetDataByPage 获取仓单贸易成交明细
+func (r *WrTradeDetail) GetDataByPage() (interface{}, error, int, int, int) {
+	sData := make([]WrTradeDetail, 0)
+	err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
+	total := 0
+	for i := range sData {
+		sData[i].calc()
+		total = sData[i].Total
+	}
+	return sData, err, r.Page, r.PageSize, total
 }

+ 1 - 0
routers/router.go

@@ -521,6 +521,7 @@ func InitRouter() *gin.Engine {
 		wrTrade2R.GET("QueryOrderQuoteDetail", wrTrade2.QueryOrderQuoteDetail)
 		wrTrade2R.GET("QueryWrPosition", wrTrade2.QueryWrPosition)
 		wrTrade2R.GET("QueryWrOrderDetail", wrTrade2.QueryWrOrderDetail)
+		wrTrade2R.GET("QueryWrTradeDetail", wrTrade2.QueryWrTradeDetail)
 	}
 
 	return r