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"` // 页码 Content string `json:"content"` // 详情内容 IsRightNext int `json:"is_right_next"` // 是否答对后允许下一步(0:否 1:是) ErrorTips string `json:"error_tips"` // 答错提示 CreatedAt model.LocalTime `json:"created_at"` // 创建时间 UpdatedAt model.LocalTime `json:"updated_at"` // 修改时间 CaseItemQuestion []*CaseItemQuestionDto `json:"case_item_question"` // 病例明细-题目 } // 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, Content: v.Content, IsRightNext: v.IsRightNext, ErrorTips: v.ErrorTips, CreatedAt: v.CreatedAt, UpdatedAt: v.UpdatedAt, } // 将转换后的结构体添加到新切片中 responses[i] = response } } return responses } // LoadCaseItemQuestion 加载数据-病例明细-题目 func (r *CaseItemDto) LoadCaseItemQuestion(m []*model.CaseItemQuestion) *CaseItemDto { if len(m) > 0 { r.CaseItemQuestion = GetCaseItemQuestionListDto(m) } return r }