From 648964897e0289a3b26409c441e33291be3d2db5 Mon Sep 17 00:00:00 2001 From: yanglin Date: Wed, 12 Feb 2025 16:53:16 +0800 Subject: [PATCH] =?UTF-8?q?REQ-3201:=20=E5=A4=87=E4=BB=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ess/api/request/CallbackRequest.java | 20 ++++++++++++ .../nanopart/ess/server/dao/EssOrgDao.java | 7 ++++ .../{EssBroadcaster.java => Broadcaster.java} | 2 +- .../ess/server/ess/ContractManager.java | 10 +++--- .../nanopart/ess/server/ess/EssClient.java | 20 ++++++------ .../nanopart/ess/server/ess/OrgManager.java | 8 +++-- ...EssQueryService.java => QueryService.java} | 2 +- ...{EssController.java => ApiController.java} | 12 +++---- ...ontroller.java => CallbackController.java} | 32 ++++++++++++------- .../ess/server/ess/domain/EssOrgs.java | 21 ------------ .../{EssOuOpenId.java => OuOpenId.java} | 10 +++--- ...EssPersonOpenId.java => PersonOpenId.java} | 14 ++++---- .../{EssSealPersons.java => SealPersons.java} | 6 ++-- 13 files changed, 91 insertions(+), 73 deletions(-) rename ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/{EssBroadcaster.java => Broadcaster.java} (98%) rename ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/{EssQueryService.java => QueryService.java} (99%) rename ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/controller/{EssController.java => ApiController.java} (96%) rename ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/controller/{EssCallbackController.java => CallbackController.java} (82%) delete mode 100644 ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/domain/EssOrgs.java rename ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/domain/{EssOuOpenId.java => OuOpenId.java} (64%) rename ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/domain/{EssPersonOpenId.java => PersonOpenId.java} (56%) rename ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/domain/{EssSealPersons.java => SealPersons.java} (83%) diff --git a/ess/ess-api/src/main/java/cn/axzo/nanopart/ess/api/request/CallbackRequest.java b/ess/ess-api/src/main/java/cn/axzo/nanopart/ess/api/request/CallbackRequest.java index df708fdc..44de6729 100644 --- a/ess/ess-api/src/main/java/cn/axzo/nanopart/ess/api/request/CallbackRequest.java +++ b/ess/ess-api/src/main/java/cn/axzo/nanopart/ess/api/request/CallbackRequest.java @@ -152,4 +152,24 @@ public class CallbackRequest { private Integer OccurTime; } + @Setter @Getter + public static class SuperAdminChanged { + // 第三方应用的应用编号 + private String ApplicationId; + // 第三方平台子客企业的唯一标识 + private String ProxyOrganizationOpenId; + // 新的超管的企业的第三方平台子客企业员工的唯一标识 + private String ChangeToUserOpenId; + // 新的超管的名字 + private String ChangeToUserName; + // 新的超管的手机号 + private String ChangeToUserMobile; + // 老的超管的企业的第三方平台子客企业员工的唯一标识 + private String OldAdminOpenId; + // 老的超管的名字 + private String OldAdminName; + // 老的超管的手机号 + private String OldAdminMobile; + } + } \ No newline at end of file diff --git a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/dao/EssOrgDao.java b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/dao/EssOrgDao.java index 2c825a63..fd48251f 100644 --- a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/dao/EssOrgDao.java +++ b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/dao/EssOrgDao.java @@ -39,4 +39,11 @@ public class EssOrgDao extends ServiceImpl { .update(); } + public void changeSuperAdmin(Long ouId, Long personId) { + lambdaUpdate() + .eq(EssOrg::getOuId, ouId) + .set(EssOrg::getSuperAdminPersonId, personId) + .update(); + } + } \ No newline at end of file diff --git a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/EssBroadcaster.java b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/Broadcaster.java similarity index 98% rename from ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/EssBroadcaster.java rename to ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/Broadcaster.java index 8760632a..f062e40b 100644 --- a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/EssBroadcaster.java +++ b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/Broadcaster.java @@ -16,7 +16,7 @@ import org.springframework.stereotype.Component; */ @Component @RequiredArgsConstructor -class EssBroadcaster { +class Broadcaster { private final EssContractDao essContractDao; protected final EventProducer eventProducer; diff --git a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/ContractManager.java b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/ContractManager.java index 553206a3..288c1801 100644 --- a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/ContractManager.java +++ b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/ContractManager.java @@ -11,7 +11,7 @@ import cn.axzo.nanopart.ess.server.entity.EssContract; import cn.axzo.nanopart.ess.server.entity.EssOrg; import cn.axzo.nanopart.ess.server.entity.EssPerson; import cn.axzo.nanopart.ess.server.entity.EssSealPerson; -import cn.axzo.nanopart.ess.server.ess.domain.EssSealPersons; +import cn.axzo.nanopart.ess.server.ess.domain.SealPersons; import cn.axzo.nanopart.ess.server.utils.BizAssertions; import com.alibaba.fastjson.JSON; import com.tencentcloudapi.common.exception.TencentCloudSDKException; @@ -36,7 +36,7 @@ public class ContractManager { private final EssClient essClient; private final EssOrgDao essOrgDao; private final EssContractDao essContractDao; - private final EssBroadcaster essBroadcaster; + private final Broadcaster broadcaster; private final EssSealPersonDao essSealPersonDao; public String createContract(CreateContractRequest request) { @@ -48,7 +48,7 @@ public class ContractManager { String essContractId = essClient.createContract(superAdmin, request.getContractName(), essFileId, getApproverAsSealPersons(request)); essContractDao.setEssContractCreated(contract.getId(), essFileId, essContractId); - essBroadcaster.fireContractStateChanged(contract.getEssContractId()); + broadcaster.fireContractStateChanged(contract.getEssContractId()); return essContractId; } catch (TencentCloudSDKException e) { log.warn("创建合同失败", e); @@ -66,7 +66,7 @@ public class ContractManager { .collect(toList()); BizAssertions.assertEmpty(notAuthorizedOrgs, "创建合同失败. 以下单位还未认证: {}", JSON.toJSONString(notAuthorizedOrgs)); - EssSealPersons sealPersons = EssSealPersons.wrap(getApproverAsSealPersons(request)); + SealPersons sealPersons = SealPersons.wrap(getApproverAsSealPersons(request)); for (CreateContractRequest.ApproverInfo approver : request.getApprovers()) { EssSealPerson sealPerson = sealPersons.find( approver.getOuId(), approver.getPersonId()).orElse(null); @@ -104,6 +104,6 @@ public class ContractManager { public void updateContractState(String essContractId, EssContractState state) { essContractDao.updateState(essContractId, state); - essBroadcaster.fireContractStateChanged(essContractId); + broadcaster.fireContractStateChanged(essContractId); } } 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 205abb86..9246b800 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 @@ -11,8 +11,8 @@ 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.domain.EssOuOpenId; -import cn.axzo.nanopart.ess.server.ess.domain.EssPersonOpenId; +import cn.axzo.nanopart.ess.server.ess.domain.OuOpenId; +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.utils.BizAssertions; @@ -129,7 +129,7 @@ public class EssClient implements InitializingBean { request.setAgent(agent(superAdmin)); request.setSealId(seal.getEssSealId()); request.setUserIds(new String[]{ - EssPersonOpenId.create(sealPerson.getOuId(), sealPerson.getPersonId()).toOpenId() + PersonOpenId.create(sealPerson.getOuId(), sealPerson.getPersonId()).toOpenId() }); exec(invocation() .context("ChannelCreateSealPolicy") @@ -143,7 +143,7 @@ public class EssClient implements InitializingBean { request.setAgent(agent(superAdmin)); request.setSealId(seal.getEssSealId()); request.setUserIds(new String[]{ - EssPersonOpenId.create(sealPerson.getOuId(), sealPerson.getPersonId()).toOpenId() + PersonOpenId.create(sealPerson.getOuId(), sealPerson.getPersonId()).toOpenId() }); exec(invocation() .context("ChannelDeleteSealPolicies") @@ -194,9 +194,9 @@ public class EssClient implements InitializingBean { approvers.add(approver); approver.setName(personProfile.getRealName()); approver.setMobile(personProfile.getPhone()); - approver.setOpenId(EssPersonOpenId.create(approvePerson.getOuId(), approvePerson.getPersonId()).toOpenId()); + approver.setOpenId(PersonOpenId.create(approvePerson.getOuId(), approvePerson.getPersonId()).toOpenId()); approver.setOrganizationName(orgProfile.getName()); - approver.setOrganizationOpenId(EssOuOpenId.create(approvePerson.getOuId()).toOpenId()); + approver.setOrganizationOpenId(OuOpenId.create(approvePerson.getOuId()).toOpenId()); approver.setApproverType("ORGANIZATION"); approver.setNotifyType("NONE"); approver.setPreReadTime(10L); @@ -230,7 +230,7 @@ public class EssClient implements InitializingBean { ChannelCreateOrganizationBatchSignUrlRequest request = new ChannelCreateOrganizationBatchSignUrlRequest(); request.setAgent(agent(superAdmin)); request.setFlowIds(new String[]{essContractId}); - request.setOpenId(EssPersonOpenId.create(signPerson.getOuId(), signPerson.getPersonId()).toOpenId()); + request.setOpenId(PersonOpenId.create(signPerson.getOuId(), signPerson.getPersonId()).toOpenId()); ChannelCreateOrganizationBatchSignUrlResponse response = exec(invocation() .context("ChannelCreateOrganizationBatchSignUrl") .subject(essContractId) @@ -243,7 +243,7 @@ public class EssClient implements InitializingBean { CreateSignUrlsRequest request = new CreateSignUrlsRequest(); request.setAgent(agent(superAdmin)); request.setFlowIds(new String[]{essContractId}); - request.setOpenId(EssPersonOpenId.create(signPerson.getOuId(), signPerson.getPersonId()).toOpenId()); + request.setOpenId(PersonOpenId.create(signPerson.getOuId(), signPerson.getPersonId()).toOpenId()); CreateSignUrlsResponse response = exec(invocation() .context("CreateSignUrls") .subject(essContractId) @@ -269,8 +269,8 @@ public class EssClient implements InitializingBean { UserInfo userInfo = new UserInfo(); agent.setAppId(props.getAppId()); agent.setProxyAppId(""); - agent.setProxyOrganizationOpenId(EssOuOpenId.create(person.getOuId()).toOpenId()); - userInfo.setOpenId(EssPersonOpenId.create(person.getOuId(), person.getPersonId()).toOpenId()); + agent.setProxyOrganizationOpenId(OuOpenId.create(person.getOuId()).toOpenId()); + userInfo.setOpenId(PersonOpenId.create(person.getOuId(), person.getPersonId()).toOpenId()); agent.setProxyOperator(userInfo); return agent; } diff --git a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/OrgManager.java b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/OrgManager.java index 1c6c8e59..1be9c255 100644 --- a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/OrgManager.java +++ b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/OrgManager.java @@ -11,7 +11,7 @@ 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.domain.EssSealPersons; +import cn.axzo.nanopart.ess.server.ess.domain.SealPersons; import cn.axzo.nanopart.ess.server.ess.domain.OrgAndPerson; import cn.axzo.nanopart.ess.server.ess.support.EssSupport; import cn.axzo.nanopart.ess.server.utils.BizAssertions; @@ -81,6 +81,10 @@ public class OrgManager { essOrgDao.setOrgAuthorized(ouId, authorizePersonId); } + public void changeSuperAdmin(Long ouId, Long personId) { + essOrgDao.changeSuperAdmin(ouId, personId); + } + public EssPerson getSuperAdminOrThrow(Long ouId) { EssPerson superAdmin = findSuperAdmin(ouId).orElse(null); BizAssertions.assertNotNull(superAdmin, "单位还未认证: {}", ouId); @@ -141,7 +145,7 @@ public class OrgManager { public void maybeAddSealPersons(String essSealId, Set personIds) { EssSeal seal = essSealDao.findByEssSealId(essSealId).orElse(null); BizAssertions.assertNotNull(seal, "印章不存在: {}", essSealId); - EssSealPersons sealPersons = EssSealPersons.wrap( + SealPersons sealPersons = SealPersons.wrap( essSealPersonDao.getBySealAndPersonIds(essSealId, personIds)); List newPersons = personIds.stream() .filter(personId -> !sealPersons.containsPerson(personId)) diff --git a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/EssQueryService.java b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/QueryService.java similarity index 99% rename from ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/EssQueryService.java rename to ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/QueryService.java index 8049256c..e99b5508 100644 --- a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/EssQueryService.java +++ b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/QueryService.java @@ -47,7 +47,7 @@ import static java.util.stream.Collectors.toSet; */ @Service @RequiredArgsConstructor -public class EssQueryService { +public class QueryService { private final EssOrgDao essOrgDao; private final EssPersonDao essPersonDao; diff --git a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/controller/EssController.java b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/controller/ApiController.java similarity index 96% rename from ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/controller/EssController.java rename to ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/controller/ApiController.java index 2c827544..b312d14f 100644 --- a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/controller/EssController.java +++ b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/controller/ApiController.java @@ -34,7 +34,7 @@ import cn.axzo.nanopart.ess.server.entity.EssSeal; import cn.axzo.nanopart.ess.server.entity.EssSealPerson; import cn.axzo.nanopart.ess.server.ess.ContractManager; import cn.axzo.nanopart.ess.server.ess.EssClient; -import cn.axzo.nanopart.ess.server.ess.EssQueryService; +import cn.axzo.nanopart.ess.server.ess.QueryService; import cn.axzo.nanopart.ess.server.ess.OrgManager; import cn.axzo.nanopart.ess.server.ess.domain.OrgAndPerson; import cn.axzo.nanopart.ess.server.ess.domain.SealAndPerson; @@ -51,11 +51,11 @@ import java.util.List; @Slf4j @RestController @RequiredArgsConstructor -class EssController implements EssApi { +class ApiController implements EssApi { private final OrgManager orgManager; private final ContractManager contractManager; - private final EssQueryService essQueryService; + private final QueryService queryService; private final EssClient essClient; private final EssSealDao essSealDao; private final EssSealPersonDao essSealPersonDao; @@ -65,12 +65,12 @@ class EssController implements EssApi { @Override public ApiResult> getUnitAuthStates(GetUnitAuthStatesRequest request) { - return ApiResult.ok(essQueryService.getEssUnitAuthStates(request)); + return ApiResult.ok(queryService.getEssUnitAuthStates(request)); } @Override public ApiResult getPersonAuthState(GetPersonAuthStateRequest request) { - return ApiResult.ok(essQueryService.getPersonAuthState(request)); + return ApiResult.ok(queryService.getPersonAuthState(request)); } @Override @@ -95,7 +95,7 @@ class EssController implements EssApi { @Override public ApiResult> getOrgEnabledSeals(GetSealsRequest request) { - return ApiResult.ok(essQueryService.getOrgEnabledSeals(request)); + return ApiResult.ok(queryService.getOrgEnabledSeals(request)); } @Override diff --git a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/controller/EssCallbackController.java b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/controller/CallbackController.java similarity index 82% rename from ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/controller/EssCallbackController.java rename to ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/controller/CallbackController.java index 5bac4401..4e4cfbe9 100644 --- a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/controller/EssCallbackController.java +++ b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/controller/CallbackController.java @@ -7,12 +7,13 @@ import cn.axzo.nanopart.ess.api.enums.EssSealState; import cn.axzo.nanopart.ess.api.enums.EssSealType; import cn.axzo.nanopart.ess.api.request.CallbackRequest; import cn.axzo.nanopart.ess.api.request.CallbackRequest.OrgAuthorizationFinish; +import cn.axzo.nanopart.ess.api.request.CallbackRequest.SuperAdminChanged; import cn.axzo.nanopart.ess.server.dao.EssLogDao; import cn.axzo.nanopart.ess.server.entity.EssLog; import cn.axzo.nanopart.ess.server.ess.ContractManager; import cn.axzo.nanopart.ess.server.ess.OrgManager; -import cn.axzo.nanopart.ess.server.ess.domain.EssOuOpenId; -import cn.axzo.nanopart.ess.server.ess.domain.EssPersonOpenId; +import cn.axzo.nanopart.ess.server.ess.domain.OuOpenId; +import cn.axzo.nanopart.ess.server.ess.domain.PersonOpenId; import lombok.AccessLevel; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -37,7 +38,7 @@ import static cn.axzo.nanopart.ess.api.request.CallbackRequest.SealOperate; @Slf4j @RestController @RequiredArgsConstructor -class EssCallbackController implements EssCallbackApi, InitializingBean { +class CallbackController implements EssCallbackApi, InitializingBean { private final OrgManager orgManager; private final ContractManager contractManager; @@ -50,8 +51,8 @@ class EssCallbackController implements EssCallbackApi, InitializingBean { // 企业开通电子签回调 registerHandler(CallbackType.ORG_AUTHORIZATION_FINISH, request -> { OrgAuthorizationFinish result = request.readMsgData(OrgAuthorizationFinish.class); - EssOuOpenId ouOpenId = EssOuOpenId.parse(result.getProxyOrganizationOpenId()); - EssPersonOpenId personOpenid = EssPersonOpenId.parse(result.getProxyOperatorOpenId()); + OuOpenId ouOpenId = OuOpenId.parse(result.getProxyOrganizationOpenId()); + PersonOpenId personOpenid = PersonOpenId.parse(result.getProxyOperatorOpenId()); if (result.isOpenSuccess()) { orgManager.maybeCreateOrgPersonAndSetAuthorized(ouOpenId.getOuId(), personOpenid.getPersonId()); orgManager.setOrgAuthorized(ouOpenId.getOuId(), personOpenid.getPersonId()); @@ -60,7 +61,7 @@ class EssCallbackController implements EssCallbackApi, InitializingBean { }); // 员工加入子企业的时候发送此通知 registerHandler(CallbackType.ORG_PERSON_JOIN, request -> { - EssPersonOpenId openId = EssPersonOpenId.parse(request.readMsgData(OrgPersonJoin.class).getProxyOperatorOpenId()); + PersonOpenId openId = PersonOpenId.parse(request.readMsgData(OrgPersonJoin.class).getProxyOperatorOpenId()); orgManager.maybeCreateOrgPersonAndSetAuthorized(openId.getOuId(), openId.getPersonId()); orgManager.setPersonSealAllAuthorized(openId.getOuId(), openId.getPersonId()); return openId.getPersonId(); @@ -68,12 +69,12 @@ class EssCallbackController implements EssCallbackApi, InitializingBean { // 印章回调 registerHandler(CallbackType.SEAL_OPERATE, request -> { SealOperate operate = request.readMsgData(SealOperate.class); - EssOuOpenId ouOpenId = EssOuOpenId.parse(operate.getProxyOrganizationOpenId()); - EssPersonOpenId operatorOpenId = EssPersonOpenId.parse(operate.getProxyOperatorOpenId()); - EssPersonOpenId authorizedPersonOpenId = + OuOpenId ouOpenId = OuOpenId.parse(operate.getProxyOrganizationOpenId()); + PersonOpenId operatorOpenId = PersonOpenId.parse(operate.getProxyOperatorOpenId()); + PersonOpenId authorizedPersonOpenId = StringUtils.isBlank(operate.getAuthorizedOperatorOpenId()) - ? EssPersonOpenId.none() - : EssPersonOpenId.parse(operate.getAuthorizedOperatorOpenId()); + ? PersonOpenId.none() + : PersonOpenId.parse(operate.getAuthorizedOperatorOpenId()); orgManager.maybeAddSeal(ouOpenId.getOuId(), operate.getSealId(), EssSealType.fromEssCode(operate.getSealType())); // 印章创建人会自动获得授权 @@ -101,6 +102,12 @@ class EssCallbackController implements EssCallbackApi, InitializingBean { log.warn("unknown contract state: {}", changes.getFlowStatus()); return changes.getFlowId(); }); + registerHandler(CallbackType.SUPER_ADMIN_CHANGED, request -> { + SuperAdminChanged changes = request.readMsgData(SuperAdminChanged.class); + PersonOpenId admin = PersonOpenId.parse(changes.getChangeToUserOpenId()); + orgManager.changeSuperAdmin(admin.getOuId(), admin.getPersonId()); + return admin.getOuId(); + }); } @Override @Transactional @@ -145,7 +152,8 @@ class EssCallbackController implements EssCallbackApi, InitializingBean { ORG_AUTHORIZATION_FINISH("OrgOpenTsignBiz"), ORG_PERSON_JOIN("VerifyStaffInfo"), SEAL_OPERATE("OperateSeal"), - CONTRACT_STATE_CHANGED("FlowStatusChange"); + CONTRACT_STATE_CHANGED("FlowStatusChange"), + SUPER_ADMIN_CHANGED("SuperAdminChange"); final String msgType; diff --git a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/domain/EssOrgs.java b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/domain/EssOrgs.java deleted file mode 100644 index a1ed68bf..00000000 --- a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/domain/EssOrgs.java +++ /dev/null @@ -1,21 +0,0 @@ -package cn.axzo.nanopart.ess.server.ess.domain; - -import cn.axzo.nanopart.ess.server.entity.EssOrg; -import lombok.AccessLevel; -import lombok.RequiredArgsConstructor; - -import java.util.List; - -/** - * @author yanglin - */ -@RequiredArgsConstructor(access = AccessLevel.PRIVATE) -public class EssOrgs { - - private final List orgs; - - public static EssOrgs wrap(List orgs) { - return new EssOrgs(orgs); - } - -} diff --git a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/domain/EssOuOpenId.java b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/domain/OuOpenId.java similarity index 64% rename from ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/domain/EssOuOpenId.java rename to ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/domain/OuOpenId.java index f3270b30..1652091b 100644 --- a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/domain/EssOuOpenId.java +++ b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/domain/OuOpenId.java @@ -9,16 +9,16 @@ import lombok.RequiredArgsConstructor; */ @Getter @RequiredArgsConstructor(access = AccessLevel.PRIVATE) -public class EssOuOpenId { +public class OuOpenId { private final Long ouId; - public static EssOuOpenId create(Long ouId) { - return new EssOuOpenId(ouId); + public static OuOpenId create(Long ouId) { + return new OuOpenId(ouId); } - public static EssOuOpenId parse(String openId) { - return new EssOuOpenId(Long.parseLong(openId)); + public static OuOpenId parse(String openId) { + return new OuOpenId(Long.parseLong(openId)); } public String toOpenId() { diff --git a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/domain/EssPersonOpenId.java b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/domain/PersonOpenId.java similarity index 56% rename from ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/domain/EssPersonOpenId.java rename to ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/domain/PersonOpenId.java index ebc01994..72868f5d 100644 --- a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/domain/EssPersonOpenId.java +++ b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/domain/PersonOpenId.java @@ -9,24 +9,24 @@ import lombok.RequiredArgsConstructor; */ @Getter @RequiredArgsConstructor(access = AccessLevel.PRIVATE) -public class EssPersonOpenId { +public class PersonOpenId { - private static final EssPersonOpenId NONE = create(0L, 0L); + private static final PersonOpenId NONE = create(0L, 0L); private final Long ouId; private final Long personId; - public static EssPersonOpenId none() { + public static PersonOpenId none() { return NONE; } - public static EssPersonOpenId create(Long ouId, Long personId) { - return new EssPersonOpenId(ouId, personId); + public static PersonOpenId create(Long ouId, Long personId) { + return new PersonOpenId(ouId, personId); } - public static EssPersonOpenId parse(String openId) { + public static PersonOpenId parse(String openId) { String[] split = openId.split("_"); - return new EssPersonOpenId(Long.parseLong(split[0]), Long.parseLong(split[1])); + return new PersonOpenId(Long.parseLong(split[0]), Long.parseLong(split[1])); } public String toOpenId() { diff --git a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/domain/EssSealPersons.java b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/domain/SealPersons.java similarity index 83% rename from ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/domain/EssSealPersons.java rename to ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/domain/SealPersons.java index 40bb526f..1a484cb4 100644 --- a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/domain/EssSealPersons.java +++ b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/domain/SealPersons.java @@ -11,12 +11,12 @@ import java.util.Optional; * @author yanglin */ @RequiredArgsConstructor(access = AccessLevel.PRIVATE) -public class EssSealPersons { +public class SealPersons { private final List person; - public static EssSealPersons wrap(List person) { - return new EssSealPersons(person); + public static SealPersons wrap(List person) { + return new SealPersons(person); } public boolean containsPerson(Long personId) {