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
554969a2
Commit
554969a2
authored
Dec 16, 2022
by
徐高华
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/社群' into 'developer'
Feature/社群 See merge request
!651
parents
c50fd9d5
b3b2d9a9
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
347 additions
and
160 deletions
+347
-160
GroupChatDTO.java
...java/com/gic/haoban/manage/api/dto/chat/GroupChatDTO.java
+21
-1
GroupChatSearchQDTO.java
.../haoban/manage/api/dto/qdto/chat/GroupChatSearchQDTO.java
+10
-0
GroupChatHmServiceImpl.java
...age/service/service/chat/impl/GroupChatHmServiceImpl.java
+15
-0
GroupChatPlanServiceImpl.java
...e/service/service/chat/impl/GroupChatPlanServiceImpl.java
+56
-35
GroupChatServiceImpl.java
...anage/service/service/chat/impl/GroupChatServiceImpl.java
+26
-22
GroupChatApiServiceImpl.java
...ervice/service/out/impl/chat/GroupChatApiServiceImpl.java
+26
-19
GroupChatMapper.xml
...ervice/src/main/resources/mapper/chat/GroupChatMapper.xml
+5
-1
GroupChatPlanMapper.xml
...ce/src/main/resources/mapper/chat/GroupChatPlanMapper.xml
+1
-1
GroupChatPlanOwnerLogMapper.xml
...ain/resources/mapper/chat/GroupChatPlanOwnerLogMapper.xml
+4
-2
GroupChatController.java
...aoban/manage/web/controller/chat/GroupChatController.java
+18
-0
GroupChatVO.java
...n/java/com/gic/haoban/manage/web/vo/chat/GroupChatVO.java
+165
-79
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/chat/GroupChatDTO.java
View file @
554969a2
...
...
@@ -56,16 +56,36 @@ public class GroupChatDTO implements Serializable {
private
String
staffName
;
private
String
staffImage
;
private
String
originalStaffId
;
private
String
originalStaffName
;
private
String
originalStaffName
;
private
Date
offTime
;
// 1已关联导购 0未关联导购
private
int
clerkRelationFlag
=
0
;
private
int
openConcatFlag
=
0
;
// 群主未激活、开通联系我说明
private
String
ownerRemark
;
// 群主所有群能加到活码标识1可以0不可以
private
int
ownerAddFlag
=
1
;
public
String
getOwnerRemark
()
{
return
ownerRemark
;
}
public
String
getOriginalStaffName
()
{
return
originalStaffName
;
}
public
int
getOwnerAddFlag
()
{
return
ownerAddFlag
;
}
public
void
setOwnerRemark
(
String
ownerRemark
)
{
this
.
ownerRemark
=
ownerRemark
;
}
public
void
setOwnerAddFlag
(
int
ownerAddFlag
)
{
this
.
ownerAddFlag
=
ownerAddFlag
;
}
public
void
setOriginalStaffName
(
String
originalStaffName
)
{
this
.
originalStaffName
=
originalStaffName
;
}
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/qdto/chat/GroupChatSearchQDTO.java
View file @
554969a2
...
...
@@ -27,7 +27,17 @@ public class GroupChatSearchQDTO implements Serializable {
private
String
sortType
=
"desc"
;
// 群列表页需要显示未关联gic商户的
private
boolean
chatPageFlag
=
false
;
// 0全部 1未满200 2已满200
private
Integer
hmAddStatus
;
public
Integer
getHmAddStatus
()
{
return
hmAddStatus
;
}
public
void
setHmAddStatus
(
Integer
hmAddStatus
)
{
this
.
hmAddStatus
=
hmAddStatus
;
}
public
boolean
isChatPageFlag
()
{
return
chatPageFlag
;
}
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/chat/impl/GroupChatHmServiceImpl.java
View file @
554969a2
...
...
@@ -92,7 +92,18 @@ public class GroupChatHmServiceImpl implements GroupChatHmService {
@Override
public
void
discard
(
Long
chatHmId
,
String
wxEnterpriseId
,
String
clerkId
,
String
clerkName
)
{
TabGroupChatHm
hm
=
this
.
groupChatHmMapper
.
selectById
(
chatHmId
);
this
.
groupChatHmMapper
.
discard
(
chatHmId
,
wxEnterpriseId
,
clerkId
,
clerkName
);
if
(
StringUtils
.
isNotBlank
(
hm
.
getWxConfigId
()))
{
SecretSettingDTO
secretSetting
=
secretSettingService
.
getSecretSetting
(
wxEnterpriseId
,
SecretTypeEnum
.
CUSTOMIZED_APP
.
getVal
());
if
(
null
!=
secretSetting
)
{
WxEnterpriseQwDTO
qwDTO
=
this
.
wxEnterpriseService
.
getQwInfo
(
wxEnterpriseId
);
ServiceResponse
<
Void
>
resp
=
this
.
qywxChatApiService
.
delJoinWay
(
qwDTO
.
getDkCorpid
(),
secretSetting
.
getSecretVal
(),
hm
.
getWxConfigId
());
logger
.
info
(
"删除群活码={}"
,
JSON
.
toJSON
(
resp
));
}
}
}
@Override
...
...
@@ -280,7 +291,11 @@ public class GroupChatHmServiceImpl implements GroupChatHmService {
}
if
(
CollectionUtils
.
isNotEmpty
(
relationList
))
{
this
.
groupChatHmRelationMapper
.
insertBatch
(
relationList
);
// 更新群的企业id到活码的企业ID
logger
.
info
(
"自动更新群关联的GIC企业ID,eid={},addIdList={}"
,
hm
.
getEnterpriseId
(),
addIdList
);
this
.
groupChatMapper
.
updateChatEnterpriseId
(
wxEnterpriseId
,
hm
.
getEnterpriseId
(),
addIdList
);
}
}
else
{
ServiceResponse
<
String
>
addResp
=
this
.
qywxChatApiService
.
addJoinWay
(
qwDTO
.
getDkCorpid
(),
secretSetting
.
getSecretVal
(),
joinDTO
);
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/chat/impl/GroupChatPlanServiceImpl.java
View file @
554969a2
...
...
@@ -27,8 +27,10 @@ import com.gic.commons.util.EntityUtil;
import
com.gic.commons.util.GICMQClientUtil
;
import
com.gic.commons.util.PageHelperUtils
;
import
com.gic.commons.util.UniqueIdUtils
;
import
com.gic.dubbo.entity.ProviderLocalTag
;
import
com.gic.enterprise.api.dto.StoreDTO
;
import
com.gic.enterprise.api.service.StoreService
;
import
com.gic.haoban.common.utils.DingUtils
;
import
com.gic.haoban.manage.api.dto.WxEnterpriseQwDTO
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatPlanDTO
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatPlanLogDTO
;
...
...
@@ -175,6 +177,7 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
@Override
public
void
doPlan
(
Long
planId
)
{
logger
.
info
(
"开始群群发发送{}"
,
planId
);
DingUtils
.
send
(
"开始群群发发送,planId="
+
planId
+
",tranceid="
+
ProviderLocalTag
.
tag
.
get
().
traceId
,
false
);
TabGroupChatPlan
plan
=
this
.
groupChatPlanMapper
.
selectById
(
planId
);
if
(
null
==
plan
)
{
logger
.
info
(
"计划不存在,planid={}"
,
planId
);
...
...
@@ -190,36 +193,44 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
String
chatContent
=
plan
.
getChatContent
();
JSONArray
jsonArr
=
JSONArray
.
parseArray
(
chatContent
);
List
<
String
>
madidList
=
new
ArrayList
<>();
GroupChatPlanSearchQDTO
qdto
=
new
GroupChatPlanSearchQDTO
();
qdto
.
setWxEnterpriseId
(
wxEnterpriseId
);
BasePageInfo
basePageInfo
=
new
BasePageInfo
();
basePageInfo
.
setPageNum
(
1
);
// todo
basePageInfo
.
setPageSize
(
1000
);
Page
<
GroupChatPlanOwnerLogDTO
>
page
=
this
.
groupChatPlanOwnerLogService
.
listPage
(
planId
,
qdto
,
basePageInfo
);
for
(
int
i
=
0
;
i
<
jsonArr
.
size
();
i
++)
{
JSONObject
json
=
jsonArr
.
getJSONObject
(
i
);
madidList
.
add
(
json
.
getString
(
"relation_id"
));
}
List
<
GroupChatPlanOwnerLogDTO
>
ownerList
=
page
.
getResult
();
for
(
GroupChatPlanOwnerLogDTO
dto
:
ownerList
)
{
String
staffId
=
dto
.
getStaffId
();
ServiceResponse
<
String
>
sendResp
=
qywxSendService
.
sendChatMessage
(
wxEnterpriseId
,
staffId
,
madidList
);
TabGroupChatPlanOwnerLog
ownerLog
=
EntityUtil
.
changeEntityByJSON
(
TabGroupChatPlanOwnerLog
.
class
,
dto
);
if
(
sendResp
.
isSuccess
())
{
String
msgid
=
sendResp
.
getResult
();
ownerLog
.
setMsgid
(
msgid
);
ownerLog
.
setSendStatus
(
2
);
}
else
{
ownerLog
.
setRemark
(
sendResp
.
getMessage
());
ownerLog
.
setSendStatus
(
0
);
int
currentPage
=
1
;
GroupChatPlanSearchQDTO
qdto
=
new
GroupChatPlanSearchQDTO
();
qdto
.
setWxEnterpriseId
(
wxEnterpriseId
);
BasePageInfo
basePageInfo
=
new
BasePageInfo
();
basePageInfo
.
setPageNum
(
currentPage
);
basePageInfo
.
setPageSize
(
1
);
Page
<
GroupChatPlanOwnerLogDTO
>
page
=
this
.
groupChatPlanOwnerLogService
.
listPage
(
planId
,
qdto
,
basePageInfo
);
while
(
page
.
getTotalPage
()
>=
currentPage
)
{
if
(
currentPage
>
1
)
{
basePageInfo
.
setPageNum
(
currentPage
);
page
=
this
.
groupChatPlanOwnerLogService
.
listPage
(
planId
,
qdto
,
basePageInfo
);
}
ownerLog
.
setWxEnterpriseId
(
wxEnterpriseId
);
this
.
groupChatPlanOwnerLogService
.
update
(
ownerLog
);
// 代办
if
(
StringUtils
.
isNotBlank
(
ownerLog
.
getClerkId
()))
{
this
.
savePendTask
(
dto
,
plan
);
currentPage
++;
List
<
GroupChatPlanOwnerLogDTO
>
ownerList
=
page
.
getResult
();
for
(
GroupChatPlanOwnerLogDTO
dto
:
ownerList
)
{
String
staffId
=
dto
.
getStaffId
();
ServiceResponse
<
String
>
sendResp
=
qywxSendService
.
sendChatMessage
(
wxEnterpriseId
,
staffId
,
madidList
);
TabGroupChatPlanOwnerLog
ownerLog
=
EntityUtil
.
changeEntityByJSON
(
TabGroupChatPlanOwnerLog
.
class
,
dto
);
if
(
sendResp
.
isSuccess
())
{
String
msgid
=
sendResp
.
getResult
();
ownerLog
.
setMsgid
(
msgid
);
ownerLog
.
setSendStatus
(
2
);
}
else
{
ownerLog
.
setRemark
(
sendResp
.
getMessage
());
ownerLog
.
setSendStatus
(
0
);
}
ownerLog
.
setWxEnterpriseId
(
wxEnterpriseId
);
this
.
groupChatPlanOwnerLogService
.
update
(
ownerLog
);
// 代办
if
(
StringUtils
.
isNotBlank
(
ownerLog
.
getClerkId
()))
{
this
.
savePendTask
(
dto
,
plan
);
}
}
}
}
...
...
@@ -241,6 +252,7 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
@Override
public
void
doPlanSendInfoTimer
(
String
params
)
{
DingUtils
.
send
(
"开始群群发统计(定时),params="
+
params
+
",tranceid="
+
ProviderLocalTag
.
tag
.
get
().
traceId
,
false
);
Long
planId
=
Long
.
parseLong
(
params
);
List
<
Long
>
idList
=
this
.
groupChatPlanOwnerLogService
.
listForTimer
(
planId
);
logger
.
info
(
"定时处理群发结果,条数={}"
,
idList
.
size
());
...
...
@@ -276,8 +288,27 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
int
sendCount
=
0
;
int
failCount
=
0
;
Long
planId
=
ownerLog
.
getPlanId
();
TabGroupChatPlan
plan
=
this
.
groupChatPlanMapper
.
selectById
(
planId
);
for
(
QywxSendMessageResultDTO
item
:
list
)
{
TabGroupChatPlanLog
entity
=
new
TabGroupChatPlanLog
();
Date
sendTime
=
item
.
getSendTime
();
String
wxChatId
=
item
.
getChatId
();
// 如果企微的发送时间晚于计划的结束时间,不记录此类数据
if
(
sendTime
.
after
(
plan
.
getEndTime
()))
{
logger
.
info
(
"发送时间晚计划结束时间"
);
continue
;
}
GroupChatBO
chat
=
this
.
groupChatService
.
getByWxChatId
(
wxEnterpriseId
,
wxChatId
);
if
(
null
==
chat
||
StringUtils
.
isBlank
(
chat
.
getEnterpriseId
()))
{
logger
.
info
(
"群不存在,或未认领,wxChatId={}"
,
wxChatId
);
continue
;
}
if
(!
chat
.
getEnterpriseId
().
equals
(
plan
.
getEnterpriseId
()))
{
logger
.
info
(
"群的商户id和计划的商户id不一致{},{}"
,
chat
.
getEnterpriseId
(),
plan
.
getEnterpriseId
());
continue
;
}
entity
.
setGroupChatId
(
chat
.
getGroupChatId
());
// 企微返回成功
// 0-未发送 1-已发送 2-因客户不是好友导致发送失败 3-因客户已经收到其他群发消息导致发送失败
if
(
item
.
getStatus
()
==
1
)
{
...
...
@@ -289,22 +320,12 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
// 发送失败
entity
.
setSendStatus
(
0
);
}
String
wxChatId
=
item
.
getChatId
();
Date
sendTime
=
item
.
getSendTime
();
entity
.
setLogId
(
UniqueIdUtils
.
uniqueLong
());
entity
.
setPlanId
(
ownerLog
.
getPlanId
());
entity
.
setOwnLogId
(
ownerLog
.
getOwnerLogId
());
entity
.
setWxEnterpriseId
(
wxEnterpriseId
);
entity
.
setEnterpriseId
(
enterpriseId
);
entity
.
setStaffId
(
staffId
);
GroupChatBO
chat
=
this
.
groupChatService
.
getByWxChatId
(
wxEnterpriseId
,
wxChatId
);
if
(
null
==
chat
||
StringUtils
.
isBlank
(
chat
.
getEnterpriseId
()))
{
logger
.
info
(
"群不存在,或未认领,wxChatId={}"
,
wxChatId
);
continue
;
}
if
(
null
!=
chat
)
{
entity
.
setGroupChatId
(
chat
.
getGroupChatId
());
}
entity
.
setSendTime
(
sendTime
);
this
.
groupChatPlanLogMapper
.
insert
(
entity
);
}
...
...
@@ -327,8 +348,8 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
@Override
public
void
stop
(
String
clerkId
,
String
clerkName
,
Long
planId
)
{
logger
.
info
(
"终止计划,并触发统计planId={}"
,
planId
);
this
.
groupChatPlanMapper
.
stopById
(
planId
,
clerkId
,
clerkName
);
logger
.
info
(
"触发统计"
);
this
.
putMQForData
(
planId
);
}
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/chat/impl/GroupChatServiceImpl.java
View file @
554969a2
...
...
@@ -441,32 +441,36 @@ public class GroupChatServiceImpl implements GroupChatService {
chat
.
setStaffId
(
null
);
logger
.
info
(
"群主未关联好办,不同步群成员,userid={}"
,
owner
);
}
// 匹配GIC企业ID
if
(
StringUtils
.
isBlank
(
enterpriseId
))
{
List
<
TabHaobanWxEnterpriseRelated
>
list
=
this
.
wxEnterpriseRelatedService
.
getByWxEnterpriseId
(
enterpriseId
);
if
(
CollectionUtils
.
isNotEmpty
(
list
)
&&
list
.
size
()
==
1
)
{
logger
.
info
(
"匹配群的gic商户id,gic={}"
,
list
.
get
(
0
).
getEnterpriseId
());
enterpriseId
=
list
.
get
(
0
).
getEnterpriseId
();
// 匹配GIC商户ID ,如果已经初始化过,不再自动匹配GIC商户
if
(
chat
.
getInitFlag
()
==
0
)
{
if
(
StringUtils
.
isBlank
(
enterpriseId
))
{
List
<
TabHaobanWxEnterpriseRelated
>
list
=
this
.
wxEnterpriseRelatedService
.
getByWxEnterpriseId
(
wxEnterpriseId
);
if
(
CollectionUtils
.
isNotEmpty
(
list
)
&&
list
.
size
()
==
1
)
{
logger
.
info
(
"匹配群的gic商户id,gic={}"
,
list
.
get
(
0
).
getEnterpriseId
());
enterpriseId
=
list
.
get
(
0
).
getEnterpriseId
();
chat
.
setEnterpriseId
(
enterpriseId
);
}
}
}
if
(
StringUtils
.
isBlank
(
enterpriseId
)
&&
null
!=
staff
)
{
logger
.
info
(
"匹配群的gic商户id,staffid={}"
,
staff
.
getStaffId
());
List
<
StaffClerkRelationDTO
>
clerkList
=
this
.
staffClerkRelationService
.
listByStaffId
(
wxEnterpriseId
,
staff
.
getStaffId
());
if
(
CollectionUtils
.
isNotEmpty
(
clerkList
))
{
Set
<
String
>
enterpriseIdSet
=
clerkList
.
stream
().
map
(
dto
->
dto
.
getEnterpriseId
())
.
collect
(
Collectors
.
toSet
());
logger
.
info
(
"成员关联导购数={},商户={}"
,
clerkList
.
size
(),
enterpriseIdSet
);
if
(
enterpriseIdSet
.
size
()
==
1
)
{
enterpriseId
=
clerkList
.
get
(
0
).
getEnterpriseId
();
chat
.
setEnterpriseId
(
enterpriseId
);
if
(
StringUtils
.
isBlank
(
enterpriseId
)
&&
null
!=
staff
)
{
logger
.
info
(
"匹配群的gic商户id,staffid={}"
,
staff
.
getStaffId
());
List
<
StaffClerkRelationDTO
>
clerkList
=
this
.
staffClerkRelationService
.
listByStaffId
(
wxEnterpriseId
,
staff
.
getStaffId
());
if
(
CollectionUtils
.
isNotEmpty
(
clerkList
))
{
Set
<
String
>
enterpriseIdSet
=
clerkList
.
stream
().
map
(
dto
->
dto
.
getEnterpriseId
())
.
collect
(
Collectors
.
toSet
());
logger
.
info
(
"成员关联导购数={},商户={}"
,
clerkList
.
size
(),
enterpriseIdSet
);
if
(
enterpriseIdSet
.
size
()
==
1
)
{
enterpriseId
=
clerkList
.
get
(
0
).
getEnterpriseId
();
chat
.
setEnterpriseId
(
enterpriseId
);
}
}
}
}
logger
.
info
(
"更新群信息={}"
,
JSON
.
toJSONString
(
chat
));
if
(
StringUtils
.
isNotEmpty
(
chat
.
getEnterpriseId
()))
{
chat
.
setGicFlag
(
1
);
logger
.
info
(
"更新群信息={}"
,
JSON
.
toJSONString
(
chat
));
if
(
StringUtils
.
isNotEmpty
(
chat
.
getEnterpriseId
()))
{
chat
.
setGicFlag
(
1
);
}
}
// 判断是否更新群主
this
.
saveOwnerHistory
(
wxEnterpriseId
,
groupChatId
,
newStaffId
,
oldStaffId
);
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/chat/GroupChatApiServiceImpl.java
View file @
554969a2
...
...
@@ -2,6 +2,7 @@ package com.gic.haoban.manage.service.service.out.impl.chat;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
org.apache.commons.collections.CollectionUtils
;
...
...
@@ -58,32 +59,38 @@ public class GroupChatApiServiceImpl implements GroupChatApiService {
if
(
null
!=
qdto
.
getEndDate
())
{
qdto
.
setEndDate
(
DateUtil
.
getEndTimeOfDay
(
qdto
.
getEndDate
()));
}
String
sortColumn
=
qdto
.
getSortColumn
();
if
(
StringUtils
.
isBlank
(
sortColumn
))
{
sortColumn
=
null
;
}
else
if
(
"totalCount"
.
equals
(
sortColumn
))
{
sortColumn
=
"total_count"
;
}
else
if
(
"totalMemberCount"
.
equals
(
sortColumn
))
{
sortColumn
=
"total_member_count"
;
}
else
if
(
"addMemberCount"
.
equals
(
sortColumn
))
{
sortColumn
=
"add_member_count"
;
}
else
if
(
"addCount"
.
equals
(
sortColumn
))
{
sortColumn
=
"add_count"
;
}
else
if
(
"quitCount"
.
equals
(
sortColumn
))
{
sortColumn
=
"quit_count"
;
}
else
if
(
"quitMemberCount"
.
equals
(
sortColumn
))
{
sortColumn
=
"quit_member_count"
;
}
qdto
.
setSortColumn
(
sortColumn
);
Page
<
GroupChatDTO
>
page
=
this
.
groupChatService
.
listPage
(
qdto
,
basePageInfo
);
Page
<
GroupChatDTO
>
resultPage
=
PageHelperUtils
.
changePageToCurrentPage
(
page
,
GroupChatDTO
.
class
);
List
<
GroupChatDTO
>
dtoList
=
resultPage
.
getResult
();
// 处理关联状态
if
(
CollectionUtils
.
isNotEmpty
(
dtoList
))
{
// 处理群主状态
List
<
String
>
staffIdList
=
dtoList
.
stream
().
filter
(
dto
->
StringUtils
.
isNotBlank
(
dto
.
getStaffId
()))
.
map
(
dto
->
dto
.
getStaffId
()).
collect
(
Collectors
.
toList
());
List
<
TabHaobanStaff
>
staffList
=
this
.
staffService
.
listNoStatusByStaffIds
(
qdto
.
getWxEnterpriseId
(),
staffIdList
);
Map
<
String
,
TabHaobanStaff
>
map
=
staffList
.
stream
()
.
collect
(
Collectors
.
toMap
(
TabHaobanStaff:
:
getStaffId
,
o
->
o
,
(
k1
,
k2
)
->
k2
));
dtoList
.
forEach
(
one
->
{
TabHaobanStaff
staff
=
map
.
get
(
one
.
getStaffId
());
Integer
activiveFlag
=
staff
.
getActiveFlag
();
Integer
openConcatFlag
=
staff
.
getOpenConcatFlag
();
String
reamrk
=
null
;
Integer
ownerAddFlag
=
1
;
if
(
activiveFlag
==
0
)
{
ownerAddFlag
=
0
;
reamrk
=
"群主未激活"
;
}
if
(
openConcatFlag
==
0
)
{
ownerAddFlag
=
0
;
reamrk
=
"群主未配置客户联系功能"
;
}
one
.
setOwnerRemark
(
reamrk
);
one
.
setOwnerAddFlag
(
ownerAddFlag
);
});
// 处理关联关系
boolean
needClerkReltaion
=
(
qdto
.
getStatus
()
==
0
);
if
(
needClerkReltaion
)
{
List
<
String
>
staffIdList
=
dtoList
.
stream
().
filter
(
dto
->
StringUtils
.
isNotBlank
(
dto
.
getStaffId
()))
.
map
(
dto
->
dto
.
getStaffId
()).
collect
(
Collectors
.
toList
());
List
<
String
>
relationIdList
=
this
.
staffClerkRelationService
.
listRelationsStaffId
(
new
HashSet
<>(
staffIdList
));
dtoList
.
forEach
(
one
->
{
...
...
haoban-manage3-service/src/main/resources/mapper/chat/GroupChatMapper.xml
View file @
554969a2
...
...
@@ -273,6 +273,9 @@
<if
test=
"null != status and 4==status"
>
and a.chat_status = 4
</if>
<if
test=
"null != hmAddStatus and 0!=hmAddStatus"
>
and a.hm_add_status = #{hmAddStatus}
</if>
<if
test=
"null != searchParams and ''!=searchParams "
>
and (a.name like '%${searchParams}%' or a.wx_chat_id like '${searchParams}%')
</if>
...
...
@@ -317,7 +320,7 @@
#{id}
</foreach>
</if>
and delete_flag = 0
and enterprise_id is null
and delete_flag = 0
</update>
</mapper>
\ No newline at end of file
haoban-manage3-service/src/main/resources/mapper/chat/GroupChatPlanMapper.xml
View file @
554969a2
...
...
@@ -111,7 +111,7 @@
<update
id=
"stopById"
>
UPDATE
tab_haoban_group_chat_plan SET status_flag = 0 , modifier_id =
#{clerkId} , modifier_name = #{clerkName} ,
s
end_time = now() , update_time=now() WHERE plan_id = #{planId}
#{clerkId} , modifier_name = #{clerkName} , end_time = now() , update_time=now() WHERE plan_id = #{planId}
</update>
<update
id=
"updateSendFlag"
>
...
...
haoban-manage3-service/src/main/resources/mapper/chat/GroupChatPlanOwnerLogMapper.xml
View file @
554969a2
...
...
@@ -104,7 +104,8 @@
<select
id=
"listForTimer"
resultType=
"long"
>
SELECT a.owner_log_id FROM tab_haoban_group_chat_plan_owner_log a left join tab_haoban_group_chat_plan b on a.plan_id = b.plan_id
WHERE b.end_time >= DATE_ADD(NOW(),INTERVAL -12 hour) and a.done_flag = 0 and a.delete_flag = 0 and b.delete_flag = 0 and a.msgid is not null
WHERE b.end_time >= DATE_ADD(NOW(),INTERVAL -6 hour) and a.done_flag = 0 and a.delete_flag = 0 and b.delete_flag = 0 and a.msgid is not null
and b.status_flag = 0
<if
test=
"null != planId and -1 != planId"
>
and a.plan_id = #{planId}
</if>
...
...
@@ -127,7 +128,8 @@
a.msgid msgid
from tab_haoban_group_chat_plan_owner_log a left join tab_haoban_staff b on a.staff_id = b.staff_id
where
a.wx_enterprise_id = #{wxEnterpriseId} and a.plan_id = #{planId}
a.wx_enterprise_id = #{wxEnterpriseId} and a.plan_id = #{planId} and a.delete_flag = 0
order by a.create_time , a.owner_log_id
</select>
<select
id=
"listOwnerLogPageForWxaTotal"
parameterType=
"com.gic.haoban.manage.api.dto.qdto.chat.GroupChatPlanSearchQDTO"
resultType=
"com.gic.haoban.manage.api.dto.chat.ChatOwnerTotalDTO"
>
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/chat/GroupChatController.java
View file @
554969a2
...
...
@@ -77,10 +77,28 @@ public class GroupChatController {
@RequestMapping
(
"page"
)
public
RestResponse
<
Object
>
page
(
GroupChatSearchQDTO
qdto
,
BasePageInfo
basePageInfo
)
{
WebLoginDTO
loginUser
=
AuthWebRequestUtil
.
getLoginUser
();
String
sortColumn
=
qdto
.
getSortColumn
();
if
(
StringUtils
.
isBlank
(
sortColumn
))
{
sortColumn
=
null
;
}
else
if
(
"totalCount"
.
equals
(
sortColumn
))
{
sortColumn
=
"total_count"
;
}
else
if
(
"totalMemberCount"
.
equals
(
sortColumn
))
{
sortColumn
=
"total_member_count"
;
}
else
if
(
"addMemberCount"
.
equals
(
sortColumn
))
{
sortColumn
=
"add_member_count"
;
}
else
if
(
"addCount"
.
equals
(
sortColumn
))
{
sortColumn
=
"add_count"
;
}
else
if
(
"quitCount"
.
equals
(
sortColumn
))
{
sortColumn
=
"quit_count"
;
}
else
if
(
"quitMemberCount"
.
equals
(
sortColumn
))
{
sortColumn
=
"quit_member_count"
;
}
qdto
.
setSortColumn
(
sortColumn
);
qdto
.
setWxEnterpriseId
(
loginUser
.
getWxEnterpriseId
());
qdto
.
setEnterpriseId
(
loginUser
.
getEnterpriseId
());
qdto
.
setChatPageFlag
(
true
);
ServiceResponse
<
Page
<
GroupChatDTO
>>
page
=
this
.
groupChatApiService
.
listPage
(
qdto
,
basePageInfo
);
return
RestResponse
.
successResult
(
page
.
getResult
());
}
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/vo/chat/GroupChatVO.java
View file @
554969a2
package
com
.
gic
.
haoban
.
manage
.
web
.
vo
.
chat
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
*
...
...
@@ -51,165 +52,249 @@ public class GroupChatVO implements Serializable {
/**gic企业ID*/
private
String
enterpriseId
;
/**gic侧状态1可用,2不可用*/
private
Integer
statusFlag
;
public
void
setGroupChatId
(
Long
groupChatId
)
{
this
.
groupChatId
=
groupChatId
;
}
private
Integer
gicFlag
;
private
String
staffName
;
private
String
staffImage
;
private
String
originalStaffId
;
private
String
originalStaffName
;
private
Date
offTime
;
// 1已关联导购 0未关联导购
private
int
clerkRelationFlag
=
0
;
private
int
openConcatFlag
=
0
;
// 群主未激活、开通联系我说明
private
String
ownerRemark
;
// 群主所有群能加到活码标识1可以0不可以
private
String
ownerAddFlag
;
public
Long
getGroupChatId
()
{
return
groupChatId
;
}
public
void
setWxEnterpriseId
(
String
wxEnterpriseId
)
{
this
.
wxEnterpriseId
=
wxEnterpriseId
;
}
public
String
getWxEnterpriseId
()
{
return
wxEnterpriseId
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getName
()
{
return
name
;
}
public
void
setStaffId
(
String
staffId
)
{
this
.
staffId
=
staffId
;
}
public
String
getStaffId
()
{
return
staffId
;
}
public
void
setWxChatId
(
String
wxChatId
)
{
this
.
wxChatId
=
wxChatId
;
}
public
String
getWxChatId
()
{
return
wxChatId
;
}
public
void
setChatAddTime
(
java
.
util
.
Date
chatAddTime
)
{
this
.
chatAddTime
=
chatAddTime
;
}
public
java
.
util
.
Date
getChatAddTime
()
{
return
chatAddTime
;
}
public
void
setChatDissolveTime
(
java
.
util
.
Date
chatDissolveTime
)
{
this
.
chatDissolveTime
=
chatDissolveTime
;
}
public
java
.
util
.
Date
getChatDissolveTime
()
{
return
chatDissolveTime
;
}
public
void
setChatNotice
(
String
chatNotice
)
{
this
.
chatNotice
=
chatNotice
;
}
public
String
getChatNotice
()
{
return
chatNotice
;
}
public
void
setChatStatus
(
Integer
chatStatus
)
{
this
.
chatStatus
=
chatStatus
;
}
public
Integer
getChatStatus
()
{
return
chatStatus
;
}
public
void
setCreateTime
(
java
.
util
.
Date
createTime
)
{
this
.
createTime
=
createTime
;
}
public
java
.
util
.
Date
getCreateTime
()
{
return
createTime
;
}
public
void
setUpdateTime
(
java
.
util
.
Date
updateTime
)
{
this
.
updateTime
=
updateTime
;
}
public
java
.
util
.
Date
getUpdateTime
()
{
return
updateTime
;
}
public
void
setDeleteFlag
(
Integer
deleteFlag
)
{
this
.
deleteFlag
=
deleteFlag
;
}
public
Integer
getDeleteFlag
()
{
return
deleteFlag
;
}
public
void
setTotalCount
(
Integer
totalCount
)
{
this
.
totalCount
=
totalCount
;
}
public
Integer
getTotalCount
()
{
return
totalCount
;
}
public
void
setTotalMemberCount
(
Integer
totalMemberCount
)
{
this
.
totalMemberCount
=
totalMemberCount
;
}
public
Integer
getTotalMemberCount
()
{
return
totalMemberCount
;
}
public
void
setAddMemberCount
(
Integer
addMemberCount
)
{
this
.
addMemberCount
=
addMemberCount
;
}
public
Integer
getAddMemberCount
()
{
return
addMemberCount
;
}
public
void
setAddCount
(
Integer
addCount
)
{
this
.
addCount
=
addCount
;
}
public
Integer
getAddCount
()
{
return
addCount
;
}
public
void
setQuitCount
(
Integer
quitCount
)
{
this
.
quitCount
=
quitCount
;
}
public
Integer
getQuitCount
()
{
return
quitCount
;
}
public
void
setQuitMemberCount
(
Integer
quitMemberCount
)
{
this
.
quitMemberCount
=
quitMemberCount
;
}
public
Integer
getQuitMemberCount
()
{
return
quitMemberCount
;
}
public
String
getEnterpriseId
()
{
return
enterpriseId
;
}
public
Integer
getGicFlag
()
{
return
gicFlag
;
}
public
String
getStaffName
()
{
return
staffName
;
}
public
String
getStaffImage
()
{
return
staffImage
;
}
public
String
getOriginalStaffId
()
{
return
originalStaffId
;
}
public
String
getOriginalStaffName
()
{
return
originalStaffName
;
}
public
Date
getOffTime
()
{
return
offTime
;
}
public
int
getClerkRelationFlag
()
{
return
clerkRelationFlag
;
}
public
int
getOpenConcatFlag
()
{
return
openConcatFlag
;
}
public
String
getOwnerRemark
()
{
return
ownerRemark
;
}
public
String
getOwnerAddFlag
()
{
return
ownerAddFlag
;
}
public
void
setGroupChatId
(
Long
groupChatId
)
{
this
.
groupChatId
=
groupChatId
;
}
public
void
setWxEnterpriseId
(
String
wxEnterpriseId
)
{
this
.
wxEnterpriseId
=
wxEnterpriseId
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
void
setStaffId
(
String
staffId
)
{
this
.
staffId
=
staffId
;
}
public
void
setWxChatId
(
String
wxChatId
)
{
this
.
wxChatId
=
wxChatId
;
}
public
void
setChatAddTime
(
java
.
util
.
Date
chatAddTime
)
{
this
.
chatAddTime
=
chatAddTime
;
}
public
void
setChatDissolveTime
(
java
.
util
.
Date
chatDissolveTime
)
{
this
.
chatDissolveTime
=
chatDissolveTime
;
}
public
void
setChatNotice
(
String
chatNotice
)
{
this
.
chatNotice
=
chatNotice
;
}
public
void
setChatStatus
(
Integer
chatStatus
)
{
this
.
chatStatus
=
chatStatus
;
}
public
void
setCreateTime
(
java
.
util
.
Date
createTime
)
{
this
.
createTime
=
createTime
;
}
public
void
setUpdateTime
(
java
.
util
.
Date
updateTime
)
{
this
.
updateTime
=
updateTime
;
}
public
void
setDeleteFlag
(
Integer
deleteFlag
)
{
this
.
deleteFlag
=
deleteFlag
;
}
public
void
setTotalCount
(
Integer
totalCount
)
{
this
.
totalCount
=
totalCount
;
}
public
void
setTotalMemberCount
(
Integer
totalMemberCount
)
{
this
.
totalMemberCount
=
totalMemberCount
;
}
public
void
setAddMemberCount
(
Integer
addMemberCount
)
{
this
.
addMemberCount
=
addMemberCount
;
}
public
void
setAddCount
(
Integer
addCount
)
{
this
.
addCount
=
addCount
;
}
public
void
setQuitCount
(
Integer
quitCount
)
{
this
.
quitCount
=
quitCount
;
}
public
void
setQuitMemberCount
(
Integer
quitMemberCount
)
{
this
.
quitMemberCount
=
quitMemberCount
;
}
public
void
setEnterpriseId
(
String
enterpriseId
)
{
this
.
enterpriseId
=
enterpriseId
;
}
public
String
getEnterpriseId
()
{
return
enterpriseId
;
public
void
setGicFlag
(
Integer
gicFlag
)
{
this
.
gicFlag
=
gicFlag
;
}
public
void
setStaffName
(
String
staffName
)
{
this
.
staffName
=
staffName
;
}
public
void
setStaffImage
(
String
staffImage
)
{
this
.
staffImage
=
staffImage
;
}
public
void
setOriginalStaffId
(
String
originalStaffId
)
{
this
.
originalStaffId
=
originalStaffId
;
}
public
void
setOriginalStaffName
(
String
originalStaffName
)
{
this
.
originalStaffName
=
originalStaffName
;
}
public
void
setOffTime
(
Date
offTime
)
{
this
.
offTime
=
offTime
;
}
public
void
setClerkRelationFlag
(
int
clerkRelationFlag
)
{
this
.
clerkRelationFlag
=
clerkRelationFlag
;
}
public
void
setOpenConcatFlag
(
int
openConcatFlag
)
{
this
.
openConcatFlag
=
openConcatFlag
;
}
public
void
set
StatusFlag
(
Integer
statusFlag
)
{
this
.
statusFlag
=
statusFlag
;
public
void
set
OwnerRemark
(
String
ownerRemark
)
{
this
.
ownerRemark
=
ownerRemark
;
}
public
Integer
getStatusFlag
(
)
{
return
status
Flag
;
public
void
setOwnerAddFlag
(
String
ownerAddFlag
)
{
this
.
ownerAddFlag
=
ownerAdd
Flag
;
}
}
\ No newline at end of file
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