From 4152945a59e819c6f117492eceee1f8ed9c68752 Mon Sep 17 00:00:00 2001 From: zhaokai Date: Sat, 4 Jul 2026 11:08:09 +0800 Subject: [PATCH] =?UTF-8?q?feat(human-user):=20=E6=B7=BB=E5=8A=A0=E4=BA=BA?= =?UTF-8?q?=E8=B5=84=E5=90=8D=E7=A7=B0=E6=98=A0=E5=B0=84=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E4=BC=81=E4=B8=9A=E9=83=A8=E9=97=A8=E5=B2=97?= =?UTF-8?q?=E4=BD=8D=E5=90=8D=E7=A7=B0=E8=BD=AC=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../user/command/HumanSyncNameResolveExe.java | 79 +++++++++++++++++++ .../human/user/command/HumanUserSyncExe.java | 31 +++++--- .../user/dto/HumanSyncNameResolveCmd.java | 25 ++++++ .../clientobject/HumanSyncNameResolveCO.java | 25 ++++++ .../gateway/HumanCorpNameMappingGateway.java | 14 ++++ .../gateway/HumanDeptNameMappingGateway.java | 14 ++++ .../gateway/HumanPostNameMappingGateway.java | 14 ++++ .../domain/model/HumanCorpNameMappingE.java | 28 +++++++ .../domain/model/HumanDeptNameMappingE.java | 30 +++++++ .../domain/model/HumanPostNameMappingE.java | 32 ++++++++ .../HumanCorpNameMappingGatewayImpl.java | 33 ++++++++ .../HumanDeptNameMappingGatewayImpl.java | 33 ++++++++ .../HumanPostNameMappingGatewayImpl.java | 33 ++++++++ .../dataobject/HumanCorpNameMappingDO.java | 22 ++++++ .../dataobject/HumanDeptNameMappingDO.java | 24 ++++++ .../dataobject/HumanPostNameMappingDO.java | 26 ++++++ .../mapper/HumanCorpNameMappingMapper.java | 15 ++++ .../mapper/HumanDeptNameMappingMapper.java | 16 ++++ .../mapper/HumanPostNameMappingMapper.java | 17 ++++ .../HumanCorpNameMappingRepository.java | 12 +++ .../HumanDeptNameMappingRepository.java | 12 +++ .../HumanPostNameMappingRepository.java | 12 +++ .../HumanCorpNameMappingRepositoryImpl.java | 23 ++++++ .../HumanDeptNameMappingRepositoryImpl.java | 23 ++++++ .../HumanPostNameMappingRepositoryImpl.java | 23 ++++++ .../src/main/resources/TableCreationDDL.sql | 71 +++++++++++++++++ .../mapper/HumanCorpNameMappingMapper.xml | 39 +++++++++ .../mapper/HumanDeptNameMappingMapper.xml | 42 ++++++++++ .../mapper/HumanPostNameMappingMapper.xml | 46 +++++++++++ 29 files changed, 805 insertions(+), 9 deletions(-) create mode 100644 web-app/src/main/java/com/zcloud/human/user/command/HumanSyncNameResolveExe.java create mode 100644 web-client/src/main/java/com/zcloud/human/user/dto/HumanSyncNameResolveCmd.java create mode 100644 web-client/src/main/java/com/zcloud/human/user/dto/clientobject/HumanSyncNameResolveCO.java create mode 100644 web-domain/src/main/java/com/zcloud/human/user/domain/gateway/HumanCorpNameMappingGateway.java create mode 100644 web-domain/src/main/java/com/zcloud/human/user/domain/gateway/HumanDeptNameMappingGateway.java create mode 100644 web-domain/src/main/java/com/zcloud/human/user/domain/gateway/HumanPostNameMappingGateway.java create mode 100644 web-domain/src/main/java/com/zcloud/human/user/domain/model/HumanCorpNameMappingE.java create mode 100644 web-domain/src/main/java/com/zcloud/human/user/domain/model/HumanDeptNameMappingE.java create mode 100644 web-domain/src/main/java/com/zcloud/human/user/domain/model/HumanPostNameMappingE.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/human/user/gatewayimpl/HumanCorpNameMappingGatewayImpl.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/human/user/gatewayimpl/HumanDeptNameMappingGatewayImpl.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/human/user/gatewayimpl/HumanPostNameMappingGatewayImpl.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/human/user/persistence/dataobject/HumanCorpNameMappingDO.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/human/user/persistence/dataobject/HumanDeptNameMappingDO.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/human/user/persistence/dataobject/HumanPostNameMappingDO.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/human/user/persistence/mapper/HumanCorpNameMappingMapper.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/human/user/persistence/mapper/HumanDeptNameMappingMapper.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/human/user/persistence/mapper/HumanPostNameMappingMapper.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/human/user/persistence/repository/HumanCorpNameMappingRepository.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/human/user/persistence/repository/HumanDeptNameMappingRepository.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/human/user/persistence/repository/HumanPostNameMappingRepository.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/human/user/persistence/repository/impl/HumanCorpNameMappingRepositoryImpl.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/human/user/persistence/repository/impl/HumanDeptNameMappingRepositoryImpl.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/human/user/persistence/repository/impl/HumanPostNameMappingRepositoryImpl.java create mode 100644 web-infrastructure/src/main/resources/mapper/HumanCorpNameMappingMapper.xml create mode 100644 web-infrastructure/src/main/resources/mapper/HumanDeptNameMappingMapper.xml create mode 100644 web-infrastructure/src/main/resources/mapper/HumanPostNameMappingMapper.xml diff --git a/web-app/src/main/java/com/zcloud/human/user/command/HumanSyncNameResolveExe.java b/web-app/src/main/java/com/zcloud/human/user/command/HumanSyncNameResolveExe.java new file mode 100644 index 0000000..5d9e877 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/human/user/command/HumanSyncNameResolveExe.java @@ -0,0 +1,79 @@ +package com.zcloud.human.user.command; + +import com.alibaba.cloud.commons.lang.StringUtils; +import com.zcloud.human.user.domain.gateway.HumanCorpNameMappingGateway; +import com.zcloud.human.user.domain.gateway.HumanDeptNameMappingGateway; +import com.zcloud.human.user.domain.gateway.HumanPostNameMappingGateway; +import com.zcloud.human.user.domain.model.HumanCorpNameMappingE; +import com.zcloud.human.user.domain.model.HumanDeptNameMappingE; +import com.zcloud.human.user.domain.model.HumanPostNameMappingE; +import com.zcloud.human.user.dto.HumanSyncNameResolveCmd; +import com.zcloud.human.user.dto.clientobject.HumanSyncNameResolveCO; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 人资名称映射解析执行器 + */ +@Component +@RequiredArgsConstructor +@Slf4j +public class HumanSyncNameResolveExe { + + private final HumanCorpNameMappingGateway humanCorpNameMappingGateway; + private final HumanDeptNameMappingGateway humanDeptNameMappingGateway; + private final HumanPostNameMappingGateway humanPostNameMappingGateway; + + public HumanSyncNameResolveCO execute(HumanSyncNameResolveCmd cmd) { + HumanSyncNameResolveCO result = new HumanSyncNameResolveCO(); + String thirdCorpName = normalizeName(cmd.getThirdCorpName()); + String thirdDeptName = normalizeName(cmd.getThirdDeptName()); + String thirdPostName = normalizeName(cmd.getThirdPostName()); + + result.setRealCorpName(resolveCorpName(thirdCorpName)); + result.setRealDeptName(resolveDeptName(thirdCorpName, thirdDeptName)); + result.setRealPostName(resolvePostName(thirdCorpName, thirdDeptName, thirdPostName)); + return result; + } + + private String resolveCorpName(String thirdCorpName) { + if (StringUtils.isEmpty(thirdCorpName)) { + return null; + } + HumanCorpNameMappingE mapping = humanCorpNameMappingGateway.getByThirdCorpName(thirdCorpName); + if (mapping == null || StringUtils.isEmpty(mapping.getRealCorpName())) { + return thirdCorpName; + } + return normalizeName(mapping.getRealCorpName()); + } + + private String resolveDeptName(String thirdCorpName, String thirdDeptName) { + if (StringUtils.isEmpty(thirdDeptName)) { + return null; + } + HumanDeptNameMappingE mapping = humanDeptNameMappingGateway.getByThirdCorpNameAndThirdDeptName(thirdCorpName, thirdDeptName); + if (mapping == null || StringUtils.isEmpty(mapping.getRealDeptName())) { + return thirdDeptName; + } + return normalizeName(mapping.getRealDeptName()); + } + + private String resolvePostName(String thirdCorpName, String thirdDeptName, String thirdPostName) { + if (StringUtils.isEmpty(thirdPostName)) { + return null; + } + HumanPostNameMappingE mapping = humanPostNameMappingGateway.getByThirdNames(thirdCorpName, thirdDeptName, thirdPostName); + if (mapping == null || StringUtils.isEmpty(mapping.getRealPostName())) { + return thirdPostName; + } + return normalizeName(mapping.getRealPostName()); + } + + private String normalizeName(String value) { + if (StringUtils.isEmpty(value)) { + return null; + } + return value.replace("\t", "").trim(); + } +} diff --git a/web-app/src/main/java/com/zcloud/human/user/command/HumanUserSyncExe.java b/web-app/src/main/java/com/zcloud/human/user/command/HumanUserSyncExe.java index 2de0519..90794f4 100644 --- a/web-app/src/main/java/com/zcloud/human/user/command/HumanUserSyncExe.java +++ b/web-app/src/main/java/com/zcloud/human/user/command/HumanUserSyncExe.java @@ -31,6 +31,8 @@ import com.zcloud.gbscommon.zclouduser.request.ZcloudUserInfoQry; import com.zcloud.gbscommon.zclouduser.request.ZcloudUserUpdateCmd; import com.zcloud.gbscommon.zclouduser.response.ZcloudUserCo; import com.zcloud.human.user.config.HumanResourcesConfig; +import com.zcloud.human.user.dto.HumanSyncNameResolveCmd; +import com.zcloud.human.user.dto.clientobject.HumanSyncNameResolveCO; import com.zcloud.human.user.domain.enums.UserEmploymentFlagEnum; import com.zcloud.human.user.domain.gateway.HumanUserGateway; import com.zcloud.human.user.domain.gateway.HumanUserRecordGateway; @@ -142,6 +144,7 @@ public class HumanUserSyncExe { private final HumanUserRecordGateway humanUserRecordGateway; private final HumanResourcesConfig humanResourcesConfig; + private final HumanSyncNameResolveExe humanSyncNameResolveExe; private final JSONConfig jsonConfig = JSONConfig.create().setIgnoreNullValue(true); @@ -1105,26 +1108,36 @@ public class HumanUserSyncExe { continue; } - Long corpId = getTargetCorpId(corporationName); + String deptName = normalizeLookupName(jsonObject.getStr("dept_name")); + String postName = resolvePostName(jsonObject); + HumanSyncNameResolveCmd resolveCmd = new HumanSyncNameResolveCmd(); + resolveCmd.setThirdCorpName(corporationName); + resolveCmd.setThirdDeptName(deptName); + resolveCmd.setThirdPostName(postName); + HumanSyncNameResolveCO resolveCO = humanSyncNameResolveExe.execute(resolveCmd); + String realCorpName = normalizeLookupName(resolveCO.getRealCorpName()); + String realDeptName = normalizeLookupName(resolveCO.getRealDeptName()); + String realPostName = normalizeLookupName(resolveCO.getRealPostName()); + + Long corpId = getTargetCorpId(realCorpName); if (corpId == null) { - log.info("未找到目标企业:{},跳过同步", corporationName); + log.info("未找到目标企业,跳过同步,三方企业名={},映射企业名={},原始数据={}", corporationName, realCorpName, jsonObject); skipCount++; continue; } Map deptNameIdMap = corpId == null ? Collections.emptyMap() : getTargetCorpDeptNameIdMap(corpId); - String deptName = jsonObject.getStr("dept_name"); - Long deptId = StringUtils.isEmpty(deptName) || deptNameIdMap == null ? null : deptNameIdMap.get(deptName); + Long deptId = StringUtils.isEmpty(realDeptName) || deptNameIdMap == null ? null : deptNameIdMap.get(realDeptName); if (deptId == null) { - log.info("未找到目标部门:{},跳过同步", deptName); + log.info("未找到目标部门,跳过同步,三方企业名={},三方部门名={},映射部门名={},corpId={},原始数据={}", + corporationName, deptName, realDeptName, corpId, jsonObject); skipCount++; continue; } - String postName = resolvePostName(jsonObject); Map postNameIdMap = getDeptPostNameIdMap(corpId, deptId); - Long postId = postNameIdMap.get(normalizeLookupName(postName)); + Long postId = postNameIdMap.get(realPostName); if (corpId == null || deptId == null || postId == null) { - log.info("跳过用户状态同步:企业、部门或岗位未匹配,身份证号={},corpId={},deptId={},postName={},postId={},原始数据={}", - idCardNumber, corpId, deptId, postName, postId, jsonObject); + log.info("跳过用户状态同步:企业、部门或岗位未匹配,身份证号={},三方企业名={},三方部门名={},三方岗位名={},映射企业名={},映射部门名={},映射岗位名={},corpId={},deptId={},postId={},原始数据={}", + idCardNumber, corporationName, deptName, postName, realCorpName, realDeptName, realPostName, corpId, deptId, postId, jsonObject); skipCount++; continue; } diff --git a/web-client/src/main/java/com/zcloud/human/user/dto/HumanSyncNameResolveCmd.java b/web-client/src/main/java/com/zcloud/human/user/dto/HumanSyncNameResolveCmd.java new file mode 100644 index 0000000..749046e --- /dev/null +++ b/web-client/src/main/java/com/zcloud/human/user/dto/HumanSyncNameResolveCmd.java @@ -0,0 +1,25 @@ +package com.zcloud.human.user.dto; + +import lombok.Data; + +/** + * 人资名称映射解析入参 + */ +@Data +public class HumanSyncNameResolveCmd { + + /** + * 三方企业名称 + */ + private String thirdCorpName; + + /** + * 三方部门名称 + */ + private String thirdDeptName; + + /** + * 三方岗位名称 + */ + private String thirdPostName; +} diff --git a/web-client/src/main/java/com/zcloud/human/user/dto/clientobject/HumanSyncNameResolveCO.java b/web-client/src/main/java/com/zcloud/human/user/dto/clientobject/HumanSyncNameResolveCO.java new file mode 100644 index 0000000..b7e625c --- /dev/null +++ b/web-client/src/main/java/com/zcloud/human/user/dto/clientobject/HumanSyncNameResolveCO.java @@ -0,0 +1,25 @@ +package com.zcloud.human.user.dto.clientobject; + +import lombok.Data; + +/** + * 人资名称映射解析结果 + */ +@Data +public class HumanSyncNameResolveCO { + + /** + * 真实企业名称 + */ + private String realCorpName; + + /** + * 真实部门名称 + */ + private String realDeptName; + + /** + * 真实岗位名称 + */ + private String realPostName; +} diff --git a/web-domain/src/main/java/com/zcloud/human/user/domain/gateway/HumanCorpNameMappingGateway.java b/web-domain/src/main/java/com/zcloud/human/user/domain/gateway/HumanCorpNameMappingGateway.java new file mode 100644 index 0000000..a15a042 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/human/user/domain/gateway/HumanCorpNameMappingGateway.java @@ -0,0 +1,14 @@ +package com.zcloud.human.user.domain.gateway; + +import com.zcloud.human.user.domain.model.HumanCorpNameMappingE; + +/** + * 人资企业名称关联网关 + */ +public interface HumanCorpNameMappingGateway { + + /** + * 根据三方企业名称查询关联关系 + */ + HumanCorpNameMappingE getByThirdCorpName(String thirdCorpName); +} diff --git a/web-domain/src/main/java/com/zcloud/human/user/domain/gateway/HumanDeptNameMappingGateway.java b/web-domain/src/main/java/com/zcloud/human/user/domain/gateway/HumanDeptNameMappingGateway.java new file mode 100644 index 0000000..87ef3e7 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/human/user/domain/gateway/HumanDeptNameMappingGateway.java @@ -0,0 +1,14 @@ +package com.zcloud.human.user.domain.gateway; + +import com.zcloud.human.user.domain.model.HumanDeptNameMappingE; + +/** + * 人资部门名称关联网关 + */ +public interface HumanDeptNameMappingGateway { + + /** + * 根据三方企业名称和部门名称查询关联关系 + */ + HumanDeptNameMappingE getByThirdCorpNameAndThirdDeptName(String thirdCorpName, String thirdDeptName); +} diff --git a/web-domain/src/main/java/com/zcloud/human/user/domain/gateway/HumanPostNameMappingGateway.java b/web-domain/src/main/java/com/zcloud/human/user/domain/gateway/HumanPostNameMappingGateway.java new file mode 100644 index 0000000..7972a26 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/human/user/domain/gateway/HumanPostNameMappingGateway.java @@ -0,0 +1,14 @@ +package com.zcloud.human.user.domain.gateway; + +import com.zcloud.human.user.domain.model.HumanPostNameMappingE; + +/** + * 人资岗位名称关联网关 + */ +public interface HumanPostNameMappingGateway { + + /** + * 根据三方企业、部门、岗位名称查询关联关系 + */ + HumanPostNameMappingE getByThirdNames(String thirdCorpName, String thirdDeptName, String thirdPostName); +} diff --git a/web-domain/src/main/java/com/zcloud/human/user/domain/model/HumanCorpNameMappingE.java b/web-domain/src/main/java/com/zcloud/human/user/domain/model/HumanCorpNameMappingE.java new file mode 100644 index 0000000..9394de6 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/human/user/domain/model/HumanCorpNameMappingE.java @@ -0,0 +1,28 @@ +package com.zcloud.human.user.domain.model; + +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * 人资企业名称关联实体 + */ +@Data +public class HumanCorpNameMappingE { + private Long id; + private String mappingId; + private String thirdCorpName; + private String realCorpName; + private String remark; + private Integer version; + private Long createId; + private String createName; + private LocalDateTime createTime; + private Long updateId; + private String updateName; + private LocalDateTime updateTime; + private String deleteEnum; + private Long tenantId; + private Long orgId; + private String env; +} diff --git a/web-domain/src/main/java/com/zcloud/human/user/domain/model/HumanDeptNameMappingE.java b/web-domain/src/main/java/com/zcloud/human/user/domain/model/HumanDeptNameMappingE.java new file mode 100644 index 0000000..a5ee849 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/human/user/domain/model/HumanDeptNameMappingE.java @@ -0,0 +1,30 @@ +package com.zcloud.human.user.domain.model; + +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * 人资部门名称关联实体 + */ +@Data +public class HumanDeptNameMappingE { + private Long id; + private String mappingId; + private String thirdCorpName; + private String thirdDeptName; + private String realCorpName; + private String realDeptName; + private String remark; + private Integer version; + private Long createId; + private String createName; + private LocalDateTime createTime; + private Long updateId; + private String updateName; + private LocalDateTime updateTime; + private String deleteEnum; + private Long tenantId; + private Long orgId; + private String env; +} diff --git a/web-domain/src/main/java/com/zcloud/human/user/domain/model/HumanPostNameMappingE.java b/web-domain/src/main/java/com/zcloud/human/user/domain/model/HumanPostNameMappingE.java new file mode 100644 index 0000000..e32ce45 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/human/user/domain/model/HumanPostNameMappingE.java @@ -0,0 +1,32 @@ +package com.zcloud.human.user.domain.model; + +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * 人资岗位名称关联实体 + */ +@Data +public class HumanPostNameMappingE { + private Long id; + private String mappingId; + private String thirdCorpName; + private String thirdDeptName; + private String thirdPostName; + private String realCorpName; + private String realDeptName; + private String realPostName; + private String remark; + private Integer version; + private Long createId; + private String createName; + private LocalDateTime createTime; + private Long updateId; + private String updateName; + private LocalDateTime updateTime; + private String deleteEnum; + private Long tenantId; + private Long orgId; + private String env; +} diff --git a/web-infrastructure/src/main/java/com/zcloud/human/user/gatewayimpl/HumanCorpNameMappingGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/human/user/gatewayimpl/HumanCorpNameMappingGatewayImpl.java new file mode 100644 index 0000000..ecad9fe --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/human/user/gatewayimpl/HumanCorpNameMappingGatewayImpl.java @@ -0,0 +1,33 @@ +package com.zcloud.human.user.gatewayimpl; + +import com.zcloud.human.user.domain.gateway.HumanCorpNameMappingGateway; +import com.zcloud.human.user.domain.model.HumanCorpNameMappingE; +import com.zcloud.human.user.persistence.dataobject.HumanCorpNameMappingDO; +import com.zcloud.human.user.persistence.repository.HumanCorpNameMappingRepository; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +/** + * 人资企业名称关联网关实现 + */ +@Service +@RequiredArgsConstructor +public class HumanCorpNameMappingGatewayImpl implements HumanCorpNameMappingGateway { + + private final HumanCorpNameMappingRepository humanCorpNameMappingRepository; + + @Override + public HumanCorpNameMappingE getByThirdCorpName(String thirdCorpName) { + return convertToE(humanCorpNameMappingRepository.getByThirdCorpName(thirdCorpName)); + } + + private HumanCorpNameMappingE convertToE(HumanCorpNameMappingDO dataObject) { + if (dataObject == null) { + return null; + } + HumanCorpNameMappingE entity = new HumanCorpNameMappingE(); + BeanUtils.copyProperties(dataObject, entity); + return entity; + } +} diff --git a/web-infrastructure/src/main/java/com/zcloud/human/user/gatewayimpl/HumanDeptNameMappingGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/human/user/gatewayimpl/HumanDeptNameMappingGatewayImpl.java new file mode 100644 index 0000000..94857ea --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/human/user/gatewayimpl/HumanDeptNameMappingGatewayImpl.java @@ -0,0 +1,33 @@ +package com.zcloud.human.user.gatewayimpl; + +import com.zcloud.human.user.domain.gateway.HumanDeptNameMappingGateway; +import com.zcloud.human.user.domain.model.HumanDeptNameMappingE; +import com.zcloud.human.user.persistence.dataobject.HumanDeptNameMappingDO; +import com.zcloud.human.user.persistence.repository.HumanDeptNameMappingRepository; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +/** + * 人资部门名称关联网关实现 + */ +@Service +@RequiredArgsConstructor +public class HumanDeptNameMappingGatewayImpl implements HumanDeptNameMappingGateway { + + private final HumanDeptNameMappingRepository humanDeptNameMappingRepository; + + @Override + public HumanDeptNameMappingE getByThirdCorpNameAndThirdDeptName(String thirdCorpName, String thirdDeptName) { + return convertToE(humanDeptNameMappingRepository.getByThirdCorpNameAndThirdDeptName(thirdCorpName, thirdDeptName)); + } + + private HumanDeptNameMappingE convertToE(HumanDeptNameMappingDO dataObject) { + if (dataObject == null) { + return null; + } + HumanDeptNameMappingE entity = new HumanDeptNameMappingE(); + BeanUtils.copyProperties(dataObject, entity); + return entity; + } +} diff --git a/web-infrastructure/src/main/java/com/zcloud/human/user/gatewayimpl/HumanPostNameMappingGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/human/user/gatewayimpl/HumanPostNameMappingGatewayImpl.java new file mode 100644 index 0000000..543a716 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/human/user/gatewayimpl/HumanPostNameMappingGatewayImpl.java @@ -0,0 +1,33 @@ +package com.zcloud.human.user.gatewayimpl; + +import com.zcloud.human.user.domain.gateway.HumanPostNameMappingGateway; +import com.zcloud.human.user.domain.model.HumanPostNameMappingE; +import com.zcloud.human.user.persistence.dataobject.HumanPostNameMappingDO; +import com.zcloud.human.user.persistence.repository.HumanPostNameMappingRepository; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +/** + * 人资岗位名称关联网关实现 + */ +@Service +@RequiredArgsConstructor +public class HumanPostNameMappingGatewayImpl implements HumanPostNameMappingGateway { + + private final HumanPostNameMappingRepository humanPostNameMappingRepository; + + @Override + public HumanPostNameMappingE getByThirdNames(String thirdCorpName, String thirdDeptName, String thirdPostName) { + return convertToE(humanPostNameMappingRepository.getByThirdNames(thirdCorpName, thirdDeptName, thirdPostName)); + } + + private HumanPostNameMappingE convertToE(HumanPostNameMappingDO dataObject) { + if (dataObject == null) { + return null; + } + HumanPostNameMappingE entity = new HumanPostNameMappingE(); + BeanUtils.copyProperties(dataObject, entity); + return entity; + } +} diff --git a/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/dataobject/HumanCorpNameMappingDO.java b/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/dataobject/HumanCorpNameMappingDO.java new file mode 100644 index 0000000..ef355cd --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/dataobject/HumanCorpNameMappingDO.java @@ -0,0 +1,22 @@ +package com.zcloud.human.user.persistence.dataobject; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.jjb.saas.framework.repository.basedo.BaseDO; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * 人资企业名称关联数据对象 + */ +@Data +@NoArgsConstructor +@TableName("human_corp_name_mapping") +@EqualsAndHashCode(callSuper = true) +public class HumanCorpNameMappingDO extends BaseDO { + private Long id; + private String mappingId; + private String thirdCorpName; + private String realCorpName; + private String remark; +} diff --git a/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/dataobject/HumanDeptNameMappingDO.java b/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/dataobject/HumanDeptNameMappingDO.java new file mode 100644 index 0000000..5a6c9d1 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/dataobject/HumanDeptNameMappingDO.java @@ -0,0 +1,24 @@ +package com.zcloud.human.user.persistence.dataobject; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.jjb.saas.framework.repository.basedo.BaseDO; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * 人资部门名称关联数据对象 + */ +@Data +@NoArgsConstructor +@TableName("human_dept_name_mapping") +@EqualsAndHashCode(callSuper = true) +public class HumanDeptNameMappingDO extends BaseDO { + private Long id; + private String mappingId; + private String thirdCorpName; + private String thirdDeptName; + private String realCorpName; + private String realDeptName; + private String remark; +} diff --git a/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/dataobject/HumanPostNameMappingDO.java b/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/dataobject/HumanPostNameMappingDO.java new file mode 100644 index 0000000..921cb44 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/dataobject/HumanPostNameMappingDO.java @@ -0,0 +1,26 @@ +package com.zcloud.human.user.persistence.dataobject; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.jjb.saas.framework.repository.basedo.BaseDO; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * 人资岗位名称关联数据对象 + */ +@Data +@NoArgsConstructor +@TableName("human_post_name_mapping") +@EqualsAndHashCode(callSuper = true) +public class HumanPostNameMappingDO extends BaseDO { + private Long id; + private String mappingId; + private String thirdCorpName; + private String thirdDeptName; + private String thirdPostName; + private String realCorpName; + private String realDeptName; + private String realPostName; + private String remark; +} diff --git a/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/mapper/HumanCorpNameMappingMapper.java b/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/mapper/HumanCorpNameMappingMapper.java new file mode 100644 index 0000000..6a42757 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/mapper/HumanCorpNameMappingMapper.java @@ -0,0 +1,15 @@ +package com.zcloud.human.user.persistence.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.zcloud.human.user.persistence.dataobject.HumanCorpNameMappingDO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 人资企业名称关联Mapper + */ +@Mapper +public interface HumanCorpNameMappingMapper extends BaseMapper { + + HumanCorpNameMappingDO getByThirdCorpName(@Param("thirdCorpName") String thirdCorpName); +} diff --git a/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/mapper/HumanDeptNameMappingMapper.java b/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/mapper/HumanDeptNameMappingMapper.java new file mode 100644 index 0000000..7ce5ff7 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/mapper/HumanDeptNameMappingMapper.java @@ -0,0 +1,16 @@ +package com.zcloud.human.user.persistence.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.zcloud.human.user.persistence.dataobject.HumanDeptNameMappingDO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 人资部门名称关联Mapper + */ +@Mapper +public interface HumanDeptNameMappingMapper extends BaseMapper { + + HumanDeptNameMappingDO getByThirdCorpNameAndThirdDeptName(@Param("thirdCorpName") String thirdCorpName, + @Param("thirdDeptName") String thirdDeptName); +} diff --git a/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/mapper/HumanPostNameMappingMapper.java b/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/mapper/HumanPostNameMappingMapper.java new file mode 100644 index 0000000..f4933d4 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/mapper/HumanPostNameMappingMapper.java @@ -0,0 +1,17 @@ +package com.zcloud.human.user.persistence.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.zcloud.human.user.persistence.dataobject.HumanPostNameMappingDO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 人资岗位名称关联Mapper + */ +@Mapper +public interface HumanPostNameMappingMapper extends BaseMapper { + + HumanPostNameMappingDO getByThirdNames(@Param("thirdCorpName") String thirdCorpName, + @Param("thirdDeptName") String thirdDeptName, + @Param("thirdPostName") String thirdPostName); +} diff --git a/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/repository/HumanCorpNameMappingRepository.java b/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/repository/HumanCorpNameMappingRepository.java new file mode 100644 index 0000000..d38c2cd --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/repository/HumanCorpNameMappingRepository.java @@ -0,0 +1,12 @@ +package com.zcloud.human.user.persistence.repository; + +import com.jjb.saas.framework.repository.repo.BaseRepository; +import com.zcloud.human.user.persistence.dataobject.HumanCorpNameMappingDO; + +/** + * 人资企业名称关联Repository + */ +public interface HumanCorpNameMappingRepository extends BaseRepository { + + HumanCorpNameMappingDO getByThirdCorpName(String thirdCorpName); +} diff --git a/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/repository/HumanDeptNameMappingRepository.java b/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/repository/HumanDeptNameMappingRepository.java new file mode 100644 index 0000000..f835c88 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/repository/HumanDeptNameMappingRepository.java @@ -0,0 +1,12 @@ +package com.zcloud.human.user.persistence.repository; + +import com.jjb.saas.framework.repository.repo.BaseRepository; +import com.zcloud.human.user.persistence.dataobject.HumanDeptNameMappingDO; + +/** + * 人资部门名称关联Repository + */ +public interface HumanDeptNameMappingRepository extends BaseRepository { + + HumanDeptNameMappingDO getByThirdCorpNameAndThirdDeptName(String thirdCorpName, String thirdDeptName); +} diff --git a/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/repository/HumanPostNameMappingRepository.java b/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/repository/HumanPostNameMappingRepository.java new file mode 100644 index 0000000..288450f --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/repository/HumanPostNameMappingRepository.java @@ -0,0 +1,12 @@ +package com.zcloud.human.user.persistence.repository; + +import com.jjb.saas.framework.repository.repo.BaseRepository; +import com.zcloud.human.user.persistence.dataobject.HumanPostNameMappingDO; + +/** + * 人资岗位名称关联Repository + */ +public interface HumanPostNameMappingRepository extends BaseRepository { + + HumanPostNameMappingDO getByThirdNames(String thirdCorpName, String thirdDeptName, String thirdPostName); +} diff --git a/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/repository/impl/HumanCorpNameMappingRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/repository/impl/HumanCorpNameMappingRepositoryImpl.java new file mode 100644 index 0000000..c871a09 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/repository/impl/HumanCorpNameMappingRepositoryImpl.java @@ -0,0 +1,23 @@ +package com.zcloud.human.user.persistence.repository.impl; + +import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; +import com.zcloud.human.user.persistence.dataobject.HumanCorpNameMappingDO; +import com.zcloud.human.user.persistence.mapper.HumanCorpNameMappingMapper; +import com.zcloud.human.user.persistence.repository.HumanCorpNameMappingRepository; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +/** + * 人资企业名称关联Repository实现 + */ +@Service +@RequiredArgsConstructor +public class HumanCorpNameMappingRepositoryImpl extends BaseRepositoryImpl implements HumanCorpNameMappingRepository { + + private final HumanCorpNameMappingMapper humanCorpNameMappingMapper; + + @Override + public HumanCorpNameMappingDO getByThirdCorpName(String thirdCorpName) { + return humanCorpNameMappingMapper.getByThirdCorpName(thirdCorpName); + } +} diff --git a/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/repository/impl/HumanDeptNameMappingRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/repository/impl/HumanDeptNameMappingRepositoryImpl.java new file mode 100644 index 0000000..56b36b8 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/repository/impl/HumanDeptNameMappingRepositoryImpl.java @@ -0,0 +1,23 @@ +package com.zcloud.human.user.persistence.repository.impl; + +import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; +import com.zcloud.human.user.persistence.dataobject.HumanDeptNameMappingDO; +import com.zcloud.human.user.persistence.mapper.HumanDeptNameMappingMapper; +import com.zcloud.human.user.persistence.repository.HumanDeptNameMappingRepository; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +/** + * 人资部门名称关联Repository实现 + */ +@Service +@RequiredArgsConstructor +public class HumanDeptNameMappingRepositoryImpl extends BaseRepositoryImpl implements HumanDeptNameMappingRepository { + + private final HumanDeptNameMappingMapper humanDeptNameMappingMapper; + + @Override + public HumanDeptNameMappingDO getByThirdCorpNameAndThirdDeptName(String thirdCorpName, String thirdDeptName) { + return humanDeptNameMappingMapper.getByThirdCorpNameAndThirdDeptName(thirdCorpName, thirdDeptName); + } +} diff --git a/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/repository/impl/HumanPostNameMappingRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/repository/impl/HumanPostNameMappingRepositoryImpl.java new file mode 100644 index 0000000..691e5b1 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/human/user/persistence/repository/impl/HumanPostNameMappingRepositoryImpl.java @@ -0,0 +1,23 @@ +package com.zcloud.human.user.persistence.repository.impl; + +import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; +import com.zcloud.human.user.persistence.dataobject.HumanPostNameMappingDO; +import com.zcloud.human.user.persistence.mapper.HumanPostNameMappingMapper; +import com.zcloud.human.user.persistence.repository.HumanPostNameMappingRepository; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +/** + * 人资岗位名称关联Repository实现 + */ +@Service +@RequiredArgsConstructor +public class HumanPostNameMappingRepositoryImpl extends BaseRepositoryImpl implements HumanPostNameMappingRepository { + + private final HumanPostNameMappingMapper humanPostNameMappingMapper; + + @Override + public HumanPostNameMappingDO getByThirdNames(String thirdCorpName, String thirdDeptName, String thirdPostName) { + return humanPostNameMappingMapper.getByThirdNames(thirdCorpName, thirdDeptName, thirdPostName); + } +} diff --git a/web-infrastructure/src/main/resources/TableCreationDDL.sql b/web-infrastructure/src/main/resources/TableCreationDDL.sql index a928828..2f5bb22 100644 --- a/web-infrastructure/src/main/resources/TableCreationDDL.sql +++ b/web-infrastructure/src/main/resources/TableCreationDDL.sql @@ -100,3 +100,74 @@ CREATE TABLE `human_resource_corp` ( KEY `idx_human_resource_corp_dept_code` (`dept_code`) USING BTREE, KEY `idx_human_resource_corp_corporation_code` (`corporation_code`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='人资企业部门本地缓存表'; + +CREATE TABLE `human_corp_name_mapping` ( + `id` bigint NOT NULL COMMENT '主键', + `mapping_id` varchar(35) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '业务主键id', + `third_corp_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '三方企业名称', + `real_corp_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '统一用户真实企业名称', + `remark` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注', + `version` int DEFAULT NULL COMMENT '乐观锁', + `create_id` bigint DEFAULT NULL COMMENT '创建人', + `create_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '创建人姓名', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_id` bigint DEFAULT NULL COMMENT '更新人', + `update_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '修改人名称', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `delete_enum` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '是否删除', + `tenant_id` bigint DEFAULT NULL COMMENT '租户id', + `org_id` bigint DEFAULT NULL COMMENT '机构id', + `env` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '环境', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `uk_human_corp_name_mapping_third_corp_name` (`third_corp_name`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='人资企业名称映射表'; + + +CREATE TABLE `human_dept_name_mapping` ( + `id` bigint NOT NULL COMMENT '主键', + `mapping_id` varchar(35) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '业务主键id', + `third_corp_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '三方企业名称', + `third_dept_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '三方部门名称', + `real_corp_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '统一用户真实企业名称', + `real_dept_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '统一用户真实部门名称', + `remark` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注', + `version` int DEFAULT NULL COMMENT '乐观锁', + `create_id` bigint DEFAULT NULL COMMENT '创建人', + `create_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '创建人姓名', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_id` bigint DEFAULT NULL COMMENT '更新人', + `update_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '修改人名称', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `delete_enum` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '是否删除', + `tenant_id` bigint DEFAULT NULL COMMENT '租户id', + `org_id` bigint DEFAULT NULL COMMENT '机构id', + `env` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '环境', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `uk_human_dept_name_mapping_third_names` (`third_corp_name`,`third_dept_name`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='人资部门名称映射表'; + + +CREATE TABLE `human_post_name_mapping` ( + `id` bigint NOT NULL COMMENT '主键', + `mapping_id` varchar(35) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '业务主键id', + `third_corp_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '三方企业名称', + `third_dept_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '三方部门名称', + `third_post_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '三方岗位名称', + `real_corp_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '统一用户真实企业名称', + `real_dept_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '统一用户真实部门名称', + `real_post_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '统一用户真实岗位名称', + `remark` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注', + `version` int DEFAULT NULL COMMENT '乐观锁', + `create_id` bigint DEFAULT NULL COMMENT '创建人', + `create_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '创建人姓名', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_id` bigint DEFAULT NULL COMMENT '更新人', + `update_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '修改人名称', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `delete_enum` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '是否删除', + `tenant_id` bigint DEFAULT NULL COMMENT '租户id', + `org_id` bigint DEFAULT NULL COMMENT '机构id', + `env` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '环境', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `uk_human_post_name_mapping_third_names` (`third_corp_name`,`third_dept_name`,`third_post_name`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='人资岗位名称映射表'; diff --git a/web-infrastructure/src/main/resources/mapper/HumanCorpNameMappingMapper.xml b/web-infrastructure/src/main/resources/mapper/HumanCorpNameMappingMapper.xml new file mode 100644 index 0000000..8b33951 --- /dev/null +++ b/web-infrastructure/src/main/resources/mapper/HumanCorpNameMappingMapper.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + id, mapping_id, third_corp_name, real_corp_name, remark, version, + create_id, create_name, create_time, update_id, update_name, update_time, + delete_enum, tenant_id, org_id, env + + + + diff --git a/web-infrastructure/src/main/resources/mapper/HumanDeptNameMappingMapper.xml b/web-infrastructure/src/main/resources/mapper/HumanDeptNameMappingMapper.xml new file mode 100644 index 0000000..c1b01fc --- /dev/null +++ b/web-infrastructure/src/main/resources/mapper/HumanDeptNameMappingMapper.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + id, mapping_id, third_corp_name, third_dept_name, real_corp_name, real_dept_name, remark, version, + create_id, create_name, create_time, update_id, update_name, update_time, + delete_enum, tenant_id, org_id, env + + + + diff --git a/web-infrastructure/src/main/resources/mapper/HumanPostNameMappingMapper.xml b/web-infrastructure/src/main/resources/mapper/HumanPostNameMappingMapper.xml new file mode 100644 index 0000000..f94fb30 --- /dev/null +++ b/web-infrastructure/src/main/resources/mapper/HumanPostNameMappingMapper.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id, mapping_id, third_corp_name, third_dept_name, third_post_name, + real_corp_name, real_dept_name, real_post_name, remark, version, + create_id, create_name, create_time, update_id, update_name, update_time, + delete_enum, tenant_id, org_id, env + + + +