Эх сурвалжийг харах

北向通道处理代码修改提交,动环诊断页面增加字段

jingyuanchao 1 жил өмнө
parent
commit
6c5b8c6ead

+ 1 - 4
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/controller/IotSensorController.java

@@ -44,11 +44,8 @@ public class IotSensorController {
         return page;
     }
 
-    /**
-     * 导出excel
-     */
+
     @ApiOperation(value = "导出动环设备")
-    //@RequiresPermissions("core:eduTask:export")
     @Log(title = "导出动环设备", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(SensorPageDto request, HttpServletResponse response) throws IOException {

+ 13 - 0
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/impl/IotCommonSensorServiceImpl.java

@@ -8,12 +8,15 @@ import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy
 import com.alibaba.fastjson2.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.xunmei.common.core.constant.CacheConstants;
 import com.xunmei.common.core.constant.DictConstants;
 import com.xunmei.common.core.constant.SecurityConstants;
 import com.xunmei.common.core.domain.iot.domain.IotSensor;
+import com.xunmei.common.core.enums.OrgTypeEnum;
 import com.xunmei.common.core.exception.ServiceException;
 import com.xunmei.common.core.utils.bean.BeanUtils;
 import com.xunmei.common.core.web.page.TableDataInfo;
+import com.xunmei.common.redis.utils.RedisUtils;
 import com.xunmei.common.security.utils.DictUtils;
 import com.xunmei.iot.dto.sensor.SensorAppPageDto;
 import com.xunmei.iot.vo.sensor.SensorAppStateVo;
@@ -28,6 +31,7 @@ import com.xunmei.iot.vo.sensor.SensorExportVo;
 import com.xunmei.iot.vo.sensor.SensorPageVo;
 import com.xunmei.system.api.RemoteOrgService;
 import com.xunmei.system.api.domain.SysOrg;
+import com.xunmei.system.api.vo.SysOrgVO;
 import io.netty.util.internal.StringUtil;
 import org.springframework.stereotype.Service;
 
@@ -35,8 +39,10 @@ import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 import java.net.URLEncoder;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -63,8 +69,15 @@ public class IotCommonSensorServiceImpl extends ServiceImpl<IotCommonSensorMappe
         dealPageParam(request);
 
         Page<SensorPageVo> page = sensorMapper.selectPageData(request.getPageRequest(), request);
+        final List<SysOrgVO> cacheList = RedisUtils.getCacheList(CacheConstants.ORG_CACHE_LIST_KEY);
+
         for (SensorPageVo record : page.getRecords()) {
             final String info = record.getInfo();
+            final List<Long> collect = Arrays.stream(record.getOrgPath().split("-")).map(Long::parseLong).collect(Collectors.toList());
+            //地区名称
+            cacheList.stream().filter(org->collect.contains(org.getId())&&OrgTypeEnum.DIQU_HANG_SHE.getCode().equals(org.getType())).findFirst().ifPresent(org->record.setFirstOrgName(org.getShortName()));
+            //行社名称
+            cacheList.stream().filter(org->collect.contains(org.getId())&&OrgTypeEnum.HANG_SHE.getCode().equals(org.getType())).findFirst().ifPresent(org->record.setSecondOrgName(org.getShortName()));
             record.setInfo(dealInfoData(info));
             record.setDeviceType(DictUtils.getDictLabel(DictConstants.SENSOR_DEVICE_TYPE, Integer.parseInt(record.getDeviceType())));
             record.setStateText(DictUtils.getDictLabel(DictConstants.SENSOR_ALARM_STATUS, record.getState()));

+ 9 - 0
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/vo/sensor/SensorPageVo.java

@@ -1,6 +1,7 @@
 package com.xunmei.iot.vo.sensor;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.xunmei.common.core.constant.CacheConstants;
 import com.xunmei.common.core.constant.Constants;
 import io.swagger.annotations.ApiModelProperty;
@@ -26,6 +27,10 @@ public class SensorPageVo {
     @ApiModelProperty("机构id")
     private Long orgId;
 
+    @JsonIgnore
+    @ApiModelProperty("机构路径")
+    private String orgPath;
+
     @ApiModelProperty("所属机构")
     private String orgName;
 
@@ -45,4 +50,8 @@ public class SensorPageVo {
     @ApiModelProperty("设备code")
     private String deviceCode;
 
+    private String firstOrgName;
+
+    private String secondOrgName;
+
 }

+ 1 - 1
soc-modules/soc-modules-iot/src/main/resources/mapper/IotSensorMapper.xml

@@ -2,7 +2,7 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.xunmei.iot.mapper.IotCommonSensorMapper">
     <select id="selectPageData" resultType="com.xunmei.iot.vo.sensor.SensorPageVo">
-        select s.id, org_id, org_name, device_name, device_type, infos as info,device_code, state_update_time as updateTime,state
+        select s.id, org_id, org_name,org_path, device_name, device_type, infos as info,device_code, state_update_time as updateTime,state
         from iot_sensor s
         where s.deleted=0
         <if test="request.orgId!= null">

+ 5 - 5
soc-modules/soc-modules-mediator/src/main/java/com/xunmei/mediator/api/service/impl/IotDvrChannelServiceImpl.java

@@ -137,7 +137,7 @@ public class IotDvrChannelServiceImpl extends ServiceImpl<IotDvrChannelMapper, I
 
 
             /**
-             * 先不做数据处理,先缓存所有待处理的数据,然后每5分钟处理一次缓存数据
+             * 先不做数据处理,先缓存所有待处理的数据,然后每10分钟处理一次缓存数据 http://localhost:8080/mediator/channelCacheDeal
              */
 
 
@@ -166,9 +166,12 @@ public class IotDvrChannelServiceImpl extends ServiceImpl<IotDvrChannelMapper, I
 
     private IotDvrChannel getChannelDevice(DeviceDto deviceDto) {
         IotDvrChannel device = new IotDvrChannel();
-        IotDvrChannel old = this.findChannel(deviceDto.getEquipmentCode(), deviceDto.getChannelCode(), deviceDto.getOrg().getId());
+        final LocalDateTime now = LocalDateTime.now();
+        IotDvrChannel old = this.findChannel(deviceDto.getChannelCode(), deviceDto.getEquipmentCode(), deviceDto.getOrg().getId());
         if (old != null) {
             device = old;
+        }else {
+            device.setCreateTime(now);
         }
         device.setChannelName(deviceDto.getChannelName());
         device.setHostCode(deviceDto.getEquipmentCode());
@@ -177,10 +180,7 @@ public class IotDvrChannelServiceImpl extends ServiceImpl<IotDvrChannelMapper, I
         device.setOrgName(deviceDto.getOrg().getShortName());
         device.setChannelCode(Integer.parseInt(deviceDto.getChannelCode()));
         device.setChannelAddr(deviceDto.getNetAddress());
-        final LocalDateTime now = LocalDateTime.now();
         device.setUpdateTime(now);
-        device.setCreateTime(now);
-
         device.setSource(1);
         device.setDeleted(0);
         return device;

+ 2 - 1
soc-modules/soc-modules-mediator/src/main/java/com/xunmei/mediator/util/RedisCheckRepeatDataUtil.java

@@ -1,5 +1,6 @@
 package com.xunmei.mediator.util;
 
+import cn.hutool.core.collection.ListUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSON;
 import com.xunmei.common.core.utils.SpringUtils;
@@ -108,7 +109,7 @@ public class RedisCheckRepeatDataUtil {
         //判断是否拿到所有的数据
         final List<Boolean> list = allPageKeyList.stream().map(redisTemplate::hasKey).distinct().collect(Collectors.toList());
         if (list.contains(Boolean.FALSE)) {
-            // return ListUtil.empty();
+             return ListUtil.empty();
         }
 
         return allPageKeyList.stream().map(k -> {