feat: add bought check
This commit is contained in:
@@ -51,6 +51,11 @@ func (ctl *posts) List(ctx fiber.Ctx, pagination *requests.Pagination, query *Li
|
||||
|
||||
postIds := lo.Map(pager.Items.([]model.Posts), func(item model.Posts, _ int) int64 { return item.ID })
|
||||
if len(postIds) > 0 {
|
||||
userBoughtIds, err := models.Users.BatchCheckHasBought(ctx.Context(), user.ID, postIds)
|
||||
if err != nil {
|
||||
log.WithError(err).Errorf("BatchCheckHasBought err: %v", err)
|
||||
}
|
||||
|
||||
items := lo.FilterMap(pager.Items.([]model.Posts), func(item model.Posts, _ int) (PostItem, bool) {
|
||||
medias, err := models.Posts.GetMediaByIds(ctx.Context(), item.HeadImages.Data)
|
||||
if err != nil {
|
||||
@@ -67,6 +72,8 @@ func (ctl *posts) List(ctx fiber.Ctx, pagination *requests.Pagination, query *Li
|
||||
return url, true
|
||||
})
|
||||
|
||||
_, bought := userBoughtIds[item.ID]
|
||||
|
||||
return PostItem{
|
||||
ID: item.ID,
|
||||
Title: item.Title,
|
||||
@@ -77,6 +84,7 @@ func (ctl *posts) List(ctx fiber.Ctx, pagination *requests.Pagination, query *Li
|
||||
Likes: item.Likes,
|
||||
Tags: item.Tags.Data,
|
||||
HeadImages: mediaUrls,
|
||||
Bought: bought,
|
||||
}, true
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user