goods.go 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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-05-10 16:41:13
  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. tradeModes = []int{52, 97, 99}
  52. }
  53. marketIds := make([]int, 0)
  54. if req.MarketIds != "" {
  55. arr := strings.Split(req.MarketIds, ",")
  56. for _, item := range arr {
  57. a, _ := strconv.Atoi(item)
  58. marketIds = append(marketIds, a)
  59. }
  60. }
  61. goodses, err := models.GetTouristGoods(tradeModes, marketIds)
  62. if err != nil {
  63. // 查询失败
  64. logger.GetLogger().Errorf("GetTouristGoods failed: %s", err.Error())
  65. appG.Response(http.StatusBadRequest, e.ERROR_QUERY_FAIL, nil)
  66. return
  67. }
  68. // 查询成功返回
  69. appG.Response(http.StatusOK, e.SUCCESS, goodses)
  70. }
  71. type GetMyOrdersReq struct {
  72. GoodsId int `form:"goodsId"` // 商品ID
  73. UserId int `form:"userId" binding:"required"` // 用户ID
  74. }