hospital-admin-api/api/dto/ArticleScience.go

91 lines
3.2 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package dto
import (
"fmt"
"hospital-admin-api/api/model"
"hospital-admin-api/utils"
)
// ArticleScienceDto 文章-科普
type ArticleScienceDto struct {
ArticleId string `json:"article_id"` // 主键id
ArticleTitle string `json:"article_title"` // 文章标题
ArticleStatus int `json:"article_status"` // 文章状态1:正常 2:禁用)
IsTop int `json:"is_top"` // 是否置顶0:否 1:是)
Sort int `json:"sort"` // 排序值(越大越靠前)
ArticleImage string `json:"article_image"` // 文章图片1张
SourceId string `json:"source_id"` // 文章来源id
ArticleUrl string `json:"article_url"` // 文章地址
CreatedAt model.LocalTime `json:"created_at"` // 创建时间
UpdatedAt model.LocalTime `json:"updated_at"` // 更新时间
ArticleScienceSource *ArticleScienceSourceDto `json:"article_science_source"` // 文章来源
ArticleScienceClass []*BasicArticleClassDto `json:"article_science_class"` // 文章分类
}
// GetArticleScienceDto 详情
func GetArticleScienceDto(m *model.ArticleScience) *ArticleScienceDto {
return &ArticleScienceDto{
ArticleId: fmt.Sprintf("%d", m.ArticleId),
ArticleTitle: m.ArticleTitle,
ArticleStatus: m.ArticleStatus,
IsTop: m.IsTop,
Sort: m.Sort,
ArticleImage: utils.AddOssDomain(m.ArticleImage),
SourceId: fmt.Sprintf("%d", m.SourceId),
ArticleUrl: m.ArticleUrl,
CreatedAt: m.CreatedAt,
UpdatedAt: m.UpdatedAt,
}
}
// GetArticleScienceListDto 列表
func GetArticleScienceListDto(m []*model.ArticleScience) []*ArticleScienceDto {
// 处理返回值
responses := make([]*ArticleScienceDto, len(m))
if len(m) > 0 {
for i, v := range m {
response := &ArticleScienceDto{
ArticleId: fmt.Sprintf("%d", v.ArticleId),
ArticleTitle: v.ArticleTitle,
ArticleStatus: v.ArticleStatus,
IsTop: v.IsTop,
Sort: v.Sort,
ArticleImage: utils.AddOssDomain(v.ArticleImage),
SourceId: fmt.Sprintf("%d", v.SourceId),
ArticleUrl: v.ArticleUrl,
CreatedAt: v.CreatedAt,
UpdatedAt: v.UpdatedAt,
}
// 加载文章来源
if v.ArticleScienceSource != nil {
response = response.LoadArticleScienceSource(v.ArticleScienceSource)
}
// 将转换后的结构体添加到新切片中
responses[i] = response
}
}
return responses
}
// LoadArticleScienceSource 加载文章来源
func (r *ArticleScienceDto) LoadArticleScienceSource(m *model.ArticleScienceSource) *ArticleScienceDto {
if m != nil {
r.ArticleScienceSource = GetArticleScienceSourceDto(m)
}
return r
}
// LoadArticleScienceClass 加载文章分类
func (r *ArticleScienceDto) LoadArticleScienceClass(m *model.BasicArticleClass) *ArticleScienceDto {
if m != nil {
basicArticleClass := GetBasicArticleClassDto(m)
r.ArticleScienceClass = append(r.ArticleScienceClass, basicArticleClass)
}
return r
}