package inst import ( "net/http" "sig-pub/internal/market" "sig-pub/pkg/data/args" "sig-pub/pkg/resp" "github.com/gin-gonic/gin" ) type TradeInstanceApi struct { service *market.TradeInstanceService // todo grpc call } func NewTradeInstanceApi() *TradeInstanceApi { return &TradeInstanceApi{} } func (a *TradeInstanceApi) InitRoute(r *gin.RouterGroup) { instGroup := r.Group("/inst") { instGroup.GET("/one/:inst_id", a.getInst) instGroup.GET("/listAll", a.listAllInst) instGroup.POST("/list", a.listInst) } } // getInst 获取指定交易产品 func (a *TradeInstanceApi) getInst(c *gin.Context) { instId := c.Param("inst_id") inst, err := a.service.GetInstance(instId) if err != nil { c.JSON(http.StatusOK, resp.Error(err.Error())) return } c.JSON(http.StatusOK, resp.Success(inst)) } // listAllInst 获取所有交易产品 func (a *TradeInstanceApi) listAllInst(c *gin.Context) { // list, err := a.service.ListAllInstance() // if err != nil { // c.JSON(http.StatusOK, resp.Error(err.Error())) // return // } // c.JSON(http.StatusOK, resp.Success(list)) } // listInst 交易产品分页查询 func (a *TradeInstanceApi) listInst(c *gin.Context) { pageArg := args.ParsePageArgs(c) total, list, err := a.service.PageInstance(pageArg.Page, pageArg.Size, "") if err != nil { c.JSON(http.StatusOK, resp.Error(err.Error())) return } c.JSON(http.StatusOK, resp.Success(resp.H{ "total": total, "data": list, })) }