From da25463bf9750c51b4bc84b0853041504e2ff1f0 Mon Sep 17 00:00:00 2001 From: zhangyue Date: Mon, 30 Mar 2026 11:11:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=9B=BE=E7=89=87=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E6=89=B9=E9=87=8F=E5=88=A0=E9=99=A4=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=20=E4=BF=AE=E6=94=B9=E9=83=A8=E9=97=A8=E5=88=A4=E9=87=8D?= =?UTF-8?q?=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../info/facade/ZcloudImgFilesFacadeImpl.java | 45 ++++++++++++++++++- .../basic/info/command/DepartmentAddExe.java | 2 +- .../info/command/DepartmentUpdateExe.java | 4 ++ .../basic/info/command/ImgFilesRemoveExe.java | 17 +++++++ .../info/service/ImgFilesServiceImpl.java | 7 +++ .../basic/info/api/ImgFilesServiceI.java | 4 ++ .../repository/DepartmentRepository.java | 3 +- .../impl/DepartmentRepositoryImpl.java | 8 +++- 8 files changed, 84 insertions(+), 6 deletions(-) diff --git a/web-adapter/src/main/java/com/zcloud/basic/info/facade/ZcloudImgFilesFacadeImpl.java b/web-adapter/src/main/java/com/zcloud/basic/info/facade/ZcloudImgFilesFacadeImpl.java index 4ed85d9c..8fb05e1d 100644 --- a/web-adapter/src/main/java/com/zcloud/basic/info/facade/ZcloudImgFilesFacadeImpl.java +++ b/web-adapter/src/main/java/com/zcloud/basic/info/facade/ZcloudImgFilesFacadeImpl.java @@ -1,6 +1,7 @@ package com.zcloud.basic.info.facade; import com.alibaba.cola.dto.MultiResponse; +import com.alibaba.cola.dto.Response; import com.jjb.saas.framework.auth.model.SSOUser; import com.jjb.saas.framework.auth.utils.AuthContext; import com.zcloud.basic.info.api.ImgFilesServiceI; @@ -21,8 +22,7 @@ import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.io.ByteArrayInputStream; import java.io.InputStream; -import java.util.Base64; -import java.util.List; +import java.util.*; /** * @author zhangyue @@ -84,6 +84,47 @@ public class ZcloudImgFilesFacadeImpl implements ZcloudImgFilesFacade { return resultFilePath; } + @Override + public Response deleteFiles(String foreignKey, String type) { + if (ObjectUtils.isEmpty(foreignKey)){ + return Response.buildFailure("文件foreignKey不能为空"); + } + Map params = new HashMap<>(); + params.put("eqForeignKey", foreignKey); + if (!ObjectUtils.isEmpty(type)){ + params.put("eqType", type); + } + params.put("eqDeleteEnum", "FALSE"); + imgFilesService.removeBatch(params); + return Response.buildSuccess(); + } + + @Override + public Response deleteFiles(List foreignKeyList, String type) { + if (foreignKeyList == null || foreignKeyList.size() == 0){ + return Response.buildFailure("文件foreignKey不能为空"); + } + Map params = new HashMap<>(); + params.put("inForeignKey", foreignKeyList); + if (!ObjectUtils.isEmpty(type)){ + params.put("eqType", type); + } + params.put("eqDeleteEnum", "FALSE"); + imgFilesService.removeBatch(params); + return Response.buildSuccess(); + } + + @Override + public Response deleteFileList(List filePathList) { + if (filePathList == null || filePathList.size() == 0){ + return Response.buildFailure("文件路径不能为空"); + } + filePathList.forEach(filePath -> { + imgFilesService.removeFile(filePath); + }); + return Response.buildSuccess(); + } + public static InputStream base64ToInputStream(String base64String) { if (base64String == null || base64String.isEmpty()) { diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/DepartmentAddExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/DepartmentAddExe.java index 935acc84..902dee42 100644 --- a/web-app/src/main/java/com/zcloud/basic/info/command/DepartmentAddExe.java +++ b/web-app/src/main/java/com/zcloud/basic/info/command/DepartmentAddExe.java @@ -58,7 +58,7 @@ public class DepartmentAddExe { departmentQry.setEqParentId(cmd.getParentId()); List departmentTreeInfoCOList = departmentQueryExe.listTree(departmentQry);*/ //名字校验重复 - if (departmentRepository.existsByName(cmd.getName())) { + if (departmentRepository.existsByName(cmd.getParentId(), cmd.getName(), null)) { throw new BizException("部门名称已存在"); } BeanUtils.copyProperties(cmd, examTypeE); diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/DepartmentUpdateExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/DepartmentUpdateExe.java index b9b6d79a..4d08b9fa 100644 --- a/web-app/src/main/java/com/zcloud/basic/info/command/DepartmentUpdateExe.java +++ b/web-app/src/main/java/com/zcloud/basic/info/command/DepartmentUpdateExe.java @@ -51,6 +51,10 @@ public class DepartmentUpdateExe { if(departmentDO == null){ throw new BizException("部门信息不存在"); } + //名字校验重复 + if (departmentRepository.existsByName(departmentUpdateCmd.getParentId(), departmentUpdateCmd.getName(), departmentUpdateCmd.getId())) { + throw new BizException("部门名称已存在"); + } DepartmentE departmentE = new DepartmentE(); BeanUtils.copyProperties(departmentUpdateCmd, departmentE); boolean res = departmentGateway.update(departmentE); diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/ImgFilesRemoveExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/ImgFilesRemoveExe.java index 5943bc72..5ae49ee3 100644 --- a/web-app/src/main/java/com/zcloud/basic/info/command/ImgFilesRemoveExe.java +++ b/web-app/src/main/java/com/zcloud/basic/info/command/ImgFilesRemoveExe.java @@ -12,6 +12,8 @@ import org.springframework.transaction.annotation.Transactional; import java.util.Arrays; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** @@ -51,5 +53,20 @@ public class ImgFilesRemoveExe { } return true; } + + @Transactional(rollbackFor = Exception.class) + public boolean execute(Map params) { + List imgFilesDOList = imgFilesRepository.listAll(params); + List imgFilesEList = imgFilesCoConvertor.converDOsToEs(imgFilesDOList); + ImgFilesE imgFilesE = new ImgFilesE(); + try { + imgFilesE.deleteFileList(imgFilesEList); + Long[] ids = imgFilesEList.stream().map(ImgFilesE::getId).toArray(Long[]::new); + imgFilesRepository.deleteList(ids); + } catch (Exception e) { + throw new BizException("删除失败"); + } + return true; + } } diff --git a/web-app/src/main/java/com/zcloud/basic/info/service/ImgFilesServiceImpl.java b/web-app/src/main/java/com/zcloud/basic/info/service/ImgFilesServiceImpl.java index 4140114c..21ebee51 100644 --- a/web-app/src/main/java/com/zcloud/basic/info/service/ImgFilesServiceImpl.java +++ b/web-app/src/main/java/com/zcloud/basic/info/service/ImgFilesServiceImpl.java @@ -17,6 +17,8 @@ import com.zcloud.basic.info.dto.clientobject.ImgFilesInfoCO; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; +import java.util.Map; + /** * web-app * @@ -62,6 +64,11 @@ public class ImgFilesServiceImpl implements ImgFilesServiceI { imgFilesRemoveExe.execute(ids); } + @Override + public void removeBatch(Map params) { + imgFilesRemoveExe.execute(params); + } + @Override public MultiResponse listAll(ImgFilesQryCmd imgFilesQryCmd) { return imgFilesQueryExe.executeList(imgFilesQryCmd); diff --git a/web-client/src/main/java/com/zcloud/basic/info/api/ImgFilesServiceI.java b/web-client/src/main/java/com/zcloud/basic/info/api/ImgFilesServiceI.java index abad7a31..e57124d8 100644 --- a/web-client/src/main/java/com/zcloud/basic/info/api/ImgFilesServiceI.java +++ b/web-client/src/main/java/com/zcloud/basic/info/api/ImgFilesServiceI.java @@ -10,6 +10,8 @@ import com.zcloud.basic.info.dto.ImgFilesUpdateCmd; import com.zcloud.basic.info.dto.clientobject.ImgFilesCO; import com.zcloud.basic.info.dto.clientobject.ImgFilesInfoCO; +import java.util.Map; + /** * web-client * @Author zhangyue @@ -27,6 +29,8 @@ public interface ImgFilesServiceI { void removeBatch(Long[] ids); + void removeBatch(Map params); + MultiResponse listAll(ImgFilesQryCmd imgFilesQryCmd); String getImagePath(); diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/DepartmentRepository.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/DepartmentRepository.java index 4cec0e37..e9a9516f 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/DepartmentRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/DepartmentRepository.java @@ -7,6 +7,7 @@ import com.zcloud.basic.info.persistence.dataobject.CorpInfoDO; import com.zcloud.basic.info.persistence.dataobject.DepartmentDO; import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; import java.util.List; import java.util.Map; @@ -35,7 +36,7 @@ public interface DepartmentRepository extends BaseRepository { List listAllTree(); - boolean existsByName(@NotEmpty(message = "名称不能为空") String name); + boolean existsByName(@NotNull(message = "父级id") Long parentId, @NotEmpty(message = "名称不能为空") String name, Long id); List listAllTreeByCorpType(Map parmas); } diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/DepartmentRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/DepartmentRepositoryImpl.java index 25ed0d24..5ca0b088 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/DepartmentRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/DepartmentRepositoryImpl.java @@ -136,10 +136,14 @@ public class DepartmentRepositoryImpl extends BaseRepositoryImpl queryWrapper = new QueryWrapper<>(); queryWrapper.eq("name", name); - queryWrapper.eq("corpinfo_id", AuthContext.getTenantId()); + queryWrapper.eq("parent_id", parentId); + queryWrapper.eq("delete_enum", "FALSE"); + if (!ObjectUtils.isEmpty(id)){ + queryWrapper.ne("id", id); + } return departmentMapper.selectCount(queryWrapper) > 0; } }