From 3134991a6c9315421ff3d4b3b4f1bd76bb5dbdc9 Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: Tue, 28 Apr 2026 17:01:08 +0800
Subject: [PATCH] 复制功能
---
multi-system/src/main/java/com/gkhy/exam/system/service/impl/ContractReviewServiceImpl.java | 95 +++++++++++++++++++++++++++++------------------
1 files changed, 59 insertions(+), 36 deletions(-)
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ContractReviewServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ContractReviewServiceImpl.java
index 8e8f6a4..5ab54e0 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ContractReviewServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ContractReviewServiceImpl.java
@@ -10,6 +10,8 @@
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;
@@ -20,9 +22,7 @@
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
@@ -59,9 +59,11 @@
@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();
@@ -77,21 +79,6 @@
}
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) {
@@ -124,21 +111,6 @@
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()) {
@@ -169,4 +141,55 @@
}
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();
+ }
}
--
Gitblit v1.9.2