package dto import ( "case-open-api/api/model" "fmt" ) // CaseItemDto 病历表-明细 type CaseItemDto struct { CaseItemId string `json:"case_item_id"` // 主键id CaseId string `json:"case_id"` // 所属病例id Page int `json:"page"` // 页码 CreatedAt model.LocalTime `json:"created_at"` // 创建时间 UpdatedAt model.LocalTime `json:"updated_at"` // 修改时间 CaseItemQuestion []*CaseItemQuestionDto `json:"case_item_question"` // 病例明细-题目 CaseItemModel []*CaseItemModelDto `json:"case_item_model"` // 病例明细-模块 } // GetCaseItemListDto 列表 func GetCaseItemListDto(m []*model.CaseItem) []*CaseItemDto { // 处理返回值 responses := make([]*CaseItemDto, len(m)) if len(m) > 0 { for i, v := range m { response := &CaseItemDto{ CaseItemId: fmt.Sprintf("%d", v.CaseItemId), CaseId: fmt.Sprintf("%d", v.CaseId), Page: v.Page, CreatedAt: v.CreatedAt, UpdatedAt: v.UpdatedAt, CaseItemModel: []*CaseItemModelDto{}, } // 将转换后的结构体添加到新切片中 responses[i] = response } } return responses } // LoadCaseItemQuestion 加载数据-病例明细-题目 func (r *CaseItemDto) LoadCaseItemQuestion(m []*model.CaseItemQuestion) *CaseItemDto { if len(m) > 0 { r.CaseItemQuestion = GetCaseItemQuestionListDto(m) } return r } // LoadCaseItemModel 加载数据-病例明细-模块 func (r *CaseItemDto) LoadCaseItemModel(m []*model.CaseItemModel) *CaseItemDto { if len(m) > 0 { r.CaseItemModel = GetCaseItemModelListDto(m) } return r }