Sfoglia il codice sorgente

增加查询游客特卖商品列表(三级商城)接口

zhou.xiaoning 4 anni fa
parent
commit
83132215c4
6 ha cambiato i file con 2136 aggiunte e 1584 eliminazioni
  1. 80 1
      controllers/hsby/hsby.go
  2. 581 415
      docs/docs.go
  3. 581 415
      docs/swagger.json
  4. 864 753
      docs/swagger.yaml
  5. 28 0
      models/hsby.go
  6. 2 0
      routers/router.go

+ 80 - 1
controllers/hsby/hsby.go

@@ -1061,7 +1061,86 @@ func QueryHsbyMarkets(c *gin.Context) {
 	appG.Response(http.StatusOK, e.SUCCESS, markets)
 }
 
-// QueryHsbyMarketGoodsesReq 查询特卖商品列表(三级商城)列表请求参数
+// QueryHsbyVisitorMarketGoodsesReq 查询游客特卖商品列表(三级商城)请求参数
+type QueryHsbyVisitorMarketGoodsesReq struct {
+	app.PageInfo
+	MarketIDs  string `form:"marketIDs" binding:"required"`
+	CategoryID int    `form:"categoryID"`
+	GoodsIDs   string `form:"goodsIDs"`
+}
+
+// QueryHsbyVisitorMarketGoodses 查询游客特卖商品列表(三级商城)
+// @Summary 查询游客特卖商品列表(三级商城)
+// @Description 说明:使用于未登录状态查询商城商品列表,登录后请使用QueryHsbyMarketGoodses接口进行查询。
+// @Produce json
+// @Security ApiKeyAuth
+// @Param page query int false "页码"
+// @Param pagesize query int false "每页条数"
+// @Param marketIDs query string true "市场ID列表,格式:1,2,3"
+// @Param categoryID query int false "类别ID"
+// @Param goodsIDs query string false "商品ID列表,格式:1,2,3。主要用于商品搜索。"
+// @Success 200 {object} models.HsbyMarketGoods
+// @Failure 500 {object} app.Response
+// @Router /HSBY/QueryHsbyVisitorMarketGoodses [get]
+// @Tags 定制【海商报业】
+func QueryHsbyVisitorMarketGoodses(c *gin.Context) {
+	appG := app.Gin{C: c}
+
+	// 获取请求参数
+	var req QueryHsbyVisitorMarketGoodsesReq
+	if err := appG.C.ShouldBindQuery(&req); err != nil {
+		logger.GetLogger().Errorf("QueryHsbyVisitorMarketGoodses failed: %s", err.Error())
+		appG.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil)
+		return
+	}
+
+	// 获取数据
+	goodses, err := models.GetHsbyMarketGoodsesByVisitor(req.MarketIDs, req.CategoryID, req.GoodsIDs)
+	if err != nil {
+		// 查询失败
+		logger.GetLogger().Errorf("QueryHsbyVisitorMarketGoodses failed: %s", err.Error())
+		appG.Response(http.StatusBadRequest, e.ERROR_QUERY_FAIL, nil)
+		return
+	}
+
+	// 排序
+	sort.Slice(goodses, func(i int, j int) bool {
+		return goodses[i].Hotindex > goodses[j].Hotindex
+	})
+
+	// 分页
+	total := len(goodses)
+	if req.PageSize > 0 {
+		rstByPage := make([]models.HsbyMarketGoods, 0)
+		// 开始上标
+		start := req.Page * req.PageSize
+		// 结束下标
+		end := start + req.PageSize
+
+		if start <= len(goodses) {
+			// 判断结束下标是否越界
+			if end > len(goodses) {
+				end = len(goodses)
+			}
+			rstByPage = goodses[start:end]
+		} else {
+			rstByPage = goodses[0:0]
+		}
+
+		goodses = rstByPage
+	}
+
+	// 查询成功返回
+	if req.PageSize > 0 {
+		logger.GetLogger().Debugln("QueryHsbyVisitorMarketGoodses successed: %v", goodses)
+		appG.ResponseByPage(http.StatusOK, e.SUCCESS, goodses, app.PageInfo{Page: req.Page, PageSize: req.PageSize, Total: total})
+	} else {
+		logger.GetLogger().Debugln("QueryHsbyVisitorMarketGoodses successed: %v", goodses)
+		appG.Response(http.StatusOK, e.SUCCESS, goodses)
+	}
+}
+
+// QueryHsbyMarketGoodsesReq 查询特卖商品列表(三级商城)请求参数
 type QueryHsbyMarketGoodsesReq struct {
 	app.PageInfo
 	MarketIDs    string `form:"marketIDs" binding:"required"`

File diff suppressed because it is too large
+ 581 - 415
docs/docs.go


File diff suppressed because it is too large
+ 581 - 415
docs/swagger.json


File diff suppressed because it is too large
+ 864 - 753
docs/swagger.yaml


+ 28 - 0
models/hsby.go

@@ -1556,6 +1556,34 @@ type HsbyMarketGoods struct {
 	SellUserID int `json:"sellUserID" xorm:"-"` // 卖方UserID
 }
 
+// GetHsbyMarketGoodsesByVisitor 游客获取商城商品列表(三级商城)
+func GetHsbyMarketGoodsesByVisitor(marketIDs string, categoryID int, goodsIDs string) ([]HsbyMarketGoods, error) {
+	engine := db.GetEngine()
+
+	orders := make([]HsbyMarketGoods, 0)
+	session := engine.Table("GOODS G").
+		Select(`'1' ORDERIDSTR, 2 ACCOUNTID, 0 BUYORSELL, 
+				G.GOODSID, G.MARKETID, G.GOODSCODE, G.GOODSNAME, G.DECIMALPLACE, G.QUOTEMINUNIT, G.AGREEUNIT, 
+				GX.HOTINDEX, GX.PICURLS, GX.CATEGORYID, GX.GOODSDESC, 
+				E.ENUMDICNAME CURRENCY, E.PARAM2 CURRENCYSIGN, 
+				M.TRADEMODE`).
+		Join("LEFT", "HSBY_GOODSEX GX", "GX.GOODSID = G.GOODSID").
+		Join("LEFT", "ENUMDICITEM E", "E.ENUMITEMNAME = G.CURRENCYID and E.ENUMDICCODE = 'currency'").
+		Join("LEFT", "MARKET M", "M.MARKETID = G.MARKETID").
+		Where(fmt.Sprintf("G.MARKETID in (%s)", marketIDs))
+	if categoryID != 0 {
+		session = session.And("GX.CATEGORYID = ?", categoryID)
+	}
+	if len(goodsIDs) > 0 {
+		session = session.And(fmt.Sprintf("G.GOODSID in (%s)", goodsIDs))
+	}
+	if err := session.Find(&orders); err != nil {
+		return nil, err
+	}
+
+	return orders, nil
+}
+
 // GetHsbyMarketGoodses 获取商城商品列表(三级商城)
 func GetHsbyMarketGoodses(marketIDs string, accountID, categoryID int, goodsIDs string, couponTypeID int) ([]HsbyMarketGoods, error) {
 	engine := db.GetEngine()

+ 2 - 0
routers/router.go

@@ -281,6 +281,8 @@ func InitRouter() *gin.Engine {
 		hsbyR.GET("/QueryMyCollectionOrders", hsby.QueryMyCollectionOrders)
 		// 查询海商报业相关市场信息
 		hsbyR.GET("/QueryHsbyMarkets", hsby.QueryHsbyMarkets)
+		// 查询游客特卖商品列表(三级商城)
+		hsbyR.GET("/QueryHsbyVisitorMarketGoodses", hsby.QueryHsbyVisitorMarketGoodses)
 		// 查询特卖商品列表(三级商城)
 		hsbyR.GET("/QueryHsbyMarketGoodses", hsby.QueryHsbyMarketGoodses)
 		// 查询三级市场(商城)商品信息详情

Some files were not shown because too many files changed in this diff