Ver código fonte

喇叭查询数量问题提交

hanzhiwei 2 anos atrás
pai
commit
ffc0acd42b

+ 8 - 0
zd-api/zd-laboratory-api/src/main/java/com/zd/laboratory/api/feign/RemoteLaboratoryService.java

@@ -372,6 +372,14 @@ public interface RemoteLaboratoryService {
     public R<Object> getSpeakerBySub(@PathVariable("floorId") Long floorId, @PathVariable("subId") Long subId);
 
     /**
+     * 获取喇叭总数
+     * @Return com.zd.model.domain.R<java.lang.Object>
+     **/
+    @ApiOperation(value = "获取喇叭总数")
+    @GetMapping("/sparseHardware/selectSpeakerCount")
+    R<Object> selectSpeakerCount();
+
+    /**
      * 定时任务分级管控工作过期记录 - 并排列下次工作计划
      */
     @ApiOperation(value = "定时任务分级管控工作过期记录 - 并排列下次工作计划")

+ 5 - 0
zd-api/zd-laboratory-api/src/main/java/com/zd/laboratory/api/feign/fallback/RemoteLaboratoryFallbackFactory.java

@@ -346,6 +346,11 @@ public class RemoteLaboratoryFallbackFactory implements FallbackFactory<RemoteLa
             }
 
             @Override
+            public R<Object> selectSpeakerCount() {
+                throw new RuntimeException("获取喇叭总数失败!" + cause.getMessage());
+            }
+
+            @Override
             public void workArrange() {
                 throw new RuntimeException("定时任务分级管控工作过期记录 - 并排列下次工作计划失败:" + cause.getMessage());
             }

+ 9 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabSparseHardwareController.java

@@ -132,4 +132,13 @@ public class LabSparseHardwareController extends BaseController {
     public ResultData remove(@PathVariable Long[] ids) {
         return ResultData.result(labSparseHardwareService.deleteLabSparseHardwareByIds(ids));
     }
+    /**
+     * 查询疏散硬件列表
+     */
+    @PreAuthorize(hasPermi = PerPrefix.LABORATORY_SPARSEHARDWARE + PerFun.LIST)
+    @GetMapping("/selectSpeakerCount")
+    @ApiOperation(value = "查询喇叭总数")
+    public ResultData selectSpeakerCount() {
+        return ResultData.success(labSparseHardwareService.selectSpeakerCount());
+    }
 }

+ 7 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/mapper/LabSparseHardwareMapper.java

@@ -88,4 +88,11 @@ public interface LabSparseHardwareMapper
      * @return
      */
     List<String> selectCameraByFloorId(Long floorId);
+
+    /**
+     * 查询喇叭总数
+     * @Param []
+     * @Return java.lang.Integer
+     **/
+    Integer selectSpeakerCount();
 }

+ 7 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/ILabSparseHardwareService.java

@@ -74,4 +74,11 @@ public interface ILabSparseHardwareService
      * @return
      */
     List<Map<String,Object>> selectSpeakerByFloorId(Long floorId, Long subId);
+
+    /**
+     * 查询所有喇叭的数量
+     * @Param []
+     * @Return java.lang.Integer
+     **/
+    Integer selectSpeakerCount();
 }

+ 9 - 3
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabExitLineServiceImpl.java

@@ -18,6 +18,7 @@ import com.zd.laboratory.domain.vo.*;
 import com.zd.laboratory.mapper.*;
 import com.zd.laboratory.mqtt.service.impl.SubMessageSendManager;
 import com.zd.laboratory.service.ILabExitLineService;
+import com.zd.laboratory.service.ILabSparseHardwareService;
 import com.zd.laboratory.socket.command.Symbol;
 import com.zd.laboratory.socket.service.SocketService;
 import com.zd.model.constant.CacheConstants;
@@ -64,7 +65,8 @@ public class LabExitLineServiceImpl implements ILabExitLineService
     private LabAudioSynthesisMapper labAudioSynthesisMapper;
     @Autowired
     private RemoteSpeakService remoteSpeakService;
