feat: import services and standardize Go 1.26.5
This commit is contained in:
107
apps/base/cms/internal/logic/post/fetch.go
Normal file
107
apps/base/cms/internal/logic/post/fetch.go
Normal file
@@ -0,0 +1,107 @@
|
||||
package post
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"git.apinb.com/bsm-apps/cms/internal/models"
|
||||
pb "git.apinb.com/bsm-apps/cms/pb"
|
||||
"git.apinb.com/bsm-sdk/core/errcode"
|
||||
"git.apinb.com/bsm-sdk/core/printer"
|
||||
)
|
||||
|
||||
// 文章列表
|
||||
func Fetch(ctx context.Context, in *pb.PostListRequest) (reply *pb.PostListReply, err error) {
|
||||
if in.GetPage() <= 0 {
|
||||
in.Page = 1
|
||||
}
|
||||
if in.GetSize() <= 0 {
|
||||
in.Size = 10
|
||||
}
|
||||
if in.GetSize() > 50 {
|
||||
in.Size = 50
|
||||
}
|
||||
list, cnt, err := models.PostList(in.Page, in.Size, in.CategoryIdentity, in.Keyword, int64(in.Type))
|
||||
if err != nil {
|
||||
printer.Error(err.Error())
|
||||
return nil, errcode.ErrDB
|
||||
}
|
||||
var res = pb.PostListReply{
|
||||
Count: cnt,
|
||||
Data: make([]*pb.PostItem, 0),
|
||||
}
|
||||
for _, val := range list {
|
||||
var (
|
||||
accessoryData = make([]*pb.AccessoryItem, 0)
|
||||
accessories = make([]string, 0)
|
||||
|
||||
categoryData = make([]*pb.CategoryItem, 0)
|
||||
categories = make([]string, 0)
|
||||
|
||||
TagsData = make([]*pb.TagsItem, 0)
|
||||
tagsIdentityArray = make([]string, 0)
|
||||
)
|
||||
for _, accessory := range val.Accessories {
|
||||
accessoryData = append(accessoryData, &pb.AccessoryItem{
|
||||
Identity: accessory.Identity,
|
||||
Title: accessory.Title,
|
||||
FilePath: accessory.FilePath,
|
||||
})
|
||||
accessories = append(accessories, accessory.Identity)
|
||||
}
|
||||
for _, category := range val.Categories {
|
||||
categoryData = append(categoryData, &pb.CategoryItem{
|
||||
Id: int64(category.Category.ID),
|
||||
Identity: category.Category.Identity,
|
||||
ParentId: int64(category.Category.ParentId),
|
||||
Title: category.Category.Title,
|
||||
CoverPath: category.Category.CoverPath,
|
||||
Intro: category.Category.Intro,
|
||||
})
|
||||
categories = append(categories, category.CategoryIdentity)
|
||||
}
|
||||
for _, tags := range val.Tags {
|
||||
TagsData = append(TagsData, &pb.TagsItem{
|
||||
Id: int64(tags.Tags.ID),
|
||||
Identity: tags.TagsIdentity,
|
||||
Title: tags.Tags.Title,
|
||||
Intro: tags.Tags.Intro,
|
||||
CoverPath: tags.Tags.CoverPath,
|
||||
})
|
||||
tagsIdentityArray = append(tagsIdentityArray, tags.TagsIdentity)
|
||||
}
|
||||
|
||||
res.Data = append(res.Data, &pb.PostItem{
|
||||
Identity: val.Identity,
|
||||
OwnerId: int64(val.OwnerID),
|
||||
OwnerIdentity: val.OwnerIdentity,
|
||||
Title: val.Title,
|
||||
CoverPath: val.CoverPath,
|
||||
Author: val.Author,
|
||||
AuthorIdentity: val.AuthorIdentity,
|
||||
Content: val.Content,
|
||||
TargetUrl: val.TargetUrl,
|
||||
SourceUrl: val.SourceUrl,
|
||||
Hits: val.Hits,
|
||||
HasAccessory: val.HasAccessory,
|
||||
CreatedAt: val.CreatedAt.Format(time.DateTime),
|
||||
UpdatedAt: val.UpdatedAt.Format(time.DateTime),
|
||||
Description: val.Description,
|
||||
LikeHits: val.LikeHits,
|
||||
UnlikeHits: val.UnlikeHits,
|
||||
CommentHits: val.CommentHits,
|
||||
PostType: val.Types,
|
||||
Key: val.Hash,
|
||||
Hash: val.Hash,
|
||||
AccessoryData: accessoryData,
|
||||
AccessoryIdentityArray: accessories,
|
||||
CategoryData: categoryData,
|
||||
CategoryIdentityArray: categories,
|
||||
TagsData: TagsData,
|
||||
TagsIdentityArray: tagsIdentityArray,
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
return &res, nil
|
||||
}
|
||||
Reference in New Issue
Block a user