55 lines
1.4 KiB
Go
55 lines
1.4 KiB
Go
package service
|
|
|
|
import "case-admin-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
|
|
}
|