60 lines
1.7 KiB
Go
60 lines
1.7 KiB
Go
package dto
|
|
|
|
import (
|
|
"case-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
|
|
}
|
|
|
|
// LoadCaseItemQuestionList 加载数据-病例明细-题目
|
|
func (r *CaseItemDto) LoadCaseItemQuestionList(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
|
|
}
|