package service import ( "fmt" "hospital-admin-api/api/dao" "hospital-admin-api/api/responses/patientFamilyResponse" ) type PatientFamilyService struct { } // GetPatientFamilyListByPatientId 获取患者家庭成员-患者id func (r *PatientFamilyService) GetPatientFamilyListByPatientId(patientId int64) (u []*patientFamilyResponse.PatientFamily, err error) { patientFamilyDao := dao.PatientFamilyDao{} patientFamilys, err := patientFamilyDao.GetPatientFamilyListByPatientId(patientId) if len(patientFamilys) == 0 { return nil, nil } // 处理返回值 items := make([]*patientFamilyResponse.PatientFamily, len(patientFamilys)) if len(patientFamilys) > 0 { for i, v := range patientFamilys { // 将原始结构体转换为新结构体 item := &patientFamilyResponse.PatientFamily{ FamilyId: fmt.Sprintf("%d", v.FamilyId), PatientId: fmt.Sprintf("%d", v.PatientId), Relation: &v.Relation, Status: &v.Status, IsDefault: &v.IsDefault, CardName: v.CardName, CardNameMask: v.CardNameMask, Mobile: v.Mobile, MobileMask: v.MobileMask, Type: &v.Type, IdNumber: v.IdNumber, IdNumberMask: v.IdNumberMask, Sex: &v.Sex, Age: v.Age, ProvinceId: fmt.Sprintf("%d", v.ProvinceId), Province: v.Province, CityId: fmt.Sprintf("%d", v.CityId), City: v.City, CountyId: fmt.Sprintf("%d", v.CountyId), County: v.County, Height: v.Height, Weight: v.Weight, MaritalStatus: &v.MaritalStatus, NationId: fmt.Sprintf("%d", v.NationId), NationName: v.NationName, JobId: fmt.Sprintf("%d", v.JobId), JobName: v.JobName, CreatedAt: v.CreatedAt, UpdatedAt: v.UpdatedAt, } // 将转换后的结构体添加到新切片中 items[i] = item } } return items, nil }