diff --git a/yanzhu-bigscreen/src/main/java/com/yanzhu/jh/bigscreen/web/controller/VideoAiBoxController.java b/yanzhu-bigscreen/src/main/java/com/yanzhu/jh/bigscreen/web/controller/VideoAiBoxController.java index 59c8b713..7e64f1c3 100644 --- a/yanzhu-bigscreen/src/main/java/com/yanzhu/jh/bigscreen/web/controller/VideoAiBoxController.java +++ b/yanzhu-bigscreen/src/main/java/com/yanzhu/jh/bigscreen/web/controller/VideoAiBoxController.java @@ -1,7 +1,9 @@ package com.yanzhu.jh.bigscreen.web.controller; +import com.ruoyi.common.constant.Constants; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.core.text.Convert; import com.yanzhu.jh.video.domain.DevAiProjectData; import com.yanzhu.jh.video.domain.SurProjectVideoConfig; @@ -12,9 +14,11 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.TimeUnit; /** * 实时视频Conller @@ -23,6 +27,9 @@ import java.util.Map; @RequestMapping("/bgscreen/aiBoxVideo") public class VideoAiBoxController extends BaseController { + @Autowired + private RedisCache redisCache; + @Autowired private IDevAiProjectDataService devAiProjectDataService; @@ -35,6 +42,11 @@ public class VideoAiBoxController extends BaseController { @GetMapping("/listView") public AjaxResult listView(String deptId, String projectId) { + String key="bgscreen_aiBoxVideo_listView_"+deptId+"_"+projectId; + Object obj=redisCache.getCacheObject(key); + if(obj!=null){ + return success(obj); + } DevAiProjectData devAiProjectData = new DevAiProjectData(); if(deptId!=null && !"0".equals(deptId)){ devAiProjectData.setProjectDeptId(deptId); @@ -42,10 +54,12 @@ public class VideoAiBoxController extends BaseController { if(projectId!=null && !"0".equals(projectId)){ devAiProjectData.setProjectId(Convert.toLong(projectId)); } + //默认查询当天数据 Map params = new HashMap<>(); - params.put("limit",100); + params.put("date",new Date()); devAiProjectData.setParams(params); List list = devAiProjectDataService.selectDevAiProjectDataList(devAiProjectData); + redisCache.setCacheObject(key, list, Constants.BIGSCREEN_QUERY_CACHE, TimeUnit.MINUTES); return success(list); } @@ -55,6 +69,11 @@ public class VideoAiBoxController extends BaseController { @GetMapping(value = "/getVideoPassage") public AjaxResult getVideoPassage(String deptId, String projectId, String passageType, String importance) { + String key="bgscreen_aiBoxVideo_getVideoPassage_"+deptId+"_"+projectId+"_"+passageType+"_"+importance; + Object obj=redisCache.getCacheObject(key); + if(obj!=null){ + return success(obj); + } Map map = new HashMap<>(); if(deptId!=null && !"0".equals(deptId)){ map.put("deptId",deptId); @@ -68,15 +87,22 @@ public class VideoAiBoxController extends BaseController { if(importance!=null && !"".equals(importance)){ map.put("importance",importance); } - return success(surProjectVideoConfigService.selectSurProjectVideoConfigByParams(map)); + List list = surProjectVideoConfigService.selectSurProjectVideoConfigByParams(map); + redisCache.setCacheObject(key, list, Constants.BIGSCREEN_QUERY_CACHE, TimeUnit.MINUTES); + return success(list); } /** * 查询视频配置列表 */ @GetMapping("/groupCountByAlarmType") - public AjaxResult groupCountByAlarmType(String deptId,String projectId) + public AjaxResult groupCountByAlarmType(String deptId,String projectId,String now) { + String key="bgscreen_aiBoxVideo_groupCountByAlarmType_"+deptId+"_"+projectId+"_"+now; + Object obj=redisCache.getCacheObject(key); + if(obj!=null){ + return success(obj); + } DevAiProjectData devAiProjectData = new DevAiProjectData(); if(deptId!=null && !"0".equals(deptId)){ devAiProjectData.setProjectDeptId(deptId); @@ -84,7 +110,38 @@ public class VideoAiBoxController extends BaseController { if(projectId!=null && !"0".equals(projectId)){ devAiProjectData.setProjectId(Convert.toLong(projectId)); } + //查询当天数据 + if(now!=null && "Y".equals(now)){ + Map params = new HashMap<>(); + params.put("date",new Date()); + devAiProjectData.setParams(params); + } List> list = devAiProjectDataService.groupCountByAlarmType(devAiProjectData); + redisCache.setCacheObject(key, list, Constants.BIGSCREEN_QUERY_CACHE, TimeUnit.MINUTES); return success(list); } + + /** + * 查询视频配置列表汇总 + */ + @GetMapping("/selectGroupCountVideoConfig") + public AjaxResult selectGroupCountVideoConfig(String deptId,String projectId) + { + String key="bgscreen_aiBoxVideo_selectGroupCountVideoConfig_"+deptId+"_"+projectId; + Object obj=redisCache.getCacheObject(key); + if(obj!=null){ + return success(obj); + } + Map map = new HashMap<>(); + if(deptId!=null && !"0".equals(deptId)){ + map.put("deptId",deptId); + } + if(projectId!=null && !"0".equals(projectId)){ + map.put("projectId",projectId); + } + List> list = surProjectVideoConfigService.selectGroupCountVideoConfig(map); + redisCache.setCacheObject(key, list, Constants.BIGSCREEN_QUERY_CACHE, TimeUnit.MINUTES); + return success(list); + } + } diff --git a/yanzhu-bigscreen/src/main/java/com/yanzhu/jh/bigscreen/web/controller/VideoController.java b/yanzhu-bigscreen/src/main/java/com/yanzhu/jh/bigscreen/web/controller/VideoController.java index 3ca0cd68..0aeac19d 100644 --- a/yanzhu-bigscreen/src/main/java/com/yanzhu/jh/bigscreen/web/controller/VideoController.java +++ b/yanzhu-bigscreen/src/main/java/com/yanzhu/jh/bigscreen/web/controller/VideoController.java @@ -37,10 +37,6 @@ public class VideoController extends BaseController { if(projectId!=null && !"0".equals(projectId)){ surProjectVideoConfig.setProjectId(Convert.toLong(projectId)); } - //默认查询当天数据 - Map params = new HashMap<>(); - params.put("date","Y"); - surProjectVideoConfig.setParams(params); List list = surProjectVideoConfigService.selectSurProjectVideoConfigList(surProjectVideoConfig); return success(list); } diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/video/domain/SurProjectVideoPassage.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/video/domain/SurProjectVideoPassage.java index 11c7c8a0..845f5283 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/video/domain/SurProjectVideoPassage.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/video/domain/SurProjectVideoPassage.java @@ -38,6 +38,8 @@ public class SurProjectVideoPassage extends BaseEntity @Excel(name = "视频通道状态") private String passageState; + private String passageType; + public void setId(Long id) { this.id = id; @@ -92,6 +94,14 @@ public class SurProjectVideoPassage extends BaseEntity this.passageState = passageState; } + public String getPassageType() { + return passageType; + } + + public void setPassageType(String passageType) { + this.passageType = passageType; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/video/mapper/SurProjectVideoConfigMapper.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/video/mapper/SurProjectVideoConfigMapper.java index 88af9bb4..d608d690 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/video/mapper/SurProjectVideoConfigMapper.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/video/mapper/SurProjectVideoConfigMapper.java @@ -38,6 +38,14 @@ public interface SurProjectVideoConfigMapper */ public List selectSurProjectVideoConfigByParams(Map map); + /** + * 查询视频配置 + * + * @param map 查询条件 + * @return 视频配置 + */ + public List selectSurProjectVideoConfigByGroupCountParams(Map map); + /** * 查询视频配置列表 * diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/video/service/ISurProjectVideoConfigService.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/video/service/ISurProjectVideoConfigService.java index 3cbf5761..e9908dae 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/video/service/ISurProjectVideoConfigService.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/video/service/ISurProjectVideoConfigService.java @@ -102,4 +102,12 @@ public interface ISurProjectVideoConfigService * @return 视频配置 */ public List selectSurProjectVideoConfigByParams(Map map); + + /** + * 查询视频配置汇总 + * + * @param map 查询条件 + * @return 视频配置 + */ + public List> selectGroupCountVideoConfig(Map map); } diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/video/service/impl/SurProjectVideoConfigServiceImpl.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/video/service/impl/SurProjectVideoConfigServiceImpl.java index 3414585d..e09ef349 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/video/service/impl/SurProjectVideoConfigServiceImpl.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/video/service/impl/SurProjectVideoConfigServiceImpl.java @@ -1,9 +1,11 @@ package com.yanzhu.jh.video.service.impl; +import com.ruoyi.common.core.domain.entity.SysDictData; import com.ruoyi.common.enums.PublicStateEnum; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.system.service.ISysDictDataService; import com.yanzhu.jh.video.domain.SurProjectVideoConfig; import com.yanzhu.jh.video.domain.SurProjectVideoPassage; import com.yanzhu.jh.video.mapper.SurProjectVideoConfigMapper; @@ -12,9 +14,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; /** * 视频配置Service业务层处理 @@ -25,6 +26,9 @@ import java.util.Map; @Service public class SurProjectVideoConfigServiceImpl implements ISurProjectVideoConfigService { + @Autowired + ISysDictDataService sysDictDataService; + @Autowired private SurProjectVideoConfigMapper surProjectVideoConfigMapper; @@ -222,4 +226,37 @@ public class SurProjectVideoConfigServiceImpl implements ISurProjectVideoConfigS public List selectSurProjectVideoConfigByParams(Map map) { return surProjectVideoConfigMapper.selectSurProjectVideoConfigByParams(map); } + + /** + * 查询视频配置汇总 + * + * @param map 查询条件 + * @return 视频配置 + */ + @Override + public List> selectGroupCountVideoConfig(Map map){ + List list = surProjectVideoConfigMapper.selectSurProjectVideoConfigByGroupCountParams(map); + SysDictData dictData = new SysDictData(); + dictData.setDictType("aibox_alarm_type"); + List dictlist = sysDictDataService.selectDictDataList(dictData); + List> dataList = new ArrayList<>(); + for(SysDictData dict : dictlist){ + Map dataMap = new HashMap<>(); + dataMap.put("id",dict.getDictValue()); + dataMap.put("name",dict.getDictLabel()); + AtomicInteger count = new AtomicInteger(); + for(SurProjectVideoConfig v:list){ + if(v.getSurProjectVideoPassageList()!=null && v.getSurProjectVideoPassageList().size()>0){ + for(SurProjectVideoPassage vp:v.getSurProjectVideoPassageList()){ + if(vp.getPassageType()!=null && vp.getPassageType().contains(dict.getDictValue())){ + count.addAndGet(1); + } + } + } + } + dataMap.put("value",count.intValue()); + dataList.add(dataMap); + } + return dataList; + } } diff --git a/yanzhu-jh/src/main/resources/mapper/project/SmzProjectQuarterlyAssessMapper.xml b/yanzhu-jh/src/main/resources/mapper/project/SmzProjectQuarterlyAssessMapper.xml index 26713354..acecd264 100644 --- a/yanzhu-jh/src/main/resources/mapper/project/SmzProjectQuarterlyAssessMapper.xml +++ b/yanzhu-jh/src/main/resources/mapper/project/SmzProjectQuarterlyAssessMapper.xml @@ -52,8 +52,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - select id, project_id, year, quarterly, date, plan_target, cur_progress, lagging_matters, problem, plan_date, finish_date, status, remark, is_del, create_by, create_time, update_by, update_time from smz_project_quarterly_assess diff --git a/yanzhu-jh/src/main/resources/mapper/project/SurProjectMaterialSealMapper.xml b/yanzhu-jh/src/main/resources/mapper/project/SurProjectMaterialSealMapper.xml index 9af5c8a7..9c6d8579 100644 --- a/yanzhu-jh/src/main/resources/mapper/project/SurProjectMaterialSealMapper.xml +++ b/yanzhu-jh/src/main/resources/mapper/project/SurProjectMaterialSealMapper.xml @@ -42,10 +42,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -80,7 +80,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" diff --git a/yanzhu-jh/src/main/resources/mapper/video/SurProjectVideoConfigMapper.xml b/yanzhu-jh/src/main/resources/mapper/video/SurProjectVideoConfigMapper.xml index bd526fd3..5ee6ddd0 100644 --- a/yanzhu-jh/src/main/resources/mapper/video/SurProjectVideoConfigMapper.xml +++ b/yanzhu-jh/src/main/resources/mapper/video/SurProjectVideoConfigMapper.xml @@ -39,6 +39,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -108,6 +109,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" order by a.project_id asc,b.id asc limit 6 + + insert into sur_project_video_config