goodsSearch.go 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package search
  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. // GoodsesReq 检索商品信息请求参数
  11. type GoodsesReq struct {
  12. Content string `form:"content" binding:"required"`
  13. TradeModes string `form:"tradeModes"`
  14. }
  15. // Goodses 检索商品信息
  16. // @Summary 检索商品信息
  17. // @Description 说明:使用检索内容模糊匹配商品代码和商品名称
  18. // @Produce json
  19. // @Param content query string true "检索内容"
  20. // @Param tradeModes query string false "交易模式,格式:1,2,3"
  21. // @Success 200 {object} models.SearchGoods
  22. // @Failure 500 {object} app.Response
  23. // @Router /Search/SearchGoodses [get]
  24. // @Tags 检索服务
  25. func Goodses(c *gin.Context) {
  26. appG := app.Gin{C: c}
  27. // 获取请求参数
  28. var req GoodsesReq
  29. if err := appG.C.ShouldBindQuery(&req); err != nil {
  30. logger.GetLogger().Errorf("Goodses failed: %s", err.Error())
  31. appG.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil)
  32. return
  33. }
  34. searchGoodses, err := models.SearchGoodses(req.Content, req.TradeModes)
  35. if err != nil {
  36. // 查询失败
  37. logger.GetLogger().Errorf("Goodses failed: %s", err.Error())
  38. appG.Response(http.StatusBadRequest, e.ERROR_QUERY_FAIL, nil)
  39. return
  40. }
  41. // 查询成功返回
  42. logger.GetLogger().Debugln("Goodses successed: %v", searchGoodses)
  43. appG.Response(http.StatusOK, e.SUCCESS, searchGoodses)
  44. }