吉安感知网项目-后端
rain
2026-01-23 f3a098ceaaf90e316d4183ac5532e07fbacff9e0
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdClueEventServiceImpl.java
@@ -29,8 +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;
@@ -78,7 +80,25 @@
      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
@@ -121,25 +141,30 @@
   @Override
   @Transactional(rollbackFor = Exception.class)
   public boolean rejectClueEvent(GdClueEventRejectParam rejectParam) {
   public boolean handleClueEvent(GdClueEventRejectParam rejectParam) {
      GdClueEventEntity clueEvent = getById(rejectParam.getEventId());
      if (clueEvent == null || (clueEvent.getIsDeleted() != null && clueEvent.getIsDeleted() != 0)) {
         throw new RuntimeException("事件不存在");
      }
      if (clueEvent.getEventStatus() == null || clueEvent.getEventStatus() != 1) {
         throw new RuntimeException("事件当前状态无法驳回");
         throw new RuntimeException("事件当前状态无法处理");
      }
      clueEvent.setEventStatus(2);
      Integer operateStatus = rejectParam.getEventStatus();
      if (operateStatus == null || (operateStatus != 0 && operateStatus != 1)) {
         throw new RuntimeException("事件状态不正确");
      }
      int targetStatus = operateStatus == 0 ? 2 : 3;
      clueEvent.setEventStatus(targetStatus);
      clueEvent.setUpdateUser(AuthUtil.getUserId());
      clueEvent.setUpdateTime(new Date());
      if (!updateById(clueEvent)) {
         throw new RuntimeException("事件驳回失败");
         throw new RuntimeException("事件处理失败");
      }
      GdTaskResultEntity taskResult = gdTaskResultService.getById(clueEvent.getResultId());
      if (taskResult == null || (taskResult.getIsDeleted() != null && taskResult.getIsDeleted() != 0)) {
         throw new RuntimeException("成果不存在");
      }
      taskResult.setDistributeStatus(2);
      taskResult.setDistributeStatus(targetStatus);
      taskResult.setUpdateUser(AuthUtil.getUserId());
      taskResult.setUpdateTime(new Date());
      if (!gdTaskResultService.updateById(taskResult)) {