package com.ruoyi.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.domain.ResultFileRelation; import com.ruoyi.domain.ReviewDetailsResult; import com.ruoyi.domain.vo.ReviewEnterpriseArchiveFileVO; import com.ruoyi.mapper.ResultFileRelationMapper; import com.ruoyi.service.ResultFileRelationService; import com.ruoyi.service.ReviewDetailsResultService; import com.ruoyi.mapper.ReviewDetailsResultMapper; import com.ruoyi.web.request.ReviewDetailsResultSaveRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * @author wangfei * @description 针对表【t_review_details_result(审查细则的审查结果)】的数据库操作Service实现 * @createDate 2023-12-15 15:42:40 */ @Transactional @Service public class ReviewDetailsResultServiceImpl extends ServiceImpl<ReviewDetailsResultMapper, ReviewDetailsResult> implements ReviewDetailsResultService { @Autowired private ReviewDetailsResultMapper reviewDetailsResultMapper; @Autowired private ResultFileRelationService resultFileRelationService; @Override public List<ReviewDetailsResult> findByTaskId(Long taskId) { return reviewDetailsResultMapper.findByTaskId(taskId); } @Override public ReviewDetailsResult findByTaskIdAndDetailsId(Long taskId, Long reviewDetailsId) { return reviewDetailsResultMapper.findByTaskIdAndDetailsId(taskId, reviewDetailsId); } @Override public void save(ReviewDetailsResultSaveRequest request) { ReviewDetailsResult result = reviewDetailsResultMapper.findByTaskIdAndDetailsId(request.getTaskId(), request.getReviewDetailsId()); // 获取当前登陆人 SysUser loginUser = SecurityUtils.getLoginUser().getUser(); if (result != null) { // 更新 result.setPassed(request.getPassed()); result.setUserId(loginUser.getUserId()); result.setUserName(loginUser.getNickName()); result.setLastModifyTime(new Date()); result.setComment(request.getComment()); Save(result,request); this.baseMapper.updateById(result); SaveFileRelation(result.getId(),request); } else { // 新增 ReviewDetailsResult reviewDetailsResult = new ReviewDetailsResult(); reviewDetailsResult.setTaskId(request.getTaskId()); reviewDetailsResult.setReviewDetailsId(request.getReviewDetailsId()); reviewDetailsResult.setPassed(request.getPassed()); reviewDetailsResult.setUserId(loginUser.getUserId()); reviewDetailsResult.setUserName(loginUser.getNickName()); reviewDetailsResult.setLastModifyTime(new Date()); reviewDetailsResult.setComment(request.getComment()); Save(reviewDetailsResult,request); this.baseMapper.insert(reviewDetailsResult); SaveFileRelation(reviewDetailsResult.getId(),request); } } private void Save(ReviewDetailsResult result,ReviewDetailsResultSaveRequest request) { // 获取文件列表 List<ReviewEnterpriseArchiveFileVO> fileList = request.getFileList(); List<Long> idList = new ArrayList<>(); List<String> fileNameList = new ArrayList<>(); List<String> catalogueList = new ArrayList<>(); // 遍历fileList for (ReviewEnterpriseArchiveFileVO fileVO : fileList) { // 将字段逗号分隔后存入对应的集合中 idList.add(fileVO.getId()); fileNameList.add(fileVO.getFileName()); catalogueList.add(fileVO.getCatalogue()); } result.setReviewEnterpriseArchiveId(StringUtils.join(idList, ",")); result.setFileName(StringUtils.join(fileNameList, ",")); result.setCatalogue(StringUtils.join(catalogueList, ",")); } private void SaveFileRelation(Long resultId, ReviewDetailsResultSaveRequest request) { List<ResultFileRelation> relationList = resultFileRelationService.findByResultId(resultId); if (relationList != null && relationList.size() != 0) { resultFileRelationService.removeBatchByIds(relationList); } // 获取文件列表 List<ReviewEnterpriseArchiveFileVO> fileList = request.getFileList(); if (fileList != null && fileList.size() != 0) { List<ResultFileRelation> list = new ArrayList<>(); for (ReviewEnterpriseArchiveFileVO file : fileList) { ResultFileRelation relation = new ResultFileRelation(); relation.setFileId(file.getId()); relation.setFileName(file.getFileName()); relation.setCatalogue(file.getCatalogue()); relation.setResultId(resultId); relation.setTaskId(request.getTaskId()); // 将relation添加到list中 list.add(relation); } resultFileRelationService.saveBatch(list); } } }