Explorar o código

1、解决交易所版手机菜单问题;

zhou.xiaoning %!s(int64=4) %!d(string=hai) anos
pai
achega
888bb99792

+ 82 - 0
config/mobile_menu/mobile_menu_trader.json

@@ -0,0 +1,82 @@
+[
+    {
+        "code": "client_mobile_hnstcdmy",
+        "title": "仓单贸易",
+        "sort": 24,
+        "type": 1,
+        "rulekey": "",
+        "isshow": true,
+        "remark": "仓单贸易",
+        "children": []  
+    },
+    {
+        "code": "client_mobile_hnstcdys",
+        "title": "仓单预售",
+        "sort": 25,
+        "type": 1,
+        "rulekey": "",
+        "isshow": true,
+        "remark": "仓单预售",
+        "children": []  
+    },
+    {
+        "code": "client_mobile_hnsthyjy",
+        "title": "合约交易",
+        "sort": 26,
+        "type": 1,
+        "rulekey": "",
+        "isshow": true,
+        "remark": "合约交易",
+        "children": []  
+    },
+    {
+        "code": "client_mobile_hnstmine",
+        "title": "我的",
+        "sort": 27,
+        "type": 1,
+        "rulekey": "",
+        "isshow": true,
+        "remark": "我的",
+        "children": []  
+    },
+    {
+        "code": "client_mobile_hnstwymh",
+        "title": "我要买货",
+        "sort": 28,
+        "type": 1,
+        "rulekey": "",
+        "isshow": true,
+        "remark": "我要买货",
+        "children": []  
+    },
+    {
+        "code": "client_mobile_hnstwyys",
+        "title": "我要预售",
+        "sort": 29,
+        "type": 1,
+        "rulekey": "",
+        "isshow": true,
+        "remark": "我要预售",
+        "children": []  
+    },
+    {
+        "code": "client_mobile_hnstlygl",
+        "title": "履约管理",
+        "sort": 30,
+        "type": 1,
+        "rulekey": "",
+        "isshow": true,
+        "remark": "履约管理",
+        "children": []  
+    },
+    {
+        "code": "client_mobile_hnstckhq",
+        "title": "参考行情",
+        "sort": 32,
+        "type": 1,
+        "rulekey": "",
+        "isshow": true,
+        "remark": "参考行情",
+        "children": []  
+    }
+]

+ 67 - 67
config/pcweb_menu/pcweb_menu_ermcp.json

@@ -124,61 +124,40 @@
                         "title": "现货品种",
                         "code": "goods_spot",
                         "path": "goods_spot",
-                        "component": "",
+                        "component": "views/iframe/index.vue",
                         "sort": 1,
                         "requireauth": true,
                         "isshow": true,
-                        "url": "管理端",
-                        "remark": "",
+                        "url": "/ermcp/deliverygoodscommon/init",
+                        "remark": "管理端",
                         "auth": [
                             {
-                                "label": "新增品牌",
-                                "code": "goods_spot_brand_add",
+                                "label": "新增",
+                                "code": "goods_spot_add",
                                 "requireauth": true,
                                 "isshow": true,
-                                "remark": "品牌信息"
+                                "remark": ""
                             },
                             {
                                 "label": "修改",
-                                "code": "goods_spot_brand_modify",
+                                "code": "goods_spot_edit",
                                 "requireauth": true,
                                 "isshow": true,
-                                "remark": "品牌信息"
+                                "remark": ""
                             },
                             {
                                 "label": "停用",
-                                "code": "goods_spot_brand_disable",
+                                "code": "goods_spot_stop",
                                 "requireauth": true,
                                 "isshow": true,
-                                "remark": "品牌信息"
+                                "remark": ""
                             },
                             {
                                 "label": "恢复",
-                                "code": "goods_spot_brand_recover",
-                                "requireauth": true,
-                                "isshow": true,
-                                "remark": "品牌信息"
-                            },
-                            {
-                                "label": "新增商品",
-                                "code": "goods_spot_add",
-                                "requireauth": true,
-                                "isshow": true,
-                                "remark": "商品信息"
-                            },
-                            {
-                                "label": "修改",
-                                "code": "goods_spot_modify",
+                                "code": "goods_spot_recover",
                                 "requireauth": true,
                                 "isshow": true,
-                                "remark": "商品信息"
-                            },
-                            {
-                                "label": "修改税率",
-                                "code": "goods_spot_modify_ratio",
-                                "requireauth": true,
-                                "isshow": true,
-                                "remark": "商品信息"
+                                "remark": ""
                             }
                         ]
                     },
@@ -186,16 +165,23 @@
                         "title": "套保品种",
                         "code": "goods_hedge",
                         "path": "goods_hedge",
-                        "component": "",
+                        "component": "views/iframe/index.vue",
                         "sort": 2,
                         "requireauth": true,
                         "isshow": true,
