market.go 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. package market
  2. import (
  3. "mtp2_if/global/app"
  4. "mtp2_if/global/e"
  5. "mtp2_if/logger"
  6. "mtp2_if/models"
  7. "net/http"
  8. "github.com/gin-gonic/gin"
  9. )
  10. // 通用市场
  11. // QueryMarketRunReq 查询市场运行信息请求参数
  12. type QueryMarketRunReq struct {
  13. MarketID int `form:"marketID"`
  14. }
  15. // QueryMarketRun 查询市场运行信息
  16. // @Summary 查询市场运行信息
  17. // @Produce json
  18. // @Security ApiKeyAuth
  19. // @Param marketID query int false "市场ID,不传返回所有"
  20. // @Success 200 {object} models.Marketrun
  21. // @Failure 500 {object} app.Response
  22. // @Router /Market/QueryMarketRun [get]
  23. // @Tags 通用市场
  24. func QueryMarketRun(c *gin.Context) {
  25. appG := app.Gin{C: c}
  26. // 获取请求参数
  27. var req QueryMarketRunReq
  28. if err := appG.C.ShouldBindQuery(&req); err != nil {
  29. logger.GetLogger().Errorf("QueryMarketRun failed: %s", err.Error())
  30. appG.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil)
  31. return
  32. }
  33. marketRuns, err := models.GetMarketRuns(req.MarketID)
  34. if err != nil {
  35. // 查询失败
  36. logger.GetLogger().Errorf("QueryMarketRun failed: %s", err.Error())
  37. appG.Response(http.StatusBadRequest, e.ERROR_QUERY_FAIL, nil)
  38. return
  39. }
  40. // 查询成功返回
  41. logger.GetLogger().Debugln("QueryMarketRun successed: %v", marketRuns)
  42. appG.Response(http.StatusOK, e.SUCCESS, marketRuns)
  43. }
  44. // QueryMarketsByLoginIDReq 获取登录账号有权限的市场信息请求参数
  45. type QueryMarketsByLoginIDReq struct {
  46. LoginID int `form:"loginID" binding:"required"`
  47. }
  48. // QueryMarketsByLoginID 获取登录账号有权限的市场信息
  49. // @Summary 获取登录账号有权限的市场信息
  50. // @Produce json
  51. // @Security ApiKeyAuth
  52. // @Param loginID query int true "登录账号"
  53. // @Success 200 {object} models.Market
  54. // @Failure 500 {object} app.Response
  55. // @Router /Market/QueryMarketsByLoginID [get]
  56. // @Tags 通用市场
  57. func QueryMarketsByLoginID(c *gin.Context) {
  58. appG := app.Gin{C: c}
  59. // 获取请求参数
  60. var req QueryMarketsByLoginIDReq
  61. if err := appG.C.ShouldBindQuery(&req); err != nil {
  62. logger.GetLogger().Errorf("QueryMarketsByLoginID failed: %s", err.Error())
  63. appG.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil)
  64. return
  65. }
  66. markets, err := models.GetMarketsByLoginID(req.LoginID)
  67. if err != nil {
  68. // 查询失败
  69. logger.GetLogger().Errorf("QueryMarketsByLoginID failed: %s", err.Error())
  70. appG.Response(http.StatusBadRequest, e.ERROR_QUERY_FAIL, nil)
  71. return
  72. }
  73. // 查询成功返回
  74. logger.GetLogger().Debugln("QueryMarketsByLoginID successed: %v", markets)
  75. appG.Response(http.StatusOK, e.SUCCESS, markets)
  76. }
  77. // QueryGoodsesByLoginIDReq 获取登录账号有权限的商品信息请求参数
  78. type QueryGoodsesByLoginIDReq struct {
  79. LoginID int `form:"loginID" binding:"required"`
  80. MarketIDs string `form:"marketIDs"`
  81. }
  82. // QueryGoodsesByLoginID 获取登录账号有权限的商品信息
  83. // @Summary 获取登录账号有权限的商品信息
  84. // @Produce json
  85. // @Security ApiKeyAuth
  86. // @Param loginID query int true "登录账号"
  87. // @Param marketIDs query string false "市场ID列表,格式:1,2,3"
  88. // @Success 200 {object} models.Goods
  89. // @Failure 500 {object} app.Response
  90. // @Router /Market/QueryGoodsesByLoginID [get]
  91. // @Tags 通用市场
  92. func QueryGoodsesByLoginID(c *gin.Context) {
  93. appG := app.Gin{C: c}
  94. // 获取请求参数
  95. var req QueryGoodsesByLoginIDReq
  96. if err := appG.C.ShouldBindQuery(&req); err != nil {
  97. logger.GetLogger().Errorf("QueryGoodsesByLoginID failed: %s", err.Error())
  98. appG.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil)
  99. return
  100. }
  101. goodses, err := models.GetGoodsByLoginID(req.LoginID, req.MarketIDs)
  102. if err != nil {
  103. // 查询失败
  104. logger.GetLogger().Errorf("QueryGoodsesByLoginID failed: %s", err.Error())
  105. appG.Response(http.StatusBadRequest, e.ERROR_QUERY_FAIL, nil)
  106. return
  107. }
  108. // 查询成功返回
  109. logger.GetLogger().Debugln("QueryGoodsesByLoginID successed: %v", goodses)
  110. appG.Response(http.StatusOK, e.SUCCESS, goodses)
  111. }
  112. // GetAllExExchanges 获取所有外部交易所信息
  113. // @Summary 获取所有外部交易所信息
  114. // @Produce json
  115. // @Security ApiKeyAuth
  116. // @Success 200 {object} models.Goods
  117. // @Failure 500 {object} app.Response
  118. // @Router /Market/GetAllExExchanges [get]
  119. // @Tags 通用市场
  120. func GetAllExExchanges(c *gin.Context) {
  121. appG := app.Gin{C: c}
  122. rst, err := models.GetAllExExchanges()
  123. if err != nil {
  124. // 查询失败
  125. logger.GetLogger().Errorf("GetAllExExchanges failed: %s", err.Error())
  126. appG.Response(http.StatusBadRequest, e.ERROR_QUERY_FAIL, nil)
  127. return
  128. }
  129. // 查询成功返回
  130. logger.GetLogger().Debugln("GetAllExExchanges successed: %v", rst)
  131. appG.Response(http.StatusOK, e.SUCCESS, rst)
  132. }