|
@@ -0,0 +1,766 @@
|
|
|
+package com.ozs.web.controller.accountmanagment;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.ozs.common.annotation.Log;
|
|
|
+import com.ozs.common.core.controller.BaseController;
|
|
|
+import com.ozs.common.core.domain.AjaxResult;
|
|
|
+import com.ozs.common.core.domain.entity.SysDept;
|
|
|
+import com.ozs.common.enums.BusinessType;
|
|
|
+import com.ozs.common.exception.base.BaseException;
|
|
|
+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;
|
|
|
+import com.ozs.common.utils.poi.ExcelUtil;
|
|
|
+import com.ozs.core.config.CaneraConfig;
|
|
|
+import com.ozs.core.util.CameraUtil;
|
|
|
+import com.ozs.entity.*;
|
|
|
+import com.ozs.entity.vo.*;
|
|
|
+import com.ozs.framework.config.ServerConfig;
|
|
|
+import com.ozs.service.*;
|
|
|
+import com.ozs.system.service.DataScoreUtil;
|
|
|
+import com.ozs.system.service.ISysDeptService;
|
|
|
+import io.swagger.annotations.ApiOperation;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.http.MediaType;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+import org.springframework.util.ObjectUtils;
|
|
|
+import org.springframework.validation.annotation.Validated;
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
+import org.springframework.web.multipart.MultipartFile;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
+import javax.validation.constraints.NotNull;
|
|
|
+import java.io.InputStream;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.Comparator;
|
|
|
+import java.util.List;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+/**
|
|
|
+ * <p>
|
|
|
+ * 相机台账管理表 前端控制器
|
|
|
+ * </p>
|
|
|
+ *
|
|
|
+ * @author ozs
|
|
|
+ * @since 2023-02-17
|
|
|
+ */
|
|
|
+@RestController
|
|
|
+@RequestMapping("/service/baseCameraManagement")
|
|
|
+@Slf4j
|
|
|
+public class BaseCameraManagementController extends BaseController {
|
|
|
+ public static final String PATTERN = "^[0-9]*$";
|
|
|
+ @Resource
|
|
|
+ BaseCameraManagementService baseCameraManagementService;
|
|
|
+ @Resource
|
|
|
+ BaseDeviceDynamicManagementService baseDeviceDynamicManagementService;
|
|
|
+ @Autowired
|
|
|
+ private ISysDeptService deptService;
|
|
|
+ @Autowired
|
|
|
+ private MsgAlarmService msgAlarmService;
|
|
|
+ @Autowired
|
|
|
+ private BaseRailwayManagementService baseRailwayManagementService;
|
|
|
+ @Autowired
|
|
|
+ private ServerConfig serverConfig;
|
|
|
+ @Autowired
|
|
|
+ private CaneraConfig caneraConfig;
|
|
|
+ @Autowired
|
|
|
+ private IdempotenceUtils idempotenceUtils;
|
|
|
+ @Autowired
|
|
|
+ private DataScoreUtil dataScoreUtil;
|
|
|
+ @Resource
|
|
|
+ private BaseUserService baseUserService;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 所有相机列表+权限
|
|
|
+ */
|
|
|
+ @ApiOperation(value = "相机台账管理")
|
|
|
+ @GetMapping("/selectCameraAll")
|
|
|
+ @Log(title = "相机台账管理", businessType = BusinessType.SELECT)
|
|
|
+ public AjaxResult selectCameraAll() {
|
|
|
+ BaseCameraManagementVo baseCameraManagementVo = (BaseCameraManagementVo) dataScoreUtil.setDataScore(getUserId(), new BaseCameraManagementVo());
|
|
|
+ List<BaseCameraManagementHomeVo> baseCameraManagements = baseCameraManagementService.selectCameraAll(baseCameraManagementVo);
|
|
|
+ return AjaxResult.success(baseCameraManagements);
|
|
|
+ }
|
|
|
+
|
|
|
+ @PostMapping(value = "/homeGetInfo")
|
|
|
+ @ApiOperation("根据相机ID、是否解除 获取相机信息、未解除信息")
|
|
|
+ @Log(title = "相机台账管理", businessType = BusinessType.SELECT)
|
|
|
+ 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());
|
|
|
+ String[] split = msgAlarm.getImageUrl().split(";");
|
|
|
+ ArrayList<String> objects = new ArrayList<>(Arrays.asList(split));
|
|
|
+ msgAlarmResp.setImageUrls(objects);
|
|
|
+ return AjaxResult.success(msgAlarmResp);
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 相机台账管理分页
|
|
|
+ *
|
|
|
+ * @param baseCameraManagementVo
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @ApiOperation(value = "相机台账管理分页")
|
|
|
+ @PostMapping("/list")
|
|
|
+ @Log(title = "相机台账管理", businessType = BusinessType.SELECT)
|
|
|
+ public AjaxResult selectBaseAccountManagement(@RequestBody BaseCameraManagementVo baseCameraManagementVo) {
|
|
|
+ baseCameraManagementVo = (BaseCameraManagementVo) dataScoreUtil.setDataScore(getUserId(), baseCameraManagementVo);
|
|
|
+ if (!ObjectUtils.isEmpty(baseCameraManagementVo.getBeginMile())) {
|
|
|
+ if (!baseCameraManagementVo.getBeginMile().toString().matches(PATTERN)) {
|
|
|
+ return error("监控范围开始里程位置填写格式不正确");
|
|
|
+ } else {
|
|
|
+ baseCameraManagementVo.setBeginMile(baseCameraManagementVo.getBeginMile() * 1000);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!ObjectUtils.isEmpty(baseCameraManagementVo.getEndMile())) {
|
|
|
+ if (!baseCameraManagementVo.getEndMile().toString().matches(PATTERN)) {
|
|
|
+ return error("监控范围结束里程位置填写格式不正确");
|
|
|
+ } else {
|
|
|
+ baseCameraManagementVo.setEndMile(baseCameraManagementVo.getEndMile() * 1000);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ IPage<BaseCameraManagement> page = baseCameraManagementService.queryPage(baseCameraManagementVo);
|
|
|
+ page.setTotal(page.getTotal());
|
|
|
+ page.setCurrent(page.getCurrent());
|
|
|
+ page.setPages(page.getPages());
|
|
|
+ List<String> roleKey = baseUserService.getRoleName(getUserId());
|
|
|
+ BaseUser baseUser = baseUserService.getUser(getUserId());
|
|
|
+ if (!ObjectUtils.isEmpty(page) && page.getRecords().size() > 0) {
|
|
|
+ List<BaseCameraManagement> dto1 = page.getRecords().stream().map(o -> {
|
|
|
+ LambdaQueryWrapper<BaseRailwayManagement> queryWrapper = new LambdaQueryWrapper<BaseRailwayManagement>();
|
|
|
+ if (!ObjectUtils.isEmpty(o.getRailwayCode())) {
|
|
|
+ queryWrapper.eq(BaseRailwayManagement::getRailwayCode, o.getRailwayCode());
|
|
|
+ }
|
|
|
+ BaseRailwayManagement baseRailwayManagement = baseRailwayManagementService.getOne(queryWrapper);
|
|
|
+ SysDept sysDept = deptService.selectDeptById(o.getDeptId());
|
|
|
+ o.setDeptName(sysDept.getDeptName());
|
|
|
+ o.setRailwayName(baseRailwayManagement.getRailwayName());
|
|
|
+ String mils = AppendUtils.stringAppend(o.getInstallMile());
|
|
|
+ o.setInstallMiles(mils);
|
|
|
+ String end = AppendUtils.stringAppend(o.getEndMile());
|
|
|
+ o.setEndMiles(end);
|
|
|
+ String begin = AppendUtils.stringAppend(o.getBeginMile());
|
|
|
+ o.setBeginMiles(begin);
|
|
|
+ if (roleKey.size() > 0 || "admin".equals(baseUser.getUserName())) {
|
|
|
+ o.setIsStartRecording(1);
|
|
|
+ for (String s : roleKey) {
|
|
|
+ if ("admin".equals(s) || "admin".equals(baseUser.getUserName())) {
|
|
|
+ o.setIsStartRecording(1);
|
|
|
+ break;
|
|
|
+ } else {
|
|
|
+ o.setIsStartRecording(2);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return o;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ page.setRecords(dto1);
|
|
|
+ }
|
|
|
+ return AjaxResult.success(page);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 删除相机台账管理信息
|
|
|
+ *
|
|
|
+ * @param accountManagementIds
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @DeleteMapping("/{accountManagementIds}")
|
|
|
+ @ApiOperation("删除相机台账管理信息")
|
|
|
+ @Log(title = "相机台账管理", businessType = BusinessType.DELETE)
|
|
|
+ @Transactional
|
|
|
+ public AjaxResult removeAccountManagement(@PathVariable List<Long> accountManagementIds) {
|
|
|
+ for (Long accountManagementId : accountManagementIds) {
|
|
|
+ LambdaQueryWrapper<BaseDeviceDynamicManagement> queryWrapper = new LambdaQueryWrapper<BaseDeviceDynamicManagement>();
|
|
|
+ BaseCameraManagement baseCameraManagement = baseCameraManagementService.getById(accountManagementId);
|
|
|
+ if (!ObjectUtils.isEmpty(baseCameraManagement.getCameraCode())) {
|
|
|
+ queryWrapper.eq(BaseDeviceDynamicManagement::getCameraCode, baseCameraManagement.getCameraCode());
|
|
|
+ }
|
|
|
+ baseDeviceDynamicManagementService.remove(queryWrapper);
|
|
|
+ baseCameraManagementService.removeById(accountManagementId);
|
|
|
+ }
|
|
|
+ return AjaxResult.success();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 新增相机台账管理信息
|
|
|
+ *
|
|
|
+ * @param baseCameraManagement
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @PostMapping("/saveAccountManagement")
|
|
|
+ @ApiOperation("新增相机台账管理信息")
|
|
|
+ @Transactional
|
|
|
+ @Log(title = "相机台账管理", businessType = BusinessType.INSERT)
|
|
|
+ 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());
|
|
|
+ }
|
|
|
+ BaseCameraManagement cameraManagement = baseCameraManagementService.getOne(lw);
|
|
|
+ if (!ObjectUtils.isEmpty(cameraManagement)) {
|
|
|
+ idempotenceUtils.deleteIdempotence(baseCameraManagement.getCameraCode());
|
|
|
+ return error("相机台账管理信息相机编码已存在,不能重复添加");
|
|
|
+ }
|
|
|
+ LambdaQueryWrapper<BaseDeviceDynamicManagement> queryWrapper = new LambdaQueryWrapper<BaseDeviceDynamicManagement>();
|
|
|
+ if (!ObjectUtils.isEmpty(baseCameraManagement.getCameraCode())) {
|
|
|
+ queryWrapper.eq(BaseDeviceDynamicManagement::getCameraCode, baseCameraManagement.getCameraCode());
|
|
|
+ }
|
|
|
+ BaseDeviceDynamicManagement one = baseDeviceDynamicManagementService.getOne(queryWrapper);
|
|
|
+ if (!ObjectUtils.isEmpty(one)) {
|
|
|
+ idempotenceUtils.deleteIdempotence(baseCameraManagement.getCameraCode());
|
|
|
+ return error("设备动态管理表该相机编码已存在,不能重复添加");
|
|
|
+ }
|
|
|
+ if (!baseCameraManagement.getBeginMile().toString().matches(PATTERN)) {
|
|
|
+ idempotenceUtils.deleteIdempotence(baseCameraManagement.getCameraCode());
|
|
|
+ return error("监控范围开始里程位置填写格式不正确");
|
|
|
+ }
|
|
|
+ if (!baseCameraManagement.getInstallMile().toString().matches(PATTERN)) {
|
|
|
+ idempotenceUtils.deleteIdempotence(baseCameraManagement.getCameraCode());
|
|
|
+ return error("监控相机安装里程位置填写格式不正确");
|
|
|
+ }
|
|
|
+ if (!baseCameraManagement.getEndMile().toString().matches(PATTERN)) {
|
|
|
+ idempotenceUtils.deleteIdempotence(baseCameraManagement.getCameraCode());
|
|
|
+ return error("监控范围结束里程位置填写格式不正确");
|
|
|
+ }
|
|
|
+ baseCameraManagement.setBeginMile(baseCameraManagement.getBeginMile() * 1000);
|
|
|
+ baseCameraManagement.setInstallMile(baseCameraManagement.getInstallMile() * 1000);
|
|
|
+ baseCameraManagement.setEndMile(baseCameraManagement.getEndMile() * 1000);
|
|
|
+ if (baseCameraManagement.getBeginMile() > baseCameraManagement.getEndMile()) {
|
|
|
+ return error("监控范围开始里程位置不能大于监控范围结束里程位置");
|
|
|
+ }
|
|
|
+ baseCameraManagement.setCreateBy(getUserId());
|
|
|
+ baseCameraManagement.setUpdateBy(getUserId());
|
|
|
+ BaseDeviceDynamicManagement baseDynamicManagement = new BaseDeviceDynamicManagement();
|
|
|
+ baseDynamicManagement.setCameraCode(baseCameraManagement.getCameraCode());
|
|
|
+ baseDynamicManagement.setUpdateBy(getUserId());
|
|
|
+ baseDynamicManagement.setCreateBy(getUserId());
|
|
|
+ String start = HttpUtils.sendGet(CameraUtil.startRecording(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel()));
|
|
|
+ if (start.startsWith(baseCameraManagement.getCameraCode() + "/" + baseCameraManagement.getChannel())) {
|
|
|
+ baseCameraManagement.setStartRecording(1);
|
|
|
+ baseCameraManagement.setTaskId(start);
|
|
|
+ } else {
|
|
|
+ baseCameraManagement.setStartRecording(2);
|
|
|
+ }
|
|
|
+ if (baseCameraManagementService.save(baseCameraManagement) && baseDeviceDynamicManagementService.save(baseDynamicManagement)) {
|
|
|
+ idempotenceUtils.deleteIdempotence(baseCameraManagement.getCameraCode());
|
|
|
+ return AjaxResult.success();
|
|
|
+ }
|
|
|
+ idempotenceUtils.deleteIdempotence(baseCameraManagement.getCameraCode());
|
|
|
+ return AjaxResult.error();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 修改相机台账管理信息
|
|
|
+ *
|
|
|
+ * @param baseCameraManagement
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @PutMapping("/editAccountManagement")
|
|
|
+ @ApiOperation("修改相机台账管理信息")
|
|
|
+ @Log(title = "相机台账管理", businessType = BusinessType.UPDATE)
|
|
|
+ public AjaxResult editAccountManagement(@RequestBody BaseCameraManagement baseCameraManagement) {
|
|
|
+ LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
|
|
|
+ if (!ObjectUtils.isEmpty(baseCameraManagement.getCameraCode())) {
|
|
|
+ lw.eq(BaseCameraManagement::getCameraCode, baseCameraManagement.getCameraCode());
|
|
|
+ }
|
|
|
+ BaseCameraManagement cameraManagement = baseCameraManagementService.getOne(lw);
|
|
|
+ if (!ObjectUtils.isEmpty(cameraManagement) && !cameraManagement.getId().equals(baseCameraManagement.getId())) {
|
|
|
+ return error("相机编码已存在,不能进行修改操作");
|
|
|
+ }
|
|
|
+ if (!baseCameraManagement.getBeginMile().toString().matches(PATTERN)) {
|
|
|
+ return error("监控范围开始里程位置填写格式不正确");
|
|
|
+ }
|
|
|
+ if (!baseCameraManagement.getInstallMile().toString().matches(PATTERN)) {
|
|
|
+ return error("监控相机安装里程位置填写格式不正确");
|
|
|
+ }
|
|
|
+ if (!baseCameraManagement.getEndMile().toString().matches(PATTERN)) {
|
|
|
+ return error("监控范围结束里程位置填写格式不正确");
|
|
|
+ }
|
|
|
+ baseCameraManagement.setBeginMile(baseCameraManagement.getBeginMile() * 1000);
|
|
|
+ baseCameraManagement.setInstallMile(baseCameraManagement.getInstallMile() * 1000);
|
|
|
+ baseCameraManagement.setEndMile(baseCameraManagement.getEndMile() * 1000);
|
|
|
+ baseCameraManagement.setUpdateBy(getUserId());
|
|
|
+ LambdaQueryWrapper<BaseDeviceDynamicManagement> queryWrapper = new LambdaQueryWrapper<BaseDeviceDynamicManagement>();
|
|
|
+ BaseCameraManagement management = baseCameraManagementService.getById(baseCameraManagement.getId());
|
|
|
+ if (!ObjectUtils.isEmpty(management.getCameraCode())) {
|
|
|
+ queryWrapper.eq(BaseDeviceDynamicManagement::getCameraCode, management.getCameraCode());
|
|
|
+ }
|
|
|
+ BaseDeviceDynamicManagement one = baseDeviceDynamicManagementService.getOne(queryWrapper);
|
|
|
+ if (ObjectUtils.isEmpty(one)) {
|
|
|
+ return error("设备动态管理表没有该相机编码");
|
|
|
+ }
|
|
|
+ one.setCameraCode(baseCameraManagement.getCameraCode());
|
|
|
+ if (baseCameraManagementService.updateById(baseCameraManagement) && baseDeviceDynamicManagementService.updateById(one)) {
|
|
|
+ return AjaxResult.success();
|
|
|
+ }
|
|
|
+ return AjaxResult.error();
|
|
|
+ }
|
|
|
+
|
|
|
+ @GetMapping(value = "/{id}")
|
|
|
+ @ApiOperation("根据相机ID获取相机台账管理信息")
|
|
|
+ @Log(title = "相机台账管理", businessType = BusinessType.MESSAGE)
|
|
|
+ public AjaxResult getInfo(@PathVariable Long 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);
|
|
|
+ }
|
|
|
+
|
|
|
+ @GetMapping("/getDate/{cameraCode}")
|
|
|
+ @ApiOperation("视频上方显示的数据")
|
|
|
+ @Log(title = "相机台账管理", businessType = BusinessType.OTHER)
|
|
|
+ public AjaxResult getDate(@PathVariable String cameraCode) {
|
|
|
+ LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
|
|
|
+ if (!ObjectUtils.isEmpty(cameraCode)) {
|
|
|
+ lw.eq(BaseCameraManagement::getCameraCode, cameraCode);
|
|
|
+ }
|
|
|
+ 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);
|
|
|
+ if (ObjectUtils.isEmpty(baseRailwayManagement)) {
|
|
|
+ return error("线路表中没有该线路编码:" + baseCameraManagement.getRailwayCode() + "的数据");
|
|
|
+ }
|
|
|
+ LambdaQueryWrapper<BaseDeviceDynamicManagement> queryWrapper = new LambdaQueryWrapper<BaseDeviceDynamicManagement>();
|
|
|
+ if (!ObjectUtils.isEmpty(baseCameraManagement.getCameraCode())) {
|
|
|
+ queryWrapper.eq(BaseDeviceDynamicManagement::getCameraCode, baseCameraManagement.getCameraCode());
|
|
|
+ }
|
|
|
+ BaseDeviceDynamicManagement baseDeviceDynamicManagement = baseDeviceDynamicManagementService.getOne(queryWrapper);
|
|
|
+ if (ObjectUtils.isEmpty(baseRailwayManagement)) {
|
|
|
+ return error("设备动态管理表中没有该相机编码:" + baseCameraManagement.getCameraCode() + "的数据");
|
|
|
+ }
|
|
|
+ LambdaQueryWrapper<MsgAlarm> wrapper1 = new LambdaQueryWrapper<MsgAlarm>();
|
|
|
+ if (!ObjectUtils.isEmpty(baseCameraManagement.getCameraCode())) {
|
|
|
+ wrapper1.eq(MsgAlarm::getCameraCode, baseCameraManagement.getCameraCode());
|
|
|
+ wrapper1.orderByDesc(MsgAlarm::getAlarmTime);
|
|
|
+ }
|
|
|
+ List<MsgAlarm> list1 = msgAlarmService.list(wrapper1);
|
|
|
+ List<Object> list = new ArrayList<>();
|
|
|
+ list.add(baseRailwayManagement.getRailwayName());
|
|
|
+ list.add(AppendUtils.stringAppend(baseCameraManagement.getInstallMile()));
|
|
|
+ list.add(baseCameraManagement.getLineDir());
|
|
|
+ list.add(baseCameraManagement.getCameraCode());
|
|
|
+ list.add(baseDeviceDynamicManagement.getElectricity());
|
|
|
+ if (list1.size() <= 0) {
|
|
|
+ list.add(1);
|
|
|
+ } else {
|
|
|
+ MsgAlarm msgAlarm = list1.get(0);
|
|
|
+ list.add(msgAlarm.getIsLock());
|
|
|
+ }
|
|
|
+ return AjaxResult.success(list);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 台账管理导入
|
|
|
+ *
|
|
|
+ * @param file
|
|
|
+ * @param updateSupport
|
|
|
+ * @return
|
|
|
+ * @throws Exception
|
|
|
+ */
|
|
|
+ @ApiOperation("相机台账管理信息导入")
|
|
|
+ @PostMapping("/importBaseAccountManagement")
|
|
|
+ @Log(title = "相机台账管理", businessType = BusinessType.IMPORT)
|
|
|
+ public AjaxResult importBaseAccountManagement(MultipartFile file, boolean updateSupport) throws Exception {
|
|
|
+ ExcelUtil<BaseCameraManagementVos> util = new ExcelUtil<BaseCameraManagementVos>(BaseCameraManagementVos.class);
|
|
|
+ List<BaseCameraManagementVos> accountManageList = util.importExcel(file.getInputStream());
|
|
|
+ String message = baseCameraManagementService.importBaseAccountManagement(accountManageList, updateSupport, getUserId());
|
|
|
+ return AjaxResult.success(message);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 导出台账管理
|
|
|
+ *
|
|
|
+ * @param response
|
|
|
+ */
|
|
|
+ @ApiOperation("导出相机台账管理信息")
|
|
|
+ @PostMapping("/exportBaseAccountManagement")
|
|
|
+ @Log(title = "相机台账管理", businessType = BusinessType.EXPORT)
|
|
|
+ public void exportBaseAccountManagement(HttpServletResponse response, @RequestBody BaseCameraManagementVo baseCameraManagementVo) {
|
|
|
+ baseCameraManagementVo = (BaseCameraManagementVo) dataScoreUtil.setDataScore(getUserId(), baseCameraManagementVo);
|
|
|
+ if (!ObjectUtils.isEmpty(baseCameraManagementVo.getBeginMile())) {
|
|
|
+ baseCameraManagementVo.setBeginMile(baseCameraManagementVo.getBeginMile() * 1000);
|
|
|
+ }
|
|
|
+ if (!ObjectUtils.isEmpty(baseCameraManagementVo.getEndMile())) {
|
|
|
+ baseCameraManagementVo.setEndMile(baseCameraManagementVo.getEndMile() * 1000);
|
|
|
+ }
|
|
|
+ List<BaseCameraManagement> baseCameraManagementList = baseCameraManagementService.baseCameraManagementList(baseCameraManagementVo);
|
|
|
+ for (BaseCameraManagement baseCameraManagement : baseCameraManagementList) {
|
|
|
+ SysDept sysDept = deptService.selectDeptById(baseCameraManagement.getDeptId());
|
|
|
+ baseCameraManagement.setDeptName(sysDept.getDeptName());
|
|
|
+ LambdaQueryWrapper<BaseRailwayManagement> queryWrapper = new LambdaQueryWrapper<BaseRailwayManagement>();
|
|
|
+ if (!ObjectUtils.isEmpty(baseCameraManagement.getRailwayCode())) {
|
|
|
+ queryWrapper.eq(BaseRailwayManagement::getRailwayCode, baseCameraManagement.getRailwayCode());
|
|
|
+ }
|
|
|
+ BaseRailwayManagement baseRailwayManagement = baseRailwayManagementService.getOne(queryWrapper);
|
|
|
+ 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);
|
|
|
+ }
|
|
|
+ ExcelUtil<BaseCameraManagement> util = new ExcelUtil<>(BaseCameraManagement.class);
|
|
|
+ util.exportExcel(response, baseCameraManagementList, "台账管理相机数据");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @ApiOperation("相机台账管理信息模板下载")
|
|
|
+ @GetMapping("/downloaExcel")
|
|
|
+ @Log(title = "相机台账管理", businessType = BusinessType.OTHER)
|
|
|
+ public void downloadZip(HttpServletResponse response) {
|
|
|
+ try {
|
|
|
+ InputStream resourceAsStream = this.getClass().getResourceAsStream("/template/baseCameraManagement.xlsx");
|
|
|
+ response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
|
|
|
+ FileUtils.setAttachmentResponseHeader(response, "相机台账管理信息模板.xlsx");
|
|
|
+ FileUtils.writeBytesByInput(resourceAsStream, response.getOutputStream());
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("下载文件失败", e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @ApiOperation("查询录像")
|
|
|
+ @GetMapping("/api/records/{cameraCode}")
|
|
|
+ @Log(title = "相机台账管理", businessType = BusinessType.OTHER)
|
|
|
+ public AjaxResult apiRecords(@PathVariable @NotNull(message = "相机编码不能为空") String cameraCode) {
|
|
|
+ LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
|
|
|
+ lw.eq(BaseCameraManagement::getCameraCode, cameraCode);
|
|
|
+ BaseCameraManagement one = baseCameraManagementService.getOne(lw);
|
|
|
+ if (ObjectUtils.isEmpty(one)) {
|
|
|
+ throw new BaseException("相机编号【" + cameraCode + "】不存在");
|
|
|
+ }
|
|
|
+ return new AjaxResult(200, "ok", CameraUtil.getPlayFlv(cameraCode, one.getChannel()));
|
|
|
+ }
|
|
|
+
|
|
|
+ @ApiOperation("查询录像")
|
|
|
+ @GetMapping("/api/records/{cameraCode}/{flay}")
|
|
|
+ @Log(title = "相机台账管理", businessType = BusinessType.OTHER)
|
|
|
+ public AjaxResult apiRecords(@PathVariable @NotNull(message = "相机编码不能为空") String cameraCode,
|
|
|
+ @PathVariable @NotNull(message = "条件不能为空") boolean flay) {
|
|
|
+ LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
|
|
|
+ lw.eq(BaseCameraManagement::getCameraCode, cameraCode);
|
|
|
+ BaseCameraManagement one = baseCameraManagementService.getOne(lw);
|
|
|
+ if (ObjectUtils.isEmpty(one)) {
|
|
|
+ throw new BaseException("相机编号【" + cameraCode + "】不存在");
|
|
|
+ }
|
|
|
+ return new AjaxResult(200, "ok", CameraUtil.getPlayFlv(cameraCode, one.getChannel(), flay));
|
|
|
+ }
|
|
|
+
|
|
|
+ @ApiOperation("批量查询录像")
|
|
|
+ @GetMapping("/api/recordsList")
|
|
|
+ @Log(title = "相机台账管理", businessType = BusinessType.OTHER)
|
|
|
+ public AjaxResult apiRecordsList(@RequestBody
|
|
|
+ @NotNull(message = "相机编码不能为空")
|
|
|
+ List<String> cameraCodes) {
|
|
|
+ List<String> list = new ArrayList<>();
|
|
|
+ for (String cameraCode : cameraCodes) {
|
|
|
+ LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
|
|
|
+ lw.eq(BaseCameraManagement::getCameraCode, cameraCode);
|
|
|
+ BaseCameraManagement one = baseCameraManagementService.getOne(lw);
|
|
|
+ if (ObjectUtils.isEmpty(one)) {
|
|
|
+ throw new BaseException("相机编号【" + cameraCode + "】不存在");
|
|
|
+ }
|
|
|
+ String playFlv = null;
|
|
|
+ if (list.size() > 5) {
|
|
|
+ playFlv = CameraUtil.getPlayFlv(cameraCode, one.getChannel(), false);
|
|
|
+ } else {
|
|
|
+ playFlv = CameraUtil.getPlayFlv(cameraCode, one.getChannel());
|
|
|
+ }
|
|
|
+ list.add(playFlv);
|
|
|
+ }
|
|
|
+
|
|
|
+ return new AjaxResult(200, "ok", list);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @ApiOperation("播放回放-废弃")
|
|
|
+ @PostMapping("/api/invite")
|
|
|
+ public AjaxResult apiInvite(@Validated @RequestBody BaseCameraResVo vo) {
|
|
|
+ LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
|
|
|
+ lw.eq(BaseCameraManagement::getCameraCode, vo.getCameraCode());
|
|
|
+ BaseCameraManagement one = baseCameraManagementService.getOne(lw);
|
|
|
+ if (ObjectUtils.isEmpty(one)) {
|
|
|
+ throw new BaseException("相机编号【" + vo.getCameraCode() + "】不存在");
|
|
|
+ }
|
|
|
+ // CameraUtil.historyPlayList(one.getChannel(), vo.getStartTime(), vo.getEntTime(), caneraConfig.getMappingUrl())
|
|
|
+ return success();
|
|
|
+ }
|
|
|
+
|
|
|
+ @ApiOperation("播放回放")
|
|
|
+ @PostMapping("/api/play")
|
|
|
+ @Log(title = "相机台账管理", businessType = BusinessType.OTHER)
|
|
|
+ public AjaxResult play(@Validated @RequestBody BaseCameraResVo vo) {
|
|
|
+ LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
|
|
|
+ lw.eq(BaseCameraManagement::getCameraCode, vo.getCameraCode());
|
|
|
+ BaseCameraManagement one = baseCameraManagementService.getOne(lw);
|
|
|
+ if (ObjectUtils.isEmpty(one)) {
|
|
|
+ throw new BaseException("相机编号【" + vo.getCameraCode() + "】不存在");
|
|
|
+ }
|
|
|
+ String path = CameraUtil.historyPlayListStr(one.getChannel(), vo.getStartTime(), vo.getEntTime());
|
|
|
+ if (org.apache.commons.lang3.StringUtils.isBlank(path)) {
|
|
|
+ throw new BaseException("当前相机无视频录像");
|
|
|
+ }
|
|
|
+ return new AjaxResult(200, "ok", serverConfig.getUrl() + path);
|
|
|
+// return success(CameraUtil.historyPlayList(one.getChannel(), vo.getStartTime(), vo.getEntTime()));
|
|
|
+ }
|
|
|
+
|
|
|
+ @ApiOperation("视频服务设备数量")
|
|
|
+ @GetMapping("/totalNumberOfDevices")
|
|
|
+ @Log(title = "相机台账管理", businessType = BusinessType.OTHER)
|
|
|
+ public AjaxResult totalNumberOfDevices() {
|
|
|
+ long count = baseCameraManagementService.count();
|
|
|
+ return success(count);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 视频服务树形结构
|
|
|
+ *
|
|
|
+ * @param
|
|
|
+ * @param
|
|
|
+ * @param
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @ApiOperation("视频服务树形结构")
|
|
|
+ @PostMapping("/cameraTree")
|
|
|
+ @Log(title = "相机台账管理", businessType = BusinessType.OTHER)
|
|
|
+ public AjaxResult cameraTree(@RequestBody CameraTreeVo cameraTreeVo) {
|
|
|
+ cameraTreeVo = (CameraTreeVo) dataScoreUtil.setDataScore(getUserId(), cameraTreeVo);
|
|
|
+ int count = 0;
|
|
|
+ if (!ObjectUtils.isEmpty(cameraTreeVo.getMils())) {
|
|
|
+ cameraTreeVo.setMils(cameraTreeVo.getMils()*1000);
|
|
|
+ }
|
|
|
+ CameraTree cameraTree = baseDeviceDynamicManagementService.cameraTree(cameraTreeVo);
|
|
|
+ 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) {
|
|
|
+ String code = children2.get(0).getCode();
|
|
|
+ tree.setCode(code);
|
|
|
+ children2.remove(0);
|
|
|
+ } else {
|
|
|
+ for (CameraTree cameraTree1 : children2) {
|
|
|
+ count = count + 1;
|
|
|
+ cameraTree1.setName("相机" + count);
|
|
|
+ }
|
|
|
+ count = 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return success(cameraTree);
|
|
|
+ }
|
|
|
+
|
|
|
+ @ApiOperation("关闭视频录制")
|
|
|
+ @GetMapping("/endRecording/{id}")
|
|
|
+ @Log(title = "相机台账管理", businessType = BusinessType.OTHER)
|
|
|
+ public AjaxResult endRecording(@PathVariable Long id) {
|
|
|
+ BaseCameraManagement baseCameraManagement = baseCameraManagementService.getById(id);
|
|
|
+ if (ObjectUtils.isEmpty(baseCameraManagement)) {
|
|
|
+ return error("查不到该ID的相机台账数据!!!");
|
|
|
+ }
|
|
|
+ log.info("endRecording------------" + baseCameraManagement.getTaskId());
|
|
|
+ String start = HttpUtils.sendGet(CameraUtil.endRecording(baseCameraManagement.getTaskId()));
|
|
|
+ log.info("endRecording------------" + start);
|
|
|
+ if ("success".equals(start)) {
|
|
|
+ baseCameraManagement.setStartRecording(2);
|
|
|
+ baseCameraManagement.setTaskId("");
|
|
|
+ baseCameraManagement.setUpdateBy(getUserId());
|
|
|
+ } else {
|
|
|
+ baseCameraManagement.setStartRecording(2);
|
|
|
+ baseCameraManagement.setTaskId("");
|
|
|
+ baseCameraManagement.setUpdateBy(getUserId());
|
|
|
+ log.error("关闭视频录制异常日志如下:" + start);
|
|
|
+ }
|
|
|
+ if (baseCameraManagementService.updateById(baseCameraManagement)) {
|
|
|
+ return success();
|
|
|
+ }
|
|
|
+ return error();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @ApiOperation("开启视频录制")
|
|
|
+ @GetMapping("/startRecording/{id}")
|
|
|
+ @Log(title = "相机台账管理", businessType = BusinessType.OTHER)
|
|
|
+ public AjaxResult startRecording(@PathVariable Long id) {
|
|
|
+ BaseCameraManagement baseCameraManagement = baseCameraManagementService.getById(id);
|
|
|
+ log.info("startRecording------CameraCode------" + baseCameraManagement.getCameraCode());
|
|
|
+ log.info("startRecording------Channel------" + baseCameraManagement.getChannel());
|
|
|
+ String start = HttpUtils.sendGet(CameraUtil.startRecording(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel()));
|
|
|
+ log.info("startRecording------------" + start);
|
|
|
+ if (start.startsWith(baseCameraManagement.getCameraCode() + "/" + baseCameraManagement.getChannel())) {
|
|
|
+ log.info("startRecording 返回成功!!1");
|
|
|
+ baseCameraManagement.setStartRecording(1);
|
|
|
+ baseCameraManagement.setTaskId(start);
|
|
|
+ baseCameraManagement.setUpdateBy(getUserId());
|
|
|
+ } else {
|
|
|
+ return success("开启视频录制失败:请确认流是否存在或流是否开启");
|
|
|
+ }
|
|
|
+ if (baseCameraManagementService.updateById(baseCameraManagement)) {
|
|
|
+ return success();
|
|
|
+ } else {
|
|
|
+ return error("开启视频录制失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @GetMapping(value = "/getAlarm/{cameraCode}")
|
|
|
+ @ApiOperation("根据视频ID获取详细信息")
|
|
|
+ @Log(title = "相机台账管理", businessType = BusinessType.MESSAGE)
|
|
|
+ public AjaxResult getAlarm(@PathVariable String cameraCode) {
|
|
|
+ LambdaQueryWrapper<BaseCameraManagement> queryWrapper = new LambdaQueryWrapper<BaseCameraManagement>();
|
|
|
+ if (!ObjectUtils.isEmpty(cameraCode)) {
|
|
|
+ queryWrapper.eq(BaseCameraManagement::getCameraCode, cameraCode);
|
|
|
+ }
|
|
|
+ BaseCameraManagement baseCameraManagement = baseCameraManagementService.getOne(queryWrapper);
|
|
|
+ if (!ObjectUtils.isEmpty(baseCameraManagement)) {
|
|
|
+ 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();
|
|
|
+ LambdaQueryWrapper<MsgAlarm> wrapper1 = new LambdaQueryWrapper<MsgAlarm>();
|
|
|
+ if (!ObjectUtils.isEmpty(baseCameraManagement.getCameraCode())) {
|
|
|
+ wrapper1.eq(MsgAlarm::getCameraCode, baseCameraManagement.getCameraCode());
|
|
|
+ wrapper1.orderByDesc(MsgAlarm::getCreateTime);
|
|
|
+ }
|
|
|
+ List<MsgAlarm> list = msgAlarmService.list(wrapper1);
|
|
|
+ if (list.size() > 0) {
|
|
|
+ MsgAlarm msgAlarm = list.get(0);
|
|
|
+ if (StringUtils.isNotEmpty(msgAlarm.getReleasedBy())) {
|
|
|
+ BaseUser user = baseUserService.getUser(msgAlarm.getReleasedBy());
|
|
|
+ msgAlarm.setReleasedByName(user.getNickName());
|
|
|
+ }
|
|
|
+ msgAlarmResp.setAlarmType(msgAlarm.getAlarmType());
|
|
|
+ msgAlarmResp.setIsLock(msgAlarm.getIsLock());
|
|
|
+ msgAlarmResp.setReleasedTime(msgAlarm.getReleasedTime());
|
|
|
+ msgAlarmResp.setAlarmTime(msgAlarm.getAlarmTime());
|
|
|
+ msgAlarmResp.setReleasedType(msgAlarm.getReleasedType());
|
|
|
+ msgAlarmResp.setReleasedReason(msgAlarm.getReleasedReason());
|
|
|
+ msgAlarmResp.setAlarmAttr(msgAlarm.getAlarmAttr());
|
|
|
+ msgAlarmResp.setContent(msgAlarm.getContent());
|
|
|
+ msgAlarmResp.setReleasedByName(msgAlarm.getReleasedByName());
|
|
|
+ if (!StringUtils.isEmpty(msgAlarm.getImageUrl())) {
|
|
|
+ String[] split = msgAlarm.getImageUrl().split(";");
|
|
|
+ ArrayList<String> objects = new ArrayList<>(Arrays.asList(split));
|
|
|
+ log.info("publish--------" + objects);
|
|
|
+ msgAlarmResp.setImageUrls(objects);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ BeanUtils.copyProperties(baseCameraManagement, 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());
|
|
|
+ msgAlarmResp.setLineDir(baseCameraManagement.getLineDir());
|
|
|
+ SysDept sysDept = deptService.selectDeptById(baseCameraManagement.getDeptId());
|
|
|
+ msgAlarmResp.setDeptName(sysDept.getDeptName());
|
|
|
+ return AjaxResult.success(msgAlarmResp);
|
|
|
+ } else {
|
|
|
+ return error("该相机编码在相机台账表中不存在");
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|