Skip to content

Commit ba084ac

Browse files
WangXu10fit2-zhao
authored andcommitted
fix: sync user bug
--bug=1066525@tapd-34675357 --user=王旭 【组织架构】github#1572升级到v1.5.1之后再通过“企业微信同步”组织架构仍然无法导入最新入职的员工 https://www.tapd.cn/34675357/s/1856856
1 parent 930301e commit ba084ac

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

backend/crm/src/main/java/cn/cordys/crm/system/service/IntegrationConfigService.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -667,7 +667,7 @@ private void handleExistingConfigDetails(
667667
boolean needResetSync = BooleanUtils.isTrue(organizationConfig.isSync())
668668
&& StringUtils.isNotBlank(organizationConfig.getSyncResource())
669669
&& Strings.CI.equals(organizationConfig.getSyncResource(), configDTO.getType())
670-
&& syncCorpId(detail.getContent(), configDTO);
670+
&& syncCorpId(detail, configDTO);
671671

672672
if (needResetSync) {
673673
extOrganizationConfigMapper.updateSyncFlag(
@@ -1318,26 +1318,28 @@ private String getLastSyncType(String id) {
13181318
/**
13191319
* 同步CorpId
13201320
*
1321-
* @param content 内容
1321+
* @param detail 内容
13221322
* @param configDTO 配置DTO
13231323
* @return 是否同步
13241324
*/
1325-
private boolean syncCorpId(byte[] content, ThirdConfigBaseDTO<?> configDTO) {
1325+
private boolean syncCorpId(OrganizationConfigDetail detail, ThirdConfigBaseDTO<?> configDTO) {
13261326
ThirdConfigTypeConstants typeConstants = ThirdConfigTypeConstants.fromString(configDTO.getType());
13271327
if (typeConstants == null) {
13281328
throw new GenericException("unsupported.third.type");
13291329
}
1330-
WecomThirdConfigRequest oldConfig = JSON.parseObject(new String(content), WecomThirdConfigRequest.class);
13311330
switch (typeConstants) {
13321331
case WECOM -> {
1332+
WecomThirdConfigRequest oldConfig = parseOldConfig(detail, WecomThirdConfigRequest.class);
13331333
WecomThirdConfigRequest weComConfig = JSON.MAPPER.convertValue(configDTO.getConfig(), WecomThirdConfigRequest.class);
13341334
return !Strings.CI.equals(oldConfig.getCorpId(), weComConfig.getCorpId());
13351335
}
13361336
case DINGTALK -> {
1337+
DingTalkThirdConfigRequest oldConfig = parseOldConfig(detail, DingTalkThirdConfigRequest.class);
13371338
DingTalkThirdConfigRequest dingTalkConfig = JSON.MAPPER.convertValue(configDTO.getConfig(), DingTalkThirdConfigRequest.class);
13381339
return !Strings.CI.equals(oldConfig.getCorpId(), dingTalkConfig.getCorpId());
13391340
}
13401341
case LARK -> {
1342+
LarkThirdConfigRequest oldConfig = parseOldConfig(detail, LarkThirdConfigRequest.class);
13411343
LarkThirdConfigRequest larkConfig = JSON.MAPPER.convertValue(configDTO.getConfig(), LarkThirdConfigRequest.class);
13421344
return !Strings.CI.equals(oldConfig.getCorpId(), larkConfig.getCorpId());
13431345
}

0 commit comments

Comments
 (0)