Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
H
haoban-manage3.0
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
haoban3.0
haoban-manage3.0
Commits
d88d2cb1
Commit
d88d2cb1
authored
Dec 23, 2022
by
徐高华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
群发
parent
4f70e318
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
58 additions
and
29 deletions
+58
-29
GroupChatPlanLogMapper.java
...anage/service/dao/mapper/chat/GroupChatPlanLogMapper.java
+4
-1
TabGroupChatPlanOwnerLog.java
.../manage/service/entity/chat/TabGroupChatPlanOwnerLog.java
+1
-1
GroupChatPlanServiceImpl.java
...e/service/service/chat/impl/GroupChatPlanServiceImpl.java
+34
-13
GroupChatPlanLogMapper.xml
...src/main/resources/mapper/chat/GroupChatPlanLogMapper.xml
+19
-14
No files found.
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/chat/GroupChatPlanLogMapper.java
View file @
d88d2cb1
...
...
@@ -2,6 +2,8 @@ package com.gic.haoban.manage.service.dao.mapper.chat;
import
java.util.List
;
import
org.apache.ibatis.annotations.Param
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatPlanLogDTO
;
import
com.gic.haoban.manage.api.dto.qdto.chat.GroupChatPlanSearchQDTO
;
import
com.gic.haoban.manage.service.entity.chat.TabGroupChatPlanLog
;
...
...
@@ -17,7 +19,7 @@ import com.gic.haoban.manage.service.entity.chat.TabGroupChatPlanLog;
*/
public
interface
GroupChatPlanLogMapper
{
public
int
insert
(
TabGroupChatPlanLog
entity
);
public
int
batchInsert
(
@Param
(
"list"
)
List
<
TabGroupChatPlanLog
>
list
);
public
List
<
GroupChatPlanLogDTO
>
listPlanLog
(
GroupChatPlanSearchQDTO
qdto
);
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/entity/chat/TabGroupChatPlanOwnerLog.java
View file @
d88d2cb1
...
...
@@ -23,7 +23,7 @@ public class TabGroupChatPlanOwnerLog implements Serializable {
private
String
staffId
;
private
String
storeId
;
private
String
clerkId
;
/**
1已发送 0待
发送*/
/**
0任务创建失败 1待发送 2已
发送*/
private
Integer
sendStatus
;
private
Integer
failCount
;
private
Integer
sendCount
;
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/chat/impl/GroupChatPlanServiceImpl.java
View file @
d88d2cb1
...
...
@@ -193,10 +193,10 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
String
wxEnterpriseId
=
plan
.
getWxEnterpriseId
();
String
chatContent
=
plan
.
getChatContent
();
JSONArray
jsonArr
=
JSONArray
.
parseArray
(
chatContent
);
List
<
String
>
madi
dList
=
new
ArrayList
<>();
List
<
String
>
sendI
dList
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
jsonArr
.
size
();
i
++)
{
JSONObject
json
=
jsonArr
.
getJSONObject
(
i
);
madi
dList
.
add
(
json
.
getString
(
"relation_id"
));
sendI
dList
.
add
(
json
.
getString
(
"relation_id"
));
}
int
pageNum
=
0
;
List
<
TabGroupChatPlanOwnerLog
>
ownerList
=
null
;
...
...
@@ -210,7 +210,7 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
try
{
String
staffId
=
ownerLog
.
getStaffId
();
ServiceResponse
<
String
>
sendResp
=
qywxSendService
.
sendChatMessage
(
wxEnterpriseId
,
staffId
,
madi
dList
);
sendI
dList
);
if
(
sendResp
.
isSuccess
())
{
String
msgid
=
sendResp
.
getResult
();
ownerLog
.
setMsgid
(
msgid
);
...
...
@@ -222,7 +222,9 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
ownerLog
.
setWxEnterpriseId
(
wxEnterpriseId
);
this
.
groupChatPlanOwnerLogService
.
update
(
ownerLog
);
// 代办
if
(
StringUtils
.
isNotBlank
(
ownerLog
.
getClerkId
())
&&
StringUtils
.
isNotBlank
(
ownerLog
.
getMsgid
()))
{
if
(
ownerLog
.
getSendStatus
()
==
PlanSendStatusEnum
.
TO_BE_SEND
.
getCode
()
&&
StringUtils
.
isNotBlank
(
ownerLog
.
getClerkId
())
&&
StringUtils
.
isNotBlank
(
ownerLog
.
getMsgid
()))
{
this
.
savePendTask
(
ownerLog
,
plan
);
}
}
catch
(
Exception
e
)
{
...
...
@@ -267,34 +269,52 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
public
void
doPlanSendInfo
(
Long
ownerLogId
)
{
logger
.
info
(
"开始群群发统计{}"
,
ownerLogId
);
TabGroupChatPlanOwnerLog
ownerLog
=
this
.
groupChatPlanOwnerLogService
.
getById
(
ownerLogId
);
if
(
ownerLog
.
getSendStatus
()
==
2
)
{
logger
.
info
(
"已统计过"
);
return
;
}
logger
.
info
(
"开始群群发统计{}"
,
ownerLog
.
getMsgid
());
Long
planId
=
ownerLog
.
getPlanId
();
TabGroupChatPlan
plan
=
this
.
groupChatPlanMapper
.
selectById
(
planId
);
if
(
null
==
plan
)
{
logger
.
info
(
"计划不存在{}"
,
planId
);
return
;
}
String
wxEnterpriseId
=
ownerLog
.
getWxEnterpriseId
();
String
enterpriseId
=
ownerLog
.
getEnterpriseId
();
String
msgid
=
ownerLog
.
getMsgid
();
String
staffId
=
ownerLog
.
getStaffId
();
WxEnterpriseQwDTO
qwDTO
=
this
.
wxEnterpriseService
.
getQwInfo
(
wxEnterpriseId
);
TabHaobanStaff
staff
=
this
.
staffMapper
.
selectByPrimaryKey
(
staffId
);
if
(
null
==
staff
)
{
logger
.
info
(
"成员不存在{}"
,
staffId
);
return
;
}
String
userid
=
staff
.
getWxUserId
();
if
(
qwDTO
.
needOpenUserId3th
())
{
userid
=
staff
.
getWxOpenUseId
();
}
JSONResponse
respon
=
qywxSuiteApiService
.
resultExternalMessage
(
qwDTO
.
getThirdCorpid
(),
config
.
getWxSuiteid
(),
msgid
,
null
,
userid
);
logger
.
info
(
"统计返回={}"
,
JSON
.
toJSONString
(
respon
));
if
(
respon
.
getErrorCode
()
==
0
)
{
logger
.
info
(
"统计企微返回={}"
,
JSON
.
toJSONString
(
respon
));
if
(
respon
.
getErrorCode
()
!=
0
)
{
return
;
}
List
<
QywxSendMessageResultDTO
>
list
=
(
List
<
QywxSendMessageResultDTO
>)
respon
.
getList
();
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
if
(
CollectionUtils
.
isEmpty
(
list
))
{
logger
.
info
(
"企微返回列表空"
);
return
;
}
int
sendCount
=
0
;
int
failCount
=
0
;
Long
planId
=
ownerLog
.
getPlanId
();
TabGroupChatPlan
plan
=
this
.
groupChatPlanMapper
.
selectById
(
planId
);
List
<
TabGroupChatPlanLog
>
addList
=
new
ArrayList
<>();
for
(
QywxSendMessageResultDTO
item
:
list
)
{
TabGroupChatPlanLog
entity
=
new
TabGroupChatPlanLog
();
Date
sendTime
=
item
.
getSendTime
();
String
wxChatId
=
item
.
getChatId
();
// 如果企微的发送时间晚于计划的结束时间,不记录此类数据
if
(
sendTime
.
after
(
plan
.
getEndTime
()))
{
logger
.
info
(
"发送时间晚计划结束时间
"
);
logger
.
info
(
"发送时间晚计划结束
"
);
continue
;
}
GroupChatBO
chat
=
this
.
groupChatService
.
getByWxChatId
(
wxEnterpriseId
,
wxChatId
);
...
...
@@ -325,7 +345,10 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
entity
.
setEnterpriseId
(
enterpriseId
);
entity
.
setStaffId
(
staffId
);
entity
.
setSendTime
(
sendTime
);
this
.
groupChatPlanLogMapper
.
insert
(
entity
);
addList
.
add
(
entity
);
}
if
(
CollectionUtils
.
isNotEmpty
(
addList
))
{
this
.
groupChatPlanLogMapper
.
batchInsert
(
addList
);
}
// 更新统计数量、状态
this
.
groupChatPlanOwnerLogService
.
updateSendCount
(
ownerLog
.
getOwnerLogId
(),
sendCount
,
...
...
@@ -335,8 +358,6 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
// 更新计划统计
this
.
groupChatPlanMapper
.
updateData
(
ownerLog
.
getPlanId
(),
1
,
sendCount
,
failCount
);
}
}
}
@Override
public
void
del
(
String
clerkId
,
String
clerkName
,
Long
planId
)
{
...
...
haoban-manage3-service/src/main/resources/mapper/chat/GroupChatPlanLogMapper.xml
View file @
d88d2cb1
...
...
@@ -32,8 +32,7 @@
</sql>
<!-- ===================== 新增 ======================== -->
<insert
id=
"insert"
parameterType=
"com.gic.haoban.manage.service.entity.chat.TabGroupChatPlanLog"
>
<![CDATA[
<insert
id=
"batchInsert"
>
INSERT INTO tab_haoban_group_chat_plan_log(
log_id,
plan_id,
...
...
@@ -47,23 +46,29 @@
delete_flag,
create_time,
update_time , staff_id
)VALUES(
#{logId},
#{planId},
#{wxEnterpriseId},
#{enterpriseId} ,
#{groupChatId},
#{sendStatus},
#{ownLogId},
#{remark},
#{sendTime},
)VALUES
<foreach
collection=
"list"
item=
"item"
separator=
","
>
(
#{item.logId},
#{item.planId},
#{item.wxEnterpriseId},
#{item.enterpriseId} ,
#{item.groupChatId},
#{item.sendStatus},
#{item.ownLogId},
#{item.remark},
#{item.sendTime},
0,
now(),
now() ,#{staffId}
now() ,
#{item.staffId}
)
]]
>
</foreach
>
</insert>
<select
id=
"listPlanLog"
parameterType=
"com.gic.haoban.manage.api.dto.qdto.chat.GroupChatPlanSearchQDTO"
resultType=
"com.gic.haoban.manage.api.dto.chat.GroupChatPlanLogDTO"
>
SELECT b.clerk_id clerkId ,
b.store_id storeId ,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment