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
7e820592
Commit
7e820592
authored
Jul 18, 2025
by
徐高华
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/xgh/202507迭代' into 'developer'
群数据导出 See merge request
!3095
parents
2e09562d
41107d4a
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
115 additions
and
7 deletions
+115
-7
GroupChatDataController.java
...n/manage/web/controller/chat/GroupChatDataController.java
+58
-7
GroupChatDataExcelHandler.java
...manage/web/controller/chat/GroupChatDataExcelHandler.java
+57
-0
No files found.
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/chat/GroupChatDataController.java
View file @
7e820592
package
com
.
gic
.
haoban
.
manage
.
web
.
controller
.
chat
;
import
java.util.List
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
cn.hutool.core.date.DatePattern
;
import
com.alibaba.fastjson.JSON
;
import
com.gic.api.base.commons.BasePageInfo
;
import
com.gic.api.base.commons.JSONResponse
;
import
com.gic.api.base.commons.Page
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.clerk.api.dto.AuthorizedUser
;
import
com.gic.commons.util.DateUtil
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.commons.webapi.reponse.RestResponse
;
...
...
@@ -19,6 +16,18 @@ import com.gic.haoban.manage.api.dto.chat.GroupChatDataDTO;
import
com.gic.haoban.manage.api.dto.qdto.chat.ChatDataSearchQDTO
;
import
com.gic.haoban.manage.api.service.chat.GroupChatDataApiService
;
import
com.gic.haoban.manage.web.vo.chat.GroupChatDataVO
;
import
com.gic.qcloud.BucketNameEnum
;
import
com.gic.web.common.download.DownloadTask
;
import
com.gic.web.common.download.DownloadTaskUtil
;
import
com.gic.web.common.download.constants.TaskTypeEnum
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.Date
;
import
java.util.List
;
/**
*
...
...
@@ -34,6 +43,8 @@ public class GroupChatDataController {
@Autowired
private
GroupChatDataApiService
groupChatDataApiService
;
@Autowired
private
GroupChatDataExcelHandler
groupChatDataExcelHandler
;
@RequestMapping
(
"total"
)
public
RestResponse
<
Object
>
listTotalData
(
@RequestBody
ChatDataSearchQDTO
qdto
)
{
...
...
@@ -77,4 +88,44 @@ public class GroupChatDataController {
return
RestResponse
.
successResult
(
retPage
);
}
@RequestMapping
(
"excel"
)
public
RestResponse
<
String
>
detailExcel
(
@RequestBody
ChatDataSearchQDTO
qdto
)
{
WebLoginDTO
loginUser
=
AuthWebRequestUtil
.
getLoginUser
();
BasePageInfo
basePageInfo
=
new
BasePageInfo
()
;
basePageInfo
.
setPageNum
(
1
);
basePageInfo
.
setPageSize
(
1
);
qdto
.
setWxEnterpriseId
(
loginUser
.
getWxEnterpriseId
());
qdto
.
setStartDate
(
DateUtil
.
getStartTimeOfDay
(
qdto
.
getStartDate
()));
ServiceResponse
<
Page
<
GroupChatDataDTO
>>
resp
=
this
.
groupChatDataApiService
.
listStaffData
(
qdto
,
basePageInfo
);
List
<
GroupChatDataDTO
>
list
=
resp
.
getResult
().
getResult
()
;
if
(
CollectionUtils
.
isEmpty
(
list
))
{
return
RestResponse
.
failure
(
"9999"
,
"无客户群数据"
);
}
int
totalCount
=
resp
.
getResult
().
getTotalCount
();
String
s
=
DateUtil
.
formatString
(
new
Date
(),
DateUtil
.
FORMAT_DATE_10
);
AuthorizedUser
user
=
new
AuthorizedUser
();
user
.
setUserId
(
loginUser
.
getClerkId
());
user
.
setEnterpriseId
(
loginUser
.
getEnterpriseId
());
user
.
setRealName
(
loginUser
.
getClerkName
());
String
fileName
=
"客户群数据-"
+
s
;
DownloadTask
task
=
new
DownloadTask
();
task
.
setTaskTypeEnum
(
TaskTypeEnum
.
QYWX_GROUP_CHAT_DATA
);
task
.
setUser
(
user
);
task
.
setDataType
(
1
);
task
.
setTotalCount
(
totalCount
);
task
.
setFileName
(
fileName
);
task
.
setChannelName
(
TaskTypeEnum
.
QYWX_GROUP_CHAT_DATA
.
getName
());
task
.
setBucketName
(
BucketNameEnum
.
REPORT_50000
.
getName
());
task
.
setSearchDataParams
(
JSON
.
toJSONStringWithDateFormat
(
qdto
,
DatePattern
.
NORM_DATETIME_PATTERN
));
task
.
setHandler
(
groupChatDataExcelHandler
);
JSONResponse
jsonResponse
=
DownloadTaskUtil
.
createDownloadTask
(
task
);
final
String
reportId
;
if
(
jsonResponse
.
isSuccess
())
{
reportId
=
(
String
)
jsonResponse
.
getResult
();
}
else
{
return
RestResponse
.
failure
(
"9999"
,
jsonResponse
.
getErrorMessage
());
}
return
RestResponse
.
successResult
(
reportId
);
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/chat/GroupChatDataExcelHandler.java
0 → 100644
View file @
7e820592
package
com
.
gic
.
haoban
.
manage
.
web
.
controller
.
chat
;
import
com.alibaba.fastjson.JSON
;
import
com.gic.api.base.commons.BasePageInfo
;
import
com.gic.api.base.commons.Page
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatDataDTO
;
import
com.gic.haoban.manage.api.dto.qdto.chat.ChatDataSearchQDTO
;
import
com.gic.haoban.manage.api.service.chat.GroupChatDataApiService
;
import
com.gic.haoban.manage.web.vo.chat.GroupChatDataVO
;
import
com.gic.web.common.download.DownloadHandlerAbstract
;
import
com.gic.web.common.download.context.Context
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
@Service
public
class
GroupChatDataExcelHandler
extends
DownloadHandlerAbstract
<
GroupChatDataVO
>
{
@Autowired
private
GroupChatDataApiService
groupChatDataApiService
;
@Override
public
List
<
GroupChatDataVO
>
getData
(
Context
context
,
String
searchDataParams
,
Integer
currentPage
)
{
ChatDataSearchQDTO
qdto
=
JSON
.
parseObject
(
searchDataParams
,
ChatDataSearchQDTO
.
class
);
BasePageInfo
basePageInfo
=
new
BasePageInfo
()
;
basePageInfo
.
setPageSize
(
this
.
getPageSize
());
basePageInfo
.
setPageNum
(
currentPage
);
ServiceResponse
<
Page
<
GroupChatDataDTO
>>
resp
=
this
.
groupChatDataApiService
.
listStaffData
(
qdto
,
basePageInfo
);
List
<
GroupChatDataVO
>
voList
=
new
ArrayList
<>()
;
for
(
GroupChatDataDTO
dto
:
resp
.
getResult
().
getResult
())
{
GroupChatDataVO
vo
=
EntityUtil
.
changeEntityByJSON
(
GroupChatDataVO
.
class
,
dto
);
voList
.
add
(
vo
);
}
return
voList
;
}
@Override
public
List
<
String
>
getColumnNames
()
{
return
Arrays
.
asList
(
"群主"
,
"群总数"
,
"新增群数"
,
"活跃群数"
,
"群人数"
,
"新增人数"
,
"活跃人数"
,
"退群人数"
,
"群聊消息总数"
);
}
@Override
public
LinkedHashMap
<
String
,
List
<
String
>>
doubleColumnNames
()
{
return
null
;
}
@Override
public
List
<
String
>
getColumns
()
{
return
Arrays
.
asList
(
"staffName"
,
"chatTotal"
,
"newChatCnt"
,
"chatHasMsg"
,
"memberTotal"
,
"newMemberCnt"
,
"memberHasMsg"
,
"quitUserCount"
,
"msgTotal"
);
}
}
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