diff --git a/api/dao/CaseUser.go b/api/dao/CaseUser.go index 87c9906..25f9d7a 100644 --- a/api/dao/CaseUser.go +++ b/api/dao/CaseUser.go @@ -150,6 +150,9 @@ func (r *CaseUserDao) GetCaseUserPageSearch(req requests.GetStatsCaseUserPage, p // 用户 query = query.Preload("User") + // 病例 + query = query.Preload("Case") + // 用户医院 query = query.Preload("User.Hospital") diff --git a/api/dto/CaseUser.go b/api/dto/CaseUser.go index 9ce1261..8a54049 100644 --- a/api/dto/CaseUser.go +++ b/api/dto/CaseUser.go @@ -2,6 +2,7 @@ package dto import ( "case-admin-api/api/model" + "case-admin-api/api/service" "case-admin-api/utils" "fmt" ) @@ -25,6 +26,7 @@ type CaseUserDto struct { DepartmentName string `json:"department_name"` // 科室 Title string `json:"title"` // 职称 UserName string `json:"user_name"` // 用户名称 + UserIsWhite int `json:"user_is_white"` // 用户是否白名单(0:否 1:是) } // GetCaseUserListDto 列表 @@ -69,6 +71,9 @@ func GetCaseUserListDto(m []*model.CaseUser) []*CaseUserDto { response = response.LoadHospitalName(v.User.Hospital) } + + // 加载数据-用户白名单 + response = response.LoadUserIsWhite(v.User, v.Case, v.Platform) } // 将转换后的结构体添加到新切片中 @@ -132,3 +137,16 @@ func (r *CaseUserDto) LoadHospitalName(m *model.BasicHospital) *CaseUserDto { return r } + +// LoadUserIsWhite 加载数据-用户白名单 +func (r *CaseUserDto) LoadUserIsWhite(m *model.User, c *model.Case, p *model.Platform) *CaseUserDto { + if m != nil && c != nil && p != nil { + projectPlatformWhiteService := service.ProjectPlatformWhiteService{} + isWhite, _ := projectPlatformWhiteService.CheckProjectPlatformWhiteByUser(m, c.ProjectId, p.PlatformId) + if isWhite { + r.UserIsWhite = 1 + } + } + + return r +}