bug修复

This commit is contained in:
Administrator 2023-05-25 19:15:13 +08:00
parent 428a738d4a
commit aede9d3701
7 changed files with 89 additions and 25 deletions

View File

@ -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<IPage<TckwWireRopeInspectionRecord>> result = new Result<IPage<TckwWireRopeInspectionRecord>>();
QueryWrapper<TckwWireRopeInspectionRecord> queryWrapper = QueryGenerator.initQueryWrapper(tckwWireRopeInspectionRecord, req.getParameterMap());
Page<TckwWireRopeInspectionRecord> page = new Page<TckwWireRopeInspectionRecord>(pageNo, pageSize);
IPage<TckwWireRopeInspectionRecord> pageList = tckwWireRopeInspectionRecordService.page(page, queryWrapper);
IPage<TckwWireRopeInspectionRecord> 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<TckwWireRopeInspectionRecord> addWithDamage(@RequestBody HashMap<String, Object> map) {
log.info("addWithDamage{}", JSON.toJSONString(map));
tckwWireRopeInspectionRecordService.addWithDamage(map);
return Result.ok();
}

View File

@ -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<TckwWireRopeInspectionDamageRecord> damageRecordList;
}

View File

@ -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<TckwWireRopeInspectionRecord> {
void addWithDamage(HashMap<String, Object> map);
IPage<TckwWireRopeInspectionRecord> queryPageList(TckwWireRopeInspectionRecord tckwWireRopeInspectionRecord, Integer pageNo, Integer pageSize, HttpServletRequest req);
}

View File

@ -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<TckwWir
r.setDamageEndPosition(Double.valueOf(dataArr.get(3).toString()));
r.setDamageValue(Double.valueOf(dataArr.get(4).toString()));
r.setDamageSeverity(Integer.valueOf(dataArr.get(5).toString()));
r.setProjectSn("todo");
r.setProjectSn(MapUtils.getString(map, "name"));
tckwWireRopeInspectionDamageRecordMapper.insert(r);
}
}
private TckwWireRopeInspectionRecord saveTckwWireRopeInspectionRecord(HashMap<String, Object> 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<TckwWir
r.setRopeSpec(MapUtils.getString(map, "rope_spec"));
r.setRopeLen(MapUtils.getDouble(map, "rope_len"));
r.setRopeCnt(MapUtils.getInteger(map, "rope_cnt"));
r.setProjectSn(MapUtils.getString(map, "todo"));
r.setProjectSn(MapUtils.getString(map, "name"));
r.setRemoteId(MapUtils.getLong(map, "ID"));
save(r);
return r;
}
public IPage<TckwWireRopeInspectionRecord> queryPageList(TckwWireRopeInspectionRecord tckwWireRopeInspectionRecord, Integer pageNo, Integer pageSize, HttpServletRequest req) {
QueryWrapper<TckwWireRopeInspectionRecord> queryWrapper = QueryGenerator.initQueryWrapper(tckwWireRopeInspectionRecord, req.getParameterMap());
Page<TckwWireRopeInspectionRecord> page = new Page<TckwWireRopeInspectionRecord>(pageNo, pageSize);
IPage<TckwWireRopeInspectionRecord> pageList = page(page, queryWrapper);
return pageList;
}
}

View File

@ -277,4 +277,11 @@ public class VideoItemController {
public Result<Map<String, Object>> selectVideoCountList(@RequestBody Map<String, Object> 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<Map<String, Object>> getPlayUrlFromHikvision(String projectSn) {
return Result.success(videoItemService.getPlayUrlFromHikvision(projectSn));
}
}

View File

@ -65,4 +65,6 @@ public interface IVideoItemService extends IService<VideoItem> {
void updateByProjectAndNvrId(Long id, int status);
List<VideoItem> viListAndTenAlarm(String projectSn);
Map<String, Object> getPlayUrlFromHikvision(String projectSn);
}

View File

@ -148,10 +148,7 @@ public class VideoItemServiceImpl extends ServiceImpl<VideoItemMapper, VideoItem
@Override
public Map<String, Object> selectEnableVideoItemList(Map<String, Object> map) {
Map<String, Object> data = new HashMap<>();
QueryWrapper<ProjectVideoConfig> 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<EntityMap> list = null;
if (projectVideoConfig != null) {
list = videoItemMapper.selectVideoItemListByVideoId(projectVideoConfig.getId(), null);
@ -264,10 +261,7 @@ public class VideoItemServiceImpl extends ServiceImpl<VideoItemMapper, VideoItem
@Override
public String getHikVideoRegions(Map<String, Object> map) {
QueryWrapper<ProjectVideoConfig> 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<VideoItemMapper, VideoItem
@Override
public void saveHikVideoCamerasInfoList(Map<String, Object> map) {
QueryWrapper<ProjectVideoConfig> 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<Map<String, Object>> list = HikVideoUtil.getCamerasInfoList(MapUtils.getString(map, "regionIndexCode"), projectVideoConfig.getAccount(), projectVideoConfig.getPassword(), projectVideoConfig.getAppId(), projectVideoConfig.getAppSecret());
QueryWrapper<VideoItem> itemQueryWrapper = new QueryWrapper<>();
@ -462,10 +453,7 @@ public class VideoItemServiceImpl extends ServiceImpl<VideoItemMapper, VideoItem
@Override
public void setHikSubscriptionByEvent(Map<String, Object> map) {
QueryWrapper<ProjectVideoConfig> 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<DictionariesRecord> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.lambda().eq(DictionariesRecord::getKeyName, "VIDEO_EVENT_TYPE")
@ -484,6 +472,20 @@ public class VideoItemServiceImpl extends ServiceImpl<VideoItemMapper, VideoItem
}
}
/**
* 获取启用的视频配置
*
* @param map
* @return
*/
private ProjectVideoConfig getEnableProjectVideoConfigByProjectSn(Map<String, Object> map) {
QueryWrapper<ProjectVideoConfig> 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<VideoItemMapper, VideoItem
}
return videoItemList;
}
@Override
public Map<String, Object> getPlayUrlFromHikvision(String projectSn) {
HashMap<String, Object> paramMap = new HashMap<>();
paramMap.put("projectSn", projectSn);
ProjectVideoConfig videoConfig = getEnableProjectVideoConfigByProjectSn(paramMap);
List<EntityMap> videoList = videoItemMapper.selectProjectVideoList(paramMap);
Map<String, Object> rsMap = new HashMap<>();
List<Map<String, Object>> 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<String, Object> map = new HashMap<>();
map.put("url", url);
map.putAll(entityMap);
urlMaps.add(map);
}
}
}
return rsMap;
}
}