55 lines
1.5 KiB
Go
55 lines
1.5 KiB
Go
package dto
|
|
|
|
import (
|
|
"case-api/api/model"
|
|
"fmt"
|
|
)
|
|
|
|
// CaseItemQuestionOptionDto 病历表-明细-题目-选项
|
|
type CaseItemQuestionOptionDto struct {
|
|
OptionId string `json:"option_id"` //主键id
|
|
QuestionId string `json:"question_id"` // 题目id
|
|
OptionValue string `json:"option_value"` // 选项内容
|
|
CreatedAt model.LocalTime `json:"created_at"` // 创建时间
|
|
UpdatedAt model.LocalTime `json:"updated_at"` // 修改时间
|
|
Proportion float64 `json:"proportion"` // 被选择占比
|
|
SelectNum int `json:"select_num"` // 被选择数量
|
|
}
|
|
|
|
// GetCaseItemQuestionOptionListDto 列表
|
|
func GetCaseItemQuestionOptionListDto(m []*model.CaseItemQuestionOption) []*CaseItemQuestionOptionDto {
|
|
// 处理返回值
|
|
responses := make([]*CaseItemQuestionOptionDto, len(m))
|
|
|
|
if len(m) > 0 {
|
|
for i, v := range m {
|
|
response := &CaseItemQuestionOptionDto{
|
|
OptionId: fmt.Sprintf("%d", v.OptionId),
|
|
QuestionId: fmt.Sprintf("%d", v.QuestionId),
|
|
OptionValue: v.OptionValue,
|
|
CreatedAt: v.CreatedAt,
|
|
UpdatedAt: v.UpdatedAt,
|
|
}
|
|
|
|
// 将转换后的结构体添加到新切片中
|
|
responses[i] = response
|
|
}
|
|
}
|
|
|
|
return responses
|
|
}
|
|
|
|
// LoadProportion 加载数据-占比
|
|
func (r *CaseItemQuestionOptionDto) LoadProportion(m float64) *CaseItemQuestionOptionDto {
|
|
r.Proportion = m
|
|
|
|
return r
|
|
}
|
|
|
|
// LoadSelectNum 加载数据-被选择数量
|
|
func (r *CaseItemQuestionOptionDto) LoadSelectNum(m int) *CaseItemQuestionOptionDto {
|
|
r.SelectNum = m
|
|
|
|
return r
|
|
}
|