预警信息管理
This commit is contained in:
parent
090259f342
commit
4ce62ca257
|
|
@ -0,0 +1,88 @@
|
||||||
|
package com.dkl.large.service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import com.dkl.large.domain.DklMonitoringCamera;
|
||||||
|
import com.dkl.large.domain.DklMonitoringCameraData;
|
||||||
|
import com.dkl.large.domain.vo.DeptWwsVo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 监控点摄像头信息Service接口
|
||||||
|
*
|
||||||
|
* @author Dkl
|
||||||
|
* @date 2025-06-10
|
||||||
|
*/
|
||||||
|
public interface IDklMonitoringCameraService
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 查询监控点摄像头信息
|
||||||
|
*
|
||||||
|
* @param id 监控点摄像头信息主键
|
||||||
|
* @return 监控点摄像头信息
|
||||||
|
*/
|
||||||
|
public DklMonitoringCamera selectDklMonitoringCameraById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询监控点摄像头信息列表
|
||||||
|
*
|
||||||
|
* @param dklMonitoringCamera 监控点摄像头信息
|
||||||
|
* @return 监控点摄像头信息集合
|
||||||
|
*/
|
||||||
|
public List<DklMonitoringCamera> selectDklMonitoringCameraList(DklMonitoringCamera dklMonitoringCamera);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增监控点摄像头信息
|
||||||
|
*
|
||||||
|
* @param dklMonitoringCamera 监控点摄像头信息
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int insertDklMonitoringCamera(DklMonitoringCamera dklMonitoringCamera);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改监控点摄像头信息
|
||||||
|
*
|
||||||
|
* @param dklMonitoringCamera 监控点摄像头信息
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int updateDklMonitoringCamera(DklMonitoringCamera dklMonitoringCamera);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除监控点摄像头信息
|
||||||
|
*
|
||||||
|
* @param ids 需要删除的监控点摄像头信息主键集合
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int deleteDklMonitoringCameraByIds(int[] ids);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除监控点摄像头信息信息
|
||||||
|
*
|
||||||
|
* @param id 监控点摄像头信息主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int deleteDklMonitoringCameraById(Long id);
|
||||||
|
/**
|
||||||
|
* @Author :rq
|
||||||
|
* @Description :大屏部门下拉框展示
|
||||||
|
* @Date :2025/07/07 16:15
|
||||||
|
* @Param :[]
|
||||||
|
* @return :java.util.List<com.dkl.large.domain.vo.RiskVo>
|
||||||
|
**/
|
||||||
|
public List<DeptWwsVo> getDeptOfWws();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author :rq
|
||||||
|
* @Description :获取视频url
|
||||||
|
* @Date :2025/07/07 16:15
|
||||||
|
* @Param :[]
|
||||||
|
* @return :java.util.List<com.dkl.large.domain.vo.RiskVo>
|
||||||
|
**/
|
||||||
|
public List<DeptWwsVo> getDeptOfWwsUrl(DeptWwsVo deptWwsVo) throws Exception;
|
||||||
|
/**
|
||||||
|
* 导入数据
|
||||||
|
*
|
||||||
|
* @param dklMonitoringCameraList 数据列表
|
||||||
|
* @param operName 操作用户
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public String importDate(List<DklMonitoringCamera> dklMonitoringCameraList, String operName);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,310 @@
|
||||||
|
package com.dkl.large.service.impl;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
import com.dkl.common.core.domain.entity.SysDictData;
|
||||||
|
import com.dkl.common.exception.ServiceException;
|
||||||
|
import com.dkl.common.utils.DateUtils;
|
||||||
|
import com.dkl.common.utils.StringUtils;
|
||||||
|
import com.dkl.large.domain.DklActivity;
|
||||||
|
import com.dkl.large.domain.DklMonitoringPoints;
|
||||||
|
import com.dkl.large.domain.VideoStorageInformation;
|
||||||
|
import com.dkl.large.domain.vo.DeptWwsVo;
|
||||||
|
import com.dkl.large.mapper.DklMonitoringPointsMapper;
|
||||||
|
import com.dkl.large.utli.GetCameraPreviewURL;
|
||||||
|
import com.dkl.system.mapper.SysDictDataMapper;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import com.dkl.large.mapper.DklMonitoringCameraMapper;
|
||||||
|
import com.dkl.large.domain.DklMonitoringCamera;
|
||||||
|
import com.dkl.large.service.IDklMonitoringCameraService;
|
||||||
|
|
||||||
|
import static com.dkl.common.utils.SecurityUtils.getDeptId;
|
||||||
|
import static com.dkl.common.utils.SecurityUtils.getUsername;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 监控点摄像头信息Service业务层处理
|
||||||
|
*
|
||||||
|
* @author Dkl
|
||||||
|
* @date 2025-06-10
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class DklMonitoringCameraServiceImpl implements IDklMonitoringCameraService
|
||||||
|
{
|
||||||
|
@Autowired
|
||||||
|
private DklMonitoringCameraMapper dklMonitoringCameraMapper;
|
||||||
|
//经度
|
||||||
|
private static final String LNG_REGEX = "^-?\\d{1,3}(\\.\\d+)?$";
|
||||||
|
//维度
|
||||||
|
private static final String LAT_REGEX = "^-?\\d{1,2}(\\.\\d+)?$";
|
||||||
|
@Autowired
|
||||||
|
private SysDictDataMapper sysDictDataMapper;
|
||||||
|
@Autowired
|
||||||
|
private DklMonitoringPointsMapper dklMonitoringPointsMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询监控点摄像头信息
|
||||||
|
*
|
||||||
|
* @param id 监控点摄像头信息主键
|
||||||
|
* @return 监控点摄像头信息
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public DklMonitoringCamera selectDklMonitoringCameraById(Long id)
|
||||||
|
{
|
||||||
|
return dklMonitoringCameraMapper.selectDklMonitoringCameraById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询监控点摄像头信息列表
|
||||||
|
*
|
||||||
|
* @param dklMonitoringCamera 监控点摄像头信息
|
||||||
|
* @return 监控点摄像头信息
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<DklMonitoringCamera> selectDklMonitoringCameraList(DklMonitoringCamera dklMonitoringCamera)
|
||||||
|
{
|
||||||
|
return dklMonitoringCameraMapper.selectDklMonitoringCameraList(dklMonitoringCamera);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增监控点摄像头信息
|
||||||
|
*
|
||||||
|
* @param dklMonitoringCamera 监控点摄像头信息
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int insertDklMonitoringCamera(DklMonitoringCamera dklMonitoringCamera)
|
||||||
|
{
|
||||||
|
dklMonitoringCamera.setCreateTime(DateUtils.getNowDate());
|
||||||
|
return dklMonitoringCameraMapper.insertDklMonitoringCamera(dklMonitoringCamera);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改监控点摄像头信息
|
||||||
|
*
|
||||||
|
* @param dklMonitoringCamera 监控点摄像头信息
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int updateDklMonitoringCamera(DklMonitoringCamera dklMonitoringCamera)
|
||||||
|
{
|
||||||
|
dklMonitoringCamera.setUpdateTime(DateUtils.getNowDate());
|
||||||
|
return dklMonitoringCameraMapper.updateDklMonitoringCamera(dklMonitoringCamera);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除监控点摄像头信息
|
||||||
|
*
|
||||||
|
* @param ids 需要删除的监控点摄像头信息主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int deleteDklMonitoringCameraByIds(int[] ids)
|
||||||
|
{
|
||||||
|
return dklMonitoringCameraMapper.deleteDklMonitoringCameraByIds(ids);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除监控点摄像头信息信息
|
||||||
|
*
|
||||||
|
* @param id 监控点摄像头信息主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int deleteDklMonitoringCameraById(Long id)
|
||||||
|
{
|
||||||
|
return dklMonitoringCameraMapper.deleteDklMonitoringCameraById(id);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @Author :rq
|
||||||
|
* @Description :大屏部门下拉框展示
|
||||||
|
* @Date :2025/07/07 16:15
|
||||||
|
* @Param :[]
|
||||||
|
* @return :java.util.List<com.dkl.large.domain.vo.RiskVo>
|
||||||
|
**/
|
||||||
|
@Override
|
||||||
|
public List<DeptWwsVo> getDeptOfWws() {
|
||||||
|
return dklMonitoringCameraMapper.getDeptOfWws();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author :rq
|
||||||
|
* @Description : 获取视频url
|
||||||
|
* @Date :2025/07/07 16:23
|
||||||
|
* @Param :[deptWwsVo]
|
||||||
|
* @return :java.util.List<com.dkl.large.domain.vo.DeptWwsVo>
|
||||||
|
**/
|
||||||
|
@Override
|
||||||
|
public List<DeptWwsVo> getDeptOfWwsUrl(DeptWwsVo deptWwsVo) throws Exception {
|
||||||
|
int urlSize=0;
|
||||||
|
List <DeptWwsVo> deptWwsVos =dklMonitoringCameraMapper.getDeptOfWwsUrl(deptWwsVo);
|
||||||
|
if (("0").equals(deptWwsVo.getType())){
|
||||||
|
urlSize = 4;
|
||||||
|
}
|
||||||
|
if (("1").equals(deptWwsVo.getType())){
|
||||||
|
urlSize = 9;
|
||||||
|
}
|
||||||
|
int outUrlSize=0;
|
||||||
|
for (int i = 0; i < deptWwsVos.size(); i++) {
|
||||||
|
String wwsurl= GetCameraPreviewURL.GetCameraPreviewURL(deptWwsVos.get(i).getCode());
|
||||||
|
if (StringUtils.isNotEmpty(wwsurl)&&outUrlSize!=urlSize){
|
||||||
|
deptWwsVos.get(i).setDepturl(wwsurl);
|
||||||
|
outUrlSize++;
|
||||||
|
}else {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return deptWwsVos;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String importDate(List<DklMonitoringCamera> dklMonitoringCameraList, String operName) {
|
||||||
|
//类型集合
|
||||||
|
List<SysDictData> areaDict=sysDictDataMapper.selectDictDataByType("monitoring_type");
|
||||||
|
DklMonitoringPoints dklMonitoringPoints = new DklMonitoringPoints();
|
||||||
|
dklMonitoringPoints.setDelFlag("0");
|
||||||
|
//活动集合
|
||||||
|
List<DklMonitoringPoints> dklMonitoringPointsList=dklMonitoringPointsMapper.selectDklMonitoringPointsList(dklMonitoringPoints);
|
||||||
|
if (StringUtils.isNull(dklMonitoringCameraList) || dklMonitoringCameraList.size() == 0) {
|
||||||
|
throw new ServiceException("导入数据不能为空!");
|
||||||
|
}
|
||||||
|
int successNum = 0;
|
||||||
|
int failureNum = 0;
|
||||||
|
StringBuilder successMsg = new StringBuilder();
|
||||||
|
StringBuilder failureMsg = new StringBuilder();
|
||||||
|
for (int i = 0; i < dklMonitoringCameraList.size(); i++) {
|
||||||
|
try
|
||||||
|
{
|
||||||
|
//活动名称
|
||||||
|
if (StringUtils.isEmpty(dklMonitoringCameraList.get(i).getName())){
|
||||||
|
failureNum++;
|
||||||
|
failureMsg.append("<br/> 第" + (i+1) + "条数据名称为空");
|
||||||
|
}else{
|
||||||
|
if (dklMonitoringCameraList.get(i).getName().length()>=30){
|
||||||
|
failureNum++;
|
||||||
|
failureMsg.append("<br/> 第" + (i+1) + "条数据名称长度过长");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//类型
|
||||||
|
if (StringUtils.isEmpty(dklMonitoringCameraList.get(i).getTypesName())){
|
||||||
|
failureNum++;
|
||||||
|
failureMsg.append("<br/> 第" + (i+1)+ "条数据类型为空");
|
||||||
|
}else{
|
||||||
|
if (dklMonitoringCameraList.get(i).getTypesName().length()>=30){
|
||||||
|
failureNum++;
|
||||||
|
failureMsg.append("<br/> 第" +(i+1) + "条数据类型过长");
|
||||||
|
}else{
|
||||||
|
for (SysDictData sysDictData : areaDict) {
|
||||||
|
if (sysDictData.getDictLabel().equals(dklMonitoringCameraList.get(i).getTypesName())) {
|
||||||
|
dklMonitoringCameraList.get(i).setTypes(sysDictData.getDictValue());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(dklMonitoringCameraList.get(i).getTypes())){
|
||||||
|
failureNum++;
|
||||||
|
failureMsg.append("<br/> 第" +(i+1) + "条数据类型未找到");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//经度
|
||||||
|
if (StringUtils.isEmpty(dklMonitoringCameraList.get(i).getLng())){
|
||||||
|
failureNum++;
|
||||||
|
failureMsg.append("<br/> 第" + (i+1) + "条数据经度为空");
|
||||||
|
}else{
|
||||||
|
if (dklMonitoringCameraList.get(i).getLng().length()>=30){
|
||||||
|
failureNum++;
|
||||||
|
failureMsg.append("<br/> 第" + (i+1) + "条数据经度长度过长");
|
||||||
|
}else if (!Pattern.matches(LNG_REGEX, dklMonitoringCameraList.get(i).getLng())){
|
||||||
|
failureNum++;
|
||||||
|
failureMsg.append("<br/> 第" + (i+1) + "条数据值经度有误");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//纬度
|
||||||
|
if (StringUtils.isEmpty(dklMonitoringCameraList.get(i).getLat())){
|
||||||
|
failureNum++;
|
||||||
|
failureMsg.append("<br/> 第" + (i+1) + "条数据纬度为空");
|
||||||
|
}else{
|
||||||
|
if (dklMonitoringCameraList.get(i).getLat().length()>=30){
|
||||||
|
failureNum++;
|
||||||
|
failureMsg.append("<br/> 第" + (i+1) + "条数据纬度长度过长");
|
||||||
|
}else if (!Pattern.matches(LAT_REGEX, dklMonitoringCameraList.get(i).getLat())){
|
||||||
|
failureNum++;
|
||||||
|
failureMsg.append("<br/> 第" + (i+1) + "条数据值纬度有误");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//地址
|
||||||
|
if (StringUtils.isEmpty(dklMonitoringCameraList.get(i).getAddress())){
|
||||||
|
failureNum++;
|
||||||
|
failureMsg.append("<br/> 第" + (i+1)+ "条数据地址为空");
|
||||||
|
}else{
|
||||||
|
if (dklMonitoringCameraList.get(i).getAddress().length()>=30){
|
||||||
|
failureNum++;
|
||||||
|
failureMsg.append("<br/> 第" + (i+1) + "条数据地址长度过长");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//活动
|
||||||
|
if (StringUtils.isEmpty(dklMonitoringCameraList.get(i).getPointName())){
|
||||||
|
failureNum++;
|
||||||
|
failureMsg.append("<br/> 第" + (i+1)+ "条监控点名称为空");
|
||||||
|
}else{
|
||||||
|
if (dklMonitoringCameraList.get(i).getPointName().length()>=30){
|
||||||
|
failureNum++;
|
||||||
|
failureMsg.append("<br/> 第" +(i+1) + "条监控点名称过长");
|
||||||
|
}else{
|
||||||
|
for (DklMonitoringPoints monitoringPoints : dklMonitoringPointsList) {
|
||||||
|
if (monitoringPoints.getPointName().equals(dklMonitoringCameraList.get(i).getPointName())) {
|
||||||
|
dklMonitoringCameraList.get(i).setPointsId((long) monitoringPoints.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(Collections.singleton(dklMonitoringCameraList.get(i).getPointsId()))){
|
||||||
|
failureNum++;
|
||||||
|
failureMsg.append("<br/> 第" +(i+1) + "条活动名称未找到");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
failureNum++;
|
||||||
|
String msg = "<br/>" + failureNum + "导入失败:";
|
||||||
|
failureMsg.append(msg + e.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
if (failureNum > 0)
|
||||||
|
{
|
||||||
|
failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:");
|
||||||
|
throw new ServiceException(failureMsg.toString());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for (DklMonitoringCamera dklMonitoringCamera :dklMonitoringCameraList){
|
||||||
|
//添加系统信息
|
||||||
|
dklMonitoringCamera.setDelFlag("0");
|
||||||
|
dklMonitoringCamera.setCreateTime(new Date());
|
||||||
|
dklMonitoringCamera.setCreateBy(getUsername());
|
||||||
|
dklMonitoringCamera.setDeptId(getDeptId());
|
||||||
|
dklMonitoringCamera.setUpdateTime(new Date());
|
||||||
|
dklMonitoringCamera.setUpdateBy(getUsername());
|
||||||
|
dklMonitoringCameraMapper.insertDklMonitoringCamera(dklMonitoringCamera);
|
||||||
|
}
|
||||||
|
successMsg.insert(0, "恭喜您,数据已全部导入成功!");
|
||||||
|
}
|
||||||
|
|
||||||
|
return successMsg.toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue