添加视频质量诊断结果
This commit is contained in:
parent
c90b7a8a48
commit
d0bbecbf0e
@ -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<VideoItem> videoItems = videoItemMapper.selectList(new LambdaQueryWrapper<VideoItem>()
|
||||
.eq(VideoItem::getVideoId, projectVideoConfig.getId()));
|
||||
ArrayList<String> 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -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<Project>().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<String, Object> 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<Project>().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<String, Object> 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;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -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<IPage<ProjectVideoHkVqd>> queryPageList(@ApiIgnore @RequestParam HashMap<String, Object> paramMap) {
|
||||
return Result.success(projectVideoHkVqdService.queryPageList(paramMap));
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "列表查询海康视频质量诊断结果信息", notes = "列表查询海康视频质量诊断结果信息", httpMethod = "GET")
|
||||
@GetMapping(value = "/list")
|
||||
public Result<List<ProjectVideoHkVqd>> queryList(@ApiIgnore @RequestParam HashMap<String, Object> paramMap) {
|
||||
return Result.success(projectVideoHkVqdService.queryList(paramMap));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加
|
||||
*
|
||||
* @param projectVideoHkVqd
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "添加海康视频质量诊断结果信息", notes = "添加海康视频质量诊断结果信息", httpMethod = "POST")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<ProjectVideoHkVqd> add(@RequestBody @Validate ProjectVideoHkVqd projectVideoHkVqd) {
|
||||
projectVideoHkVqdService.add(projectVideoHkVqd);
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*
|
||||
* @param projectVideoHkVqd
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "编辑海康视频质量诊断结果信息", notes = "编辑海康视频质量诊断结果信息", httpMethod = "POST")
|
||||
@PostMapping(value = "/edit")
|
||||
public Result<ProjectVideoHkVqd> 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<ProjectVideoHkVqd> delete(@ApiIgnore @RequestBody HashMap<String, Object> 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<ProjectVideoHkVqd> queryById(@RequestParam(name = "id", required = true) String id) {
|
||||
Result<ProjectVideoHkVqd> result = new Result<ProjectVideoHkVqd>();
|
||||
ProjectVideoHkVqd projectVideoHkVqd = projectVideoHkVqdService.getById(id);
|
||||
if (projectVideoHkVqd == null) {
|
||||
result.error500("未找到对应实体");
|
||||
} else {
|
||||
result.setResult(projectVideoHkVqd);
|
||||
result.setSuccess(true);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
@ -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<ProjectVideoHkVqd> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.zhgd.xmgl.modules.video.mapper.ProjectVideoHkVqdMapper">
|
||||
</mapper>
|
||||
@ -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
|
||||
<if test="videoType != null and videoType != ''">
|
||||
and t2.video_type = #{videoType}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="queryById" resultMap="videoItemRm">
|
||||
|
||||
@ -0,0 +1,27 @@
|
||||
package com.zhgd.xmgl.modules.video.service;
|
||||
|
||||
import com.zhgd.xmgl.modules.video.entity.ProjectVideoHkVqd;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 海康视频质量诊断结果
|
||||
* @author: pds
|
||||
* @date: 2024-04-02
|
||||
* @version: V1.0
|
||||
*/
|
||||
public interface IProjectVideoHkVqdService extends IService<ProjectVideoHkVqd> {
|
||||
|
||||
IPage<ProjectVideoHkVqd> queryPageList(HashMap<String, Object> paramMap);
|
||||
|
||||
List<ProjectVideoHkVqd> queryList(HashMap<String, Object> paramMap);
|
||||
|
||||
void add(ProjectVideoHkVqd projectVideoHkVqd);
|
||||
|
||||
void edit(ProjectVideoHkVqd projectVideoHkVqd);
|
||||
|
||||
void delete(String id);
|
||||
}
|
||||
@ -0,0 +1,81 @@
|
||||
package com.zhgd.xmgl.modules.video.service.impl;
|
||||
|
||||
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
||||
import com.zhgd.xmgl.modules.video.entity.ProjectVideoHkVqd;
|
||||
import com.zhgd.xmgl.modules.video.mapper.ProjectVideoHkVqdMapper;
|
||||
import com.zhgd.xmgl.modules.video.service.IProjectVideoHkVqdService;
|
||||
import org.springframework.stereotype.Service;
|
||||
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.system.query.QueryGenerator;
|
||||
import com.zhgd.xmgl.util.PageUtil;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import com.zhgd.xmgl.util.RefUtil;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
/**
|
||||
* @Description: 海康视频质量诊断结果
|
||||
* @author: pds
|
||||
* @date: 2024-04-02
|
||||
* @version: V1.0
|
||||
*/
|
||||
@Service
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public class ProjectVideoHkVqdServiceImpl extends ServiceImpl<ProjectVideoHkVqdMapper, ProjectVideoHkVqd> implements IProjectVideoHkVqdService {
|
||||
@Autowired
|
||||
private ProjectVideoHkVqdMapper projectVideoHkVqdMapper;
|
||||
|
||||
@Override
|
||||
public IPage<ProjectVideoHkVqd> queryPageList(HashMap<String, Object> paramMap) {
|
||||
QueryWrapper<ProjectVideoHkVqd> queryWrapper = getQueryWrapper(paramMap);
|
||||
Page<ProjectVideoHkVqd> page = PageUtil.getPage(paramMap);
|
||||
IPage<ProjectVideoHkVqd> pageList = this.page(page, queryWrapper);
|
||||
pageList.setRecords(dealList(pageList.getRecords()));
|
||||
return pageList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ProjectVideoHkVqd> queryList(HashMap<String, Object> paramMap) {
|
||||
QueryWrapper<ProjectVideoHkVqd> queryWrapper = getQueryWrapper(paramMap);
|
||||
return dealList(this.list(queryWrapper));
|
||||
}
|
||||
|
||||
private QueryWrapper<ProjectVideoHkVqd> getQueryWrapper(HashMap<String, Object> paramMap) {
|
||||
String alias = "";
|
||||
QueryWrapper<ProjectVideoHkVqd> queryWrapper = QueryGenerator.initPageQueryWrapper(ProjectVideoHkVqd.class, paramMap, alias);
|
||||
queryWrapper.orderByDesc(alias + RefUtil.fieldNameUlc(ProjectVideoHkVqd::getId));
|
||||
return queryWrapper;
|
||||
}
|
||||
|
||||
private List<ProjectVideoHkVqd> dealList(List<ProjectVideoHkVqd> list) {
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void add(ProjectVideoHkVqd projectVideoHkVqd) {
|
||||
projectVideoHkVqd.setId(null);
|
||||
baseMapper.insert(projectVideoHkVqd);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void edit(ProjectVideoHkVqd projectVideoHkVqd) {
|
||||
baseMapper.updateById(projectVideoHkVqd);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void delete(String id) {
|
||||
ProjectVideoHkVqd projectVideoHkVqd = baseMapper.selectById(id);
|
||||
if (projectVideoHkVqd == null) {
|
||||
throw new OpenAlertException("未找到对应实体");
|
||||
}
|
||||
baseMapper.deleteById(id);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -89,6 +89,11 @@ public class WorkerCertificateServiceImpl extends ServiceImpl<WorkerCertificateM
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新黑名单
|
||||
*
|
||||
* @param workerCertificate
|
||||
*/
|
||||
private void updateExpired(WorkerCertificate workerCertificate) {
|
||||
List<WorkerCertificate> workerCertificates = workerCertificateMapper.selectList(new LambdaQueryWrapper<WorkerCertificate>()
|
||||
.eq(WorkerCertificate::getWorkerId, workerCertificate.getWorkerId()));
|
||||
|
||||
@ -42,12 +42,12 @@ public class XzSupplierQualificationController {
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "列表查询星纵-供应商-企业资质信息", notes = "列表查询星纵-供应商-企业资质信息", httpMethod = "POST")
|
||||
@ApiImplicitParam(name = "xzSupplierId", value = "所属星纵-供应商id", paramType = "body", required = true, dataType = "String")
|
||||
@PostMapping(value = "/list")
|
||||
@ApiImplicitParam(name = "userId", value = "用户id", paramType = "body", required = true, dataType = "String")
|
||||
@PostMapping(value = "/list")
|
||||
public Result<List<XzSupplierQualification>> selectXzSupplierBadRecordList(@RequestBody Map<String, Object> map) {
|
||||
Result<List<XzSupplierQualification>> result = new Result<List<XzSupplierQualification>>();
|
||||
QueryWrapper<XzSupplierQualification> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.lambda().eq(XzSupplierQualification::getXzSupplierId, MapUtils.getString(map, "xzSupplierId"));
|
||||
queryWrapper.lambda().eq(XzSupplierQualification::getUserId, MapUtils.getString(map, "userId"));
|
||||
List<XzSupplierQualification> pageList = xzSupplierQualificationService.list(queryWrapper);
|
||||
result.setSuccess(true);
|
||||
result.setResult(pageList);
|
||||
|
||||
@ -24,7 +24,7 @@ import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Title: Controller
|
||||
* @Description: 星纵-新用户和供应商关联
|
||||
* @Description: 星纵-用户和供应商关联
|
||||
* @author: pds
|
||||
* @date: 2020-08-13
|
||||
* @version: V1.0
|
||||
@ -32,7 +32,7 @@ import java.util.Map;
|
||||
@RestController
|
||||
@RequestMapping("/xmgl/xzUserToSupplier")
|
||||
@Slf4j
|
||||
@Api(tags = "星纵-新用户和供应商关联")
|
||||
@Api(tags = "星纵-用户和供应商关联")
|
||||
public class XzUserToSupplierController {
|
||||
@Autowired
|
||||
private IXzUserToSupplierService xzUserToSupplierService;
|
||||
@ -42,7 +42,7 @@ public class XzUserToSupplierController {
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "分页列表查询星纵-新用户和供应商关联", notes = "分页列表查询星纵-新用户和供应商关联", httpMethod = "POST")
|
||||
@ApiOperation(value = "分页列表查询星纵-用户和供应商关联", notes = "分页列表查询星纵-用户和供应商关联", httpMethod = "POST")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "xzSupplierTypeId", value = "企业类型ID", paramType = "body", required = false, dataType = "String"),
|
||||
@ApiImplicitParam(name = "xzSupplierName", value = "星纵-供应商名称", paramType = "body", required = false, dataType = "String"),
|
||||
@ -56,7 +56,7 @@ public class XzUserToSupplierController {
|
||||
return Result.success(pageList);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "列表查询星纵-新用户和供应商关联", notes = "列表查询星纵-新用户和供应商关联", httpMethod = "POST")
|
||||
@ApiOperation(value = "列表查询星纵-用户和供应商关联", notes = "列表查询星纵-用户和供应商关联", httpMethod = "POST")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "xzSupplierName", value = "星纵-供应商名称", paramType = "body", required = false, dataType = "String"),
|
||||
@ApiImplicitParam(name = "sn", value = "项目sn或企业sn", paramType = "body", required = true, dataType = "String"),
|
||||
@ -73,8 +73,8 @@ public class XzUserToSupplierController {
|
||||
* @param xzUserToSupplier
|
||||
* @return
|
||||
*/
|
||||
@OperLog(operModul = "供应商管理", operType = "添加星纵-新用户和供应商关联", operDesc = "添加星纵-新用户和供应商关联")
|
||||
@ApiOperation(value = "添加星纵-新用户和供应商关联信息", notes = "添加星纵-新用户和供应商关联信息", httpMethod = "POST")
|
||||
@OperLog(operModul = "供应商管理", operType = "添加星纵-用户和供应商关联", operDesc = "添加星纵-用户和供应商关联")
|
||||
@ApiOperation(value = "添加星纵-用户和供应商关联信息", notes = "添加星纵-用户和供应商关联信息", httpMethod = "POST")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<XzUserToSupplier> add(@RequestBody XzUserToSupplier xzUserToSupplier) {
|
||||
xzUserToSupplierService.saveXzUserToSupplier(xzUserToSupplier);
|
||||
@ -87,8 +87,8 @@ public class XzUserToSupplierController {
|
||||
* @param xzUserToSupplier
|
||||
* @return
|
||||
*/
|
||||
@OperLog(operModul = "供应商管理", operType = "编辑星纵-新用户和供应商关联", operDesc = "编辑星纵-新用户和供应商关联")
|
||||
@ApiOperation(value = "编辑星纵-新用户和供应商关联信息", notes = "编辑星纵-新用户和供应商关联信息", httpMethod = "POST")
|
||||
@OperLog(operModul = "供应商管理", operType = "编辑星纵-用户和供应商关联", operDesc = "编辑星纵-用户和供应商关联")
|
||||
@ApiOperation(value = "编辑星纵-用户和供应商关联信息", notes = "编辑星纵-用户和供应商关联信息", httpMethod = "POST")
|
||||
@PostMapping(value = "/edit")
|
||||
public Result<XzUserToSupplier> edit(@RequestBody XzUserToSupplier xzUserToSupplier) {
|
||||
xzUserToSupplierService.editXzUserToSupplier(xzUserToSupplier);
|
||||
@ -101,9 +101,9 @@ public class XzUserToSupplierController {
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
@OperLog(operModul = "供应商管理", operType = "删除星纵-新用户和供应商关联", operDesc = "删除星纵-新用户和供应商关联")
|
||||
@ApiOperation(value = "删除星纵-新用户和供应商关联信息", notes = "删除星纵-新用户和供应商关联信息", httpMethod = "POST")
|
||||
@ApiImplicitParam(name = "id", value = "星纵-新用户和供应商关联ID", paramType = "body", required = true, dataType = "Integer")
|
||||
@OperLog(operModul = "供应商管理", operType = "删除星纵-用户和供应商关联", operDesc = "删除星纵-用户和供应商关联")
|
||||
@ApiOperation(value = "删除星纵-用户和供应商关联信息", notes = "删除星纵-用户和供应商关联信息", httpMethod = "POST")
|
||||
@ApiImplicitParam(name = "id", value = "星纵-用户和供应商关联ID", paramType = "body", required = true, dataType = "Integer")
|
||||
@PostMapping(value = "/delete")
|
||||
public Result<XzUserToSupplier> delete(@RequestBody Map<String, Object> map) {
|
||||
Result<XzUserToSupplier> result = new Result<XzUserToSupplier>();
|
||||
@ -125,9 +125,9 @@ public class XzUserToSupplierController {
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
@OperLog(operModul = "供应商管理", operType = "批量删除星纵-新用户和供应商关联", operDesc = "批量删除星纵-新用户和供应商关联")
|
||||
@ApiOperation(value = "批量删除星纵-新用户和供应商关联信息", notes = "批量删除星纵-新用户和供应商关联信息", httpMethod = "POST")
|
||||
@ApiImplicitParam(name = "ids", value = "星纵-新用户和供应商关联ID字符串", paramType = "body", required = true, dataType = "String")
|
||||
@OperLog(operModul = "供应商管理", operType = "批量删除星纵-用户和供应商关联", operDesc = "批量删除星纵-用户和供应商关联")
|
||||
@ApiOperation(value = "批量删除星纵-用户和供应商关联信息", notes = "批量删除星纵-用户和供应商关联信息", httpMethod = "POST")
|
||||
@ApiImplicitParam(name = "ids", value = "星纵-用户和供应商关联ID字符串", paramType = "body", required = true, dataType = "String")
|
||||
@PostMapping(value = "/deleteBatch")
|
||||
public Result<XzUserToSupplier> deleteBatch(@RequestBody Map<String, Object> map) {
|
||||
Result<XzUserToSupplier> result = new Result<XzUserToSupplier>();
|
||||
@ -147,8 +147,8 @@ public class XzUserToSupplierController {
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "通过id查询星纵-新用户和供应商关联信息", notes = "通过id查询星纵-新用户和供应商关联信息", httpMethod = "POST")
|
||||
@ApiImplicitParam(name = "id", value = "星纵-新用户和供应商关联ID", paramType = "body", required = true, dataType = "Integer")
|
||||
@ApiOperation(value = "通过id查询星纵-用户和供应商关联信息", notes = "通过id查询星纵-用户和供应商关联信息", httpMethod = "POST")
|
||||
@ApiImplicitParam(name = "id", value = "星纵-用户和供应商关联ID", paramType = "body", required = true, dataType = "Integer")
|
||||
@PostMapping(value = "/queryById")
|
||||
public Result<XzUserToSupplier> queryById(@RequestBody Map<String, Object> map) {
|
||||
Result<XzUserToSupplier> result = new Result<XzUserToSupplier>();
|
||||
@ -165,7 +165,7 @@ public class XzUserToSupplierController {
|
||||
@ApiOperation(value = "修改项目下星纵-供应商企业类型", notes = "修改项目下星纵-供应商企业类型", httpMethod = "POST")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "xzSupplierTypeId", value = "企业类型ID", paramType = "body", required = true, dataType = "String"),
|
||||
@ApiImplicitParam(name = "ids", value = "星纵-新用户和供应商关联ID,多个逗号分隔", paramType = "body", required = true, dataType = "Integer")
|
||||
@ApiImplicitParam(name = "ids", value = "星纵-用户和供应商关联ID,多个逗号分隔", paramType = "body", required = true, dataType = "Integer")
|
||||
})
|
||||
@PostMapping(value = "/updateXzSupplierType")
|
||||
public Result<XzUserToSupplier> updateXzSupplierType(@RequestBody Map<String, Object> map) {
|
||||
|
||||
@ -219,6 +219,7 @@ public class XzSupplier implements Serializable {
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "用户id")
|
||||
private java.lang.Long userId;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -3,8 +3,6 @@ package com.zhgd.xmgl.modules.xz.entity;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@ -25,39 +23,42 @@ public class XzSupplierQualification implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value = "id")
|
||||
private java.lang.Long id;
|
||||
/**
|
||||
* 所属星纵-供应商id
|
||||
*/
|
||||
@Excel(name = "所属星纵-供应商id", width = 15)
|
||||
@ApiModelProperty(value = "所属星纵-供应商id")
|
||||
private java.lang.Long xzSupplierId;
|
||||
/**
|
||||
* 资质文件名称
|
||||
*/
|
||||
@Excel(name = "资质文件名称", width = 15)
|
||||
@ApiModelProperty(value = "资质文件名称")
|
||||
private java.lang.String fileName;
|
||||
* id
|
||||
*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value = "id")
|
||||
private java.lang.Long id;
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
@Excel(name = "用户id", width = 15)
|
||||
@ApiModelProperty(value = "用户id")
|
||||
private java.lang.Long userId;
|
||||
/**
|
||||
* 资质文件名称
|
||||
*/
|
||||
@Excel(name = "资质文件名称", width = 15)
|
||||
@ApiModelProperty(value = "资质文件名称")
|
||||
private java.lang.String fileName;
|
||||
/**
|
||||
* 资质文件编号
|
||||
*/
|
||||
@Excel(name = "资质文件编号", width = 15)
|
||||
@ApiModelProperty(value = "资质文件编号")
|
||||
private java.lang.String fileNumber;
|
||||
/**
|
||||
* 文件路径
|
||||
*/
|
||||
@Excel(name = "文件路径", width = 15)
|
||||
@ApiModelProperty(value = "文件路径")
|
||||
private java.lang.String fileUrl;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@Excel(name = "备注", width = 15)
|
||||
@ApiModelProperty(value = "备注")
|
||||
private java.lang.String remarks;
|
||||
/**
|
||||
* 文件路径
|
||||
*/
|
||||
@Excel(name = "文件路径", width = 15)
|
||||
@ApiModelProperty(value = "文件路径")
|
||||
private java.lang.String fileUrl;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@Excel(name = "备注", width = 15)
|
||||
@ApiModelProperty(value = "备注")
|
||||
private java.lang.String remarks;
|
||||
@ApiModelProperty(value = "源文件名称")
|
||||
private java.lang.String originFileName;
|
||||
|
||||
}
|
||||
|
||||
@ -11,7 +11,7 @@ import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
/**
|
||||
* @Description: 星纵-新用户和供应商关联
|
||||
* @Description: 星纵-用户和供应商关联
|
||||
* @author: pds
|
||||
* @date: 2020-08-13
|
||||
* @version: V1.0
|
||||
|
||||
@ -13,7 +13,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
/**
|
||||
* @Description: 星纵-新用户和供应商关联
|
||||
* @Description: 星纵-用户和供应商关联
|
||||
* @author: pds
|
||||
* @date: 2020-08-13
|
||||
* @version: V1.0
|
||||
|
||||
@ -10,7 +10,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Description: 星纵-新用户和供应商关联
|
||||
* @Description: 星纵-用户和供应商关联
|
||||
* @author: pds
|
||||
* @date: 2020-08-13
|
||||
* @version: V1.0
|
||||
|
||||
@ -133,7 +133,6 @@ public class XzSupplierQualificationApplyServiceImpl extends ServiceImpl<XzSuppl
|
||||
if (xzSupplier == null) {
|
||||
throw new OpenAlertException("供应商不存在");
|
||||
}
|
||||
Long oldXzSupplierId = xzSupplier.getId();
|
||||
xzSupplier.setId(null);
|
||||
XzSupplierRecord supplierRecord = new XzSupplierRecord();
|
||||
BeanUtil.copyProperties(xzSupplier, supplierRecord);
|
||||
@ -143,7 +142,7 @@ public class XzSupplierQualificationApplyServiceImpl extends ServiceImpl<XzSuppl
|
||||
xzSupplierQualificationApply.setApplyUserId(Long.valueOf(userId));
|
||||
baseMapper.insert(xzSupplierQualificationApply);
|
||||
List<XzSupplierQualification> xzSupplierQualifications = xzSupplierQualificationMapper.selectList(new LambdaQueryWrapper<XzSupplierQualification>()
|
||||
.eq(XzSupplierQualification::getXzSupplierId, oldXzSupplierId));
|
||||
.eq(XzSupplierQualification::getUserId, userId));
|
||||
for (XzSupplierQualification xzSupplierQualification : xzSupplierQualifications) {
|
||||
XzSupplierQualificationRecord qualificationRecord = new XzSupplierQualificationRecord();
|
||||
qualificationRecord.setXzSupplierRecordId(supplierRecord.getId());
|
||||
|
||||
@ -209,6 +209,7 @@ public class XzSupplierServiceImpl extends ServiceImpl<XzSupplierMapper, XzSuppl
|
||||
map.put("userId", xzSupplier.getUserId());
|
||||
XzSupplier supplier = getXzSupplierByUserId(map);
|
||||
if (supplier != null) {
|
||||
xzSupplier.setId(supplier.getId());
|
||||
updateXzSupplier(xzSupplier);
|
||||
} else {
|
||||
saveXzSupplier(xzSupplier);
|
||||
|
||||
@ -30,7 +30,7 @@ import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
/**
|
||||
* @Description: 星纵-新用户和供应商关联
|
||||
* @Description: 星纵-用户和供应商关联
|
||||
* @author: pds
|
||||
* @date: 2020-08-13
|
||||
* @version: V1.0
|
||||
|
||||
@ -18,6 +18,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
70
src/main/java/com/zhgd/xmgl/task/VideoItemTask.java
Normal file
70
src/main/java/com/zhgd/xmgl/task/VideoItemTask.java
Normal file
@ -0,0 +1,70 @@
|
||||
package com.zhgd.xmgl.task;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.zhgd.xmgl.async.AsyncHikvision;
|
||||
import com.zhgd.xmgl.call.HikvisionCall;
|
||||
import com.zhgd.xmgl.modules.project.entity.ProjectVideoConfig;
|
||||
import com.zhgd.xmgl.modules.project.mapper.ProjectVideoConfigMapper;
|
||||
import com.zhgd.xmgl.modules.project.service.ProgressTaskService;
|
||||
import com.zhgd.xmgl.modules.video.mapper.VideoItemMapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.javacrumbs.shedlock.core.SchedulerLock;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 视频设备(监控点)定时任务
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("xmgl/task")
|
||||
public class VideoItemTask {
|
||||
@Autowired
|
||||
HikvisionCall hikvisionCall;
|
||||
@Autowired
|
||||
AsyncHikvision asyncHikvision;
|
||||
|
||||
@Autowired
|
||||
ProgressTaskService progressTaskService;
|
||||
@Autowired
|
||||
VideoItemMapper videoItemMapper;
|
||||
@Autowired
|
||||
ProjectVideoConfigMapper projectVideoConfigMapper;
|
||||
|
||||
/**
|
||||
* 定时获取录像完整性结果
|
||||
*/
|
||||
@SchedulerLock(name = "manageAlarmData", lockAtMostFor = 1000 * 60 * 60, lockAtLeastFor = 1000 * 60 * 5)
|
||||
@Scheduled(cron = "0 0 0/1 * * ?")
|
||||
public void manageAlarmData() {
|
||||
log.info("定时获取录像完整性结果任务开始");
|
||||
HashMap<String, Object> map = new HashMap<>();
|
||||
map.put("videoType", 3);
|
||||
//List<VideoItemConfigBo> videoItemConfigBos = videoItemMapper.selectDeviceDetailAndProjectSnList(map);
|
||||
//videoItemMapper.selectList(new LambdaQueryWrapper<VideoItem>()
|
||||
// .eq(VideoItem::getProjectSn, ));
|
||||
//hikvisionCall.getCameraOnline();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 定时获取视频质量诊断结果
|
||||
*/
|
||||
@SchedulerLock(name = "addVqdForHikvision", lockAtMostFor = 1000 * 60 * 60, lockAtLeastFor = 1000 * 60 * 5)
|
||||
@Scheduled(cron = "0 0 0/1 * * ?")
|
||||
public void addVqdForHikvision() {
|
||||
log.info("定时获取视频质量诊断结果任务开始");
|
||||
List<ProjectVideoConfig> projectVideoConfigs = projectVideoConfigMapper.selectList(new LambdaQueryWrapper<ProjectVideoConfig>()
|
||||
.eq(ProjectVideoConfig::getVideoType, 3));
|
||||
for (ProjectVideoConfig projectVideoConfig : projectVideoConfigs) {
|
||||
asyncHikvision.addVqdForHikvision(projectVideoConfig);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -92,6 +92,12 @@ public class HikvisionUtil {
|
||||
return responseStr;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取data结果
|
||||
*
|
||||
* @param rs
|
||||
* @return
|
||||
*/
|
||||
public static JSONObject getJSONObjectData(String rs) {
|
||||
JSONObject rsJo = JSONObject.parseObject(rs);
|
||||
Integer code = rsJo.getInteger("code");
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user