Skip to content

Commit

Permalink
fix: 删除recommend-rpc中timestamp参数 (#44)
Browse files Browse the repository at this point in the history
  • Loading branch information
Lansongxx authored Feb 9, 2024
1 parent f8a1ba6 commit 1db1aa1
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 42 deletions.
57 changes: 19 additions & 38 deletions biz/application/service/recommend.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,11 @@ type IRecommendService interface {
CreateFeedBacks(ctx context.Context, req *gencontent.CreateFeedBacksReq) (resp *gencontent.CreateFeedBacksResp, err error)
}

var RecommendSet = wire.NewSet(
wire.Struct(new(RecommendService), "*"),
wire.Bind(new(IRecommendService), new(*RecommendService)),
)

type RecommendService struct {
Redis *redis.Redis
Gorse *gorse.GorseClient
Expand Down Expand Up @@ -58,14 +63,8 @@ func (s *RecommendService) GetLatestRecommend(ctx context.Context, req *genconte
}
}

if req.Category != nil {
if items, err = s.Gorse.GetItemLatestWithCategory(ctx, req.UserId, req.GetCategory(), int(req.GetLimit()), offset); err != nil {
return resp, err
}
} else {
if items, err = s.Gorse.GetItemLatest(ctx, req.UserId, int(req.GetLimit()), offset); err != nil {
return resp, err
}
if items, err = s.Gorse.GetItemLatestWithCategory(ctx, req.UserId, strconv.Itoa(int(req.Category)), int(req.GetLimit()), offset); err != nil {
return resp, err
}
if len(resp.ItemIds) < int(req.GetLimit()) {
offset = 0
Expand All @@ -77,6 +76,7 @@ func (s *RecommendService) GetLatestRecommend(ctx context.Context, req *genconte
resp.ItemIds = lo.Map[gorse.Score, string](items, func(score gorse.Score, _ int) string {
return score.Id
})

return resp, nil
}

Expand All @@ -91,9 +91,13 @@ func (s *RecommendService) CreateItems(ctx context.Context, req *gencontent.Crea
}

func (s *RecommendService) UpdateItem(ctx context.Context, req *gencontent.UpdateItemReq) (resp *gencontent.UpdateItemResp, err error) {
categories := make([]string, 0, 1)
if req.Categories != nil {
categories = append(categories, strconv.Itoa(int(req.GetCategories())))
}
if _, err = s.Gorse.UpdateItem(ctx, req.ItemId, &gorse.ItemPatch{
IsHidden: req.IsHidden,
Categories: req.Categories,
Categories: categories,
Labels: req.Labels,
Comment: req.Comment,
}); err != nil {
Expand Down Expand Up @@ -128,14 +132,8 @@ func (s *RecommendService) GetPopularRecommend(ctx context.Context, req *gencont
}
}

if req.Category != nil {
if items, err = s.Gorse.GetItemPopularWithCategory(ctx, req.UserId, req.GetCategory(), int(req.GetLimit()), offset); err != nil {
return resp, err
}
} else {
if items, err = s.Gorse.GetItemPopular(ctx, req.UserId, int(req.GetLimit()), offset); err != nil {
return resp, err
}
if items, err = s.Gorse.GetItemPopularWithCategory(ctx, req.UserId, strconv.Itoa(int(req.Category)), int(req.GetLimit()), offset); err != nil {
return resp, err
}
if len(items) < int(req.GetLimit()) {
offset = 0
Expand Down Expand Up @@ -170,14 +168,8 @@ func (s *RecommendService) GetRecommendByItem(ctx context.Context, req *genconte
}
}

if req.Category != nil {
if items, err = s.Gorse.GetItemNeighborsWithCategory(ctx, req.ItemId, req.GetCategory(), int(req.GetLimit()), offset); err != nil {
return resp, err
}
} else {
if items, err = s.Gorse.GetItemNeighbors(ctx, req.ItemId, int(req.GetLimit()), offset); err != nil {
return resp, err
}
if items, err = s.Gorse.GetItemNeighborsWithCategory(ctx, req.ItemId, strconv.Itoa(int(req.Category)), int(req.GetLimit()), offset); err != nil {
return resp, err
}
if len(resp.ItemIds) < int(req.GetLimit()) {
offset = 0
Expand Down Expand Up @@ -210,14 +202,8 @@ func (s *RecommendService) GetRecommendByUser(ctx context.Context, req *genconte
}
}

if req.Category != nil {
if resp.ItemIds, err = s.Gorse.GetItemRecommendWithCategory(ctx, req.UserId, req.GetCategory(), "read", "60m", int(req.GetLimit()), offset); err != nil {
return resp, err
}
} else {
if resp.ItemIds, err = s.Gorse.GetItemRecommend(ctx, req.UserId, []string{}, "read", "60m", int(req.GetLimit()), offset); err != nil {
return resp, err
}
if resp.ItemIds, err = s.Gorse.GetItemRecommendWithCategory(ctx, req.UserId, strconv.Itoa(int(req.Category)), "read", "60m", int(req.GetLimit()), offset); err != nil {
return resp, err
}
if len(resp.ItemIds) < int(req.GetLimit()) {
offset = 0
Expand All @@ -228,8 +214,3 @@ func (s *RecommendService) GetRecommendByUser(ctx context.Context, req *genconte
_ = s.Redis.SetexCtx(ctx, fmt.Sprintf("cache:user:recommend:%s", req.UserId), strconv.Itoa(offset), 3600)
return resp, nil
}

var RecommendSet = wire.NewSet(
wire.Struct(new(RecommendService), "*"),
wire.Bind(new(IRecommendService), new(*RecommendService)),
)
7 changes: 4 additions & 3 deletions biz/infrastructure/convertor/convertor.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import (
"github.com/elastic/go-elasticsearch/v8/typedapi/types"
"github.com/samber/lo"
"go.mongodb.org/mongo-driver/bson/primitive"
"strconv"
"time"
)

Expand Down Expand Up @@ -644,8 +645,8 @@ func ItemToGorseItem(in *gencontent.Item) gorse.Item {
ItemId: in.ItemId,
IsHidden: in.IsHidden,
Labels: in.Labels,
Categories: in.Categories,
Timestamp: in.Timestamp,
Categories: []string{strconv.Itoa(int(in.Category))},
Timestamp: time.Now().String(),
Comment: in.Comment,
}
}
Expand All @@ -655,6 +656,6 @@ func FeedBackToGorseFeedBack(in *gencontent.FeedBack) gorse.Feedback {
FeedbackType: in.FeedbackType,
UserId: in.UserId,
ItemId: in.ItemId,
Timestamp: in.Timestamp,
Timestamp: time.Now().String(),
}
}
5 changes: 4 additions & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ go 1.20

require (
github.com/CloudStriver/go-pkg v0.0.0-20231229114943-910edcb8788d
github.com/CloudStriver/service-idl-gen-go v0.0.0-20240209072649-698e4ff5d11f
github.com/CloudStriver/service-idl-gen-go v0.0.0-20240209105344-32f0bd207ac6
github.com/bytedance/sonic v1.10.2
github.com/cloudwego/kitex v0.8.0
github.com/elastic/go-elasticsearch/v8 v8.11.1
Expand All @@ -20,6 +20,9 @@ require (
google.golang.org/grpc v1.60.1
)

//replace (
// github.com/CloudStriver/service-idl-gen-go => ../service-idl-gen-go
//)
require (
github.com/apache/thrift v0.16.0 // indirect
github.com/beorn7/perks v1.0.1 // indirect
Expand Down
2 changes: 2 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ github.com/CloudStriver/service-idl-gen-go v0.0.0-20240209070137-e8c51d34a88f h1
github.com/CloudStriver/service-idl-gen-go v0.0.0-20240209070137-e8c51d34a88f/go.mod h1:chtR82RvfrjUujTGWROSCNAwF9Lh/U959k34bXIDvBI=
github.com/CloudStriver/service-idl-gen-go v0.0.0-20240209072649-698e4ff5d11f h1:A+1ScMwpdyN5/m9KeKO8TCkDBwQwoxcL84QQZWhq2G0=
github.com/CloudStriver/service-idl-gen-go v0.0.0-20240209072649-698e4ff5d11f/go.mod h1:chtR82RvfrjUujTGWROSCNAwF9Lh/U959k34bXIDvBI=
github.com/CloudStriver/service-idl-gen-go v0.0.0-20240209105344-32f0bd207ac6 h1:qlEpPhf4H7t130ZMFM4iNU+8RWSPgjBURU5OQviBCoo=
github.com/CloudStriver/service-idl-gen-go v0.0.0-20240209105344-32f0bd207ac6/go.mod h1:chtR82RvfrjUujTGWROSCNAwF9Lh/U959k34bXIDvBI=
github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9/go.mod h1:JynElWSGnm/4RlzPXRlREEwqTHAN3T56Bv2ITsFT3gY=
github.com/ajstarks/deck/generate v0.0.0-20210309230005-c3f852c02e19/go.mod h1:T13YZdzov6OU0A1+RfKZiZN9ca6VeKdBdyDV+BY97Tk=
github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
Expand Down

0 comments on commit 1db1aa1

Please sign in to comment.