170 lines
5.7 KiB
Go
170 lines
5.7 KiB
Go
package dto
|
|
|
|
import (
|
|
"fmt"
|
|
"hospital-admin-api/api/model"
|
|
"hospital-admin-api/utils"
|
|
"strings"
|
|
)
|
|
|
|
type UserDoctorInfoDto struct {
|
|
DoctorInfoId string `json:"doctor_info_id"` // 主键
|
|
UserId string `json:"user_id"` // 用户id
|
|
DoctorId string `json:"doctor_id"` // 医生id
|
|
CardType int `json:"card_type"` // 类型(1:身份证 2:护照 3:港澳通行证 4:台胞证);NOT NULL
|
|
CardName string `json:"card_name"` // 证件姓名
|
|
CardNameMask string `json:"card_name_mask"` // 证件姓名(掩码)
|
|
CardNumMask string `json:"card_num_mask"` // 证件号码(掩码)
|
|
LicenseCert []string `json:"license_cert"` // 医师执业证(逗号分隔)
|
|
QualificationCert []string `json:"qualification_cert"` // 医师资格证(逗号分隔)
|
|
QualificationCertNum string `json:"qualification_cert_num"` // 医师资格证号(逗号分隔)
|
|
WorkCert []string `json:"work_cert"` // 医师工作证(逗号分隔)
|
|
MultiPointImages []string `json:"multi_point_images"` // 多点执业备案信息(逗号分隔)
|
|
IdCardFront string `json:"id_card_front"` // 身份证正面图片
|
|
IdCardBack string `json:"id_card_back"` // 身份证背面图片
|
|
SignImage string `json:"sign_image"` // 签名图片
|
|
RegisterCert string `json:"register_cert"` // 电子注册证
|
|
CreatedAt model.LocalTime `json:"created_at"` // 创建时间
|
|
UpdatedAt model.LocalTime `json:"updated_at"` // 更新时间
|
|
}
|
|
|
|
func GetUserDoctorInfoDto(m *model.UserDoctorInfo) *UserDoctorInfoDto {
|
|
var licenseCert []string
|
|
if m.LicenseCert != "" {
|
|
result := strings.Split(m.LicenseCert, ",")
|
|
if len(result) > 0 {
|
|
for _, v := range result {
|
|
v = utils.AddOssDomain(v)
|
|
licenseCert = append(licenseCert, v)
|
|
}
|
|
}
|
|
}
|
|
|
|
var qualificationCert []string
|
|
if m.QualificationCert != "" {
|
|
result := strings.Split(m.QualificationCert, ",")
|
|
if len(result) > 0 {
|
|
for _, v := range result {
|
|
v = utils.AddOssDomain(v)
|
|
qualificationCert = append(qualificationCert, v)
|
|
}
|
|
}
|
|
}
|
|
|
|
var workCert []string
|
|
if m.WorkCert != "" {
|
|
result := strings.Split(m.WorkCert, ",")
|
|
if len(result) > 0 {
|
|
for _, v := range result {
|
|
v = utils.AddOssDomain(v)
|
|
workCert = append(workCert, v)
|
|
}
|
|
}
|
|
}
|
|
|
|
var multiPointImages []string
|
|
if m.MultiPointImages != "" {
|
|
result := strings.Split(m.MultiPointImages, ",")
|
|
if len(result) > 0 {
|
|
for _, v := range result {
|
|
multiPointImages = append(multiPointImages, v)
|
|
}
|
|
}
|
|
}
|
|
|
|
return &UserDoctorInfoDto{
|
|
DoctorInfoId: fmt.Sprintf("%d", m.DoctorInfoId),
|
|
UserId: fmt.Sprintf("%d", m.UserId),
|
|
DoctorId: fmt.Sprintf("%d", m.DoctorId),
|
|
CardType: m.CardType,
|
|
CardName: m.CardName,
|
|
CardNameMask: m.CardNameMask,
|
|
CardNumMask: m.CardNumMask,
|
|
LicenseCert: licenseCert,
|
|
QualificationCert: qualificationCert,
|
|
QualificationCertNum: m.QualificationCertNum,
|
|
WorkCert: workCert,
|
|
MultiPointImages: multiPointImages,
|
|
IdCardFront: utils.AddOssDomain(m.IdCardFront),
|
|
IdCardBack: utils.AddOssDomain(m.IdCardBack),
|
|
SignImage: utils.AddOssDomain(m.SignImage),
|
|
RegisterCert: utils.AddOssDomain(m.RegisterCert),
|
|
}
|
|
}
|
|
|
|
func GetUserDoctorInfoListDto(m []*model.UserDoctorInfo) []UserDoctorInfoDto {
|
|
// 处理返回值
|
|
responses := make([]UserDoctorInfoDto, len(m))
|
|
|
|
if len(m) > 0 {
|
|
for i, v := range m {
|
|
var licenseCert []string
|
|
if v.LicenseCert != "" {
|
|
result := strings.Split(v.LicenseCert, ",")
|
|
if len(result) > 0 {
|
|
for _, v := range result {
|
|
v = utils.AddOssDomain(v)
|
|
licenseCert = append(licenseCert, v)
|
|
}
|
|
}
|
|
}
|
|
|
|
var qualificationCert []string
|
|
if v.QualificationCert != "" {
|
|
result := strings.Split(v.QualificationCert, ",")
|
|
if len(result) > 0 {
|
|
for _, v := range result {
|
|
v = utils.AddOssDomain(v)
|
|
qualificationCert = append(qualificationCert, v)
|
|
}
|
|
}
|
|
}
|
|
|
|
var workCert []string
|
|
if v.WorkCert != "" {
|
|
result := strings.Split(v.WorkCert, ",")
|
|
if len(result) > 0 {
|
|
for _, v := range result {
|
|
v = utils.AddOssDomain(v)
|
|
workCert = append(workCert, v)
|
|
}
|
|
}
|
|
}
|
|
|
|
var multiPointImages []string
|
|
if v.MultiPointImages != "" {
|
|
result := strings.Split(v.MultiPointImages, ",")
|
|
if len(result) > 0 {
|
|
for _, v := range result {
|
|
multiPointImages = append(multiPointImages, v)
|
|
}
|
|
}
|
|
}
|
|
|
|
response := UserDoctorInfoDto{
|
|
DoctorInfoId: fmt.Sprintf("%d", v.DoctorInfoId),
|
|
UserId: fmt.Sprintf("%d", v.UserId),
|
|
DoctorId: fmt.Sprintf("%d", v.DoctorId),
|
|
CardType: v.CardType,
|
|
CardName: v.CardName,
|
|
CardNameMask: v.CardNameMask,
|
|
CardNumMask: v.CardNumMask,
|
|
LicenseCert: licenseCert,
|
|
QualificationCert: qualificationCert,
|
|
QualificationCertNum: v.QualificationCertNum,
|
|
WorkCert: workCert,
|
|
MultiPointImages: multiPointImages,
|
|
IdCardFront: utils.AddOssDomain(v.IdCardFront),
|
|
IdCardBack: utils.AddOssDomain(v.IdCardBack),
|
|
SignImage: utils.AddOssDomain(v.SignImage),
|
|
RegisterCert: utils.AddOssDomain(v.RegisterCert),
|
|
}
|
|
|
|
// 将转换后的结构体添加到新切片中
|
|
responses[i] = response
|
|
}
|
|
}
|
|
|
|
return responses
|
|
}
|