case-open-api/api/dto/ProjectPlatform.go
2024-12-30 16:34:26 +08:00

92 lines
3.5 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
}