Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
O
operate-customer-service
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
沈振路
operate-customer-service
Commits
bd2ac67d
提交
bd2ac67d
authored
10月 19, 2022
作者:
gh
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
延时客服的付费类型
上级
8755380d
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
38 行增加
和
27 行删除
+38
-27
CustomerDelayPublish.java
...va/com/yaoyaozw/customer/entity/CustomerDelayPublish.java
+1
-1
CustomerDelayPublishServiceImpl.java
...ustomer/service/impl/CustomerDelayPublishServiceImpl.java
+3
-3
WeChatService.java
...oyaozw/customer/service/wechat/service/WeChatService.java
+1
-1
WeChatServiceImpl.java
...zw/customer/service/wechat/service/WeChatServiceImpl.java
+29
-22
CustomerDelayItemVO.java
...om/yaoyaozw/customer/vo/customer/CustomerDelayItemVO.java
+4
-0
没有找到文件。
src/main/java/com/yaoyaozw/customer/entity/CustomerDelayPublish.java
浏览文件 @
bd2ac67d
...
...
@@ -39,7 +39,7 @@ public class CustomerDelayPublish implements Serializable {
* 未付费0/付费1/VIP 2
*/
@TableField
(
exist
=
false
)
private
Byte
payType
;
private
Integer
payType
;
/**
* 延时客服序列
...
...
src/main/java/com/yaoyaozw/customer/service/impl/CustomerDelayPublishServiceImpl.java
浏览文件 @
bd2ac67d
...
...
@@ -56,9 +56,9 @@ public class CustomerDelayPublishServiceImpl extends ServiceImpl<CustomerDelayPu
List
<
Future
<
CustomerDelayPublish
>>
futureList
=
new
ArrayList
<>();
//号-发送序列-客服id
Map
<
String
,
Map
<
Integer
,
CustomerDelayItemVO
>>
customerMap
=
Map
<
String
,
Map
<
Integer
,
List
<
CustomerDelayItemVO
>
>>
customerMap
=
allDelayCustomerMessage
.
stream
().
collect
(
Collectors
.
groupingBy
(
CustomerDelayItemVO:
:
getAppId
,
Collectors
.
toMap
(
CustomerDelayItemVO:
:
getPostSort
,
a
->
a
,
(
v1
,
v2
)
->
v2
)));
Collectors
.
groupingBy
(
CustomerDelayItemVO:
:
getPostSort
)));
Set
<
CustomerDelayItemVO
>
needUpdateCustomerDelay
=
new
HashSet
<>();
...
...
@@ -72,7 +72,7 @@ public class CustomerDelayPublishServiceImpl extends ServiceImpl<CustomerDelayPu
//没token过滤
if
(
token
==
null
||
""
.
equals
(
token
)){
continue
;
}
//该号下延时客服
Map
<
Integer
,
CustomerDelayItemVO
>
delaySortMap
=
customerMap
.
get
(
appid
);
Map
<
Integer
,
List
<
CustomerDelayItemVO
>
>
delaySortMap
=
customerMap
.
get
(
appid
);
//所有的用户
List
<
CustomerDelayPublish
>
userList
=
userEntry
.
getValue
();
...
...
src/main/java/com/yaoyaozw/customer/service/wechat/service/WeChatService.java
浏览文件 @
bd2ac67d
...
...
@@ -19,7 +19,7 @@ public interface WeChatService {
* 发送延时客服消息
*/
Future
<
CustomerDelayPublish
>
sendCustomerDelayMessage
(
AuthorizerToken
authorizerToken
,
CustomerDelayPublish
user
,
Map
<
Integer
,
CustomerDelayItemVO
>
delaySortMap
,
Map
<
Integer
,
List
<
CustomerDelayItemVO
>
>
delaySortMap
,
Set
<
CustomerDelayItemVO
>
needUpdateVoList
);
...
...
src/main/java/com/yaoyaozw/customer/service/wechat/service/WeChatServiceImpl.java
浏览文件 @
bd2ac67d
...
...
@@ -55,38 +55,45 @@ public class WeChatServiceImpl implements WeChatService{
@Async
(
"myExecutor"
)
@Override
public
Future
<
CustomerDelayPublish
>
sendCustomerDelayMessage
(
AuthorizerToken
authorizerToken
,
CustomerDelayPublish
user
,
Map
<
Integer
,
CustomerDelayItemVO
>
delaySortMap
,
Map
<
Integer
,
List
<
CustomerDelayItemVO
>
>
delaySortMap
,
Set
<
CustomerDelayItemVO
>
needUpdateVoList
)
{
//token
UriComponentsBuilder
uriComponentsBuilder
=
UriComponentsBuilder
.
fromHttpUrl
(
customerPath
).
queryParam
(
"access_token"
,
authorizerToken
.
getAuthorizerAccessToken
());
//找到延时序列
CustomerDelayItemVO
sendCustomerDelay
=
delaySortMap
.
get
(
user
.
getCustomerSort
());
List
<
CustomerDelayItemVO
>
sendCustomerDelays
=
delaySortMap
.
get
(
user
.
getCustomerSort
());
if
(
sendCustomerDelay
!=
null
){
needUpdateVoList
.
add
(
sendCustomerDelay
);
//构建请求参数
WeChatCustomerRequestEntity
customerRequest
=
buildCustomerRequest
(
sendCustomerDelay
);
if
(
sendCustomerDelays
!=
null
){
//找付费类型
List
<
CustomerDelayItemVO
>
collect
=
sendCustomerDelays
.
stream
().
filter
(
a
->
user
.
getPayType
().
equals
(
a
.
getIsPay
())
).
collect
(
Collectors
.
toList
());
if
(
customerRequest
!=
null
){
if
(
!
collect
.
isEmpty
()
){
customerRequest
.
setTouser
(
user
.
getOpenId
());
//System.err.println(user.getOpenId());
try
{
WeChatResponseEntity
response
=(
WeChatResponseEntity
)
weChatRestService
.
httpPostRequest
(
uriComponentsBuilder
,
customerRequest
,
WeChatResponseEntity
.
class
);
//System.err.println(response);
CustomerDelayItemVO
sendCustomerDelay
=
collect
.
get
(
0
);
if
(
SUCCESS_CODE
.
equals
(
response
.
getErrcode
())){
//发送成功计
数
sendCustomerDelay
.
updateSendNum
(
);
needUpdateVoList
.
add
(
sendCustomerDelay
);
//构建请求参
数
WeChatCustomerRequestEntity
customerRequest
=
buildCustomerRequest
(
sendCustomerDelay
);
}
else
if
(
EXPIRED_CODE
.
equals
(
response
.
getErrcode
())
){
//token过期重新取一下
AuthorizerToken
updateToken
=
authorizerTokenService
.
findTokenByAppid
(
authorizerToken
.
getAuthorizerAppid
());
if
(
customerRequest
!=
null
){
return
sendCustomerDelayMessage
(
updateToken
,
user
,
delaySortMap
,
needUpdateVoList
);
customerRequest
.
setTouser
(
user
.
getOpenId
());
//System.err.println(user.getOpenId());
try
{
WeChatResponseEntity
response
=(
WeChatResponseEntity
)
weChatRestService
.
httpPostRequest
(
uriComponentsBuilder
,
customerRequest
,
WeChatResponseEntity
.
class
);
//System.err.println(response);
if
(
SUCCESS_CODE
.
equals
(
response
.
getErrcode
())){
//发送成功计数
sendCustomerDelay
.
updateSendNum
();
}
else
if
(
EXPIRED_CODE
.
equals
(
response
.
getErrcode
())
){
//token过期重新取一下
AuthorizerToken
updateToken
=
authorizerTokenService
.
findTokenByAppid
(
authorizerToken
.
getAuthorizerAppid
());
return
sendCustomerDelayMessage
(
updateToken
,
user
,
delaySortMap
,
needUpdateVoList
);
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
}
...
...
@@ -99,7 +106,7 @@ public class WeChatServiceImpl implements WeChatService{
user
.
setCustomerSort
(
newSort
);
CustomerDelayItemVO
customerDelayItemVO
=
delaySortMap
.
get
(
newSort
);
CustomerDelayItemVO
customerDelayItemVO
=
delaySortMap
.
get
(
newSort
)
!=
null
?
delaySortMap
.
get
(
newSort
).
get
(
0
):
null
;
if
(
customerDelayItemVO
!=
null
&&
customerDelayItemVO
.
getTimeInterval
()!=
null
){
...
...
src/main/java/com/yaoyaozw/customer/vo/customer/CustomerDelayItemVO.java
浏览文件 @
bd2ac67d
...
...
@@ -39,6 +39,10 @@ public class CustomerDelayItemVO implements Serializable {
*/
private
String
type
;
/**
* 付费类型(0未付费 1已付费)
*/
private
Integer
isPay
;
/**
* 推广标题
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论