jingyuanchao 1 rok pred
rodič
commit
04a6dcbf88

+ 0 - 11
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/config/MybatisPlusConfig.java

@@ -31,17 +31,6 @@ public class MybatisPlusConfig {
         interceptor.addInnerInterceptor(blockAttackInnerInterceptor());
         return interceptor;
     }
-    /**
-     * sql 日志
-     *
-     * @return SqlLogInterceptor
-     */
-    @Bean
-   // @ConditionalOnProperty(value = "blade.mybatis-plus.sql-log", matchIfMissing = true)
-    public SqlLogInterceptor sqlLogInterceptor() {
-        return new SqlLogInterceptor();
-    }
-
 
     /**
      * 分页插件,自动识别数据库类型 https://baomidou.com/guide/interceptor-pagination.html

+ 0 - 184
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/config/SqlLogInterceptor.java

@@ -1,184 +0,0 @@
-package com.xunmei.common.core.config;
- 
-import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
-import com.baomidou.mybatisplus.core.toolkit.PluginUtils;
-import com.baomidou.mybatisplus.core.toolkit.StringPool;
-import com.baomidou.mybatisplus.core.toolkit.SystemClock;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.ibatis.executor.statement.StatementHandler;
-import org.apache.ibatis.mapping.MappedStatement;
-import org.apache.ibatis.plugin.*;
-import org.apache.ibatis.reflection.MetaObject;
-import org.apache.ibatis.reflection.SystemMetaObject;
-import org.apache.ibatis.session.ResultHandler;
-
- 
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-import java.sql.Statement;
-import java.util.*;
- 
-/**
- * 用于输出每条 SQL 语句及其执行时间
- *
- * @author hubin nieqiurong TaoYu
- * @since 2016-07-07
- */
-@Slf4j
-@Intercepts({
-	@Signature(type = StatementHandler.class, method = "query", args = {Statement.class, ResultHandler.class}),
-	@Signature(type = StatementHandler.class, method = "update", args = Statement.class),
-	@Signature(type = StatementHandler.class, method = "batch", args = Statement.class)
-})
-public class SqlLogInterceptor implements Interceptor {
-	private static final String DRUID_POOLED_PREPARED_STATEMENT = "com.alibaba.druid.pool.DruidPooledPreparedStatement";
-	private static final String T4C_PREPARED_STATEMENT = "oracle.jdbc.driver.T4CPreparedStatement";
-	private static final String ORACLE_PREPARED_STATEMENT_WRAPPER = "oracle.jdbc.driver.OraclePreparedStatementWrapper";
- 
-	private Method oracleGetOriginalSqlMethod;
-	private Method druidGetSqlMethod;
- 
-	@Override
-	public Object intercept(Invocation invocation) throws Throwable {
-		Statement statement;
-		Object firstArg = invocation.getArgs()[0];
-		if (Proxy.isProxyClass(firstArg.getClass())) {
-			statement = (Statement) SystemMetaObject.forObject(firstArg).getValue("h.statement");
-		} else {
-			statement = (Statement) firstArg;
-		}
-		MetaObject stmtMetaObj = SystemMetaObject.forObject(statement);
-		try {
-			statement = (Statement) stmtMetaObj.getValue("stmt.statement");
-		} catch (Exception e) {
-			// do nothing
-		}
-		if (stmtMetaObj.hasGetter("delegate")) {
-			//Hikari
-			try {
-				statement = (Statement) stmtMetaObj.getValue("delegate");
-			} catch (Exception ignored) {
- 
-			}
-		}
- 
-		String originalSql = null;
-		String stmtClassName = statement.getClass().getName();
-		if (DRUID_POOLED_PREPARED_STATEMENT.equals(stmtClassName)) {
-			try {
-				if (druidGetSqlMethod == null) {
-					Class<?> clazz = Class.forName(DRUID_POOLED_PREPARED_STATEMENT);
-					druidGetSqlMethod = clazz.getMethod("getSql");
-				}
-				Object stmtSql = druidGetSqlMethod.invoke(statement);
-				if (stmtSql instanceof String) {
-					originalSql = (String) stmtSql;
-				}
-			} catch (Exception e) {
-				e.printStackTrace();
-			}
-		} else if (T4C_PREPARED_STATEMENT.equals(stmtClassName)
-			|| ORACLE_PREPARED_STATEMENT_WRAPPER.equals(stmtClassName)) {
-			try {
-				if (oracleGetOriginalSqlMethod != null) {
-					Object stmtSql = oracleGetOriginalSqlMethod.invoke(statement);
-					if (stmtSql instanceof String) {
-						originalSql = (String) stmtSql;
-					}
-				} else {
-					Class<?> clazz = Class.forName(stmtClassName);
-					oracleGetOriginalSqlMethod = getMethodRegular(clazz, "getOriginalSql");
-					if (oracleGetOriginalSqlMethod != null) {
-						//OraclePreparedStatementWrapper is not a public class, need set this.
-						oracleGetOriginalSqlMethod.setAccessible(true);
-						if (null != oracleGetOriginalSqlMethod) {
-							Object stmtSql = oracleGetOriginalSqlMethod.invoke(statement);
-							if (stmtSql instanceof String) {
-								originalSql = (String) stmtSql;
-							}
-						}
-					}
-				}
-			} catch (Exception e) {
-				//ignore
-			}
-		}
-		if (originalSql == null) {
-			originalSql = statement.toString();
-		}
-		originalSql = originalSql.replaceAll("[\\s]+", StringPool.SPACE);
-		int index = indexOfSqlStart(originalSql);
-		if (index > 0) {
-			originalSql = originalSql.substring(index);
-		}
- 
-		// 计算执行 SQL 耗时
-		long start = SystemClock.now();
-		Object result = invocation.proceed();
-		long timing = SystemClock.now() - start;
- 
-		// SQL 打印执行结果
-		Object target = PluginUtils.realTarget(invocation.getTarget());
-		MetaObject metaObject = SystemMetaObject.forObject(target);
-		MappedStatement ms = (MappedStatement) metaObject.getValue("delegate.mappedStatement");
-		// 打印 sql
-		log.debug(
-            "\n==============  Sql Start  ==============" +
-                "\nExecute ID  :{}" +
-                "\nExecute SQL :{}" +
-                "\nExecute Time:{} ms" +
-                    "\n==============  Sql  End   ==============\n",
-            ms.getId(), originalSql, timing);
-		return result;
-	}
- 
-	@Override
-	public Object plugin(Object target) {
-		if (target instanceof StatementHandler) {
-			return Plugin.wrap(target, this);
-		}
-		return target;
-	}
- 
-	/**
-	 * 获取此方法名的具体 Method
-	 *
-	 * @param clazz      class 对象
-	 * @param methodName 方法名
-	 * @return 方法
-	 */
-	private Method getMethodRegular(Class<?> clazz, String methodName) {
-		if (Object.class.equals(clazz)) {
-			return null;
-		}
-		for (Method method : clazz.getDeclaredMethods()) {
-			if (method.getName().equals(methodName)) {
-				return method;
-			}
-		}
-		return getMethodRegular(clazz.getSuperclass(), methodName);
-	}
- 
-	/**
-	 * 获取sql语句开头部分
-	 *
-	 * @param sql ignore
-	 * @return ignore
-	 */
-	private int indexOfSqlStart(String sql) {
-		String upperCaseSql = sql.toUpperCase();
-		Set<Integer> set = new HashSet<>();
-		set.add(upperCaseSql.indexOf("SELECT "));
-		set.add(upperCaseSql.indexOf("UPDATE "));
-		set.add(upperCaseSql.indexOf("INSERT "));
-		set.add(upperCaseSql.indexOf("DELETE "));
-		set.remove(-1);
-		if (CollectionUtils.isEmpty(set)) {
-			return -1;
-		}
-		List<Integer> list = new ArrayList<>(set);
-		list.sort(Comparator.naturalOrder());
-		return list.get(0);
-	}
- 
-}

