This commit is contained in:
2023-12-03 17:14:17 +08:00
parent 4b8f3c669c
commit a5dd075643
2 changed files with 64 additions and 43 deletions

View File

@@ -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"`