|
@@ -11,7 +11,10 @@ import com.ozs.common.core.domain.entity.SysDept;
|
|
import com.ozs.common.core.domain.entity.SysUser;
|
|
import com.ozs.common.core.domain.entity.SysUser;
|
|
import com.ozs.common.core.domain.model.LoginUser;
|
|
import com.ozs.common.core.domain.model.LoginUser;
|
|
import com.ozs.common.exception.base.BaseException;
|
|
import com.ozs.common.exception.base.BaseException;
|
|
|
|
+import com.ozs.common.utils.ApiTokenUtils;
|
|
import com.ozs.common.utils.AppendUtils;
|
|
import com.ozs.common.utils.AppendUtils;
|
|
|
|
+import com.ozs.common.utils.ChineseToPingyin;
|
|
|
|
+import com.ozs.common.utils.IdempotenceUtils;
|
|
import com.ozs.common.utils.StringUtils;
|
|
import com.ozs.common.utils.StringUtils;
|
|
import com.ozs.common.utils.file.FileUtils;
|
|
import com.ozs.common.utils.file.FileUtils;
|
|
import com.ozs.common.utils.http.HttpUtils;
|
|
import com.ozs.common.utils.http.HttpUtils;
|
|
@@ -22,6 +25,7 @@ import com.ozs.service.entity.BaseDeviceDynamicManagement;
|
|
import com.ozs.service.entity.BaseRailwayManagement;
|
|
import com.ozs.service.entity.BaseRailwayManagement;
|
|
import com.ozs.service.entity.CameraTree;
|
|
import com.ozs.service.entity.CameraTree;
|
|
import com.ozs.service.entity.MsgAlarm;
|
|
import com.ozs.service.entity.MsgAlarm;
|
|
|
|
+import com.ozs.service.entity.vo.BaseCameraManagementHomeVo;
|
|
import com.ozs.service.entity.vo.BaseCameraManagementVo;
|
|
import com.ozs.service.entity.vo.BaseCameraManagementVo;
|
|
import com.ozs.service.entity.vo.BaseCameraResVo;
|
|
import com.ozs.service.entity.vo.BaseCameraResVo;
|
|
import com.ozs.service.entity.vo.MsgAlarmResp;
|
|
import com.ozs.service.entity.vo.MsgAlarmResp;
|
|
@@ -54,10 +58,14 @@ import org.springframework.web.multipart.MultipartFile;
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import java.io.InputStream;
|
|
import java.io.InputStream;
|
|
|
|
+import java.text.Collator;
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
|
|
+import java.util.Collections;
|
|
|
|
+import java.util.Comparator;
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.Locale;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -86,6 +94,8 @@ public class BaseCameraManagementController extends BaseController {
|
|
private ServerConfig serverConfig;
|
|
private ServerConfig serverConfig;
|
|
@Autowired
|
|
@Autowired
|
|
private CaneraConfig caneraConfig;
|
|
private CaneraConfig caneraConfig;
|
|
|
|
+ @Autowired
|
|
|
|
+ private IdempotenceUtils idempotenceUtils;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 所有相机列表+权限
|
|
* 所有相机列表+权限
|
|
@@ -94,10 +104,62 @@ public class BaseCameraManagementController extends BaseController {
|
|
@GetMapping("/selectCameraAll")
|
|
@GetMapping("/selectCameraAll")
|
|
public AjaxResult selectCameraAll() {
|
|
public AjaxResult selectCameraAll() {
|
|
String userId = getUserId();
|
|
String userId = getUserId();
|
|
- List<BaseCameraManagement> baseCameraManagements = baseCameraManagementService.selectCameraAll(userId);
|
|
|
|
|
|
+ List<BaseCameraManagementHomeVo> baseCameraManagements = baseCameraManagementService.selectCameraAll(userId);
|
|
return AjaxResult.success(baseCameraManagements);
|
|
return AjaxResult.success(baseCameraManagements);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @PostMapping(value = "/homeGetInfo")
|
|
|
|
+ @ApiOperation("根据相机ID、是否解除 获取相机信息、未解除信息")
|
|
|
|
+ public AjaxResult homeGetInfo(@RequestBody BaseCameraManagementHomeVo baseCameraManagementHomeVo) {
|
|
|
|
+ Integer isLock = baseCameraManagementHomeVo.getIsLock();
|
|
|
|
+ Long id = baseCameraManagementHomeVo.getId();
|
|
|
|
+ String cameraCode = baseCameraManagementHomeVo.getCameraCode();
|
|
|
|
+ // isLock 报警是否解除 1已解除2未解除
|
|
|
|
+ if (!StringUtils.isEmpty(isLock) && isLock == 1 && !StringUtils.isEmpty(id)) {
|
|
|
|
+ BaseCameraManagement baseCameraManagement = baseCameraManagementService.getById(id);
|
|
|
|
+ LambdaQueryWrapper<BaseRailwayManagement> queryWrapper = new LambdaQueryWrapper<BaseRailwayManagement>();
|
|
|
|
+ if (!ObjectUtils.isEmpty(baseCameraManagement.getRailwayCode())) {
|
|
|
|
+ queryWrapper.eq(BaseRailwayManagement::getRailwayCode, baseCameraManagement.getRailwayCode());
|
|
|
|
+ }
|
|
|
|
+ BaseRailwayManagement baseRailwayManagement = baseRailwayManagementService.getOne(queryWrapper);
|
|
|
|
+ SysDept sysDept = deptService.selectDeptById(baseCameraManagement.getDeptId());
|
|
|
|
+ baseCameraManagement.setDeptName(sysDept.getDeptName());
|
|
|
|
+ baseCameraManagement.setRailwayName(baseRailwayManagement.getRailwayName());
|
|
|
|
+ String mils = AppendUtils.stringAppend(baseCameraManagement.getInstallMile());
|
|
|
|
+ baseCameraManagement.setInstallMiles(mils);
|
|
|
|
+ String end = AppendUtils.stringAppend(baseCameraManagement.getEndMile());
|
|
|
|
+ baseCameraManagement.setEndMiles(end);
|
|
|
|
+ String begin = AppendUtils.stringAppend(baseCameraManagement.getBeginMile());
|
|
|
|
+ baseCameraManagement.setBeginMiles(begin);
|
|
|
|
+ return AjaxResult.success(baseCameraManagement);
|
|
|
|
+ } else if (!StringUtils.isEmpty(isLock) && isLock == 2 && !StringUtils.isEmpty(cameraCode)) {
|
|
|
|
+ MsgAlarm msgAlarm = msgAlarmService.selectByCameraCode(cameraCode);
|
|
|
|
+ LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
|
|
|
|
+ if (!ObjectUtils.isEmpty(msgAlarm.getCameraCode())) {
|
|
|
|
+ lw.eq(BaseCameraManagement::getCameraCode, msgAlarm.getCameraCode());
|
|
|
|
+ }
|
|
|
|
+ BaseCameraManagement baseCameraManagement = baseCameraManagementService.getOne(lw);
|
|
|
|
+ LambdaQueryWrapper<BaseRailwayManagement> wrapper = new LambdaQueryWrapper<BaseRailwayManagement>();
|
|
|
|
+ if (!ObjectUtils.isEmpty(baseCameraManagement.getRailwayCode())) {
|
|
|
|
+ wrapper.eq(BaseRailwayManagement::getRailwayCode, baseCameraManagement.getRailwayCode());
|
|
|
|
+ }
|
|
|
|
+ BaseRailwayManagement baseRailwayManagement = baseRailwayManagementService.getOne(wrapper);
|
|
|
|
+ MsgAlarmResp msgAlarmResp = new MsgAlarmResp();
|
|
|
|
+ BeanUtils.copyProperties(msgAlarm, msgAlarmResp);
|
|
|
|
+ msgAlarmResp.setRailwayName(baseRailwayManagement.getRailwayName());
|
|
|
|
+ msgAlarmResp.setDeptId(baseCameraManagement.getDeptId());
|
|
|
|
+ String begin = AppendUtils.stringAppend(baseCameraManagement.getBeginMile());
|
|
|
|
+ String end = AppendUtils.stringAppend(baseCameraManagement.getEndMile());
|
|
|
|
+ String endMile=begin+"-"+end;
|
|
|
|
+ msgAlarmResp.setBeginMile(endMile);
|
|
|
|
+ String mile = AppendUtils.stringAppend(baseCameraManagement.getInstallMile());
|
|
|
|
+ msgAlarmResp.setAlarmMile(mile);
|
|
|
|
+ msgAlarmResp.setInstallLongitude(baseCameraManagement.getInstallLongitude()+","+baseCameraManagement.getInstallLatitude());
|
|
|
|
+ return AjaxResult.success(msgAlarmResp);
|
|
|
|
+ }
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 相机台账管理分页
|
|
* 相机台账管理分页
|
|
*
|
|
*
|
|
@@ -187,6 +249,11 @@ public class BaseCameraManagementController extends BaseController {
|
|
@ApiOperation("新增相机台账管理信息")
|
|
@ApiOperation("新增相机台账管理信息")
|
|
@Transactional
|
|
@Transactional
|
|
public AjaxResult saveAccountManagement(@RequestBody BaseCameraManagement baseCameraManagement) {
|
|
public AjaxResult saveAccountManagement(@RequestBody BaseCameraManagement baseCameraManagement) {
|
|
|
|
+ String idempotence = idempotenceUtils.getIdempotence(baseCameraManagement.getCameraCode());
|
|
|
|
+ if (StringUtils.isNotEmpty(idempotence)){
|
|
|
|
+ return error("你的网络卡顿,请不要一直添加!!!");
|
|
|
|
+ }
|
|
|
|
+ idempotenceUtils.createIdempotence(baseCameraManagement.getCameraCode());
|
|
LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
|
|
LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
|
|
if (!ObjectUtils.isEmpty(baseCameraManagement.getCameraCode())) {
|
|
if (!ObjectUtils.isEmpty(baseCameraManagement.getCameraCode())) {
|
|
lw.eq(BaseCameraManagement::getCameraCode, baseCameraManagement.getCameraCode());
|
|
lw.eq(BaseCameraManagement::getCameraCode, baseCameraManagement.getCameraCode());
|
|
@@ -215,8 +282,10 @@ public class BaseCameraManagementController extends BaseController {
|
|
baseCameraManagement.setStartRecording(2);
|
|
baseCameraManagement.setStartRecording(2);
|
|
}
|
|
}
|
|
if (baseCameraManagementService.save(baseCameraManagement) && baseDeviceDynamicManagementService.save(baseDynamicManagement)) {
|
|
if (baseCameraManagementService.save(baseCameraManagement) && baseDeviceDynamicManagementService.save(baseDynamicManagement)) {
|
|
|
|
+ idempotenceUtils.deleteIdempotence(baseCameraManagement.getCameraCode());
|
|
return AjaxResult.success();
|
|
return AjaxResult.success();
|
|
}
|
|
}
|
|
|
|
+ idempotenceUtils.deleteIdempotence(baseCameraManagement.getCameraCode());
|
|
return AjaxResult.error();
|
|
return AjaxResult.error();
|
|
}
|
|
}
|
|
|
|
|
|
@@ -320,7 +389,7 @@ public class BaseCameraManagementController extends BaseController {
|
|
public AjaxResult importBaseAccountManagement(MultipartFile file, boolean updateSupport) throws Exception {
|
|
public AjaxResult importBaseAccountManagement(MultipartFile file, boolean updateSupport) throws Exception {
|
|
ExcelUtil<BaseCameraManagement> util = new ExcelUtil<BaseCameraManagement>(BaseCameraManagement.class);
|
|
ExcelUtil<BaseCameraManagement> util = new ExcelUtil<BaseCameraManagement>(BaseCameraManagement.class);
|
|
List<BaseCameraManagement> AccountManageList = util.importExcel(file.getInputStream());
|
|
List<BaseCameraManagement> AccountManageList = util.importExcel(file.getInputStream());
|
|
- String message = baseCameraManagementService.importBaseAccountManagement(AccountManageList, updateSupport);
|
|
|
|
|
|
+ String message = baseCameraManagementService.importBaseAccountManagement(AccountManageList, updateSupport,getUserId());
|
|
return AjaxResult.success(message);
|
|
return AjaxResult.success(message);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -379,7 +448,7 @@ public class BaseCameraManagementController extends BaseController {
|
|
return new AjaxResult(200, "ok", CameraUtil.getPlayFlv(cameraCode, one.getChannel()));
|
|
return new AjaxResult(200, "ok", CameraUtil.getPlayFlv(cameraCode, one.getChannel()));
|
|
}
|
|
}
|
|
|
|
|
|
- @ApiOperation("播放回放")
|
|
|
|
|
|
+ @ApiOperation("播放回放-废弃")
|
|
@PostMapping("/api/invite")
|
|
@PostMapping("/api/invite")
|
|
public AjaxResult apiInvite(@Validated @RequestBody BaseCameraResVo vo) {
|
|
public AjaxResult apiInvite(@Validated @RequestBody BaseCameraResVo vo) {
|
|
LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
|
|
LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
|
|
@@ -388,7 +457,8 @@ public class BaseCameraManagementController extends BaseController {
|
|
if (ObjectUtils.isEmpty(one)) {
|
|
if (ObjectUtils.isEmpty(one)) {
|
|
throw new BaseException("相机编号【" + vo.getCameraCode() + "】不存在");
|
|
throw new BaseException("相机编号【" + vo.getCameraCode() + "】不存在");
|
|
}
|
|
}
|
|
- return success(CameraUtil.historyPlayList(one.getChannel(), vo.getStartTime(), vo.getEntTime(), caneraConfig.getMappingUrl()));
|
|
|
|
|
|
+ // CameraUtil.historyPlayList(one.getChannel(), vo.getStartTime(), vo.getEntTime(), caneraConfig.getMappingUrl())
|
|
|
|
+ return success();
|
|
}
|
|
}
|
|
|
|
|
|
@ApiOperation("播放回放")
|
|
@ApiOperation("播放回放")
|
|
@@ -420,8 +490,32 @@ public class BaseCameraManagementController extends BaseController {
|
|
public AjaxResult cameraTree(@RequestParam(value = "name", required = false) String name) {
|
|
public AjaxResult cameraTree(@RequestParam(value = "name", required = false) String name) {
|
|
CameraTree cameraTree = baseDeviceDynamicManagementService.cameraTree(name);
|
|
CameraTree cameraTree = baseDeviceDynamicManagementService.cameraTree(name);
|
|
List<CameraTree> children = cameraTree.getChildren();
|
|
List<CameraTree> children = cameraTree.getChildren();
|
|
|
|
+ children.sort(new Comparator<CameraTree>() {
|
|
|
|
+ @Override
|
|
|
|
+ public int compare(CameraTree o1, CameraTree o2) {
|
|
|
|
+ String name1 = ChineseToPingyin.convertHanziToPinyin(o1.getName());
|
|
|
|
+ String substring1 = name1.substring(0, 1);
|
|
|
|
+ String name2 = ChineseToPingyin.convertHanziToPinyin(o2.getName());
|
|
|
|
+ String substring2 = name2.substring(0, 1);
|
|
|
|
+ return substring1.compareTo(substring2);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+
|
|
for (CameraTree child : children) {
|
|
for (CameraTree child : children) {
|
|
List<CameraTree> children1 = child.getChildren();
|
|
List<CameraTree> children1 = child.getChildren();
|
|
|
|
+ children1.sort(new Comparator<CameraTree>() {
|
|
|
|
+ @Override
|
|
|
|
+ public int compare(CameraTree o1, CameraTree o2) {
|
|
|
|
+ int i= o1.getMileage() - o2.getMileage();
|
|
|
|
+ if (i==0) {
|
|
|
|
+ String[] split = o1.getName().split("-");
|
|
|
|
+ return "上行".equals(split[1])?-1:1;
|
|
|
|
+ }else {
|
|
|
|
+ return i;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ });
|
|
for (CameraTree tree : children1) {
|
|
for (CameraTree tree : children1) {
|
|
List<CameraTree> children2 = tree.getChildren();
|
|
List<CameraTree> children2 = tree.getChildren();
|
|
if (children2.size() < 2) {
|
|
if (children2.size() < 2) {
|
|
@@ -485,7 +579,7 @@ public class BaseCameraManagementController extends BaseController {
|
|
queryWrapper.orderByDesc(MsgAlarm::getCreateTime);
|
|
queryWrapper.orderByDesc(MsgAlarm::getCreateTime);
|
|
}
|
|
}
|
|
List<MsgAlarm> msgAlarmList = msgAlarmService.list(queryWrapper);
|
|
List<MsgAlarm> msgAlarmList = msgAlarmService.list(queryWrapper);
|
|
- if (msgAlarmList.size()>0) {
|
|
|
|
|
|
+ if (msgAlarmList.size() > 0) {
|
|
MsgAlarm msgAlarm = msgAlarmList.get(0);
|
|
MsgAlarm msgAlarm = msgAlarmList.get(0);
|
|
LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
|
|
LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
|
|
if (!ObjectUtils.isEmpty(cameraCode)) {
|
|
if (!ObjectUtils.isEmpty(cameraCode)) {
|
|
@@ -511,8 +605,8 @@ public class BaseCameraManagementController extends BaseController {
|
|
msgAlarmResp.setLineDir(baseCameraManagement.getLineDir());
|
|
msgAlarmResp.setLineDir(baseCameraManagement.getLineDir());
|
|
msgAlarmResp.setAlarmMile(baseCameraManagement.getInstallMile().toString());
|
|
msgAlarmResp.setAlarmMile(baseCameraManagement.getInstallMile().toString());
|
|
return AjaxResult.success(msgAlarmResp);
|
|
return AjaxResult.success(msgAlarmResp);
|
|
- }else {
|
|
|
|
- return error("该相机没有报警消息");
|
|
|
|
|
|
+ } else {
|
|
|
|
+ return error("该相机没有报警消息");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|