Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
O
operate-customer-service
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
沈振路
operate-customer-service
Commits
4cb6ca25
提交
4cb6ca25
authored
5月 26, 2025
作者:
沈振路
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
获客链接替换监听器添加 try catch
上级
98540816
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
190 行增加
和
174 行删除
+190
-174
DelayCustomerAcquisitionListener.java
...w/customer/listener/DelayCustomerAcquisitionListener.java
+59
-55
FollowReplyAcquisitionListener.java
...ozw/customer/listener/FollowReplyAcquisitionListener.java
+60
-56
KeywordAcquisitionListener.java
...aoyaozw/customer/listener/KeywordAcquisitionListener.java
+59
-55
MenuAcquisitionListener.java
...m/yaoyaozw/customer/listener/MenuAcquisitionListener.java
+12
-8
没有找到文件。
src/main/java/com/yaoyaozw/customer/listener/DelayCustomerAcquisitionListener.java
浏览文件 @
4cb6ca25
...
@@ -37,71 +37,75 @@ public class DelayCustomerAcquisitionListener implements ApplicationListener<Acq
...
@@ -37,71 +37,75 @@ public class DelayCustomerAcquisitionListener implements ApplicationListener<Acq
if
(
source
==
null
)
{
if
(
source
==
null
)
{
return
;
return
;
}
}
AuthorizerInfo
authorizerInfo
=
source
.
getAuthorizerInfo
();
try
{
String
fromPath
=
source
.
getFromPath
();
AuthorizerInfo
authorizerInfo
=
source
.
getAuthorizerInfo
();
String
toPath
=
source
.
getToPath
();
String
fromPath
=
source
.
getFromPath
();
// 查询这个公众号延时客服用到了 fromPath 的地方,替换成 toPath
String
toPath
=
source
.
getToPath
();
List
<
CustomerGraphicsDelay
>
allCustomerGraphicsDelayList
=
customerGraphicsDelayService
.
list
(
new
QueryWrapper
<
CustomerGraphicsDelay
>().
eq
(
"app_id"
,
authorizerInfo
.
getAppid
()));
// 查询这个公众号延时客服用到了 fromPath 的地方,替换成 toPath
List
<
CustomerGraphicsDelay
>
allCustomerGraphicsDelayList
=
customerGraphicsDelayService
.
list
(
new
QueryWrapper
<
CustomerGraphicsDelay
>().
eq
(
"app_id"
,
authorizerInfo
.
getAppid
()));
// 过滤出发送链接是 fromPath 或者发送文本中的跳转链接包含 fromPath 的延时客服配置
// 过滤出发送链接是 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
());
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
))
{
if
(
CollectionUtil
.
isEmpty
(
containsFromPathGraphicsList
))
{
log
.
info
(
"公众号:{} 暂无使用获客链接:{} 的延时客服配置"
,
authorizerInfo
.
getAppid
(),
fromPath
);
log
.
info
(
"公众号:{} 暂无使用获客链接:{} 的延时客服配置"
,
authorizerInfo
.
getAppid
(),
fromPath
);
return
;
return
;
}
}
List
<
Long
>
graphicsIds
=
containsFromPathGraphicsList
.
stream
().
map
(
CustomerGraphicsDelay:
:
getId
).
collect
(
Collectors
.
toList
());
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
<
ReferralEntity
>
relatedReferralEntityList
=
referralEntityService
.
list
(
new
QueryWrapper
<
ReferralEntity
>().
in
(
ReferralEntity
.
COL_MATERIAL_GRAPHICS_ID
,
graphicsIds
));
List
<
CustomerGraphicsDelay
>
updateGraphicsList
=
new
ArrayList
<>();
List
<
CustomerGraphicsDelay
>
updateGraphicsList
=
new
ArrayList
<>();
List
<
ReferralEntity
>
updateReferralList
=
new
ArrayList
<>();
List
<
ReferralEntity
>
updateReferralList
=
new
ArrayList
<>();
// 替换 graphics 和 referral 中的 fromPath 为 toPath
// 替换 graphics 和 referral 中的 fromPath 为 toPath
allCustomerGraphicsDelayList
.
forEach
(
item
->
{
allCustomerGraphicsDelayList
.
forEach
(
item
->
{
boolean
update
=
false
;
boolean
update
=
false
;
// 直跳链接
// 直跳链接
if
(
StringUtils
.
isNotBlank
(
item
.
getSourceUrl
())
&&
item
.
getSourceUrl
().
contains
(
fromPath
))
{
if
(
StringUtils
.
isNotBlank
(
item
.
getSourceUrl
())
&&
item
.
getSourceUrl
().
contains
(
fromPath
))
{
item
.
setSourceUrl
(
item
.
getSourceUrl
().
replaceAll
(
fromPath
,
toPath
));
item
.
setSourceUrl
(
item
.
getSourceUrl
().
replaceAll
(
fromPath
,
toPath
));
update
=
true
;
update
=
true
;
}
}
// 文本链接
// 文本链接
if
(
StringUtils
.
isNotBlank
(
item
.
getContent
())
&&
item
.
getContent
().
contains
(
fromPath
))
{
if
(
StringUtils
.
isNotBlank
(
item
.
getContent
())
&&
item
.
getContent
().
contains
(
fromPath
))
{
item
.
setContent
(
item
.
getContent
().
replaceAll
(
fromPath
,
toPath
));
item
.
setContent
(
item
.
getContent
().
replaceAll
(
fromPath
,
toPath
));
update
=
true
;
update
=
true
;
}
}
if
(
update
)
{
if
(
update
)
{
updateGraphicsList
.
add
(
item
);
updateGraphicsList
.
add
(
item
);
}
}
});
});
relatedReferralEntityList
.
forEach
(
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
;
boolean
update
=
false
;
// 直跳链接
if
(
CollectionUtil
.
isNotEmpty
(
updateGraphicsList
))
{
if
(
StringUtils
.
isNotBlank
(
item
.
getReferral
())
&&
item
.
getReferral
().
contains
(
fromPath
))
{
customerGraphicsDelayService
.
updateBatchById
(
updateGraphicsList
);
item
.
setReferral
(
item
.
getReferral
().
replaceAll
(
fromPath
,
toPath
));
update
=
true
;
update
=
true
;
}
}
// 文本链接
if
(
CollectionUtil
.
isNotEmpty
(
updateReferralList
))
{
if
(
StringUtils
.
isNotBlank
(
item
.
getTextContent
())
&&
item
.
getTextContent
().
contains
(
fromPath
))
{
referralEntityService
.
updateBatchById
(
updateReferralList
);
item
.
setTextContent
(
item
.
getTextContent
().
replaceAll
(
fromPath
,
toPath
));
update
=
true
;
update
=
true
;
}
}
if
(
update
)
{
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"
);
}
}
});
}
catch
(
Exception
e
)
{
boolean
update
=
false
;
log
.
error
(
"公众号:{} 延时客服链接从:{} 替换为:{} 异常:{}"
,
source
.
getAuthorizerInfo
().
getNickName
(),
source
.
getFromPath
(),
source
.
getToPath
(),
e
.
getMessage
(),
e
);
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"
);
}
}
}
}
...
...
src/main/java/com/yaoyaozw/customer/listener/FollowReplyAcquisitionListener.java
浏览文件 @
4cb6ca25
...
@@ -43,72 +43,76 @@ public class FollowReplyAcquisitionListener implements ApplicationListener<Acqui
...
@@ -43,72 +43,76 @@ public class FollowReplyAcquisitionListener implements ApplicationListener<Acqui
AuthorizerInfo
authorizerInfo
=
source
.
getAuthorizerInfo
();
AuthorizerInfo
authorizerInfo
=
source
.
getAuthorizerInfo
();
String
fromPath
=
source
.
getFromPath
();
String
fromPath
=
source
.
getFromPath
();
String
toPath
=
source
.
getToPath
();
String
toPath
=
source
.
getToPath
();
// 查询这个公众号延时客服用到了 fromPath 的地方,替换成 toPath
try
{
List
<
CustomerFollowReply
>
allCustomerFollowReplyList
=
customerFollowReplyService
.
list
(
new
QueryWrapper
<
CustomerFollowReply
>().
eq
(
"appid"
,
authorizerInfo
.
getAppid
()));
// 查询这个公众号延时客服用到了 fromPath 的地方,替换成 toPath
List
<
CustomerFollowReply
>
allCustomerFollowReplyList
=
customerFollowReplyService
.
list
(
new
QueryWrapper
<
CustomerFollowReply
>().
eq
(
"appid"
,
authorizerInfo
.
getAppid
()));
// 过滤出发送链接是 fromPath 或者发送文本中的跳转链接包含 fromPath 的延时客服配置
// 过滤出发送链接是 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
());
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
))
{
if
(
CollectionUtil
.
isEmpty
(
containsFromPathGraphicsList
))
{
log
.
info
(
"公众号:{} 暂无使用获客链接:{} 的关回配置"
,
authorizerInfo
.
getAppid
(),
fromPath
);
log
.
info
(
"公众号:{} 暂无使用获客链接:{} 的关回配置"
,
authorizerInfo
.
getAppid
(),
fromPath
);
return
;
return
;
}
}
List
<
Long
>
graphicsIds
=
containsFromPathGraphicsList
.
stream
().
map
(
CustomerFollowReply:
:
getId
).
collect
(
Collectors
.
toList
());
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
<
ReferralEntity
>
relatedReferralEntityList
=
referralEntityService
.
list
(
new
QueryWrapper
<
ReferralEntity
>().
in
(
ReferralEntity
.
COL_MATERIAL_GRAPHICS_ID
,
graphicsIds
));
List
<
CustomerFollowReply
>
updateGraphicsList
=
new
ArrayList
<>();
List
<
CustomerFollowReply
>
updateGraphicsList
=
new
ArrayList
<>();
List
<
ReferralEntity
>
updateReferralList
=
new
ArrayList
<>();
List
<
ReferralEntity
>
updateReferralList
=
new
ArrayList
<>();
// 替换 graphics 和 referral 中的 fromPath 为 toPath
// 替换 graphics 和 referral 中的 fromPath 为 toPath
allCustomerFollowReplyList
.
forEach
(
item
->
{
allCustomerFollowReplyList
.
forEach
(
item
->
{
boolean
update
=
false
;
boolean
update
=
false
;
// 直跳链接
// 直跳链接
if
(
StringUtils
.
isNotBlank
(
item
.
getSourceUrl
())
&&
item
.
getSourceUrl
().
contains
(
fromPath
))
{
if
(
StringUtils
.
isNotBlank
(
item
.
getSourceUrl
())
&&
item
.
getSourceUrl
().
contains
(
fromPath
))
{
item
.
setSourceUrl
(
item
.
getSourceUrl
().
replaceAll
(
fromPath
,
toPath
));
item
.
setSourceUrl
(
item
.
getSourceUrl
().
replaceAll
(
fromPath
,
toPath
));
update
=
true
;
update
=
true
;
}
}
// 文本链接
// 文本链接
if
(
StringUtils
.
isNotBlank
(
item
.
getContent
())
&&
item
.
getContent
().
contains
(
fromPath
))
{
if
(
StringUtils
.
isNotBlank
(
item
.
getContent
())
&&
item
.
getContent
().
contains
(
fromPath
))
{
item
.
setContent
(
item
.
getContent
().
replaceAll
(
fromPath
,
toPath
));
item
.
setContent
(
item
.
getContent
().
replaceAll
(
fromPath
,
toPath
));
update
=
true
;
update
=
true
;
}
}
if
(
update
)
{
if
(
update
)
{
updateGraphicsList
.
add
(
item
);
updateGraphicsList
.
add
(
item
);
}
}
});
});
relatedReferralEntityList
.
forEach
(
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
;
boolean
update
=
false
;
// 直跳链接
if
(
CollectionUtil
.
isNotEmpty
(
updateGraphicsList
))
{
if
(
StringUtils
.
isNotBlank
(
item
.
getReferral
())
&&
item
.
getReferral
().
contains
(
fromPath
))
{
customerFollowReplyService
.
updateBatchById
(
updateGraphicsList
);
item
.
setReferral
(
item
.
getReferral
().
replaceAll
(
fromPath
,
toPath
));
update
=
true
;
update
=
true
;
}
}
// 文本链接
if
(
CollectionUtil
.
isNotEmpty
(
updateReferralList
))
{
if
(
StringUtils
.
isNotBlank
(
item
.
getTextContent
())
&&
item
.
getTextContent
().
contains
(
fromPath
))
{
referralEntityService
.
updateBatchById
(
updateReferralList
);
item
.
setTextContent
(
item
.
getTextContent
().
replaceAll
(
fromPath
,
toPath
));
update
=
true
;
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
)
{
if
(
update
)
{
// 发送报警信息
// 发送报警信息
String
msg
=
"【关回-获客链接替换】公众号:"
+
authorizerInfo
.
getNickName
()
+
" 获客链接:"
+
fromPath
+
" 已被替换为:"
+
toPath
;
String
msg
=
"【关回-获客链接替换】公众号:"
+
authorizerInfo
.
getNickName
()
+
" 获客链接:"
+
fromPath
+
" 已被替换为:"
+
toPath
;
WeChatTextDTO
cover
=
new
WeChatTextDTO
().
cover
(
msg
,
null
,
null
);
WeChatTextDTO
cover
=
new
WeChatTextDTO
().
cover
(
msg
,
null
,
null
);
WeChatUtils
.
sendErrorMessage
(
cover
,
"9934244e-9694-4a0c-95dd-ddd6ca4bd959"
);
WeChatUtils
.
sendErrorMessage
(
cover
,
"9934244e-9694-4a0c-95dd-ddd6ca4bd959"
);
}
}
catch
(
Exception
e
)
{
log
.
error
(
"公众号:{} 关回链接从:{} 替换为:{} 异常:{}"
,
source
.
getAuthorizerInfo
().
getNickName
(),
source
.
getFromPath
(),
source
.
getToPath
(),
e
.
getMessage
(),
e
);
}
}
}
}
...
...
src/main/java/com/yaoyaozw/customer/listener/KeywordAcquisitionListener.java
浏览文件 @
4cb6ca25
...
@@ -43,70 +43,74 @@ public class KeywordAcquisitionListener implements ApplicationListener<Acquisiti
...
@@ -43,70 +43,74 @@ public class KeywordAcquisitionListener implements ApplicationListener<Acquisiti
AuthorizerInfo
authorizerInfo
=
source
.
getAuthorizerInfo
();
AuthorizerInfo
authorizerInfo
=
source
.
getAuthorizerInfo
();
String
fromPath
=
source
.
getFromPath
();
String
fromPath
=
source
.
getFromPath
();
String
toPath
=
source
.
getToPath
();
String
toPath
=
source
.
getToPath
();
// 查询这个公众号延时客服用到了 fromPath 的地方,替换成 toPath
try
{
List
<
CustomerKeyword
>
allCustomerKeywordList
=
customerKeywordService
.
list
(
new
QueryWrapper
<
CustomerKeyword
>().
eq
(
"appid"
,
authorizerInfo
.
getAppid
()));
// 查询这个公众号延时客服用到了 fromPath 的地方,替换成 toPath
List
<
CustomerKeyword
>
allCustomerKeywordList
=
customerKeywordService
.
list
(
new
QueryWrapper
<
CustomerKeyword
>().
eq
(
"appid"
,
authorizerInfo
.
getAppid
()));
// 过滤出发送链接是 fromPath 或者发送文本中的跳转链接包含 fromPath 的延时客服配置
// 过滤出发送链接是 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
());
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
))
{
if
(
CollectionUtil
.
isEmpty
(
containsFromPathGraphicsList
))
{
log
.
info
(
"公众号:{} 暂无使用获客链接:{} 的关键词回复配置"
,
authorizerInfo
.
getAppid
(),
fromPath
);
log
.
info
(
"公众号:{} 暂无使用获客链接:{} 的关键词回复配置"
,
authorizerInfo
.
getAppid
(),
fromPath
);
return
;
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
;
}
}
if
(
update
)
{
List
<
Long
>
graphicsIds
=
containsFromPathGraphicsList
.
stream
().
map
(
CustomerKeyword:
:
getId
).
collect
(
Collectors
.
toList
());
updateGraphicsList
.
add
(
item
);
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
<>();
relatedReferralEntityList
.
forEach
(
item
->
{
// 替换 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
;
boolean
update
=
false
;
// 直跳链接
if
(
CollectionUtil
.
isNotEmpty
(
updateGraphicsList
))
{
if
(
StringUtils
.
isNotBlank
(
item
.
getReferral
())
&&
item
.
getReferral
().
contains
(
fromPath
))
{
customerKeywordService
.
updateBatchById
(
updateGraphicsList
);
item
.
setReferral
(
item
.
getReferral
().
replaceAll
(
fromPath
,
toPath
));
update
=
true
;
update
=
true
;
}
}
// 文本链接
if
(
CollectionUtil
.
isNotEmpty
(
updateReferralList
))
{
if
(
StringUtils
.
isNotBlank
(
item
.
getTextContent
())
&&
item
.
getTextContent
().
contains
(
fromPath
))
{
referralEntityService
.
updateBatchById
(
updateReferralList
);
item
.
setTextContent
(
item
.
getTextContent
().
replaceAll
(
fromPath
,
toPath
));
update
=
true
;
update
=
true
;
}
}
// 刷新缓存数据
customerKeywordService
.
putMaterialToRedis
(
authorizerInfo
.
getAppid
());
if
(
update
)
{
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"
);
}
}
});
}
catch
(
Exception
e
)
{
boolean
update
=
false
;
log
.
error
(
"公众号:{} 关键词链接从:{} 替换为:{} 异常:{}"
,
source
.
getAuthorizerInfo
().
getNickName
(),
source
.
getFromPath
(),
source
.
getToPath
(),
e
.
getMessage
(),
e
);
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"
);
}
}
}
}
...
...
src/main/java/com/yaoyaozw/customer/listener/MenuAcquisitionListener.java
浏览文件 @
4cb6ca25
...
@@ -25,14 +25,18 @@ public class MenuAcquisitionListener implements ApplicationListener<AcquisitionE
...
@@ -25,14 +25,18 @@ public class MenuAcquisitionListener implements ApplicationListener<AcquisitionE
if
(
source
==
null
)
{
if
(
source
==
null
)
{
return
;
return
;
}
}
BaseResult
execResult
=
menuFeignClient
.
replaceAcquisitionLink
(
source
);
try
{
if
(!
execResult
.
getSuccess
())
{
BaseResult
execResult
=
menuFeignClient
.
replaceAcquisitionLink
(
source
);
log
.
error
(
"公众号:{} 菜单链接从:{} 替换为:{} 失败:{}"
,
source
.
getAuthorizerInfo
().
getNickName
(),
source
.
getFromPath
(),
source
.
getToPath
(),
execResult
.
getMessage
());
if
(!
execResult
.
getSuccess
())
{
return
;
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
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论