1.增加对外开放的ip端口配置

2.增加录像服务和查询录像
3.修改预支点位的时候增加修改编码
dongguan-huaweiyun
LAPTOP-S9HJSOEB\昊天 2 years ago
parent 40712d424e
commit 1a98bde043

@ -36,6 +36,7 @@ public class ConfigProperties {
private LightSource lightSource;
private ScanCodeMode scanCodeMode;
private ServerOpenInfo serverOpenInfo;
@Data
@ -67,6 +68,12 @@ public class ConfigProperties {
private Long delayDownloadMp4;
}
@Data
public static class ServerOpenInfo{
private String domain;
private String camera;
private String work;
}
@Data
public static class VideoStyleConfig{

@ -339,8 +339,8 @@ public class CameraControlController {
ConfigProperties.SavePath savePath = configProperties.getSavePath();
String path = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))+".jpeg";
String filePath = "D:\\work\\"+path;
TaskDelayExecutor.addPicDelayTask(id,filePath,2000L,savePath);
return Result.success(configProperties.getCameraConfig().getWorkUrl()+path);
TaskDelayExecutor.addPicDelayTask(id,filePath,0L,savePath);
return Result.success(configProperties.getServerOpenInfo().getDomain()+configProperties.getServerOpenInfo().getWork()+path);
}
@Resource
@ -373,12 +373,12 @@ public class CameraControlController {
@ApiOperation(value = "录像")
public Result<String> record(@RequestBody CameraRecord cameraRecord) {
checkLogin(cameraRecord.getCameraId());
String url ="work\\"+cameraRecord.getStartTime().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))+".mp4";
String url ="work/"+cameraRecord.getStartTime().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))+".mp4";
cameraRecord.setPath(url);
cameraRecordMapper.insert(cameraRecord);
ConfigProperties.SavePath savePath = configProperties.getSavePath();
cameraControlModule.downloadMp4(cameraRecord.getCameraId(),"D:\\"+url, cameraRecord.getStartTime(),cameraRecord.getEndTime(),savePath);
return Result.success("api/"+url);
return Result.success(configProperties.getServerOpenInfo().getDomain()+url);
}
@PostMapping("/mp4/recordList")
@ -392,7 +392,7 @@ public class CameraControlController {
);
cameraRecordList = cameraRecordList.stream()
.peek(k ->{
k.setPath("api/"+k.getPath());
k.setPath(configProperties.getServerOpenInfo().getDomain()+k.getPath());
}).collect(Collectors.toList());
return Result.success(cameraRecordList);
}

@ -0,0 +1,11 @@
package com.leaper.web.entity;
import lombok.Data;
@Data
public class CameraList {
String cameraCode;
String cameraName;
Long cameraId;
String warnCode;
}

@ -1,5 +1,6 @@
package com.leaper.web.entity;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import lombok.Data;
import java.time.LocalDateTime;
@ -9,17 +10,12 @@ import java.util.List;
public class DeviceReq {
String deviceCode;
String warmName;
List<CameraList> cameraList;
private String type;
@Data
public static class CameraList {
String cameraCode;
String cameraName;
Long cameraId;
String warnCode;
}
public Warn getWarn() {
Warn warn = new Warn();
@ -39,6 +35,7 @@ public class DeviceReq {
warnUrl.setCameraId(cameraList.getCameraId());
warnUrl.setCameraCode(cameraList.getCameraCode());
warnUrl.setType(this.type);
warnUrlList.add(warnUrl);
}
return warnUrlList;
}

@ -75,7 +75,11 @@ public class CameraService {
}
camera.setRtcServerPort(8083);
try {
cameraMapper.insert(camera);
if(camera.getId() == null || cameraMapper.selectCount(new QueryWrapper<Camera>().eq("id", camera.getId())) == 0) {
cameraMapper.insert(camera);
}else {
int update = cameraMapper.updateById(camera);
}
} catch (DuplicateKeyException e) {
Assert.isTrue(false, "rtsp地址已存在");
}
@ -305,6 +309,8 @@ public class CameraService {
Assert.notNull(cameraIO, "IO不存在");
//将ptzId赋值为旧的不能用新的
ptzId = cameraIO.getPtzId();
cameraIO.setName(name);
cameraIO.setCode(code);
cameraIO.setUpdateTime(LocalDateTime.now());
conver(cameraIO,type);
ioMapper.updateById(cameraIO);

@ -542,11 +542,11 @@ public class PlcService {
String path = PathUtil.createFileNameByRowColumn("jpg",Math.toIntExact(warnUrl.getCameraId()),0,0);
cameraCapture(Math.toIntExact(warnUrl.getCameraId()),false,null,path);
log.info("warn拍照 cameraId:{}path{}",warnUrl.getUrl(),path);
log.info("warn拍照 cameraId:{}cameraCode{}path{}",warnUrl.getCameraId(),warnUrl.getCameraCode(),path);
warnUrl.setUrl(path);
warnUrlMapper.insert(warnUrl);
//获取告警视频地址
result.add(configProperties.getCameraConfig().getCameraUrl()+"/#/camera"+warnUrl.getCameraId());
result.add(configProperties.getServerOpenInfo().getDomain() + configProperties.getServerOpenInfo().getCamera()+warnUrl.getCameraId());
}
return result;
}

@ -14,7 +14,7 @@ spring:
testWhileIdle: false
timeBetweenEvictionRunsMillis: 60000
type: com.alibaba.druid.pool.DruidDataSource
url: jdbc:mysql://127.0.0.1:3306/lia_duoji?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8
url: jdbc:mysql://127.0.0.1:3306/lia_duoji_huawei?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8
username: root
validationQuery: SELECT 1 FROM DUAL
#--------------
@ -53,6 +53,14 @@ cameraConfig:
# ------------
# -----图片 mp4下载地址
#对外开放
serverOpenInfo:
domain: "127.0.0.1:9007/"
#球机(后跟球机id)
camera: "#/camera/"
#录像拍照,后跟路径
work: "work/"
savePath:
#是否云端保存
isCloudSave: false
@ -95,4 +103,9 @@ scanCodeMode:
trayCodeTypes:
- 14
# 照片 視頻保存多久
deleteFileDays: 365
deleteFileDays: 365
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
Loading…
Cancel
Save