吉安感知网项目-后端
linwei
6 days ago 05fb356099b5af472ee23d9164bca61962d9c2ed
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdTaskResultServiceImpl.java
@@ -20,6 +20,7 @@
import com.alibaba.fastjson.TypeReference;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.secure.utils.AuthUtil;
import org.sxkj.gd.workorder.dto.GdTaskResultDTO;
import org.sxkj.gd.workorder.entity.GdDeviceCallDetailEntity;
import org.sxkj.gd.workorder.entity.GdDeviceCallEntity;
@@ -147,6 +148,47 @@
    * 保存普通成果数据(dateType != 4)
    *
    * @param gdTaskResults 成果DTO列表
    * @return 保存成功后的成果ID列表
    */
   @Override
   public List<Long> batchSaveWithIds(List<GdTaskResultDTO> gdTaskResults) {
      // 步骤1:转换DTO为实体
      List<GdTaskResultEntity> gdTaskResultEntities = GdTaskResultWrapper.build().listEntity(gdTaskResults);
      // 步骤2:处理每个实体的属性
      gdTaskResultEntities.forEach(gdTaskResult -> {
         String processedAreaCode = HeaderUtils.processAreaCode(gdTaskResult.getAreaCode());
         gdTaskResult.setAreaCode(processedAreaCode);
         // 如果resultCode为空,生成时间戳作为默认值
         if (StringUtil.isEmpty(gdTaskResult.getResultCode())) {
            gdTaskResult.setResultCode(String.valueOf(System.currentTimeMillis()));
         }
         if (gdTaskResult.getShootTime() == null) {
            gdTaskResult.setShootTime(new Date());
         }
         gdTaskResult.setStatus(0);
         gdTaskResult.setUpdateTime(new Date());
         gdTaskResult.setCreateTime(new Date());
         gdTaskResult.setIsDeleted(0);
         gdTaskResult.setCreateDept(Long.valueOf(AuthUtil.getDeptId()));
         gdTaskResult.setUpdateUser(AuthUtil.getUserId());
         gdTaskResult.setDistributeStatus(0);
      });
      // 步骤3:批量插入数据
      int insertCount = baseMapper.insertBatch(gdTaskResultEntities);
      // 步骤4:收集并返回保存后的ID列表
      return gdTaskResultEntities.stream()
            .map(GdTaskResultEntity::getId)
            .filter(Objects::nonNull)
            .collect(Collectors.toList());
   }
   /**
    * 保存普通成果数据(dateType != 4)
    *
    * @param gdTaskResults 成果DTO列表
    */
   private void saveNormalTaskResults(List<GdTaskResultDTO> gdTaskResults) {
      List<GdTaskResultEntity> gdTaskResultEntities = GdTaskResultWrapper.build().listEntity(gdTaskResults);