From 2bc55c2e2fe70cb9304d3855c02ed770f5cdab4f Mon Sep 17 00:00:00 2001 From: zhaokai Date: Mon, 1 Dec 2025 17:13:16 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=96=B9=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=92=8C=E9=83=A8=E9=97=A8=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C=E6=98=AF=E5=90=A6=E5=AE=8C=E5=96=84=E4=BC=81?= =?UTF-8?q?=E4=B8=9A=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../info/facade/ZcloudCorpFacadeImpl.java | 5 +++ .../basic/info/web/CorpInfoController.java | 5 +++ .../basic/info/command/DepartmentAddExe.java | 7 ++++ .../zcloud/basic/info/command/UserAddExe.java | 7 ++++ .../info/command/query/CorpInfoQueryExe.java | 40 +++++++++++++++++-- .../info/service/CorpInfoServiceImpl.java | 6 +++ .../basic/info/api/CorpInfoServiceI.java | 2 + 7 files changed, 68 insertions(+), 4 deletions(-) diff --git a/web-adapter/src/main/java/com/zcloud/basic/info/facade/ZcloudCorpFacadeImpl.java b/web-adapter/src/main/java/com/zcloud/basic/info/facade/ZcloudCorpFacadeImpl.java index ae64fe9..f045236 100644 --- a/web-adapter/src/main/java/com/zcloud/basic/info/facade/ZcloudCorpFacadeImpl.java +++ b/web-adapter/src/main/java/com/zcloud/basic/info/facade/ZcloudCorpFacadeImpl.java @@ -74,4 +74,9 @@ public class ZcloudCorpFacadeImpl implements ZcloudCorpFacade { List zcloudCorpCo = corpInfoCoConvertor.converCOsToDubboCOs(list); return MultiResponse.of(zcloudCorpCo); } + + @Override + public SingleResponse verifyCorpInfo() { + return SingleResponse.of(corpInfoService.verifyCorpInfo()); + } } diff --git a/web-adapter/src/main/java/com/zcloud/basic/info/web/CorpInfoController.java b/web-adapter/src/main/java/com/zcloud/basic/info/web/CorpInfoController.java index f3b5399..159288f 100644 --- a/web-adapter/src/main/java/com/zcloud/basic/info/web/CorpInfoController.java +++ b/web-adapter/src/main/java/com/zcloud/basic/info/web/CorpInfoController.java @@ -120,6 +120,11 @@ public class CorpInfoController { public PageResponse corpUserMiddlePage(@Validated @RequestBody CorpUserMiddleQry qry) { return corpInfoService.corpUserMiddlePage(qry); } + @ApiOperation("企业信息是否完善") + @PostMapping("/verifyCorpInfo") + public SingleResponse verifyCorpInfo() { + return SingleResponse.of(corpInfoService.verifyCorpInfo()); + } } 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 96a7841..1c12ed1 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 @@ -4,7 +4,9 @@ import cn.hutool.core.collection.CollUtil; import com.alibaba.cola.dto.Response; import com.alibaba.cola.exception.BizException; import com.zcloud.basic.info.command.convertor.DepartmentSuperviseCoConvertor; +import com.zcloud.basic.info.command.query.CorpInfoQueryExe; import com.zcloud.basic.info.domain.enums.CommonFlagEnum; +import com.zcloud.basic.info.domain.enums.CorpTypeEnum; import com.zcloud.basic.info.domain.gateway.DepartmentGateway; import com.zcloud.basic.info.domain.gateway.DepartmentSuperviseGateway; import com.zcloud.basic.info.domain.model.DepartmentE; @@ -36,10 +38,15 @@ public class DepartmentAddExe { private final DepartmentGateway departmentGateway; private final DepartmentSuperviseGateway departmentSuperviseGateway; private final DepartmentRepository departmentRepository; + private final CorpInfoQueryExe corpInfoQueryExe; @Transactional(rollbackFor = Exception.class) public Long execute(DepartmentAddCmd cmd) { + Boolean b = corpInfoQueryExe.verifyCorpInfo(); + if (!b) { + throw new BizException("请先完善企业信息"); + } DepartmentE examTypeE = new DepartmentE(); //名字校验重复 if (departmentRepository.existsByName(cmd.getName())) { diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/UserAddExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/UserAddExe.java index f06bb9e..25300c7 100644 --- a/web-app/src/main/java/com/zcloud/basic/info/command/UserAddExe.java +++ b/web-app/src/main/java/com/zcloud/basic/info/command/UserAddExe.java @@ -10,6 +10,7 @@ import com.jjb.saas.framework.auth.model.SSOUser; import com.jjb.saas.framework.auth.utils.AuthContext; import com.jjb.saas.system.client.role.response.RoleCO; import com.zcloud.basic.info.command.convertor.UserCoConvertor; +import com.zcloud.basic.info.command.query.CorpInfoQueryExe; import com.zcloud.basic.info.domain.gateway.CorpInfoGateway; import com.zcloud.basic.info.domain.gateway.UserEmploymentLogGateway; import com.zcloud.basic.info.domain.gateway.UserGateway; @@ -61,10 +62,16 @@ public class UserAddExe { private final UserRepository userRepository; @DubboReference private ConfDictTreeFacade confDictTreeFacade; + private final CorpInfoQueryExe corpInfoQueryExe; + @Transactional(rollbackFor = Exception.class) public boolean execute(UserAddCmd cmd) { + Boolean b = corpInfoQueryExe.verifyCorpInfo(); + if (!b) { + throw new BizException("请先完善企业信息"); + } SSOUser ssoUser = AuthContext.getCurrentUser(); Long tenantId = ssoUser.getTenantId(); UserE userE = new UserE(); diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/query/CorpInfoQueryExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/query/CorpInfoQueryExe.java index 224de6d..4f63b7a 100644 --- a/web-app/src/main/java/com/zcloud/basic/info/command/query/CorpInfoQueryExe.java +++ b/web-app/src/main/java/com/zcloud/basic/info/command/query/CorpInfoQueryExe.java @@ -2,10 +2,14 @@ package com.zcloud.basic.info.command.query; import cn.hutool.core.collection.CollUtil; import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.exception.BizException; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.jjb.saas.framework.auth.utils.AuthContext; import com.jjb.saas.system.client.tenant.request.TenantAddCmd; import com.zcloud.basic.info.command.convertor.CorpInfoCoConvertor; import com.zcloud.basic.info.domain.enums.CorpFormTypeEnum; +import com.zcloud.basic.info.domain.enums.CorpTypeEnum; +import com.zcloud.basic.info.domain.enums.UserTypeEnum; import com.zcloud.basic.info.domain.model.CorpDepartmentE; import com.zcloud.basic.info.domain.model.CorpInfoE; import com.zcloud.basic.info.domain.model.DepartmentE; @@ -20,6 +24,7 @@ import com.zcloud.basic.info.persistence.dataobject.UserQualificationInfoDO; import com.zcloud.basic.info.persistence.repository.*; import com.zcloud.gbscommon.utils.PageQueryHelper; import lombok.AllArgsConstructor; +import org.apache.commons.lang.StringUtils; import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Component; @@ -61,7 +66,7 @@ public class CorpInfoQueryExe { } PageResponse pageResponse = corpInfoRepository.listPage(parmas); List examCenterCOS = corpInfoCoConvertor.converDOsToCOs(pageResponse.getData()); - if(CollUtil.isEmpty(examCenterCOS)){ + if (CollUtil.isEmpty(examCenterCOS)) { return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); } //examCenterCOS获取id集合 @@ -72,7 +77,7 @@ public class CorpInfoQueryExe { .collect(Collectors.groupingBy(CorpFormDO::getInfoId)); // 组装营业执照和多选框 examCenterCOS.forEach(info -> { - if(CollUtil.isNotEmpty(groupedByCorpInfoId )&&CollUtil.isNotEmpty(groupedByCorpInfoId.get(info.getId()))){ + if (CollUtil.isNotEmpty(groupedByCorpInfoId) && CollUtil.isNotEmpty(groupedByCorpInfoId.get(info.getId()))) { //infoByTypeList name按照逗号分隔 info.setSelectfromString(groupedByCorpInfoId.get(info.getId()).stream() .map(CorpFormDO::getItemName) @@ -144,7 +149,7 @@ public class CorpInfoQueryExe { Map parmas = PageQueryHelper.toHashMap(qry); PageResponse pageResponse = corpInfoRepository.corpUserMiddlePage(parmas); List examCenterCOS = corpInfoCoConvertor.converDOsToMiddleCOs(pageResponse.getData()); - if(CollUtil.isEmpty(examCenterCOS)){ + if (CollUtil.isEmpty(examCenterCOS)) { return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); } //examCenterCOS获取id集合 @@ -176,7 +181,7 @@ public class CorpInfoQueryExe { info.setSafetyUserCount(0L); } - if(CollUtil.isNotEmpty(groupedByCorpInfoId )&&CollUtil.isNotEmpty(groupedByCorpInfoId.get(info.getId()))){ + if (CollUtil.isNotEmpty(groupedByCorpInfoId) && CollUtil.isNotEmpty(groupedByCorpInfoId.get(info.getId()))) { //infoByTypeList name按照逗号分隔 info.setSelectfromString(groupedByCorpInfoId.get(info.getId()).stream() .map(CorpFormDO::getItemName) @@ -199,5 +204,32 @@ public class CorpInfoQueryExe { List list = corpInfoRepository.list(dOQueryWrapper); return corpInfoCoConvertor.converDOsToCOs(list); } + + public Boolean verifyCorpInfo() { + CorpInfoDO corpInfoDO = corpInfoRepository.getById(AuthContext.getCurrentUser().getTenantId()); + if (corpInfoDO == null) { + throw new BizException("企业不存在"); + } + //是相关方才会校验 + List enterpriseType = CorpTypeEnum.getCodesByEnterpriseType(UserTypeEnum.XGF.getCode()); + + if (!enterpriseType.contains(corpInfoDO.getType())) { + return true; + } + //corpName,省份编码,单位经营地址,企业规模,法定代表人姓名,主要负责人电话,成立日期,职工人数,资产总额,营业执照开始时间,只要有一个不为空 + if (StringUtils.isEmpty(corpInfoDO.getCorpName()) + || StringUtils.isEmpty(corpInfoDO.getProvince()) + || StringUtils.isEmpty(corpInfoDO.getAddressBusiness()) + || corpInfoDO.getScaleType()==null + || StringUtils.isEmpty(corpInfoDO.getLrName()) + || StringUtils.isEmpty(corpInfoDO.getContactsPhone()) + || corpInfoDO.getCreateDate() == null + || corpInfoDO.getEmployees()==null + || corpInfoDO.getTotalAssets()==null + || corpInfoDO.getLicenseStart()==null) { + return false; + } + return true; + } } diff --git a/web-app/src/main/java/com/zcloud/basic/info/service/CorpInfoServiceImpl.java b/web-app/src/main/java/com/zcloud/basic/info/service/CorpInfoServiceImpl.java index 82d2492..2bda0ab 100644 --- a/web-app/src/main/java/com/zcloud/basic/info/service/CorpInfoServiceImpl.java +++ b/web-app/src/main/java/com/zcloud/basic/info/service/CorpInfoServiceImpl.java @@ -117,5 +117,11 @@ public class CorpInfoServiceImpl implements CorpInfoServiceI { public List listByCorpIds(Collection collection) { return corpInfoQueryExe.listByCorpIds(collection); } + + @Override + public Boolean verifyCorpInfo() { + return corpInfoQueryExe.verifyCorpInfo(); + + } } diff --git a/web-client/src/main/java/com/zcloud/basic/info/api/CorpInfoServiceI.java b/web-client/src/main/java/com/zcloud/basic/info/api/CorpInfoServiceI.java index 9fa714b..9f5ebdd 100644 --- a/web-client/src/main/java/com/zcloud/basic/info/api/CorpInfoServiceI.java +++ b/web-client/src/main/java/com/zcloud/basic/info/api/CorpInfoServiceI.java @@ -46,5 +46,7 @@ public interface CorpInfoServiceI { List getCorpList(); List listByCorpIds(Collection collection); + + Boolean verifyCorpInfo(); }