case-api/api/dto/CaseItemQuestionOption.go
2025-03-07 16:57:28 +08:00

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
}