zero 1 éve
szülő
commit
d203d9ce5d

+ 18 - 6
src/main/java/cn/cslg/pas/service/novelty/NoveltyCompareLiteratureService.java

@@ -7,15 +7,18 @@ import cn.cslg.pas.common.vo.QueryCompareFileVO;
 import cn.cslg.pas.mapper.CompareLiteratureMapper;
 import cn.cslg.pas.mapper.RetrieveRecordMapper;
 import cn.cslg.pas.mapper.novelty.NoveltyCompareLiteratureMapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import cn.cslg.pas.domain.business.novelty.NoveltyCompareLiterature;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
 
 import java.util.List;
 
@@ -44,9 +47,14 @@ public class NoveltyCompareLiteratureService extends ServiceImpl<NoveltyCompareL
     }
 
     public Integer addCompareFile(AddCompareFileDTO vo) {
+        Integer compareLitertureId = vo.getCompareLitertureId();
+        List<NoveltyCompareLiterature> list = noveltyCompareLiteratureMapper.selectList(new LambdaQueryWrapper<NoveltyCompareLiterature>()
+                .eq(NoveltyCompareLiterature::getCompareLitertureId, compareLitertureId));
         NoveltyCompareLiterature literature = new NoveltyCompareLiterature();
-        BeanUtils.copyProperties(vo, literature);
-        literature.insert();
+        if (CollectionUtils.isEmpty(list)) {
+            BeanUtils.copyProperties(vo, literature);
+            literature.insert();
+        }
         return literature.getId();
     }
 
@@ -61,10 +69,14 @@ public class NoveltyCompareLiteratureService extends ServiceImpl<NoveltyCompareL
         NoveltyCompareLiterature noveltyCompareLiterature = noveltyCompareLiteratureMapper.selectOne(new QueryWrapper<NoveltyCompareLiterature>()
                 .lambda()
                 .eq(NoveltyCompareLiterature::getCompareLitertureId, vo.getCompareLitertureId()));
-        Integer recordId = noveltyCompareLiterature.getRetrieveRecordId();
-        retrieveRecordMapper.deleteById(recordId);
-
-        noveltyCompareLiteratureMapper.deleteById(noveltyCompareLiterature.getId());
+        if (ObjectUtils.isNotEmpty(noveltyCompareLiterature)) {
+            Integer recordId = noveltyCompareLiterature.getRetrieveRecordId();
+            if (recordId != null) {
+                retrieveRecordMapper.deleteById(recordId);
+            }
+
+            noveltyCompareLiteratureMapper.deleteById(noveltyCompareLiterature.getId());
+        }
 
         compareLiteratureMapper.deleteById(vo.getCompareLitertureId());
     }