package dto import ( "case-api/api/model" "fmt" ) // ProjectPlatformDto 项目表-关联平台 type ProjectPlatformDto struct { PlatformId string `json:"platform_id"` // 主键id ProjectId string `json:"project_id"` // 项目id Status int `json:"status"` // 状态(1:正常 2:禁用) IsWelfare int `json:"is_welfare"` // 是否开启福利(0:否 1:是) ReadDuration int `json:"read_duration"` // 阅读时长(秒) SingleCaseScore int `json:"single_case_score"` // 单个病例总积分 CompleteRead int `json:"complete_read"` // 完成阅读积分 CompleteReadTime int `json:"complete_read_time"` // 完成阅读时间积分 FirstHighQuality int `json:"first_high_quality"` // 首次优质留言积分 OnceMoreHighQuality int `json:"once_more_high_quality"` // 再次优质留言积分 IsWhite int `json:"is_white"` // 是否开启白名单(0:否 1:是) WhiteType int `json:"white_type"` // 白名单类型(1:医院 2:医生 3:动态) CreatedAt model.LocalTime `json:"created_at"` // 创建时间 UpdatedAt model.LocalTime `json:"updated_at"` // 修改时间 PlatformName string `json:"platform_name"` // 平台名称 IsWhiteUser int `json:"is_white_user"` // 登录用户是否白名单用户(0:否 1:是) } // GetProjectPlatformListDto 列表 func GetProjectPlatformListDto(m []*model.ProjectPlatform) []*ProjectPlatformDto { // 处理返回值 responses := make([]*ProjectPlatformDto, len(m)) if len(m) > 0 { for i, v := range m { response := &ProjectPlatformDto{ PlatformId: fmt.Sprintf("%d", v.PlatformId), ProjectId: fmt.Sprintf("%d", v.ProjectId), Status: v.Status, IsWelfare: v.IsWelfare, ReadDuration: v.ReadDuration, SingleCaseScore: v.SingleCaseScore, CompleteRead: v.CompleteRead, CompleteReadTime: v.CompleteReadTime, FirstHighQuality: v.FirstHighQuality, OnceMoreHighQuality: v.OnceMoreHighQuality, IsWhite: v.IsWhite, WhiteType: v.WhiteType, CreatedAt: v.CreatedAt, UpdatedAt: v.UpdatedAt, } // 加载数据-平台名称 if v.Platform != nil { response = response.LoadPlatFormName(v.Platform) } // 将转换后的结构体添加到新切片中 responses[i] = response } } return responses } // GetProjectPlatformDto 详情 func GetProjectPlatformDto(m *model.ProjectPlatform) *ProjectPlatformDto { return &ProjectPlatformDto{ PlatformId: fmt.Sprintf("%d", m.PlatformId), ProjectId: fmt.Sprintf("%d", m.ProjectId), Status: m.Status, IsWelfare: m.IsWelfare, ReadDuration: m.ReadDuration, SingleCaseScore: m.SingleCaseScore, CompleteRead: m.CompleteRead, CompleteReadTime: m.CompleteReadTime, FirstHighQuality: m.FirstHighQuality, OnceMoreHighQuality: m.OnceMoreHighQuality, IsWhite: m.IsWhite, WhiteType: m.WhiteType, CreatedAt: m.CreatedAt, UpdatedAt: m.UpdatedAt, } } // LoadPlatFormName 加载数据-平台名称 func (r *ProjectPlatformDto) LoadPlatFormName(m *model.Platform) *ProjectPlatformDto { if m != nil { r.PlatformName = m.PlatformName } return r } // LoadIsWhiteUser 加载数据-用户白名单 func (r *ProjectPlatformDto) LoadIsWhiteUser(isWhite bool) *ProjectPlatformDto { if isWhite == true { r.IsWhiteUser = 1 } return r }