feat(admin): 系统公告 - 支持置顶排序与管理端标识
Adapted from ddcat-ai/open-ai-canvas#339 Original commit: fcdbe2aa833f31f683f709b7f409a0534ed78e20 Refs #339 Co-authored-by: 宇熙 <101980758+yuxiwl@users.noreply.github.com>
This commit is contained in:
@@ -24,7 +24,7 @@ func (r *Repository) AdminAnnouncements(keyword string, status model.Announcemen
|
||||
if err := query.Count(&total).Error; err != nil {
|
||||
return nil, 0, err
|
||||
}
|
||||
if err := query.Order("published_at desc").Limit(limit).Offset(offset).Find(&announcements).Error; err != nil {
|
||||
if err := query.Order("pinned desc, published_at desc").Limit(limit).Offset(offset).Find(&announcements).Error; err != nil {
|
||||
return nil, 0, err
|
||||
}
|
||||
return announcements, total, nil
|
||||
@@ -34,7 +34,7 @@ func (r *Repository) AnnouncementFeed(userID string) ([]model.Announcement, int6
|
||||
var announcements []model.Announcement
|
||||
var unreadCount int64
|
||||
err := r.db.Transaction(func(tx *gorm.DB) error {
|
||||
if err := tx.Where("status = ?", model.AnnouncementStatusActive).Order("published_at desc").Find(&announcements).Error; err != nil {
|
||||
if err := tx.Where("status = ?", model.AnnouncementStatusActive).Order("pinned desc, published_at desc").Find(&announcements).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
return tx.Model(&model.Announcement{}).
|
||||
@@ -66,6 +66,7 @@ func (r *Repository) UpdateAnnouncement(announcement *model.Announcement) error
|
||||
"title": announcement.Title,
|
||||
"content": announcement.Content,
|
||||
"level": announcement.Level,
|
||||
"pinned": announcement.Pinned,
|
||||
"status": announcement.Status,
|
||||
"published_at": announcement.PublishedAt,
|
||||
"closed_at": announcement.ClosedAt,
|
||||
|
||||
Reference in New Issue
Block a user