From 6a362983eaa8f9dbbd5972065aeb4bda0db2fe41 Mon Sep 17 00:00:00 2001 From: howell <2827207845@qq.com> Date: Thu, 9 Dec 2021 17:09:28 +0800 Subject: [PATCH] fix: user_id --- internal/api/mobile/goods/common_list.go | 24 +++++++---- internal/api/mobile/goods/hot_sell_list.go | 41 ++++++++++++++----- internal/api/mobile/goods/search_list.go | 3 +- .../controller/app/shoppingcart/shopping.go | 6 +-- internal/v2/logic/app/shopping/logic.go | 6 +-- 5 files changed, 55 insertions(+), 25 deletions(-) diff --git a/internal/api/mobile/goods/common_list.go b/internal/api/mobile/goods/common_list.go index ec08b90..de4bfe7 100755 --- a/internal/api/mobile/goods/common_list.go +++ b/internal/api/mobile/goods/common_list.go @@ -147,7 +147,7 @@ func getFillList(c *gin.Context, goodsList []goods.Information, volSort string) return goodsList } -//综合排序 +// QueryGoodsListByComprehension 综合排序 func QueryGoodsListByComprehension(c *gin.Context) { var p queryOrderGoodsListParam if err := tools.ParseParams(&p, c); err != nil { @@ -197,7 +197,7 @@ func QueryGoodsListByComprehension(c *gin.Context) { // } //} - back.Suc(c, "", GetGoodsRespByInfoList(goodsList)) + back.Suc(c, "", GetGoodsRespByInfoList(goodsList, p.UserId)) } func findByKeyWord(q *gorm2.DB, str string, data *[]goods.Information) { @@ -286,7 +286,7 @@ func QueryGoodsListBySalesVolume(c *gin.Context) { // } // } //} - back.Suc(c, "", GetGoodsRespByInfoList(goodsList)) + back.Suc(c, "", GetGoodsRespByInfoList(goodsList, p.UserId)) } //老的按照销量排序 @@ -379,8 +379,8 @@ func QueryGoodsListByDiscountPrice(c *gin.Context) { back.Suc(c, "", GetGoodsRespBySkuList(skuList)) } -// ============================================================== -func GetGoodsRespByInfoList(goodsList []goods.Information) []QueryCategoryGoodsListResp { +// GetGoodsRespByInfoList ============================================================== +func GetGoodsRespByInfoList(goodsList []goods.Information, userID uint) []QueryCategoryGoodsListResp { list := make([]QueryCategoryGoodsListResp, 0, 0) //新增进口专区国家图标 var iconList []goods2.RecookAbroadCountryModel @@ -390,7 +390,8 @@ func GetGoodsRespByInfoList(goodsList []goods.Information) []QueryCategoryGoodsL for _, v := range iconList { countryMap[v.ID] = v.Icon } - fmt.Println(len(countryMap)) + var u user.RecookUserInfoModel + mysql2.Db.First(&u, "id = ?", userID) //国家图标放入map结束 for _, v := range goodsList { var mainPhoto goods.MainPhoto @@ -455,6 +456,14 @@ func GetGoodsRespByInfoList(goodsList []goods.Information) []QueryCategoryGoodsL if isMember, _ := cache.IsMemberOfNewerTehui(strconv.Itoa(int(v.ID))); isMember { tags = append(tags, "新人特惠") } + rate := decimal.Zero + switch u.Level { + case 1: + rate = decimal.NewFromFloat(0.5) + case 2: + rate = decimal.NewFromFloat(0.7) + } + commission = sku.DiscountPrice.Sub(sku.PurchasePrice).Mul(rate) recookGoodsInfoModel := &goods2.RecookGoodsInfoModel{} list = append(list, QueryCategoryGoodsListResp{ @@ -656,7 +665,8 @@ func GetGoodsRespBySkuList(skuList []goods.Sku) []QueryCategoryGoodsListResp { } func GetListByLive(goodsList []goods.Information) []QueryCategoryGoodsListResp { - return GetGoodsRespByInfoList(goodsList) + //return GetGoodsRespByInfoList(goodsList) + return nil } func secKillAbout(list []QueryCategoryGoodsListResp) (result []QueryCategoryGoodsListResp) { //新增秒杀的图标 diff --git a/internal/api/mobile/goods/hot_sell_list.go b/internal/api/mobile/goods/hot_sell_list.go index 3c8d565..09ddbd1 100755 --- a/internal/api/mobile/goods/hot_sell_list.go +++ b/internal/api/mobile/goods/hot_sell_list.go @@ -11,8 +11,16 @@ import ( "github.com/gin-gonic/gin" ) -/*热销榜*/ +type UserParam struct { + UserID uint +} + func QueryHotSellGoodsList(c *gin.Context) { + var p UserParam + if err := tools.ParseParams(&p, c); err != nil { + back.Fail(c, err.Error()) + return + } var rankings []goods.HotSellRankings dbc.DB.Select("goods_id").Limit(10).Offset(0). Order("sales desc, clicks desc").Find(&rankings, "date = ?", time.Now().Format("2006-01-02")) @@ -30,7 +38,7 @@ func QueryHotSellGoodsList(c *gin.Context) { dbc.DB.First(&goodsInfo, v) goodsList = append(goodsList, goodsInfo) } - list = GetGoodsRespByInfoList(goodsList) + list = GetGoodsRespByInfoList(goodsList, p.UserID) } back.Suc(c, "", list) @@ -38,6 +46,7 @@ func QueryHotSellGoodsList(c *gin.Context) { type ql struct { Status uint `json:"status"` + UserID uint `json:"user_id"` } func QueryRecommendList(c *gin.Context) { @@ -60,15 +69,18 @@ func QueryRecommendList(c *gin.Context) { dbc.DB.First(&goodsInfo, v) goodsList = append(goodsList, goodsInfo) } - list = GetGoodsRespByInfoList(goodsList) + list = GetGoodsRespByInfoList(goodsList, p.UserID) } back.Suc(c, "", list) } -/*瑞库制品*/ func QueryRecookMake(c *gin.Context) { - + var p UserParam + if err := tools.ParseParams(&p, c); err != nil { + back.Fail(c, err.Error()) + return + } goodsIdList := []uint{23, 35, 66, 68, 173, 188, 227, 231, 314, 317} list := make([]QueryCategoryGoodsListResp, 0, 0) @@ -79,15 +91,18 @@ func QueryRecookMake(c *gin.Context) { dbc.DB.First(&goodsInfo, v) goodsList = append(goodsList, goodsInfo) } - list = GetGoodsRespByInfoList(goodsList) + list = GetGoodsRespByInfoList(goodsList, p.UserID) } back.Suc(c, "", list) } -/*数码家电*/ func QueryDigital(c *gin.Context) { - + var p UserParam + if err := tools.ParseParams(&p, c); err != nil { + back.Fail(c, err.Error()) + return + } goodsIdList := []uint{9, 12, 35, 44, 49, 311, 23, 39, 42, 27} list := make([]QueryCategoryGoodsListResp, 0, 0) @@ -98,14 +113,18 @@ func QueryDigital(c *gin.Context) { dbc.DB.First(&goodsInfo, v) goodsList = append(goodsList, goodsInfo) } - list = GetGoodsRespByInfoList(goodsList) + list = GetGoodsRespByInfoList(goodsList, p.UserID) } back.Suc(c, "", list) } -/*家居生活*/ func QueryHomeLive(c *gin.Context) { + var p UserParam + if err := tools.ParseParams(&p, c); err != nil { + back.Fail(c, err.Error()) + return + } goodsIdList := []uint{2, 385, 22, 60, 293, 34, 124, 128, 157, 254} @@ -117,7 +136,7 @@ func QueryHomeLive(c *gin.Context) { dbc.DB.First(&goodsInfo, v) goodsList = append(goodsList, goodsInfo) } - list = GetGoodsRespByInfoList(goodsList) + list = GetGoodsRespByInfoList(goodsList, p.UserID) } back.Suc(c, "", list) diff --git a/internal/api/mobile/goods/search_list.go b/internal/api/mobile/goods/search_list.go index cfe7368..9bf9bf1 100755 --- a/internal/api/mobile/goods/search_list.go +++ b/internal/api/mobile/goods/search_list.go @@ -12,6 +12,7 @@ type searchGoodsListParam struct { Keyword string `json:"keyword"` Page uint `json:"page"` Order string `json:"order"` + UserID uint `json:"user_id"` } func SearchGoodsByKeyword(c *gin.Context) { @@ -31,5 +32,5 @@ func SearchGoodsByKeyword(c *gin.Context) { tx.Find(&goodsList, ` goods_name like "%`+p.Keyword+`%"`) //} - back.Suc(c, "", GetGoodsRespByInfoList(goodsList)) + back.Suc(c, "", GetGoodsRespByInfoList(goodsList, p.UserID)) } diff --git a/internal/v2/controller/app/shoppingcart/shopping.go b/internal/v2/controller/app/shoppingcart/shopping.go index 08be17c..e87c0c8 100644 --- a/internal/v2/controller/app/shoppingcart/shopping.go +++ b/internal/v2/controller/app/shoppingcart/shopping.go @@ -20,19 +20,19 @@ type viewLikeRes struct { UserId uint `json:"user_id"` } -//找相似产品 +// ViewLike 找相似产品 func (s ShoppingController) ViewLike(c *gin.Context) { var p viewLikeRes if err := tools.ParseParams(&p, c); err != nil { back.Fail(c, err.Error()) return } - rest := shopping.LogicShoppingCart.ViewLike(p.GoodsId) + rest := shopping.LogicShoppingCart.ViewLike(p.GoodsId, p.UserId) back.Suc(c, "", rest) } -//可能喜欢的商品 +// ViewLikeMaybe 可能喜欢的商品 func (s ShoppingController) ViewLikeMaybe(c *gin.Context) { var p viewLikeRes if err := tools.ParseParams(&p, c); err != nil { diff --git a/internal/v2/logic/app/shopping/logic.go b/internal/v2/logic/app/shopping/logic.go index 6a1da1f..55c86f6 100644 --- a/internal/v2/logic/app/shopping/logic.go +++ b/internal/v2/logic/app/shopping/logic.go @@ -58,7 +58,7 @@ type live struct { } //ViewLike 找相似商品 -func (l logic) ViewLike(id uint) []goods3.QueryCategoryGoodsListResp { +func (l logic) ViewLike(id uint, userID uint) []goods3.QueryCategoryGoodsListResp { //相似商品 var likeList []int dbc.DB.Table((&goods2.Associate{}).TableName()).Where("goods_id=?", id).Pluck("other_goods_id", &likeList) @@ -73,7 +73,7 @@ func (l logic) ViewLike(id uint) []goods3.QueryCategoryGoodsListResp { var goodsList []goods.Information dbc.DB.Table((&goods.Information{}).TableName()).Where("id in(?)", newlike).Find(&goodsList) - return goods3.GetGoodsRespByInfoList(goodsList) + return goods3.GetGoodsRespByInfoList(goodsList, userID) } //ViewLikeMayBe 可能喜欢的商品 @@ -101,7 +101,7 @@ func (l logic) ViewLikeMayBe(c *gin.Context, userId uint) []goods3.QueryCategory if len(goodsList) < 20 { newgoodsList = getFillList(c, goodsList, "") } - return goods3.GetGoodsRespByInfoList(newgoodsList) + return goods3.GetGoodsRespByInfoList(newgoodsList, userId) } func getFillList(c *gin.Context, goodsList []goods.Information, volSort string) []goods.Information { // 显示记录太少