From f6262ca8c164e25cc15bf172d33e71c39a2dac1f Mon Sep 17 00:00:00 2001 From: yq183 <645046984@qq.com> Date: Tue, 22 Apr 2025 16:25:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=EF=BC=9A=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E5=80=92=E5=8F=99=20=20=E3=80=82=E8=87=AA=E5=8A=A8=E9=A3=9E?= =?UTF-8?q?=E8=A1=8C=E6=9B=B4=E6=94=B9=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/AiCompareServiceImpl.java | 9 +++--- .../service/impl/SDKWaylineService.java | 29 ++++++++++++++++++- 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/AiCompareServiceImpl.java b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/AiCompareServiceImpl.java index 9f5ffa7..17879c1 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/AiCompareServiceImpl.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/AiCompareServiceImpl.java @@ -87,7 +87,7 @@ public class AiCompareServiceImpl implements IAiCompareService { .like(StringUtils.isNotBlank(bo.getDeptName()), "lower(dept_name)", StringUtils.lowerCase(bo.getDeptName())) .like(StringUtils.isNotBlank(bo.getJobName()), "lower(job_name)", StringUtils.lowerCase(bo.getJobName())) .between(params.get("beginTime") != null && params.get("endTime") != null, - "create_time", params.get("beginTime"), params.get("endTime")); + "create_time", params.get("beginTime"), params.get("endTime")).orderByDesc("create_time"); return wrapper; } @Override @@ -96,7 +96,7 @@ public class AiCompareServiceImpl implements IAiCompareService { if(compareDTOList.isEmpty()){ throw new RuntimeException("未选择比对数据"); } - List insertList =new ArrayList<>(); +// List insertList =new ArrayList<>(); for (Map bo : compareDTOList) { Long queueId = bo.containsKey("queueId") ? Convert.toLong(bo.get("queueId")) : null; String waylineId = bo.containsKey("waylineId") ? Convert.toStr(bo.get("waylineId")) : null; @@ -137,12 +137,13 @@ public class AiCompareServiceImpl implements IAiCompareService { aiCompareEntity.setTemplateId(jobEntityList.get(0).getJobId()); } } + aiCompareMapper.insert(aiCompareEntity); String topic = TopicConst.IMAGE +TopicConst.COMPARE; List mediaFileDTOS = listMediaFile(aiCompareEntity.getJobId(),aiCompareEntity.getId(),43200,false); mqttGatewayPublish.publish(topic, new CommonTopicRequest().setData(mediaFileDTOS),1); - insertList.add(aiCompareEntity); +// insertList.add(aiCompareEntity); } - List resultList = aiCompareMapper.insertOrUpdate(insertList, 10); +// List resultList = aiCompareMapper.insertOrUpdate(insertList, 10); List list =compareDTOList.stream().map(e->Convert.toLong(e.get("queueId"))).collect(Collectors.toList()); return aiCompareQueueService.updateStatus(list,AiCompareStatusConstants.QUEUW_TYPE_1); } diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/SDKWaylineService.java b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/SDKWaylineService.java index d97d9a9..8336524 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/SDKWaylineService.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/SDKWaylineService.java @@ -1,5 +1,8 @@ package org.dromara.sample.wayline.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.dromara.common.core.constant.DeviceQrtzConstants; import org.dromara.common.sdk.cloudapi.wayline.*; import org.dromara.common.sdk.cloudapi.wayline.api.AbstractWaylineService; import org.dromara.common.sdk.mqtt.MqttReply; @@ -11,7 +14,9 @@ import org.dromara.common.sdk.mqtt.requests.TopicRequestsResponse; import org.dromara.common.websocket.dto.BizCodeEnum; import org.dromara.sample.common.error.CommonErrorEnum; import org.dromara.sample.component.mqtt.model.EventsReceiver; +import org.dromara.sample.manage.mapper.IDeviceQrtzFileMapper; import org.dromara.sample.manage.model.dto.DeviceDTO; +import org.dromara.sample.manage.model.entity.DeviceQrtzFileEntity; import org.dromara.sample.manage.model.enums.UserTypeEnum; import org.dromara.sample.manage.service.IDeviceRedisService; import org.dromara.sample.media.model.MediaFileCountDTO; @@ -31,7 +36,9 @@ import org.springframework.transaction.annotation.Transactional; import java.net.URL; import java.sql.SQLException; +import java.sql.Wrapper; import java.time.LocalDateTime; +import java.util.List; import java.util.Objects; import java.util.Optional; @@ -58,7 +65,8 @@ public class SDKWaylineService extends AbstractWaylineService { @Autowired private IWaylineFileService waylineFileService; - + @Autowired + private IDeviceQrtzFileMapper deviceQrtzFileMapper; @Autowired private IWebSocketMessageService webSocketMessageService; @@ -105,9 +113,28 @@ public class SDKWaylineService extends AbstractWaylineService { .jobId(response.getBid()).mediaCount(job.getMediaCount()).uploadedCount(0).fileId(job.getFileId()).build()); } + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(DeviceQrtzFileEntity::getWaylineId,job.getFileId()).eq(DeviceQrtzFileEntity::getStatus, DeviceQrtzConstants.QRTZ_FILE_STATUS_1).eq(DeviceQrtzFileEntity::getDeviceSn,job.getDockSn()); + List fileEntityList = deviceQrtzFileMapper.selectList(wrapper); if (FlighttaskStatusEnum.OK != statusEnum) { job.setCode(eventsReceiver.getResult().getCode()); job.setStatus(WaylineJobStatusEnum.FAILED.getVal()); + + //异常 + if(!fileEntityList.isEmpty()){ + fileEntityList.forEach(f->{ + f.setStatus(DeviceQrtzConstants.QRTZ_FILE_STATUS_0); + }); + deviceQrtzFileMapper.updateById(fileEntityList); + } + }else if(FlighttaskStatusEnum.OK == statusEnum){ + //正常 + if(!fileEntityList.isEmpty()){ + fileEntityList.forEach(f->{ + f.setStatus(DeviceQrtzConstants.QRTZ_FILE_STATUS_3); + }); + deviceQrtzFileMapper.updateById(fileEntityList); + } } waylineJobService.updateJob(job); waylineRedisService.delRunningWaylineJob(response.getGateway());