From 8182370136b1d91330ada09e2fcebdd01dde1161 Mon Sep 17 00:00:00 2001
From: “djh” <“3298565835@qq.com”>
Date: 星期一, 14 七月 2025 13:17:25 +0800
Subject: [PATCH] 新增

---
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/CatalogueServiceImpl.java |   43 ++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 42 insertions(+), 1 deletions(-)

diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CatalogueServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CatalogueServiceImpl.java
index f41451a..616fe49 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CatalogueServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CatalogueServiceImpl.java
@@ -1,8 +1,10 @@
 package com.gkhy.exam.system.service.impl;
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gkhy.exam.common.api.CommonPage;
 import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.common.exception.ApiException;
 import com.gkhy.exam.common.utils.SecurityUtils;
 import com.gkhy.exam.system.domain.*;
 import com.gkhy.exam.system.domain.req.CatalogueDataReq;
@@ -52,7 +54,7 @@
     private List<CatalogueVo> getchildren(CatalogueVo catalogueVo, List<CatalogueVo> catalogueVos) {
         List<CatalogueVo> catalogueCharlden = new ArrayList<>();
         for (CatalogueVo catalogue : catalogueVos) {
-            if (catalogueVo.getId() == catalogue.getParentId()){
+            if (catalogueVo.getId().equals(catalogue.getParentId())){
                 catalogueCharlden.add(catalogue);
             }
         }
@@ -65,6 +67,11 @@
 
     @Override
     public CommonResult insertCatalogue(Catalogue catalogue) {
+        if (catalogue.getType()==2||catalogue.getType()==3){
+            if (catalogue.getCompanyId()==null){
+                throw new ApiException("企业id不能为空");
+            }
+        }
         catalogue.setCreateBy(SecurityUtils.getUsername());
         catalogue.setCreateTime(LocalDate.now());
         int insert = catalogueMapper.insert(catalogue);
@@ -232,4 +239,38 @@
     public CommonResult selectCatalogueDataFileList(CatalogueReq catalogueReq) {
         return CommonResult.success(catalogueMapper.selectCatalogueDataFile(catalogueReq.getCompanyId(),catalogueReq.getCatalogueId()));
     }
+
+    @Override
+    public CommonResult copyCatalogue(List<CatalogueVo> catalogue) {
+        Integer companyId = catalogue.get(0).getCompanyId();
+        catalogueMapper.delete(Wrappers.<Catalogue>lambdaQuery().eq(Catalogue::getCompanyId,companyId));
+        for (CatalogueVo catalogueVo : catalogue) {
+            Catalogue catalogue1 = new Catalogue();
+            BeanUtils.copyProperties(catalogueVo,catalogue1);
+            catalogueMapper.insertCatalogue(catalogue1);
+            List<CatalogueVo> children = catalogueVo.getChildren();
+            if (children.size()>0){
+                saveCatalogue(children,catalogue1);
+            }
+        }
+        return CommonResult.success();
+    }
+
+    private void saveCatalogue(List<CatalogueVo> children,Catalogue catalogue) {
+        for (CatalogueVo child : children) {
+            Catalogue catalogue1 = new Catalogue();
+            BeanUtils.copyProperties(child,catalogue1);
+            catalogue1.setParentId(catalogue.getId());
+            catalogue1.setCompanyId(catalogue.getCompanyId());
+            catalogueMapper.insertCatalogue(catalogue1);
+            List<CatalogueVo> children1 = child.getChildren();
+            if (children1.size()>0){
+                saveCatalogue(children1,catalogue1);
+            }else {
+                continue;
+            }
+        }
+    }
+
+
 }

--
Gitblit v1.9.2