diff --git a/yanzhu-bigscreen/src/main/java/com/yanzhu/jh/bigscreen/web/controller/ProjectController.java b/yanzhu-bigscreen/src/main/java/com/yanzhu/jh/bigscreen/web/controller/ProjectController.java index 5e0c8aee..69e31d9c 100644 --- a/yanzhu-bigscreen/src/main/java/com/yanzhu/jh/bigscreen/web/controller/ProjectController.java +++ b/yanzhu-bigscreen/src/main/java/com/yanzhu/jh/bigscreen/web/controller/ProjectController.java @@ -1,6 +1,8 @@ package com.yanzhu.jh.bigscreen.web.controller; +import com.ruoyi.common.constant.Constants; import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.redis.RedisCache; import com.yanzhu.jh.project.domain.SurProject; import com.yanzhu.jh.project.service.ISurProjectService; import com.yanzhu.jh.project.domain.SurProjectBuildNodeData; @@ -10,6 +12,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; +import java.util.concurrent.TimeUnit; @RestController @RequestMapping("/bgscreen/project") @@ -21,6 +24,10 @@ public class ProjectController { @Autowired private ISurProjectBuildNodeDataService surProjectBuildNodeDataService; + @Autowired + private RedisCache redisCache; + + @GetMapping("findProjectByDept") public AjaxResult findProjectByDept(Long deptId){ SurProject surProject=new SurProject(); @@ -49,21 +56,50 @@ public class ProjectController { */ @GetMapping("getProgressProjects") public AjaxResult getProgressProjects(){ - return AjaxResult.success(isurProjectService.selectProgressProjects()); + String key="bgscreen_prj_getProgressProjects"; + Object obj=redisCache.getCacheObject(key); + if(obj!=null){ + return AjaxResult.success(obj); + } + + List list= isurProjectService.selectProgressProjects(); + redisCache.setCacheObject(key, list, Constants.BIGSCREEN_QUERY_CACHE, TimeUnit.MINUTES); + return AjaxResult.success(list); } @GetMapping("groupByProjectCategory") public AjaxResult groupByProjectCategory(){ - return AjaxResult.success(isurProjectService.groupByProjectCategory()); + String key="bgscreen_prj_groupByProjectCategory"; + Object obj=redisCache.getCacheObject(key); + if(obj!=null){ + return AjaxResult.success(obj); + } + List list= isurProjectService.groupByProjectCategory(); + redisCache.setCacheObject(key, list, Constants.BIGSCREEN_QUERY_CACHE, TimeUnit.MINUTES); + return AjaxResult.success(list); } @PostMapping("groupByCategory") public AjaxResult groupByCategory(@RequestBody SurProject surProject){ - return AjaxResult.success(isurProjectService.groupByCategory(surProject)); + String key="bgscreen_prj_groupByProjectCategory_"+surProject.getId()+"_"+surProject.getDeptId(); + Object obj=redisCache.getCacheObject(key); + if(obj!=null){ + return AjaxResult.success(obj); + } + List list=isurProjectService.groupByCategory(surProject); + redisCache.setCacheObject(key, list, Constants.BIGSCREEN_QUERY_CACHE, TimeUnit.MINUTES); + return AjaxResult.success(list); } @PostMapping("groupByLevel") public AjaxResult groupByLevel(@RequestBody SurProject surProject){ - return AjaxResult.success(isurProjectService.groupByLevel(surProject)); + String key="bgscreen_prj_groupByLevel_"+surProject.getId()+"_"+surProject.getDeptId(); + Object obj=redisCache.getCacheObject(key); + if(obj!=null){ + return AjaxResult.success(obj); + } + List list=isurProjectService.groupByLevel(surProject); + redisCache.setCacheObject(key, list, Constants.BIGSCREEN_QUERY_CACHE, TimeUnit.MINUTES); + return AjaxResult.success(list); } }