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
e3f4a3c3
Commit
e3f4a3c3
authored
Nov 21, 2023
by
徐高华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
群群发
parent
29684b70
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
103 additions
and
14 deletions
+103
-14
GroupChatPlanDTO.java
.../com/gic/haoban/manage/api/dto/chat/GroupChatPlanDTO.java
+10
-0
GroupChatOwnerMapper.java
.../manage/service/dao/mapper/chat/GroupChatOwnerMapper.java
+5
-0
TabGroupChatPlan.java
...c/haoban/manage/service/entity/chat/TabGroupChatPlan.java
+10
-0
GroupChatPlanBO.java
...c/haoban/manage/service/pojo/bo/chat/GroupChatPlanBO.java
+10
-0
GroupChatService.java
.../haoban/manage/service/service/chat/GroupChatService.java
+3
-0
GroupChatPlanServiceImpl.java
...e/service/service/chat/impl/GroupChatPlanServiceImpl.java
+20
-8
GroupChatServiceImpl.java
...anage/service/service/chat/impl/GroupChatServiceImpl.java
+2
-1
GroupChatOwnerMapper.xml
...e/src/main/resources/mapper/chat/GroupChatOwnerMapper.xml
+27
-1
GroupChatPlanMapper.xml
...ce/src/main/resources/mapper/chat/GroupChatPlanMapper.xml
+6
-4
GroupChatPlanVO.java
...va/com/gic/haoban/manage/web/vo/chat/GroupChatPlanVO.java
+10
-0
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/chat/GroupChatPlanDTO.java
View file @
e3f4a3c3
...
...
@@ -60,6 +60,16 @@ public class GroupChatPlanDTO implements Serializable {
// 是否发送全部
private
int
sendAllFlag
;
// 所有的群发条件
private
String
allSearchParams
;
public
String
getAllSearchParams
()
{
return
allSearchParams
;
}
public
void
setAllSearchParams
(
String
allSearchParams
)
{
this
.
allSearchParams
=
allSearchParams
;
}
public
int
getSendAllFlag
()
{
return
sendAllFlag
;
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/chat/GroupChatOwnerMapper.java
View file @
e3f4a3c3
...
...
@@ -26,6 +26,11 @@ public interface GroupChatOwnerMapper {
public
int
updateChatCount
(
@Param
(
"staffId"
)
String
staffId
,
@Param
(
"chatCount"
)
int
chatCount
);
public
List
<
GroupChatOwnerDTO
>
listOwner
(
OwnerSearchQDTO
qdto
);
public
List
<
GroupChatOwnerDTO
>
listOwnerPage
(
@Param
(
"wxEnterpriseId"
)
String
wxEnterpriseId
,
@Param
(
"departmentIdList"
)
List
<
String
>
departmentIdList
,
@Param
(
"searchParams"
)
String
searchParams
,
@Param
(
"startItem"
)
int
startItem
,
@Param
(
"pageSize"
)
int
pageSize
);
public
List
<
GroupChatOwnerDTO
>
listOwnerForStatistic
(
@Param
(
"wxEnterpriseId"
)
String
wxEnterpriseId
,
@Param
(
"startItem"
)
int
startItem
,
@Param
(
"pageSize"
)
int
pageSize
);
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/entity/chat/TabGroupChatPlan.java
View file @
e3f4a3c3
...
...
@@ -55,6 +55,16 @@ public class TabGroupChatPlan implements Serializable {
// 是否发送全部
private
int
sendAllFlag
;
// 所有的群发条件
private
String
allSearchParams
;
public
String
getAllSearchParams
()
{
return
allSearchParams
;
}
public
void
setAllSearchParams
(
String
allSearchParams
)
{
this
.
allSearchParams
=
allSearchParams
;
}
public
int
getSendAllFlag
()
{
return
sendAllFlag
;
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/pojo/bo/chat/GroupChatPlanBO.java
View file @
e3f4a3c3
...
...
@@ -55,6 +55,16 @@ public class GroupChatPlanBO implements Serializable{
private
Integer
materialFrom
;
// 是否发送全部
private
int
sendAllFlag
;
// 所有的群发条件
private
String
allSearchParams
;
public
String
getAllSearchParams
()
{
return
allSearchParams
;
}
public
void
setAllSearchParams
(
String
allSearchParams
)
{
this
.
allSearchParams
=
allSearchParams
;
}
public
int
getSendAllFlag
()
{
return
sendAllFlag
;
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/chat/GroupChatService.java
View file @
e3f4a3c3
...
...
@@ -93,6 +93,9 @@ public interface GroupChatService {
*/
public
Page
<
GroupChatOwnerDTO
>
listOwnerPage
(
OwnerSearchQDTO
qdto
,
BasePageInfo
basePageInfo
);
public
List
<
String
>
setDepartIdList
(
String
wxEnterpriseId
,
String
departmentId
)
;
/**
*
* @Title: listOwnerHistory
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/chat/impl/GroupChatPlanServiceImpl.java
View file @
e3f4a3c3
...
...
@@ -350,25 +350,37 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
int
pageNum
=
0
;
List
<
TabGroupChatPlanOwnerLog
>
ownerList
=
null
;
int
sendAlFlag
=
plan
.
getSendAllFlag
()
;
String
allSearchParams
=
plan
.
getAllSearchParams
()
;
// 发送全部群主
if
(
sendAlFlag
==
1
)
{
int
ownerPageNo
=
0
;
int
ownerPageSize
=
500
;
int
totalCount
=
0
;
List
<
GroupChatOwnerDTO
>
list
=
null
;
String
searchParams
=
null
;
List
<
String
>
departmentIdList
=
null
;
if
(
StringUtils
.
isNotEmpty
(
allSearchParams
))
{
JSONObject
json
=
JSONObject
.
parseObject
(
allSearchParams
)
;
searchParams
=
json
.
getString
(
"searchParams"
)
;
String
dpid
=
json
.
getString
(
"departmentId"
)
;
if
(
StringUtils
.
isNotBlank
(
dpid
))
{
departmentIdList
=
this
.
groupChatService
.
setDepartIdList
(
wxEnterpriseId
,
dpid
)
;
}
}
while
(
true
)
{
list
=
this
.
groupChatOwnerMapper
.
listOwnerForStatistic
(
wxEnterpriseId
,
ownerPageNo
*
ownerPageSize
,
ownerPageSize
);
if
(
null
!=
searchParams
||
null
!=
departmentIdList
)
{
list
=
this
.
groupChatOwnerMapper
.
listOwnerPage
(
wxEnterpriseId
,
departmentIdList
,
searchParams
,
ownerPageNo
*
ownerPageSize
,
ownerPageSize
);
}
else
{
list
=
this
.
groupChatOwnerMapper
.
listOwnerForStatistic
(
wxEnterpriseId
,
ownerPageNo
*
ownerPageSize
,
ownerPageSize
);
}
if
(
CollectionUtils
.
isEmpty
(
list
))
{
break
;
}
ownerPageNo
++;
List
<
String
>
staffIdList
=
this
.
filterNoClerk
(
wxEnterpriseId
,
list
)
;
logger
.
info
(
"全部,群主数={},{},过滤后={}"
,
wxEnterpriseId
,
list
.
size
(),
staffIdList
.
size
());
if
(
CollectionUtils
.
isNotEmpty
(
staffIdList
))
{
String
staffIds
=
staffIdList
.
stream
().
collect
(
Collectors
.
joining
(
","
))
;
totalCount
=
totalCount
+
staffIdList
.
size
()
;
this
.
groupChatPlanOwnerLogService
.
batchAdd
(
staffIds
,
plan
);
}
logger
.
info
(
"全部,群主数={},{},过滤后={}"
,
wxEnterpriseId
,
list
.
size
());
String
staffIds
=
list
.
stream
().
map
(
o
->
o
.
getStaffId
()).
collect
(
Collectors
.
joining
(
","
))
;
totalCount
=
totalCount
+
list
.
size
()
;
this
.
groupChatPlanOwnerLogService
.
batchAdd
(
staffIds
,
plan
);
}
this
.
groupChatPlanMapper
.
updateStaffCount
(
planId
,
totalCount
);
}
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/chat/impl/GroupChatServiceImpl.java
View file @
e3f4a3c3
...
...
@@ -1075,7 +1075,8 @@ public class GroupChatServiceImpl implements GroupChatService {
return
retPage
;
}
private
List
<
String
>
setDepartIdList
(
String
wxEnterpriseId
,
String
departmentId
)
{
@Override
public
List
<
String
>
setDepartIdList
(
String
wxEnterpriseId
,
String
departmentId
)
{
List
<
String
>
departmentIdList
=
new
ArrayList
<>();
if
(
StringUtils
.
isNotBlank
(
departmentId
))
{
TabHaobanDepartment
department
=
this
.
departmentService
.
selectById
(
departmentId
);
...
...
haoban-manage3-service/src/main/resources/mapper/chat/GroupChatOwnerMapper.xml
View file @
e3f4a3c3
...
...
@@ -68,7 +68,7 @@
and b.staff_name like #{searchParams}
</if>
<if
test=
"status==1"
>
and b.status_flag = 1
and b.status_flag = 1
</if>
<if
test=
"status==2"
>
and b.status_flag = 0
...
...
@@ -77,6 +77,32 @@
group by a.staff_id
</if>
</select>
<select
id=
"listOwnerPage"
resultType=
"com.gic.haoban.manage.api.dto.chat.GroupChatOwnerDTO"
>
select * from (
SELECT a.staff_id staffId , b.`staff_name` staffName , a.wx_enterprise_id wxEnterpriseId ,
b.wx_user_id wxUserId , b.wx_open_user_id wxOpenUserId
FROM tab_haoban_group_chat_owner a LEFT JOIN tab_haoban_staff b ON a.`staff_id` = b.`staff_id`
<if
test=
"departmentIdList != null and departmentIdList.size() > 0"
>
left join tab_haoban_staff_department_related c on a.staff_id = c.staff_id and c.status_flag = 1
</if>
where a.wx_enterprise_id=#{wxEnterpriseId}
<if
test=
"departmentIdList != null and departmentIdList.size() > 0"
>
and c.department_id IN
<foreach
collection=
"departmentIdList"
item=
"id"
index=
"index"
open=
"("
close=
")"
separator=
","
>
#{id,jdbcType=VARCHAR}
</foreach>
</if>
<if
test=
"null != searchParams and ''!=searchParams "
>
and b.staff_name like #{searchParams}
</if>
and b.status_flag = 1
<if
test=
"departmentIdList != null and departmentIdList.size() > 0"
>
group by a.staff_id
</if>
) t limit ${startItem},${pageSize}
</select>
<select
id=
"listOwnerForStatistic"
resultType=
"com.gic.haoban.manage.api.dto.chat.GroupChatOwnerDTO"
>
SELECT a.staff_id staffId , a.wx_enterprise_id wxEnterpriseId ,
...
...
haoban-manage3-service/src/main/resources/mapper/chat/GroupChatPlanMapper.xml
View file @
e3f4a3c3
...
...
@@ -29,6 +29,7 @@
<result
column=
"send_flag"
property=
"sendFlag"
/>
<result
column=
"material_from"
property=
"materialFrom"
/>
<result
column=
"send_all_flag"
property=
"sendAllFlag"
/>
<result
column=
"all_search_params"
property=
"allSearchParams"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
plan_id,
...
...
@@ -52,7 +53,7 @@
success_chat_count,
fail_chat_count ,
wx_enterprise_id , enterprise_id , send_flag ,
material_from , send_all_flag
material_from , send_all_flag
, all_search_params
</sql>
<!-- ===================== 新增 ======================== -->
<insert
id=
"insert"
...
...
@@ -79,7 +80,7 @@
send_count,
success_chat_count,
fail_chat_count , wx_enterprise_id , enterprise_id , delete_flag , send_flag,
material_from , send_all_flag
material_from , send_all_flag
, all_search_params
)VALUES(
#{planId},
#{name},
...
...
@@ -101,7 +102,7 @@
#{sendCount},
#{successChatCount},
#{failChatCount} , #{wxEnterpriseId} , #{enterpriseId} , 0 , 1,
#{materialFrom} , #{sendAllFlag}
#{materialFrom} , #{sendAllFlag}
, #{allSearchParams}
)
]]>
</insert>
...
...
@@ -145,7 +146,8 @@
end_time=#{endTime},
expire_days=#{expireDays},
material_from=#{materialFrom} ,
send_all_flag = #{sendAllFlag}
send_all_flag = #{sendAllFlag} ,
all_search_params = #{allSearchParams}
where plan_id = #{planId}
]]>
</update>
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/vo/chat/GroupChatPlanVO.java
View file @
e3f4a3c3
...
...
@@ -63,6 +63,16 @@ public class GroupChatPlanVO implements Serializable{
// 是否发送全部
private
int
sendAllFlag
;
// 所有的群发条件
private
String
allSearchParams
;
public
String
getAllSearchParams
()
{
return
allSearchParams
;
}
public
void
setAllSearchParams
(
String
allSearchParams
)
{
this
.
allSearchParams
=
allSearchParams
;
}
public
int
getSendAllFlag
()
{
return
sendAllFlag
;
...
...
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