goodsSearch.go 1.3 KB

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