| | |
| | | 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; |
| | |
| | | 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; |
| | | |
| | |
| | | |
| | | 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)); |
| | |
| | | @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()); |
| | |
| | | @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; |
| | | } |