@ -3,7 +3,13 @@ package com.zhehekeji.web.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper ;
import com.zhehekeji.web.config.ConfigProperties ;
import com.zhehekeji.web.controller.StreetController ;
import com.zhehekeji.web.entity.Camera ;
import com.zhehekeji.web.entity.LightSource ;
import com.zhehekeji.web.lib.CameraConnMap ;
import com.zhehekeji.web.lib.CameraControlModule ;
import com.zhehekeji.web.lib.hik.HikLoginModuleImpl ;
import com.zhehekeji.web.lib.joyware.JoywareLoginModuleImpl ;
import com.zhehekeji.web.mapper.CameraMapper ;
import com.zhehekeji.web.mapper.LightSourceMapper ;
import com.zhehekeji.web.service.damLightSource.JYDAMEquip ;
import com.zhehekeji.web.service.damLightSource.JYDamHelper ;
@ -73,6 +79,39 @@ public class CronTab {
lightTimeMap . put ( streetId , System . currentTimeMillis ( ) ) ;
}
@Resource
private CameraMapper cameraMapper ;
@Resource
private CameraService cameraService ;
@Resource
private CameraControlModule cameraControlModule ;
@Scheduled ( cron = "${cameraConfig.cameraTimeUpdateCron}" )
public void cameraTimeUpdate ( ) {
log . info ( " cameraTimeUpdate" ) ;
long timeStamp = System . currentTimeMillis ( ) ;
List < Camera > cameras = cameraMapper . selectList ( new QueryWrapper < > ( ) ) ;
for ( Camera camera : cameras ) {
Boolean ok = false ;
if ( configProperties . getCameraConfig ( ) . getCameraType ( ) = = ConfigProperties . HIK_CAMERA ) {
ok = HikLoginModuleImpl . connectStatus ( CameraConnMap . getConnId ( camera . getId ( ) ) . intValue ( ) ) ;
} else {
ok = JoywareLoginModuleImpl . connectStatus ( CameraConnMap . getConnId ( camera . getId ( ) ) ) ;
}
if ( ok ) {
cameraControlModule . setCameraTime ( camera . getId ( ) ) ;
} else {
CameraConnMap . disConn ( camera . getId ( ) ) ;
camera . setStatus ( "未连接" ) ;
cameraService . cameraLogin ( camera ) ;
}
}
}
@Scheduled ( cron = "0 0/1 * * * ?" )
public void lightStatus ( ) {
log . debug ( " lightStatus" ) ;
@ -102,7 +141,7 @@ public class CronTab {
}
@Scheduled ( cron = "0 0 0 * * ? ")
@Scheduled ( cron = "0 4 0 * * ? ")
public void lightCloseAll ( ) {
streetController . closeLightSource ( ) ;
}