Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
仟微科技
Link Wechat
提交
21bb985f
Link Wechat
项目概览
仟微科技
/
Link Wechat
通知
48
Star
3
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Link Wechat
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
21bb985f
编写于
12月 30, 2020
作者:
1
18356073052
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
重构群发消息任务
上级
7d2c08d2
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
30 addition
and
4 deletion
+30
-4
linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeCustomerMessageOriginalServiceImpl.java
...om/service/impl/WeCustomerMessageOriginalServiceImpl.java
+30
-4
未找到文件。
linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeCustomerMessageOriginalServiceImpl.java
浏览文件 @
21bb985f
...
...
@@ -15,12 +15,14 @@ import com.linkwechat.wecom.domain.vo.CustomerMessagePushVo;
import
com.linkwechat.wecom.mapper.WeCustomerMessageOriginalMapper
;
import
com.linkwechat.wecom.mapper.WeCustomerMessgaeResultMapper
;
import
com.linkwechat.wecom.service.IWeCustomerMessageOriginalService
;
import
com.linkwechat.wecom.service.IWeCustomerMessageService
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.concurrent.CompletableFuture
;
import
java.util.concurrent.atomic.AtomicInteger
;
/**
* 群发消息 原始数据信息表 we_customer_messageOriginal
...
...
@@ -40,6 +42,9 @@ public class WeCustomerMessageOriginalServiceImpl extends ServiceImpl<WeCustomer
@Autowired
private
WeCustomerMessgaeResultMapper
weCustomerMessgaeResultMapper
;
@Autowired
private
IWeCustomerMessageService
weCustomerMessageService
;
@Autowired
private
ObjectMapper
objectMapper
;
...
...
@@ -58,22 +63,29 @@ public class WeCustomerMessageOriginalServiceImpl extends ServiceImpl<WeCustomer
CustomerMessagePushVo
customerMessagePushDetail
=
weCustomerMessageOriginalMapper
.
findCustomerMessagePushDetail
(
messageId
);
AtomicInteger
atomicInteger
=
new
AtomicInteger
();
//拉取消息发送结果
CompletableFuture
.
runAsync
(()->{
CompletableFuture
.
runAsync
(()->{
String
msgid
=
customerMessagePushDetail
.
getMsgid
();
if
(
StringUtils
.
isNotEmpty
(
msgid
)){
List
<
String
>
msgIds
=
null
;
try
{
msgIds
=
objectMapper
.
readValue
(
msgid
,
new
TypeReference
<
List
<
String
>>()
{
});
}
catch
(
JsonProcessingException
e
)
{
e
.
printStackTrace
();
}
if
(
CollectionUtils
.
isNotEmpty
(
msgIds
)){
msgIds
.
forEach
(
m
->{
QueryCustomerMessageStatusResultDataObjectDto
dataObjectDto
=
new
QueryCustomerMessageStatusResultDataObjectDto
();
...
...
@@ -82,24 +94,38 @@ public class WeCustomerMessageOriginalServiceImpl extends ServiceImpl<WeCustomer
//拉取发送结果
QueryCustomerMessageStatusResultDto
queryCustomerMessageStatusResultDto
=
weCustomerMessagePushClient
.
queryCustomerMessageStatus
(
dataObjectDto
);
if
(
WeConstans
.
WE_SUCCESS_CODE
.
equals
(
queryCustomerMessageStatusResultDto
.
getErrcode
()))
{
List
<
DetailMessageStatusResultDto
>
detailList
=
queryCustomerMessageStatusResultDto
.
getDetail_list
();
detailList
.
forEach
(
d
->
weCustomerMessgaeResultMapper
.
updateWeCustomerMessgaeResult
(
messageId
,
d
.
getChat_id
(),
d
.
getExternal_userid
(),
d
.
getStatus
(),
d
.
getSend_time
()));
detailList
.
forEach
(
d
->
{
if
(
d
.
getStatus
().
equals
(
"1"
)){
atomicInteger
.
incrementAndGet
();
}
weCustomerMessgaeResultMapper
.
updateWeCustomerMessgaeResult
(
messageId
,
d
.
getChat_id
(),
d
.
getExternal_userid
(),
d
.
getStatus
(),
d
.
getSend_time
());
});
}
});
}
}
});
//更新微信实际发送条数
weCustomerMessageService
.
updateWeCustomerMessageActualSend
(
messageId
,
atomicInteger
.
get
());
});
return
weCustomerMessageOriginalMapper
.
findCustomerMessagePushDetail
(
messageId
)
;
return
customerMessagePushDetail
;
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录