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"` // 作者姓名 AuthorAvatar string `json:"author_avatar"` // 作者头像 } // 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, AuthorAvatar: v.AuthorAvatar, 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 }