92 lines
3.5 KiB
Go
92 lines
3.5 KiB
Go
package dto
|
||
|
||
import (
|
||
"case-open-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"` // 平台名称
|
||
}
|
||
|
||
// 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
|
||
}
|