|
@@ -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.model.LoginUser;
|
|
|
import com.ozs.common.exception.base.BaseException;
|
|
|
+import com.ozs.common.utils.ApiTokenUtils;
|
|
|
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.file.FileUtils;
|
|
|
import com.ozs.common.utils.http.HttpUtils;
|
|
@@ -55,10 +58,14 @@ import org.springframework.web.multipart.MultipartFile;
|
|
|
import javax.annotation.Resource;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import java.io.InputStream;
|
|
|
+import java.text.Collator;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Collections;
|
|
|
+import java.util.Comparator;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
+import java.util.Locale;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
@@ -87,6 +94,8 @@ public class BaseCameraManagementController extends BaseController {
|
|
|
private ServerConfig serverConfig;
|
|
|
@Autowired
|
|
|
private CaneraConfig caneraConfig;
|
|
|
+ @Autowired
|
|
|
+ private IdempotenceUtils idempotenceUtils;
|
|
|
|
|
|
|
|
|
* 所有相机列表+权限
|
|
@@ -99,6 +108,34 @@ public class BaseCameraManagementController extends BaseController {
|
|
|
return AjaxResult.success(baseCameraManagements);
|
|
|
}
|
|
|
|
|
|
+ @PostMapping(value = "/homeGetInfo")
|
|
|
+ @ApiOperation("根据相机ID、是否解除 获取相机信息、未解除信息")
|
|
|
+ public AjaxResult homeGetInfo(@PathVariable Long id, @PathVariable Integer isLock, @PathVariable String cameraCode) {
|
|
|
+
|
|
|
+ if (!StringUtils.isEmpty(isLock) && isLock == 1) {
|
|
|
+ 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) {
|
|
|
+ MsgAlarm msgAlarm = msgAlarmService.selectByCameraCode(cameraCode);
|
|
|
+ return AjaxResult.success(msgAlarm);
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
* 相机台账管理分页
|
|
|
*
|
|
@@ -188,6 +225,11 @@ public class BaseCameraManagementController extends BaseController {
|
|
|
@ApiOperation("新增相机台账管理信息")
|
|
|
@Transactional
|
|
|
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>();
|
|
|
if (!ObjectUtils.isEmpty(baseCameraManagement.getCameraCode())) {
|
|
|
lw.eq(BaseCameraManagement::getCameraCode, baseCameraManagement.getCameraCode());
|
|
@@ -216,8 +258,10 @@ public class BaseCameraManagementController extends BaseController {
|
|
|
baseCameraManagement.setStartRecording(2);
|
|
|
}
|
|
|
if (baseCameraManagementService.save(baseCameraManagement) && baseDeviceDynamicManagementService.save(baseDynamicManagement)) {
|
|
|
+ idempotenceUtils.deleteIdempotence(baseCameraManagement.getCameraCode());
|
|
|
return AjaxResult.success();
|
|
|
}
|
|
|
+ idempotenceUtils.deleteIdempotence(baseCameraManagement.getCameraCode());
|
|
|
return AjaxResult.error();
|
|
|
}
|
|
|
|
|
@@ -422,8 +466,32 @@ public class BaseCameraManagementController extends BaseController {
|
|
|
public AjaxResult cameraTree(@RequestParam(value = "name", required = false) String name) {
|
|
|
CameraTree cameraTree = baseDeviceDynamicManagementService.cameraTree(name);
|
|
|
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) {
|
|
|
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) {
|
|
|
List<CameraTree> children2 = tree.getChildren();
|
|
|
if (children2.size() < 2) {
|
|
@@ -487,7 +555,7 @@ public class BaseCameraManagementController extends BaseController {
|
|
|
queryWrapper.orderByDesc(MsgAlarm::getCreateTime);
|
|
|
}
|
|
|
List<MsgAlarm> msgAlarmList = msgAlarmService.list(queryWrapper);
|
|
|
- if (msgAlarmList.size()>0) {
|
|
|
+ if (msgAlarmList.size() > 0) {
|
|
|
MsgAlarm msgAlarm = msgAlarmList.get(0);
|
|
|
LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
|
|
|
if (!ObjectUtils.isEmpty(cameraCode)) {
|
|
@@ -513,8 +581,8 @@ public class BaseCameraManagementController extends BaseController {
|
|
|
msgAlarmResp.setLineDir(baseCameraManagement.getLineDir());
|
|
|
msgAlarmResp.setAlarmMile(baseCameraManagement.getInstallMile().toString());
|
|
|
return AjaxResult.success(msgAlarmResp);
|
|
|
- }else {
|
|
|
- return error("该相机没有报警消息");
|
|
|
+ } else {
|
|
|
+ return error("该相机没有报警消息");
|
|
|
}
|
|
|
}
|
|
|
}
|