vote-admin-video-api/api/dto/VideoAuthor.go

50 lines
1.2 KiB
Go

package dto
import (
"fmt"
"vote-admin-video-api/api/model"
)
type VideoAuthorDto struct {
AuthorId string `json:"author_id"` // 主键id
VideoId string `json:"video_id"` // 文章id
HospitalId string `json:"hospital_id"` // 作者所属id
HospitalName string `json:"hospital_name"` // 作者所属医院
AuthorName string `json:"author_name"` // 作者姓名
}
// GetVideoAuthorListDto 列表-分页
func GetVideoAuthorListDto(m []*model.VideoAuthor) []*VideoAuthorDto {
// 处理返回值
responses := make([]*VideoAuthorDto, len(m))
if len(m) > 0 {
for i, v := range m {
response := &VideoAuthorDto{
AuthorId: fmt.Sprintf("%d", v.AuthorId),
VideoId: fmt.Sprintf("%d", v.VideoId),
AuthorName: v.AuthorName,
HospitalId: fmt.Sprintf("%d", v.HospitalId),
}
// 加载数据-医院属性
if v.BaseHospital != nil {
response = response.LoadBaseHospitalAttr(v.BaseHospital)
}
// 将转换后的结构体添加到新切片中
responses[i] = response
}
}
return responses
}
// LoadBaseHospitalAttr 加载数据-医院属性
func (r *VideoAuthorDto) LoadBaseHospitalAttr(m *model.BaseHospital) *VideoAuthorDto {
if m != nil {
r.HospitalName = m.HospitalName
}
return r
}