Ver código fonte

Tjmd/QueryTjmdTradeOrderDetail 接口增加 memberuserid 入参,支持订单排序需求

zhou.xiaoning 2 anos atrás
pai
commit
c502de5bd6

+ 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]

+ 12 - 10
controllers/tjmd/qryTjmd.go

@@ -7,9 +7,10 @@
 package tjmd
 
 import (
-	"github.com/gin-gonic/gin"
 	"mtp2_if/global/app"
 	"mtp2_if/models"
+
+	"github.com/gin-gonic/gin"
 )
 
 // QueryQuoteGoodsList
@@ -37,15 +38,16 @@ func QueryQuoteGoodsList(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       usertype  query    int    true  "用户类型"
-// @Param       marketids query    string false "市场id, 格式 1,2,3"
-// @Param       goodsid   query    int    true  "商品id"
-// @Param       buyorsell query    int    true  "买卖方向 0-买 1-卖"
-// @Success     200       {array}  models.TjmdTradeOrderDetail
-// @Failure     500       {object} app.Response
+// @Param       page         query    int    false "页码"
+// @Param       pagesize     query    int    false "每页条数"
+// @Param       userid       query    int    true  "用户id"
+// @Param       usertype     query    int    true  "用户类型"
+// @Param       marketids    query    string false "市场id, 格式 1,2,3"
+// @Param       goodsid      query    int    true  "商品id"
+// @Param       buyorsell    query    int    true  "买卖方向 0-买 1-卖"
+// @Param       memberuserid query    int    false "所属会员ID,传入后会将此机构的单放在最前面,主要给麦顿使用"
+// @Success     200          {array}  models.TjmdTradeOrderDetail
+// @Failure     500          {object} app.Response
 // @Router      /Tjmd/QueryTjmdTradeOrderDetail [get]
 // @Tags        天津麦顿
 func QueryTjmdTradeOrderDetail(c *gin.Context) {

+ 10 - 0
docs/docs.go

@@ -18506,6 +18506,12 @@ const docTemplate = `{
                         "name": "buyorsell",
                         "in": "query",
                         "required": true
+                    },
+                    {
+                        "type": "integer",
+                        "description": "所属会员ID,传入后会将此机构的单放在最前面,主要给麦顿使用",
+                        "name": "memberuserid",
+                        "in": "query"
                     }
                 ],
                 "responses": {
@@ -53897,6 +53903,10 @@ const docTemplate = `{
                     "description": "市价最大偏移范围 [浮动价 - 点差]",
                     "type": "number"
                 },
+                "memberuserid": {
+                    "description": "所属会员ID",
+                    "type": "integer"
+                },
                 "orderid": {
                     "description": "委托单号",
                     "type": "string"

+ 10 - 0
docs/swagger.json

@@ -18497,6 +18497,12 @@
                         "name": "buyorsell",
                         "in": "query",
                         "required": true
+                    },
+                    {
+                        "type": "integer",
+                        "description": "所属会员ID,传入后会将此机构的单放在最前面,主要给麦顿使用",
+                        "name": "memberuserid",
+                        "in": "query"
                     }
                 ],
                 "responses": {
@@ -53888,6 +53894,10 @@
                     "description": "市价最大偏移范围 [浮动价 - 点差]",
                     "type": "number"
                 },
+                "memberuserid": {
+                    "description": "所属会员ID",
+                    "type": "integer"
+                },
                 "orderid": {
                     "description": "委托单号",
                     "type": "string"

+ 7 - 0
docs/swagger.yaml

@@ -23365,6 +23365,9 @@ definitions:
       marketmaxsub:
         description: 市价最大偏移范围 [浮动价 - 点差]
         type: number
+      memberuserid:
+        description: 所属会员ID
+        type: integer
       orderid:
         description: 委托单号
         type: string
@@ -41997,6 +42000,10 @@ paths:
         name: buyorsell
         required: true
         type: integer
+      - description: 所属会员ID,传入后会将此机构的单放在最前面,主要给麦顿使用
+        in: query
+        name: memberuserid
+        type: integer
       produces:
       - application/json
       responses:

+ 10 - 3
models/tjmd.go

@@ -90,6 +90,8 @@ type TjmdTradeOrderDetail struct {
 
 	USERTYPE    int32  `json:"-" form:"usertype"`  // 用户类型
 	FtMarketIds string `json:"-" form:"marketids"` // 市场id, 格式 1,2,3
+
+	MEMBERUSERID int `json:"memberuserid" form:"memberuserid" xorm:"MEMBERUSERID"` // 所属会员ID
 }
 
 func (r *TjmdTradeOrderDetail) calc() {
@@ -108,7 +110,8 @@ select to_char(t.orderid) orderid,
        t.orderstatus,
        t.pricemode,
        t.marketmaxsub,
-       g.marketid
+       g.marketid,
+	   u.memberuserid
   from trade_orderdetail t
   left join taaccount ta
     on t.accountid = ta.accountid
@@ -124,10 +127,14 @@ select to_char(t.orderid) orderid,
 	sqlId.And("t.GOODSID", r.GOODSID)
 	sqlId.And("t.BUYORSELL", r.BUYORSELL)
 	sqlId.JoinEx(r.FtMarketIds != "", fmt.Sprintf(" and g.marketid in(%v)", r.FtMarketIds))
+	sqlId.Join(" order by ")
+	if r.MEMBERUSERID != 0 {
+		sqlId.JoinFormat(" (CASE WHEN u.memberuserid = %v THEN 1 ELSE 2 END), u.memberuserid, ", r.MEMBERUSERID)
+	}
 	if r.BUYORSELL == 0 {
-		sqlId.Join(" order by t.orderprice desc, t.ordertime desc")
+		sqlId.Join(" t.orderprice desc, t.ordertime desc")
 	} else {
-		sqlId.Join(" order by t.orderprice, t.ordertime desc")
+		sqlId.Join(" t.orderprice, t.ordertime desc")
 	}
 	sqlId.Page(r.Page, r.PageSize)