diff --git a/src/main/java/com/zhgd/xmgl/modules/tckw/controller/TckwWireRopeInspectionRecordController.java b/src/main/java/com/zhgd/xmgl/modules/tckw/controller/TckwWireRopeInspectionRecordController.java index a59dddb5c..8b1d5b505 100644 --- a/src/main/java/com/zhgd/xmgl/modules/tckw/controller/TckwWireRopeInspectionRecordController.java +++ b/src/main/java/com/zhgd/xmgl/modules/tckw/controller/TckwWireRopeInspectionRecordController.java @@ -4,7 +4,6 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.system.query.QueryGenerator; import com.zhgd.xmgl.modules.tckw.entity.TckwWireRopeInspectionRecord; @@ -53,14 +52,13 @@ public class TckwWireRopeInspectionRecordController { @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { Result> result = new Result>(); - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(tckwWireRopeInspectionRecord, req.getParameterMap()); - Page page = new Page(pageNo, pageSize); - IPage pageList = tckwWireRopeInspectionRecordService.page(page, queryWrapper); + IPage pageList = tckwWireRopeInspectionRecordService.queryPageList(tckwWireRopeInspectionRecord, pageNo, pageSize, req); result.setSuccess(true); result.setResult(pageList); return result; } + /** * 列表查询 * @@ -186,11 +184,12 @@ public class TckwWireRopeInspectionRecordController { } /** - * 设备端添加TCK.W钢丝绳记录 + * 设备端添加TCK.W钢丝绳记录,TCK.W检测站点名称填项目sn */ @ApiOperation(value = " 设备端添加TCK.W钢丝绳记录", notes = "设备端添加TCK.W钢丝绳记录", httpMethod = "POST") @PostMapping(value = "/addWithDamage") public Result addWithDamage(@RequestBody HashMap map) { + log.info("addWithDamage:{}", JSON.toJSONString(map)); tckwWireRopeInspectionRecordService.addWithDamage(map); return Result.ok(); } diff --git a/src/main/java/com/zhgd/xmgl/modules/tckw/entity/TckwWireRopeInspectionRecord.java b/src/main/java/com/zhgd/xmgl/modules/tckw/entity/TckwWireRopeInspectionRecord.java index ab95ebf8d..6794e4d8d 100644 --- a/src/main/java/com/zhgd/xmgl/modules/tckw/entity/TckwWireRopeInspectionRecord.java +++ b/src/main/java/com/zhgd/xmgl/modules/tckw/entity/TckwWireRopeInspectionRecord.java @@ -1,6 +1,7 @@ package com.zhgd.xmgl.modules.tckw.entity; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; @@ -12,6 +13,7 @@ import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.util.Date; +import java.util.List; /** * @Description: TCK.W钢丝绳检测记录 @@ -123,4 +125,15 @@ public class TckwWireRopeInspectionRecord implements Serializable { @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "更新时间") private java.util.Date updateTime; + + @ApiModelProperty(value = "远程设备id") + private Long remoteId; + + @ApiModelProperty(value = "报警信息") + @TableField(exist = false) + private String alarmInfo; + + @ApiModelProperty(value = "钢丝绳检测损伤记录列表") + @TableField(exist = false) + private List damageRecordList; } diff --git a/src/main/java/com/zhgd/xmgl/modules/tckw/service/ITckwWireRopeInspectionRecordService.java b/src/main/java/com/zhgd/xmgl/modules/tckw/service/ITckwWireRopeInspectionRecordService.java index e097bbe52..103f1c099 100644 --- a/src/main/java/com/zhgd/xmgl/modules/tckw/service/ITckwWireRopeInspectionRecordService.java +++ b/src/main/java/com/zhgd/xmgl/modules/tckw/service/ITckwWireRopeInspectionRecordService.java @@ -1,8 +1,10 @@ package com.zhgd.xmgl.modules.tckw.service; -import com.zhgd.xmgl.modules.tckw.entity.TckwWireRopeInspectionRecord; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; +import com.zhgd.xmgl.modules.tckw.entity.TckwWireRopeInspectionRecord; +import javax.servlet.http.HttpServletRequest; import java.util.HashMap; /** @@ -14,4 +16,6 @@ import java.util.HashMap; public interface ITckwWireRopeInspectionRecordService extends IService { void addWithDamage(HashMap map); + + IPage queryPageList(TckwWireRopeInspectionRecord tckwWireRopeInspectionRecord, Integer pageNo, Integer pageSize, HttpServletRequest req); } diff --git a/src/main/java/com/zhgd/xmgl/modules/tckw/service/impl/TckwWireRopeInspectionRecordServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/tckw/service/impl/TckwWireRopeInspectionRecordServiceImpl.java index ffad10275..9d5a0cb66 100644 --- a/src/main/java/com/zhgd/xmgl/modules/tckw/service/impl/TckwWireRopeInspectionRecordServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/tckw/service/impl/TckwWireRopeInspectionRecordServiceImpl.java @@ -1,9 +1,13 @@ package com.zhgd.xmgl.modules.tckw.service.impl; import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gexin.fastjson.JSON; import com.gexin.fastjson.JSONArray; +import com.zhgd.jeecg.common.system.query.QueryGenerator; import com.zhgd.xmgl.modules.tckw.entity.TckwWireRopeInspectionDamageRecord; import com.zhgd.xmgl.modules.tckw.entity.TckwWireRopeInspectionRecord; import com.zhgd.xmgl.modules.tckw.mapper.TckwWireRopeInspectionDamageRecordMapper; @@ -14,6 +18,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.servlet.http.HttpServletRequest; import java.util.HashMap; /** @@ -77,14 +82,13 @@ public class TckwWireRopeInspectionRecordServiceImpl extends ServiceImpl map) { TckwWireRopeInspectionRecord r = new TckwWireRopeInspectionRecord(); - r.setId(MapUtils.getLong(map, "ID")); r.setName(MapUtils.getString(map, "name")); r.setStartTime(DateUtil.parse(MapUtils.getString(map, "start_time"))); r.setEndTime(DateUtil.parse(MapUtils.getString(map, "end_time"))); @@ -96,8 +100,16 @@ public class TckwWireRopeInspectionRecordServiceImpl extends ServiceImpl queryPageList(TckwWireRopeInspectionRecord tckwWireRopeInspectionRecord, Integer pageNo, Integer pageSize, HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(tckwWireRopeInspectionRecord, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = page(page, queryWrapper); + return pageList; + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/video/controller/VideoItemController.java b/src/main/java/com/zhgd/xmgl/modules/video/controller/VideoItemController.java index 8ae1635ab..826e663ec 100644 --- a/src/main/java/com/zhgd/xmgl/modules/video/controller/VideoItemController.java +++ b/src/main/java/com/zhgd/xmgl/modules/video/controller/VideoItemController.java @@ -277,4 +277,11 @@ public class VideoItemController { public Result> selectVideoCountList(@RequestBody Map map) { return Result.success(videoItemService.selectVideoCountList(map)); } + + @ApiOperation(value = "根据项目sn查询监控点预览取流URL列表(海康)", httpMethod = "GET") + @ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "query", required = true, dataType = "String") + @GetMapping("/getPlayUrlFromHikvision") + public Result> getPlayUrlFromHikvision(String projectSn) { + return Result.success(videoItemService.getPlayUrlFromHikvision(projectSn)); + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/video/service/IVideoItemService.java b/src/main/java/com/zhgd/xmgl/modules/video/service/IVideoItemService.java index 44263ff0c..345059e6d 100644 --- a/src/main/java/com/zhgd/xmgl/modules/video/service/IVideoItemService.java +++ b/src/main/java/com/zhgd/xmgl/modules/video/service/IVideoItemService.java @@ -65,4 +65,6 @@ public interface IVideoItemService extends IService { void updateByProjectAndNvrId(Long id, int status); List viListAndTenAlarm(String projectSn); + + Map getPlayUrlFromHikvision(String projectSn); } diff --git a/src/main/java/com/zhgd/xmgl/modules/video/service/impl/VideoItemServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/video/service/impl/VideoItemServiceImpl.java index 812e2bd3a..60ecfc9f5 100644 --- a/src/main/java/com/zhgd/xmgl/modules/video/service/impl/VideoItemServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/video/service/impl/VideoItemServiceImpl.java @@ -148,10 +148,7 @@ public class VideoItemServiceImpl extends ServiceImpl selectEnableVideoItemList(Map map) { Map data = new HashMap<>(); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.lambda().eq(ProjectVideoConfig::getProjectSn, MapUtils.getString(map, "projectSn")) - .eq(ProjectVideoConfig::getIsEnable, 1); - ProjectVideoConfig projectVideoConfig = projectVideoConfigMapper.selectOne(queryWrapper); + ProjectVideoConfig projectVideoConfig = getEnableProjectVideoConfigByProjectSn(map); List list = null; if (projectVideoConfig != null) { list = videoItemMapper.selectVideoItemListByVideoId(projectVideoConfig.getId(), null); @@ -264,10 +261,7 @@ public class VideoItemServiceImpl extends ServiceImpl map) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.lambda().eq(ProjectVideoConfig::getProjectSn, MapUtils.getString(map, "projectSn")) - .eq(ProjectVideoConfig::getIsEnable, 1); - ProjectVideoConfig projectVideoConfig = projectVideoConfigMapper.selectOne(queryWrapper); + ProjectVideoConfig projectVideoConfig = getEnableProjectVideoConfigByProjectSn(map); if (projectVideoConfig.getVideoType() == 3) { return HikVideoUtil.getRegions(projectVideoConfig.getAccount(), projectVideoConfig.getPassword(), projectVideoConfig.getAppId(), projectVideoConfig.getAppSecret()); } else { @@ -277,10 +271,7 @@ public class VideoItemServiceImpl extends ServiceImpl map) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.lambda().eq(ProjectVideoConfig::getProjectSn, MapUtils.getString(map, "projectSn")) - .eq(ProjectVideoConfig::getIsEnable, 1); - ProjectVideoConfig projectVideoConfig = projectVideoConfigMapper.selectOne(queryWrapper); + ProjectVideoConfig projectVideoConfig = getEnableProjectVideoConfigByProjectSn(map); if (projectVideoConfig.getVideoType() == 3) { List> list = HikVideoUtil.getCamerasInfoList(MapUtils.getString(map, "regionIndexCode"), projectVideoConfig.getAccount(), projectVideoConfig.getPassword(), projectVideoConfig.getAppId(), projectVideoConfig.getAppSecret()); QueryWrapper itemQueryWrapper = new QueryWrapper<>(); @@ -462,10 +453,7 @@ public class VideoItemServiceImpl extends ServiceImpl map) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.lambda().eq(ProjectVideoConfig::getProjectSn, MapUtils.getString(map, "projectSn")) - .eq(ProjectVideoConfig::getIsEnable, 1); - ProjectVideoConfig projectVideoConfig = projectVideoConfigMapper.selectOne(queryWrapper); + ProjectVideoConfig projectVideoConfig = getEnableProjectVideoConfigByProjectSn(map); if (projectVideoConfig.getVideoType() == 3) { QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.lambda().eq(DictionariesRecord::getKeyName, "VIDEO_EVENT_TYPE") @@ -484,6 +472,20 @@ public class VideoItemServiceImpl extends ServiceImpl map) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(ProjectVideoConfig::getProjectSn, MapUtils.getString(map, "projectSn")) + .eq(ProjectVideoConfig::getIsEnable, 1); + ProjectVideoConfig projectVideoConfig = projectVideoConfigMapper.selectOne(queryWrapper); + return projectVideoConfig; + } + @Override public VideoItem getVideoItemByserialNumber(String serialNumber) { return videoItemMapper.getVideoItemByserialNumber(serialNumber); @@ -530,4 +532,29 @@ public class VideoItemServiceImpl extends ServiceImpl getPlayUrlFromHikvision(String projectSn) { + HashMap paramMap = new HashMap<>(); + paramMap.put("projectSn", projectSn); + ProjectVideoConfig videoConfig = getEnableProjectVideoConfigByProjectSn(paramMap); + List videoList = videoItemMapper.selectProjectVideoList(paramMap); + Map rsMap = new HashMap<>(); + List> urlMaps = new ArrayList<>(); + rsMap.put("urlMaps", urlMaps); + for (EntityMap entityMap : videoList) { + String serialNumber = MapUtils.getString(entityMap, "serialNumber"); + if (StringUtils.isNotEmpty(serialNumber)) { + String url = HikVideoUtil.callPostApiGetPreviewURL(serialNumber, "hls", null, videoConfig.getAccount(), + videoConfig.getPassword(), videoConfig.getAppId(), videoConfig.getAppSecret()); + if (StringUtils.isNotEmpty(url)) { + HashMap map = new HashMap<>(); + map.put("url", url); + map.putAll(entityMap); + urlMaps.add(map); + } + } + } + return rsMap; + } }