From c44d7240edf53f2b1e2236a3ffcbe6cf18c7b93a Mon Sep 17 00:00:00 2001 From: yanglin Date: Thu, 27 Feb 2025 11:35:53 +0800 Subject: [PATCH] =?UTF-8?q?REQ-3300:=20=E7=94=A8=E6=88=B7=E7=A6=BB?= =?UTF-8?q?=E8=81=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nanopart/ess/server/ess/EssClient.java | 113 +++++++++--------- .../server/ess/mq/PersonResignHandler.java | 14 ++- 2 files changed, 63 insertions(+), 64 deletions(-) diff --git a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/EssClient.java b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/EssClient.java index e5f3efad..72c5bfdf 100644 --- a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/EssClient.java +++ b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/EssClient.java @@ -1,28 +1,32 @@ package cn.axzo.nanopart.ess.server.ess; -import cn.axzo.basics.profiles.dto.basic.PersonProfileDto; -import cn.axzo.maokai.api.vo.response.OrganizationalUnitVO; -import cn.axzo.nanopart.ess.api.domain.CreateContractInfo; -import cn.axzo.nanopart.ess.api.domain.OrgPerson; -import cn.axzo.nanopart.ess.api.domain.contract.Approver; -import cn.axzo.nanopart.ess.api.enums.EssConsoleUrlEndpoint; -import cn.axzo.nanopart.ess.api.enums.EssEmbedType; -import cn.axzo.nanopart.ess.api.utils.YesOrNo; -import cn.axzo.nanopart.ess.server.dao.EssLogDao; -import cn.axzo.nanopart.ess.server.entity.EssLog; -import cn.axzo.nanopart.ess.server.entity.EssOrg; -import cn.axzo.nanopart.ess.server.entity.EssPerson; -import cn.axzo.nanopart.ess.server.entity.EssSeal; -import cn.axzo.nanopart.ess.server.entity.EssSealPerson; -import cn.axzo.nanopart.ess.server.ess.EssClient.Func.FuncBuilder; -import cn.axzo.nanopart.ess.server.ess.domain.OrgOpenId; -import cn.axzo.nanopart.ess.server.ess.domain.PersonOpenId; -import cn.axzo.nanopart.ess.server.ess.support.EssProps; -import cn.axzo.nanopart.ess.server.ess.support.EssSupport; -import cn.axzo.nanopart.ess.server.ess.support.OrgProfiles; -import cn.axzo.nanopart.ess.server.ess.support.PersonProfiles; -import cn.axzo.nanopart.ess.server.utils.BizAssertions; +import static cn.axzo.nanopart.ess.server.ess.EssClient.Func.func; +import static cn.axzo.nanopart.ess.server.utils.BizAssertions.fail; +import static cn.axzo.nanopart.ess.server.utils.IdBuilder.idbuilder; +import static java.util.stream.Collectors.toList; + +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import java.util.function.Function; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import javax.annotation.Resource; + +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.context.annotation.Bean; +import org.springframework.stereotype.Component; +import org.springframework.transaction.PlatformTransactionManager; +import org.springframework.transaction.TransactionDefinition; +import org.springframework.transaction.support.TransactionTemplate; +import org.springframework.util.ReflectionUtils; + import com.google.common.base.Throwables; import com.tencentcloudapi.common.Credential; import com.tencentcloudapi.common.exception.TencentCloudSDKException; @@ -56,32 +60,31 @@ import com.tencentcloudapi.essbasic.v20210526.models.UploadFile; import com.tencentcloudapi.essbasic.v20210526.models.UploadFilesRequest; import com.tencentcloudapi.essbasic.v20210526.models.UploadFilesResponse; import com.tencentcloudapi.essbasic.v20210526.models.UserInfo; + +import cn.axzo.basics.profiles.dto.basic.PersonProfileDto; +import cn.axzo.maokai.api.vo.response.OrganizationalUnitVO; +import cn.axzo.nanopart.ess.api.domain.CreateContractInfo; +import cn.axzo.nanopart.ess.api.domain.OrgPerson; +import cn.axzo.nanopart.ess.api.domain.contract.Approver; +import cn.axzo.nanopart.ess.api.enums.EssConsoleUrlEndpoint; +import cn.axzo.nanopart.ess.api.enums.EssEmbedType; +import cn.axzo.nanopart.ess.api.utils.YesOrNo; +import cn.axzo.nanopart.ess.server.dao.EssLogDao; +import cn.axzo.nanopart.ess.server.entity.EssLog; +import cn.axzo.nanopart.ess.server.entity.EssOrg; +import cn.axzo.nanopart.ess.server.entity.EssPerson; +import cn.axzo.nanopart.ess.server.entity.EssSeal; +import cn.axzo.nanopart.ess.server.entity.EssSealPerson; +import cn.axzo.nanopart.ess.server.ess.EssClient.Func.FuncBuilder; +import cn.axzo.nanopart.ess.server.ess.domain.OrgOpenId; +import cn.axzo.nanopart.ess.server.ess.domain.PersonOpenId; +import cn.axzo.nanopart.ess.server.ess.support.EssProps; +import cn.axzo.nanopart.ess.server.ess.support.EssSupport; +import cn.axzo.nanopart.ess.server.ess.support.OrgProfiles; +import cn.axzo.nanopart.ess.server.ess.support.PersonProfiles; +import cn.axzo.nanopart.ess.server.utils.BizAssertions; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.InitializingBean; -import org.springframework.context.annotation.Bean; -import org.springframework.stereotype.Component; -import org.springframework.transaction.PlatformTransactionManager; -import org.springframework.transaction.TransactionDefinition; -import org.springframework.transaction.support.TransactionTemplate; -import org.springframework.util.ReflectionUtils; - -import javax.annotation.Resource; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.List; -import java.util.function.Function; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import static cn.axzo.nanopart.ess.server.ess.EssClient.Func.func; -import static cn.axzo.nanopart.ess.server.utils.BizAssertions.fail; -import static cn.axzo.nanopart.ess.server.utils.IdBuilder.idbuilder; -import static java.util.stream.Collectors.toList; /** * @author yanglin @@ -325,25 +328,19 @@ public class EssClient implements InitializingBean { .command(() -> manage.CreateSignUrls(request))); } - public void setEmployeeResigned(EssPerson superAdmin, List employees) { + public void setEmployeeResigned(EssPerson superAdmin, EssPerson person) { ArrayList operators = new ArrayList<>(); - for (EssPerson employee : employees) { - ProxyOrganizationOperator operator = new ProxyOrganizationOperator(); - operators.add(operator); - operator.setId(PersonOpenId.create(employee).toOpenId()); - operator.setName(employee.getPersonName()); - } + ProxyOrganizationOperator operator = new ProxyOrganizationOperator(); + operators.add(operator); + operator.setId(PersonOpenId.create(person).toOpenId()); + operator.setName(person.getPersonName()); SyncProxyOrganizationOperatorsRequest request = new SyncProxyOrganizationOperatorsRequest(); request.setAgent(agent(superAdmin)); request.setOperatorType("RESIGN"); request.setProxyOrganizationOperators(operators.toArray(new ProxyOrganizationOperator[0])); exec(func() // .context("SyncProxyOrganizationOperators") // - .subject(employees.stream() // - .map(EssPerson::getPersonId) // - .map(String::valueOf) // - .reduce((a, b) -> a + "," + b) // - .orElse("")) // + .subject(person.getPersonId() + "") // .request(request) // .command(() -> manage.SyncProxyOrganizationOperators(request))); } diff --git a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/mq/PersonResignHandler.java b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/mq/PersonResignHandler.java index 185d8c18..4d65513a 100644 --- a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/mq/PersonResignHandler.java +++ b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/mq/PersonResignHandler.java @@ -1,6 +1,13 @@ package cn.axzo.nanopart.ess.server.ess.mq; +import java.util.Collections; + +import org.springframework.beans.factory.InitializingBean; +import org.springframework.stereotype.Component; + +import com.alibaba.fastjson.JSON; + import cn.axzo.framework.rocketmq.Event; import cn.axzo.framework.rocketmq.EventConsumer; import cn.axzo.framework.rocketmq.EventHandler; @@ -11,13 +18,8 @@ import cn.axzo.nanopart.ess.server.entity.EssOrg; import cn.axzo.nanopart.ess.server.entity.EssPerson; import cn.axzo.nanopart.ess.server.ess.EssClient; import cn.axzo.nanopart.ess.server.ess.OrgManager; -import com.alibaba.fastjson.JSON; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.InitializingBean; -import org.springframework.stereotype.Component; - -import java.util.Collections; /** * @author yanglin @@ -69,7 +71,7 @@ public class PersonResignHandler implements EventHandler, InitializingBean { return; } EssPerson superAdmin = orgManager.getSuperAdminOrThrow(event.getOuId()); - essClient.setEmployeeResigned(superAdmin, Collections.singletonList(person)); + essClient.setEmployeeResigned(superAdmin, person); orgManager.setOrgPersonResign(person); log.info("set person resigned: {}", JSON.toJSONString(person)); }