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
|
||
}
|