diff --git a/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java b/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java index f63e7d1e2..f9a7740cf 100644 --- a/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java +++ b/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java @@ -1,8 +1,18 @@ package com.zhgd.xmgl.async; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zhgd.xmgl.call.HikvisionCall; import com.zhgd.xmgl.modules.car.entity.CarInfo; import com.zhgd.xmgl.modules.project.entity.Project; +import com.zhgd.xmgl.modules.project.entity.ProjectVideoConfig; +import com.zhgd.xmgl.modules.video.entity.ProjectVideoHkVqd; +import com.zhgd.xmgl.modules.video.entity.VideoItem; +import com.zhgd.xmgl.modules.video.mapper.ProjectVideoHkVqdMapper; +import com.zhgd.xmgl.modules.video.mapper.VideoItemMapper; import com.zhgd.xmgl.modules.worker.entity.DepartmentInfo; import com.zhgd.xmgl.modules.worker.entity.EnterpriseInfo; import com.zhgd.xmgl.modules.worker.entity.TeamInfo; @@ -13,12 +23,19 @@ import org.springframework.context.annotation.Lazy; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Component; +import java.util.ArrayList; +import java.util.List; + @Slf4j @Component public class AsyncHikvision { @Autowired @Lazy HikvisionCall hikvisionCall; + @Autowired + VideoItemMapper videoItemMapper; + @Autowired + ProjectVideoHkVqdMapper projectVideoHkVqdMapper; /** * 添加劳务人员-海康 @@ -168,4 +185,48 @@ public class AsyncHikvision { e.printStackTrace(); } } + + /** + * 添加视频质量诊断结果 + * + * @param projectVideoConfig + */ + @Async + public void addVqdForHikvision(ProjectVideoConfig projectVideoConfig) { + try { + List videoItems = videoItemMapper.selectList(new LambdaQueryWrapper() + .eq(VideoItem::getVideoId, projectVideoConfig.getId())); + ArrayList indexCodes = new ArrayList<>(); + for (int i = 0; i < videoItems.size(); i++) { + VideoItem videoItem = videoItems.get(i); + indexCodes.add(videoItem.getSerialNumber()); + if ((i + 1) % 20 == 0) { + //20一次发生http请求 + JSONObject requestParam = new JSONObject(); + requestParam.put("pageNo", 1); + requestParam.put("pageSize", 20); + requestParam.put("indexCodes", indexCodes); + JSONObject jo = hikvisionCall.getVqdForHikvision(projectVideoConfig, requestParam); + if (jo != null) { + //插入结果 + JSONArray listJa = jo.getJSONArray("list"); + if (CollUtil.isEmpty(listJa)) { + continue; + } + for (int j = 0; j < listJa.size(); j++) { + JSONObject lJo = listJa.getJSONObject(j); + ProjectVideoHkVqd vqd = new ProjectVideoHkVqd(); + BeanUtil.copyProperties(lJo, vqd); + vqd.setProjectSn(projectVideoConfig.getProjectSn()); + projectVideoHkVqdMapper.insert(vqd); + } + } + } else if (i == videoItems.size() - 1) { + + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } } diff --git a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java index daf029d3d..9e221c370 100644 --- a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java +++ b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java @@ -20,6 +20,7 @@ import com.zhgd.xmgl.modules.car.mapper.CarInfoMapper; import com.zhgd.xmgl.modules.car.mapper.CarPassRecordMapper; import com.zhgd.xmgl.modules.car.mapper.CarTypeMapper; import com.zhgd.xmgl.modules.project.entity.Project; +import com.zhgd.xmgl.modules.project.entity.ProjectVideoConfig; import com.zhgd.xmgl.modules.project.mapper.ProjectMapper; import com.zhgd.xmgl.modules.worker.entity.DepartmentInfo; import com.zhgd.xmgl.modules.worker.entity.EnterpriseInfo; @@ -301,44 +302,6 @@ public class HikvisionCall { return null; } - /** - * 测试获取人员详情 - * - * @return - */ - @GetMapping("/getCameraOnline") - public Result getCameraOnline() { - Project project = projectMapper.selectOne(new LambdaQueryWrapper().eq(Project::getProjectSn, "B717CB992D054A878FDAFB4A5C169947")); - JSONArray cameraOnline = getCameraOnline(project).getJSONArray("list"); - long online = cameraOnline.stream().filter(c -> JSONObject.parseObject(c.toString()).getString("online").equals("1")).count(); - long online1 = cameraOnline.stream().filter(c -> JSONObject.parseObject(c.toString()).getString("online").equals("0")).count(); - long online2 = cameraOnline.stream().filter(c -> JSONObject.parseObject(c.toString()).getString("online") == null).count(); - Map resultMap = new HashMap<>(); - resultMap.put("online", online); - resultMap.put("online1", online1); - resultMap.put("online2", online2); - return Result.success(resultMap); - } - - /** - * 获取编码设备在线状态 - * - * @return - */ - @GetMapping("/getEncodeDeviceOnline") - public Result getEncodeDeviceOnline() { - Project project = projectMapper.selectOne(new LambdaQueryWrapper().eq(Project::getProjectSn, "B717CB992D054A878FDAFB4A5C169947")); - JSONArray encodedDevice = getEncodeDeviceOnline(project).getJSONArray("list"); - long online = encodedDevice.stream().filter(c -> JSONObject.parseObject(c.toString()).getString("online").equals("1")).count(); - long online1 = encodedDevice.stream().filter(c -> JSONObject.parseObject(c.toString()).getString("online").equals("0")).count(); - long online2 = encodedDevice.stream().filter(c -> JSONObject.parseObject(c.toString()).getString("online") == null).count(); - Map resultMap = new HashMap<>(); - resultMap.put("online", online); - resultMap.put("online1", online1); - resultMap.put("online2", online2); - return Result.success(resultMap); - } - /** * 获取车辆颜色 * @@ -1232,46 +1195,6 @@ public class HikvisionCall { return null; } - /** - * 获取监控点在线状态 - * @param project - */ - public JSONObject getCameraOnline(Project project) { - final String ARTEMIS_PATH = "/artemis"; - final String path = ARTEMIS_PATH + "/api/nms/v1/online/camera/get"; - String host = "https://" + project.getArtemisConfigHost(); - JSONObject requestParam = new JSONObject(); - String rs = HikvisionUtil.doPost(host, path, JSONArray.toJSONString(requestParam), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret()); - if (rs == null) { - return null; - } - JSONObject jod = HikvisionUtil.getJSONObjectData(rs); - if (jod != null) { - return jod; - } - return null; - } - - /** - * 获取编码设备在线状态 - * @param project - */ - public JSONObject getEncodeDeviceOnline(Project project) { - final String ARTEMIS_PATH = "/artemis"; - final String path = ARTEMIS_PATH + "/api/nms/v1/online/encode_device/get"; - String host = "https://" + project.getArtemisConfigHost(); - JSONObject requestParam = new JSONObject(); - String rs = HikvisionUtil.doPost(host, path, JSONArray.toJSONString(requestParam), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret()); - JSONObject jod = HikvisionUtil.getJSONObjectData(rs); - if (rs == null) { - return null; - } - if (jod != null) { - return jod; - } - return null; - } - private HikvisionOrganization getHikvisionOrganization(Project project) { HikvisionOrganization hikvisionOrganization = new HikvisionOrganization(); hikvisionOrganization.setClientId(null); @@ -1422,4 +1345,67 @@ public class HikvisionCall { } + /** + * 获取监控点在线状态 + * + * @param project + */ + public JSONObject getCameraOnline(Project project) { + final String ARTEMIS_PATH = "/artemis"; + final String path = ARTEMIS_PATH + "/api/nms/v1/online/camera/get"; + String host = "https://" + project.getArtemisConfigHost(); + JSONObject requestParam = new JSONObject(); + String rs = HikvisionUtil.doPost(host, path, JSONArray.toJSONString(requestParam), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret()); + if (rs == null) { + return null; + } + JSONObject jod = HikvisionUtil.getJSONObjectData(rs); + if (jod != null) { + return jod; + } + return null; + } + + /** + * 获取编码设备在线状态 + * + * @param project + */ + public JSONObject getEncodeDeviceOnline(Project project) { + final String ARTEMIS_PATH = "/artemis"; + final String path = ARTEMIS_PATH + "/api/nms/v1/online/encode_device/get"; + String host = "https://" + project.getArtemisConfigHost(); + JSONObject requestParam = new JSONObject(); + String rs = HikvisionUtil.doPost(host, path, JSONArray.toJSONString(requestParam), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret()); + JSONObject jod = HikvisionUtil.getJSONObjectData(rs); + if (rs == null) { + return null; + } + if (jod != null) { + return jod; + } + return null; + } + + /** + * 获取视频质量诊断结果 + * + * @param config + */ + public JSONObject getVqdForHikvision(ProjectVideoConfig config, JSONObject requestParam) { + final String ARTEMIS_PATH = "/artemis"; + final String path = ARTEMIS_PATH + "/api/nms/v1/vqd/list"; + String host = "https://" + config.getAccount() + ":" + config.getPassword(); + String rs = HikvisionUtil.doPost(host, path, JSONArray.toJSONString(requestParam), null, config.getAppId(), config.getAppSecret()); + JSONObject jod = HikvisionUtil.getJSONObjectData(rs); + if (rs == null) { + return null; + } + if (jod != null) { + return jod; + } + return null; + } + + } diff --git a/src/main/java/com/zhgd/xmgl/modules/video/controller/ProjectVideoHkVqdController.java b/src/main/java/com/zhgd/xmgl/modules/video/controller/ProjectVideoHkVqdController.java new file mode 100644 index 000000000..35ac0e630 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/video/controller/ProjectVideoHkVqdController.java @@ -0,0 +1,128 @@ +package com.zhgd.xmgl.modules.video.controller; + +import com.zhgd.xmgl.modules.video.entity.ProjectVideoHkVqd; +import com.zhgd.xmgl.modules.video.service.IProjectVideoHkVqdService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiImplicitParams; + +import java.util.HashMap; + +import springfox.documentation.annotations.ApiIgnore; + +import java.util.List; + +import com.zhgd.jeecg.common.api.vo.Result; +import org.apache.commons.collections.MapUtils; + +import org.simpleframework.xml.core.Validate; +import com.baomidou.mybatisplus.core.metadata.IPage; +import lombok.extern.slf4j.Slf4j; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + + +/** + * @Title: Controller + * @Description: 海康视频质量诊断结果 + * @author: pds + * @date: 2024-04-02 + * @version: V1.0 + */ +@RestController +@RequestMapping("/xmgl/projectVideoHkVqd") +@Slf4j +@Api(tags = "海康视频质量诊断结果相关Api") +public class ProjectVideoHkVqdController { + @Autowired + private IProjectVideoHkVqdService projectVideoHkVqdService; + + /** + * 分页列表查询 + * + * @return + */ + @ApiOperation(value = "分页列表查询海康视频质量诊断结果信息", notes = "分页列表查询海康视频质量诊断结果信息", httpMethod = "GET") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "query", required = true, dataType = "Integer"), + @ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "query", required = true, dataType = "Integer"), + }) + @GetMapping(value = "/page") + public Result> queryPageList(@ApiIgnore @RequestParam HashMap paramMap) { + return Result.success(projectVideoHkVqdService.queryPageList(paramMap)); + } + + /** + * 列表查询 + * + * @return + */ + @ApiOperation(value = "列表查询海康视频质量诊断结果信息", notes = "列表查询海康视频质量诊断结果信息", httpMethod = "GET") + @GetMapping(value = "/list") + public Result> queryList(@ApiIgnore @RequestParam HashMap paramMap) { + return Result.success(projectVideoHkVqdService.queryList(paramMap)); + } + + /** + * 添加 + * + * @param projectVideoHkVqd + * @return + */ + @ApiOperation(value = "添加海康视频质量诊断结果信息", notes = "添加海康视频质量诊断结果信息", httpMethod = "POST") + @PostMapping(value = "/add") + public Result add(@RequestBody @Validate ProjectVideoHkVqd projectVideoHkVqd) { + projectVideoHkVqdService.add(projectVideoHkVqd); + return Result.ok(); + } + + /** + * 编辑 + * + * @param projectVideoHkVqd + * @return + */ + @ApiOperation(value = "编辑海康视频质量诊断结果信息", notes = "编辑海康视频质量诊断结果信息", httpMethod = "POST") + @PostMapping(value = "/edit") + public Result edit(@RequestBody ProjectVideoHkVqd projectVideoHkVqd) { + projectVideoHkVqdService.edit(projectVideoHkVqd); + return Result.ok(); + } + + /** + * 通过id删除 + * + * @return + */ + @ApiOperation(value = "删除海康视频质量诊断结果信息", notes = "删除海康视频质量诊断结果信息", httpMethod = "POST") + @ApiImplicitParam(name = "id", value = "海康视频质量诊断结果ID", paramType = "body", required = true, dataType = "String", example = "{\"id\":\"1\"}") + @PostMapping(value = "/delete") + public Result delete(@ApiIgnore @RequestBody HashMap map) { + projectVideoHkVqdService.delete(MapUtils.getString(map, "id")); + return Result.ok(); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @ApiOperation(value = "通过id查询海康视频质量诊断结果信息", notes = "通过id查询海康视频质量诊断结果信息", httpMethod = "GET") + @ApiImplicitParam(name = "id", value = "海康视频质量诊断结果ID", paramType = "query", required = true, dataType = "Integer") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id) { + Result result = new Result(); + ProjectVideoHkVqd projectVideoHkVqd = projectVideoHkVqdService.getById(id); + if (projectVideoHkVqd == null) { + result.error500("未找到对应实体"); + } else { + result.setResult(projectVideoHkVqd); + result.setSuccess(true); + } + return result; + } + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/video/entity/ProjectVideoHkVqd.java b/src/main/java/com/zhgd/xmgl/modules/video/entity/ProjectVideoHkVqd.java new file mode 100644 index 000000000..3e7e6bbf7 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/video/entity/ProjectVideoHkVqd.java @@ -0,0 +1,176 @@ +package com.zhgd.xmgl.modules.video.entity; + +import java.io.Serializable; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * @Description: 海康视频质量诊断结果 + * @author: pds + * @date: 2024-04-02 + * @version: V1.0 + */ +@Data +@TableName("project_video_hk_vqd") +@ApiModel(value = "ProjectVideoHkVqd实体类", description = "ProjectVideoHkVqd") +public class ProjectVideoHkVqd implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private java.lang.Long id; + /** + * 偏色检测结果(2-诊断失败,-1-未知,1-正常,0-异常) + */ + @Excel(name = "偏色检测结果(2-诊断失败,-1-未知,1-正常,0-异常)", width = 15) + @ApiModelProperty(value = "偏色检测结果(2-诊断失败,-1-未知,1-正常,0-异常)") + private java.lang.Integer scChromaResult; + /** + * 雪花点干扰结果(2-诊断失败,-1-未知,1-正常,0-异常) + */ + @Excel(name = "雪花点干扰结果(2-诊断失败,-1-未知,1-正常,0-异常)", width = 15) + @ApiModelProperty(value = "雪花点干扰结果(2-诊断失败,-1-未知,1-正常,0-异常)") + private java.lang.Integer scSnowResult; + /** + * 图像过暗结果(2-诊断失败,-1-未知,1-正常,0-异常) + */ + @Excel(name = "图像过暗结果(2-诊断失败,-1-未知,1-正常,0-异常)", width = 15) + @ApiModelProperty(value = "图像过暗结果(2-诊断失败,-1-未知,1-正常,0-异常)") + private java.lang.Integer scDarkResult; + /** + * 巡检日期(格式:yyyy-MM-dd) + */ + @Excel(name = "巡检日期(格式:yyyy-MM-dd)", width = 15) + @ApiModelProperty(value = "巡检日期(格式:yyyy-MM-dd)") + private java.lang.String inspectDate; + /** + * 监控点编号(通用唯一识别码UUID) + */ + @Excel(name = "监控点编号(通用唯一识别码UUID)", width = 15) + @ApiModelProperty(value = "监控点编号(通用唯一识别码UUID)") + private java.lang.String indexCode; + /** + * 亮度异常结果(2-诊断失败,-1-未知,1-正常,0-异常) + */ + @Excel(name = "亮度异常结果(2-诊断失败,-1-未知,1-正常,0-异常)", width = 15) + @ApiModelProperty(value = "亮度异常结果(2-诊断失败,-1-未知,1-正常,0-异常)") + private java.lang.Integer scLumaResult; + /** + * 画面冻结结果(2-诊断失败,-1-未知,1-正常,0-异常) + */ + @Excel(name = "画面冻结结果(2-诊断失败,-1-未知,1-正常,0-异常)", width = 15) + @ApiModelProperty(value = "画面冻结结果(2-诊断失败,-1-未知,1-正常,0-异常)") + private java.lang.Integer scFreezeResult; + /** + * 视频抖动结果(2-诊断失败,-1-未知,1-正常,0-异常) + */ + @Excel(name = "视频抖动结果(2-诊断失败,-1-未知,1-正常,0-异常)", width = 15) + @ApiModelProperty(value = "视频抖动结果(2-诊断失败,-1-未知,1-正常,0-异常)") + private java.lang.Integer scShakeResult; + /** + * 分辨率(720为基准 1-高清,0-标清,-1-未知) + */ + @Excel(name = "分辨率(720为基准 1-高清,0-标清,-1-未知)", width = 15) + @ApiModelProperty(value = "分辨率(720为基准 1-高清,0-标清,-1-未知)") + private java.lang.Integer resolution; + /** + * 对比度检测结果(2-诊断失败,-1-未知,1-正常,0-异常) + */ + @Excel(name = "对比度检测结果(2-诊断失败,-1-未知,1-正常,0-异常)", width = 15) + @ApiModelProperty(value = "对比度检测结果(2-诊断失败,-1-未知,1-正常,0-异常)") + private java.lang.Integer scContrastResult; + /** + * 条纹干扰结果(2-诊断失败,-1-未知,1-正常,0-异常) + */ + @Excel(name = "条纹干扰结果(2-诊断失败,-1-未知,1-正常,0-异常)", width = 15) + @ApiModelProperty(value = "条纹干扰结果(2-诊断失败,-1-未知,1-正常,0-异常)") + private java.lang.Integer scStreakResult; + /** + * 图片url地址 + */ + @Excel(name = "图片url地址", width = 15) + @ApiModelProperty(value = "图片url地址") + private java.lang.String picUrl; + /** + * 视频丢帧结果(2-诊断失败,-1-未知,1-正常,0-异常) + */ + @Excel(name = "视频丢帧结果(2-诊断失败,-1-未知,1-正常,0-异常)", width = 15) + @ApiModelProperty(value = "视频丢帧结果(2-诊断失败,-1-未知,1-正常,0-异常)") + private java.lang.Integer scFrameResult; + /** + * 视频遮挡结果(2-诊断失败,-1-未知,1-正常,0-异常) + */ + @Excel(name = "视频遮挡结果(2-诊断失败,-1-未知,1-正常,0-异常)", width = 15) + @ApiModelProperty(value = "视频遮挡结果(2-诊断失败,-1-未知,1-正常,0-异常)") + private java.lang.Integer scCoverResult; + /** + * 视频丢失结果(2-诊断失败,-1-未知,1-正常,0-异常) + */ + @Excel(name = "视频丢失结果(2-诊断失败,-1-未知,1-正常,0-异常)", width = 15) + @ApiModelProperty(value = "视频丢失结果(2-诊断失败,-1-未知,1-正常,0-异常)") + private java.lang.Integer scSignalResult; + /** + * 黑白图像结果(2-诊断失败,-1-未知,1-正常,0-异常) + */ + @Excel(name = "黑白图像结果(2-诊断失败,-1-未知,1-正常,0-异常)", width = 15) + @ApiModelProperty(value = "黑白图像结果(2-诊断失败,-1-未知,1-正常,0-异常)") + private java.lang.Integer scMonoResult; + /** + * 视频巡检结果(6-码流时延,5-解码失败,4-取流失败,3-登录失败,2-异常,1-正常,0或-1-未检测) + */ + @Excel(name = "视频巡检结果(6-码流时延,5-解码失败,4-取流失败,3-登录失败,2-异常,1-正常,0或-1-未检测)", width = 15) + @ApiModelProperty(value = "视频巡检结果(6-码流时延,5-解码失败,4-取流失败,3-登录失败,2-异常,1-正常,0或-1-未检测)") + private java.lang.Integer inspectResult; + /** + * 图像模糊结果(2-诊断失败,-1-未知,1-正常,0-异常) + */ + @Excel(name = "图像模糊结果(2-诊断失败,-1-未知,1-正常,0-异常)", width = 15) + @ApiModelProperty(value = "图像模糊结果(2-诊断失败,-1-未知,1-正常,0-异常)") + private java.lang.Integer scBlurResult; + /** + * 场景变更结果(2-诊断失败,-1-未知,1-正常,0-异常) + */ + @Excel(name = "场景变更结果(2-诊断失败,-1-未知,1-正常,0-异常)", width = 15) + @ApiModelProperty(value = "场景变更结果(2-诊断失败,-1-未知,1-正常,0-异常)") + private java.lang.Integer scSceneResult; + /** + * 视频剧变结果(2-诊断失败,-1-未知,1-正常,0-异常) + */ + @Excel(name = "视频剧变结果(2-诊断失败,-1-未知,1-正常,0-异常)", width = 15) + @ApiModelProperty(value = "视频剧变结果(2-诊断失败,-1-未知,1-正常,0-异常)") + private java.lang.Integer scFlashResult; + /** + * 创建时间 yyyy-MM-dd HH:mm:ss + */ + @Excel(name = "创建时间 yyyy-MM-dd HH:mm:ss", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建时间 yyyy-MM-dd HH:mm:ss") + private java.util.Date createTime; + /** + * 更新时间 yyyy-MM-dd HH:mm:ss + */ + @Excel(name = "更新时间 yyyy-MM-dd HH:mm:ss", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新时间 yyyy-MM-dd HH:mm:ss") + private java.util.Date updateTime; + /** + * 项目sn + */ + @Excel(name = "项目sn", width = 15) + @ApiModelProperty(value = "项目sn") + private java.lang.String projectSn; +} diff --git a/src/main/java/com/zhgd/xmgl/modules/video/mapper/ProjectVideoHkVqdMapper.java b/src/main/java/com/zhgd/xmgl/modules/video/mapper/ProjectVideoHkVqdMapper.java new file mode 100644 index 000000000..867aedcdd --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/video/mapper/ProjectVideoHkVqdMapper.java @@ -0,0 +1,16 @@ +package com.zhgd.xmgl.modules.video.mapper; + +import com.zhgd.xmgl.modules.video.entity.ProjectVideoHkVqd; +import org.apache.ibatis.annotations.Mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 海康视频质量诊断结果 + * @author: pds + * @date: 2024-04-02 + * @version: V1.0 + */ +@Mapper +public interface ProjectVideoHkVqdMapper extends BaseMapper { + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/video/mapper/xml/ProjectVideoHkVqdMapper.xml b/src/main/java/com/zhgd/xmgl/modules/video/mapper/xml/ProjectVideoHkVqdMapper.xml new file mode 100644 index 000000000..51ea8e911 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/video/mapper/xml/ProjectVideoHkVqdMapper.xml @@ -0,0 +1,4 @@ + + + + diff --git a/src/main/java/com/zhgd/xmgl/modules/video/mapper/xml/VideoItemMapper.xml b/src/main/java/com/zhgd/xmgl/modules/video/mapper/xml/VideoItemMapper.xml index c5fc72285..2b973fcbe 100644 --- a/src/main/java/com/zhgd/xmgl/modules/video/mapper/xml/VideoItemMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/video/mapper/xml/VideoItemMapper.xml @@ -307,7 +307,11 @@ resultType="com.zhgd.xmgl.modules.yunlianwanwu.middle.entity.VideoItemConfigBo"> SELECT t1.*, t2.project_sn FROM video_item t1 - INNER JOIN project_video_config t2 ON t2.id = t1.video_id + INNER JOIN project_video_config t2 ON t2.id = t1.video_id + where 1=1 + + and t2.video_type = #{videoType} +