-
+    @Autowired
+    private ILabSparseHardwareService labSparseHardwareService;
     /**
      * 查询逃生线路主
      *
@@ -367,7 +369,9 @@ public class LabExitLineServiceImpl implements ILabExitLineService
             List<LabAudioSynthesis> audioSynList = labAudioSynthesisMapper.selectLabAudioSynthesisList(audioSyn);
             if(audioSynList.size()>0){
                 LabAudioSynthesis audioSyntheses = audioSynList.get(0);
-                R deviceList = remoteSpeakService.getDeviceList(1,100,5L);
+                Integer count = labSparseHardwareService.selectSpeakerCount();
+                logger.info("查询喇叭总数:{}",count);
+                R deviceList = remoteSpeakService.getDeviceList(1,count + 10,5L);
                 if(deviceList.getCode()==200){
                     List<Map<String,Object>> mapList = (List <Map <String, Object>>) deviceList.getData();
                     List<PlayVo> playVoList = new ArrayList<>();
@@ -521,7 +525,9 @@ public class LabExitLineServiceImpl implements ILabExitLineService
                 if(audioSynList.size()>0){
                     LabAudioSynthesis audioSyntheses = audioSynList.get(0);
                     //获取喇叭列表
-                    R deviceList = remoteSpeakService.getDeviceList(1,100, 5L);
+                    Integer count = labSparseHardwareService.selectSpeakerCount();
+                    logger.info("查询喇叭总数:{}",count);
+                    R deviceList = remoteSpeakService.getDeviceList(1,count + 10, 5L);
                     if(deviceList.getCode()==200){
                         List<Map<String,Object>> mapList = (List <Map <String, Object>>) deviceList.getData();
 

+ 7 - 7
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabExitLineVertexServiceImpl.java

@@ -1,16 +1,10 @@
 package com.zd.laboratory.service.impl;
 
 import cn.hutool.core.date.StopWatch;
-import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.alibaba.fastjson.TypeReference;
-import com.alibaba.fastjson.parser.Feature;
-import com.alibaba.nacos.shaded.org.checkerframework.checker.nullness.Opt;
 import com.zd.algorithm.api.speaker.entity.ParamVo;
 import com.zd.algorithm.api.speaker.entity.PlayVo;
 import com.zd.algorithm.api.speaker.feign.RemoteSpeakService;
-import com.zd.common.core.redis.RedisService;
 import com.zd.common.core.utils.DateUtils;
 import com.zd.common.core.utils.SaveUtil;
 import com.zd.common.core.utils.SecurityUtils;
@@ -20,6 +14,7 @@ import com.zd.laboratory.domain.*;
 import com.zd.laboratory.domain.vo.*;
 import com.zd.laboratory.mapper.*;
 import com.zd.laboratory.service.ILabExitLineVertexService;
+import com.zd.laboratory.service.ILabSparseHardwareService;
 import com.zd.laboratory.socket.command.Symbol;
 import com.zd.laboratory.socket.service.SocketService;
 import com.zd.model.domain.R;
@@ -78,6 +73,9 @@ public class LabExitLineVertexServiceImpl implements ILabExitLineVertexService {
     @Autowired
     private LabHardwareStateMapper labHardwareStateMapper;
 
+    @Autowired
+    private ILabSparseHardwareService labSparseHardwareService;
+
 
     private static final Logger log = LoggerFactory.getLogger(LabExitLineVertexServiceImpl.class);
 
@@ -377,7 +375,9 @@ public class LabExitLineVertexServiceImpl implements ILabExitLineVertexService {
             List<LabAudioSynthesis> audioSyntheses = labAudioSynthesisMapper.selectLabAudioSynthesisList(labAudioSynthesis);
             if(audioSyntheses.size()>0){
                 //预案调用喇叭
-                R deviceList = remoteSpeakService.getDeviceList(1,100,labExitLineEvacuationVo.getFloorId());
+                Integer count = labSparseHardwareService.selectSpeakerCount();
+                log.info("查询喇叭总数:{}",count);
+                R deviceList = remoteSpeakService.getDeviceList(1,count + 10,labExitLineEvacuationVo.getFloorId());
                 if(deviceList.getCode()==200){
                     List<Map<String,Object>> mapList = (List <Map <String, Object>>) deviceList.getData();
                     for(Map<String,Object> map:mapList){

+ 6 - 3
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabSparseHardwareServiceImpl.java

@@ -1,12 +1,10 @@
 package com.zd.laboratory.service.impl;
 
-import com.zd.model.domain.per.PerPrefix;
 import com.zd.common.core.exception.ServiceException;
 import com.zd.common.core.utils.DateUtils;
+import com.zd.common.core.utils.SaveUtil;
 import com.zd.common.core.utils.SecurityUtils;
 import com.zd.common.core.utils.StringUtils;
-import com.zd.common.core.annotation.DataScope;
-import com.zd.common.core.utils.SaveUtil;
 import com.zd.laboratory.domain.LabSparseHardware;
 import com.zd.laboratory.mapper.LabSparseHardwareMapper;
 import com.zd.laboratory.service.ILabSparseHardwareService;
@@ -117,4 +115,9 @@ public class LabSparseHardwareServiceImpl implements ILabSparseHardwareService {
     public List<Map<String,Object>> selectSpeakerByFloorId(Long floorId, Long subId) {
         return labSparseHardwareMapper.selectListByFloorId(floorId, subId,2);
     }
+
+    @Override
+    public Integer selectSpeakerCount() {
+        return labSparseHardwareMapper.selectSpeakerCount();
+    }
 }

+ 6 - 0
zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabSparseHardwareMapper.xml

@@ -222,4 +222,10 @@
             #{id}
         </foreach>
     </delete>
+
+    <select id="selectSpeakerCount" resultType="java.lang.Integer">
+        select count(*)
+        from lab_sparse_hardware
+        where type = 2
+    </select>
 </mapper>