From 994de8bc7067afc1e32043eeeaabdda60d400ef1 Mon Sep 17 00:00:00 2001 From: “djh” <“3298565835@qq.com”> Date: 星期二, 15 七月 2025 13:01:36 +0800 Subject: [PATCH] 修改 --- multi-system/src/main/java/com/gkhy/exam/system/service/impl/CatalogueServiceImpl.java | 48 +++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 47 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..f2886fd 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; @@ -11,6 +13,7 @@ import com.gkhy.exam.system.domain.vo.CatalogueVo; import com.gkhy.exam.system.mapper.CatalogueMapper; import com.gkhy.exam.system.mapper.CompanyIndustryTemplateMapper; +import com.gkhy.exam.system.mapper.ProductItemMapper; import com.gkhy.exam.system.mapper.SysCompanyMapper; import com.gkhy.exam.system.service.CatalogueService; import com.gkhy.exam.system.service.SysCompanyService; @@ -32,6 +35,8 @@ private SysCompanyMapper sysCompanyMapper; @Autowired private CompanyIndustryTemplateMapper companyIndustryTemplateMapper; + @Autowired + private ProductItemMapper productItemMapper; /** * 目录管理 @@ -52,7 +57,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 +70,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 +242,40 @@ 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(); + Integer type = catalogue.get(0).getType(); + catalogueMapper.delete(Wrappers.<Catalogue>lambdaQuery().eq(Catalogue::getCompanyId,companyId).eq(Catalogue::getType,catalogue.get(0).getType())); + 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); + } + } + productItemMapper.deletedByCompanyId(companyId,type.equals(2)?1:2); + 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