From 537cf9cd1e3ac2e03655cc1d062dad8abc193a9a Mon Sep 17 00:00:00 2001
From: Xiajijian <1176061145@qq.com>
Date: Thu, 05 Feb 2026 20:18:05 +0800
Subject: [PATCH] 1. 最后提交所有修改。
---
ard-route/src/main/java/com/ard/route/service/impl/ArdRouteMissionServiceImpl.java | 70 ++++++++++++++++++++++++++++++++++-
1 files changed, 68 insertions(+), 2 deletions(-)
diff --git a/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteMissionServiceImpl.java b/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteMissionServiceImpl.java
index ea5facc..686d42a 100644
--- a/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteMissionServiceImpl.java
+++ b/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteMissionServiceImpl.java
@@ -1,17 +1,25 @@
package com.ard.route.service.impl;
import java.util.List;
+
+import com.alibaba.fastjson2.JSON;
+import com.ard.common.core.domain.entity.SysUser;
import com.ard.common.utils.DateUtils;
+import com.ard.common.utils.SecurityUtils;
import com.ard.common.utils.uuid.IdUtils;
import com.ard.route.domain.route.ArdRouteMission;
import com.ard.route.domain.route.ArdRoutePoint;
+import com.ard.route.domain.route.UpdateMission;
import com.ard.route.mapper.ArdRoutePointMapper;
+import com.ard.route.websocket.utils.MiWebSocketUtils;
+import com.ard.system.mapper.SysUserMapper;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import com.ard.route.mapper.ArdRouteMissionMapper;
import com.ard.route.service.IArdRouteMissionService;
-import static com.ard.common.utils.SecurityUtils.getUsername;
/**
* 航线任务Service业务层处理
@@ -20,6 +28,7 @@
* @date 2026-01-20
*/
@Service
+@Slf4j
public class ArdRouteMissionServiceImpl implements IArdRouteMissionService {
@Autowired
@@ -27,6 +36,9 @@
@Autowired
private ArdRoutePointMapper ardRoutePointMapper;
+
+ @Autowired
+ private SysUserMapper sysUserMapper;
/**
* 查询航线任务
@@ -70,10 +82,38 @@
public int insertArdRouteMission(ArdRouteMission ardRouteMission) {
ardRouteMission.setId(IdUtils.simpleUUID());
ardRouteMission.setExecuteStatus("0");
+ ardRouteMission.setIsRead("0");
ardRouteMission.setCreateTime(DateUtils.getNowDate());
+ ardRouteMission.setIssuerTime(DateUtils.getNowDate());
+ ardRouteMission.setIssuerName(getUserName(ardRouteMission.getIssuerId()));
dataProcessingRoutePoint(ardRouteMission.getMissionDetailList(),ardRouteMission.getId());
+ try {
+ log.debug("给用户{}定时推送,航线任务信息", ardRouteMission.getIssuerName());
+ MiWebSocketUtils.sendMessage(ardRouteMission.getIssuerId(),JSON.toJSONString(ardRouteMission));
+ } catch (Exception e) {
+ log.error("Error sending message to session {}", ardRouteMission.getIssuerName(), e);
+ }
return ardRouteMissionMapper.insertArdRouteMission(ardRouteMission);
}
+
+// /**
+// * 定时任务,定时发送新增航线任务消息
+// */
+// @Scheduled(fixedRate = 2000)
+// public void sendMissionMessage() {
+// ArdRouteMission ardRouteMission = new ArdRouteMission();
+// ardRouteMission.setIsRead("0");
+// // 获取所有未读的消息给
+// List<ArdRouteMission> routeMissionLs = ardRouteMissionMapper.selectArdRouteMissionList(ardRouteMission);
+// for (ArdRouteMission routeMissionL : routeMissionLs) {
+// if (routeMissionL.getIssuerId() != null){
+// List<ArdRoutePoint> missionDetailList = ardRoutePointMapper.selectArdRoutePointByMissionId(routeMissionL.getId());
+// routeMissionL.setMissionDetailList(missionDetailList);
+// MiWebSocketUtils.sendMessage(routeMissionL.getIssuerId(),JSON.toJSONString(routeMissionL));
+// }
+// }
+// }
+
/**
* 修改航线任务
@@ -84,11 +124,18 @@
@Override
public int updateArdRouteMission(ArdRouteMission ardRouteMission) {
ardRouteMission.setUpdateTime(DateUtils.getNowDate());
+ ardRouteMission.setIssuerName(getUserName(ardRouteMission.getIssuerId()));
// 删除航线任务航点
ardRoutePointMapper.deleteArdRoutePointByMissionId(ardRouteMission.getId());
// 重新插入航线任务航点
dataProcessingRoutePoint(ardRouteMission.getMissionDetailList(),ardRouteMission.getId());
return ardRouteMissionMapper.updateArdRouteMission(ardRouteMission);
+ }
+
+ // 获取用户名称
+ private String getUserName(Long userId) {
+ SysUser sysUser = sysUserMapper.selectUserById(userId);
+ return sysUser.getUserName();
}
/**
@@ -109,6 +156,8 @@
*/
@Override
public int deleteArdRouteMissionByIds(String[] ids) {
+ // 删除航线任务航点
+ ardRoutePointMapper.deleteArdRoutePointByMissionId(ids[0]);
return ardRouteMissionMapper.deleteArdRouteMissionByIds(ids);
}
@@ -120,6 +169,7 @@
*/
@Override
public int deleteArdRouteMissionById(String id) {
+ ardRoutePointMapper.deleteArdRoutePointByMissionId(id);
return ardRouteMissionMapper.deleteArdRouteMissionById(id);
}
@@ -135,10 +185,26 @@
ArdRouteMission ardRouteMission = new ArdRouteMission();
ardRouteMission.setId(id);
ardRouteMission.setExecuteStatus(status);
- ardRouteMission.setExecuteBy(getUsername());
+ ardRouteMission.setExecuteName(SecurityUtils.getUsername());
ardRouteMission.setExecuteTime(DateUtils.getNowDate());
ardRouteMission.setUpdateTime(DateUtils.getNowDate());
return ardRouteMissionMapper.updateArdRouteMission(ardRouteMission);
}
+ /**
+ * 批量修改航线任务已读状态
+ *
+ * @param updateMission 批量修改已读类型实体
+ * @return 结果
+ */
+ @Override
+ public int updateIsRead(UpdateMission updateMission) {
+ if (updateMission == null || updateMission.getIds() == null || updateMission.getIds().length == 0) {
+ return 0;
+ }
+ String[] ids = updateMission.getIds();
+ String isRead = updateMission.getIsRead();
+ return ardRouteMissionMapper.updateIsRead(ids, isRead);
+ }
+
}
--
Gitblit v1.9.3