package common import ( "mtp2_if/global/app" "mtp2_if/global/e" "mtp2_if/logger" "mtp2_if/models" "net/http" "github.com/gin-gonic/gin" ) // QueryTraderMenuReq 查询交易端菜单请求参数 type QueryTraderMenuReq struct { LoginID int `form:"loginid" binding:"required"` } // QueryTraderMenuRsp 交易端菜单 type QueryTraderMenuRsp struct { QuoteMenu []models.QuotePrimaryMenu `json:"QuoteMenu"` // 报价牌分类菜单 OperationMenu []models.OperationPrimaryMenu `json:"OperationMenu"` // 功能菜单 } // QueryTraderMenu 查询交易端菜单 // @Summary 查询交易端菜单 // @Produce json // @Param loginid query int true "登录账号" // @Success 200 {object} QueryTraderMenuRsp // @Failure 500 {object} app.Response // @Router /Common/QueryTraderMenu [get] // @Tags 通用服务 func QueryTraderMenu(c *gin.Context) { appG := app.Gin{C: c} // 获取请求参数 var req QueryTraderMenuReq if err := appG.C.ShouldBindQuery(&req); err != nil { logger.GetLogger().Errorf("QueryTraderMenu failed: %s", err.Error()) appG.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil) return } var queryTraderMenuRsp QueryTraderMenuRsp // 获取行情报价牌分类菜单 if datas, err := models.GetQuoteMenu(req.LoginID); err == nil { queryTraderMenuRsp.QuoteMenu = datas } else { logger.GetLogger().Errorf("QueryTraderMenu failed: %s", err.Error()) appG.Response(http.StatusBadRequest, e.ERROR_QUERY_QUOTEMENU_FAIL, nil) return } // 获取功能菜单 if datas, err := models.GetOperationMenu(); err == nil { queryTraderMenuRsp.OperationMenu = datas } else { logger.GetLogger().Errorf("QueryTraderMenu failed: %s", err.Error()) appG.Response(http.StatusBadRequest, e.ERROR_QUERY_OPERATIONMENU_FAIL, nil) return } // 查询成功 logger.GetLogger().Debugln("QueryTraderMenu successed: %v", queryTraderMenuRsp) appG.Response(http.StatusOK, e.SUCCESS, queryTraderMenuRsp) } // QueryTableDefineReq 查询交易端列表头信息请求参数 type QueryTableDefineReq struct { TableKey string `form:"tableKey"` TableType int `form:"tableType"` } // QueryTableDefineRsp 查询交易端列表头信息返回模型 type QueryTableDefineRsp struct { models.Tabledefine `xorm:"extends"` Columns []models.Tablecolumnconfig `json:"columns" xorm:"-"` // 列头信息数组 } // QueryTableDefine 查询交易端列表头信息 // @Summary 查询交易端列表头信息 // @Produce json // @Param tableKey query string false "表key" // @Param tableType query int false "列表类型 - 1:管理端 2:H5终端 3:移动终端" // @Success 200 {object} QueryTableDefineRsp // @Failure 500 {object} app.Response // @Router /Common/QueryTableDefine [get] // @Tags 通用服务 func QueryTableDefine(c *gin.Context) { appG := app.Gin{C: c} // 获取请求参数 var req QueryTableDefineReq if err := appG.C.ShouldBindQuery(&req); err != nil { logger.GetLogger().Errorf("QueryTableDefine failed: %s", err.Error()) appG.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil) return } rst := make([]QueryTableDefineRsp, 0) // 获取表定义 tableDefines, err := models.GetClientTableDefines(req.TableKey, req.TableType) if err != nil { logger.GetLogger().Errorf("QueryTableDefine failed: %s", err.Error()) appG.Response(http.StatusBadRequest, e.ERROR_QUERY_FAIL, nil) return } for i, v := range tableDefines { var queryTableDefineRsp QueryTableDefineRsp // 表数据 queryTableDefineRsp.Tabledefine = tableDefines[i] // 获取列表数据 tablecolumnconfigs, err := models.GetClientTableColumns(v.Tablekey, int(v.Tabletype)) if err != nil { logger.GetLogger().Errorf("QueryTableDefine failed: %s", err.Error()) appG.Response(http.StatusBadRequest, e.ERROR_QUERY_FAIL, nil) return } queryTableDefineRsp.Columns = tablecolumnconfigs rst = append(rst, queryTableDefineRsp) } // 查询成功 logger.GetLogger().Debugf("QueryTableDefine successed: %v\n", len(rst)) appG.Response(http.StatusOK, e.SUCCESS, rst) }