Commit b6d3dee0 by 墨竹

Merge branch 'feature/2022-0104' into developer

parents 2db46dc0 6d569a98
......@@ -316,19 +316,6 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
}
try {
updateNewExUserId(tabHaobanWxEnterprise.getWxEnterpriseId(), tabHaobanWxEnterprise.getCorpid());
// TODO: 2021/12/30 暂时不打开,成熟了再打开
/* //serviceCorpid 默认为:达摩网络
boolean flag = qywxUserApiService.finishExternalUseridMigration(tabHaobanWxEnterprise.getCorpid(), config.getCorpid());
if (flag) {
//成功
wxEnterriseMapper.updateExternalFlagById(1,wxEnterpriseId);
} else {
//失败
wxEnterriseMapper.updateExternalFlagById(3,wxEnterpriseId);
externalUseridLogMapper.updateStatusFlagByWxEnterpriseId(0,wxEnterpriseId);
//回退老的
externalUseridLogMapper.updateOldExternalUserId(wxEnterpriseId);
}*/
log.info("企业外部联系人id end,wxEnterpriseId:{}", wxEnterpriseId);
return true;
} catch (Exception e) {
......@@ -343,9 +330,10 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
JSONObject jsonObject = JSON.parseObject(res);
String corpid = jsonObject.getString("corpid");
String wxEnterpriseId = jsonObject.getString("wxEnterpriseId");
log.info("更新新的外部联系人id mq,corpid:{},wxEnterpriseId:{}",corpid,wxEnterpriseId);
Boolean isLastPage = jsonObject.getBoolean("isLastPage");
log.info("更新新的外部联系人id mq,corpid:{},wxEnterpriseId:{}", corpid, wxEnterpriseId);
String externalUserIdLists = jsonObject.getString("externalUserIdList");
List<String> externalUserIdList = JSON.parseArray(externalUserIdLists,String.class);
List<String> externalUserIdList = JSON.parseArray(externalUserIdLists, String.class);
//查询企微接口,更新新的external_user_id
List<QywxNewExternalUseridDTO> newExternalUseridList = qywxUserApiService.getNewExternalUseridByList(corpid, config.getWxSuiteid(), externalUserIdList);
if (CollectionUtils.isEmpty(newExternalUseridList)) {
......@@ -370,6 +358,21 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
tabExternalUseridLogList.add(tabExternalUseridLog);
}
externalUseridLogMapper.insertBatch(tabExternalUseridLogList);
//最后一页
if (isLastPage) {
//serviceCorpid 默认为:达摩网络
boolean flag = qywxUserApiService.finishExternalUseridMigration(corpid, config.getCorpid());
if (flag) {
//成功
wxEnterriseMapper.updateExternalFlagById(1, wxEnterpriseId);
} else {
//失败
wxEnterriseMapper.updateExternalFlagById(3, wxEnterpriseId);
externalUseridLogMapper.updateStatusFlagByWxEnterpriseId(0, wxEnterpriseId);
//回退老的
externalUseridLogMapper.updateOldExternalUserId(wxEnterpriseId);
}
}
log.info("更新新的外部联系人id mq,end");
}
......@@ -382,7 +385,7 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
* @date 2021-12-13 15:40:30
*/
private void updateNewExUserId(String wxEnterpriseId, String corpid) {
wxEnterriseMapper.updateExternalFlagById(2,wxEnterpriseId);
wxEnterriseMapper.updateExternalFlagById(2, wxEnterpriseId);
// 限流器
RRateLimiter rateLimiter = RedisUtil.getRedisClient().getRateLimiter("haoban:manage3:updateNewExUserId:limit");
// 每1秒产生5个令牌
......@@ -401,14 +404,21 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
pageNum++;
List<String> externalUserIdList = enterprisePageInfoList.stream().map(TabHaobanExternalClerkRelated::getExternalUserId).collect(Collectors.toList());
JSONObject jsonObject = new JSONObject();
jsonObject.put("corpid",corpid);
jsonObject.put("wxEnterpriseId",wxEnterpriseId);
jsonObject.put("externalUserIdList",externalUserIdList);
jsonObject.put("corpid", corpid);
jsonObject.put("wxEnterpriseId", wxEnterpriseId);
jsonObject.put("externalUserIdList", externalUserIdList);
jsonObject.put("externalUserId", externalUserIdList.get(0));
//是否是最后一批
if (tabHaobanWxEnterprisePageInfo.isIsLastPage()) {
jsonObject.put("isLastPage", true);
} else {
jsonObject.put("isLastPage", false);
}
GicMQClient clientInstance = GICMQClientUtil.getClientInstance();
try {
clientInstance.sendMessage("updateNewExUserIdMq", JSONObject.toJSONString(jsonObject));
} catch (Exception e) {
log.info("企微转换id发送消息队列异常:{}", e.getMessage(),e);
log.info("企微转换id发送消息队列异常:{}", e.getMessage(), e);
}
}
}
......
......@@ -578,7 +578,7 @@
external_user_id
from tab_haoban_external_clerk_related
where wx_enterprise_id = #{wxEnterpriseId}
AND status_flag = 1
AND status_flag = 1 and external_user_id is not null
</select>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment