REQ-3300: 用户离职
This commit is contained in:
parent
cccf8b6d96
commit
c44d7240ed
@ -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<EssPerson> employees) {
|
||||
public void setEmployeeResigned(EssPerson superAdmin, EssPerson person) {
|
||||
ArrayList<ProxyOrganizationOperator> 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)));
|
||||
}
|
||||
|
||||
@ -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));
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user