59 lines
1.8 KiB
Go
59 lines
1.8 KiB
Go
package threads_account
|
|
|
|
import (
|
|
cfentity "haixun-backend/internal/model/content_formula/domain/entity"
|
|
cfdom "haixun-backend/internal/model/content_formula/domain/usecase"
|
|
"haixun-backend/internal/types"
|
|
)
|
|
|
|
func toContentFormulaData(item cfdom.FormulaSummary) types.ContentFormulaData {
|
|
var metrics *types.ContentFormulaSourceMetricsData
|
|
if item.SourceMetrics != nil {
|
|
metrics = &types.ContentFormulaSourceMetricsData{
|
|
LikeCount: item.SourceMetrics.LikeCount,
|
|
ReplyCount: item.SourceMetrics.ReplyCount,
|
|
Views: item.SourceMetrics.Views,
|
|
RepostCount: item.SourceMetrics.RepostCount,
|
|
QuoteCount: item.SourceMetrics.QuoteCount,
|
|
Shares: item.SourceMetrics.Shares,
|
|
}
|
|
}
|
|
return types.ContentFormulaData{
|
|
ID: item.ID,
|
|
AccountID: item.AccountID,
|
|
Label: item.Label,
|
|
SourceType: item.SourceType,
|
|
SourceRef: item.SourceRef,
|
|
SourcePostText: item.SourcePostText,
|
|
SourceAuthor: item.SourceAuthor,
|
|
SourcePermalink: item.SourcePermalink,
|
|
SourceMetrics: metrics,
|
|
Summary: item.Summary,
|
|
Wins: item.Wins,
|
|
Improvements: item.Improvements,
|
|
Formula: item.Formula,
|
|
PostTemplate: item.PostTemplate,
|
|
HookPattern: item.HookPattern,
|
|
Structure: item.Structure,
|
|
ReplicationTips: item.ReplicationTips,
|
|
Avoid: item.Avoid,
|
|
Tags: item.Tags,
|
|
CreateAt: item.CreateAt,
|
|
UpdateAt: item.UpdateAt,
|
|
}
|
|
}
|
|
|
|
func toSourceMetrics(data *types.ContentFormulaSourceMetricsData) *cfentity.SourceMetrics {
|
|
if data == nil {
|
|
return nil
|
|
}
|
|
return &cfentity.SourceMetrics{
|
|
LikeCount: data.LikeCount,
|
|
ReplyCount: data.ReplyCount,
|
|
Views: data.Views,
|
|
RepostCount: data.RepostCount,
|
|
QuoteCount: data.QuoteCount,
|
|
Shares: data.Shares,
|
|
}
|
|
}
|