+ 4 - 4
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/enums/iot/BaseDeviceTypeEnum.java

@@ -30,10 +30,10 @@ public enum BaseDeviceTypeEnum {
     FSU_Ups("15", "UPS"),
     FSU_DoPowerControl("16", "DO8小时控电"),
     FSU_ThreePhaseACVoltage("17", "三相电电压传感器"),
-    FSU_Theft("18", "盗传感器"),
-    subsystem("19", "子系统"),
-    sensor("20", "防区"),
-    FSU_DoPowerCollection("21", "DO8小时采集"),
+    FSU_Theft("18", "盗传感器"),
+    subsystem("19", "报警控制器"),
+    sensor("20", "报警防区"),
+    FSU_DoPowerCollection("21", "FSU回路通电状态"),
 
     ;
     private String code;

+ 1 - 1
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/enums/iot/DeviceTypeEnum.java

@@ -30,7 +30,7 @@ public enum DeviceTypeEnum {
     FSU_Ups("15", "UPS"),
     FSU_DoPowerControl("16", "DO8小时控电"),
     FSU_ThreePhaseACVoltage("17", "三相电电压传感器"),
-    FSU_Theft("18", "盗传感器"),
+    FSU_Theft("18", "盗传感器"),
 
     ;
     private String code;

+ 3 - 1
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/dto/videoDiagnosis/VideoDiagnosisWebPageDto.java

@@ -5,6 +5,8 @@ import com.xunmei.common.core.web.domain.PageDto;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.util.List;
+
 @Data
 public class VideoDiagnosisWebPageDto extends PageDto {
     @ApiModelProperty(value = "监控主机")
@@ -23,5 +25,5 @@ public class VideoDiagnosisWebPageDto extends PageDto {
     private Integer diagnosisState;
 
     @JsonIgnore
-    private Long categoryId;
+    private List<String> deviceTypeList;
 }

+ 3 - 3
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/impl/IotServerInfoServiceImpl.java

@@ -142,9 +142,6 @@ public class IotServerInfoServiceImpl extends ServiceImpl<IotServerInfoMapper, I
             info.setIotStatus(IotServerConnectStatus.OFFLINE.getIdx());
             updateById(info);
         }
-        //删除iot服务对应的数据
-        hostService.delData(info.getIotCode());
-        alarmDataService.deleteData(info.getOrgId());
     }
 
     @Override
@@ -182,5 +179,8 @@ public class IotServerInfoServiceImpl extends ServiceImpl<IotServerInfoMapper, I
             throw new RuntimeException("请先停用该iot服务!");
         }
         removeById(id);
