收束
This commit is contained in:
@@ -2,9 +2,66 @@ package api
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
type IDS []int
|
||||
|
||||
// 合并为以逗号分隔的字符串
|
||||
func (ids IDS) ToString() (str string) {
|
||||
return strings.Trim(strings.Join(strings.Fields(fmt.Sprint(ids)), ","), "[]")
|
||||
}
|
||||
|
||||
type ImageList []Image
|
||||
|
||||
// 取到所有的文章ID, 去除重复
|
||||
func (images *ImageList) ToAllArticleID() (uniqueIds IDS) {
|
||||
article_ids := make(map[int]bool)
|
||||
for _, image := range *images {
|
||||
article_ids[image.ArticleID] = true
|
||||
}
|
||||
for id := range article_ids {
|
||||
uniqueIds = append(uniqueIds, id)
|
||||
}
|
||||
return uniqueIds
|
||||
}
|
||||
|
||||
// 取到所有的用户ID, 去除重复
|
||||
func (images *ImageList) ToAllUserID() (uniqueIds IDS) {
|
||||
user_ids := make(map[int]bool)
|
||||
for _, image := range *images {
|
||||
user_ids[image.UserID] = true
|
||||
}
|
||||
for id := range user_ids {
|
||||
uniqueIds = append(uniqueIds, id)
|
||||
}
|
||||
return uniqueIds
|
||||
}
|
||||
|
||||
// 为每个图像设置用户信息
|
||||
func (images *ImageList) SetUser(userList []User) {
|
||||
for i, image := range *images {
|
||||
for _, user := range userList {
|
||||
if image.UserID == user.ID {
|
||||
(*images)[i].User = user
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 为每个图像设置文章信息
|
||||
func (images *ImageList) SetArticle(articleList []Article) {
|
||||
for i, image := range *images {
|
||||
for _, article := range articleList {
|
||||
if image.ArticleID == article.ID {
|
||||
(*images)[i].Article = article
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
type Image struct {
|
||||
ID int `json:"id" db:"id"`
|
||||
Width int `json:"width" db:"width"`
|
||||
|
Reference in New Issue
Block a user