From b4ee40c126d54de402d1ca4227e4cbc142aa7475 Mon Sep 17 00:00:00 2001 From: shizisheng Date: Tue, 10 Jun 2025 19:01:12 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=89=A9=E5=B1=95=E9=BB=98=E8=AE=A4=E6=8E=A8=E9=80=81pushDeptI?= =?UTF-8?q?d?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/controller/DeviceController.java | 24 +++++++++++++++++++ .../sample/manage/model/dto/DeviceDTO.java | 3 +++ .../manage/model/entity/DeviceEntity.java | 4 ++++ .../sample/manage/service/IDeviceService.java | 4 ++++ .../service/impl/DeviceServiceImpl.java | 24 +++++++++++++++++++ 5 files changed, 59 insertions(+) diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/DeviceController.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/DeviceController.java index ff2cc0e..0882372 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/DeviceController.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/DeviceController.java @@ -9,6 +9,7 @@ import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.web.core.BaseController; import org.dromara.sample.manage.model.dto.DeviceDTO; import org.dromara.sample.manage.model.dto.DeviceFirmwareUpgradeDTO; +import org.dromara.sample.manage.model.entity.DeviceEntity; import org.dromara.sample.manage.service.IDeviceProService; import org.dromara.sample.manage.service.IDeviceRedisService; import org.dromara.sample.manage.service.IDeviceService; @@ -56,6 +57,29 @@ public class DeviceController { return HttpResultResponse.success(devicesList); } + + //查找设备列表-简版 + @GetMapping("/{workspace_id}/devices/simple") + public HttpResultResponse> getDevices_Short( @PathVariable("workspace_id") String workspaceId,Integer domain, + @RequestParam(name = "pageNum", defaultValue = "1") Long page, + @RequestParam(name = "pageSize", defaultValue = "10") Long pageSize, + @RequestParam(name = "nickname",required = false) String nickname, + @RequestParam(name = "proIds",required = false) List proIds) { + PaginationData devicesList = deviceService.getListShort(workspaceId, page, pageSize, domain,nickname,proIds); + return HttpResultResponse.success(devicesList); + } + + //更新设备信息-简版 + @PutMapping("/{workspace_id}/devices/{device_sn}/simple") + public HttpResultResponse updateDeviceSimple(@RequestBody DeviceEntity device, + @PathVariable("workspace_id") String workspaceId + ) { + boolean isUpd = deviceService.updateDeiceSimple(device); + return isUpd ? HttpResultResponse.success() : HttpResultResponse.error(); + } + + + /** * 将设备绑定到工作区,只能web查看 * After binding the device to the workspace, the device data can only be seen on the web. diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceDTO.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceDTO.java index 2bbfb94..d3edc5e 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceDTO.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceDTO.java @@ -114,4 +114,7 @@ public class DeviceDTO { private Float longitude; private Float height; + + + private Long pushDeptId; } diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceEntity.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceEntity.java index 967f9db..bb72cca 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceEntity.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceEntity.java @@ -101,4 +101,8 @@ public class DeviceEntity implements Serializable { @TableField(value = "height") private Float height; + @TableField(value = "push_dept_id") + private Long pushDeptId; + + } diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceService.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceService.java index f990a81..80e69e1 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceService.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceService.java @@ -204,4 +204,8 @@ public interface IDeviceService { void pushOsdDataToWeb(String workspaceId, BizCodeEnum codeEnum, String sn, Object data); void updateFlightControl(DeviceDTO gateway, ControlSourceEnum controlSource); + + PaginationData getListShort(String workspaceId, Long page, Long pageSize, Integer domain, String nickname, List proIds); + + boolean updateDeiceSimple(DeviceEntity device); } diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceServiceImpl.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceServiceImpl.java index 51eb246..c1074a0 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceServiceImpl.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceServiceImpl.java @@ -213,6 +213,7 @@ public class DeviceServiceImpl implements IDeviceService { @Override public List getDevicesByParams(DeviceQueryParam param) { +// mapper.selectList(new LambdaQueryWrapper<>());//全量查询 return mapper.selectList( new LambdaQueryWrapper() .eq(StringUtils.hasText(param.getDeviceSn()), @@ -439,6 +440,7 @@ public class DeviceServiceImpl implements IDeviceService { .latitude(entity.getLatitude()) .longitude(entity.getLongitude()) .height(entity.getHeight()) + .pushDeptId(entity.getPushDeptId()) .thingVersion(entity.getVersion()).build(); } catch (CloudSDKException e) { log.error(e.getLocalizedMessage() + "Entity: {}", entity); @@ -733,6 +735,28 @@ public class DeviceServiceImpl implements IDeviceService { .build()); } + @Override + public PaginationData getListShort(String workspaceId, Long page, Long pageSize, Integer domain, String nickname, List proIds) { + Page pagination = mapper.selectPage(new Page<>(page, pageSize), + new LambdaQueryWrapper() + .eq(DeviceEntity::getDomain, domain) + .eq(DeviceEntity::getWorkspaceId, workspaceId) + .eq(DeviceEntity::getBoundStatus, true) + .in(ObjectUtil.isAllNotEmpty(proIds),DeviceEntity::getProId, proIds) + .eq(org.dromara.common.core.utils.StringUtils.isNotEmpty(nickname),DeviceEntity::getNickname,nickname)); + List devicesList = pagination.getRecords().stream().map(this::deviceEntityConvertToDTO).collect(Collectors.toList()); + return new PaginationData(devicesList, new Pagination(pagination.getCurrent(), pagination.getSize(), pagination.getTotal())); + } + + @Override + public boolean updateDeiceSimple(DeviceEntity device) { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.set(DeviceEntity::getId,device.getId()); + updateWrapper.set(DeviceEntity::getPushDeptId,device.getPushDeptId()); + int update = mapper.update(updateWrapper); + return update > 0; + } + /** * Convert device data transfer object into database entity object. * @param dto From dc7adedf9950427628a9a619db9ce7dfdede0c52 Mon Sep 17 00:00:00 2001 From: shizisheng Date: Tue, 10 Jun 2025 19:02:19 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=98=9F=E9=80=BB=E7=AE=97=E6=B3=95-=201.r?= =?UTF-8?q?ecord=E8=AE=B0=E5=BD=95=E4=BF=9D=E5=AD=98=E6=89=A9=E5=B1=95=20?= =?UTF-8?q?=202.=E9=A2=84=E8=AD=A6=E6=8F=90=E7=A4=BA-=E8=81=94=E5=8A=A8?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E6=B5=81+=E5=89=8D=E5=8F=B0=E6=8F=90?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/BusinessAlertController.java | 4 +- .../dubbo/RemoteBusinessAlertServiceImpl.java | 2 +- .../service/IBusinessAlertService.java | 3 +- .../impl/BusinessAlertServiceImpl.java | 68 ++++++++++++------- .../feign/RemoteBusinessAlertFeign.java | 2 +- .../model/entity/EngineRecordEntity.java | 3 + .../manage/model/entity/TaskJobEntity.java | 6 ++ .../model/entity/WarningRecordEntity.java | 3 + .../impl/SampleEngineRecordServiceImpl.java | 36 +++++++--- 9 files changed, 89 insertions(+), 38 deletions(-) diff --git a/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessAlertController.java b/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessAlertController.java index 34f84ad..da35105 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessAlertController.java +++ b/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessAlertController.java @@ -170,7 +170,9 @@ public class BusinessAlertController extends BaseController { public Boolean saveBusinessAlert(@RequestBody JSONObject requestJSON) { // return businessAlertService.batchAddBusinessAlert(alertVoList, activeProfile); RemoteBusinessAlertRequest requestObj = JSONUtil.toBean(requestJSON, RemoteBusinessAlertRequest.class); - return businessAlertService.batchAddBusinessAlert(requestObj.getAlertVoList(), requestObj.getActiveProfile()); + Long pushDeptId = requestJSON.getLong("pushDeptId"); + + return businessAlertService.batchAddBusinessAlert(requestObj.getAlertVoList(), requestObj.getActiveProfile(), pushDeptId); } diff --git a/dk-modules/business/src/main/java/org/dromara/business/dubbo/RemoteBusinessAlertServiceImpl.java b/dk-modules/business/src/main/java/org/dromara/business/dubbo/RemoteBusinessAlertServiceImpl.java index 9a1726d..5c37939 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/dubbo/RemoteBusinessAlertServiceImpl.java +++ b/dk-modules/business/src/main/java/org/dromara/business/dubbo/RemoteBusinessAlertServiceImpl.java @@ -34,7 +34,7 @@ public class RemoteBusinessAlertServiceImpl implements RemoteBusinessAlertServic @Override public Boolean saveBusinessAlert(List alertVoList, String activeProfile) { - return businessAlertService.batchAddBusinessAlert(alertVoList, activeProfile); + return businessAlertService.batchAddBusinessAlert(alertVoList, activeProfile,null); } /** diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessAlertService.java b/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessAlertService.java index 1ef5e4a..f5c72ab 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessAlertService.java +++ b/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessAlertService.java @@ -49,7 +49,7 @@ public interface IBusinessAlertService { * @param alertVoList 预警任务 * @return 是否新增成功 */ - Boolean batchAddBusinessAlert(List alertVoList, String activeProfile); + Boolean batchAddBusinessAlert(List alertVoList, String activeProfile,Long pushDeptId); /** * 修改预警任务 @@ -108,5 +108,6 @@ public interface IBusinessAlertService { void exportAlert(BusinessAlertBo bo, HttpServletResponse response) throws IOException; void pushAlert(Long alertId, String deptId, String deptName); + void pushAlertSimple(Long alertId, String deptId, String deptName); } diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertServiceImpl.java b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertServiceImpl.java index c796b5a..c08d5dc 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertServiceImpl.java +++ b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertServiceImpl.java @@ -49,6 +49,7 @@ import org.dromara.resource.api.RemoteMessageService; import org.dromara.system.api.*; import org.dromara.system.api.domain.bo.RemoteNoticeBo; import org.dromara.system.api.domain.vo.RemoteAiLabelPostVo; +import org.dromara.system.api.domain.vo.RemoteDeptVo; import org.dromara.system.api.domain.vo.RemoteUserVo; import org.dromara.business.domain.BusinessAlertConstructInfoOss; import org.dromara.business.mapper.BusinessAlertConstructInfoOssMapper; @@ -127,6 +128,9 @@ public class BusinessAlertServiceImpl implements IBusinessAlertService { @DubboReference(timeout = 30000) private RemoteNoticeService remoteNoticeService; + @DubboReference + private RemoteDeptService remoteDeptService; + /** * 新增预警任务 @@ -264,10 +268,11 @@ public class BusinessAlertServiceImpl implements IBusinessAlertService { /** * 批量添加 * @param alertVoList 预警任务 + * @param pushDeptId 星逻算法+pushDeptId ,可以自动推送预警记录 * @return */ @Override - public Boolean batchAddBusinessAlert(List alertVoList, String activeProfile) { + public Boolean batchAddBusinessAlert(List alertVoList, String activeProfile, Long pushDeptId) { List businessAlerts = alertVoList.stream().map(alert -> { BusinessAlert businessAlert = new BusinessAlert(); alert.setCreateTime(new Date()); @@ -292,20 +297,6 @@ public class BusinessAlertServiceImpl implements IBusinessAlertService { boolean b = this.baseMapper.insertBatch(businessAlerts); - //推送消息-基于部门-找用户 发送json格式 --此时没有deptId,无效预警 - for (BusinessAlert alert : businessAlerts) { - if(ObjectUtil.isEmpty(alert.getDeptId())){ - continue; - } - ArrayList deptIds = new ArrayList<>(); - deptIds.add(Long.parseLong(alert.getDeptId())); - List remoteUserVos = remoteUserService.selectUsersByDeptIds(deptIds); - List userIds = remoteUserVos.stream().map(RemoteUserVo::getUserId).collect(Collectors.toList()); - - String imagePreviewUrl = MinioUntil.getObjectUrlOne(MinIOConstants.BUCKET_DKCY, alert.getImages(), 3600).toString(); - JSONObject jsonObject = setupBusinessAlertSSEObj(alert, imagePreviewUrl); - remoteMessageService.publishMessage(userIds, jsonObject.toString() ); - } /*List alertConstructInfoList = businessAlerts.stream().map(alert -> { BusinessAlertConstructInfoVo alertConstructInfoVo = alert.getAlertConstructInfoVo(); @@ -318,17 +309,32 @@ public class BusinessAlertServiceImpl implements IBusinessAlertService { //基于系统参数判断是否要自动提交 boolean submitFlag = remoteConfigService.selectXingluoAutoSubmit(); - if(submitFlag){ - System.out.println("记录内容提交"); - String collect = alertVoList.stream().map(RemoteBusinessAlertVo::getLabelCn).collect(Collectors.joining(",")); - System.out.println(collect); - for (BusinessAlert businessAlert : businessAlerts) { -// this.pushAlert(businessAlert.getAlertId(),); + if(!submitFlag){ return b; } + if(ObjectUtil.isEmpty(pushDeptId)){ return b;} + RemoteDeptVo remoteDeptVo = remoteDeptService.selectDeptById(pushDeptId); + + /** 更新记录 **/ + System.out.println("记录内容提交"); + String collect = alertVoList.stream().map(RemoteBusinessAlertVo::getLabelCn).collect(Collectors.joining(",")); + System.out.println(collect); + for (BusinessAlert businessAlert : businessAlerts) { +// this.pushAlert(businessAlert.getAlertId(), businessAlert.getDeptId()); + this.pushAlertSimple(businessAlert.getId(), pushDeptId.toString(),remoteDeptVo.getDeptName()); + } - } + /** 推送消息-基于部门-找用户 发送json格式 --没有deptId就是无效预警 **/ + for (BusinessAlert alert : businessAlerts) { + if(ObjectUtil.isEmpty(pushDeptId)){ continue;} //ObjectUtil.isEmpty(alert.getDeptId()) || - } + ArrayList deptIds = new ArrayList<>(); + deptIds.add(pushDeptId); + List remoteUserVos = remoteUserService.selectUsersByDeptIds(deptIds); + List userIds = remoteUserVos.stream().map(RemoteUserVo::getUserId).collect(Collectors.toList()); + String imagePreviewUrl = MinioUntil.getObjectUrlOne(MinIOConstants.BUCKET_DKCY, alert.getImages(), 3600).toString(); + JSONObject jsonObject = setupBusinessAlertSSEObj(alert, imagePreviewUrl); + remoteMessageService.publishMessage(userIds, jsonObject.toString() ); + } return b; } @@ -1071,6 +1077,22 @@ public class BusinessAlertServiceImpl implements IBusinessAlertService { remoteSubmailConfigService.remoteCmdSend("smsMultixsend", JSON.toJSONString(businessAlert)); } + //更新工作流-简版 + @Override + public void pushAlertSimple(Long alertId, String deptId, String deptName) { + BusinessAlert businessAlert= this.getBusinessAlert(alertId); + if(!ObjectUtil.hasEmpty(deptId,deptName)){ + businessAlert.setDeptName(deptName); + businessAlert.setDeptId(deptId); + } + businessAlert.setCreateTime(new Date()); + //businessAlert.setJobName(deptName + businessAlert.getLabelCn() + DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",businessAlert.getCreateTime())); + this.updateBusinessAlert(businessAlert); + RemoteStartProcess startProcess = new RemoteStartProcess(); + startProcess.setBusinessId(String.valueOf(businessAlert.getId())); + startProcess.setFlowCode("alertChz"); + remoteWorkflowService.startWorkFlowBatch(List.of(startProcess)); + } // 压缩图片方法 private static BufferedImage compressImage(BufferedImage originalImage, int targetWidth, int targetHeight) { diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/feign/RemoteBusinessAlertFeign.java b/dk-modules/sample/src/main/java/org/dromara/sample/feign/RemoteBusinessAlertFeign.java index 863090d..65a68cf 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/feign/RemoteBusinessAlertFeign.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/feign/RemoteBusinessAlertFeign.java @@ -12,5 +12,5 @@ public interface RemoteBusinessAlertFeign { @PostMapping("/saveBusinessAlert") // public R saveBusinessAlert(@RequestBody RemoteBusinessAlertRequest requestObj); - public R saveBusinessAlert(@RequestBody JSONObject requestObj); + public Boolean saveBusinessAlert(@RequestBody JSONObject requestObj); } diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/EngineRecordEntity.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/EngineRecordEntity.java index 92494af..0945402 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/EngineRecordEntity.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/EngineRecordEntity.java @@ -62,4 +62,7 @@ public class EngineRecordEntity implements Serializable { @TableField(value = "stop_res_data_str") private String stopResDataStr; + @TableField(value = "push_dept_id") + private Long pushDeptId; + } diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/TaskJobEntity.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/TaskJobEntity.java index c08e7c4..2afbd1d 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/TaskJobEntity.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/TaskJobEntity.java @@ -32,6 +32,12 @@ public class TaskJobEntity implements Serializable { private String deviceSn; + @TableField(value = "extra_type") //算法类型 + private String extraType; + + @TableField(value = "push_dept_id") + private Long pushDeptId; + @TableField(fill = FieldFill.INSERT) private Date createTime; diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/WarningRecordEntity.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/WarningRecordEntity.java index 3d0577e..35e431c 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/WarningRecordEntity.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/WarningRecordEntity.java @@ -26,6 +26,9 @@ public class WarningRecordEntity implements Serializable { @TableField(value = "task_id") private String taskId; + @TableField(value = "device_sn") + private String deviceSn; + @TableField(value = "algo_id") private Integer algoId; //算法 id") diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/SampleEngineRecordServiceImpl.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/SampleEngineRecordServiceImpl.java index 69d3850..075f8d0 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/SampleEngineRecordServiceImpl.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/SampleEngineRecordServiceImpl.java @@ -24,6 +24,7 @@ import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; import org.dromara.business.api.domain.RemoteBusinessAlertRequest; import org.dromara.business.api.domain.vo.RemoteBusinessAlertVo; +import org.dromara.common.core.domain.R; import org.dromara.common.core.utils.file.MimeTypeUtils; import org.dromara.common.oss.core.OssClient; import org.dromara.common.oss.entity.UploadResult; @@ -164,9 +165,22 @@ public class SampleEngineRecordServiceImpl implements ISampleEngineRecordService @Override public Map startEngine(Map objectMap){ System.out.println("objectMap" + objectMap); + + String deviceSn = MapUtil.getStr(objectMap, "deviceSn", ""); + String type = MapUtil.getStr(objectMap, "type", ""); // objectMap.get("type").toString(); + DeviceDTO deviceDTO = deviceService.getDeviceBySn(deviceSn).orElse(null); + //获取rtmpUrl + 默认记录上传 pushDeptId + String rtmpUrl = ""; + Long pushDeptId = null; + if (deviceDTO != null) { + String childDeviceRtmpUrl = deviceService.getChildDeviceStreamUrlByDeviceSn(deviceDTO.getChildDeviceSn()); + rtmpUrl = childDeviceRtmpUrl; + pushDeptId = deviceDTO.getPushDeptId(); + } // String configKey = remoteSystemFeign.getConfigKey("xingluo.auto.submit");//通 // System.out.println("configKey"+configKey); EngineRecordEntity record = new EngineRecordEntity(); + record.setPushDeptId(pushDeptId); // String ip = remoteConfigService.selectStreamIp(); String ip = remoteConfigFeign.getConfigKey("stream"); System.out.println(ip); @@ -185,21 +199,12 @@ public class SampleEngineRecordServiceImpl implements ISampleEngineRecordService String algorithmResponseBody = null; String taskId = ""; String missionBatch = ""; - String deviceSn = MapUtil.getStr(objectMap, "deviceSn", ""); - //获取rtmpUrl - String rtmpUrl = ""; - DeviceDTO deviceDTO = deviceService.getDeviceBySn(deviceSn).orElse(null); - if (deviceDTO != null) { - String childDeviceRtmpUrl = deviceService.getChildDeviceStreamUrlByDeviceSn(deviceDTO.getChildDeviceSn()); - rtmpUrl = childDeviceRtmpUrl; - } //查询用户开通的场景 Object rtmpUrlParam = objectMap.get("rtmpUrl"); String pushUrl = "rtmp://" + ip + "/live/livesteam/" + rtmpUrl + "ai1"; if (StringUtils.isNotEmpty(token)){ JSONObject jsonObj2 = new JSONObject(); - String type = objectMap.get("type").toString(); if (StringUtils.isNotEmpty(type)){ //2004_ext 算法名称 List list = Arrays.asList(type.split(",")); jsonObj2.put("scene", "可见光"); // sanitize函数见下文 @@ -266,6 +271,8 @@ public class SampleEngineRecordServiceImpl implements ISampleEngineRecordService taskJobEntity.setJobId(jobIdStr); taskJobEntity.setTaskId(objectMap.get("task_id").toString()); taskJobEntity.setDeviceSn(deviceSn); + taskJobEntity.setExtraType(type); + taskJobEntity.setPushDeptId(pushDeptId); taskJobMapper.insert(taskJobEntity); return map; } @@ -363,7 +370,8 @@ public class SampleEngineRecordServiceImpl implements ISampleEngineRecordService // .eq(WarningRecordEntity::getTrackIds, trackIds) // .count(); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(WarningRecordEntity::getTaskId, taskIdStr) + queryWrapper + .eq(WarningRecordEntity::getTaskId, taskIdStr) .eq(WarningRecordEntity::getExtraType, extraTypeStr) .eq(WarningRecordEntity::getTrackIds, trackIds); Long count = sampleWarningRecordMapper.selectCount(queryWrapper); @@ -391,6 +399,8 @@ public class SampleEngineRecordServiceImpl implements ISampleEngineRecordService String activeProfile = "w_nantong"; ArrayList alertVoList = new ArrayList<>(); + Long pushDeptId = null; + String pushDeptName = ""; for (WarningRecordEntity warningRecordEntity : warningRecordList) { RemoteBusinessAlertVo remoteBusinessAlertVo = new RemoteBusinessAlertVo(); if(ObjectUtil.isEmpty(warningRecordEntity.getTaskId())){ continue;} //空数据跳过 @@ -405,9 +415,11 @@ public class SampleEngineRecordServiceImpl implements ISampleEngineRecordService TaskJobEntity taskJobEntity = taskJobMapper.selectOne(taskJobquery); String deviceSn = ""; + if(BeanUtil.isNotEmpty(taskJobEntity)){ String jobId = taskJobEntity.getJobId(); deviceSn = taskJobEntity.getDeviceSn(); + pushDeptId = taskJobEntity.getPushDeptId(); if(StrUtil.equals("-1",jobId)){ //没有jobId,给个默认名称 remoteBusinessAlertVo.setJobId("-1"); remoteBusinessAlertVo.setJobName("手动飞行" + "-" +remoteBusinessAlertVo.getLabelCn()+ DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss")); @@ -445,13 +457,15 @@ public class SampleEngineRecordServiceImpl implements ISampleEngineRecordService //businessAlertConstructInfo数据 alertVoList.add(remoteBusinessAlertVo); } + // businessAlertService.saveBusinessAlert(alertVoList,activeProfile); //远程触发预警消息 RemoteBusinessAlertRequest remoteBusinessAlertRequest = new RemoteBusinessAlertRequest(); remoteBusinessAlertRequest.setAlertVoList(alertVoList); remoteBusinessAlertRequest.setActiveProfile(activeProfile); cn.hutool.json.JSONObject requestObj = new cn.hutool.json.JSONObject(remoteBusinessAlertRequest); - remoteBusinessAlertFeign.saveBusinessAlert(requestObj); + requestObj.set("pushDeptId", pushDeptId); + Boolean booleanR = remoteBusinessAlertFeign.saveBusinessAlert(requestObj); return callBackVo.getEvents().size(); }