🐛 Fix count metrics issue
This commit is contained in:
parent
06acabcd1a
commit
7f79c1a5ad
@ -1,7 +1,7 @@
|
|||||||
package models
|
package models
|
||||||
|
|
||||||
type PostMetric struct {
|
type PostMetric struct {
|
||||||
ReplyCount int64 `json:"reply_count,omitempty"`
|
ReplyCount int64 `json:"reply_count"`
|
||||||
ReactionCount int64 `json:"reaction_count,omitempty"`
|
ReactionCount int64 `json:"reaction_count"`
|
||||||
ReactionList map[string]int64 `json:"reaction_list,omitempty"`
|
ReactionList map[string]int64 `json:"reaction_list,omitempty"`
|
||||||
}
|
}
|
||||||
|
@ -106,8 +106,8 @@ func CountArticleReactions(id uint) int64 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func ListArticle(tx *gorm.DB, take int, offset int, noReact ...bool) ([]*models.Article, error) {
|
func ListArticle(tx *gorm.DB, take int, offset int, noReact ...bool) ([]*models.Article, error) {
|
||||||
if take > 20 {
|
if take > 100 {
|
||||||
take = 20
|
take = 100
|
||||||
}
|
}
|
||||||
|
|
||||||
var items []*models.Article
|
var items []*models.Article
|
||||||
@ -137,7 +137,9 @@ func ListArticle(tx *gorm.DB, take int, offset int, noReact ...bool) ([]*models.
|
|||||||
|
|
||||||
for k, v := range mapping {
|
for k, v := range mapping {
|
||||||
if post, ok := itemMap[k]; ok {
|
if post, ok := itemMap[k]; ok {
|
||||||
post.Metric.ReactionList = v
|
post.Metric = models.PostMetric{
|
||||||
|
ReactionList: v,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -141,8 +141,8 @@ func CountPostReactions(id uint) int64 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func ListPost(tx *gorm.DB, take int, offset int, noReact ...bool) ([]*models.Post, error) {
|
func ListPost(tx *gorm.DB, take int, offset int, noReact ...bool) ([]*models.Post, error) {
|
||||||
if take > 20 {
|
if take > 100 {
|
||||||
take = 20
|
take = 100
|
||||||
}
|
}
|
||||||
|
|
||||||
var items []*models.Post
|
var items []*models.Post
|
||||||
@ -166,7 +166,6 @@ func ListPost(tx *gorm.DB, take int, offset int, noReact ...bool) ([]*models.Pos
|
|||||||
}
|
}
|
||||||
|
|
||||||
idx := lo.Map(items, func(item *models.Post, index int) uint {
|
idx := lo.Map(items, func(item *models.Post, index int) uint {
|
||||||
item.Metric = models.PostMetric{}
|
|
||||||
return item.ID
|
return item.ID
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -181,7 +180,9 @@ func ListPost(tx *gorm.DB, take int, offset int, noReact ...bool) ([]*models.Pos
|
|||||||
|
|
||||||
for k, v := range mapping {
|
for k, v := range mapping {
|
||||||
if post, ok := itemMap[k]; ok {
|
if post, ok := itemMap[k]; ok {
|
||||||
post.Metric.ReactionList = v
|
post.Metric = models.PostMetric{
|
||||||
|
ReactionList: v,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -213,7 +214,10 @@ func ListPost(tx *gorm.DB, take int, offset int, noReact ...bool) ([]*models.Pos
|
|||||||
|
|
||||||
for k, v := range list {
|
for k, v := range list {
|
||||||
if post, ok := itemMap[k]; ok {
|
if post, ok := itemMap[k]; ok {
|
||||||
post.Metric.ReplyCount = v
|
post.Metric = models.PostMetric{
|
||||||
|
ReactionList: post.Metric.ReactionList,
|
||||||
|
ReplyCount: v,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user