+        //删除iot服务对应的数据
+        hostService.delData(info.getIotCode());
+        alarmDataService.deleteData(info.getOrgId());
     }
 }

+ 3 - 5
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/impl/VideoDiagnosisServiceImpl.java

@@ -12,6 +12,7 @@ import com.xunmei.common.core.domain.iot.domain.IotDvrChannel;
 import com.xunmei.common.core.domain.video.MediatorVideoDiagnosisLog;
 import com.xunmei.common.core.domain.video.MediatorVideoIntegrityCheckLog;
 import com.xunmei.common.core.enums.CategoryDataEnum;
+import com.xunmei.common.core.enums.iot.BaseDeviceTypeEnum;
 import com.xunmei.common.core.enums.iot.VideoIntegrityStatus;
 import com.xunmei.common.core.web.page.TableDataInfo;
 import com.xunmei.common.security.utils.SecurityUtils;
@@ -30,10 +31,7 @@ import org.springframework.stereotype.Service;
 
 import java.text.SimpleDateFormat;
 import java.time.format.DateTimeFormatter;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Service
@@ -54,7 +52,7 @@ public class VideoDiagnosisServiceImpl extends ServiceImpl<IotDvrChannelMapper,
             SysOrg org = orgService.selectOrgById(request.getOrgId(), SecurityConstants.INNER);
             orgPath = org.getPath();
         }
-        request.setCategoryId(CategoryDataEnum.MONITOR_HOST_DEVICE.getId());
+        request.setDeviceTypeList(Arrays.asList(BaseDeviceTypeEnum.monitor_camera.getCode(),BaseDeviceTypeEnum.number_camera.getCode()));
         Page<VideoDiagnosisWebPageVo> page = request.toPage();
         page = baseMapper.selectPage(page, request, orgPath);
 

+ 6 - 0
soc-modules/soc-modules-iot/src/main/resources/mapper/IotDvrChannelMapper.xml

@@ -155,6 +155,12 @@
         left JOIN mediator_video_diagnosis_record vdr on c.host_code=vdr.equipment_code and
         c.device_code=vdr.channel_code
         where c.deleted=0 and d.deleted=0
+        <if test="pageDto.deviceTypeList != null and pageDto.deviceTypeList.size > 0">
+            and c.device_type in
+            <foreach collection="pageDto.deviceTypeList" item="deviceType" open="(" separator="," close=")">
+                #{deviceType}
+            </foreach>
+        </if>
         <if test="pageDto.checkSub==true">
             and c.org_path like concat(#{orgPath},"%")
         </if>