55 lines
1.7 KiB
Go
55 lines
1.7 KiB
Go
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
|
||
}
|