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 c3fd9a65..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,16 +1,18 @@ 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; import com.yanzhu.jh.project.service.ISurProjectBuildNodeDataService; +import org.aspectj.weaver.loadtime.Aj; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; +import java.util.concurrent.TimeUnit; @RestController @RequestMapping("/bgscreen/project") @@ -22,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(); @@ -50,7 +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(){ + 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){ + 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){ + 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); + } } diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectMapper.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectMapper.java index 39ed4343..c6cc5c3c 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectMapper.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectMapper.java @@ -75,5 +75,7 @@ public interface SurProjectMapper public List groupByLevel(SurProject surProject); public List selectProgressProjects(); + + public List groupByProjectCategory(); } diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectService.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectService.java index 23bf0a4b..5470c053 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectService.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectService.java @@ -60,4 +60,10 @@ public interface ISurProjectService public int deleteSurProjectById(Long id); public List selectProgressProjects(); + + public List groupByProjectCategory(); + + public List groupByCategory(SurProject surProject); + + public List groupByLevel(SurProject surProject); } diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectServiceImpl.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectServiceImpl.java index 73bedf9a..8bee8f6b 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectServiceImpl.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectServiceImpl.java @@ -99,4 +99,19 @@ public class SurProjectServiceImpl implements ISurProjectService public List selectProgressProjects() { return surProjectMapper.selectProgressProjects(); } + + @Override + public List groupByProjectCategory() { + return surProjectMapper.groupByProjectCategory(); + } + + @Override + public List groupByCategory(SurProject surProject) { + return surProjectMapper.groupByCategory(surProject); + } + + @Override + public List groupByLevel(SurProject surProject) { + return surProjectMapper.groupByLevel(surProject); + } } diff --git a/yanzhu-jh/src/main/resources/mapper/project/SurProjectMapper.xml b/yanzhu-jh/src/main/resources/mapper/project/SurProjectMapper.xml index f0cc3f74..120c5898 100644 --- a/yanzhu-jh/src/main/resources/mapper/project/SurProjectMapper.xml +++ b/yanzhu-jh/src/main/resources/mapper/project/SurProjectMapper.xml @@ -280,16 +280,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" SELECT b.dict_value id,b.dict_label projectName,cnt deptId FROM ( SELECT b.dict_value, b.dict_label, - - - SUM(totalInvestment*10000) - - - COUNT(1) - - + COUNT(1)*10000 + SUM(totalInvestment*10000.0) + COUNT(1)*10000 + cnt FROM sur_project a, sys_dict_data b WHERE b.dict_type='project_level' - AND a.projiectLevel=b.dict_value + AND a.projiectLevel=b.dict_value and a.isDel=0 AND deptid=#{deptId} GROUP BY dict_value,dict_label ) a RIGHT JOIN sys_dict_data b ON a.dict_value=b.dict_value WHERE b.dict_type='project_level' ORDER BY cnt DESC @@ -317,4 +308,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where progressVisible = 0 order by projectSort,projectName + + \ No newline at end of file