case-api/api/service/Project.go
2025-03-07 16:57:28 +08:00

55 lines
1.3 KiB
Go

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
}