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
a92f25bc
Commit
a92f25bc
authored
Dec 23, 2022
by
徐高华
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/社群' into 'developer'
Feature/社群 See merge request
!740
parents
fc0e95fc
d88d2cb1
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
228 additions
and
106 deletions
+228
-106
GroupChatApiService.java
...c/haoban/manage/api/service/chat/GroupChatApiService.java
+7
-6
GroupChatPlanLogMapper.java
...anage/service/dao/mapper/chat/GroupChatPlanLogMapper.java
+4
-1
GroupChatUserMapper.java
...n/manage/service/dao/mapper/chat/GroupChatUserMapper.java
+2
-0
TabGroupChatPlanOwnerLog.java
.../manage/service/entity/chat/TabGroupChatPlanOwnerLog.java
+1
-1
TabGroupChatUser.java
...c/haoban/manage/service/entity/chat/TabGroupChatUser.java
+67
-46
GroupChatService.java
.../haoban/manage/service/service/chat/GroupChatService.java
+11
-1
GroupChatPlanOwnerLogServiceImpl.java
...e/service/chat/impl/GroupChatPlanOwnerLogServiceImpl.java
+10
-1
GroupChatPlanServiceImpl.java
...e/service/service/chat/impl/GroupChatPlanServiceImpl.java
+43
-24
GroupChatServiceImpl.java
...anage/service/service/chat/impl/GroupChatServiceImpl.java
+0
-0
GroupChatApiServiceImpl.java
...ervice/service/out/impl/chat/GroupChatApiServiceImpl.java
+11
-7
TabHaobanExternalClerkRelatedMapper.xml
.../resources/mapper/TabHaobanExternalClerkRelatedMapper.xml
+0
-4
GroupChatPlanLogMapper.xml
...src/main/resources/mapper/chat/GroupChatPlanLogMapper.xml
+19
-14
GroupChatUserMapper.xml
...ce/src/main/resources/mapper/chat/GroupChatUserMapper.xml
+53
-1
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/service/chat/GroupChatApiService.java
View file @
a92f25bc
...
...
@@ -56,24 +56,25 @@ public interface GroupChatApiService {
/**
*
* @Title: refreshChatInfo
* @Description: 刷新群
信息
* @Description: 刷新群
* @author xugh
* @param groupChatId
* @return
* @throws
*/
public
ServiceResponse
<
Void
>
refreshChatInfo
(
Long
groupChatId
);
public
ServiceResponse
<
Void
>
refreshChatInfoFromMQ
(
String
params
);
/**
*
* @Title: refreshChat
Info
* @Description: 刷新群
信息,从队列获取
* @Title: refreshChat
Status
* @Description: 刷新群
的状态
* @author xugh
* @param
groupChatId
* @param
params
* @return
* @throws
*/
public
ServiceResponse
<
Void
>
refreshChat
InfoFromMQ
(
String
params
)
;
public
ServiceResponse
<
Void
>
refreshChat
StatusFromMQ
(
String
params
)
;
/**
*
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/chat/GroupChatPlanLogMapper.java
View file @
a92f25bc
...
...
@@ -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/dao/mapper/chat/GroupChatUserMapper.java
View file @
a92f25bc
...
...
@@ -21,6 +21,8 @@ public interface GroupChatUserMapper {
public
int
insert
(
TabGroupChatUser
tabHaobanGroupChatUser
);
public
int
batchInsert
(
@Param
(
"list"
)
List
<
TabGroupChatUser
>
userList
);
public
int
dismiss
(
@Param
(
"idList"
)
List
<
Long
>
chatUserIdList
,
@Param
(
"ownerId"
)
String
ownerId
);
public
int
update
(
TabGroupChatUser
tabHaobanGroupChatUser
);
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/entity/chat/TabGroupChatPlanOwnerLog.java
View file @
a92f25bc
...
...
@@ -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/entity/chat/TabGroupChatUser.java
View file @
a92f25bc
package
com
.
gic
.
haoban
.
manage
.
service
.
entity
.
chat
;
import
java.io.Serializable
;
import
java.io.Serializable
;
/**
*
...
...
@@ -11,7 +11,7 @@ import java.io.Serializable ;
* @Modify
* @CopyRight
*/
public
class
TabGroupChatUser
implements
Serializable
{
public
class
TabGroupChatUser
implements
Serializable
{
private
static
final
long
serialVersionUID
=
21771431486600L
;
...
...
@@ -34,7 +34,7 @@ public class TabGroupChatUser implements Serializable{
private
String
memberId
;
/**邀请者*/
private
String
invitorUserId
;
private
String
invitorUserName
;
private
String
invitorUserName
;
private
java
.
util
.
Date
createTime
;
private
java
.
util
.
Date
updateTime
;
/**1是0否*/
...
...
@@ -53,7 +53,7 @@ public class TabGroupChatUser implements Serializable{
private
String
joinRemark
;
private
String
joinState
;
// 0 成员 1群主 2管理员
private
Integer
adminFlag
;
private
Integer
adminFlag
=
0
;
public
Integer
getAdminFlag
()
{
return
adminFlag
;
...
...
@@ -71,151 +71,171 @@ public class TabGroupChatUser implements Serializable{
this
.
invitorUserName
=
invitorUserName
;
}
public
void
setChatUserId
(
Long
chatUserId
){
public
void
setChatUserId
(
Long
chatUserId
)
{
this
.
chatUserId
=
chatUserId
;
}
public
Long
getChatUserId
()
{
public
Long
getChatUserId
()
{
return
chatUserId
;
}
public
void
setWxEnterpriseId
(
String
wxEnterpriseId
){
public
void
setWxEnterpriseId
(
String
wxEnterpriseId
)
{
this
.
wxEnterpriseId
=
wxEnterpriseId
;
}
public
String
getWxEnterpriseId
()
{
public
String
getWxEnterpriseId
()
{
return
wxEnterpriseId
;
}
public
void
setEnterpriseId
(
String
enterpriseId
){
public
void
setEnterpriseId
(
String
enterpriseId
)
{
this
.
enterpriseId
=
enterpriseId
;
}
public
String
getEnterpriseId
()
{
public
String
getEnterpriseId
()
{
return
enterpriseId
;
}
public
void
setUserType
(
Integer
userType
){
public
void
setUserType
(
Integer
userType
)
{
this
.
userType
=
userType
;
}
public
Integer
getUserType
()
{
public
Integer
getUserType
()
{
return
userType
;
}
public
void
setJoinTime
(
java
.
util
.
Date
joinTime
){
public
void
setJoinTime
(
java
.
util
.
Date
joinTime
)
{
this
.
joinTime
=
joinTime
;
}
public
java
.
util
.
Date
getJoinTime
()
{
public
java
.
util
.
Date
getJoinTime
()
{
return
joinTime
;
}
public
void
setUserName
(
String
userName
){
public
void
setUserName
(
String
userName
)
{
this
.
userName
=
userName
;
}
public
String
getUserName
()
{
public
String
getUserName
()
{
return
userName
;
}
public
void
setNickName
(
String
nickName
){
public
void
setNickName
(
String
nickName
)
{
this
.
nickName
=
nickName
;
}
public
String
getNickName
()
{
public
String
getNickName
()
{
return
nickName
;
}
public
void
setUserId
(
String
userId
){
public
void
setUserId
(
String
userId
)
{
this
.
userId
=
userId
;
}
public
String
getUserId
()
{
public
String
getUserId
()
{
return
userId
;
}
public
void
setUnionid
(
String
unionid
){
public
void
setUnionid
(
String
unionid
)
{
this
.
unionid
=
unionid
;
}
public
String
getUnionid
()
{
public
String
getUnionid
()
{
return
unionid
;
}
public
void
setMemberId
(
String
memberId
){
public
void
setMemberId
(
String
memberId
)
{
this
.
memberId
=
memberId
;
}
public
String
getMemberId
()
{
public
String
getMemberId
()
{
return
memberId
;
}
public
void
setInvitorUserId
(
String
invitorUserId
){
public
void
setInvitorUserId
(
String
invitorUserId
)
{
this
.
invitorUserId
=
invitorUserId
;
}
public
String
getInvitorUserId
()
{
public
String
getInvitorUserId
()
{
return
invitorUserId
;
}
public
void
setCreateTime
(
java
.
util
.
Date
createTime
){
public
void
setCreateTime
(
java
.
util
.
Date
createTime
)
{
this
.
createTime
=
createTime
;
}
public
java
.
util
.
Date
getCreateTime
()
{
public
java
.
util
.
Date
getCreateTime
()
{
return
createTime
;
}
public
void
setUpdateTime
(
java
.
util
.
Date
updateTime
){
public
void
setUpdateTime
(
java
.
util
.
Date
updateTime
)
{
this
.
updateTime
=
updateTime
;
}
public
java
.
util
.
Date
getUpdateTime
()
{
public
java
.
util
.
Date
getUpdateTime
()
{
return
updateTime
;
}
public
void
setDeleteFlag
(
Integer
deleteFlag
){
public
void
setDeleteFlag
(
Integer
deleteFlag
)
{
this
.
deleteFlag
=
deleteFlag
;
}
public
Integer
getDeleteFlag
()
{
public
Integer
getDeleteFlag
()
{
return
deleteFlag
;
}
public
void
setGroupChatId
(
Long
groupChatId
){
public
void
setGroupChatId
(
Long
groupChatId
)
{
this
.
groupChatId
=
groupChatId
;
}
public
Long
getGroupChatId
()
{
public
Long
getGroupChatId
()
{
return
groupChatId
;
}
public
void
setStatusFlag
(
Integer
statusFlag
){
public
void
setStatusFlag
(
Integer
statusFlag
)
{
this
.
statusFlag
=
statusFlag
;
}
public
Integer
getStatusFlag
()
{
public
Integer
getStatusFlag
()
{
return
statusFlag
;
}
public
void
setUserQuitTime
(
java
.
util
.
Date
userQuitTime
){
public
void
setUserQuitTime
(
java
.
util
.
Date
userQuitTime
)
{
this
.
userQuitTime
=
userQuitTime
;
}
public
java
.
util
.
Date
getUserQuitTime
()
{
public
java
.
util
.
Date
getUserQuitTime
()
{
return
userQuitTime
;
}
public
void
setQuitScene
(
Integer
quitScene
){
public
void
setQuitScene
(
Integer
quitScene
)
{
this
.
quitScene
=
quitScene
;
}
public
Integer
getQuitScene
()
{
public
Integer
getQuitScene
()
{
return
quitScene
;
}
public
void
setJoinScene
(
Integer
joinScene
){
public
void
setJoinScene
(
Integer
joinScene
)
{
this
.
joinScene
=
joinScene
;
}
public
Integer
getJoinScene
()
{
public
Integer
getJoinScene
()
{
return
joinScene
;
}
public
void
setJoinRemark
(
String
joinRemark
){
public
void
setJoinRemark
(
String
joinRemark
)
{
this
.
joinRemark
=
joinRemark
;
}
public
String
getJoinRemark
()
{
public
String
getJoinRemark
()
{
return
joinRemark
;
}
public
void
setJoinState
(
String
joinState
){
public
void
setJoinState
(
String
joinState
)
{
this
.
joinState
=
joinState
;
}
public
String
getJoinState
()
{
public
String
getJoinState
()
{
return
joinState
;
}
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/chat/GroupChatService.java
View file @
a92f25bc
...
...
@@ -39,7 +39,17 @@ public interface GroupChatService {
* @param chatHmId
* @throws
*/
public
void
refreshChatInfo
(
Long
chatHmId
);
public
void
refreshChatInfo
(
Long
groupChatId
);
/**
*
* @Title: refreshChatStatus
* @Description: 刷新群的状态
* @author xugh
* @param groupChatId
* @throws
*/
public
void
refreshChatStatus
(
Long
groupChatId
);
/**
*
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/chat/impl/GroupChatPlanOwnerLogServiceImpl.java
View file @
a92f25bc
...
...
@@ -111,6 +111,9 @@ public class GroupChatPlanOwnerLogServiceImpl implements GroupChatPlanOwnerLogSe
@Override
public
void
batchAdd
(
String
staffIdList
,
TabGroupChatPlan
entity
)
{
if
(
StringUtils
.
isBlank
(
staffIdList
))
{
return
;
}
String
[]
arr
=
staffIdList
.
split
(
","
);
List
<
TabGroupChatPlanOwnerLog
>
logList
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
arr
.
length
;
i
++)
{
...
...
@@ -132,7 +135,7 @@ public class GroupChatPlanOwnerLogServiceImpl implements GroupChatPlanOwnerLogSe
@Override
public
void
update
(
TabGroupChatPlanOwnerLog
entity
)
{
String
staffId
=
entity
.
getStaffId
()
;
String
staffId
=
entity
.
getStaffId
();
TabHaobanClerkMainStoreRelated
mainStore
=
this
.
clerkMainStoreRelatedService
.
getMainStoreByStaffId
(
staffId
,
entity
.
getWxEnterpriseId
());
if
(
null
==
mainStore
)
{
...
...
@@ -159,8 +162,14 @@ public class GroupChatPlanOwnerLogServiceImpl implements GroupChatPlanOwnerLogSe
@Override
public
void
deleteByStaffIds
(
Long
planId
,
String
delStaffIds
)
{
if
(
StringUtils
.
isBlank
(
delStaffIds
))
{
return
;
}
String
[]
arr
=
delStaffIds
.
split
(
","
);
List
<
String
>
delStaffIdList
=
Arrays
.
asList
(
arr
);
if
(
CollectionUtils
.
isEmpty
(
delStaffIdList
))
{
return
;
}
this
.
groupChatPlanOwnerLogMapper
.
deleteByStaffIds
(
planId
,
delStaffIdList
);
}
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/chat/impl/GroupChatPlanServiceImpl.java
View file @
a92f25bc
...
...
@@ -98,10 +98,13 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
private
static
GicMQClient
mqClient
=
GICMQClientUtil
.
getClientInstance
();
// 每次成员数
private
int
pageSize
=
1
;
// 发送队列
private
void
putMQForSend
(
Long
id
)
{
try
{
mqClient
.
sendCommonMessage
(
"haobanC
ommonRouter
"
,
id
+
""
,
mqClient
.
sendCommonMessage
(
"haobanC
hatMQ
"
,
id
+
""
,
"com.gic.haoban.manage.api.service.chat.GroupChatPlanApiService"
,
"doPlanTimer"
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"发送MQ异常"
);
...
...
@@ -112,7 +115,7 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
// 统计队列
private
void
putMQForData
(
Long
id
)
{
try
{
mqClient
.
sendCommonMessage
(
"haobanC
ommonRouter
"
,
id
+
""
,
mqClient
.
sendCommonMessage
(
"haobanC
hatMQ
"
,
id
+
""
,
"com.gic.haoban.manage.api.service.chat.GroupChatPlanApiService"
,
"doPlanSendInfoTimer"
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"发送MQ异常"
);
...
...
@@ -145,20 +148,16 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
}
else
{
this
.
groupChatPlanMapper
.
updateById
(
entity
);
// 删除本次删除的
String
delStaffIdList
=
dto
.
getDelStaffIdList
();
if
(
StringUtils
.
isNotBlank
(
delStaffIdList
))
{
this
.
groupChatPlanOwnerLogService
.
deleteByStaffIds
(
planId
,
delStaffIdList
);
}
this
.
groupChatPlanOwnerLogService
.
deleteByStaffIds
(
planId
,
dto
.
getDelStaffIdList
());
// 新增本次新增的
if
(
StringUtils
.
isNotBlank
(
staffIdList
))
{
this
.
groupChatPlanOwnerLogService
.
batchAdd
(
staffIdList
,
entity
);
}
}
// 立即发送
if
(
entity
.
getSendType
()
==
1
)
{
this
.
putMQForSend
(
entity
.
getPlanId
());
this
.
addOrDelTimer
(
planId
,
entity
.
getSendTime
(),
0
);
this
.
putMQForSend
(
planId
);
}
else
{
this
.
addOrDelTimer
(
entity
.
getPlanId
()
,
entity
.
getSendTime
(),
1
);
this
.
addOrDelTimer
(
planId
,
entity
.
getSendTime
(),
1
);
}
}
...
...
@@ -194,13 +193,12 @@ 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
;
int
pageSize
=
1
;
List
<
TabGroupChatPlanOwnerLog
>
ownerList
=
null
;
while
(
true
)
{
ownerList
=
this
.
groupChatPlanOwnerLogMapper
.
listForDoPlan
(
planId
,
pageNum
*
pageSize
,
pageSize
);
...
...
@@ -212,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
);
...
...
@@ -224,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
)
{
...
...
@@ -269,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
);
...
...
@@ -327,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
,
...
...
@@ -337,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/java/com/gic/haoban/manage/service/service/chat/impl/GroupChatServiceImpl.java
View file @
a92f25bc
This diff is collapsed.
Click to expand it.
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/chat/GroupChatApiServiceImpl.java
View file @
a92f25bc
...
...
@@ -165,12 +165,6 @@ public class GroupChatApiServiceImpl implements GroupChatApiService {
}
@Override
public
ServiceResponse
<
Void
>
refreshChatInfo
(
Long
chatHmId
)
{
this
.
groupChatService
.
refreshChatInfo
(
chatHmId
);
return
ServiceResponse
.
success
();
}
@Override
public
ServiceResponse
<
Void
>
updateChatEnterpriseId
(
String
wxEnterpriseId
,
String
enterpriseId
,
List
<
Long
>
groupChatIdList
)
{
this
.
groupChatService
.
updateChatEnterpriseId
(
wxEnterpriseId
,
enterpriseId
,
groupChatIdList
);
...
...
@@ -232,7 +226,17 @@ public class GroupChatApiServiceImpl implements GroupChatApiService {
JSONObject
json
=
JSONObject
.
parseObject
(
params
);
List
<
Long
>
arr
=
JSONObject
.
parseArray
(
json
.
getString
(
"groupChatIdList"
),
Long
.
class
);
for
(
Long
id
:
arr
)
{
this
.
refreshChatInfo
(
id
);
this
.
groupChatService
.
refreshChatInfo
(
id
);
}
return
ServiceResponse
.
success
();
}
@Override
public
ServiceResponse
<
Void
>
refreshChatStatusFromMQ
(
String
params
)
{
JSONObject
json
=
JSONObject
.
parseObject
(
params
);
List
<
Long
>
arr
=
JSONObject
.
parseArray
(
json
.
getString
(
"groupChatIdList"
),
Long
.
class
);
for
(
Long
id
:
arr
)
{
this
.
groupChatService
.
refreshChatStatus
(
id
);
}
return
ServiceResponse
.
success
();
}
...
...
haoban-manage3-service/src/main/resources/mapper/TabHaobanExternalClerkRelatedMapper.xml
View file @
a92f25bc
...
...
@@ -758,10 +758,6 @@
<select
id=
"getMemberForExternalId"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_external_clerk_related where wx_enterprise_id = #{wxEnterpriseId}
and self_external_userid = #{externalUserId} and status_flag in (1,3,4) and member_id
<![CDATA[ <> '']]>
union
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_external_clerk_related where wx_enterprise_id = #{wxEnterpriseId}
and external_user_id = #{externalUserId} and status_flag in (1,3,4) and member_id
<![CDATA[ <> '' ]]>
limit 1
</select>
...
...
haoban-manage3-service/src/main/resources/mapper/chat/GroupChatPlanLogMapper.xml
View file @
a92f25bc
...
...
@@ -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 ,
...
...
haoban-manage3-service/src/main/resources/mapper/chat/GroupChatUserMapper.xml
View file @
a92f25bc
...
...
@@ -104,7 +104,59 @@
]]>
</insert>
<!-- =====================删除==================== -->
<insert
id=
"batchInsert"
>
INSERT INTO tab_haoban_group_chat_user(
chat_user_id,
wx_enterprise_id,
enterprise_id,
user_type,
join_time,
user_name,
nick_name,
user_id,
unionid,
member_id,
invitor_user_id,
create_time,
update_time,
delete_flag,
group_chat_id,
status_flag,
user_quit_time,
quit_scene,
join_scene,
join_remark,
join_state , invitor_user_name , admin_flag
)VALUES
<foreach
collection=
"list"
item=
"item"
separator=
","
>
( #{item.chatUserId},
#{item.wxEnterpriseId},
#{item.enterpriseId},
#{item.userType},
#{item.joinTime},
#{item.userName},
#{item.nickName},
#{item.userId},
#{item.unionid},
#{item.memberId},
#{item.invitorUserId},
#{item.createTime},
#{item.updateTime},
#{item.deleteFlag},
#{item.groupChatId},
#{item.statusFlag},
#{item.userQuitTime},
#{item.quitScene},
#{item.joinScene},
#{item.joinRemark},
#{item.joinState} , #{item.invitorUserName} , #{item.adminFlag}
)
</foreach>
</insert>
<!-- =====================废弃群==================== -->
<update
id=
"dismiss"
>
UPDATE tab_haoban_group_chat_user SET status_flag = 2 , update_time=now() , user_quit_time = now() , quit_scene = 0 , quit_staff_id = #{ownerId} WHERE chat_user_id in
<foreach
collection=
"idList"
close=
")"
open=
"("
index=
"index"
item=
"id"
separator=
","
>
...
...
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