提交 4cb6ca25 作者: 沈振路

获客链接替换监听器添加 try catch

上级 98540816
......@@ -37,71 +37,75 @@ public class DelayCustomerAcquisitionListener implements ApplicationListener<Acq
if (source == null) {
return;
}
AuthorizerInfo authorizerInfo = source.getAuthorizerInfo();
String fromPath = source.getFromPath();
String toPath = source.getToPath();
// 查询这个公众号延时客服用到了 fromPath 的地方,替换成 toPath
List<CustomerGraphicsDelay> allCustomerGraphicsDelayList = customerGraphicsDelayService.list(new QueryWrapper<CustomerGraphicsDelay>().eq("app_id", authorizerInfo.getAppid()));
try {
AuthorizerInfo authorizerInfo = source.getAuthorizerInfo();
String fromPath = source.getFromPath();
String toPath = source.getToPath();
// 查询这个公众号延时客服用到了 fromPath 的地方,替换成 toPath
List<CustomerGraphicsDelay> allCustomerGraphicsDelayList = customerGraphicsDelayService.list(new QueryWrapper<CustomerGraphicsDelay>().eq("app_id", authorizerInfo.getAppid()));
// 过滤出发送链接是 fromPath 或者发送文本中的跳转链接包含 fromPath 的延时客服配置
List<CustomerGraphicsDelay> containsFromPathGraphicsList = allCustomerGraphicsDelayList.stream().filter(v -> (StringUtils.isNotBlank(v.getSourceUrl()) && v.getSourceUrl().contains(fromPath)) || (StringUtils.isNotBlank(v.getContent()) && v.getContent().contains(fromPath))).collect(Collectors.toList());
if (CollectionUtil.isEmpty(containsFromPathGraphicsList)) {
log.info("公众号:{} 暂无使用获客链接:{} 的延时客服配置", authorizerInfo.getAppid(), fromPath);
return;
}
List<Long> graphicsIds = containsFromPathGraphicsList.stream().map(CustomerGraphicsDelay::getId).collect(Collectors.toList());
List<ReferralEntity> relatedReferralEntityList = referralEntityService.list(new QueryWrapper<ReferralEntity>().in(ReferralEntity.COL_MATERIAL_GRAPHICS_ID, graphicsIds));
// 过滤出发送链接是 fromPath 或者发送文本中的跳转链接包含 fromPath 的延时客服配置
List<CustomerGraphicsDelay> containsFromPathGraphicsList = allCustomerGraphicsDelayList.stream().filter(v -> (StringUtils.isNotBlank(v.getSourceUrl()) && v.getSourceUrl().contains(fromPath)) || (StringUtils.isNotBlank(v.getContent()) && v.getContent().contains(fromPath))).collect(Collectors.toList());
if (CollectionUtil.isEmpty(containsFromPathGraphicsList)) {
log.info("公众号:{} 暂无使用获客链接:{} 的延时客服配置", authorizerInfo.getAppid(), fromPath);
return;
}
List<Long> graphicsIds = containsFromPathGraphicsList.stream().map(CustomerGraphicsDelay::getId).collect(Collectors.toList());
List<ReferralEntity> relatedReferralEntityList = referralEntityService.list(new QueryWrapper<ReferralEntity>().in(ReferralEntity.COL_MATERIAL_GRAPHICS_ID, graphicsIds));
List<CustomerGraphicsDelay> updateGraphicsList = new ArrayList<>();
List<ReferralEntity> updateReferralList = new ArrayList<>();
List<CustomerGraphicsDelay> updateGraphicsList = new ArrayList<>();
List<ReferralEntity> updateReferralList = new ArrayList<>();
// 替换 graphics 和 referral 中的 fromPath 为 toPath
allCustomerGraphicsDelayList.forEach(item -> {
boolean update = false;
// 直跳链接
if (StringUtils.isNotBlank(item.getSourceUrl()) && item.getSourceUrl().contains(fromPath)) {
item.setSourceUrl(item.getSourceUrl().replaceAll(fromPath, toPath));
update = true;
}
// 文本链接
if (StringUtils.isNotBlank(item.getContent()) && item.getContent().contains(fromPath)) {
item.setContent(item.getContent().replaceAll(fromPath, toPath));
update = true;
}
if (update) {
updateGraphicsList.add(item);
}
});
relatedReferralEntityList.forEach(item -> {
// 替换 graphics 和 referral 中的 fromPath 为 toPath
allCustomerGraphicsDelayList.forEach(item -> {
boolean update = false;
// 直跳链接
if (StringUtils.isNotBlank(item.getSourceUrl()) && item.getSourceUrl().contains(fromPath)) {
item.setSourceUrl(item.getSourceUrl().replaceAll(fromPath, toPath));
update = true;
}
// 文本链接
if (StringUtils.isNotBlank(item.getContent()) && item.getContent().contains(fromPath)) {
item.setContent(item.getContent().replaceAll(fromPath, toPath));
update = true;
}
if (update) {
updateGraphicsList.add(item);
}
});
relatedReferralEntityList.forEach(item -> {
boolean update = false;
// 直跳链接
if (StringUtils.isNotBlank(item.getReferral()) && item.getReferral().contains(fromPath)) {
item.setReferral(item.getReferral().replaceAll(fromPath, toPath));
update = true;
}
// 文本链接
if (StringUtils.isNotBlank(item.getTextContent()) && item.getTextContent().contains(fromPath)) {
item.setTextContent(item.getTextContent().replaceAll(fromPath, toPath));
update = true;
}
if (update) {
updateReferralList.add(item);
}
});
boolean update = false;
// 直跳链接
if (StringUtils.isNotBlank(item.getReferral()) && item.getReferral().contains(fromPath)) {
item.setReferral(item.getReferral().replaceAll(fromPath, toPath));
if (CollectionUtil.isNotEmpty(updateGraphicsList)) {
customerGraphicsDelayService.updateBatchById(updateGraphicsList);
update = true;
}
// 文本链接
if (StringUtils.isNotBlank(item.getTextContent()) && item.getTextContent().contains(fromPath)) {
item.setTextContent(item.getTextContent().replaceAll(fromPath, toPath));
if (CollectionUtil.isNotEmpty(updateReferralList)) {
referralEntityService.updateBatchById(updateReferralList);
update = true;
}
if (update) {
updateReferralList.add(item);
// 发送报警信息
String msg = "【延时客服-获客链接替换】公众号:" + authorizerInfo.getNickName() + " 获客链接:" + fromPath + " 已被替换为:" + toPath;
WeChatTextDTO cover = new WeChatTextDTO().cover(msg, null, null);
WeChatUtils.sendErrorMessage(cover, "9934244e-9694-4a0c-95dd-ddd6ca4bd959");
}
});
boolean update = false;
if (CollectionUtil.isNotEmpty(updateGraphicsList)) {
customerGraphicsDelayService.updateBatchById(updateGraphicsList);
update = true;
}
if (CollectionUtil.isNotEmpty(updateReferralList)) {
referralEntityService.updateBatchById(updateReferralList);
update = true;
}
if (update) {
// 发送报警信息
String msg = "【延时客服-获客链接替换】公众号:" + authorizerInfo.getNickName() + " 获客链接:" + fromPath + " 已被替换为:" + toPath;
WeChatTextDTO cover = new WeChatTextDTO().cover(msg, null, null);
WeChatUtils.sendErrorMessage(cover, "9934244e-9694-4a0c-95dd-ddd6ca4bd959");
} catch (Exception e) {
log.error("公众号:{} 延时客服链接从:{} 替换为:{} 异常:{}", source.getAuthorizerInfo().getNickName(), source.getFromPath(), source.getToPath(), e.getMessage(), e);
}
}
......
......@@ -43,72 +43,76 @@ public class FollowReplyAcquisitionListener implements ApplicationListener<Acqui
AuthorizerInfo authorizerInfo = source.getAuthorizerInfo();
String fromPath = source.getFromPath();
String toPath = source.getToPath();
// 查询这个公众号延时客服用到了 fromPath 的地方,替换成 toPath
List<CustomerFollowReply> allCustomerFollowReplyList = customerFollowReplyService.list(new QueryWrapper<CustomerFollowReply>().eq("appid", authorizerInfo.getAppid()));
try {
// 查询这个公众号延时客服用到了 fromPath 的地方,替换成 toPath
List<CustomerFollowReply> allCustomerFollowReplyList = customerFollowReplyService.list(new QueryWrapper<CustomerFollowReply>().eq("appid", authorizerInfo.getAppid()));
// 过滤出发送链接是 fromPath 或者发送文本中的跳转链接包含 fromPath 的延时客服配置
List<CustomerFollowReply> containsFromPathGraphicsList = allCustomerFollowReplyList.stream().filter(v -> (StringUtils.isNotBlank(v.getSourceUrl()) && v.getSourceUrl().contains(fromPath)) || (StringUtils.isNotBlank(v.getContent()) && v.getContent().contains(fromPath))).collect(Collectors.toList());
if (CollectionUtil.isEmpty(containsFromPathGraphicsList)) {
log.info("公众号:{} 暂无使用获客链接:{} 的关回配置", authorizerInfo.getAppid(), fromPath);
return;
}
List<Long> graphicsIds = containsFromPathGraphicsList.stream().map(CustomerFollowReply::getId).collect(Collectors.toList());
List<ReferralEntity> relatedReferralEntityList = referralEntityService.list(new QueryWrapper<ReferralEntity>().in(ReferralEntity.COL_MATERIAL_GRAPHICS_ID, graphicsIds));
// 过滤出发送链接是 fromPath 或者发送文本中的跳转链接包含 fromPath 的延时客服配置
List<CustomerFollowReply> containsFromPathGraphicsList = allCustomerFollowReplyList.stream().filter(v -> (StringUtils.isNotBlank(v.getSourceUrl()) && v.getSourceUrl().contains(fromPath)) || (StringUtils.isNotBlank(v.getContent()) && v.getContent().contains(fromPath))).collect(Collectors.toList());
if (CollectionUtil.isEmpty(containsFromPathGraphicsList)) {
log.info("公众号:{} 暂无使用获客链接:{} 的关回配置", authorizerInfo.getAppid(), fromPath);
return;
}
List<Long> graphicsIds = containsFromPathGraphicsList.stream().map(CustomerFollowReply::getId).collect(Collectors.toList());
List<ReferralEntity> relatedReferralEntityList = referralEntityService.list(new QueryWrapper<ReferralEntity>().in(ReferralEntity.COL_MATERIAL_GRAPHICS_ID, graphicsIds));
List<CustomerFollowReply> updateGraphicsList = new ArrayList<>();
List<ReferralEntity> updateReferralList = new ArrayList<>();
List<CustomerFollowReply> updateGraphicsList = new ArrayList<>();
List<ReferralEntity> updateReferralList = new ArrayList<>();
// 替换 graphics 和 referral 中的 fromPath 为 toPath
allCustomerFollowReplyList.forEach(item -> {
boolean update = false;
// 直跳链接
if (StringUtils.isNotBlank(item.getSourceUrl()) && item.getSourceUrl().contains(fromPath)) {
item.setSourceUrl(item.getSourceUrl().replaceAll(fromPath, toPath));
update = true;
}
// 文本链接
if (StringUtils.isNotBlank(item.getContent()) && item.getContent().contains(fromPath)) {
item.setContent(item.getContent().replaceAll(fromPath, toPath));
update = true;
}
if (update) {
updateGraphicsList.add(item);
}
});
relatedReferralEntityList.forEach(item -> {
// 替换 graphics 和 referral 中的 fromPath 为 toPath
allCustomerFollowReplyList.forEach(item -> {
boolean update = false;
// 直跳链接
if (StringUtils.isNotBlank(item.getSourceUrl()) && item.getSourceUrl().contains(fromPath)) {
item.setSourceUrl(item.getSourceUrl().replaceAll(fromPath, toPath));
update = true;
}
// 文本链接
if (StringUtils.isNotBlank(item.getContent()) && item.getContent().contains(fromPath)) {
item.setContent(item.getContent().replaceAll(fromPath, toPath));
update = true;
}
if (update) {
updateGraphicsList.add(item);
}
});
relatedReferralEntityList.forEach(item -> {
boolean update = false;
// 直跳链接
if (StringUtils.isNotBlank(item.getReferral()) && item.getReferral().contains(fromPath)) {
item.setReferral(item.getReferral().replaceAll(fromPath, toPath));
update = true;
}
// 文本链接
if (StringUtils.isNotBlank(item.getTextContent()) && item.getTextContent().contains(fromPath)) {
item.setTextContent(item.getTextContent().replaceAll(fromPath, toPath));
update = true;
}
if (update) {
updateReferralList.add(item);
}
});
boolean update = false;
// 直跳链接
if (StringUtils.isNotBlank(item.getReferral()) && item.getReferral().contains(fromPath)) {
item.setReferral(item.getReferral().replaceAll(fromPath, toPath));
if (CollectionUtil.isNotEmpty(updateGraphicsList)) {
customerFollowReplyService.updateBatchById(updateGraphicsList);
update = true;
}
// 文本链接
if (StringUtils.isNotBlank(item.getTextContent()) && item.getTextContent().contains(fromPath)) {
item.setTextContent(item.getTextContent().replaceAll(fromPath, toPath));
if (CollectionUtil.isNotEmpty(updateReferralList)) {
referralEntityService.updateBatchById(updateReferralList);
update = true;
}
if (update) {
updateReferralList.add(item);
}
});
boolean update = false;
if (CollectionUtil.isNotEmpty(updateGraphicsList)) {
customerFollowReplyService.updateBatchById(updateGraphicsList);
update = true;
}
if (CollectionUtil.isNotEmpty(updateReferralList)) {
referralEntityService.updateBatchById(updateReferralList);
update = true;
}
// 刷新缓存数据
customerFollowReplyService.putMaterialToRedis(authorizerInfo.getAppid(), null);
// 刷新缓存数据
customerFollowReplyService.putMaterialToRedis(authorizerInfo.getAppid(), null);
if (update) {
// 发送报警信息
String msg = "【关回-获客链接替换】公众号:" + authorizerInfo.getNickName() + " 获客链接:" + fromPath + " 已被替换为:" + toPath;
WeChatTextDTO cover = new WeChatTextDTO().cover(msg, null, null);
WeChatUtils.sendErrorMessage(cover, "9934244e-9694-4a0c-95dd-ddd6ca4bd959");
if (update) {
// 发送报警信息
String msg = "【关回-获客链接替换】公众号:" + authorizerInfo.getNickName() + " 获客链接:" + fromPath + " 已被替换为:" + toPath;
WeChatTextDTO cover = new WeChatTextDTO().cover(msg, null, null);
WeChatUtils.sendErrorMessage(cover, "9934244e-9694-4a0c-95dd-ddd6ca4bd959");
}
} catch (Exception e) {
log.error("公众号:{} 关回链接从:{} 替换为:{} 异常:{}", source.getAuthorizerInfo().getNickName(), source.getFromPath(), source.getToPath(), e.getMessage(), e);
}
}
......
......@@ -43,70 +43,74 @@ public class KeywordAcquisitionListener implements ApplicationListener<Acquisiti
AuthorizerInfo authorizerInfo = source.getAuthorizerInfo();
String fromPath = source.getFromPath();
String toPath = source.getToPath();
// 查询这个公众号延时客服用到了 fromPath 的地方,替换成 toPath
List<CustomerKeyword> allCustomerKeywordList = customerKeywordService.list(new QueryWrapper<CustomerKeyword>().eq("appid", authorizerInfo.getAppid()));
try {
// 查询这个公众号延时客服用到了 fromPath 的地方,替换成 toPath
List<CustomerKeyword> allCustomerKeywordList = customerKeywordService.list(new QueryWrapper<CustomerKeyword>().eq("appid", authorizerInfo.getAppid()));
// 过滤出发送链接是 fromPath 或者发送文本中的跳转链接包含 fromPath 的延时客服配置
List<CustomerKeyword> containsFromPathGraphicsList = allCustomerKeywordList.stream().filter(v -> (StringUtils.isNotBlank(v.getSourceUrl()) && v.getSourceUrl().contains(fromPath)) || (StringUtils.isNotBlank(v.getContent()) && v.getContent().contains(fromPath))).collect(Collectors.toList());
if (CollectionUtil.isEmpty(containsFromPathGraphicsList)) {
log.info("公众号:{} 暂无使用获客链接:{} 的关键词回复配置", authorizerInfo.getAppid(), fromPath);
return;
}
List<Long> graphicsIds = containsFromPathGraphicsList.stream().map(CustomerKeyword::getId).collect(Collectors.toList());
List<ReferralEntity> relatedReferralEntityList = referralEntityService.list(new QueryWrapper<ReferralEntity>().in(ReferralEntity.COL_MATERIAL_GRAPHICS_ID, graphicsIds));
List<CustomerKeyword> updateGraphicsList = new ArrayList<>();
List<ReferralEntity> updateReferralList = new ArrayList<>();
// 替换 graphics 和 referral 中的 fromPath 为 toPath
allCustomerKeywordList.forEach(item -> {
boolean update = false;
// 直跳链接
if (StringUtils.isNotBlank(item.getSourceUrl()) && item.getSourceUrl().contains(fromPath)) {
item.setSourceUrl(item.getSourceUrl().replaceAll(fromPath, toPath));
update = true;
}
// 文本链接
if (StringUtils.isNotBlank(item.getContent()) && item.getContent().contains(fromPath)) {
item.setContent(item.getContent().replaceAll(fromPath, toPath));
update = true;
// 过滤出发送链接是 fromPath 或者发送文本中的跳转链接包含 fromPath 的延时客服配置
List<CustomerKeyword> containsFromPathGraphicsList = allCustomerKeywordList.stream().filter(v -> (StringUtils.isNotBlank(v.getSourceUrl()) && v.getSourceUrl().contains(fromPath)) || (StringUtils.isNotBlank(v.getContent()) && v.getContent().contains(fromPath))).collect(Collectors.toList());
if (CollectionUtil.isEmpty(containsFromPathGraphicsList)) {
log.info("公众号:{} 暂无使用获客链接:{} 的关键词回复配置", authorizerInfo.getAppid(), fromPath);
return;
}
if (update) {
updateGraphicsList.add(item);
}
});
relatedReferralEntityList.forEach(item -> {
List<Long> graphicsIds = containsFromPathGraphicsList.stream().map(CustomerKeyword::getId).collect(Collectors.toList());
List<ReferralEntity> relatedReferralEntityList = referralEntityService.list(new QueryWrapper<ReferralEntity>().in(ReferralEntity.COL_MATERIAL_GRAPHICS_ID, graphicsIds));
List<CustomerKeyword> updateGraphicsList = new ArrayList<>();
List<ReferralEntity> updateReferralList = new ArrayList<>();
// 替换 graphics 和 referral 中的 fromPath 为 toPath
allCustomerKeywordList.forEach(item -> {
boolean update = false;
// 直跳链接
if (StringUtils.isNotBlank(item.getSourceUrl()) && item.getSourceUrl().contains(fromPath)) {
item.setSourceUrl(item.getSourceUrl().replaceAll(fromPath, toPath));
update = true;
}
// 文本链接
if (StringUtils.isNotBlank(item.getContent()) && item.getContent().contains(fromPath)) {
item.setContent(item.getContent().replaceAll(fromPath, toPath));
update = true;
}
if (update) {
updateGraphicsList.add(item);
}
});
relatedReferralEntityList.forEach(item -> {
boolean update = false;
// 直跳链接
if (StringUtils.isNotBlank(item.getReferral()) && item.getReferral().contains(fromPath)) {
item.setReferral(item.getReferral().replaceAll(fromPath, toPath));
update = true;
}
// 文本链接
if (StringUtils.isNotBlank(item.getTextContent()) && item.getTextContent().contains(fromPath)) {
item.setTextContent(item.getTextContent().replaceAll(fromPath, toPath));
update = true;
}
if (update) {
updateReferralList.add(item);
}
});
boolean update = false;
// 直跳链接
if (StringUtils.isNotBlank(item.getReferral()) && item.getReferral().contains(fromPath)) {
item.setReferral(item.getReferral().replaceAll(fromPath, toPath));
if (CollectionUtil.isNotEmpty(updateGraphicsList)) {
customerKeywordService.updateBatchById(updateGraphicsList);
update = true;
}
// 文本链接
if (StringUtils.isNotBlank(item.getTextContent()) && item.getTextContent().contains(fromPath)) {
item.setTextContent(item.getTextContent().replaceAll(fromPath, toPath));
if (CollectionUtil.isNotEmpty(updateReferralList)) {
referralEntityService.updateBatchById(updateReferralList);
update = true;
}
// 刷新缓存数据
customerKeywordService.putMaterialToRedis(authorizerInfo.getAppid());
if (update) {
updateReferralList.add(item);
// 发送报警信息
String msg = "【关键词-获客链接替换】公众号:" + authorizerInfo.getNickName() + " 获客链接:" + fromPath + " 已被替换为:" + toPath;
WeChatTextDTO cover = new WeChatTextDTO().cover(msg, null, null);
WeChatUtils.sendErrorMessage(cover, "9934244e-9694-4a0c-95dd-ddd6ca4bd959");
}
});
boolean update = false;
if (CollectionUtil.isNotEmpty(updateGraphicsList)) {
customerKeywordService.updateBatchById(updateGraphicsList);
update = true;
}
if (CollectionUtil.isNotEmpty(updateReferralList)) {
referralEntityService.updateBatchById(updateReferralList);
update = true;
}
// 刷新缓存数据
customerKeywordService.putMaterialToRedis(authorizerInfo.getAppid());
if (update) {
// 发送报警信息
String msg = "【关键词-获客链接替换】公众号:" + authorizerInfo.getNickName() + " 获客链接:" + fromPath + " 已被替换为:" + toPath;
WeChatTextDTO cover = new WeChatTextDTO().cover(msg, null, null);
WeChatUtils.sendErrorMessage(cover, "9934244e-9694-4a0c-95dd-ddd6ca4bd959");
} catch (Exception e) {
log.error("公众号:{} 关键词链接从:{} 替换为:{} 异常:{}", source.getAuthorizerInfo().getNickName(), source.getFromPath(), source.getToPath(), e.getMessage(), e);
}
}
......
......@@ -25,14 +25,18 @@ public class MenuAcquisitionListener implements ApplicationListener<AcquisitionE
if (source == null) {
return;
}
BaseResult execResult = menuFeignClient.replaceAcquisitionLink(source);
if (!execResult.getSuccess()) {
log.error("公众号:{} 菜单链接从:{} 替换为:{} 失败:{}", source.getAuthorizerInfo().getNickName(), source.getFromPath(), source.getToPath(), execResult.getMessage());
return;
try {
BaseResult execResult = menuFeignClient.replaceAcquisitionLink(source);
if (!execResult.getSuccess()) {
log.error("公众号:{} 菜单链接从:{} 替换为:{} 失败:{}", source.getAuthorizerInfo().getNickName(), source.getFromPath(), source.getToPath(), execResult.getMessage());
return;
}
// 发送报警信息
String msg = "【菜单-获客链接替换】公众号:" + source.getAuthorizerInfo().getNickName() + " 获客链接:" + source.getFromPath() + " 已被替换为:" + source.getToPath();
WeChatTextDTO cover = new WeChatTextDTO().cover(msg, null, null);
WeChatUtils.sendErrorMessage(cover, "9934244e-9694-4a0c-95dd-ddd6ca4bd959");
} catch (Exception e) {
log.error("公众号:{} 菜单链接从:{} 替换为:{} 异常:{}", source.getAuthorizerInfo().getNickName(), source.getFromPath(), source.getToPath(), e.getMessage(), e);
}
// 发送报警信息
String msg = "【菜单-获客链接替换】公众号:" + source.getAuthorizerInfo().getNickName() + " 获客链接:" + source.getFromPath() + " 已被替换为:" + source.getToPath();
WeChatTextDTO cover = new WeChatTextDTO().cover(msg, null, null);
WeChatUtils.sendErrorMessage(cover, "9934244e-9694-4a0c-95dd-ddd6ca4bd959");
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论