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 }