package dto import ( "case-admin-api/api/model" "fmt" ) // CasePlatformDto 统计数据-病例-平台 type CasePlatformDto struct { CasePlatformId string `json:"case_platform_id"` // 主键id CaseId string `json:"case_id"` // 所属病例id PlatformId string `json:"platform_id"` // 用户所属平台id SingleCaseScore int `json:"single_case_score"` // 单个病例总积分 IssuedScore int `json:"issued_score"` // 已发放积分 RemainingScore int `json:"remaining_score"` // 剩余积分 JoinNum int `json:"join_num"` // 参加人数 JoinWhiteNum int `json:"join_white_num"` // 白名单参加人数 MessageNum int `json:"message_num"` // 留言人数 CreatedAt model.LocalTime `json:"created_at"` // 创建时间 UpdatedAt model.LocalTime `json:"updated_at"` // 修改时间 PlatformName string `json:"platform_name"` // 平台名称 } // GetCasePlatformListDto 列表 func GetCasePlatformListDto(m []*model.CasePlatform) []*CasePlatformDto { // 处理返回值 responses := make([]*CasePlatformDto, len(m)) if len(m) > 0 { for i, v := range m { response := &CasePlatformDto{ CasePlatformId: fmt.Sprintf("%d", v.CasePlatformId), CaseId: fmt.Sprintf("%d", v.CaseId), PlatformId: fmt.Sprintf("%d", v.PlatformId), IssuedScore: v.IssuedScore, JoinNum: v.JoinNum, JoinWhiteNum: v.JoinWhiteNum, MessageNum: v.MessageNum, CreatedAt: v.CreatedAt, UpdatedAt: v.UpdatedAt, } if v.Platform != nil { response = response.LoadPlatFormName(v.Platform) } // 将转换后的结构体添加到新切片中 responses[i] = response } } return responses } // LoadPlatFormName 加载数据-平台名称 func (r *CasePlatformDto) LoadPlatFormName(m *model.Platform) *CasePlatformDto { if m != nil { r.PlatformName = m.PlatformName } return r } // LoadSingleCaseScore 加载数据-单个病例总积分 func (r *CasePlatformDto) LoadSingleCaseScore(m *model.ProjectPlatform) *CasePlatformDto { if m != nil { r.SingleCaseScore = m.SingleCaseScore } return r } // LoadRemainingScore 加载数据-剩余积分 func (r *CasePlatformDto) LoadRemainingScore(m int) *CasePlatformDto { r.RemainingScore = m return r }