吉安感知网项目-后端
rain
2026-01-23 7473859cd3ee464fde053435f7c2da5aab71aa9b
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());