package service import "case-api/api/dao" type ProjectService struct { } // GetProjectIsHaveWelfare 获取项目福利存在情况 func (r *ProjectService) GetProjectIsHaveWelfare(projectId, platformId int64) bool { var isHaveWelfare bool // 获取项目关联平台 projectPlatformDao := dao.ProjectPlatformDao{} maps := make(map[string]interface{}) maps["project_id"] = projectId maps["platform_id"] = platformId projectPlatform, _ := projectPlatformDao.GetProjectPlatform(maps) if projectPlatform == nil { return false } // 获取项目关联病例 caseDao := dao.CaseDao{} maps = make(map[string]interface{}) maps["project_id"] = projectId results, _ := caseDao.GetCaseList(maps) if len(results) > 0 { casePlatformDao := dao.CasePlatformDao{} for _, result := range results { if result.CaseStatus != 1 { continue } // 获取病例平台表 maps = make(map[string]interface{}) maps["case_id"] = result.CaseId maps["platform_id"] = platformId casePlatform, err := casePlatformDao.GetCasePlatform(maps) if err != nil && casePlatform == nil { continue } if projectPlatform.IsWelfare == 1 { // 单个病例总积分-单个病例已发放积分 diffScore := projectPlatform.SingleCaseScore - casePlatform.IssuedScore if diffScore > 0 { isHaveWelfare = true } } } } return isHaveWelfare }