Просмотр исходного кода

增加获取登录账号有权限的市场信息接口

zhou.xiaoning 4 лет назад
Родитель
Сommit
6b9c94c0e4
8 измененных файлов с 673 добавлено и 10 удалено
  1. 6 6
      config/config.xml
  2. 38 0
      controllers/market/market.go
  3. 224 0
      docs/docs.go
  4. 224 0
      docs/swagger.json
  5. 167 0
      docs/swagger.yaml
  6. 10 3
      models/market.go
  7. 2 0
      routers/router.go
  8. 2 1
      token/token.go

+ 6 - 6
config/config.xml

@@ -13,11 +13,11 @@
     <DbAddress value="192.168.31.117"/>
     <DbName value="orcl"/>
     <DbPort value="1521"/>
-    <DbUser value="mtp2_test171"/>
+    <DbUser value="mtp2_test125"/>
     <DbPwd value="muchinfo"/>
   </DbSetting>
   <RedisSetting>
-    <Address value="192.168.31.171"/>
+    <Address value="192.168.30.125"/>
     <Port value="5007"/>
     <Timeout value="3"/>
     <ConnNum value="1"/>
@@ -25,11 +25,11 @@
     <Pwd value=""/>
   </RedisSetting>
   <MqSetting>
-    <Url value="amqp://guest:guest@192.168.31.171:5020/test"/>
+    <Url value="amqp://guest:guest@192.168.30.125:5020/test"/>
     <Exchange value="entry"/>
   </MqSetting>
   <MongoDBSetting>
-    <HostName value="192.168.31.171"/>
+    <HostName value="192.168.30.125"/>
     <Port value="5025"/>
     <DBName value="HistoryQuote"/>
     <Username value="quote_test01"/>
@@ -38,8 +38,8 @@
   <MySQLSetting>
     <Host value="192.168.30.140"/>
     <Port value="3306"/>
-    <DBName value="historyquote_test171"/>
-    <Username value="root"/>
+    <DBName value="historyquote_test125"/>
+    <Username value="quote_test125"/>
     <Password value="123456"/>
   </MySQLSetting>
 </Configuration>

+ 38 - 0
controllers/market/market.go

@@ -49,3 +49,41 @@ func QueryMarketRun(c *gin.Context) {
 	logger.GetLogger().Debugln("QueryMarketRun successed: %v", marketRuns)
 	appG.Response(http.StatusOK, e.SUCCESS, marketRuns)
 }
+
+// QueryMarketsByLoginIDReq 获取登录账号有权限的市场信息请求参数
+type QueryMarketsByLoginIDReq struct {
+	LoginID int `form:"loginID" binding:"required"`
+}
+
+// QueryMarketsByLoginID 获取登录账号有权限的市场信息
+// @Summary 获取登录账号有权限的市场信息
+// @Produce json
+// @Security ApiKeyAuth
+// @Param loginID query int true "登录账号"
+// @Success 200 {object} models.Market
+// @Failure 500 {object} app.Response
+// @Router /Market/QueryMarketsByLoginID [get]
+// @Tags 通用市场
+func QueryMarketsByLoginID(c *gin.Context) {
+	appG := app.Gin{C: c}
+
+	// 获取请求参数
+	var req QueryMarketsByLoginIDReq
+	if err := appG.C.ShouldBindQuery(&req); err != nil {
+		logger.GetLogger().Errorf("QueryMarketsByLoginID failed: %s", err.Error())
+		appG.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil)
+		return
+	}
+
+	markets, err := models.GetMarketsByLoginID(req.LoginID)
+	if err != nil {
+		// 查询失败
+		logger.GetLogger().Errorf("QueryMarketsByLoginID failed: %s", err.Error())
+		appG.Response(http.StatusBadRequest, e.ERROR_QUERY_FAIL, nil)
+		return
+	}
+
+	// 查询成功返回
+	logger.GetLogger().Debugln("QueryMarketsByLoginID successed: %v", markets)
+	appG.Response(http.StatusOK, e.SUCCESS, markets)
+}

+ 224 - 0
docs/docs.go

