diff --git a/api/controller/Project.go b/api/controller/Project.go index e8be12d..32a8209 100644 --- a/api/controller/Project.go +++ b/api/controller/Project.go @@ -97,3 +97,72 @@ func (b *Project) GetProjectPage(c *gin.Context) { result["data"] = g responses.OkWithData(result, c) } + +// GetProject 获取详情 +func (b *Project) GetProject(c *gin.Context) { + id := c.Param("project_id") + if id == "" { + responses.FailWithMessage("缺少参数", c) + return + } + + // 将 id 转换为 int64 类型 + projectId, err := strconv.ParseInt(id, 10, 64) + if err != nil { + responses.Fail(c) + return + } + + platformId := c.GetInt64("PlatformId") // 平台id + if platformId == 0 { + responses.FailWithMessage("内部错误", c) + return + } + + // 获取病例关联平台 + projectPlatformDao := dao.ProjectPlatformDao{} + maps := make(map[string]interface{}) + maps["project_id"] = projectId + maps["platform_id"] = platformId + projectPlatform, _ := projectPlatformDao.GetProjectPlatform(maps) + if projectPlatform == nil { + responses.FailWithMessage("非法数据", c) + return + } + + // 获取病例详情 + projectDao := dao.ProjectDao{} + project, err := projectDao.GetProjectById(projectId) + if err != nil { + responses.FailWithMessage(err.Error(), c) + return + } + + g := dto.GetProjectDto(project) + + // 获取最近7天的病例 + now := time.Now() + t := now.AddDate(0, 0, -7) + + caseDao := dao.CaseDao{} + maps = make(map[string]interface{}) + maps["project_id"] = g.ProjectId + result, _ := caseDao.GetCaseFormPastDay(maps, t) + if result != nil { + if result.CaseStatus == 1 { + // 加载最近更新情况 + g.LoadIsRecentlyUpdate(result) + } + } + + // 获取项目福利存在情况 + projectService := service.ProjectService{} + isHaveWelfare := projectService.GetProjectIsHaveWelfare(projectId, platformId) + + // 加载是否开启福利 + if isHaveWelfare { + g.IsWelfare = 1 + } + + responses.OkWithData(g, c) +} diff --git a/api/router/router.go b/api/router/router.go index 5ad3e52..21b65b4 100644 --- a/api/router/router.go +++ b/api/router/router.go @@ -94,6 +94,9 @@ func privateRouter(r *gin.Engine, api controller.Api) { // 获取列表-分页 projectGroup.GET("/page", api.Project.GetProjectPage) + // 获取列表-分页 + projectGroup.GET("/:project_id", api.Project.GetProject) + // 平台 projectPlatformGroup := projectGroup.Group("/platform") { diff --git a/log/case-api.log b/log/case-api.log index 7dc5858..17854aa 100755 --- a/log/case-api.log +++ b/log/case-api.log @@ -69,3 +69,12 @@ time="2025-03-14 18:16:43" level=info msg=access http_status=200 ip=127.0.0.1 me time="2025-03-14 18:16:46" level=info msg=access http_status=200 ip=127.0.0.1 method=GET params="map[is_take_part:1 project_id:1900107510614855680]" total_time=445.595042ms uri="/case/page?project_id=1900107510614855680&is_take_part=1" time="2025-03-14 18:17:58" level=info msg=access http_status=200 ip=127.0.0.1 method=GET params="map[is_take_part:1 project_id:1900107510614855680]" total_time=852.441291ms uri="/case/page?project_id=1900107510614855680&is_take_part=1" time="2025-03-14 18:18:01" level=info msg=access http_status=200 ip=127.0.0.1 method=GET params="map[is_take_part:2 project_id:1900107510614855680]" total_time=465.530875ms uri="/case/page?project_id=1900107510614855680&is_take_part=2" +time="2025-03-17 14:50:10" level=info msg=access http_status=200 ip=127.0.0.1 method=GET params="map[page:1 page_size:2]" total_time=42.43075ms uri="/project/page?page=1&page_size=2" +time="2025-03-17 14:50:15" level=info msg="获取app数据参数" data="{\"token\":\"eyJUeXBlIjoiSnd0IiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJ1c2VyX25hbWUiOiJ1TjhVMHJVMGNpMVU1V0ZVZFRoIiwiZXhwIjoxNzQxNTc3NTEzfQ.41k4bM3OGxdUAWAfnTjcuFCal9itdzMsHcnUITrw_mg\",\"platform\":\"h_case\",\"timestamp\":\"1742194215\"}" +time="2025-03-17 14:50:17" level=info msg="获取app数据返回" data="{\"code\":60000,\"msg\":\"没有HCP权限\",\"data\":null,\"success\":false,\"message\":\"没有HCP权限\"}" +time="2025-03-17 14:50:17" level=info msg=access http_status=200 ip=127.0.0.1 method=POST params="map[platform_key:123456 source:2 token:eyJUeXBlIjoiSnd0IiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJ1c2VyX25hbWUiOiJ1TjhVMHJVMGNpMVU1V0ZVZFRoIiwiZXhwIjoxNzQxNTc3NTEzfQ.41k4bM3OGxdUAWAfnTjcuFCal9itdzMsHcnUITrw_mg]" total_time=1.685139s uri=/login +time="2025-03-17 14:50:40" level=info msg=access http_status=200 ip=127.0.0.1 method=GET params="map[page:1 page_size:2]" total_time=987.5785ms uri="/project/page?page=1&page_size=2" +time="2025-03-17 14:50:46" level=info msg=access http_status=404 ip=127.0.0.1 method=GET params="map[]" total_time=141.334333ms uri=/project/page/1900443789521063936 +time="2025-03-17 14:50:52" level=info msg=access http_status=200 ip=127.0.0.1 method=GET params="map[]" total_time=123.185542ms uri=/project/1900443789521063936 +time="2025-03-17 14:51:22" level=info msg=access http_status=200 ip=127.0.0.1 method=GET params="map[]" total_time=172.627ms uri=/project/1900443789521063936 +time="2025-03-17 14:54:50" level=info msg=access http_status=200 ip=127.0.0.1 method=GET params="map[]" total_time=884.417666ms uri=/project/1900443789521063936