xieb
2024-01-20 22f49b3542c69c933435df3378e1b9dbdddd8650
src/main/java/org/springblade/modules/evaluate/service/impl/EvaluateTaskServiceImpl.java
@@ -17,6 +17,7 @@
package org.springblade.modules.evaluate.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.base.BaseServiceImpl;
@@ -25,10 +26,12 @@
import org.springblade.modules.evaluate.entity.EvaluateTaskEntity;
import org.springblade.modules.evaluate.excel.EvaluateTaskExcel;
import org.springblade.modules.evaluate.mapper.EvaluateTaskMapper;
import org.springblade.modules.evaluate.service.IEvaluateTaskCategoryCandidateService;
import org.springblade.modules.evaluate.service.IEvaluateTaskCategoryService;
import org.springblade.modules.evaluate.service.IEvaluateTaskReferrerService;
import org.springblade.modules.evaluate.service.IEvaluateTaskService;
import org.springblade.modules.evaluate.vo.EvaluateTaskVO;
import org.springblade.modules.evaluate.wrapper.EvaluateTaskWrapper;
import org.springblade.modules.utils.DateUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -47,6 +50,10 @@
   private final IEvaluateTaskCategoryService evaluateTaskCategoryService;
   private final IEvaluateTaskCategoryCandidateService evaluateTaskCategoryCandidateService;
   private final IEvaluateTaskReferrerService evaluateTaskReferrerService;
   @Override
   public IPage<EvaluateTaskVO> selectEvaluateTaskPage(IPage<EvaluateTaskVO> page, EvaluateTaskVO evaluateTask) {
      return page.setRecords(baseMapper.selectEvaluateTaskPage(page, evaluateTask));
@@ -55,11 +62,15 @@
   @Override
   @Transactional
   public Boolean saveTaskAndCategory(EvaluateTaskDTO dto) {
      EvaluateTaskDTO taskDTO = EvaluateTaskWrapper.build().entityDTO(dto);
      boolean ret = save(taskDTO);
      if (DateUtils.isBeforeNow(dto.getCandidateCutoffTimeStart())) {// 如果是小于当前日期 修改状态
         dto.setCandidateState(1);
      }
      boolean ret = save(dto);
      if (ret) {
         List<EvaluateTaskCategoryEntity> evaluateTaskCategoryEntityList = dto.getCategoryEntities().stream().map(categoryEntity -> {
               categoryEntity.setEvaluateTaskId(taskDTO.getId());  // 给每个categoryEntity对象的EvaluateTaskId属性设置新值
               categoryEntity.setEvaluateTaskId(dto.getId());  // 给每个categoryEntity对象的EvaluateTaskId属性设置新值
               return categoryEntity;  // 返回修改后的对象
            })
            .collect(Collectors.toList());
@@ -71,14 +82,43 @@
   @Override
   @Transactional
   public Boolean updateTaskAndCategory(EvaluateTaskDTO dto) {
      boolean ret = updateById(EvaluateTaskWrapper.build().entityDTO(dto));
      if (DateUtils.isBeforeNow(dto.getCandidateCutoffTimeStart())) {//如果是小于当前日期 修改状态
         dto.setCandidateState(1);
      }
      boolean ret = updateById(dto);
      if (ret) {
         //先删除
         QueryWrapper queryWrapper = new QueryWrapper();
         queryWrapper.eq("evaluate_task_id", dto.getId());
         evaluateTaskCategoryService.remove(queryWrapper);
         List<EvaluateTaskCategoryEntity> evaluateTaskCategoryEntityList = dto.getCategoryEntities().stream().map(categoryEntity -> {
               categoryEntity.setEvaluateTaskId(dto.getId());  // 给每个categoryEntity对象的EvaluateTaskId属性设置新值
               return categoryEntity;  // 返回修改后的对象
            })
            .collect(Collectors.toList());
         evaluateTaskCategoryService.updateBatchById(evaluateTaskCategoryEntityList);
         evaluateTaskCategoryService.saveOrUpdateBatch(evaluateTaskCategoryEntityList);
      }
      return ret;
   }
   @Override
   public boolean deleteLogic(List<Long> ids) {
      boolean ret = super.deleteLogic(ids);
      if (ret) {
         QueryWrapper queryWrapper = new QueryWrapper();
         queryWrapper.in("evaluate_task_id",ids);
         List<EvaluateTaskCategoryEntity> list = evaluateTaskCategoryService.list(queryWrapper);
         evaluateTaskCategoryService.remove(queryWrapper);
         evaluateTaskReferrerService.remove(queryWrapper);
         for (EvaluateTaskCategoryEntity po: list) {
            QueryWrapper qw = new QueryWrapper();
            qw.eq("evaluate_task_category_id", po.getId());
            evaluateTaskCategoryCandidateService.remove(qw);
         }
      }
      return ret;
   }