@@ -3190,6 +3190,45 @@ var doc = `{
                 }
             }
         },
+        "/Market/QueryMarketsByLoginID": {
+            "get": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "通用市场"
+                ],
+                "summary": "获取登录账号有权限的市场信息",
+                "parameters": [
+                    {
+                        "type": "integer",
+                        "description": "登录账号",
+                        "name": "loginID",
+                        "in": "query",
+                        "required": true
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "OK",
+                        "schema": {
+                            "$ref": "#/definitions/models.Market"
+                        }
+                    },
+                    "500": {
+                        "description": "Internal Server Error",
+                        "schema": {
+                            "$ref": "#/definitions/app.Response"
+                        }
+                    }
+                }
+            }
+        },
         "/Order/QueryHisTradeDetail": {
             "get": {
                 "security": [
@@ -10149,6 +10188,191 @@ var doc = `{
                 }
             }
         },
+        "models.Market": {
+            "type": "object",
+            "required": [
+                "marketid",
+                "marketstatus",
+                "openmethod",
+                "reckonpricealgorithm",
+                "trademode",
+                "tradeproperty"
+            ],
+            "properties": {
+                "auctionwrtype": {
+                    "description": "竞拍仓单类型 - 1:无仓单 2:有仓单 3;有无仓单均可",
+                    "type": "integer"
+                },
+                "canacceptquote": {
+                    "description": "确认行权是否接收行情 - 0:不接受 1:接受 [可确认权的挂牌期权市场可配置]",
+                    "type": "integer"
+                },
+                "cangoodsexercise": {
+                    "description": "[期权]是否可现货行权- 0:否 1:是",
+                    "type": "integer"
+                },
+                "cangoodsexercisetype": {
+                    "description": "可现货行权期权类型 - 1:认购 2认沽 3:认购认沽 [CanGoodsExercise = 1时可设置]",
+                    "type": "integer"
+                },
+                "canmanualquotestrike": {
+                    "description": "是否可手动报行权价- 0:否 1:是 [期权]",
+                    "type": "integer"
+                },
+                "canmutistage": {
+                    "description": "是否可多段运行 – 0:不可 1:可 [挂牌期权]",
+                    "type": "integer"
+                },
+                "canpreexercise": {
+                    "description": "[期权]是否可预申报- 0:否 1:是",
+                    "type": "integer"
+                },
+                "clearinterval": {
+                    "description": "待开市间隔(交易市场开盘前多久发市场待开市信号(单位分钟))",
+                    "type": "integer"
+                },
+                "contracttmp": {
+                    "description": "合同模板[荷兰式][竞价式][仓单贸易]",
+                    "type": "string"
+                },
+                "exchareaid": {
+                    "description": "所属交易所,可以没有",
+                    "type": "integer"
+                },
+                "goodstype": {
+                    "description": "商品类型 - 1:交易商品 2:仓单商品",
+                    "type": "integer"
+                },
+                "hasrebate": {
+                    "description": "是否返利[竞价式]  0:不返,1:返利 -- 根据系统参数088显示或隐藏",
+                    "type": "integer"
+                },
+                "hastradecredit": {
+                    "description": "是否交易授信[做市收益权] - 0:不授信 1:授信",
+                    "type": "integer"
+                },
+                "haswr": {
+                    "description": "[竞拍]是否需要仓单 -  0:不需要  1:需要-作废",
+                    "type": "integer"
+                },
+                "isdeductmargin": {
+                    "description": "竞拍违约是否扣除保证金[竞拍-降价式] - 0:不扣 1:扣除",
+                    "type": "integer"
+                },
+                "isrecordsource": {
+                    "description": "是否记录成交源 - 0:不记录 1:记录 [所有权]",
+                    "type": "integer"
+                },
+                "isreleasemargin": {
+                    "description": "成交参与保证金是否释放[竞价式] - 0:不释放 1释放",
+                    "type": "integer"
+                },
+                "marginformula": {
+                    "description": "持仓保证金公式 - 1:双边收 2:净头寸收 3:大小边差异收 4:大边收 5:卖持仓收(仅期权)",
+                    "type": "integer"
+                },
+                "marginformula2": {
+                    "description": "持仓保证金公式(仅受托竞价) - 1:双边收 2:净头寸收 3:大小边差异收 4:大边收 5:卖持仓收(仅期权)",
+                    "type": "integer"
+                },
+                "marketid": {
+                    "description": "市场ID正常5位,前三位固定:两位表示交易模式, 一位表示交易属性(1:收益权,2:所有权) 其它特殊市场:0-系统 1-交割服务 2-账户服务3-履约服务 4-仓单服务 5-积分服务 6-银行服务",
+                    "type": "integer"
+                },
+                "marketname": {
+                    "description": "市场名称",
+                    "type": "string"
+                },
+                "marketserviceid": {
+                    "description": "市场服务ID",
+                    "type": "integer"
+                },
+                "marketstatus": {
+                    "description": "生效状态(ValidStatus枚举): 1:待生效 2:正常 3:注销",
+                    "type": "integer"
+                },
+                "markettype": {
+                    "description": "市场类型- 1:非交易服务 2:交易服务",
+                    "type": "integer"
+                },
+                "matchermode": {
+                    "description": "指定对手模式[仓单贸易模式专用] - 1:任意对手",
+                    "type": "integer"
+                },
+                "openmethod": {
+                    "description": "开盘模式 - 0 自动 1手动",
+                    "type": "integer"
+                },
+                "otcuserid": {
+                    "description": "场外期权做市商[场外期权]",
+                    "type": "integer"
+                },
+                "outersynctime": {
+                    "description": "外部同步时间点(h24:mi:ss)[场外期权]",
+                    "type": "string"
+                },
+                "pendingflag": {
+                    "description": "待开市时间标识[通道交易-对冲] -  0:当日 1:上日",
+                    "type": "integer"
+                },
+                "pendingtime": {
+                    "description": "待开市时间[通道交易-对冲](HH:mm)",
+                    "type": "string"
+                },
+                "performancetempid": {
+                    "description": "履约计划模板ID - 作废",
+                    "type": "integer"
+                },
+                "premiumquotemode": {
+                    "description": "权利金报价方式 - 1:自动 2:手动",
+                    "type": "integer"
+                },
+                "rebateratio": {
+                    "description": "返利比率[竞价式]",
+                    "type": "number"
+                },
+                "reckonorder": {
+                    "description": "结算顺序",
+                    "type": "integer"
+                },
+                "reckonpricealgorithm": {
+                    "description": "结算价算法: 1:最后多少笔成交价加权平均 2:最后多少秒成交价加权平均 3:全天加权平均 4:最后一口价 5.买一价 6.卖一价 7.买一卖一均价 8.外部结算价",
+                    "type": "integer"
+                },
+                "reckonpriceparam": {
+                    "description": "结算价参数",
+                    "type": "integer"
+                },
+                "reckontime": {
+                    "description": "结算时间[通道交易-对冲](HH:mm)",
+                    "type": "string"
+                },
+                "roleprioritytype": {
+                    "description": "角色优先类型 - 1:无 2:报价商优先 3:非报价商优先 [16:挂牌点选]",
+                    "type": "integer"
+                },
+                "selllistingauditflag": {
+                    "description": "卖挂牌是否需要审核(仓单贸易) - 0:不需要 1:需要",
+                    "type": "integer"
+                },
+                "trademarkettype": {
+                    "description": "交易市场类型 - 1:合约市场 2:外部市场 3:仓单市场",
+                    "type": "integer"
+                },
+                "trademode": {
+                    "description": "交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式 21:竞拍-大宗式 22:受托竞价",
+                    "type": "integer"
+                },
+                "tradeproperty": {
+                    "description": "交易属性 -  1:收益权(可做空) 2:所有权(不可做空) 3:期权 4:现货 5:参考行情 6:通道交易 7:币交易 8:场外期权",
+                    "type": "integer"
+                },
+                "tradetype": {
+                    "description": "下单方式[通道交易] - 1:直接转单 2:净头寸下单",
+                    "type": "integer"
+                }
+            }
+        },
         "models.Marketrun": {
             "type": "object",
             "required": [

+ 224 - 0
docs/swagger.json

@@ -3174,6 +3174,45 @@
                 }
             }
         },
