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 }