feat: update post list
Some checks failed
build quyun / Build (push) Failing after 1m39s

This commit is contained in:
2025-12-20 21:49:34 +08:00
parent be8a57c649
commit 619834a673
4 changed files with 31 additions and 45 deletions

View File

@@ -71,30 +71,15 @@ func (m *users) List(
}
// PostList returns a paginated list of posts for a user
func (m *users) PostList(
ctx context.Context,
userId int64,
pagination *requests.Pagination,
conds ...gen.Condition,
) (*requests.Pager, error) {
pagination.Format()
// stmt := SELECT(tbl.AllColumns).
// FROM(tbl.
// RIGHT_JOIN(
// tblUserPosts,
// tblUserPosts.PostID.EQ(tbl.ID),
// ),
// ).
// WHERE(CondTrue(cond...)).
// ORDER_BY(tblUserPosts.ID.DESC()).
// LIMIT(pagination.Limit).
// OFFSET(pagination.Offset)
// m.log().Infof("sql: %s", stmt.DebugSql())
func (m *users) PostList(ctx context.Context, userId int64, filter *dto.PostListQuery) (*requests.Pager, error) {
filter.Format()
tbl, query := models.UserPostQuery.QueryContext(ctx)
query = query.Order(tbl.CreatedAt.Desc())
pagePosts, cnt, err := query.Select(tbl.PostID).
Where(tbl.UserID.Eq(userId)).
FindByPage(int(pagination.Offset()), int(pagination.Limit))
FindByPage(int(filter.Offset()), int(filter.Limit))
if err != nil {
return nil, err
}
@@ -105,10 +90,21 @@ func (m *users) PostList(
if err != nil {
return nil, err
}
itemMap := lo.KeyBy(items, func(item *models.Post) int64 { return item.ID })
tmpItems := []*models.Post{}
for _, id := range postIds {
if i, ok := itemMap[id]; ok {
tmpItems = append(tmpItems, i)
}
}
return &requests.Pager{
Items: items,
Items: tmpItems,
Total: cnt,
Pagination: *pagination,
Pagination: *filter.Pagination,
}, nil
}