hospital-admin-api/api/dto/UserDoctorInfo.go

170 lines
5.7 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 (
"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
}