| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- 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().Debugln("QueryTableDefine successed: %v", rst)
- appG.Response(http.StatusOK, e.SUCCESS, rst)
- }
|