| | |
| | | import com.gkhy.exam.system.domain.ContractReviewMess; |
| | | import com.gkhy.exam.system.domain.ContractReviewMessb; |
| | | import com.gkhy.exam.system.domain.ContractReviewRequire; |
| | | import com.gkhy.exam.system.domain.req.ContractReviewReq; |
| | | import com.gkhy.exam.system.domain.vo.ContractReviewVo; |
| | | import com.gkhy.exam.system.mapper.ContractReviewMapper; |
| | | import com.gkhy.exam.system.mapper.ContractReviewMessMapper; |
| | | import com.gkhy.exam.system.mapper.ContractReviewRequireMapper; |
| | |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.time.LocalDateTime; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @Service |
| | |
| | | @Override |
| | | @Transactional |
| | | public CommonResult insertContractReview(ContractReview contractReview) { |
| | | Integer i = contractReviewMapper.selectByContractId(contractReview.getContractId()); |
| | | if (i>0){ |
| | | return CommonResult.failed("请勿重复添加数据"); |
| | | if(contractReview.getType().equals(1)){ |
| | | Integer i = contractReviewMapper.selectByContractId(contractReview.getContractId()); |
| | | if (i>0){ |
| | | return CommonResult.failed("请勿重复添加数据"); |
| | | } |
| | | } |
| | | List<ContractReviewMess> reviewMesses = contractReview.getReviewMesses(); |
| | | List<ContractReviewRequire> contractReviewRequires = contractReview.getContractReviewRequires(); |
| | |
| | | } |
| | | contractReviewMessMapper.insertMesses(reviewMesses); |
| | | |
| | | // 收集所有ContractReviewMessb |
| | | List<ContractReviewMessb> allMessbs = new ArrayList<>(); |
| | | for (ContractReviewMess reviewMess : reviewMesses) { |
| | | List<ContractReviewMessb> contractReviewMessbs = reviewMess.getContractReviewMessbs(); |
| | | if (contractReviewMessbs != null && !contractReviewMessbs.isEmpty()) { |
| | | for (ContractReviewMessb contractReviewMessb : contractReviewMessbs) { |
| | | contractReviewMessb.setMessId(reviewMess.getId()); |
| | | } |
| | | allMessbs.addAll(contractReviewMessbs); |
| | | } |
| | | } |
| | | // 批量插入ContractReviewMessb |
| | | if (!allMessbs.isEmpty()) { |
| | | contractReviewMessMapper.insertMessbs(allMessbs); |
| | | } |
| | | |
| | | // 批量插入ContractReviewRequire |
| | | for (ContractReviewRequire contractReviewRequire : contractReviewRequires) { |
| | |
| | | reviewMess.setReviewId(reviewId); |
| | | } |
| | | contractReviewMessMapper.insertMesses(reviewMesses); |
| | | // 处理ContractReviewMessb子项 |
| | | List<ContractReviewMessb> allMessbs = new ArrayList<>(); |
| | | for (ContractReviewMess reviewMess : reviewMesses) { |
| | | List<ContractReviewMessb> contractReviewMessbs = reviewMess.getContractReviewMessbs(); |
| | | if (contractReviewMessbs != null && !contractReviewMessbs.isEmpty()) { |
| | | for (ContractReviewMessb contractReviewMessb : contractReviewMessbs) { |
| | | contractReviewMessb.setMessId(reviewMess.getId()); |
| | | } |
| | | allMessbs.addAll(contractReviewMessbs); |
| | | } |
| | | } |
| | | // 批量插入ContractReviewMessb |
| | | if (!allMessbs.isEmpty()) { |
| | | contractReviewMessMapper.insertMessbs(allMessbs); |
| | | } |
| | | } |
| | | // 插入新的ContractReviewRequire数据 |
| | | if (contractReviewRequires != null && !contractReviewRequires.isEmpty()) { |
| | |
| | | } |
| | | return CommonResult.failed(); |
| | | } |
| | | |
| | | @Override |
| | | public CommonResult contractList(Integer userId) { |
| | | List<ContractReviewVo> result = new ArrayList<>(); |
| | | List<ContractReviewVo> contractReviewVos = contractReviewMapper.selectByUserId(userId); |
| | | List<ContractReviewVo> contractReviewVos1 = contractReviewMapper.selectByUserIdMain(userId); |
| | | Set<Integer> existIdSet = new HashSet<>(); |
| | | |
| | | // 处理signType=1并缓存id |
| | | for (ContractReviewVo contractReviewVo : contractReviewVos) { |
| | | List<ContractReviewMess> contractReviewMesses = contractReviewMessMapper.selectByReviewIdAndUserId(contractReviewVo.getId(),userId); |
| | | contractReviewVo.setReviewMesses(contractReviewMesses); |
| | | contractReviewVo.setSignType(1); |
| | | result.add(contractReviewVo); |
| | | existIdSet.add(contractReviewVo.getId()); // 存入已存在的id |
| | | } |
| | | |
| | | // 处理signType=2,通过Set快速判断id是否存在 |
| | | for (ContractReviewVo contractReviewVo : contractReviewVos1) { |
| | | int update = contractReviewMessMapper.CountByReviewId(contractReviewVo.getId()); |
| | | if (update==0){ |
| | | if (!existIdSet.contains(contractReviewVo.getId())) { |
| | | List<ContractReviewMess> contractReviewMesses = contractReviewMessMapper.selectByReviewIdAndUserId(contractReviewVo.getId(),userId); |
| | | contractReviewVo.setReviewMesses(contractReviewMesses); |
| | | contractReviewVo.setSignType(2); |
| | | result.add(contractReviewVo); |
| | | existIdSet.add(contractReviewVo.getId()); // 同步更新Set |
| | | } |
| | | } |
| | | } |
| | | return CommonResult.success(result); |
| | | } |
| | | |
| | | @Override |
| | | public CommonResult contractcheck(ContractReviewReq contractReviewReq) { |
| | | if (contractReviewReq.getType()==2){ |
| | | ContractReview contractReview = new ContractReview(); |
| | | contractReview.setId(contractReviewReq.getId()); |
| | | contractReview.setLegalPerson(contractReviewReq.getUserId()); |
| | | contractReview.setSuggest(contractReviewReq.getReviewOpinion()); |
| | | contractReviewMapper.updateByUserid(contractReview); |
| | | } |
| | | if (contractReviewReq.getType()==1){ |
| | | ContractReviewMess contractReviewMess = new ContractReviewMess(); |
| | | contractReviewMess.setId(contractReviewReq.getId()); |
| | | contractReviewMess.setReviewOpinion(contractReviewReq.getReviewOpinion()); |
| | | contractReviewMess.setReviewUser(contractReviewReq.getUserId()); |
| | | contractReviewMessMapper.updateByUserId(contractReviewMess); |
| | | } |
| | | return CommonResult.success(); |
| | | } |
| | | } |