goods.go 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. /*
  2. * @Author: deng.yinping deng.yinping@muchinfo.cn
  3. * @Date: 2024-02-22 11:11:03
  4. * @LastEditors: deng.yinping deng.yinping@muchinfo.cn
  5. * @LastEditTime: 2024-11-27 15:40:36
  6. * @FilePath: \MTP20_IF\controllers\sbyj\goods.go
  7. * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  8. */
  9. package sbyj
  10. import (
  11. "mtp2_if/global/app"
  12. "mtp2_if/global/e"
  13. "mtp2_if/logger"
  14. "mtp2_if/models"
  15. "net/http"
  16. "strconv"
  17. "strings"
  18. "github.com/gin-gonic/gin"
  19. )
  20. type GetTouristGoodsReq struct {
  21. TradeModes string `form:"trademodes"` // 交易模式筛选, 逗号隔开, 默认为 52,97,99
  22. MarketIds string `form:"marketids"` // 市场ID筛选, 逗号隔开
  23. }
  24. // GetTouristGoods 获取水贝亿爵游客商品列表
  25. // @Summary 获取水贝亿爵游客商品列表
  26. // @Produce json
  27. // @Param trademodes query string false "交易模式筛选, 逗号隔开, 默认为 52,97,99"
  28. // @Param marketids query string false "市场ID筛选, 逗号隔开"
  29. // @Success 200 {array} models.TouristGoods
  30. // @Failure 500 {object} app.Response
  31. // @Router /sbyj/GetTouristGoods [get]
  32. // @Tags 水贝亿爵
  33. func GetTouristGoods(c *gin.Context) {
  34. appG := app.Gin{C: c}
  35. // 获取请求参数
  36. var req GetTouristGoodsReq
  37. if err := appG.C.ShouldBindQuery(&req); err != nil {
  38. logger.GetLogger().Errorf("GetTouristGoods failed: %s", err.Error())
  39. appG.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil)
  40. return
  41. }
  42. // 获取数据
  43. var tradeModes []int
  44. if req.TradeModes != "" {
  45. arr := strings.Split(req.TradeModes, ",")
  46. for _, item := range arr {
  47. a, _ := strconv.Atoi(item)
  48. tradeModes = append(tradeModes, a)
  49. }
  50. } else {
  51. // 接外部行情的市场: 52-订单系统,10,53-交易系统 97,99-参考行情
  52. tradeModes = []int{10, 53, 52, 97, 99}
  53. }
  54. marketIds := make([]int, 0)
  55. if req.MarketIds != "" {
  56. arr := strings.Split(req.MarketIds, ",")
  57. for _, item := range arr {
  58. a, _ := strconv.Atoi(item)
  59. marketIds = append(marketIds, a)
  60. }
  61. }
  62. goodses, err := models.GetTouristGoods(tradeModes, marketIds)
  63. if err != nil {
  64. // 查询失败
  65. logger.GetLogger().Errorf("GetTouristGoods failed: %s", err.Error())
  66. appG.Response(http.StatusBadRequest, e.ERROR_QUERY_FAIL, nil)
  67. return
  68. }
  69. // 查询成功返回
  70. appG.Response(http.StatusOK, e.SUCCESS, goodses)
  71. }
  72. type GetMyOrdersReq struct {
  73. GoodsId int `form:"goodsId"` // 商品ID
  74. UserId int `form:"userId" binding:"required"` // 用户ID
  75. }