From 7473859cd3ee464fde053435f7c2da5aab71aa9b Mon Sep 17 00:00:00 2001
From: rain <1679827795@qq.com>
Date: Fri, 23 Jan 2026 10:02:14 +0800
Subject: [PATCH] 巡查任务报告及工单事件详情根据经纬度返回详细地址

---
 drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdClueEventServiceImpl.java |   47 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 47 insertions(+), 0 deletions(-)

diff --git a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdClueEventServiceImpl.java b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdClueEventServiceImpl.java
index d89a52e..dbf21b8 100644
--- a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdClueEventServiceImpl.java
+++ b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdClueEventServiceImpl.java
@@ -29,7 +29,10 @@
 import org.sxkj.gd.workorder.param.GdClueEventRejectParam;
 import org.sxkj.gd.workorder.service.IGdClueEventService;
 import org.sxkj.gd.workorder.service.IGdTaskResultService;
+import org.sxkj.gd.workorder.vo.GdClueEventCountVO;
+import org.sxkj.gd.workorder.vo.GdClueEventListVO;
 import org.sxkj.gd.workorder.vo.GdClueEventVO;
+import org.sxkj.gd.utils.GdGeoAddressUtil;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springblade.core.mp.base.BaseServiceImpl;
@@ -55,6 +58,50 @@
 	}
 
 	@Override
+	public IPage<GdClueEventVO> selectGdClueEventList(IPage<GdClueEventVO> page, Wrapper<GdClueEventEntity> queryWrapper) {
+		return page.setRecords(baseMapper.selectGdClueEventList(page, queryWrapper));
+	}
+
+	@Override
+	public List<GdClueEventListVO> listGdClueEventByDept(Integer onlyMine) {
+		Long deptId = Long.valueOf(AuthUtil.getDeptId());
+		Long userId = AuthUtil.getUserId();
+		Integer mine = onlyMine == null ? 0 : onlyMine;
+		return baseMapper.selectGdClueEventSimpleList(deptId, userId, mine);
+	}
+
+	@Override
+	public GdClueEventVO getGdClueEventDetail(Long id) {
+		if (id == null) {
+			throw new RuntimeException("事件ID不能为空");
+		}
+		Long deptId = Long.valueOf(AuthUtil.getDeptId());
+		GdClueEventVO detail = baseMapper.selectGdClueEventDetailById(id, deptId);
+		if (detail == null) {
+			throw new RuntimeException("事件不存在");
+		}
+		String address = GdGeoAddressUtil.getFormattedAddress(detail.getLongitude(), detail.getLatitude());
+		if (StringUtil.isNotBlank(address)) {
+			detail.setEventLocation(address);
+		}
+		return detail;
+	}
+
+	@Override
+	public GdClueEventCountVO getGdClueEventCount() {
+		Long deptId = Long.valueOf(AuthUtil.getDeptId());
+		Long userId = AuthUtil.getUserId();
+		GdClueEventCountVO countVO = baseMapper.selectGdClueEventCount(deptId, userId);
+		if (countVO == null) {
+			GdClueEventCountVO empty = new GdClueEventCountVO();
+			empty.setTotalCount(0L);
+			empty.setMyCount(0L);
+			return empty;
+		}
+		return countVO;
+	}
+
+	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public boolean distributeClueEvent(GdClueEventDistributeParam distributeParam) {
 		GdTaskResultEntity taskResult = gdTaskResultService.getById(distributeParam.getResultId());

--
Gitblit v1.9.3