-                        "url": "管理端",
-                        "remark": "",
+                        "url": "/ermcp/deliverygoodscommon/init",
+                        "remark": "管理端",
                         "auth": [
                             {
+                                "label": "新增",
+                                "code": "goods_hedge_add",
+                                "requireauth": true,
+                                "isshow": true,
+                                "remark": ""
+                            },
+                            {
                                 "label": "修改",
-                                "code": "goods_hedge_modify",
+                                "code": "goods_hedge_edit",
                                 "requireauth": true,
                                 "isshow": true,
                                 "remark": ""
@@ -293,12 +279,12 @@
                         "title": "正常",
                         "code": "company_normal",
                         "path": "company_normal",
-                        "component": "",
+                        "component": "views/iframe/index.vue",
                         "sort": 1,
                         "requireauth": true,
                         "isshow": true,
-                        "url": "管理端",
-                        "remark": "",
+                        "url": "",
+                        "remark": "管理端",
                         "auth": [
                             {
                                 "label": "新增",
@@ -327,12 +313,12 @@
                         "title": "停用",
                         "code": "company_disabled",
                         "path": "company_disabled",
-                        "component": "",
+                        "component": "views/iframe/index.vue",
                         "sort": 2,
                         "requireauth": true,
                         "isshow": true,
-                        "url": "管理端",
-                        "remark": "",
+                        "url": "",
+                        "remark": "管理端",
                         "auth": [
                             {
                                 "label": "恢复",
@@ -572,12 +558,12 @@
                         "title": "审核设置",
                         "code": "audit_setting",
                         "path": "audit_setting",
-                        "component": "",
+                        "component": "views/iframe/index.vue",
                         "sort": 1,
                         "requireauth": true,
                         "isshow": true,
-                        "url": "管理端",
-                        "remark": "",
+                        "url": "",
+                        "remark": "管理端",
                         "auth": []
                     }
                 ]
@@ -911,6 +897,20 @@
                             },
                             {
                                 "label": "撤销",
+                                "code": "plan_uncommitted_cancel",
+                                "requireauth": true,
+                                "isshow": true,
+                                "remark": ""
+                            },
+                            {
+                                "label": "修改",
+                                "code": "plan_uncommitted_modify",
+                                "requireauth": true,
+                                "isshow": true,
+                                "remark": ""
+                            },
+                            {
+                                "label": "删除",
                                 "code": "plan_uncommitted_delete",
                                 "requireauth": true,
                                 "isshow": true,
@@ -984,12 +984,12 @@
                         "title": "外部成交单关联",
                         "code": "futures_spot_finish",
                         "path": "futures_spot_finish",
-                        "component": "",
+                        "component": "views/iframe/index.vue",
                         "sort": 1,
                         "requireauth": true,
                         "isshow": true,
-                        "url": "管理端",
-                        "remark": "",
+                        "url": "",
+                        "remark": "管理端",
                         "auth": [
                             {
                                 "label": "关联",
@@ -1011,12 +1011,12 @@
                         "title": "期现单据关联",
                         "code": "futures_spot_order",
                         "path": "futures_spot_order",
-                        "component": "",
+                        "component": "views/iframe/index.vue",
                         "sort": 2,
                         "requireauth": true,
                         "isshow": true,
-                        "url": "管理端",
-                        "remark": "",
+                        "url": "",
+                        "remark": "管理端",
                         "auth": [
                             {
                                 "label": "补单关联",
@@ -1038,12 +1038,12 @@
                         "title": "关联记录",
                         "code": "futures_spot_record",
                         "path": "futures_spot_record",
-                        "component": "",
+                        "component": "views/iframe/index.vue",
                         "sort": 3,
                         "requireauth": true,
                         "isshow": true,
-                        "url": "管理端",
-                        "remark": "",
+                        "url": "",
+                        "remark": "管理端",
                         "auth": [
                             {
                                 "label": "解除关联",
@@ -1258,12 +1258,12 @@
                         "title": "待审核",
                         "code": "hedge_ratio_checkpending",
                         "path": "hedge_ratio_checkpending",
-                        "component": "",
+                        "component": "views/iframe/index.vue",
                         "sort": 1,
                         "requireauth": true,
                         "isshow": true,
-                        "url": "管理端",
-                        "remark": "",
+                        "url": "/ermcp/paramchangeapp/initview",
+                        "remark": "管理端",
                         "auth": [
                             {
                                 "label": "审核",
@@ -1278,12 +1278,12 @@
                         "title": "已审核",
                         "code": "hedge_ratio_performance",
                         "path": "hedge_ratio_performance",
-                        "component": "",
+                        "component": "views/iframe/index.vue",
                         "sort": 2,
                         "requireauth": true,
                         "isshow": true,
-                        "url": "管理端",
-                        "remark": "",
+                        "url": "/ermcp/paramchangeapp/initview",
+                        "remark": "管理端",
                         "auth": []
                     }
                 ]
@@ -1303,12 +1303,12 @@
                         "title": "待审核",
                         "code": "spot_params_checkpending",
                         "path": "spot_params_checkpending",
-                        "component": "",
+                        "component": "views/iframe/index.vue",
                         "sort": 1,
                         "requireauth": true,
                         "isshow": true,
-                        "url": "管理端",
-                        "remark": "",
+                        "url": "/ermcp/paramchangeapp/initcommonview",
+                        "remark": "管理端",
                         "auth": [
                             {
                                 "label": "审核",
@@ -1323,12 +1323,12 @@
                         "title": "已审核",
                         "code": "spot_params_performance",
                         "path": "spot_params_performance",
-                        "component": "",
+                        "component": "views/iframe/index.vue",
                         "sort": 2,
                         "requireauth": true,
                         "isshow": true,
-                        "url": "管理端",
-                        "remark": "",
+                        "url": "/ermcp/paramchangeapp/initcommonview",
+                        "remark": "管理端",
                         "auth": []
                     }
                 ]

+ 48 - 4
controllers/common/menu.go

@@ -63,7 +63,7 @@ type GetClientMenusReq struct {
 // @Security ApiKeyAuth
 // @Param loginID query int true "登录账号"
 // @Param clientType query int false "终端类型,0:PCWEB 1:Mobile,不传默认返回PC端数据"
-// @Param name query string false "分支名称,ermcp:风管云平台 pingan:平安期货,不传默认返回风管云平台"
+// @Param name query string false "分支名称,ermcp-风管云平台;pingan-平安期货;trader-交易所;不传默认返回风管云平台"
 // @Success 200 {array} ClientMenu
 // @Failure 500 {object} app.Response
 // @Router /Common/GetClientMenus [get]
@@ -89,13 +89,15 @@ func GetClientMenus(c *gin.Context) {
 	// 获取分支名称
 	if len(req.Name) > 0 {
 		if req.ClientType == 0 {
-			// 目前只支持PCWEB
+			// PCWEB
 			jsonFile = fmt.Sprintf("pcweb_menu/pcweb_menu_%s.json", req.Name)
+		} else {
+			// 手机
+			jsonFile = fmt.Sprintf("mobile_menu/mobile_menu_%s.json", req.Name)
 		}
 	}
 
 	// 读取json文件
-	// 21-08-15 增加OEM菜单文件支持功能
 	filePtr, err := os.Open(fmt.Sprintf("config/%s", jsonFile))
 	if err != nil {
 		// 读取文件失败
@@ -115,7 +117,21 @@ func GetClientMenus(c *gin.Context) {
 		return
 	}
 
-	rst := createMenu(datas, req.LoginID)
+	isTrade, err := models.IsTrader(req.LoginID)
+	if err != nil {
+		// 判断用户类型失败
+		logger.GetLogger().Errorf("GetClientMenus failed: %s", err.Error())
+		appG.Response(http.StatusBadRequest, e.ERROR_QUERY_FAIL, nil)
+		return
+	}
+
+	var rst []ClientMenu
+	if isTrade {
+		// 交易所自营会员或投资者
+		rst = createTraderMenu(datas)
+	} else {
+		rst = createMenu(datas, req.LoginID)
+	}
 
 	r := make([]ClientMenu, 0)
 	if req.ClientType == 0 {
@@ -174,6 +190,34 @@ func createMenu(datas []interface{}, loginID int) []ClientMenu {
 	return clientMenus
 }
 
+// createTraderMenu 创建交易所版自营会员和投资者菜单
+func createTraderMenu(datas []interface{}) []ClientMenu {
+	clientMenus := make([]ClientMenu, 0)
+	for _, v := range datas {
+		data := v.(map[string]interface{})
+		if data["isshow"].(bool) {
+			item := ClientMenu{
+				Code:     data["code"].(string),
+				Title:    data["title"].(string),
+				Sort:     int(data["sort"].(float64)),
+				Type:     int(data["type"].(float64)),
+				RuleKey:  data["rulekey"].(string),
+				IsShow:   data["isshow"].(bool),
+				Children: createTraderMenu(data["children"].([]interface{})),
+			}
+			if data["url"] != nil {
+				item.URL = data["url"].(string)
+			}
+			if data["remark"] != nil {
+				item.Remark = data["remark"].(string)
+			}
+			clientMenus = append(clientMenus, item)
+		}
+	}
+
+	return clientMenus
+}
+
 // GetPCWebMenusReq 获取PCWeb交易端菜单请求参数
 type GetPCWebMenusReq struct {
 	LoginID int    `form:"loginID" binding:"required"`

+ 7 - 1
controllers/user/login.go

@@ -42,7 +42,13 @@ func GetLoginID(c *gin.Context) {
 		return
 	}
 
-	// 通过手机号码查询登录账号
+	// 通过LoginAccount表手机号码查询登录账号
+	if loginaccount, _ := models.GetLoginAccount2(req.UserName); loginaccount != nil {
+		appG.Response(http.StatusOK, e.SUCCESS, fmt.Sprintf("%v", loginaccount.Loginid))
+		return
+	}
+
+	// 通过UserInfo表手机号码查询登录账号
 	if loginaccount, _ := models.GetLoginAccountByMobile(req.UserName); loginaccount != nil {
 		appG.Response(http.StatusOK, e.SUCCESS, fmt.Sprintf("%v", loginaccount.Loginid))
 		return

+ 1 - 1
docs/docs.go

@@ -432,7 +432,7 @@ var doc = `{
                     },
                     {
                         "type": "string",
-                        "description": "分支名称,ermcp:风管云平台 pingan:平安期货,不传默认返回风管云平台",
+                        "description": "分支名称,ermcp-风管云平台;pingan-平安期货;trader-交易所;不传默认返回风管云平台",
                         "name": "name",
                         "in": "query"
                     }

+ 1 - 1
docs/swagger.json

@@ -416,7 +416,7 @@
                     },
                     {
                         "type": "string",
-                        "description": "分支名称,ermcp:风管云平台 pingan:平安期货,不传默认返回风管云平台",
+                        "description": "分支名称,ermcp-风管云平台;pingan-平安期货;trader-交易所;不传默认返回风管云平台",
                         "name": "name",
                         "in": "query"
                     }

+ 237 - 100
docs/swagger.yaml

@@ -531,7 +531,8 @@ definitions:
         description: 客户端流水号
         type: string
       clienttype:
-        description: 客户端类型 - 0:保留为未填终端类型 1:PC管理端 2:PC交易端 3:手机客户端_安卓 4:网页客户端 5:微信客户端 6:手机客户端_苹果 7:网上开户客户端 8:无效终端编号 9:报价终端(中江)
+        description: 客户端类型 - 0:保留为未填终端类型 1:PC管理端 2:PC交易端 3:手机客户端_安卓 4:网页客户端 5:微信客户端
+          6:手机客户端_苹果 7:网上开户客户端 8:无效终端编号 9:报价终端(中江)
         type: integer
       closeexchagechargevalue:
         description: 平仓交易所手续费设置值
@@ -615,7 +616,9 @@ definitions:
         description: 开仓解冻手续费(先建后平操作,需要记录)
         type: number
       operatetype:
-        description: 操作类型 - 1:正常下单 2:斩仓 3:转单 4:结算撤单 5:系统卖出(适用于先平后建的卖出) 6:行情源报价 7:(结算)到期强平 8:(结算)协议转让 9:系统对冲单 10:(结算)到期无效 11:交割协议转让 12:交割协议平仓 13:交割成交(所有权) 14:管理端强行平仓 15:管理端协议转让
+        description: 操作类型 - 1:正常下单 2:斩仓 3:转单 4:结算撤单 5:系统卖出(适用于先平后建的卖出) 6:行情源报价 7:(结算)到期强平
+          8:(结算)协议转让 9:系统对冲单 10:(结算)到期无效 11:交割协议转让 12:交割协议平仓 13:交割成交(所有权) 14:管理端强行平仓
+          15:管理端协议转让
         type: integer
       operatorid:
         description: 登录账号(LoginID)
@@ -630,10 +633,13 @@ definitions:
         description: 委托数量
         type: integer
       ordersrc:
-        description: 委托来源 -  1:客户端 2:管理端 3:风控服务 4:交割服务 5:交易服务 6:交易日结 7:商品强平 8:管理端商品退市强平 9:交易接口 10:交割服务商被动(受托竞价) 11:预埋触发
+        description: 委托来源 -  1:客户端 2:管理端 3:风控服务 4:交割服务 5:交易服务 6:交易日结 7:商品强平 8:管理端商品退市强平
+          9:交易接口 10:交割服务商被动(受托竞价) 11:预埋触发
         type: integer
       orderstatus:
-        description: 委托状态 - 1: 委托请求 2:待冻结 3:委托成功 4: 委托失败 5:配对成功 6: 已撤销 7:部分成交 8:已成交 9:部成部撤 10:成交失败 11:已拒绝 12:经过摘牌(先摘后挂专用-先摘后挂已摘过) 13:冻结成功(通道交易专用) 14:通道已撤 15:通道部成部撤 16:成交失败违约(荷兰式竞拍专用)
+        description: 委托状态 - 1: 委托请求 2:待冻结 3:委托成功 4: 委托失败 5:配对成功 6: 已撤销 7:部分成交 8:已成交
+          9:部成部撤 10:成交失败 11:已拒绝 12:经过摘牌(先摘后挂专用-先摘后挂已摘过) 13:冻结成功(通道交易专用) 14:通道已撤 15:通道部成部撤
+          16:成交失败违约(荷兰式竞拍专用)
         type: integer
       ordertime:
         description: 委托时间
@@ -2126,7 +2132,8 @@ definitions:
         description: 开仓成本
         type: number
       openpl:
-        description: 逐笔浮盈【实时行情更新】(MTP:开仓盈亏、平仓盈亏) 买方向 = (最新价 - 开仓均价) * 买期末头寸 * 合约单位;卖方向 = (开仓均价 - 最新价) * 卖期末头寸 * 合约单位
+        description: 逐笔浮盈【实时行情更新】(MTP:开仓盈亏、平仓盈亏) 买方向 = (最新价 - 开仓均价) * 买期末头寸 * 合约单位;卖方向
+          = (开仓均价 - 最新价) * 卖期末头寸 * 合约单位
         type: number
       outgoodscode:
         description: 商品代码(外部)
@@ -2138,7 +2145,8 @@ definitions:
         description: 持仓成本
         type: number
       positionpl:
-        description: 盯市浮盈【实时行情更新】(MTP:浮动盈亏、持仓盈亏) 买方向 = (最新价 - 持仓均价) * 买期末头寸 * 合约单位;卖方向 = (持仓均价 - 最新价) * 卖期末头寸 * 合约单位
+        description: 盯市浮盈【实时行情更新】(MTP:浮动盈亏、持仓盈亏) 买方向 = (最新价 - 持仓均价) * 买期末头寸 * 合约单位;卖方向
+          = (持仓均价 - 最新价) * 卖期末头寸 * 合约单位
         type: number
       positionplrate:
         description: 持仓盈亏比例【实时行情更新】 = 持仓盈亏 / 开仓成本
@@ -3032,7 +3040,8 @@ definitions:
         description: 昵称:默认为手机号脱敏(139****9999) 或 名称脱敏(张**)
         type: string
       openmode:
-        description: 开户方式 -  1:管理端开户 2:网上开户注册(会员官网-手机号) 3:微信开户 4:网页交易端注册 5:安卓手机端注册 6:苹果手机端注册 7:PC交易端注册 8:微信快速开户 9:支付宝快速开户 10:手机号快速开户 11:网上开户注册(会员官网-微信认证) 12:网上开户注册(会员官网-支付宝认证)
+        description: 开户方式 -  1:管理端开户 2:网上开户注册(会员官网-手机号) 3:微信开户 4:网页交易端注册 5:安卓手机端注册
+          6:苹果手机端注册 7:PC交易端注册 8:微信快速开户 9:支付宝快速开户 10:手机号快速开户 11:网上开户注册(会员官网-微信认证) 12:网上开户注册(会员官网-支付宝认证)
         type: integer
       otherurl:
         description: 其它图片地址[使用分号分隔]
@@ -3281,7 +3290,8 @@ definitions:
         description: 昵称:默认为手机号脱敏(139****9999) 或 名称脱敏(张**)
         type: string
       openmode:
-        description: 开户方式 -  1:管理端开户 2:网上开户注册(会员官网-手机号) 3:微信开户 4:网页交易端注册 5:安卓手机端注册 6:苹果手机端注册 7:PC交易端注册 8:微信快速开户 9:支付宝快速开户 10:手机号快速开户 11:网上开户注册(会员官网-微信认证) 12:网上开户注册(会员官网-支付宝认证)
+        description: 开户方式 -  1:管理端开户 2:网上开户注册(会员官网-手机号) 3:微信开户 4:网页交易端注册 5:安卓手机端注册
+          6:苹果手机端注册 7:PC交易端注册 8:微信快速开户 9:支付宝快速开户 10:手机号快速开户 11:网上开户注册(会员官网-微信认证) 12:网上开户注册(会员官网-支付宝认证)
         type: integer
       otherurl:
         description: 其它图片地址[使用分号分隔]
@@ -3763,7 +3773,9 @@ definitions:
         description: 上级组织机构(组织机构)
         type: integer
       roletype:
-        description: 角色类型 -  1:交易所 2:运营机构 3:营销中心 4:仓库机构 5:三方服务机构 6:自营会员 7:经纪会员 8:做市会员 9:产业会员 10:金融机构 11:商城店铺 12:子机构 13:报价商 14:积分服务商 15:供货商 16:圈内会员 17:物流机构 18:报价配置机构 19:场外期权做市商 20:组织机构 21:顶级机构 22:业务员 23:跟单员 24:交易员 25:客户      98:代理 99:门店
+        description: 角色类型 -  1:交易所 2:运营机构 3:营销中心 4:仓库机构 5:三方服务机构 6:自营会员 7:经纪会员 8:做市会员
+          9:产业会员 10:金融机构 11:商城店铺 12:子机构 13:报价商 14:积分服务商 15:供货商 16:圈内会员 17:物流机构 18:报价配置机构
+          19:场外期权做市商 20:组织机构 21:顶级机构 22:业务员 23:跟单员 24:交易员 25:客户      98:代理 99:门店
         type: integer
       rootuserid:
         description: 顶级组织机构用户ID(组织机构)
@@ -5851,7 +5863,8 @@ definitions:
         description: 单位id
         type: integer
       hedgeflag:
-        description: 投机套保标志 - 0:无 1:投机 2:套保 3:套利 4:套期保值(平安\合同) 5:单边(平安) 6:移仓(平安) 7:错单处理(平安) 8:跨期套利(平安) 9:套期保值(计划) 10:套利(合同)  11:换月(合同) 12:交割(金瑞)
+        description: 投机套保标志 - 0:无 1:投机 2:套保 3:套利 4:套期保值(平安\合同) 5:单边(平安) 6:移仓(平安) 7:错单处理(平安)
+          8:跨期套利(平安) 9:套期保值(计划) 10:套利(合同)  11:换月(合同) 12:交割(金瑞)
         type: integer
       marketid:
         description: 市场ID
@@ -6865,7 +6878,8 @@ definitions:
         description: 合约名称
         type: string
       hedgeflag:
-        description: 业务类型 | 投机套保标志 - 0:无 1:投机 2:套保 3:套利 4:套期保值(平安\合同) 5:单边(平安) 6:移仓(平安) 7:错单处理(平安) 8:跨期套利(平安) 9:套期保值(计划) 10:套利(合同)  11:换月(合同)  12:交割(金瑞)
+        description: 业务类型 | 投机套保标志 - 0:无 1:投机 2:套保 3:套利 4:套期保值(平安\合同) 5:单边(平安) 6:移仓(平安)
+          7:错单处理(平安) 8:跨期套利(平安) 9:套期保值(计划) 10:套利(合同)  11:换月(合同)  12:交割(金瑞)
         type: integer
       linkdetailid:
         description: 关联ID(614+Unix秒时间戳(10位)+xxxxxx)
@@ -7358,7 +7372,8 @@ definitions:
         description: 备注
         type: string
       trademode:
-        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式 21:竞拍-大宗式 22:受托竞价
+        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式
+          21:竞拍-大宗式 22:受托竞价
         type: integer
     required:
     - goodscode
@@ -8508,7 +8523,8 @@ definitions:
         description: 成交单号(101+Unix秒时间戳(10位)+2位(MarketServiceID)+xxxx)
         type: string
       trademode:
-        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式 21:竞拍-大宗式 22:受托竞价
+        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式
+          21:竞拍-大宗式 22:受托竞价
         type: integer
       tradeprice:
         description: 成交价格
@@ -8582,7 +8598,8 @@ definitions:
         description: 时间
         type: string
       trademode:
-        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式 21:竞拍-大宗式 22:受托竞价
+        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式
+          21:竞拍-大宗式 22:受托竞价
         type: integer
       vendorname1:
         description: 预售商品供应商名称
@@ -8699,7 +8716,8 @@ definitions:
         description: 价格最小变动单位
         type: number
       trademode:
-        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式 21:竞拍-大宗式 22:受托竞价
+        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式
+          21:竞拍-大宗式 22:受托竞价
         type: integer
       vendorattr:
         description: 供应商附件(多张,逗号分隔)
@@ -8774,7 +8792,9 @@ definitions:
         description: 委托价格
         type: number
       orderstatus:
-        description: 委托状态 - 1: 委托请求 2:待冻结 3:委托成功 4: 委托失败 5:配对成功 6: 已撤销 7:部分成交 8:已成交 9:部成部撤 10:成交失败 11:已拒绝 12:经过摘牌(先摘后挂专用-先摘后挂已摘过) 13:冻结成功(通道交易专用) 14:通道已撤 15:通道部成部撤 16:成交失败违约(荷兰式竞拍专用)
+        description: 委托状态 - 1: 委托请求 2:待冻结 3:委托成功 4: 委托失败 5:配对成功 6: 已撤销 7:部分成交 8:已成交
+          9:部成部撤 10:成交失败 11:已拒绝 12:经过摘牌(先摘后挂专用-先摘后挂已摘过) 13:冻结成功(通道交易专用) 14:通道已撤 15:通道部成部撤
+          16:成交失败违约(荷兰式竞拍专用)
         type: integer
       picurls:
         description: 介绍图片[多张用逗号分隔]
@@ -8786,7 +8806,8 @@ definitions:
         description: 卖方UserID
         type: integer
       trademode:
-        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式 21:竞拍-大宗式 22:受托竞价
+        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式
+          21:竞拍-大宗式 22:受托竞价
         type: integer
       videourls:
         description: 介绍视频[多张用逗号分隔]
@@ -8867,7 +8888,9 @@ definitions:
         description: 委托数量
         type: integer
       orderstatus:
-        description: 委托状态 - 1: 委托请求 2:待冻结 3:委托成功 4: 委托失败 5:配对成功 6: 已撤销 7:部分成交 8:已成交 9:部成部撤 10:成交失败 11:已拒绝 12:经过摘牌(先摘后挂专用-先摘后挂已摘过) 13:冻结成功(通道交易专用) 14:通道已撤 15:通道部成部撤 16:成交失败违约(荷兰式竞拍专用)
+        description: 委托状态 - 1: 委托请求 2:待冻结 3:委托成功 4: 委托失败 5:配对成功 6: 已撤销 7:部分成交 8:已成交
+          9:部成部撤 10:成交失败 11:已拒绝 12:经过摘牌(先摘后挂专用-先摘后挂已摘过) 13:冻结成功(通道交易专用) 14:通道已撤 15:通道部成部撤
+          16:成交失败违约(荷兰式竞拍专用)
         type: integer
       picurls:
         description: 介绍图片[多张用逗号分隔]
@@ -8879,7 +8902,8 @@ definitions:
         description: 卖方UserID
         type: integer
       trademode:
-        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式 21:竞拍-大宗式 22:受托竞价
+        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式
+          21:竞拍-大宗式 22:受托竞价
         type: integer
       tradeqty:
         description: 成交数量
@@ -8910,7 +8934,8 @@ definitions:
   models.HsbyMarketInfo:
     properties:
       marketid:
-        description: 市场ID正常5位,前三位固定:两位表示交易模式, 一位表示交易属性(1:收益权,2:所有权) 其它特殊市场:0-系统 1-交割服务 2-账户服务3-履约服务 4-仓单服务 5-积分服务 6-银行服务
+        description: 市场ID正常5位,前三位固定:两位表示交易模式, 一位表示交易属性(1:收益权,2:所有权) 其它特殊市场:0-系统 1-交割服务
+          2-账户服务3-履约服务 4-仓单服务 5-积分服务 6-银行服务
         type: integer
       marketname:
         description: 市场名称
@@ -8919,7 +8944,8 @@ definitions:
         description: '生效状态(ValidStatus枚举): 1:待生效 2:正常 3:注销'
         type: integer
       trademode:
-        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式 21:竞拍-大宗式 22:受托竞价
+        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式
+          21:竞拍-大宗式 22:受托竞价
         type: integer
     required:
     - marketid
@@ -8995,7 +9021,8 @@ definitions:
         description: 价格最小变动单位
         type: number
       trademode:
-        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式 21:竞拍-大宗式 22:受托竞价
+        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式
+          21:竞拍-大宗式 22:受托竞价
         type: integer
     required:
     - accountid
@@ -9089,7 +9116,8 @@ definitions:
         description: 交易日(yyyyMMdd)
         type: string
       trademode:
-        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式 21:竞拍-大宗式 22:受托竞价
+        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式
+          21:竞拍-大宗式 22:受托竞价
         type: integer
       userid:
         description: 用户ID
@@ -9166,7 +9194,8 @@ definitions:
         description: 关联交易合约ID
         type: integer
       trademode:
-        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式 21:竞拍-大宗式 22:受托竞价
+        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式
+          21:竞拍-大宗式 22:受托竞价
         type: integer
       videourls:
         description: 介绍视频[多张用逗号分隔]
@@ -9259,7 +9288,8 @@ definitions:
         description: 价格最小变动单位
         type: number
       trademode:
-        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式 21:竞拍-大宗式 22:受托竞价
+        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式
+          21:竞拍-大宗式 22:受托竞价
         type: integer
       vendorattr:
         description: 供应商附件(多张,逗号分隔)
@@ -9349,7 +9379,8 @@ definitions:
         description: 成交单号(101+Unix秒时间戳(10位)+2位(MarketServiceID)+xxxx)
         type: string
       trademode:
-        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式 21:竞拍-大宗式 22:受托竞价
+        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式
+          21:竞拍-大宗式 22:受托竞价
         type: integer
       tradeprice:
         description: 成交价格
@@ -9411,7 +9442,8 @@ definitions:
         description: 时间
         type: string
       trademode:
-        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式 21:竞拍-大宗式 22:受托竞价
+        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式
+          21:竞拍-大宗式 22:受托竞价
         type: integer
       vendorname:
         description: 供应商名称
@@ -9472,7 +9504,8 @@ definitions:
         description: 行情最小变动单位 [整数,报价小数位一起使用]
         type: integer
       trademode:
-        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式 21:竞拍-大宗式 22:受托竞价
+        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式
+          21:竞拍-大宗式 22:受托竞价
         type: integer
       videourls:
         description: 介绍视频[多张用逗号分隔]
@@ -9535,7 +9568,9 @@ definitions:
         description: 委托数量
         type: integer
       orderstatus:
-        description: 委托状态 - 1: 委托请求 2:待冻结 3:委托成功 4: 委托失败 5:配对成功 6: 已撤销 7:部分成交 8:已成交 9:部成部撤 10:成交失败 11:已拒绝 12:经过摘牌(先摘后挂专用-先摘后挂已摘过) 13:冻结成功(通道交易专用) 14:通道已撤 15:通道部成部撤 16:成交失败违约(荷兰式竞拍专用)
+        description: 委托状态 - 1: 委托请求 2:待冻结 3:委托成功 4: 委托失败 5:配对成功 6: 已撤销 7:部分成交 8:已成交
+          9:部成部撤 10:成交失败 11:已拒绝 12:经过摘牌(先摘后挂专用-先摘后挂已摘过) 13:冻结成功(通道交易专用) 14:通道已撤 15:通道部成部撤
+          16:成交失败违约(荷兰式竞拍专用)
         type: integer
       ordertime:
         description: 委托时间
@@ -9547,7 +9582,8 @@ definitions:
         description: 挂牌商品介绍图片[多张用逗号分隔]
         type: string
       trademode:
-        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式 21:竞拍-大宗式 22:受托竞价
+        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式
+          21:竞拍-大宗式 22:受托竞价
         type: integer
       tradeqty:
         description: 成交数量
@@ -9591,7 +9627,8 @@ definitions:
         description: 最新登录地址
         type: string
       lastloginmode:
-        description: 最新登录方式(客户端类型) -  0:保留为未填终端类型 1:PC管理端 2:PC交易端 3:手机客户端_安卓 4:网页客户端 5:微信客户端 6:手机客户端_苹果 7:网上开户客户端 8:无效终端编号 9:报价终端(中江)
+        description: 最新登录方式(客户端类型) -  0:保留为未填终端类型 1:PC管理端 2:PC交易端 3:手机客户端_安卓 4:网页客户端
+          5:微信客户端 6:手机客户端_苹果 7:网上开户客户端 8:无效终端编号 9:报价终端(中江)
         type: integer
       lastloginremark:
         description: 最新登录描述
@@ -9749,7 +9786,8 @@ definitions:
         description: 持仓保证金公式(仅受托竞价) - 1:双边收 2:净头寸收 3:大小边差异收 4:大边收 5:卖持仓收(仅期权)
         type: integer
       marketid:
-        description: 市场ID正常5位,前三位固定:两位表示交易模式, 一位表示交易属性(1:收益权,2:所有权) 其它特殊市场:0-系统 1-交割服务 2-账户服务3-履约服务 4-仓单服务 5-积分服务 6-银行服务
+        description: 市场ID正常5位,前三位固定:两位表示交易模式, 一位表示交易属性(1:收益权,2:所有权) 其它特殊市场:0-系统 1-交割服务
+          2-账户服务3-履约服务 4-仓单服务 5-积分服务 6-银行服务
         type: integer
       marketname:
         description: 市场名称
@@ -9794,7 +9832,8 @@ definitions:
         description: 结算顺序
         type: integer
       reckonpricealgorithm:
-        description: '结算价算法: 1:最后多少笔成交价加权平均 2:最后多少秒成交价加权平均 3:全天加权平均 4:最后一口价 5.买一价 6.卖一价 7.买一卖一均价 8.外部结算价'
+        description: '结算价算法: 1:最后多少笔成交价加权平均 2:最后多少秒成交价加权平均 3:全天加权平均 4:最后一口价 5.买一价
+          6.卖一价 7.买一卖一均价 8.外部结算价'
         type: integer
       reckonpriceparam:
         description: 结算价参数
@@ -9812,10 +9851,12 @@ definitions:
         description: 交易市场类型 - 1:合约市场 2:外部市场 3:仓单市场
         type: integer
       trademode:
-        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式 21:竞拍-大宗式 22:受托竞价
+        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式
+          21:竞拍-大宗式 22:受托竞价
         type: integer
       tradeproperty:
-        description: 交易属性 -  1:收益权(可做空) 2:所有权(不可做空) 3:期权 4:现货 5:参考行情 6:通道交易 7:币交易 8:场外期权
+        description: 交易属性 -  1:收益权(可做空) 2:所有权(不可做空) 3:期权 4:现货 5:参考行情 6:通道交易 7:币交易
+          8:场外期权
         type: integer
       tradetype:
         description: 下单方式[通道交易] - 1:直接转单 2:净头寸下单
@@ -9858,7 +9899,12 @@ definitions:
         description: '结算标识 - 0: 停止结算 1: 正常(管理端控制此字段,交易服务根据此字段判断是否做结算)'
         type: integer
       runstatus:
-        description: 运行状态 - 0:初始化 1:待开市 2:开市 3:休市 4:手工休市 5:闭市 6:确认行权开始 7:确认行权结束 10:日终处理开始 11:日终处理成功 12:日终处理失败 13基础服务结算开始 14基础服务结算成功 23.资金结算开始 24.资金结算成功 25.资金结算失败 26.系统结算成功 27.系统结算失败 28.盘中处理开始 29.盘中处理成功 30.盘中处理失败 31.资金结算开始(内) 32.资金结算成功(内) 33.资金结算失败(内) 40.签到开始 41.签到成功 42.签到部份成功 43.签到失败 44.签退开始 45.签退成功 46.签退部份成功 47.签退失败 48.对账开始 49.对账成功 50.对账失败 51.清算开始 52.清算成功 53.清算失败 54.清算部分成功 55. 系统结算开始 62.今日免清算
+        description: 运行状态 - 0:初始化 1:待开市 2:开市 3:休市 4:手工休市 5:闭市 6:确认行权开始 7:确认行权结束 10:日终处理开始
+          11:日终处理成功 12:日终处理失败 13基础服务结算开始 14基础服务结算成功 23.资金结算开始 24.资金结算成功 25.资金结算失败
+          26.系统结算成功 27.系统结算失败 28.盘中处理开始 29.盘中处理成功 30.盘中处理失败 31.资金结算开始(内) 32.资金结算成功(内)
+          33.资金结算失败(内) 40.签到开始 41.签到成功 42.签到部份成功 43.签到失败 44.签退开始 45.签退成功 46.签退部份成功
+          47.签退失败 48.对账开始 49.对账成功 50.对账失败 51.清算开始 52.清算成功 53.清算失败 54.清算部分成功 55. 系统结算开始
+          62.今日免清算
         type: integer
       sectionid:
         description: 时间段号[多时段时用]
@@ -10137,7 +10183,10 @@ definitions:
         description: 申请备注
         type: string
       applystatus:
-        description: '申请状态 - 1:待审核 2:待复审 3:初审拒绝 4:交易冻结中 5:交易解冻中 6:交易解冻扣款中 7:交易入金中 8:交易冻结/解冻/扣款中(银行发起出金时用) 9:银行出金中 10:银行入金中 11:成功 12:失败 13:银行审核中  14:账户服务入金失败; 15:账户服务解冻失败; 16:账户服务解冻扣款失败; 17:账户服务出金失败 18:复审通过 19:复审拒绝 20:提交审核,账户冻结中 21:审核拒绝,账户解冻中;22: 待审核,账户服务解冻回滚中; 23:待复审,账户服务解冻回滚中; 24: 审核通过,账户冻结金额检查中;25: 复审通过,账户冻结金额检查中;'
+        description: '申请状态 - 1:待审核 2:待复审 3:初审拒绝 4:交易冻结中 5:交易解冻中 6:交易解冻扣款中 7:交易入金中
+          8:交易冻结/解冻/扣款中(银行发起出金时用) 9:银行出金中 10:银行入金中 11:成功 12:失败 13:银行审核中  14:账户服务入金失败;
+          15:账户服务解冻失败; 16:账户服务解冻扣款失败; 17:账户服务出金失败 18:复审通过 19:复审拒绝 20:提交审核,账户冻结中 21:审核拒绝,账户解冻中;22:
+          待审核,账户服务解冻回滚中; 23:待复审,账户服务解冻回滚中; 24: 审核通过,账户冻结金额检查中;25: 复审通过,账户冻结金额检查中;'
         type: integer
       auditid:
         description: 审核人
@@ -10188,7 +10237,8 @@ definitions:
         description: 银行服务流水号
         type: string
       executetype:
-        description: '申请类型 - 1:出金 2:入金 3: 单边账调整:入金; 4:单边账调整:出金 5:外部母账户调整:入金 6:外部母账户调整:出金 7:外部子账户:入金 8:外部子账户:出金'
+        description: '申请类型 - 1:出金 2:入金 3: 单边账调整:入金; 4:单边账调整:出金 5:外部母账户调整:入金 6:外部母账户调整:出金
+          7:外部子账户:入金 8:外部子账户:出金'
         type: integer
       extendinfo:
         description: 扩展信息
@@ -10485,7 +10535,8 @@ definitions:
         description: 关联使用者userid
         type: integer
       signstatus:
-        description: 签约状态 - 1:未签约 2:签约待审核 3:签约中 4:已签约 5:解约待审核 6:解约中 7:已解约 8:已解绑 9:绑卡中 10:审核拒绝 11:换签待审核
+        description: 签约状态 - 1:未签约 2:签约待审核 3:签约中 4:已签约 5:解约待审核 6:解约中 7:已解约 8:已解绑 9:绑卡中
+          10:审核拒绝 11:换签待审核
         type: integer
       updatetime:
         description: 更新时间(签解约更新时间)
@@ -10721,7 +10772,8 @@ definitions:
         description: SCF合同ID(310+Unix秒时间戳(10位)+xxxxxx)
         type: string
       scfcontractstatus:
-        description: 合同状态 - 1:待确认 2:已确认 3:确认拒绝 4:已支付保证金 5:已激活 6:已违约 7:到期结束 8:延期结束 9:违约结束 10:已注销 11:已关闭 99:未提交
+        description: 合同状态 - 1:待确认 2:已确认 3:确认拒绝 4:已支付保证金 5:已激活 6:已违约 7:到期结束 8:延期结束
+          9:违约结束 10:已注销 11:已关闭 99:未提交
         type: integer
       scfcontracttype:
         description: 合同类型 - 1:仓单回购 2:仓单质押 3:合作套保 4:资金贷款 5:融资单
@@ -11092,7 +11144,10 @@ definitions:
         description: 申请备注
         type: string
       applystatus:
-        description: '申请状态 - 1:待审核 2:待复审 3:初审拒绝 4:交易冻结中 5:交易解冻中 6:交易解冻扣款中 7:交易入金中 8:交易冻结/解冻/扣款中(银行发起出金时用) 9:银行出金中 10:银行入金中 11:成功 12:失败 13:银行审核中  14:账户服务入金失败; 15:账户服务解冻失败; 16:账户服务解冻扣款失败; 17:账户服务出金失败 18:复审通过 19:复审拒绝 20:提交审核,账户冻结中 21:审核拒绝,账户解冻中;22: 待审核,账户服务解冻回滚中; 23:待复审,账户服务解冻回滚中; 24: 审核通过,账户冻结金额检查中;25: 复审通过,账户冻结金额检查中;'
+        description: '申请状态 - 1:待审核 2:待复审 3:初审拒绝 4:交易冻结中 5:交易解冻中 6:交易解冻扣款中 7:交易入金中
+          8:交易冻结/解冻/扣款中(银行发起出金时用) 9:银行出金中 10:银行入金中 11:成功 12:失败 13:银行审核中  14:账户服务入金失败;
+          15:账户服务解冻失败; 16:账户服务解冻扣款失败; 17:账户服务出金失败 18:复审通过 19:复审拒绝 20:提交审核,账户冻结中 21:审核拒绝,账户解冻中;22:
+          待审核,账户服务解冻回滚中; 23:待复审,账户服务解冻回滚中; 24: 审核通过,账户冻结金额检查中;25: 复审通过,账户冻结金额检查中;'
         type: integer
       auditid:
         description: 审核人
@@ -11146,7 +11201,8 @@ definitions:
         description: 银行服务流水号
         type: string
       executetype:
-        description: '申请类型 - 1:出金 2:入金 3: 单边账调整:入金; 4:单边账调整:出金 5:外部母账户调整:入金 6:外部母账户调整:出金 7:外部子账户:入金 8:外部子账户:出金'
+        description: '申请类型 - 1:出金 2:入金 3: 单边账调整:入金; 4:单边账调整:出金 5:外部母账户调整:入金 6:外部母账户调整:出金
+          7:外部子账户:入金 8:外部子账户:出金'
         type: integer
       extendinfo:
         description: 扩展信息
@@ -11392,7 +11448,8 @@ definitions:
         description: SCF合同ID(310+Unix秒时间戳(10位)+xxxxxx)
         type: string
       scfcontractstatus:
-        description: 合同状态 - 1:待确认 2:已确认 3:确认拒绝 4:已支付保证金 5:已激活 6:已违约 7:到期结束 8:延期结束 9:违约结束 10:已注销 11:已关闭 99:未提交
+        description: 合同状态 - 1:待确认 2:已确认 3:确认拒绝 4:已支付保证金 5:已激活 6:已违约 7:到期结束 8:延期结束
+          9:违约结束 10:已注销 11:已关闭 99:未提交
         type: integer
       scfcontracttype:
         description: 合同类型 - 1:仓单回购 2:仓单质押 3:合作套保 4:资金贷款 5:融资单
@@ -11530,7 +11587,8 @@ definitions:
         description: 性别 0-女 1-男
         type: integer
       status:
-        description: '开户状态(网上开户表wskh_userinfo) 1:未提交 2: 待初审 3:初审拒绝 4:待复审 5:复审拒绝 6:测评不通过 ; 账户状态(正式表useraccount) 1:待激活 2:待审核 3:待复审 4:正常 5:审核拒绝 6:停用(注销) 7:注销(删除)'
+        description: '开户状态(网上开户表wskh_userinfo) 1:未提交 2: 待初审 3:初审拒绝 4:待复审 5:复审拒绝 6:测评不通过
+          ; 账户状态(正式表useraccount) 1:待激活 2:待审核 3:待复审 4:正常 5:审核拒绝 6:停用(注销) 7:注销(删除)'
         type: integer
       statusdesc:
         description: 账户状态中文描述
@@ -11818,7 +11876,9 @@ definitions:
         description: 数量
         type: number
       orderstatus:
-        description: 委托状态 - 1: 委托请求 2:待冻结 3:委托成功 4: 委托失败 5:配对成功 6: 已撤销 7:部分成交 8:已成交 9:部成部撤 10:成交失败 11:已拒绝 12:经过摘牌(先摘后挂专用-先摘后挂已摘过) 13:冻结成功(通道交易专用) 14:通道已撤 15:通道部成部撤 16:成交失败违约(荷兰式竞拍专用)
+        description: 委托状态 - 1: 委托请求 2:待冻结 3:委托成功 4: 委托失败 5:配对成功 6: 已撤销 7:部分成交 8:已成交
+          9:部成部撤 10:成交失败 11:已拒绝 12:经过摘牌(先摘后挂专用-先摘后挂已摘过) 13:冻结成功(通道交易专用) 14:通道已撤 15:通道部成部撤
+          16:成交失败违约(荷兰式竞拍专用)
         type: integer
       ordertime:
         description: 委托时间
@@ -12602,7 +12662,8 @@ definitions:
         description: 交易日(yyyyMMdd)
         type: string
       trademode:
-        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式 21:竞拍-大宗式 22:受托竞价
+        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式
+          21:竞拍-大宗式 22:受托竞价
         type: integer
       tradeprice:
         description: 成交价格
@@ -12764,7 +12825,8 @@ definitions:
         description: 提货单号(905+Unix秒时间戳(10位)+xxxxxx)
         type: string
       takeorderstatus:
-        description: 提货状态 -  1:备货中 2:待取货(自提) 3:已取货(自提) 4:待收货(邮寄) 5:已收货(邮寄) 6:自动收货(邮寄) 7:已拒绝 8:已撤销
+        description: 提货状态 -  1:备货中 2:待取货(自提) 3:已取货(自提) 4:待收货(邮寄) 5:已收货(邮寄) 6:自动收货(邮寄)
+          7:已拒绝 8:已撤销
         type: integer
       takeremark:
         description: 提货备注
@@ -12904,7 +12966,8 @@ definitions:
         description: 开平标志 - 0:无 1:建仓 2:平仓
         type: integer
       channelinnerorderstatus:
-        description: 委托状态 - 1:委托请求 2:冻结成功 3:委托失败 4:委托部成部失败 5:委托成功 6:全部撤销 7:部成部撤 8:部成部撤部失败 9:全部成交
+        description: 委托状态 - 1:委托请求 2:冻结成功 3:委托失败 4:委托部成部失败 5:委托成功 6:全部撤销 7:部成部撤 8:部成部撤部失败
+          9:全部成交
         type: integer
       channeloperatetype:
         description: 操作类型 - 1:正常委托 2:斩仓委托 3:强平委托
@@ -13153,7 +13216,8 @@ definitions:
         description: 市场名称
         type: string
       trademode:
-        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式 21:竞拍-大宗式 22:受托竞价
+        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式
+          21:竞拍-大宗式 22:受托竞价
         type: integer
     required:
     - goodscode
@@ -13215,7 +13279,8 @@ definitions:
         description: 是否可转出 - 0:不可 1:可 [5:花生米转交易]
         type: integer
       converttype:
-        description: 转换类型 - 1:金点赞转交易 2:金点拍转交易 3:交易转金点赞(不设置) 4:交易转金点拍(不设置) 5:花生米转交易 6:交易转花生米(不设置)
+        description: 转换类型 - 1:金点赞转交易 2:金点拍转交易 3:交易转金点赞(不设置) 4:交易转金点拍(不设置) 5:花生米转交易
+          6:交易转花生米(不设置)
         type: integer
       createtime:
         description: 创建时间
@@ -13835,7 +13900,8 @@ definitions:
         description: 成交单号(101+Unix秒时间戳(10位)+2位(MarketServiceID)+xxxx)
         type: string
       trademode:
-        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式 21:竞拍-大宗式 22:受托竞价 46:掉期
+        description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式
+          21:竞拍-大宗式 22:受托竞价 46:掉期
         type: integer
       tradeproperty:
         description: 交易属性
@@ -14154,7 +14220,8 @@ definitions:
         description: 昵称:默认为名称脱敏(张**) 或 手机号脱敏(139****9999)
         type: string
       openmode:
-        description: 开户方式 -  1:管理端开户 2:网上开户注册(会员官网) 3:微信开户 4:网页交易端注册 5:安卓手机端注册 6:苹果手机端注册 7:PC交易端注册 8:微信快速开户 9:支付宝快速开户 10:手机号快速开户
+        description: 开户方式 -  1:管理端开户 2:网上开户注册(会员官网) 3:微信开户 4:网页交易端注册 5:安卓手机端注册 6:苹果手机端注册
+          7:PC交易端注册 8:微信快速开户 9:支付宝快速开户 10:手机号快速开户
         type: integer
       otherurl:
         description: 其它图片地址[使用分号分隔]
@@ -14258,7 +14325,10 @@ definitions:
         description: 交割商品名称
         type: string
       factoryitemjson:
-        description: '要素项定义Json[{"DGFactoryItemTypeID": ,"ItemTypeMode": ,"FactoryItemIDs": },{.....},]DGFactoryItemTypeID - 要素项类型ID --DGFactoryItem->DGFactoryItemTypeIDItemTypeMode - 要素项类型模式 --DGFactoryItem->ItemTypeModeFactoryItemIDs - 选择项IDs--DGFactoryItem->DGFactoryItemID, 逗号分隔'
+        description: '要素项定义Json[{"DGFactoryItemTypeID": ,"ItemTypeMode": ,"FactoryItemIDs":
+          },{.....},]DGFactoryItemTypeID - 要素项类型ID --DGFactoryItem->DGFactoryItemTypeIDItemTypeMode
+          - 要素项类型模式 --DGFactoryItem->ItemTypeModeFactoryItemIDs - 选择项IDs--DGFactoryItem->DGFactoryItemID,
+          逗号分隔'
         type: string
       isvalid:
         description: 是否有效 - 0:无效 1:有效
@@ -15131,7 +15201,8 @@ definitions:
         description: 步骤信息(步骤名称+步骤值)
         type: string
       steptypeid:
-        description: 履约步骤类型ID - 1:买方支付 2:卖方收款 3:买方自提 4:卖方发货 5:买方确认货 6:卖方发票 7:买方确认票 8:仓单转移 9:释放卖方冻结  10:货款溢短 11:生成合同[中江] 12:运费 90:确认支付 91. 确认放行 92买方支付(直接扣款)   用于-1模板“
+        description: 履约步骤类型ID - 1:买方支付 2:卖方收款 3:买方自提 4:卖方发货 5:买方确认货 6:卖方发票 7:买方确认票
+          8:仓单转移 9:释放卖方冻结  10:货款溢短 11:生成合同[中江] 12:运费 90:确认支付 91. 确认放行 92买方支付(直接扣款)   用于-1模板“
         type: integer
       steptypename:
         description: 步骤名称
@@ -15296,10 +15367,12 @@ definitions:
         description: 修改人
         type: integer
       performancetempid:
-        description: 履约计划模板ID(有仓单) - 根据交货模式:1:履约 - 履约计划模板2:分步履约 - 履约计划模板3:分步提货 - 履约方式: 立即执行(-1)
+        description: 履约计划模板ID(有仓单) - 根据交货模式:1:履约 - 履约计划模板2:分步履约 - 履约计划模板3:分步提货 - 履约方式:
+          立即执行(-1)
         type: integer
       performancetempid2:
-        description: 履约计划模板ID(无仓单) - 根据交货模式:1:履约 - 履约计划模板2:分步履约 - 履约计划模板3:分步提货 - 履约方式: 立即执行
+        description: 履约计划模板ID(无仓单) - 根据交货模式:1:履约 - 履约计划模板2:分步履约 - 履约计划模板3:分步提货 - 履约方式:
+          立即执行
         type: integer
       performanceway:
         description: 交货模式 - 1:履约计划 2:分步履约 3:分步提货[文昌]
@@ -15443,7 +15516,8 @@ definitions:
         description: 交易日(yyyyMMdd)
         type: string
       tradeprice:
-        description: 成交价格 - [摘牌] (浮动价  ((商品1价格*商品1价格系数+升贴水)* 商品1重量系数 + 商品2价格*商品2价格系数+商品2升贴水)* 商品2重量系数 ...)* 委托单价格系数 + 委托单升贴水)
+        description: 成交价格 - [摘牌] (浮动价  ((商品1价格*商品1价格系数+升贴水)* 商品1重量系数 + 商品2价格*商品2价格系数+商品2升贴水)*
+          商品2重量系数 ...)* 委托单价格系数 + 委托单升贴水)
         type: number
       tradeqty:
         description: 成交数量
@@ -15608,7 +15682,8 @@ definitions:
         description: 申请单id
         type: string
       applystatus:
-        description: 申请状态 - 0:预约成功 1:待初审 2:初审通过 3:初审拒绝 4:初审失败 5复审通过 6:复审拒绝 7:复审失败 8:已撤销
+        description: 申请状态 - 0:预约成功 1:待初审 2:初审通过 3:初审拒绝 4:初审失败 5复审通过 6:复审拒绝 7:复审失败
+          8:已撤销
         type: integer
       applytime:
         description: 申请时间
@@ -15767,10 +15842,12 @@ definitions:
         description: 履约计划ID(130+yyMMddHHmmss+xxxx)
         type: string
       performancestatus:
-        description: 履约状态 -  1:初始化 2:正常 3:处理错误 4:违约待处理 5:违约处理中 6:完成 7.违约已完成 8:释放冻结失败 9:超时待处理 10:超时关闭
+        description: 履约状态 -  1:初始化 2:正常 3:处理错误 4:违约待处理 5:违约处理中 6:完成 7.违约已完成 8:释放冻结失败
+          9:超时待处理 10:超时关闭
         type: integer
       performancetype:
-        description: 履约类型 - 0:通用 1:交割 2:仓单贸易 3:预售集采 4:竞拍-降价式 (无仓单) 5:挂牌期权 6:竞拍-降价式 7:竞拍-竞价式 8:竞拍-大宗式 9:荷兰式 10:法币C2C 11:报价系统 12:挂牌系统
+        description: 履约类型 - 0:通用 1:交割 2:仓单贸易 3:预售集采 4:竞拍-降价式 (无仓单) 5:挂牌期权 6:竞拍-降价式
+          7:竞拍-竞价式 8:竞拍-大宗式 9:荷兰式 10:法币C2C 11:报价系统 12:挂牌系统
         type: integer
       qty:
         description: 履约数量
@@ -15803,7 +15880,8 @@ definitions:
         description: 开始时间
         type: string
       steptypeid:
-        description: 履约步骤类型ID - 1:买方支付 2:卖方收款 3:买方自提 4:卖方发货 5:买方确认货 6:卖方发票 7:买方确认票 8:仓单转移 9:释放卖方冻结  10:货款溢短 11:生成合同[中江] 12:运费 90:确认支付 91. 确认放行 92买方支付(直接扣款)   用于-1模板“
+        description: 履约步骤类型ID - 1:买方支付 2:卖方收款 3:买方自提 4:卖方发货 5:买方确认货 6:卖方发票 7:买方确认票
+          8:仓单转移 9:释放卖方冻结  10:货款溢短 11:生成合同[中江] 12:运费 90:确认支付 91. 确认放行 92买方支付(直接扣款)   用于-1模板“
         type: integer
       typename:
         description: 履约类型 名称
@@ -15868,7 +15946,9 @@ definitions:
         description: 步骤执行方 - 1:买方 2:卖方
         type: integer
       handlestatus:
-        description: 处理状态 - 1:开始 2:结束 3:冻结请求 4:冻结返回成功 5:冻结返回失败 6:扣款请求 7:扣款返回成功 8:扣款返回失败 9:仓单转移请求 10:仓单转移返回成功 11:仓单转移返回失败 12:加钱请求 13:加钱返回成功 14:加钱返回失败 15:解冻仓单头寸请求 16:解冻仓单头寸返回成功 17:解冻仓单头寸返回失败 18:解冻库位请求 19:解冻库位返回成功 20:解冻库位返回失败
+        description: 处理状态 - 1:开始 2:结束 3:冻结请求 4:冻结返回成功 5:冻结返回失败 6:扣款请求 7:扣款返回成功 8:扣款返回失败
+          9:仓单转移请求 10:仓单转移返回成功 11:仓单转移返回失败 12:加钱请求 13:加钱返回成功 14:加钱返回失败 15:解冻仓单头寸请求
+          16:解冻仓单头寸返回成功 17:解冻仓单头寸返回失败 18:解冻库位请求 19:解冻库位返回成功 20:解冻库位返回失败
         type: integer
       isauto:
         description: 是否自动 - 0:不自动 1:自动
@@ -15925,7 +16005,8 @@ definitions:
         description: 步骤状态 -  1:待开始 2:进行中 3:已完成 4:延期(进行中) 5:失败 6:自动完成 7:超时关闭
         type: integer
       steptypeid:
-        description: 履约步骤类型ID - 1:买方支付 2:卖方收款 3:买方自提 4:卖方发货 5:买方确认货 6:卖方发票 7:买方确认票 8:仓单转移 9:释放卖方冻结  10:货款溢短 11:生成合同[中江] 12:运费 90:确认支付 91. 确认放行 92买方支付(直接扣款)   用于-1模板“
+        description: 履约步骤类型ID - 1:买方支付 2:卖方收款 3:买方自提 4:卖方发货 5:买方确认货 6:卖方发票 7:买方确认票
+          8:仓单转移 9:释放卖方冻结  10:货款溢短 11:生成合同[中江] 12:运费 90:确认支付 91. 确认放行 92买方支付(直接扣款)   用于-1模板“
         type: integer
       steptypename:
         description: 步骤名称
@@ -15996,7 +16077,8 @@ definitions:
         description: 模板名称
         type: string
       templatetype:
-        description: 模板类型 - 0:通用 1:交割 2:仓单贸易 3:预售集采 7:竞拍-竞价式 8:竞拍-大宗式 9:荷兰式--失效枚举:4:竞拍-降价式 (无仓单) 5:挂牌期权  6:竞拍-降价式
+        description: 模板类型 - 0:通用 1:交割 2:仓单贸易 3:预售集采 7:竞拍-竞价式 8:竞拍-大宗式 9:荷兰式--失效枚举:4:竞拍-降价式
+          (无仓单) 5:挂牌期权  6:竞拍-降价式
         type: integer
       userid:
         description: 所属用户
@@ -16302,7 +16384,8 @@ definitions:
         description: SCF合同ID(310+Unix秒时间戳(10位)+xxxxxx)
         type: string
       scfcontractstatus:
-        description: 合同状态 - 1:待确认 2:已确认 3:确认拒绝 4:已支付保证金 5:已激活 6:已违约 7:到期结束 8:延期结束 9:违约结束 10:已注销 11:已关闭 99:未提交
+        description: 合同状态 - 1:待确认 2:已确认 3:确认拒绝 4:已支付保证金 5:已激活 6:已违约 7:到期结束 8:延期结束
+          9:违约结束 10:已注销 11:已关闭 99:未提交
         type: integer
       scfcontracttype:
         description: 合同类型 - 1:仓单回购 2:仓单质押 3:合作套保 4:资金贷款 5:融资单 6:融资回购
@@ -16482,7 +16565,8 @@ definitions:
         description: 仓单贸易委托单ID(320+Unix秒时间戳(10位)+xxxxxx)
         type: string
       wrtradeorderstatus:
-        description: 委托状态 - 1:委托请求 2:待冻结 3:委托成功 4:委托失败 5:配对成功 6:已撤 7:已成 8:成交失败 9:委托拒绝 10:挂牌部分成交 11:仓单生成失败 12:首付扣款失败 13:履约失败 14:撤单解冻贷款失败 15:部成部撤
+        description: 委托状态 - 1:委托请求 2:待冻结 3:委托成功 4:委托失败 5:配对成功 6:已撤 7:已成 8:成交失败 9:委托拒绝
+          10:挂牌部分成交 11:仓单生成失败 12:首付扣款失败 13:履约失败 14:撤单解冻贷款失败 15:部成部撤
         type: integer
       wrtradetype:
         description: 仓单贸易类型 - 1:挂牌 2:摘牌 3:提货卖(文化中国) 4:提货买(文化中国)
@@ -16978,7 +17062,8 @@ definitions:
         description: 成交时间
         type: string
       tradetype:
-        description: '成交类别 - 1:正常委托成交 2:定向做市成交(接单) 3:交割协议平仓成交 4:交割减仓成交 5:到期强平成交 6:风控斩仓成交 7:协议平仓(管理端)成交 8:仓单转持仓成交 9: 交割协议转让成交 10:受托竞价成交(接单) 11:协议转让成交 12:系统强行平仓 13:期权违约平仓'
+        description: '成交类别 - 1:正常委托成交 2:定向做市成交(接单) 3:交割协议平仓成交 4:交割减仓成交 5:到期强平成交 6:风控斩仓成交
+          7:协议平仓(管理端)成交 8:仓单转持仓成交 9: 交割协议转让成交 10:受托竞价成交(接单) 11:协议转让成交 12:系统强行平仓 13:期权违约平仓'
         type: integer
     required:
     - accountid
@@ -17019,7 +17104,8 @@ definitions:
         description: 客户端流水号
         type: string
       clienttype:
-        description: 客户端类型 - 0:保留为未填终端类型 1:PC管理端 2:PC交易端 3:手机客户端_安卓 4:网页客户端 5:微信客户端 6:手机客户端_苹果 7:网上开户客户端 8:无效终端编号 9:报价终端(中江)
+        description: 客户端类型 - 0:保留为未填终端类型 1:PC管理端 2:PC交易端 3:手机客户端_安卓 4:网页客户端 5:微信客户端
+          6:手机客户端_苹果 7:网上开户客户端 8:无效终端编号 9:报价终端(中江)
         type: integer
       closeexchagechargevalue:
         description: 平仓交易所手续费设置值
@@ -17127,7 +17213,9 @@ definitions:
         description: 开仓解冻手续费(先建后平操作,需要记录)
         type: number
       operatetype:
-        description: 操作类型 - 1:正常下单 2:斩仓 3:转单 4:结算撤单 5:系统卖出(适用于先平后建的卖出) 6:行情源报价 7:(结算)到期强平 8:(结算)协议转让 9:系统对冲单 10:(结算)到期无效 11:交割协议转让 12:交割协议平仓 13:交割成交(所有权) 14:管理端强行平仓 15:管理端协议转让
+        description: 操作类型 - 1:正常下单 2:斩仓 3:转单 4:结算撤单 5:系统卖出(适用于先平后建的卖出) 6:行情源报价 7:(结算)到期强平
+          8:(结算)协议转让 9:系统对冲单 10:(结算)到期无效 11:交割协议转让 12:交割协议平仓 13:交割成交(所有权) 14:管理端强行平仓
+          15:管理端协议转让
         type: integer
       operatorid:
         description: 登录账号(LoginID)
@@ -17145,10 +17233,13 @@ definitions:
         description: 委托数量
         type: number
       ordersrc:
-        description: 委托来源 -  1:客户端 2:管理端 3:风控服务 4:交割服务 5:交易服务 6:交易日结 7:商品强平 8:管理端商品退市强平 9:交易接口 10:交割服务商被动(受托竞价) 11:预埋触发
+        description: 委托来源 -  1:客户端 2:管理端 3:风控服务 4:交割服务 5:交易服务 6:交易日结 7:商品强平 8:管理端商品退市强平
+          9:交易接口 10:交割服务商被动(受托竞价) 11:预埋触发
         type: integer
       orderstatus:
-        description: 委托状态 - 1: 委托请求 2:待冻结 3:委托成功 4: 委托失败 5:配对成功 6: 已撤销 7:部分成交 8:已成交 9:部成部撤 10:成交失败 11:已拒绝 12:经过摘牌(先摘后挂专用-先摘后挂已摘过) 13:冻结成功(通道交易专用) 14:通道已撤 15:通道部成部撤 16:成交失败违约(荷兰式竞拍专用)
+        description: 委托状态 - 1: 委托请求 2:待冻结 3:委托成功 4: 委托失败 5:配对成功 6: 已撤销 7:部分成交 8:已成交
+          9:部成部撤 10:成交失败 11:已拒绝 12:经过摘牌(先摘后挂专用-先摘后挂已摘过) 13:冻结成功(通道交易专用) 14:通道已撤 15:通道部成部撤
+          16:成交失败违约(荷兰式竞拍专用)
         type: integer
       ordertime:
         description: 委托时间
@@ -17397,7 +17488,8 @@ definitions:
         description: 成交时间
         type: string
       tradetype:
-        description: '成交类别 - 1:正常委托成交 2:定向做市成交(接单) 3:交割协议平仓成交 4:交割减仓成交 5:到期强平成交 6:风控斩仓成交 7:协议平仓(管理端)成交 8:仓单转持仓成交 9: 交割协议转让成交 10:受托竞价成交(接单) 11:协议转让成交 12:系统强行平仓 13:期权违约平仓'
+        description: '成交类别 - 1:正常委托成交 2:定向做市成交(接单) 3:交割协议平仓成交 4:交割减仓成交 5:到期强平成交 6:风控斩仓成交
+          7:协议平仓(管理端)成交 8:仓单转持仓成交 9: 交割协议转让成交 10:受托竞价成交(接单) 11:协议转让成交 12:系统强行平仓 13:期权违约平仓'
         type: integer
     required:
     - accountid
@@ -17431,7 +17523,8 @@ definitions:
         description: 撤单数量
         type: number
       clienttype:
-        description: 客户端类型 - 0:保留为未填终端类型 1:PC管理端 2:PC交易端 3:手机客户端_安卓 4:网页客户端 5:微信客户端 6:手机客户端_苹果 7:网上开户客户端 8:无效终端编号 9:报价终端(中江)
+        description: 客户端类型 - 0:保留为未填终端类型 1:PC管理端 2:PC交易端 3:手机客户端_安卓 4:网页客户端 5:微信客户端
+          6:手机客户端_苹果 7:网上开户客户端 8:无效终端编号 9:报价终端(中江)
         type: integer
       closefreezecharge:
         description: 平仓冻结手续费(先建后平操作,需要记录)
@@ -17497,7 +17590,9 @@ definitions:
         description: 开仓解冻手续费(先建后平操作,需要记录)
         type: number
       operatetype:
-        description: 操作类型 - 1:正常下单 2:斩仓 3:转单 4:结算撤单 5:系统卖出(适用于先平后建的卖出) 6:行情源报价 7:(结算)到期强平 8:(结算)协议转让 9:系统对冲单 10:(结算)到期无效 11:交割协议转让 12:交割协议平仓 13:交割成交(所有权) 14:管理端强行平仓 15:管理端协议转让
+        description: 操作类型 - 1:正常下单 2:斩仓 3:转单 4:结算撤单 5:系统卖出(适用于先平后建的卖出) 6:行情源报价 7:(结算)到期强平
+          8:(结算)协议转让 9:系统对冲单 10:(结算)到期无效 11:交割协议转让 12:交割协议平仓 13:交割成交(所有权) 14:管理端强行平仓
+          15:管理端协议转让
         type: integer
       operatorid:
         description: 登录账号(LoginID)
@@ -17512,10 +17607,13 @@ definitions:
         description: 委托数量
         type: number
       ordersrc:
-        description: 委托来源 -  1:客户端 2:管理端 3:风控服务 4:交割服务 5:交易服务 6:交易日结 7:商品强平 8:管理端商品退市强平 9:交易接口 10:交割服务商被动(受托竞价) 11:预埋触发
+        description: 委托来源 -  1:客户端 2:管理端 3:风控服务 4:交割服务 5:交易服务 6:交易日结 7:商品强平 8:管理端商品退市强平
+          9:交易接口 10:交割服务商被动(受托竞价) 11:预埋触发
         type: integer
       orderstatus:
-        description: 委托状态 - 1: 委托请求 2:待冻结 3:委托成功 4: 委托失败 5:配对成功 6: 已撤销 7:部分成交 8:已成交 9:部成部撤 10:成交失败 11:已拒绝 12:经过摘牌(先摘后挂专用-先摘后挂已摘过) 13:冻结成功(通道交易专用) 14:通道已撤 15:通道部成部撤 16:成交失败违约(荷兰式竞拍专用)
+        description: 委托状态 - 1: 委托请求 2:待冻结 3:委托成功 4: 委托失败 5:配对成功 6: 已撤销 7:部分成交 8:已成交
+          9:部成部撤 10:成交失败 11:已拒绝 12:经过摘牌(先摘后挂专用-先摘后挂已摘过) 13:冻结成功(通道交易专用) 14:通道已撤 15:通道部成部撤
+          16:成交失败违约(荷兰式竞拍专用)
         type: integer
       ordertime:
         description: 委托时间
@@ -17647,7 +17745,8 @@ definitions:
         description: 持仓其他冻结数量(交割冻结)
         type: number
       positionpl:
-        description: 持仓盈亏 买方向 = (最新价 - 持仓均价) * 买期末头寸 * 合约单位;卖方向 = (持仓均价 - 最新价) * 卖期末头寸 * 合约单位
+        description: 持仓盈亏 买方向 = (最新价 - 持仓均价) * 买期末头寸 * 合约单位;卖方向 = (持仓均价 - 最新价) * 卖期末头寸
+          * 合约单位
         type: number
       positionplrate:
         description: 持仓盈亏比例【实时行情更新】 = 持仓盈亏 / 开仓成本
@@ -18214,7 +18313,8 @@ definitions:
         description: 运行阶段 - 2:连续交易
         type: integer
       sectionid:
-        description: 从 1 开始 往下编 [0为系统清盘、结算时间] SectionId = 0时,开始时间=清盘时间  开始周几= 清盘周几, 结束时间=结算时间 结束周几=结算周几
+        description: 从 1 开始 往下编 [0为系统清盘、结算时间] SectionId = 0时,开始时间=清盘时间  开始周几= 清盘周几,
+          结束时间=结算时间 结束周几=结算周几
         type: integer
       start:
         description: 真实开始时间
@@ -18580,7 +18680,16 @@ definitions:
         description: 资金流水号:银行端流水号
         type: integer
       operatetype:
-        description: 资金操作类型 (AccountFundCmdOp)- 101:入金 102:入金手续费 103:出金 104:出金冻结 105:出金解冻 106:出金手续费 107:出金手续费冻结 108:出金手续费解冻 201:交易冻结 202:交易解冻 203:交易占用 204:交易解占用 205:交易手续费冻结 206:交易手续费解冻 207:交易手续费 208:交易货款 209:交易盈亏 301:交割冻结 302:交割解冻 303:交割手续费 304:交割手续费冻结 305:交割手续费解冻 306:交割货款 307:交割税款 401:结算盈亏 402:结算递延费 403:分润收入 404:延期分润 501:授信增加 502:授信减少 503:转积分 504:转入 505:转出 506:转出冻结 507:转出解冻  601:履约金额冻结 602:履约最大冻结 603:履约金额解冻 604:履约扣款 605:履约收款 606:履约违约手续费 607:履约违约收入 608:履约最大扣款 701:供应链金融冻结 702:供应链金融解冻 703:供应链金融最大冻结 704:供应链金融利息 705:供应链金融货款 706:供应链金融押金 707:供应链金融最大扣款 801:仓单贸易冻结 802:仓单贸易解冻 803:仓单贸易首付款 804:仓单贸易最大扣款 901:商城扣款冻结 902:商城扣款解冻 903:商城扣款 904:商城收款 1001:期权冻结 1002:期权解冻 1003:期权权力金 1004:期权手续费冻结 1005:期权手续费解冻 1006:期权手续费 1007:期权盈亏 1101:营销扣款 1102:营销收款
+        description: 资金操作类型 (AccountFundCmdOp)- 101:入金 102:入金手续费 103:出金 104:出金冻结 105:出金解冻
+          106:出金手续费 107:出金手续费冻结 108:出金手续费解冻 201:交易冻结 202:交易解冻 203:交易占用 204:交易解占用 205:交易手续费冻结
+          206:交易手续费解冻 207:交易手续费 208:交易货款 209:交易盈亏 301:交割冻结 302:交割解冻 303:交割手续费 304:交割手续费冻结
+          305:交割手续费解冻 306:交割货款 307:交割税款 401:结算盈亏 402:结算递延费 403:分润收入 404:延期分润 501:授信增加
+          502:授信减少 503:转积分 504:转入 505:转出 506:转出冻结 507:转出解冻  601:履约金额冻结 602:履约最大冻结
+          603:履约金额解冻 604:履约扣款 605:履约收款 606:履约违约手续费 607:履约违约收入 608:履约最大扣款 701:供应链金融冻结
+          702:供应链金融解冻 703:供应链金融最大冻结 704:供应链金融利息 705:供应链金融货款 706:供应链金融押金 707:供应链金融最大扣款
+          801:仓单贸易冻结 802:仓单贸易解冻 803:仓单贸易首付款 804:仓单贸易最大扣款 901:商城扣款冻结 902:商城扣款解冻 903:商城扣款
+          904:商城收款 1001:期权冻结 1002:期权解冻 1003:期权权力金 1004:期权手续费冻结 1005:期权手续费解冻 1006:期权手续费
+          1007:期权盈亏 1101:营销扣款 1102:营销收款
         type: integer
       relationorderid:
         description: 关联单号
@@ -18670,7 +18779,16 @@ definitions:
         description: 资金流水号:银行端流水号
         type: integer
       operatetype:
-        description: 资金操作类型 (AccountFundCmdOp)- 101:入金 102:入金手续费 103:出金 104:出金冻结 105:出金解冻 106:出金手续费 107:出金手续费冻结 108:出金手续费解冻 201:交易冻结 202:交易解冻 203:交易占用 204:交易解占用 205:交易手续费冻结 206:交易手续费解冻 207:交易手续费 208:交易货款 209:交易盈亏 301:交割冻结 302:交割解冻 303:交割手续费 304:交割手续费冻结 305:交割手续费解冻 306:交割货款 307:交割税款 401:结算盈亏 402:结算递延费 403:分润收入 404:延期分润 501:授信增加 502:授信减少 503:转积分 504:转入 505:转出 506:转出冻结 507:转出解冻  601:履约金额冻结 602:履约最大冻结 603:履约金额解冻 604:履约扣款 605:履约收款 606:履约违约手续费 607:履约违约收入 608:履约最大扣款 701:供应链金融冻结 702:供应链金融解冻 703:供应链金融最大冻结 704:供应链金融利息 705:供应链金融货款 706:供应链金融押金 707:供应链金融最大扣款 801:仓单贸易冻结 802:仓单贸易解冻 803:仓单贸易首付款 804:仓单贸易最大扣款 901:商城扣款冻结 902:商城扣款解冻 903:商城扣款 904:商城收款 1001:期权冻结 1002:期权解冻 1003:期权权力金 1004:期权手续费冻结 1005:期权手续费解冻 1006:期权手续费 1007:期权盈亏 1101:营销扣款 1102:营销收款
+        description: 资金操作类型 (AccountFundCmdOp)- 101:入金 102:入金手续费 103:出金 104:出金冻结 105:出金解冻
+          106:出金手续费 107:出金手续费冻结 108:出金手续费解冻 201:交易冻结 202:交易解冻 203:交易占用 204:交易解占用 205:交易手续费冻结
+          206:交易手续费解冻 207:交易手续费 208:交易货款 209:交易盈亏 301:交割冻结 302:交割解冻 303:交割手续费 304:交割手续费冻结
+          305:交割手续费解冻 306:交割货款 307:交割税款 401:结算盈亏 402:结算递延费 403:分润收入 404:延期分润 501:授信增加
+          502:授信减少 503:转积分 504:转入 505:转出 506:转出冻结 507:转出解冻  601:履约金额冻结 602:履约最大冻结
+          603:履约金额解冻 604:履约扣款 605:履约收款 606:履约违约手续费 607:履约违约收入 608:履约最大扣款 701:供应链金融冻结
+          702:供应链金融解冻 703:供应链金融最大冻结 704:供应链金融利息 705:供应链金融货款 706:供应链金融押金 707:供应链金融最大扣款
+          801:仓单贸易冻结 802:仓单贸易解冻 803:仓单贸易首付款 804:仓单贸易最大扣款 901:商城扣款冻结 902:商城扣款解冻 903:商城扣款
+          904:商城收款 1001:期权冻结 1002:期权解冻 1003:期权权力金 1004:期权手续费冻结 1005:期权手续费解冻 1006:期权手续费
+          1007:期权盈亏 1101:营销扣款 1102:营销收款
         type: integer
       relationorderid:
         description: 关联单号
@@ -19025,7 +19143,7 @@ paths:
         in: query
         name: clientType
         type: integer
-      - description: 分支名称,ermcp:风管云平台 pingan:平安期货,不传默认返回风管云平台
+      - description: 分支名称,ermcp-风管云平台;pingan-平安期货;trader-交易所;不传默认返回风管云平台
         in: query
         name: name
         type: string
@@ -20687,7 +20805,8 @@ paths:
         name: cycletype
         required: true
         type: integer
-      - description: 周期时间 日(YYYYMMDD) 月(YYYYMM)  季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天) 全(0)【原值】
+      - description: 周期时间 日(YYYYMMDD) 月(YYYYMM)  季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天)
+          全(0)【原值】
         in: query
         name: cycletime
         required: true
@@ -20728,7 +20847,8 @@ paths:
         name: cycletype
         required: true
         type: integer
-      - description: 周期时间 日(YYYYMMDD) 月(YYYYMM)  季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天) 全(0)【原值】
+      - description: 周期时间 日(YYYYMMDD) 月(YYYYMM)  季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天)
+          全(0)【原值】
         in: query
         name: cycletime
         required: true
@@ -20769,7 +20889,8 @@ paths:
         name: cycletype
         required: true
         type: integer
-      - description: 周期时间 日(YYYYMMDD) 月(YYYYMM)  季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天) 全(0)【原值】
+      - description: 周期时间 日(YYYYMMDD) 月(YYYYMM)  季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天)
+          全(0)【原值】
         in: query
         name: cycletime
         required: true
@@ -20810,7 +20931,8 @@ paths:
         name: cycletype
         required: true
         type: integer
-      - description: 周期时间 日(YYYYMMDD) 月(YYYYMM)  季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天) 全(0)【原值】
+      - description: 周期时间 日(YYYYMMDD) 月(YYYYMM)  季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天)
+          全(0)【原值】
         in: query
         name: cycletime
         required: true
@@ -20851,7 +20973,8 @@ paths:
         name: cycletype
         required: true
         type: integer
-      - description: 周期时间 日(YYYYMMDD) 月(YYYYMM)  季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天) 全(0)【原值】
+      - description: 周期时间 日(YYYYMMDD) 月(YYYYMM)  季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天)
+          全(0)【原值】
         in: query
         name: cycletime
         required: true
@@ -20892,7 +21015,8 @@ paths:
         name: cycletype
         required: true
         type: integer
-      - description: 周期时间 日(YYYYMMDD) 月(YYYYMM)  季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天) 全(0)【原值】
+      - description: 周期时间 日(YYYYMMDD) 月(YYYYMM)  季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天)
+          全(0)【原值】
         in: query
         name: cycletime
         required: true
@@ -20941,7 +21065,8 @@ paths:
         name: cycletype
         required: true
         type: integer
-      - description: 周期时间 日(YYYYMMDD) 月(YYYYMM) 季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天) 全(0)【原值】
+      - description: 周期时间 日(YYYYMMDD) 月(YYYYMM) 季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天)
+          全(0)【原值】
         in: query
         name: cycletime
         required: true
@@ -21002,7 +21127,8 @@ paths:
         name: cycletype
         required: true
         type: integer
-      - description: 周期时间 日(YYYYMMDD) 月(YYYYMM)  季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天) 全(0)【原值】
+      - description: 周期时间 日(YYYYMMDD) 月(YYYYMM)  季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天)
+          全(0)【原值】
         in: query
         name: cycletime
         required: true
@@ -21047,7 +21173,8 @@ paths:
         name: cycletype
         required: true
         type: integer
-      - description: 周期时间 日(YYYYMMDD) 月(YYYYMM)  季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天) 全(0)【原值】
+      - description: 周期时间 日(YYYYMMDD) 月(YYYYMM)  季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天)
+          全(0)【原值】
         in: query
         name: cycletime
         required: true
@@ -21091,7 +21218,8 @@ paths:
         name: cycletype
         required: true
         type: integer
-      - description: 周期时间 日(YYYYMMDD) 月(YYYYMM)  季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天) 全(0)【原值】
+      - description: 周期时间 日(YYYYMMDD) 月(YYYYMM)  季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天)
+          全(0)【原值】
         in: query
         name: cycletime
         required: true
@@ -21148,7 +21276,8 @@ paths:
         name: cycletype
         required: true
         type: integer
-      - description: 周期时间 日(YYYYMMDD) 月(YYYYMM)  季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天) 全(0)【原值】
+      - description: 周期时间 日(YYYYMMDD) 月(YYYYMM)  季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天)
+          全(0)【原值】
         in: query
         name: cycletime
         required: true
@@ -22393,7 +22522,8 @@ paths:
       - 风险管理v3
   /Erms3/ModifyUserInfoApply:
     post:
-      description: '保存草稿(撤回)- { "userid": int, "userstate": 1 }  提交审核 - { "userid": int, "userstate": 2 }'
+      description: '保存草稿(撤回)- { "userid": int, "userstate": 1 }  提交审核 - { "userid":
+        int, "userstate": 2 }'
       parameters:
       - description: 用户信息
         in: body
@@ -24442,7 +24572,8 @@ paths:
         name: userid
         required: true
         type: integer
-      - description: 提货状态 1:备货中 2:待取货(自提) 3:已取货(自提) 4:待收货(邮寄) 5:已收货(邮寄) 6:自动收货(邮寄) 7:已拒绝 8:已撤销
+      - description: 提货状态 1:备货中 2:待取货(自提) 3:已取货(自提) 4:待收货(邮寄) 5:已收货(邮寄) 6:自动收货(邮寄)
+          7:已拒绝 8:已撤销
         in: query
         name: takeorderstatus
         type: integer
@@ -24713,7 +24844,8 @@ paths:
         in: query
         name: brokername
         type: string
-      - description: 生日查询(格式 mmdd 或 mm) 只填2位表示月份匹配(mm, 如05 - 5月), 4位表示查月日匹配(mmdd, 如0503 -5月3日)
+      - description: 生日查询(格式 mmdd 或 mm) 只填2位表示月份匹配(mm, 如05 - 5月), 4位表示查月日匹配(mmdd,
+          如0503 -5月3日)
         in: query
         name: birthday
         type: string
@@ -25295,7 +25427,8 @@ paths:
   /Quote/QueryHistoryDatas:
     get:
       parameters:
-      - description: '周期类型, 0-秒 1: 1分钟 2: 5分钟 3: 30分钟 4: 60分钟 120: 2小时 240: 4小时 11: 日线'
+      - description: '周期类型, 0-秒 1: 1分钟 2: 5分钟 3: 30分钟 4: 60分钟 120: 2小时 240: 4小时 11:
+          日线'
         in: query
         name: cycleType
         required: true
@@ -25428,7 +25561,8 @@ paths:
   /SZDZ/QueryConvertConfig:
     get:
       parameters:
-      - description: 转换类型 - 1:金点赞转交易 2:金点拍转交易 3:交易转金点赞(不设置) 4:交易转金点拍(不设置) 5:花生米转交易 6:交易转花生米(不设置)
+      - description: 转换类型 - 1:金点赞转交易 2:金点拍转交易 3:交易转金点赞(不设置) 4:交易转金点拍(不设置) 5:花生米转交易
+          6:交易转花生米(不设置)
         in: query
         name: convertType
         type: integer
@@ -26408,7 +26542,8 @@ paths:
       - 仓单贸易v2
   /WrTrade2/QueryOrderQuote:
     get:
-      description: 仓单交易 wrfactortypeid 唯一确定1条记录, 仓单预售  wrfactortypeid + deliverymonth 唯一确定1条记录
+      description: 仓单交易 wrfactortypeid 唯一确定1条记录, 仓单预售  wrfactortypeid + deliverymonth
+        唯一确定1条记录
       parameters:
       - description: 页码
         in: query
@@ -26638,7 +26773,8 @@ paths:
         in: query
         name: userid
         type: integer
-      - description: 模板类型(逗号隔开), 0:通用 1:交割 2:仓单贸易 3:预售集采 7:竞拍-竞价式 8:竞拍-大宗式 9:荷兰式--失效枚举:4:竞拍-降价式 (无仓单) 5:挂牌期权  6:竞拍-降价式
+      - description: 模板类型(逗号隔开), 0:通用 1:交割 2:仓单贸易 3:预售集采 7:竞拍-竞价式 8:竞拍-大宗式 9:荷兰式--失效枚举:4:竞拍-降价式
+          (无仓单) 5:挂牌期权  6:竞拍-降价式
         in: query
         name: tmptype
         type: string
@@ -27285,7 +27421,8 @@ paths:
       - 仓单贸易v2
   /WrTrade2/QueryWrTradeBargainApply:
     get:
-      description: 1.页面 挂单/议价单, 只需传单号就行 <br>2.页面 议价->我的议价 参数 userid=登录userid <br>3.页面 议价->对方议价 填写matchuserid=登录用户id
+      description: 1.页面 挂单/议价单, 只需传单号就行 <br>2.页面 议价->我的议价 参数 userid=登录userid <br>3.页面
+        议价->对方议价 填写matchuserid=登录用户id
       parameters:
       - description: 议价人id(摘牌方)
         in: query

+ 23 - 0
models/account.go

@@ -596,6 +596,29 @@ func GetLoginAccountByMobile(mobile string) (*Loginaccount, error) {
 	return nil, nil
 }
 
+// GetLoginAccountByMobile 通过手机号码查询登录账号信息
+func GetLoginAccount2(mobile string) (*Loginaccount, error) {
+	engine := db.GetEngine()
+
+	var loginaccount Loginaccount
+	var has bool
+	// 手机号码需要AES加密
+	key, _ := hex.DecodeString(utils.AESSecretKey)
+	if mobileEncrypted, err := utils.AESEncrypt([]byte(mobile), key); err == nil {
+		// 加密成功后进行查询
+		has, err = engine.Where("MOBILE = ?", hex.EncodeToString(mobileEncrypted)).Get(&loginaccount)
+		if err != nil {
+			return nil, err
+		}
+	}
+
+	if has {
+		return &loginaccount, nil
+	}
+
+	return nil, nil
+}
+
 // GetUserAccount 获取用户账户信息
 func GetUserAccount(userID int) (*Useraccount, error) {
 	engine := db.GetEngine()

+ 57 - 0
models/common.go

@@ -45,6 +45,17 @@ func (t *Funcmenulist) GetPCMenuList(resourceCode, parentCode string) ([]Funcmen
 	return funcMenuLists, nil
 }
 
+// GetMenuList 获取指定类型的功能菜单表
+func (t *Funcmenulist) GetMenuList(menuType int) ([]Funcmenulist, error) {
+	funcMenuLists := make([]Funcmenulist, 0)
+	session := db.GetEngine().Table("FUNCMENULIST T").Where("T.MENUTYPE = ?", menuType)
+	if err := session.Find(&funcMenuLists); err != nil {
+		return nil, err
+	}
+
+	return funcMenuLists, nil
+}
+
 // Rolefuncmenu 角色菜单表
 type Rolefuncmenu struct {
 	Roleid       uint32 `json:"roleid"  xorm:"'ROLEID'" binding:"required"`             // 角色权限ID
@@ -910,3 +921,49 @@ func GetErmcpRoleFuncMenuLists(loginID int, resourceCode string) ([]Funcmenulist
 
 	return funcMenuLists, nil
 }
+
+// IsTrader 判断是否交易所,自营会员及投资者
+func IsTrader(loginID int) (bool, error) {
+	// 获取对应的Loginaccount信息
+	var loginAccount Loginaccount
+	has, err := db.GetEngine().Where("LOGINID = ?", loginID).Get(&loginAccount)
+	if err != nil {
+		return false, err
+	}
+	if !has {
+		return false, errors.New("没有对应的登录用户信息")
+	}
+
+	// 获取对应的Useraccount信息
+	var userAccount Useraccount
+	has, err = db.GetEngine().Table("USERACCOUNT U").
+		Join("INNER", "LOGINACCOUNT L", "L.USERID = U.USERID").
+		Where("L.LOGINID = ?", loginID).Get(&userAccount)
+	if err != nil {
+		return false, err
+	}
+	if !has {
+		return false, errors.New("没有对应的用户信息")
+	}
+
+	// 是否自营会员
+	isTrader := false
+	// 查询机构角色表
+	var arearole Arearole
+	arearoles, err := arearole.GetAreaRoles(int(userAccount.Userid), 0)
+	if err != nil {
+		return false, err
+	}
+	for _, v := range arearoles {
+		if v.Roletype == 6 {
+			isTrader = true
+		}
+	}
+
+	// 交易所,自营会员及投资者的权限不进行判断
+	if userAccount.Usertype == 5 || (userAccount.Usertype == 2 && isTrader) {
+		return true, nil
+	}
+
+	return false, nil
+}