+        "/Market/QueryMarketsByLoginID": {
+            "get": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "通用市场"
+                ],
+                "summary": "获取登录账号有权限的市场信息",
+                "parameters": [
+                    {
+                        "type": "integer",
+                        "description": "登录账号",
+                        "name": "loginID",
+                        "in": "query",
+                        "required": true
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "OK",
+                        "schema": {
+                            "$ref": "#/definitions/models.Market"
+                        }
+                    },
+                    "500": {
+                        "description": "Internal Server Error",
+                        "schema": {
+                            "$ref": "#/definitions/app.Response"
+                        }
+                    }
+                }
+            }
+        },
         "/Order/QueryHisTradeDetail": {
             "get": {
                 "security": [
@@ -10133,6 +10172,191 @@
                 }
             }
         },
+        "models.Market": {
+            "type": "object",
+            "required": [
+                "marketid",
+                "marketstatus",
+                "openmethod",
+                "reckonpricealgorithm",
+                "trademode",
+                "tradeproperty"
+            ],
+            "properties": {
+                "auctionwrtype": {
+                    "description": "竞拍仓单类型 - 1:无仓单 2:有仓单 3;有无仓单均可",
+                    "type": "integer"
+                },
+                "canacceptquote": {
+                    "description": "确认行权是否接收行情 - 0:不接受 1:接受 [可确认权的挂牌期权市场可配置]",
+                    "type": "integer"
+                },
+                "cangoodsexercise": {
+                    "description": "[期权]是否可现货行权- 0:否 1:是",
+                    "type": "integer"
+                },
+                "cangoodsexercisetype": {
+                    "description": "可现货行权期权类型 - 1:认购 2认沽 3:认购认沽 [CanGoodsExercise = 1时可设置]",
+                    "type": "integer"
+                },
+                "canmanualquotestrike": {
+                    "description": "是否可手动报行权价- 0:否 1:是 [期权]",
+                    "type": "integer"
+                },
+                "canmutistage": {
+                    "description": "是否可多段运行 – 0:不可 1:可 [挂牌期权]",
+                    "type": "integer"
+                },
+                "canpreexercise": {
+                    "description": "[期权]是否可预申报- 0:否 1:是",
+                    "type": "integer"
+                },
+                "clearinterval": {
+                    "description": "待开市间隔(交易市场开盘前多久发市场待开市信号(单位分钟))",
+                    "type": "integer"
+                },
+                "contracttmp": {
+                    "description": "合同模板[荷兰式][竞价式][仓单贸易]",
+                    "type": "string"
+                },
+                "exchareaid": {
+                    "description": "所属交易所,可以没有",
+                    "type": "integer"
+                },
+                "goodstype": {
+                    "description": "商品类型 - 1:交易商品 2:仓单商品",
+                    "type": "integer"
+                },
+                "hasrebate": {
+                    "description": "是否返利[竞价式]  0:不返,1:返利 -- 根据系统参数088显示或隐藏",
+                    "type": "integer"
+                },
+                "hastradecredit": {
+                    "description": "是否交易授信[做市收益权] - 0:不授信 1:授信",
+                    "type": "integer"
+                },
+                "haswr": {
+                    "description": "[竞拍]是否需要仓单 -  0:不需要  1:需要-作废",
+                    "type": "integer"
+                },
+                "isdeductmargin": {
+                    "description": "竞拍违约是否扣除保证金[竞拍-降价式] - 0:不扣 1:扣除",
+                    "type": "integer"
+                },
+                "isrecordsource": {
+                    "description": "是否记录成交源 - 0:不记录 1:记录 [所有权]",
+                    "type": "integer"
+                },
+                "isreleasemargin": {
+                    "description": "成交参与保证金是否释放[竞价式] - 0:不释放 1释放",
+                    "type": "integer"
+                },
+                "marginformula": {
+                    "description": "持仓保证金公式 - 1:双边收 2:净头寸收 3:大小边差异收 4:大边收 5:卖持仓收(仅期权)",
+                    "type": "integer"
+                },
+                "marginformula2": {
+                    "description": "持仓保证金公式(仅受托竞价) - 1:双边收 2:净头寸收 3:大小边差异收 4:大边收 5:卖持仓收(仅期权)",
+                    "type": "integer"
+                },
+                "marketid": {
+                    "description": "市场ID正常5位,前三位固定:两位表示交易模式, 一位表示交易属性(1:收益权,2:所有权) 其它特殊市场:0-系统 1-交割服务 2-账户服务3-履约服务 4-仓单服务 5-积分服务 6-银行服务",
+                    "type": "integer"
+                },
+                "marketname": {
+                    "description": "市场名称",
+                    "type": "string"
+                },
+                "marketserviceid": {
+                    "description": "市场服务ID",
+                    "type": "integer"
+                },
+                "marketstatus": {
+                    "description": "生效状态(ValidStatus枚举): 1:待生效 2:正常 3:注销",
+                    "type": "integer"
+                },
+                "markettype": {
+                    "description": "市场类型- 1:非交易服务 2:交易服务",
+                    "type": "integer"
+                },
+                "matchermode": {
+                    "description": "指定对手模式[仓单贸易模式专用] - 1:任意对手",
+                    "type": "integer"
+                },
+                "openmethod": {
+                    "description": "开盘模式 - 0 自动 1手动",
+                    "type": "integer"
+                },
+                "otcuserid": {
+                    "description": "场外期权做市商[场外期权]",
+                    "type": "integer"
+                },
+                "outersynctime": {
+                    "description": "外部同步时间点(h24:mi:ss)[场外期权]",
+                    "type": "string"
+                },
+                "pendingflag": {
+                    "description": "待开市时间标识[通道交易-对冲] -  0:当日 1:上日",
+                    "type": "integer"
+                },
+                "pendingtime": {
+                    "description": "待开市时间[通道交易-对冲](HH:mm)",
+                    "type": "string"
+                },
+                "performancetempid": {
+                    "description": "履约计划模板ID - 作废",
+                    "type": "integer"
+                },
+                "premiumquotemode": {
+                    "description": "权利金报价方式 - 1:自动 2:手动",
+                    "type": "integer"
+                },
+                "rebateratio": {
+                    "description": "返利比率[竞价式]",
+                    "type": "number"
+                },
+                "reckonorder": {
+                    "description": "结算顺序",
+                    "type": "integer"
+                },
+                "reckonpricealgorithm": {
+                    "description": "结算价算法: 1:最后多少笔成交价加权平均 2:最后多少秒成交价加权平均 3:全天加权平均 4:最后一口价 5.买一价 6.卖一价 7.买一卖一均价 8.外部结算价",
+                    "type": "integer"
+                },
+                "reckonpriceparam": {
+                    "description": "结算价参数",
+                    "type": "integer"
+                },
+                "reckontime": {
+                    "description": "结算时间[通道交易-对冲](HH:mm)",
+                    "type": "string"
+                },
+                "roleprioritytype": {
+                    "description": "角色优先类型 - 1:无 2:报价商优先 3:非报价商优先 [16:挂牌点选]",
+                    "type": "integer"
+                },
+                "selllistingauditflag": {
+                    "description": "卖挂牌是否需要审核(仓单贸易) - 0:不需要 1:需要",
+                    "type": "integer"
+                },
+                "trademarkettype": {
+                    "description": "交易市场类型 - 1:合约市场 2:外部市场 3:仓单市场",
+                    "type": "integer"
+                },
+                "trademode": {
+                    "description": "交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式 21:竞拍-大宗式 22:受托竞价",
+                    "type": "integer"
+                },
+                "tradeproperty": {
+                    "description": "交易属性 -  1:收益权(可做空) 2:所有权(不可做空) 3:期权 4:现货 5:参考行情 6:通道交易 7:币交易 8:场外期权",
+                    "type": "integer"
+                },
+                "tradetype": {
+                    "description": "下单方式[通道交易] - 1:直接转单 2:净头寸下单",
+                    "type": "integer"
+                }
+            }
+        },
         "models.Marketrun": {
             "type": "object",
             "required": [

+ 167 - 0
docs/swagger.yaml

@@ -4149,6 +4149,149 @@ definitions:
     - ordertime
     - trademode
     type: object
+  models.Market:
+    properties:
+      auctionwrtype:
+        description: 竞拍仓单类型 - 1:无仓单 2:有仓单 3;有无仓单均可
+        type: integer
+      canacceptquote:
+        description: 确认行权是否接收行情 - 0:不接受 1:接受 [可确认权的挂牌期权市场可配置]
+        type: integer
+      cangoodsexercise:
+        description: '[期权]是否可现货行权- 0:否 1:是'
+        type: integer
+      cangoodsexercisetype:
+        description: 可现货行权期权类型 - 1:认购 2认沽 3:认购认沽 [CanGoodsExercise = 1时可设置]
+        type: integer
+      canmanualquotestrike:
+        description: 是否可手动报行权价- 0:否 1:是 [期权]
+        type: integer
+      canmutistage:
+        description: 是否可多段运行 – 0:不可 1:可 [挂牌期权]
+        type: integer
+      canpreexercise:
+        description: '[期权]是否可预申报- 0:否 1:是'
+        type: integer
+      clearinterval:
+        description: 待开市间隔(交易市场开盘前多久发市场待开市信号(单位分钟))
+        type: integer
+      contracttmp:
+        description: 合同模板[荷兰式][竞价式][仓单贸易]
+        type: string
+      exchareaid:
+        description: 所属交易所,可以没有
+        type: integer
+      goodstype:
+        description: 商品类型 - 1:交易商品 2:仓单商品
+        type: integer
+      hasrebate:
+        description: 是否返利[竞价式]  0:不返,1:返利 -- 根据系统参数088显示或隐藏
+        type: integer
+      hastradecredit:
+        description: 是否交易授信[做市收益权] - 0:不授信 1:授信
+        type: integer
+      haswr:
+        description: '[竞拍]是否需要仓单 -  0:不需要  1:需要-作废'
+        type: integer
+      isdeductmargin:
+        description: 竞拍违约是否扣除保证金[竞拍-降价式] - 0:不扣 1:扣除
+        type: integer
+      isrecordsource:
+        description: 是否记录成交源 - 0:不记录 1:记录 [所有权]
+        type: integer
+      isreleasemargin:
+        description: 成交参与保证金是否释放[竞价式] - 0:不释放 1释放
+        type: integer
+      marginformula:
+        description: 持仓保证金公式 - 1:双边收 2:净头寸收 3:大小边差异收 4:大边收 5:卖持仓收(仅期权)
+        type: integer
+      marginformula2:
+        description: 持仓保证金公式(仅受托竞价) - 1:双边收 2:净头寸收 3:大小边差异收 4:大边收 5:卖持仓收(仅期权)
+        type: integer
+      marketid:
+        description: 市场ID正常5位,前三位固定:两位表示交易模式, 一位表示交易属性(1:收益权,2:所有权) 其它特殊市场:0-系统 1-交割服务
+          2-账户服务3-履约服务 4-仓单服务 5-积分服务 6-银行服务
+        type: integer
+      marketname:
+        description: 市场名称
+        type: string
+      marketserviceid:
+        description: 市场服务ID
+        type: integer
+      marketstatus:
+        description: '生效状态(ValidStatus枚举): 1:待生效 2:正常 3:注销'
+        type: integer
+      markettype:
+        description: 市场类型- 1:非交易服务 2:交易服务
+        type: integer
+      matchermode:
+        description: 指定对手模式[仓单贸易模式专用] - 1:任意对手
+        type: integer
+      openmethod:
+        description: 开盘模式 - 0 自动 1手动
+        type: integer
+      otcuserid:
+        description: 场外期权做市商[场外期权]
+        type: integer
+      outersynctime:
+        description: 外部同步时间点(h24:mi:ss)[场外期权]
+        type: string
+      pendingflag:
+        description: 待开市时间标识[通道交易-对冲] -  0:当日 1:上日
+        type: integer
+      pendingtime:
+        description: 待开市时间[通道交易-对冲](HH:mm)
+        type: string
+      performancetempid:
+        description: 履约计划模板ID - 作废
+        type: integer
+      premiumquotemode:
+        description: 权利金报价方式 - 1:自动 2:手动
+        type: integer
+      rebateratio:
+        description: 返利比率[竞价式]
+        type: number
+      reckonorder:
+        description: 结算顺序
+        type: integer
+      reckonpricealgorithm:
+        description: '结算价算法: 1:最后多少笔成交价加权平均 2:最后多少秒成交价加权平均 3:全天加权平均 4:最后一口价 5.买一价
+          6.卖一价 7.买一卖一均价 8.外部结算价'
+        type: integer
+      reckonpriceparam:
+        description: 结算价参数
+        type: integer
+      reckontime:
+        description: 结算时间[通道交易-对冲](HH:mm)
+        type: string
+      roleprioritytype:
+        description: 角色优先类型 - 1:无 2:报价商优先 3:非报价商优先 [16:挂牌点选]
+        type: integer
+      selllistingauditflag:
+        description: 卖挂牌是否需要审核(仓单贸易) - 0:不需要 1:需要
+        type: integer
+      trademarkettype:
+        description: 交易市场类型 - 1:合约市场 2:外部市场 3:仓单市场
+        type: integer
+      trademode:
+        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式
+          21:竞拍-大宗式 22:受托竞价
+        type: integer
+      tradeproperty:
+        description: 交易属性 -  1:收益权(可做空) 2:所有权(不可做空) 3:期权 4:现货 5:参考行情 6:通道交易 7:币交易
+          8:场外期权
+        type: integer
+      tradetype:
+        description: 下单方式[通道交易] - 1:直接转单 2:净头寸下单
+        type: integer
+    required:
+    - marketid
+    - marketstatus
+    - openmethod
+    - reckonpricealgorithm
+    - trademode
+    - tradeproperty
+    type: object
   models.Marketrun:
     properties:
       afternexttradedate:
@@ -8423,6 +8566,30 @@ paths:
       summary: 查询市场运行信息
       tags:
       - 通用市场
+  /Market/QueryMarketsByLoginID:
+    get:
+      parameters:
+      - description: 登录账号
+        in: query
+        name: loginID
+        required: true
+        type: integer
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: OK
+          schema:
+            $ref: '#/definitions/models.Market'
+        "500":
+          description: Internal Server Error
+          schema:
+            $ref: '#/definitions/app.Response'
+      security:
+      - ApiKeyAuth: []
+      summary: 获取登录账号有权限的市场信息
+      tags:
+      - 通用市场
   /Order/QueryHisTradeDetail:
     get:
       parameters:

+ 10 - 3
models/market.go

@@ -300,12 +300,13 @@ func FindMarketRunStepDetails(marketID int) ([]Marketrunstepdetail, error) {
 	return runSteps, nil
 }
 
-// GetMarketIDsByLoginID 获取登录账号有权限的市场ID列表
-func GetMarketIDsByLoginID(loginID int) ([]int, error) {
+// GetMarketsByLoginID 获取登录账号有权限的市场列表
+func GetMarketsByLoginID(loginID int) ([]Market, error) {
 	engine := db.GetEngine()
 
 	// 账户下有权限的市场ID列表
 	var marketIDs []int
+	markets := make([]Market, 0)
 
 	// 获取账户类型 - 1:交易所 2:机构 3:会员子机构 4:经纪人 5:投资者 6:客户  (目前可能登录交易端的账号类型为 2 5)
 	userAccount := new(Useraccount)
@@ -372,5 +373,11 @@ func GetMarketIDsByLoginID(loginID int) ([]int, error) {
 		}
 	}
 
-	return marketIDs, nil
+	if len(marketIDs) > 0 {
+		if err := engine.Table("MARKET M").In("M.MARKETID", marketIDs).Find(&markets); err != nil {
+			return nil, err
+		}
+	}
+
+	return markets, nil
 }

+ 2 - 0
routers/router.go

@@ -114,6 +114,8 @@ func InitRouter() *gin.Engine {
 	{
 		// 查询市场运行信息
 		marketR.GET("/QueryMarketRun", market.QueryMarketRun)
+		// 获取登录账号有权限的市场信息
+		marketR.GET("/QueryMarketsByLoginID", market.QueryMarketsByLoginID)
 	}
 	// ************************ 通用单据 ************************
 	orderR := apiR.Group("Order")

+ 2 - 1
token/token.go

@@ -85,7 +85,8 @@ func AuthByHsby() gin.HandlerFunc {
 		accountIDs := c.Query("accountIDs")
 		userID := c.Query("userID")
 		userIDs := c.Query("userIDs")
-		if len(accountID) != 0 || len(accountIDs) != 0 || len(userID) != 0 || len(userIDs) != 0 {
+		loginID := c.Query("loginID")
+		if len(accountID) != 0 || len(accountIDs) != 0 || len(userID) != 0 || len(userIDs) != 0 || len(loginID) != 0 {
 			realToken(c)
 			return
 		}