From ac3fa17e3795c0a2cc161f522a9cfd22e1067d6e Mon Sep 17 00:00:00 2001 From: ychao_1983 Date: Wed, 6 Apr 2022 10:17:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- models/cloudbrain_image.go | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/models/cloudbrain_image.go b/models/cloudbrain_image.go index 5d30bbbdd..ef0b24721 100644 --- a/models/cloudbrain_image.go +++ b/models/cloudbrain_image.go @@ -24,7 +24,9 @@ type Image struct { Topics []string `xorm:"TEXT JSON" json:"topics"` Place string `xorm:"varchar(300)" json:"place"` NumStars int `xorm:"NOT NULL DEFAULT 0" json:"numStars"` - Creator *User `xorm:"-" json:"creator"` + IsStar bool `xorm:"-" json:"isStar"` + UserName string `xorm:"-" json:"userName"` + RelAvatarLink string `xorm:"-" json:"relAvatarLink"` CreatedUnix timeutil.TimeStamp `xorm:"INDEX created" json:"createdUnix"` UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated" json:"updatedUnix"` } @@ -388,14 +390,14 @@ func SearchImageByCondition(opts *SearchImageOptions, cond builder.Cond) (ImageL return nil, 0, fmt.Errorf("Images: %v", err) } - if err = images.loadAttributes(sess); err != nil { + if err = images.loadAttributes(sess, opts.UID); err != nil { return nil, 0, fmt.Errorf("LoadAttributes: %v", err) } return images, count, nil } -func (images ImageList) loadAttributes(e Engine) error { +func (images ImageList) loadAttributes(e Engine, uid int64) error { if len(images) == 0 { return nil } @@ -417,8 +419,13 @@ func (images ImageList) loadAttributes(e Engine) error { } for i := range images { - images[i].Creator = users[images[i].UID] - + images[i].UserName = users[images[i].UID].Name + images[i].RelAvatarLink = users[images[i].UID].RelAvatarLink() + if uid == -1 { + images[i].IsStar = false + } else { + images[i].IsStar = isImageStaring(e, uid, images[i].ID) + } } return nil