linwe
2024-05-23 98e7b11a29040cede17b3a60cb96d2c015a0a3f3
src/main/java/org/springblade/modules/task/service/impl/TaskNoFraudReportingServiceImpl.java
@@ -16,28 +16,29 @@
 */
package org.springblade.modules.task.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.springblade.common.constant.CommonConstant;
import org.springblade.common.constant.DictConstant;
import org.springblade.common.exception.CustomException;
import org.springblade.common.param.CommonParamSet;
import org.springblade.common.param.GridSet;
import org.springblade.common.utils.SpringUtils;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.SpringUtil;
import org.springblade.modules.task.dto.TaskNoFraudReportingDTO;
import org.springblade.modules.task.dto.TaskPlaceSelfCheckDTO;
import org.springblade.modules.task.entity.TaskNoFraudReportingEntity;
import org.springblade.modules.task.entity.TaskPlaceRecordEntity;
import org.springblade.modules.task.excel.TaskNoExplosionExcel;
import org.springblade.modules.task.mapper.TaskNoFraudReportingMapper;
import org.springblade.modules.task.service.ITaskNoFraudReportingService;
import org.springblade.modules.task.entity.TaskNoFraudReportingEntity;
import org.springblade.modules.task.service.ITaskPlaceRecordService;
import org.springblade.modules.task.service.ITaskService;
import org.springblade.modules.task.vo.TaskNoFraudReportingVO;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.modules.task.vo.TaskPlaceRecordVO;
import org.springblade.modules.task.vo.TaskPlaceSelfCheckVO;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.stream.Collectors;
@@ -63,6 +64,17 @@
   }
   @Override
   public Integer selectTaskNoFraudReportingCount(TaskNoFraudReportingVO taskNoFraudReporting) {
      CommonParamSet commonParamSet = new CommonParamSet().invoke(TaskNoFraudReportingVO.class, taskNoFraudReporting);
      Integer count = baseMapper.selectTaskNoFraudReportingCount(
         taskNoFraudReporting,
         commonParamSet.getIsAdministrator(),
         commonParamSet.getRegionChildCodesList(),
         commonParamSet.getGridCodeList());
      return count;
   }
   @Override
   public TaskNoFraudReportingVO selectTaskNoFraudReportingById(TaskNoFraudReportingEntity taskNoFraudReporting) {
      return this.baseMapper.selectTaskNoFraudReportingById(taskNoFraudReporting);
   }
@@ -78,6 +90,12 @@
         return false;
      }
      taskNoFraudReporting.setTaskId(aLong);
      // 计算网格
      if (StringUtils.isNotBlank(taskNoFraudReporting.getLng()) && StringUtils.isNotBlank(taskNoFraudReporting.getLat())) {
         // 点落面计算警格,网格,警格
         GridSet invoke = new GridSet().invoke(TaskNoFraudReportingVO.class, taskNoFraudReporting,
            "lng", "lat", "gridCode", "jwGridCode");
      }
      // 2.保存任务详情
      boolean save = save(taskNoFraudReporting);
      if (save) {
@@ -89,7 +107,7 @@
            item.setCreateUser(AuthUtil.getUserId());
            item.setType("2");
         });
         List<TaskPlaceRecordEntity> collect = taskPlaceRecordList.stream().filter(item -> StringUtils.isNotBlank(item.getImageUrls())).collect(Collectors.toList());
         List<TaskPlaceRecordEntity> collect = taskPlaceRecordList.stream().collect(Collectors.toList());
         if (collect.size() > 0) {
            bean.saveBatch(collect);
         }
@@ -98,4 +116,52 @@
      }
      return false;
   }
   @Override
   public List<TaskNoExplosionExcel> exportTaskNoFraudReporting(TaskNoFraudReportingVO taskNoFraudReportingVO) {
      CommonParamSet commonParamSet = new CommonParamSet().invoke(TaskNoFraudReportingVO.class, taskNoFraudReportingVO);
      List<TaskNoExplosionExcel> taskNoExplosionExcels = baseMapper.selectTaskNoFraudReporting(
         taskNoFraudReportingVO,
         commonParamSet.getIsAdministrator(),
         commonParamSet.getRegionChildCodesList(),
         commonParamSet.getGridCodeList());
      return taskNoExplosionExcels;
   }
   /**
    * 更新
    *
    * @param taskNoFraudReporting
    * @return
    */
   @Override
   @Transactional(rollbackFor = Exception.class)
   public Boolean updateTaskNoFraudReporting(TaskNoFraudReportingVO taskNoFraudReporting) {
      // 1.更新任务表
      ITaskService taskService = SpringUtils.getBean(ITaskService.class);
      Long aLong = taskService.updateTask(null, null, null, taskNoFraudReporting.getReasonFailure(), AuthUtil.getUserId(), taskNoFraudReporting.getTaskId(), taskNoFraudReporting.getStatus());
      if (aLong <= 0) {
         return false;
      }
      // 2.更新任务详情
      boolean save = updateById(taskNoFraudReporting);
      if (save) {
         // 3.更新或新增题目记录
         List<TaskPlaceRecordVO> taskPlaceRecordList = taskNoFraudReporting.getTaskPlaceRecordVOList();
         if (taskPlaceRecordList != null && taskPlaceRecordList.size() > 0) {
            ITaskPlaceRecordService bean = SpringUtil.getBean(ITaskPlaceRecordService.class);
            List<TaskPlaceRecordEntity> recordEntityList = BeanUtil.copy(taskPlaceRecordList, TaskPlaceRecordEntity.class);
            for (TaskPlaceRecordEntity taskPlaceRecordEntity : recordEntityList) {
               taskPlaceRecordEntity.setType("2");
            }
            boolean result = bean.saveOrUpdateBatch(recordEntityList);
            if (result) {
               return result;
            }
            throw new CustomException("保存失败!");
         }
         return save;
      }
      throw new CustomException("保存失败!");
   }
}