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
9c6142af
Commit
9c6142af
authored
Jul 15, 2024
by
徐高华
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '202406_chat_data' into 'master'
群聊统计 See merge request
!2019
parents
9dcd3190
5d3d0597
Hide whitespace changes
Inline
Side-by-side
Showing
35 changed files
with
5998 additions
and
1 deletions
+5998
-1
ChatDataController.java
.../gic/haoban/manage/web/controller/ChatDataController.java
+1307
-0
UserController.java
.../com/gic/haoban/manage/web/controller/UserController.java
+43
-1
GroupChatDetailsHandle.java
.../gic/haoban/manage/web/handle/GroupChatDetailsHandle.java
+86
-0
GroupClerkDataHandle.java
...om/gic/haoban/manage/web/handle/GroupClerkDataHandle.java
+88
-0
GroupDetailsHandle.java
.../com/gic/haoban/manage/web/handle/GroupDetailsHandle.java
+85
-0
GroupExitHandle.java
...ava/com/gic/haoban/manage/web/handle/GroupExitHandle.java
+88
-0
GroupJoinHandle.java
...ava/com/gic/haoban/manage/web/handle/GroupJoinHandle.java
+122
-0
GroupStoreDataHandle.java
...om/gic/haoban/manage/web/handle/GroupStoreDataHandle.java
+104
-0
SingleChatClerkDataHandle.java
...c/haoban/manage/web/handle/SingleChatClerkDataHandle.java
+78
-0
SingleChatDetailsHandle.java
...gic/haoban/manage/web/handle/SingleChatDetailsHandle.java
+82
-0
SingleChatStoreDataHandle.java
...c/haoban/manage/web/handle/SingleChatStoreDataHandle.java
+100
-0
GroupChatChatDetailReq.java
...gic/haoban/manage/web/qo/chat/GroupChatChatDetailReq.java
+210
-0
GroupChatClerkReq.java
.../com/gic/haoban/manage/web/qo/chat/GroupChatClerkReq.java
+179
-0
GroupChatDetailReq.java
...com/gic/haoban/manage/web/qo/chat/GroupChatDetailReq.java
+195
-0
GroupChatExitDetailReq.java
...gic/haoban/manage/web/qo/chat/GroupChatExitDetailReq.java
+175
-0
GroupChatJoinDetailReq.java
...gic/haoban/manage/web/qo/chat/GroupChatJoinDetailReq.java
+192
-0
GroupChatOverviewReq.java
...m/gic/haoban/manage/web/qo/chat/GroupChatOverviewReq.java
+65
-0
GroupChatStoreGroupReq.java
...gic/haoban/manage/web/qo/chat/GroupChatStoreGroupReq.java
+145
-0
SingleChatClerkReq.java
...com/gic/haoban/manage/web/qo/chat/SingleChatClerkReq.java
+193
-0
SingleChatDetailReq.java
...om/gic/haoban/manage/web/qo/chat/SingleChatDetailReq.java
+227
-0
SingleChatOverviewReq.java
.../gic/haoban/manage/web/qo/chat/SingleChatOverviewReq.java
+68
-0
SingleChatStoreGroupReq.java
...ic/haoban/manage/web/qo/chat/SingleChatStoreGroupReq.java
+158
-0
WechatWorkLostDetailQO.java
...oban/manage/web/qo/wechatwork/WechatWorkLostDetailQO.java
+9
-0
GroupChatChatDetailVO.java
.../gic/haoban/manage/web/vo/chat/GroupChatChatDetailVO.java
+229
-0
GroupChatClerkVO.java
...a/com/gic/haoban/manage/web/vo/chat/GroupChatClerkVO.java
+188
-0
GroupChatDetailVO.java
.../com/gic/haoban/manage/web/vo/chat/GroupChatDetailVO.java
+191
-0
GroupChatExitDetailVO.java
.../gic/haoban/manage/web/vo/chat/GroupChatExitDetailVO.java
+196
-0
GroupChatJoinDetailVO.java
.../gic/haoban/manage/web/vo/chat/GroupChatJoinDetailVO.java
+222
-0
GroupChatOverviewVO.java
...om/gic/haoban/manage/web/vo/chat/GroupChatOverviewVO.java
+136
-0
GroupChatStoreGroupVO.java
.../gic/haoban/manage/web/vo/chat/GroupChatStoreGroupVO.java
+123
-0
SingleChatClerkVO.java
.../com/gic/haoban/manage/web/vo/chat/SingleChatClerkVO.java
+191
-0
SingleChatDetailVO.java
...com/gic/haoban/manage/web/vo/chat/SingleChatDetailVO.java
+203
-0
SingleChatOverviewVO.java
...m/gic/haoban/manage/web/vo/chat/SingleChatOverviewVO.java
+163
-0
SingleChatStoreGroupVO.java
...gic/haoban/manage/web/vo/chat/SingleChatStoreGroupVO.java
+152
-0
WechatWorkLostDetailVO.java
...oban/manage/web/vo/wechatwork/WechatWorkLostDetailVO.java
+5
-0
No files found.
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/ChatDataController.java
0 → 100644
View file @
9c6142af
package
com
.
gic
.
haoban
.
manage
.
web
.
controller
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.api.base.commons.JSONResponse
;
import
com.gic.api.base.commons.Page
;
import
com.gic.clerk.api.dto.AuthorizedUser
;
import
com.gic.commons.util.DataApiUtils
;
import
com.gic.commons.util.DateUtil
;
import
com.gic.commons.webapi.reponse.RestResponse
;
import
com.gic.haoban.manage.web.handle.*
;
import
com.gic.haoban.manage.web.qo.chat.*
;
import
com.gic.haoban.manage.web.qo.wechatwork.StoreGroupCommonQO
;
import
com.gic.haoban.manage.web.qo.wechatwork.WechatWorkLostClerkQO
;
import
com.gic.haoban.manage.web.qo.wechatwork.WechatWorkLostStoreGroupQO
;
import
com.gic.haoban.manage.web.utils.AuthorizedUserUtils
;
import
com.gic.haoban.manage.web.utils.data.ConcurrencyUtils
;
import
com.gic.haoban.manage.web.utils.data.MapThreadHandlerRequest
;
import
com.gic.haoban.manage.web.utils.data.StoreAuthUtils
;
import
com.gic.haoban.manage.web.vo.chat.*
;
import
com.gic.haoban.manage.web.vo.wechatwork.*
;
import
com.gic.qcloud.BucketNameEnum
;
import
com.gic.web.common.controller.NewBaseController
;
import
com.gic.web.common.download.DownloadTask
;
import
com.gic.web.common.download.DownloadTaskUtil
;
import
com.gic.web.common.download.constants.TaskTypeEnum
;
import
lombok.extern.slf4j.Slf4j
;
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.text.ParseException
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
* 会话数据统计
* *
* *
*
* @author shangfeng
* @date 2024-06-19 10:58:42
*/
@Slf4j
@RestController
@RequestMapping
(
"chat-data"
)
public
class
ChatDataController
extends
NewBaseController
{
@Autowired
private
StoreAuthUtils
storeAuthUtils
;
@Autowired
private
GroupChatDetailsHandle
groupChatDetailsHandle
;
@Autowired
private
GroupClerkDataHandle
groupClerkDataHandle
;
@Autowired
private
GroupDetailsHandle
groupDetailsHandle
;
@Autowired
private
GroupExitHandle
groupExitHandle
;
@Autowired
private
GroupJoinHandle
groupJoinHandle
;
@Autowired
private
GroupStoreDataHandle
groupStoreDataHandle
;
@Autowired
private
SingleChatClerkDataHandle
singleChatClerkDataHandle
;
@Autowired
private
SingleChatDetailsHandle
singleChatDetailsHandle
;
@Autowired
private
SingleChatStoreDataHandle
singleChatStoreDataHandle
;
/**
* 单聊统计 会话数据概览
* *
*
* @param req
* @return
*/
@RequestMapping
(
"single-chat-overview"
)
public
RestResponse
<
SingleChatOverviewVO
>
singleChatOverview
(
@RequestBody
SingleChatOverviewReq
req
)
{
JSONObject
jsonObject
=
(
JSONObject
)
JSONObject
.
toJSON
(
req
);
storeAuthUtils
.
setCommonParam
(
jsonObject
,
new
StoreGroupCommonQO
().
setStoreGroupId
(
req
.
getStoreGroupId
()));
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
jsonObject
.
toJSONString
(),
"data_mbr_scale_haoban_qw_chat_overview"
);
List
<
JSONObject
>
list
=
DataApiUtils
.
getDataList
(
res
);
List
<
SingleChatOverviewVO
>
voList
=
JSONArray
.
parseArray
(
JSON
.
toJSONString
(
list
),
SingleChatOverviewVO
.
class
);
return
RestResponse
.
successResult
(
CollectionUtils
.
isEmpty
(
voList
)
?
null
:
voList
.
get
(
0
));
}
/**
* 单聊统计 趋势图
* *
*
* @param req
* @return
*/
@RequestMapping
(
"single-chat-overview-trend"
)
public
RestResponse
<
List
<
SingleChatOverviewVO
>>
singleChatOverviewTrend
(
@RequestBody
SingleChatOverviewReq
req
)
throws
ParseException
{
JSONObject
jsonObject
=
(
JSONObject
)
JSONObject
.
toJSON
(
req
);
storeAuthUtils
.
setCommonParam
(
jsonObject
,
new
StoreGroupCommonQO
().
setStoreGroupId
(
req
.
getStoreGroupId
()));
List
<
MapThreadHandlerRequest
>
list
=
new
ArrayList
<>();
jsonObject
.
put
(
"groupType"
,
1
);
list
.
add
(
new
MapThreadHandlerRequest
(
jsonObject
,
"data_mbr_scale_haoban_qw_chat_overview_date"
,
"1_activeSessionsNum"
));
jsonObject
.
put
(
"groupType"
,
2
);
list
.
add
(
new
MapThreadHandlerRequest
(
jsonObject
,
"data_mbr_scale_haoban_qw_chat_overview_date"
,
"2_custSessionsNum"
));
jsonObject
.
put
(
"groupType"
,
3
);
list
.
add
(
new
MapThreadHandlerRequest
(
jsonObject
,
"data_mbr_scale_haoban_qw_chat_overview_date"
,
"3_replySessionsNum"
));
jsonObject
.
put
(
"groupType"
,
4
);
list
.
add
(
new
MapThreadHandlerRequest
(
jsonObject
,
"data_mbr_scale_haoban_qw_chat_overview_date"
,
"4_replySessionsPrport"
));
jsonObject
.
put
(
"groupType"
,
5
);
list
.
add
(
new
MapThreadHandlerRequest
(
jsonObject
,
"data_mbr_scale_haoban_qw_chat_overview_date"
,
"5_averageFirstReplyTime"
));
jsonObject
.
put
(
"groupType"
,
6
);
list
.
add
(
new
MapThreadHandlerRequest
(
jsonObject
,
"data_mbr_scale_haoban_qw_chat_overview_date"
,
"6_sessionsCustNum"
));
jsonObject
.
put
(
"groupType"
,
7
);
list
.
add
(
new
MapThreadHandlerRequest
(
jsonObject
,
"data_mbr_scale_haoban_qw_chat_overview_date"
,
"7_launchSessionsCustNum"
));
jsonObject
.
put
(
"groupType"
,
8
);
list
.
add
(
new
MapThreadHandlerRequest
(
jsonObject
,
"data_mbr_scale_haoban_qw_chat_overview_date"
,
"8_launchSessionsSalesNum"
));
jsonObject
.
put
(
"groupType"
,
9
);
list
.
add
(
new
MapThreadHandlerRequest
(
jsonObject
,
"data_mbr_scale_haoban_qw_chat_overview_date"
,
"9_sendNewsNum"
));
Map
<
String
,
List
<
JSONObject
>>
map
=
ConcurrencyUtils
.
concurrencyDataForMap
(
list
);
List
<
JSONObject
>
resultList
=
new
ArrayList
<>();
if
(
map
!=
null
)
{
map
.
forEach
((
k
,
v
)
->
{
if
(
CollectionUtils
.
isNotEmpty
(
v
))
{
for
(
JSONObject
tempJson
:
v
)
{
tempJson
.
put
(
k
.
substring
(
0
,
1
),
tempJson
.
get
(
k
.
substring
(
2
)));
}
resultList
.
addAll
(
v
);
}
});
}
Map
<
String
,
List
<
JSONObject
>>
voMap
=
resultList
.
stream
().
collect
(
Collectors
.
groupingBy
(
e
->
e
.
getString
(
"bizDate"
)));
List
<
String
>
dateList
=
DateUtil
.
getBetweenDates
(
req
.
getStartDate
(),
req
.
getEndDate
());
List
<
SingleChatOverviewVO
>
voList
=
new
ArrayList
<>();
for
(
String
date
:
dateList
)
{
SingleChatOverviewVO
vo
=
new
SingleChatOverviewVO
();
vo
.
setBizDate
(
date
);
List
<
JSONObject
>
mapValue
=
voMap
.
get
(
date
);
if
(
CollectionUtils
.
isNotEmpty
(
mapValue
))
{
for
(
JSONObject
tempJson
:
mapValue
)
{
if
(
tempJson
.
containsKey
(
"1"
))
{
vo
.
setActiveSessionsNum
(
tempJson
.
getInteger
(
"1"
));
}
if
(
tempJson
.
containsKey
(
"2"
))
{
vo
.
setCustSessionsNum
(
tempJson
.
getInteger
(
"2"
));
}
if
(
tempJson
.
containsKey
(
"3"
))
{
vo
.
setReplySessionsNum
(
tempJson
.
getInteger
(
"3"
));
}
if
(
tempJson
.
containsKey
(
"4"
))
{
vo
.
setReplySessionsPrport
(
tempJson
.
getInteger
(
"4"
));
}
if
(
tempJson
.
containsKey
(
"5"
))
{
vo
.
setAverageFirstReplyTime
(
tempJson
.
getInteger
(
"5"
));
}
if
(
tempJson
.
containsKey
(
"6"
))
{
vo
.
setSessionsCustNum
(
tempJson
.
getInteger
(
"6"
));
}
if
(
tempJson
.
containsKey
(
"7"
))
{
vo
.
setLaunchSessionsCustNum
(
tempJson
.
getInteger
(
"7"
));
}
if
(
tempJson
.
containsKey
(
"8"
))
{
vo
.
setLaunchSessionsSalesNum
(
tempJson
.
getInteger
(
"8"
));
}
if
(
tempJson
.
containsKey
(
"9"
))
{
vo
.
setSendNewsNum
(
tempJson
.
getInteger
(
"9"
));
}
}
}
voList
.
add
(
vo
);
}
return
RestResponse
.
successResult
(
voList
);
}
/**
* 单聊统计 会话数据统计 门店维度
*
* *
*
* @param req
* @return
*/
@RequestMapping
(
"single-chat-store-data"
)
public
RestResponse
<
DataPageVO
<
SingleChatStoreGroupVO
>>
singleChatStoreData
(
@RequestBody
SingleChatStoreGroupReq
req
)
{
JSONObject
jsonObject
=
new
JSONObject
();
req
.
dealWithParam
(
jsonObject
);
storeAuthUtils
.
setStoreGroupJsonParam
(
jsonObject
,
req
);
jsonObject
.
put
(
"apolloKey"
,
"data_mbr_scale_haoban_qw_chat_count"
);
jsonObject
.
put
(
"groupType"
,
1
);
DataPageVO
vo
=
storeAuthUtils
.
getDataCommon
(
jsonObject
.
toJSONString
(),
req
.
getPageNum
(),
"data_mbr_scale_haoban_qw_chat_count"
,
req
.
getPageSize
(),
true
);
if
(
CollectionUtils
.
isNotEmpty
(
vo
.
getRows
()))
{
vo
.
setRows
(
JSONArray
.
parseArray
(
JSON
.
toJSONString
(
vo
.
getRows
()),
SingleChatStoreGroupVO
.
class
));
}
return
RestResponse
.
successResult
(
vo
);
}
/**
* 单聊统计 会话数据统计 导购维度
*
*
* *
*
* @param req
* @return
*/
@RequestMapping
(
"single-chat-clerk-data"
)
public
RestResponse
<
DataPageVO
<
SingleChatClerkVO
>>
singleChatClerkData
(
@RequestBody
SingleChatClerkReq
req
)
{
JSONObject
jsonObject
=
new
JSONObject
();
req
.
dealWithParam
(
jsonObject
);
storeAuthUtils
.
setCommonParam
(
jsonObject
,
new
StoreGroupCommonQO
());
jsonObject
.
put
(
"groupType"
,
2
);
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
jsonObject
.
toJSONString
(),
"data_mbr_scale_haoban_qw_chat_count"
);
Page
page
=
DataApiUtils
.
getPageData
(
res
);
DataPageVO
vo
=
new
DataPageVO
();
vo
.
setPageSize
(
page
.
getPageSize
());
vo
.
setPageNum
(
page
.
getCurrentPage
());
List
<
JSONObject
>
list
=
page
.
getResult
();
vo
.
setTotalNum
(
page
.
getTotalCount
());
jsonObject
.
put
(
"groupType"
,
1
);
jsonObject
.
put
(
"storeGroup"
,
8
);
JSONObject
total
=
storeAuthUtils
.
getTotalJson
(
jsonObject
,
"data_mbr_scale_haoban_qw_chat_count"
);
if
(
list
==
null
)
{
list
=
new
ArrayList
<>();
}
if
(
total
!=
null
)
{
total
.
put
(
"clerkName"
,
"合计("
+
list
.
size
()
+
")"
);
list
.
add
(
0
,
total
);
}
vo
.
setRows
(
list
);
if
(
CollectionUtils
.
isNotEmpty
(
vo
.
getRows
()))
{
vo
.
setRows
(
JSONArray
.
parseArray
(
JSON
.
toJSONString
(
vo
.
getRows
()),
SingleChatClerkVO
.
class
));
}
return
RestResponse
.
successResult
(
vo
);
}
/**
* 单聊统计 会话数据统计 门店维度 数据导出
*
*
* *
*
* @param req
* @return
*/
@RequestMapping
(
value
=
"export-single-chat-store-data"
)
public
RestResponse
<
Object
>
exportSingleChatStoreData
(
@RequestBody
SingleChatStoreGroupReq
req
)
{
DownloadTask
task
=
new
DownloadTask
();
task
.
setTaskTypeEnum
(
TaskTypeEnum
.
SINGLE_CHAT_STORE_DATE
);
task
.
setDataType
(
req
.
getDataType
());
task
.
setUser
(
getUserInfo
());
task
.
setTotalCount
(
singleChatStoreData
(
req
).
getResult
().
getTotalNum
());
JSONObject
jsonObject
=
new
JSONObject
();
req
.
dealWithParam
(
jsonObject
);
storeAuthUtils
.
setStoreGroupJsonParam
(
jsonObject
,
req
);
jsonObject
.
put
(
"apolloKey"
,
"data_mbr_scale_haoban_qw_chat_count"
);
jsonObject
.
put
(
"groupType"
,
1
);
//Excel的标题是字段进行计算
List
<
String
>
indexList
=
new
ArrayList
<>();
List
<
String
>
fieldList
=
new
ArrayList
<>();
Integer
storeGroup
=
jsonObject
.
getInteger
(
"storeGroup"
);
boolean
isStore
=
storeGroup
!=
null
&&
storeGroup
==
7
;
if
(
isStore
)
{
indexList
.
add
(
"门店名称"
);
fieldList
.
add
(
"storeName"
);
indexList
.
add
(
"门店code"
);
fieldList
.
add
(
"storeCode"
);
}
else
{
indexList
.
add
(
"分组名称"
);
fieldList
.
add
(
"storeGroupName"
);
}
indexList
.
add
(
"主动会话数"
);
fieldList
.
add
(
"activeSessionsNum"
);
indexList
.
add
(
"客户发起会话数"
);
fieldList
.
add
(
"custSessionsNum"
);
indexList
.
add
(
"会话总客户数"
);
fieldList
.
add
(
"sessionsCustNum"
);
indexList
.
add
(
"已回复会话数"
);
fieldList
.
add
(
"replySessionsNum"
);
indexList
.
add
(
"已回复会话占比"
);
fieldList
.
add
(
"replySessionsPrport"
);
indexList
.
add
(
"平均首次回复时长"
);
fieldList
.
add
(
"averageFirstReplyTime"
);
indexList
.
add
(
"企微好友数"
);
fieldList
.
add
(
"entWechatFdNum"
);
indexList
.
add
(
"会话总客户数"
);
fieldList
.
add
(
"sessionsCustNum"
);
indexList
.
add
(
"发起会话客户数"
);
fieldList
.
add
(
"launchSessionsCustNum"
);
indexList
.
add
(
"发起会话导购数"
);
fieldList
.
add
(
"launchSessionsSalesNum"
);
indexList
.
add
(
"发送消息数"
);
fieldList
.
add
(
"sendNewsNum"
);
task
.
setFileName
(
"好办单聊统计-门店维度-"
+
req
.
getStartDate
()
+
"_"
+
req
.
getEndDate
());
task
.
setChannelName
(
"数据-会话数据-单聊统计"
);
task
.
setBucketName
(
BucketNameEnum
.
REPORT_50000
.
getName
());
jsonObject
.
put
(
"indexList"
,
indexList
);
jsonObject
.
put
(
"fieldList"
,
fieldList
);
task
.
setSearchDataParams
(
jsonObject
.
toJSONString
());
task
.
setHandler
(
singleChatStoreDataHandle
);
JSONResponse
downloadTask
=
DownloadTaskUtil
.
createDownloadTask
(
task
);
return
RestResponse
.
successResult
(
downloadTask
.
getResult
());
}
/**
* 单聊统计 会话数据统计 导购维度 数据导出
*
*
*
* *
*
* @param req
* @return
*/
@RequestMapping
(
value
=
"export-single-chat-clerk-data"
)
public
RestResponse
<
Object
>
exportSingleChatClerkData
(
@RequestBody
SingleChatClerkReq
req
)
{
DownloadTask
task
=
new
DownloadTask
();
task
.
setTaskTypeEnum
(
TaskTypeEnum
.
SINGLE_CHAT_CLERK_DATE
);
task
.
setDataType
(
req
.
getDataType
());
task
.
setUser
(
getUserInfo
());
task
.
setTotalCount
(
singleChatClerkData
(
req
).
getResult
().
getTotalNum
());
JSONObject
jsonObject
=
new
JSONObject
();
req
.
dealWithParam
(
jsonObject
);
storeAuthUtils
.
setCommonParam
(
jsonObject
,
new
StoreGroupCommonQO
());
jsonObject
.
put
(
"apolloKey"
,
"data_mbr_scale_haoban_qw_chat_count"
);
jsonObject
.
put
(
"groupType"
,
2
);
//Excel的标题是字段进行计算
List
<
String
>
indexList
=
new
ArrayList
<>();
List
<
String
>
fieldList
=
new
ArrayList
<>();
indexList
.
add
(
"导购姓名"
);
fieldList
.
add
(
"clerkName"
);
indexList
.
add
(
"导购code"
);
fieldList
.
add
(
"clerkCode"
);
indexList
.
add
(
"门店名称"
);
fieldList
.
add
(
"storeName"
);
indexList
.
add
(
"门店code"
);
fieldList
.
add
(
"storeCode"
);
indexList
.
add
(
"主动会话数"
);
fieldList
.
add
(
"activeSessionsNum"
);
indexList
.
add
(
"客户发起会话数"
);
fieldList
.
add
(
"custSessionsNum"
);
indexList
.
add
(
"会话总客户数"
);
fieldList
.
add
(
"sessionsCustNum"
);
indexList
.
add
(
"已回复会话数"
);
fieldList
.
add
(
"replySessionsNum"
);
indexList
.
add
(
"已回复会话占比"
);
fieldList
.
add
(
"replySessionsPrport"
);
indexList
.
add
(
"平均首次回复时长"
);
fieldList
.
add
(
"averageFirstReplyTime"
);
indexList
.
add
(
"企微好友数"
);
fieldList
.
add
(
"entWechatFdNum"
);
indexList
.
add
(
"会话总客户数"
);
fieldList
.
add
(
"sessionsCustNum"
);
indexList
.
add
(
"发起会话客户数"
);
fieldList
.
add
(
"launchSessionsCustNum"
);
indexList
.
add
(
"发送消息数"
);
fieldList
.
add
(
"sendNewsNum"
);
task
.
setFileName
(
"好办单聊统计-导购维度-"
+
req
.
getStartDate
()
+
"_"
+
req
.
getEndDate
());
task
.
setChannelName
(
"数据-会话数据-单聊统计"
);
task
.
setBucketName
(
BucketNameEnum
.
REPORT_50000
.
getName
());
jsonObject
.
put
(
"indexList"
,
indexList
);
jsonObject
.
put
(
"fieldList"
,
fieldList
);
task
.
setSearchDataParams
(
jsonObject
.
toJSONString
());
task
.
setHandler
(
singleChatClerkDataHandle
);
JSONResponse
downloadTask
=
DownloadTaskUtil
.
createDownloadTask
(
task
);
return
RestResponse
.
successResult
(
downloadTask
.
getResult
());
}
/**
* 单聊统计 会话数据详情
* *
*
* @param req
* @return
*/
@RequestMapping
(
"single-chat-details"
)
public
RestResponse
<
DataPageVO
<
SingleChatDetailVO
>>
singleChatDetails
(
@RequestBody
SingleChatDetailReq
req
)
{
JSONObject
jsonObject
=
new
JSONObject
();
req
.
dealWithParam
(
jsonObject
);
storeAuthUtils
.
setCommonParam
(
jsonObject
,
new
StoreGroupCommonQO
());
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
jsonObject
.
toJSONString
(),
"data_mbr_scale_haoban_qw_chat_detail"
);
Page
page
=
DataApiUtils
.
getPageData
(
res
);
DataPageVO
<
SingleChatDetailVO
>
vo
=
new
DataPageVO
();
vo
.
setPageSize
(
page
.
getPageSize
());
vo
.
setPageNum
(
page
.
getCurrentPage
());
List
<
JSONObject
>
list
=
page
.
getResult
();
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
List
<
SingleChatDetailVO
>
voList
=
JSONArray
.
parseArray
(
JSON
.
toJSONString
(
list
),
SingleChatDetailVO
.
class
);
vo
.
setRows
(
voList
);
}
vo
.
setTotalNum
(
page
.
getTotalCount
());
return
RestResponse
.
successResult
(
vo
);
}
/**
* 单聊统计 会话数据详情 数据导出
*
* * *
* *
*
* @param req
* @return
*/
@RequestMapping
(
"export-single-chat-details"
)
public
RestResponse
<
Object
>
exportSingleChatDetails
(
@RequestBody
SingleChatDetailReq
req
)
{
DownloadTask
task
=
new
DownloadTask
();
task
.
setTaskTypeEnum
(
TaskTypeEnum
.
SINGLE_CHAT_DETAIL_DATE
);
task
.
setDataType
(
req
.
getDataType
());
task
.
setUser
(
getUserInfo
());
task
.
setTotalCount
(
singleChatDetails
(
req
).
getResult
().
getTotalNum
());
JSONObject
jsonObject
=
new
JSONObject
();
req
.
dealWithParam
(
jsonObject
);
storeAuthUtils
.
setCommonParam
(
jsonObject
,
new
StoreGroupCommonQO
());
jsonObject
.
put
(
"apolloKey"
,
"data_mbr_scale_haoban_qw_chat_detail"
);
//Excel的标题是字段进行计算
List
<
String
>
indexList
=
new
ArrayList
<>();
List
<
String
>
fieldList
=
new
ArrayList
<>();
indexList
.
add
(
"客户姓名"
);
fieldList
.
add
(
"memberName"
);
indexList
.
add
(
"客户昵称"
);
fieldList
.
add
(
"memberNick"
);
indexList
.
add
(
"客户手机号"
);
fieldList
.
add
(
"memberPhone"
);
indexList
.
add
(
"企微成员姓名"
);
fieldList
.
add
(
"staffName"
);
indexList
.
add
(
"导购姓名"
);
fieldList
.
add
(
"clerkName"
);
indexList
.
add
(
"导购code"
);
fieldList
.
add
(
"clerkCode"
);
indexList
.
add
(
"导购所属门店名称"
);
fieldList
.
add
(
"storeName"
);
indexList
.
add
(
"导购所属门店code"
);
fieldList
.
add
(
"storeCode"
);
indexList
.
add
(
"会话发送人"
);
fieldList
.
add
(
"sendType"
);
indexList
.
add
(
"会话类型"
);
fieldList
.
add
(
"msgType"
);
indexList
.
add
(
"会话内容"
);
fieldList
.
add
(
"content"
);
indexList
.
add
(
"会话时间"
);
fieldList
.
add
(
"sendTime"
);
task
.
setFileName
(
"好办单聊统计-会话明细-"
+
req
.
getStartDate
()
+
"_"
+
req
.
getEndDate
());
task
.
setChannelName
(
"数据-会话数据-单聊统计"
);
task
.
setBucketName
(
BucketNameEnum
.
REPORT_50000
.
getName
());
jsonObject
.
put
(
"indexList"
,
indexList
);
jsonObject
.
put
(
"fieldList"
,
fieldList
);
task
.
setSearchDataParams
(
jsonObject
.
toJSONString
());
task
.
setHandler
(
singleChatDetailsHandle
);
JSONResponse
downloadTask
=
DownloadTaskUtil
.
createDownloadTask
(
task
);
return
RestResponse
.
successResult
(
downloadTask
.
getResult
());
}
/**
* 群聊统计 群数据概览
* *
*
* @param req
* @return
*/
@RequestMapping
(
"group-overview"
)
public
RestResponse
<
GroupChatOverviewVO
>
groupOverview
(
@RequestBody
GroupChatOverviewReq
req
)
{
JSONObject
jsonObject
=
(
JSONObject
)
JSONObject
.
toJSON
(
req
);
storeAuthUtils
.
setCommonParam
(
jsonObject
,
new
StoreGroupCommonQO
().
setStoreGroupId
(
req
.
getStoreGroupId
()));
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
jsonObject
.
toJSONString
(),
"data_mbr_scale_haoban_qw_group_chat_overview"
);
List
<
JSONObject
>
list
=
DataApiUtils
.
getDataList
(
res
);
List
<
GroupChatOverviewVO
>
voList
=
JSONArray
.
parseArray
(
JSON
.
toJSONString
(
list
),
GroupChatOverviewVO
.
class
);
return
RestResponse
.
successResult
(
CollectionUtils
.
isEmpty
(
voList
)
?
null
:
voList
.
get
(
0
));
}
/**
* 群聊统计 趋势图
* *
*
* @param req
* @return
*/
@RequestMapping
(
"group-overview-trend"
)
public
RestResponse
<
List
<
GroupChatOverviewVO
>>
groupOverviewTrend
(
@RequestBody
GroupChatOverviewReq
req
)
throws
ParseException
{
JSONObject
jsonObject
=
(
JSONObject
)
JSONObject
.
toJSON
(
req
);
storeAuthUtils
.
setCommonParam
(
jsonObject
,
new
StoreGroupCommonQO
().
setStoreGroupId
(
req
.
getStoreGroupId
()));
List
<
MapThreadHandlerRequest
>
list
=
new
ArrayList
<>();
jsonObject
.
put
(
"groupType"
,
1
);
list
.
add
(
new
MapThreadHandlerRequest
(
jsonObject
,
"data_mbr_scale_haoban_qw_group_chat_date"
,
"1_newGroupNum"
));
jsonObject
.
put
(
"groupType"
,
2
);
list
.
add
(
new
MapThreadHandlerRequest
(
jsonObject
,
"data_mbr_scale_haoban_qw_group_chat_date"
,
"2_actGroupNum"
));
jsonObject
.
put
(
"groupType"
,
3
);
list
.
add
(
new
MapThreadHandlerRequest
(
jsonObject
,
"data_mbr_scale_haoban_qw_group_chat_date"
,
"3_groupCustNum"
));
jsonObject
.
put
(
"groupType"
,
4
);
list
.
add
(
new
MapThreadHandlerRequest
(
jsonObject
,
"data_mbr_scale_haoban_qw_group_chat_date"
,
"4_newGroupCustNum"
));
jsonObject
.
put
(
"groupType"
,
5
);
list
.
add
(
new
MapThreadHandlerRequest
(
jsonObject
,
"data_mbr_scale_haoban_qw_group_chat_date"
,
"5_actGroupCustNum"
));
jsonObject
.
put
(
"groupType"
,
6
);
list
.
add
(
new
MapThreadHandlerRequest
(
jsonObject
,
"data_mbr_scale_haoban_qw_group_chat_date"
,
"6_newExitGroupCustNum"
));
jsonObject
.
put
(
"groupType"
,
7
);
list
.
add
(
new
MapThreadHandlerRequest
(
jsonObject
,
"data_mbr_scale_haoban_qw_group_chat_date"
,
"7_groupSessionsNum"
));
Map
<
String
,
List
<
JSONObject
>>
map
=
ConcurrencyUtils
.
concurrencyDataForMap
(
list
);
List
<
JSONObject
>
resultList
=
new
ArrayList
<>();
if
(
map
!=
null
)
{
map
.
forEach
((
k
,
v
)
->
{
if
(
CollectionUtils
.
isNotEmpty
(
v
))
{
for
(
JSONObject
tempJson
:
v
)
{
tempJson
.
put
(
k
.
substring
(
0
,
1
),
tempJson
.
get
(
k
.
substring
(
2
)));
}
resultList
.
addAll
(
v
);
}
});
}
Map
<
String
,
List
<
JSONObject
>>
voMap
=
resultList
.
stream
().
collect
(
Collectors
.
groupingBy
(
e
->
e
.
getString
(
"bizDate"
)));
List
<
String
>
dateList
=
DateUtil
.
getBetweenDates
(
req
.
getStartDate
(),
req
.
getEndDate
());
List
<
GroupChatOverviewVO
>
voList
=
new
ArrayList
<>();
for
(
String
date
:
dateList
)
{
GroupChatOverviewVO
vo
=
new
GroupChatOverviewVO
();
vo
.
setBizDate
(
date
);
List
<
JSONObject
>
mapValue
=
voMap
.
get
(
date
);
if
(
CollectionUtils
.
isNotEmpty
(
mapValue
))
{
for
(
JSONObject
tempJson
:
mapValue
)
{
if
(
tempJson
.
containsKey
(
"1"
))
{
vo
.
setNewGroupNum
(
tempJson
.
getInteger
(
"1"
));
}
if
(
tempJson
.
containsKey
(
"2"
))
{
vo
.
setActGroupNum
(
tempJson
.
getInteger
(
"2"
));
}
if
(
tempJson
.
containsKey
(
"3"
))
{
vo
.
setGroupCustNum
(
tempJson
.
getInteger
(
"3"
));
}
if
(
tempJson
.
containsKey
(
"4"
))
{
vo
.
setNewGroupCustNum
(
tempJson
.
getInteger
(
"4"
));
}
if
(
tempJson
.
containsKey
(
"5"
))
{
vo
.
setActGroupCustNum
(
tempJson
.
getInteger
(
"5"
));
}
if
(
tempJson
.
containsKey
(
"6"
))
{
vo
.
setNewExitGroupCustNum
(
tempJson
.
getInteger
(
"6"
));
}
if
(
tempJson
.
containsKey
(
"7"
))
{
vo
.
setGroupSessionsNum
(
tempJson
.
getInteger
(
"7"
));
}
}
}
voList
.
add
(
vo
);
}
return
RestResponse
.
successResult
(
voList
);
}
/**
* 群聊统计 群数据统计 门店维度
*
* *
*
* @param req
* @return
*/
@RequestMapping
(
"group-store-data"
)
public
RestResponse
<
DataPageVO
<
GroupChatStoreGroupVO
>>
groupStoreData
(
@RequestBody
GroupChatStoreGroupReq
req
)
{
JSONObject
jsonObject
=
new
JSONObject
();
req
.
dealWithParam
(
jsonObject
);
storeAuthUtils
.
setStoreGroupJsonParam
(
jsonObject
,
req
);
jsonObject
.
put
(
"apolloKey"
,
"data_mbr_scale_haoban_qw_group_chat_count"
);
jsonObject
.
put
(
"groupType"
,
1
);
DataPageVO
vo
=
storeAuthUtils
.
getDataCommon
(
jsonObject
.
toJSONString
(),
req
.
getPageNum
(),
"data_mbr_scale_haoban_background_loss_statisti"
,
req
.
getPageSize
(),
true
);
if
(
CollectionUtils
.
isNotEmpty
(
vo
.
getRows
()))
{
vo
.
setRows
(
JSONArray
.
parseArray
(
JSON
.
toJSONString
(
vo
.
getRows
()),
GroupChatStoreGroupVO
.
class
));
}
return
RestResponse
.
successResult
(
vo
);
}
/**
* 群聊统计 群数据统计 导购维度
*
*
* *
*
* @param req
* @return
*/
@RequestMapping
(
"group-clerk-data"
)
public
RestResponse
<
DataPageVO
<
GroupChatClerkVO
>>
groupClerkData
(
@RequestBody
GroupChatClerkReq
req
)
{
JSONObject
jsonObject
=
new
JSONObject
();
req
.
dealWithParam
(
jsonObject
);
storeAuthUtils
.
setCommonParam
(
jsonObject
,
new
StoreGroupCommonQO
());
jsonObject
.
put
(
"groupType"
,
2
);
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
jsonObject
.
toJSONString
(),
"data_mbr_scale_haoban_qw_group_chat_count"
);
Page
page
=
DataApiUtils
.
getPageData
(
res
);
DataPageVO
vo
=
new
DataPageVO
();
vo
.
setPageSize
(
page
.
getPageSize
());
vo
.
setPageNum
(
page
.
getCurrentPage
());
List
<
JSONObject
>
list
=
page
.
getResult
();
vo
.
setTotalNum
(
page
.
getTotalCount
());
jsonObject
.
put
(
"groupType"
,
1
);
jsonObject
.
put
(
"storeGroup"
,
8
);
JSONObject
total
=
storeAuthUtils
.
getTotalJson
(
jsonObject
,
"data_mbr_scale_haoban_qw_group_chat_count"
);
if
(
list
==
null
)
{
list
=
new
ArrayList
<>();
}
if
(
total
!=
null
)
{
total
.
put
(
"clerkName"
,
"合计("
+
list
.
size
()
+
")"
);
list
.
add
(
0
,
total
);
}
vo
.
setRows
(
list
);
if
(
CollectionUtils
.
isNotEmpty
(
vo
.
getRows
()))
{
vo
.
setRows
(
JSONArray
.
parseArray
(
JSON
.
toJSONString
(
vo
.
getRows
()),
GroupChatClerkVO
.
class
));
}
return
RestResponse
.
successResult
(
vo
);
}
/**
* 群聊统计 群数据统计 门店维度 数据导出
*
*
* *
*
* @param req
* @return
*/
@RequestMapping
(
value
=
"export-group-store-data"
)
public
RestResponse
<
Object
>
exportGroupStoreData
(
@RequestBody
GroupChatStoreGroupReq
req
)
{
DownloadTask
task
=
new
DownloadTask
();
task
.
setTaskTypeEnum
(
TaskTypeEnum
.
GROUP_CHAT_STORE_DATE
);
task
.
setDataType
(
req
.
getDataType
());
task
.
setUser
(
getUserInfo
());
task
.
setTotalCount
(
groupStoreData
(
req
).
getResult
().
getTotalNum
());
JSONObject
jsonObject
=
new
JSONObject
();
req
.
dealWithParam
(
jsonObject
);
storeAuthUtils
.
setStoreGroupJsonParam
(
jsonObject
,
req
);
jsonObject
.
put
(
"apolloKey"
,
"data_mbr_scale_haoban_qw_group_chat_count"
);
jsonObject
.
put
(
"groupType"
,
1
);
//Excel的标题是字段进行计算
List
<
String
>
indexList
=
new
ArrayList
<>();
List
<
String
>
fieldList
=
new
ArrayList
<>();
Integer
storeGroup
=
jsonObject
.
getInteger
(
"storeGroup"
);
boolean
isStore
=
storeGroup
!=
null
&&
storeGroup
==
7
;
if
(
isStore
)
{
indexList
.
add
(
"门店名称"
);
fieldList
.
add
(
"storeName"
);
indexList
.
add
(
"门店code"
);
fieldList
.
add
(
"storeCode"
);
}
else
{
indexList
.
add
(
"分组名称"
);
fieldList
.
add
(
"storeGroupName"
);
}
indexList
.
add
(
"上级分组"
);
fieldList
.
add
(
"parentStoreGroupName"
);
indexList
.
add
(
"群总数"
);
fieldList
.
add
(
"groupNum"
);
indexList
.
add
(
"新增群数"
);
fieldList
.
add
(
"newGroupNum"
);
indexList
.
add
(
"活跃群数"
);
fieldList
.
add
(
"actGroupNum"
);
indexList
.
add
(
"群总人数"
);
fieldList
.
add
(
"groupCustNum"
);
indexList
.
add
(
"新增群人数"
);
fieldList
.
add
(
"newGroupCustNum"
);
indexList
.
add
(
"活跃群人数"
);
fieldList
.
add
(
"actGroupCustNum"
);
indexList
.
add
(
"新退群人数"
);
fieldList
.
add
(
"newExitGroupCustNum"
);
indexList
.
add
(
"群会话总条数"
);
fieldList
.
add
(
"groupSessionsNum"
);
task
.
setFileName
(
"好办群聊统计-门店维度-"
+
req
.
getStartDate
()
+
"_"
+
req
.
getEndDate
());
task
.
setChannelName
(
"数据-会话数据-群聊统计"
);
task
.
setBucketName
(
BucketNameEnum
.
REPORT_50000
.
getName
());
jsonObject
.
put
(
"indexList"
,
indexList
);
jsonObject
.
put
(
"fieldList"
,
fieldList
);
task
.
setSearchDataParams
(
jsonObject
.
toJSONString
());
task
.
setHandler
(
groupStoreDataHandle
);
JSONResponse
downloadTask
=
DownloadTaskUtil
.
createDownloadTask
(
task
);
return
RestResponse
.
successResult
(
downloadTask
.
getResult
());
}
/**
* 群聊统计 群数据统计 导购维度 数据导出
*
*
*
* *
*
* @param req
* @return
*/
@RequestMapping
(
value
=
"export-group-clerk-data"
)
public
RestResponse
<
Object
>
exportGroupClerkData
(
@RequestBody
GroupChatClerkReq
req
)
{
DownloadTask
task
=
new
DownloadTask
();
task
.
setTaskTypeEnum
(
TaskTypeEnum
.
GROUP_CHAT_CLERK_DATE
);
task
.
setDataType
(
req
.
getDataType
());
task
.
setUser
(
getUserInfo
());
task
.
setTotalCount
(
groupClerkData
(
req
).
getResult
().
getTotalNum
());
JSONObject
jsonObject
=
new
JSONObject
();
req
.
dealWithParam
(
jsonObject
);
storeAuthUtils
.
setCommonParam
(
jsonObject
,
new
StoreGroupCommonQO
());
jsonObject
.
put
(
"apolloKey"
,
"data_mbr_scale_haoban_qw_group_chat_count"
);
jsonObject
.
put
(
"groupType"
,
2
);
//Excel的标题是字段进行计算
List
<
String
>
indexList
=
new
ArrayList
<>();
List
<
String
>
fieldList
=
new
ArrayList
<>();
indexList
.
add
(
"导购姓名"
);
fieldList
.
add
(
"clerkName"
);
indexList
.
add
(
"导购code"
);
fieldList
.
add
(
"clerkCode"
);
indexList
.
add
(
"门店名称"
);
fieldList
.
add
(
"storeName"
);
indexList
.
add
(
"门店code"
);
fieldList
.
add
(
"storeCode"
);
indexList
.
add
(
"群总数"
);
fieldList
.
add
(
"groupNum"
);
indexList
.
add
(
"新增群数"
);
fieldList
.
add
(
"newGroupNum"
);
indexList
.
add
(
"活跃群数"
);
fieldList
.
add
(
"actGroupNum"
);
indexList
.
add
(
"群总人数"
);
fieldList
.
add
(
"groupCustNum"
);
indexList
.
add
(
"新增群人数"
);
fieldList
.
add
(
"newGroupCustNum"
);
indexList
.
add
(
"活跃群人数"
);
fieldList
.
add
(
"actGroupCustNum"
);
indexList
.
add
(
"新退群人数"
);
fieldList
.
add
(
"newExitGroupCustNum"
);
indexList
.
add
(
"群会话总条数"
);
fieldList
.
add
(
"groupSessionsNum"
);
task
.
setFileName
(
"好办群聊统计-导购维度-"
+
req
.
getStartDate
()
+
"_"
+
req
.
getEndDate
());
task
.
setChannelName
(
"数据-会话数据-群聊统计"
);
task
.
setBucketName
(
BucketNameEnum
.
REPORT_50000
.
getName
());
jsonObject
.
put
(
"indexList"
,
indexList
);
jsonObject
.
put
(
"fieldList"
,
fieldList
);
task
.
setSearchDataParams
(
jsonObject
.
toJSONString
());
task
.
setHandler
(
groupClerkDataHandle
);
JSONResponse
downloadTask
=
DownloadTaskUtil
.
createDownloadTask
(
task
);
return
RestResponse
.
successResult
(
downloadTask
.
getResult
());
}
/**
* 群聊统计 群数据明细
* *
*
* @param req
* @return
*/
@RequestMapping
(
"group-data-details"
)
public
RestResponse
<
DataPageVO
<
GroupChatDetailVO
>>
groupDataDetails
(
@RequestBody
GroupChatDetailReq
req
)
{
JSONObject
jsonObject
=
new
JSONObject
();
req
.
dealWithParam
(
jsonObject
);
storeAuthUtils
.
setCommonParam
(
jsonObject
,
new
StoreGroupCommonQO
());
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
jsonObject
.
toJSONString
(),
"data_mbr_scale_haoban_qw_group_chat_detail"
);
Page
page
=
DataApiUtils
.
getPageData
(
res
);
DataPageVO
<
GroupChatDetailVO
>
vo
=
new
DataPageVO
();
vo
.
setPageSize
(
page
.
getPageSize
());
vo
.
setPageNum
(
page
.
getCurrentPage
());
List
<
JSONObject
>
list
=
page
.
getResult
();
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
List
<
GroupChatDetailVO
>
voList
=
JSONArray
.
parseArray
(
JSON
.
toJSONString
(
list
),
GroupChatDetailVO
.
class
);
vo
.
setRows
(
voList
);
}
vo
.
setTotalNum
(
page
.
getTotalCount
());
return
RestResponse
.
successResult
(
vo
);
}
/**
* 群聊统计 群数据明细 数据导出
*
* * *
* *
*
* @param req
* @return
*/
@RequestMapping
(
"export-group-data-details"
)
public
RestResponse
<
Object
>
exportGroupDataDetails
(
@RequestBody
GroupChatDetailReq
req
)
{
DownloadTask
task
=
new
DownloadTask
();
task
.
setTaskTypeEnum
(
TaskTypeEnum
.
GROUP_CHAT_DETAIL_DATE
);
task
.
setDataType
(
req
.
getDataType
());
task
.
setUser
(
getUserInfo
());
task
.
setTotalCount
(
groupDataDetails
(
req
).
getResult
().
getTotalNum
());
JSONObject
jsonObject
=
new
JSONObject
();
req
.
dealWithParam
(
jsonObject
);
storeAuthUtils
.
setCommonParam
(
jsonObject
,
new
StoreGroupCommonQO
());
jsonObject
.
put
(
"apolloKey"
,
"data_mbr_scale_haoban_qw_group_chat_detail"
);
//Excel的标题是字段进行计算
List
<
String
>
indexList
=
new
ArrayList
<>();
List
<
String
>
fieldList
=
new
ArrayList
<>();
indexList
.
add
(
"群名称"
);
fieldList
.
add
(
"groupChatName"
);
indexList
.
add
(
"群ID"
);
fieldList
.
add
(
"groupChatId"
);
indexList
.
add
(
"群主姓名"
);
fieldList
.
add
(
"staffName"
);
indexList
.
add
(
"导购姓名"
);
fieldList
.
add
(
"clerkName"
);
indexList
.
add
(
"导购code"
);
fieldList
.
add
(
"clerkCode"
);
indexList
.
add
(
"导购所属门店名称"
);
fieldList
.
add
(
"storeName"
);
indexList
.
add
(
"导购所属门店code"
);
fieldList
.
add
(
"storeCode"
);
indexList
.
add
(
"群总人数"
);
fieldList
.
add
(
"groupCustNum"
);
indexList
.
add
(
"新增群人数"
);
fieldList
.
add
(
"newGroupCustNum"
);
indexList
.
add
(
"活跃群人数"
);
fieldList
.
add
(
"actGroupCustNum"
);
indexList
.
add
(
"新退群人数"
);
fieldList
.
add
(
"newExitGroupCustNum"
);
indexList
.
add
(
"群会话总条数"
);
fieldList
.
add
(
"groupSessionsNum"
);
task
.
setFileName
(
"好办群聊统计-群数据明细-"
+
req
.
getStartDate
()
+
"_"
+
req
.
getEndDate
());
task
.
setChannelName
(
"数据-会话数据-群聊统计"
);
task
.
setBucketName
(
BucketNameEnum
.
REPORT_50000
.
getName
());
jsonObject
.
put
(
"indexList"
,
indexList
);
jsonObject
.
put
(
"fieldList"
,
fieldList
);
task
.
setSearchDataParams
(
jsonObject
.
toJSONString
());
task
.
setHandler
(
groupDetailsHandle
);
JSONResponse
downloadTask
=
DownloadTaskUtil
.
createDownloadTask
(
task
);
return
RestResponse
.
successResult
(
downloadTask
.
getResult
());
}
/**
* 群聊统计 入群明细
* *
*
* @param req
* @return
*/
@RequestMapping
(
"join-group-details"
)
public
RestResponse
<
DataPageVO
<
GroupChatJoinDetailVO
>>
joinGroupDetails
(
@RequestBody
GroupChatJoinDetailReq
req
)
{
JSONObject
jsonObject
=
new
JSONObject
();
req
.
dealWithParam
(
jsonObject
);
storeAuthUtils
.
setCommonParam
(
jsonObject
,
new
StoreGroupCommonQO
());
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
jsonObject
.
toJSONString
(),
"data_mbr_scale_haoban_qw_group_chat_join"
);
Page
page
=
DataApiUtils
.
getPageData
(
res
);
DataPageVO
<
GroupChatJoinDetailVO
>
vo
=
new
DataPageVO
();
vo
.
setPageSize
(
page
.
getPageSize
());
vo
.
setPageNum
(
page
.
getCurrentPage
());
List
<
JSONObject
>
list
=
page
.
getResult
();
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
List
<
GroupChatJoinDetailVO
>
voList
=
JSONArray
.
parseArray
(
JSON
.
toJSONString
(
list
),
GroupChatJoinDetailVO
.
class
);
vo
.
setRows
(
voList
);
}
vo
.
setTotalNum
(
page
.
getTotalCount
());
return
RestResponse
.
successResult
(
vo
);
}
/**
* 群聊统计 入群明细 数据导出
*
* * *
* *
*
* @param req
* @return
*/
@RequestMapping
(
"export-join-group-details"
)
public
RestResponse
<
Object
>
exportJoinGroupDetails
(
@RequestBody
GroupChatJoinDetailReq
req
)
{
DownloadTask
task
=
new
DownloadTask
();
task
.
setTaskTypeEnum
(
TaskTypeEnum
.
GROUP_CHAT_JOIN_DATE
);
task
.
setDataType
(
req
.
getDataType
());
task
.
setUser
(
getUserInfo
());
task
.
setTotalCount
(
joinGroupDetails
(
req
).
getResult
().
getTotalNum
());
JSONObject
jsonObject
=
new
JSONObject
();
req
.
dealWithParam
(
jsonObject
);
storeAuthUtils
.
setCommonParam
(
jsonObject
,
new
StoreGroupCommonQO
());
jsonObject
.
put
(
"apolloKey"
,
"data_mbr_scale_haoban_qw_group_chat_join"
);
//Excel的标题是字段进行计算
List
<
String
>
indexList
=
new
ArrayList
<>();
List
<
String
>
fieldList
=
new
ArrayList
<>();
indexList
.
add
(
"入群成员姓名"
);
fieldList
.
add
(
"memberName"
);
indexList
.
add
(
"入群成员昵称"
);
fieldList
.
add
(
"memberNick"
);
indexList
.
add
(
"入群成员手机号/code"
);
fieldList
.
add
(
"memberNumber"
);
indexList
.
add
(
"用户身份"
);
fieldList
.
add
(
"userType"
);
indexList
.
add
(
"群名称"
);
fieldList
.
add
(
"groupChatName"
);
indexList
.
add
(
"群ID"
);
fieldList
.
add
(
"groupChatId"
);
indexList
.
add
(
"群主姓名"
);
fieldList
.
add
(
"staffName"
);
indexList
.
add
(
"群主关联导购姓名"
);
fieldList
.
add
(
"clerkName"
);
indexList
.
add
(
"群主关联导购code"
);
fieldList
.
add
(
"clerkCode"
);
indexList
.
add
(
"群主关联门店名称"
);
fieldList
.
add
(
"storeName"
);
indexList
.
add
(
"群主关联门店code"
);
fieldList
.
add
(
"storeCode"
);
indexList
.
add
(
"入群方式"
);
fieldList
.
add
(
"joinScene"
);
indexList
.
add
(
"邀请人姓名"
);
fieldList
.
add
(
"invitorUserName"
);
indexList
.
add
(
"邀请人code"
);
fieldList
.
add
(
"invitorUserName"
);
indexList
.
add
(
"入群时间"
);
fieldList
.
add
(
"joinTime"
);
task
.
setFileName
(
"好办群聊统计-入群明细-"
+
req
.
getStartDate
()
+
"_"
+
req
.
getEndDate
());
task
.
setChannelName
(
"数据-会话数据-群聊统计"
);
task
.
setBucketName
(
BucketNameEnum
.
REPORT_50000
.
getName
());
jsonObject
.
put
(
"indexList"
,
indexList
);
jsonObject
.
put
(
"fieldList"
,
fieldList
);
task
.
setSearchDataParams
(
jsonObject
.
toJSONString
());
task
.
setHandler
(
groupJoinHandle
);
JSONResponse
downloadTask
=
DownloadTaskUtil
.
createDownloadTask
(
task
);
return
RestResponse
.
successResult
(
downloadTask
.
getResult
());
}
/**
* 群聊统计 退群明细
* *
*
* @param req
* @return
*/
@RequestMapping
(
"exit-group-details"
)
public
RestResponse
<
DataPageVO
<
GroupChatExitDetailVO
>>
exitGroupDetails
(
@RequestBody
GroupChatExitDetailReq
req
)
{
JSONObject
jsonObject
=
new
JSONObject
();
req
.
dealWithParam
(
jsonObject
);
storeAuthUtils
.
setCommonParam
(
jsonObject
,
new
StoreGroupCommonQO
());
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
jsonObject
.
toJSONString
(),
"data_mbr_scale_haoban_qw_group_chat_exit"
);
Page
page
=
DataApiUtils
.
getPageData
(
res
);
DataPageVO
<
GroupChatExitDetailVO
>
vo
=
new
DataPageVO
();
vo
.
setPageSize
(
page
.
getPageSize
());
vo
.
setPageNum
(
page
.
getCurrentPage
());
List
<
JSONObject
>
list
=
page
.
getResult
();
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
List
<
GroupChatExitDetailVO
>
voList
=
JSONArray
.
parseArray
(
JSON
.
toJSONString
(
list
),
GroupChatExitDetailVO
.
class
);
vo
.
setRows
(
voList
);
}
vo
.
setTotalNum
(
page
.
getTotalCount
());
return
RestResponse
.
successResult
(
vo
);
}
/**
* 群聊统计 退群明细 数据导出
*
* * *
* *
*
* @param req
* @return
*/
@RequestMapping
(
"export-exit-group-details"
)
public
RestResponse
<
Object
>
exportExitGroupDetails
(
@RequestBody
GroupChatExitDetailReq
req
)
{
DownloadTask
task
=
new
DownloadTask
();
task
.
setTaskTypeEnum
(
TaskTypeEnum
.
GROUP_CHAT_EXIT_DATE
);
task
.
setDataType
(
req
.
getDataType
());
task
.
setUser
(
getUserInfo
());
task
.
setTotalCount
(
exitGroupDetails
(
req
).
getResult
().
getTotalNum
());
JSONObject
jsonObject
=
new
JSONObject
();
req
.
dealWithParam
(
jsonObject
);
storeAuthUtils
.
setCommonParam
(
jsonObject
,
new
StoreGroupCommonQO
());
jsonObject
.
put
(
"apolloKey"
,
"data_mbr_scale_haoban_qw_group_chat_exit"
);
//Excel的标题是字段进行计算
List
<
String
>
indexList
=
new
ArrayList
<>();
List
<
String
>
fieldList
=
new
ArrayList
<>();
indexList
.
add
(
"退群成员姓名"
);
fieldList
.
add
(
"memberName"
);
indexList
.
add
(
"退群成员昵称"
);
fieldList
.
add
(
"memberNick"
);
indexList
.
add
(
"退群成员手机号/code"
);
fieldList
.
add
(
"memberNumber"
);
indexList
.
add
(
"用户身份"
);
fieldList
.
add
(
"userType"
);
indexList
.
add
(
"群名称"
);
fieldList
.
add
(
"groupChatName"
);
indexList
.
add
(
"群ID"
);
fieldList
.
add
(
"groupChatId"
);
indexList
.
add
(
"群主姓名"
);
fieldList
.
add
(
"staffName"
);
indexList
.
add
(
"群主关联导购姓名"
);
fieldList
.
add
(
"clerkName"
);
indexList
.
add
(
"群主关联导购code"
);
fieldList
.
add
(
"clerkCode"
);
indexList
.
add
(
"群主关联门店名称"
);
fieldList
.
add
(
"storeName"
);
indexList
.
add
(
"群主关联门店code"
);
fieldList
.
add
(
"storeCode"
);
indexList
.
add
(
"退群时间"
);
fieldList
.
add
(
"userQuitTime"
);
task
.
setFileName
(
"好办群聊统计-退群明细-"
+
req
.
getStartDate
()
+
"_"
+
req
.
getEndDate
());
task
.
setChannelName
(
"数据-会话数据-群聊统计"
);
task
.
setBucketName
(
BucketNameEnum
.
REPORT_50000
.
getName
());
jsonObject
.
put
(
"indexList"
,
indexList
);
jsonObject
.
put
(
"fieldList"
,
fieldList
);
task
.
setSearchDataParams
(
jsonObject
.
toJSONString
());
task
.
setHandler
(
groupExitHandle
);
JSONResponse
downloadTask
=
DownloadTaskUtil
.
createDownloadTask
(
task
);
return
RestResponse
.
successResult
(
downloadTask
.
getResult
());
}
/**
* 群聊统计 会话明细
* *
*
* @param req
* @return
*/
@RequestMapping
(
"group-chat-details"
)
public
RestResponse
<
DataPageVO
<
GroupChatChatDetailVO
>>
groupChatDetails
(
@RequestBody
GroupChatChatDetailReq
req
)
{
JSONObject
jsonObject
=
new
JSONObject
();
req
.
dealWithParam
(
jsonObject
);
storeAuthUtils
.
setCommonParam
(
jsonObject
,
new
StoreGroupCommonQO
());
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
jsonObject
.
toJSONString
(),
"data_mbr_scale_haoban_qw_group_chat_con_detail"
);
Page
page
=
DataApiUtils
.
getPageData
(
res
);
DataPageVO
<
GroupChatChatDetailVO
>
vo
=
new
DataPageVO
();
vo
.
setPageSize
(
page
.
getPageSize
());
vo
.
setPageNum
(
page
.
getCurrentPage
());
List
<
JSONObject
>
list
=
page
.
getResult
();
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
List
<
GroupChatChatDetailVO
>
voList
=
JSONArray
.
parseArray
(
JSON
.
toJSONString
(
list
),
GroupChatChatDetailVO
.
class
);
vo
.
setRows
(
voList
);
}
vo
.
setTotalNum
(
page
.
getTotalCount
());
return
RestResponse
.
successResult
(
vo
);
}
/**
* 群聊统计 会话明细 数据导出
*
*
* @param req
* @return
*/
@RequestMapping
(
"/export-group-chat-details"
)
public
RestResponse
<
Object
>
exportGroupChatDetails
(
@RequestBody
GroupChatChatDetailReq
req
)
{
DownloadTask
task
=
new
DownloadTask
();
task
.
setTaskTypeEnum
(
TaskTypeEnum
.
GROUP_CHAT_CHAT_DATE
);
task
.
setDataType
(
req
.
getDataType
());
task
.
setUser
(
getUserInfo
());
task
.
setTotalCount
(
groupChatDetails
(
req
).
getResult
().
getTotalNum
());
JSONObject
jsonObject
=
new
JSONObject
();
req
.
dealWithParam
(
jsonObject
);
storeAuthUtils
.
setCommonParam
(
jsonObject
,
new
StoreGroupCommonQO
());
jsonObject
.
put
(
"apolloKey"
,
"data_mbr_scale_haoban_qw_group_chat_con_detail"
);
//Excel的标题是字段进行计算
List
<
String
>
indexList
=
new
ArrayList
<>();
List
<
String
>
fieldList
=
new
ArrayList
<>();
indexList
.
add
(
"客户姓名"
);
fieldList
.
add
(
"memberName"
);
indexList
.
add
(
"客户昵称"
);
fieldList
.
add
(
"memberNick"
);
indexList
.
add
(
"客户手机号"
);
fieldList
.
add
(
"memberPhone"
);
indexList
.
add
(
"企微成员姓名"
);
fieldList
.
add
(
"clerkName"
);
indexList
.
add
(
"企微成员code"
);
fieldList
.
add
(
"clerkCode"
);
indexList
.
add
(
"会话发送人身份"
);
fieldList
.
add
(
"userType"
);
indexList
.
add
(
"群名称"
);
fieldList
.
add
(
"groupChatName"
);
indexList
.
add
(
"群ID"
);
fieldList
.
add
(
"groupChatId"
);
indexList
.
add
(
"群主姓名"
);
fieldList
.
add
(
"staffName"
);
indexList
.
add
(
"群主关联导购姓名"
);
fieldList
.
add
(
"clerkName"
);
indexList
.
add
(
"群主关联导购code"
);
fieldList
.
add
(
"clerkCode"
);
indexList
.
add
(
"群主关联门店名称"
);
fieldList
.
add
(
"storeName"
);
indexList
.
add
(
"群主关联门店code"
);
fieldList
.
add
(
"storeCode"
);
indexList
.
add
(
"会话类型"
);
fieldList
.
add
(
"msgType"
);
indexList
.
add
(
"会话内容"
);
fieldList
.
add
(
"content"
);
indexList
.
add
(
"会话时间"
);
fieldList
.
add
(
"sendTime"
);
task
.
setFileName
(
"好办群聊统计-会话明细-"
+
req
.
getStartDate
()
+
"_"
+
req
.
getEndDate
());
task
.
setChannelName
(
"数据-会话数据-群聊统计"
);
task
.
setBucketName
(
BucketNameEnum
.
REPORT_50000
.
getName
());
jsonObject
.
put
(
"indexList"
,
indexList
);
jsonObject
.
put
(
"fieldList"
,
fieldList
);
task
.
setSearchDataParams
(
jsonObject
.
toJSONString
());
task
.
setHandler
(
groupChatDetailsHandle
);
JSONResponse
downloadTask
=
DownloadTaskUtil
.
createDownloadTask
(
task
);
return
RestResponse
.
successResult
(
downloadTask
.
getResult
());
}
private
AuthorizedUser
getUserInfo
()
{
return
AuthorizedUserUtils
.
getUserInfo
();
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/UserController.java
View file @
9c6142af
...
@@ -3,12 +3,19 @@ package com.gic.haoban.manage.web.controller;
...
@@ -3,12 +3,19 @@ package com.gic.haoban.manage.web.controller;
import
com.gic.api.base.commons.Page
;
import
com.gic.api.base.commons.Page
;
import
com.gic.clerk.api.dto.AuthorizedUser
;
import
com.gic.clerk.api.dto.AuthorizedUser
;
import
com.gic.clerk.api.dto.ClerkDTO
;
import
com.gic.clerk.api.dto.ClerkDTO
;
import
com.gic.clerk.api.dto.PowerClerkDTO
;
import
com.gic.clerk.api.service.ClerkService
;
import
com.gic.clerk.api.service.ClerkService
;
import
com.gic.clerk.api.service.PowerService
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.commons.webapi.reponse.RestResponse
;
import
com.gic.commons.webapi.reponse.RestResponse
;
import
com.gic.enterprise.api.dto.EnterpriseSettingDTO
;
import
com.gic.enterprise.api.dto.StoreWidgetDTO
;
import
com.gic.enterprise.api.service.EnterpriseService
;
import
com.gic.enterprise.api.service.StoreWidgetService
;
import
com.gic.haoban.manage.web.vo.ClerkListVO
;
import
com.gic.haoban.manage.web.vo.ClerkListVO
;
import
com.gic.web.common.utils.SessionContextUtils
;
import
com.gic.web.common.utils.SessionContextUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.apache.logging.log4j.Logger
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -17,16 +24,26 @@ import org.springframework.web.bind.annotation.RequestMapping;
...
@@ -17,16 +24,26 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Objects
;
@Controller
@Controller
public
class
UserController
{
public
class
UserController
{
private
static
final
Logger
LOGGER
=
LogManager
.
getLogger
(
UserController
.
class
);
private
static
final
Logger
LOGGER
=
LogManager
.
getLogger
(
UserController
.
class
);
@Autowired
@Autowired
private
ClerkService
clerkService
;
private
ClerkService
clerkService
;
@Autowired
private
EnterpriseService
enterpriseService
;
@Autowired
private
StoreWidgetService
storeWidgetService
;
@Autowired
private
PowerService
powerService
;
@RequestMapping
(
"list-user-by-search-name"
)
@RequestMapping
(
"list-user-by-search-name"
)
@ResponseBody
@ResponseBody
public
RestResponse
listUserBySearchName
(
String
searchName
,
Integer
pageNum
,
Integer
pageSize
)
{
public
RestResponse
listUserBySearchName
(
String
searchName
,
Integer
pageNum
,
Integer
pageSize
)
{
...
@@ -46,4 +63,29 @@ public class UserController{
...
@@ -46,4 +63,29 @@ public class UserController{
}
}
return
RestResponse
.
successResult
(
result
);
return
RestResponse
.
successResult
(
result
);
}
}
@RequestMapping
(
"get-user-store-power"
)
@ResponseBody
public
RestResponse
<
Integer
>
getUserStorePower
()
{
AuthorizedUser
user
=
SessionContextUtils
.
getLoginUser
();
EnterpriseSettingDTO
setting
=
enterpriseService
.
getEnterpriseSettingByEnterpriseId
(
user
.
getEnterpriseId
());
if
(
Objects
.
isNull
(
setting
.
getEnableAccessControl
())
||
setting
.
getEnableAccessControl
()
!=
1
)
{
return
RestResponse
.
successResult
(
0
);
}
PowerClerkDTO
clerkDetail
=
powerService
.
getClerkDetail
(
user
.
getUserId
());
if
(
Objects
.
isNull
(
clerkDetail
)){
return
RestResponse
.
failure
(
"999"
,
"用户不存在"
);
}
// 空,代表超管
if
(
StringUtils
.
isEmpty
(
clerkDetail
.
getStoreWidgetId
())){
return
RestResponse
.
successResult
(
0
);
}
StoreWidgetDTO
storeWidget
=
storeWidgetService
.
getStoreWidgetBykey
(
clerkDetail
.
getStoreWidgetId
());
return
RestResponse
.
successResult
(
storeWidget
.
getSelectType
());
}
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/handle/GroupChatDetailsHandle.java
0 → 100644
View file @
9c6142af
package
com
.
gic
.
haoban
.
manage
.
web
.
handle
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.api.base.commons.Page
;
import
com.gic.commons.util.DataApiUtils
;
import
com.gic.enterprise.api.dto.security.DownloadReportDTO
;
import
com.gic.haoban.manage.web.vo.chat.GroupChatChatDetailVO
;
import
com.gic.haoban.manage.web.vo.chat.GroupChatDetailVO
;
import
com.gic.web.common.download.DownloadHandlerAbstract
;
import
com.gic.web.common.download.context.Context
;
import
com.google.common.collect.Lists
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author shangfeng
* @date 2024-06-21 11:36:34
*/
@Component
public
class
GroupChatDetailsHandle
extends
DownloadHandlerAbstract
<
GroupChatChatDetailVO
>
{
private
static
final
Logger
LOGGER
=
LogManager
.
getLogger
(
GroupChatDetailsHandle
.
class
);
@Override
public
List
<
GroupChatChatDetailVO
>
getData
(
Context
context
,
String
searchDataParams
,
Integer
currentPage
)
{
JSONObject
jsonObject
=
JSON
.
parseObject
(
searchDataParams
);
jsonObject
.
put
(
"pageNum"
,
currentPage
);
jsonObject
.
put
(
"pageSize"
,
getPageSize
());
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
jsonObject
.
toJSONString
(),
"data_mbr_scale_haoban_qw_group_chat_con_detail"
);
List
<
JSONObject
>
list
=
DataApiUtils
.
getPageList
(
res
);
jsonObject
.
put
(
"groupType"
,
1
);
jsonObject
.
put
(
"storeGroup"
,
8
);
if
(
list
==
null
)
{
list
=
new
ArrayList
<>();
}
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
List
<
GroupChatChatDetailVO
>
result
=
JSONObject
.
parseArray
(
JSON
.
toJSONString
(
list
),
GroupChatChatDetailVO
.
class
);
return
result
;
}
return
Lists
.
newArrayList
();
}
@Override
public
List
<
String
>
getColumnNames
()
{
return
Lists
.
newArrayList
();
}
@Override
public
List
<
String
>
getColumnNames
(
Context
context
)
{
DownloadReportDTO
downloadReportDTO
=
context
.
getDownloadReportDTO
();
String
searchDataParams
=
downloadReportDTO
.
getSearchDataParams
();
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
searchDataParams
);
List
<
String
>
list
=
(
List
<
String
>)
jsonObject
.
get
(
"indexList"
);
return
list
;
}
@Override
public
LinkedHashMap
<
String
,
List
<
String
>>
doubleColumnNames
()
{
return
null
;
}
@Override
public
List
<
String
>
getColumns
()
{
return
Lists
.
newArrayList
();
}
@Override
public
List
<
String
>
getColumns
(
Context
context
)
{
DownloadReportDTO
downloadReportDTO
=
context
.
getDownloadReportDTO
();
String
searchDataParams
=
downloadReportDTO
.
getSearchDataParams
();
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
searchDataParams
);
List
<
String
>
list
=
(
List
<
String
>)
jsonObject
.
get
(
"fieldList"
);
return
list
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/handle/GroupClerkDataHandle.java
0 → 100644
View file @
9c6142af
package
com
.
gic
.
haoban
.
manage
.
web
.
handle
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.api.base.commons.Page
;
import
com.gic.commons.util.DataApiUtils
;
import
com.gic.enterprise.api.dto.security.DownloadReportDTO
;
import
com.gic.haoban.manage.web.vo.chat.GroupChatChatDetailVO
;
import
com.gic.haoban.manage.web.vo.chat.GroupChatClerkVO
;
import
com.gic.haoban.manage.web.vo.chat.GroupChatDetailVO
;
import
com.gic.web.common.download.DownloadHandlerAbstract
;
import
com.gic.web.common.download.context.Context
;
import
com.google.common.collect.Lists
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author shangfeng
* @date 2024-06-21 11:34:49
*/
@Component
public
class
GroupClerkDataHandle
extends
DownloadHandlerAbstract
<
GroupChatClerkVO
>
{
private
static
final
Logger
LOGGER
=
LogManager
.
getLogger
(
GroupClerkDataHandle
.
class
);
@Override
public
List
<
GroupChatClerkVO
>
getData
(
Context
context
,
String
searchDataParams
,
Integer
currentPage
)
{
JSONObject
jsonObject
=
JSON
.
parseObject
(
searchDataParams
);
jsonObject
.
put
(
"pageNum"
,
currentPage
);
jsonObject
.
put
(
"pageSize"
,
getPageSize
());
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
jsonObject
.
toJSONString
(),
"data_mbr_scale_haoban_qw_group_chat_count"
);
List
<
JSONObject
>
list
=
DataApiUtils
.
getPageList
(
res
);
jsonObject
.
put
(
"groupType"
,
1
);
jsonObject
.
put
(
"storeGroup"
,
8
);
if
(
list
==
null
)
{
list
=
new
ArrayList
<>();
}
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
List
<
GroupChatClerkVO
>
result
=
JSONObject
.
parseArray
(
JSON
.
toJSONString
(
list
),
GroupChatClerkVO
.
class
);
return
result
;
}
return
Lists
.
newArrayList
();
}
@Override
public
List
<
String
>
getColumnNames
()
{
return
Lists
.
newArrayList
();
}
@Override
public
List
<
String
>
getColumnNames
(
Context
context
)
{
DownloadReportDTO
downloadReportDTO
=
context
.
getDownloadReportDTO
();
String
searchDataParams
=
downloadReportDTO
.
getSearchDataParams
();
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
searchDataParams
);
List
<
String
>
list
=
(
List
<
String
>)
jsonObject
.
get
(
"indexList"
);
return
list
;
}
@Override
public
LinkedHashMap
<
String
,
List
<
String
>>
doubleColumnNames
()
{
return
null
;
}
@Override
public
List
<
String
>
getColumns
()
{
return
Lists
.
newArrayList
();
}
@Override
public
List
<
String
>
getColumns
(
Context
context
)
{
DownloadReportDTO
downloadReportDTO
=
context
.
getDownloadReportDTO
();
String
searchDataParams
=
downloadReportDTO
.
getSearchDataParams
();
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
searchDataParams
);
List
<
String
>
list
=
(
List
<
String
>)
jsonObject
.
get
(
"fieldList"
);
return
list
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/handle/GroupDetailsHandle.java
0 → 100644
View file @
9c6142af
package
com
.
gic
.
haoban
.
manage
.
web
.
handle
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.api.base.commons.Page
;
import
com.gic.commons.util.DataApiUtils
;
import
com.gic.enterprise.api.dto.security.DownloadReportDTO
;
import
com.gic.haoban.manage.web.vo.chat.GroupChatClerkVO
;
import
com.gic.haoban.manage.web.vo.chat.GroupChatDetailVO
;
import
com.gic.haoban.manage.web.vo.chat.SingleChatStoreGroupVO
;
import
com.gic.web.common.download.DownloadHandlerAbstract
;
import
com.gic.web.common.download.context.Context
;
import
com.google.common.collect.Lists
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author shangfeng
* @date 2024-06-21 11:34:49
*/
@Component
public
class
GroupDetailsHandle
extends
DownloadHandlerAbstract
<
GroupChatDetailVO
>
{
private
static
final
Logger
LOGGER
=
LogManager
.
getLogger
(
GroupDetailsHandle
.
class
);
@Override
public
List
<
GroupChatDetailVO
>
getData
(
Context
context
,
String
searchDataParams
,
Integer
currentPage
)
{
JSONObject
jsonObject
=
JSON
.
parseObject
(
searchDataParams
);
jsonObject
.
put
(
"pageNum"
,
currentPage
);
jsonObject
.
put
(
"pageSize"
,
getPageSize
());
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
jsonObject
.
toJSONString
(),
"data_mbr_scale_haoban_qw_group_chat_detail"
);
List
<
JSONObject
>
list
=
DataApiUtils
.
getPageList
(
res
);
if
(
list
==
null
)
{
list
=
new
ArrayList
<>();
}
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
List
<
GroupChatDetailVO
>
result
=
JSONObject
.
parseArray
(
JSON
.
toJSONString
(
list
),
GroupChatDetailVO
.
class
);
return
result
;
}
return
Lists
.
newArrayList
();
}
@Override
public
List
<
String
>
getColumnNames
()
{
return
Lists
.
newArrayList
();
}
@Override
public
List
<
String
>
getColumnNames
(
Context
context
)
{
DownloadReportDTO
downloadReportDTO
=
context
.
getDownloadReportDTO
();
String
searchDataParams
=
downloadReportDTO
.
getSearchDataParams
();
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
searchDataParams
);
List
<
String
>
list
=
(
List
<
String
>)
jsonObject
.
get
(
"indexList"
);
return
list
;
}
@Override
public
LinkedHashMap
<
String
,
List
<
String
>>
doubleColumnNames
()
{
return
null
;
}
@Override
public
List
<
String
>
getColumns
()
{
return
Lists
.
newArrayList
();
}
@Override
public
List
<
String
>
getColumns
(
Context
context
)
{
DownloadReportDTO
downloadReportDTO
=
context
.
getDownloadReportDTO
();
String
searchDataParams
=
downloadReportDTO
.
getSearchDataParams
();
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
searchDataParams
);
List
<
String
>
list
=
(
List
<
String
>)
jsonObject
.
get
(
"fieldList"
);
return
list
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/handle/GroupExitHandle.java
0 → 100644
View file @
9c6142af
package
com
.
gic
.
haoban
.
manage
.
web
.
handle
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.api.base.commons.Page
;
import
com.gic.commons.util.DataApiUtils
;
import
com.gic.enterprise.api.dto.security.DownloadReportDTO
;
import
com.gic.haoban.manage.web.vo.chat.GroupChatClerkVO
;
import
com.gic.haoban.manage.web.vo.chat.GroupChatDetailVO
;
import
com.gic.haoban.manage.web.vo.chat.GroupChatExitDetailVO
;
import
com.gic.web.common.download.DownloadHandlerAbstract
;
import
com.gic.web.common.download.context.Context
;
import
com.google.common.collect.Lists
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author shangfeng
* @date 2024-06-21 11:34:49
*/
@Component
public
class
GroupExitHandle
extends
DownloadHandlerAbstract
<
GroupChatExitDetailVO
>
{
private
static
final
Logger
LOGGER
=
LogManager
.
getLogger
(
GroupExitHandle
.
class
);
@Override
public
List
<
GroupChatExitDetailVO
>
getData
(
Context
context
,
String
searchDataParams
,
Integer
currentPage
)
{
JSONObject
jsonObject
=
JSON
.
parseObject
(
searchDataParams
);
jsonObject
.
put
(
"pageNum"
,
currentPage
);
jsonObject
.
put
(
"pageSize"
,
getPageSize
());
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
jsonObject
.
toJSONString
(),
"data_mbr_scale_haoban_qw_group_chat_exit"
);
List
<
JSONObject
>
list
=
DataApiUtils
.
getPageList
(
res
);
jsonObject
.
put
(
"groupType"
,
1
);
jsonObject
.
put
(
"storeGroup"
,
8
);
if
(
list
==
null
)
{
list
=
new
ArrayList
<>();
}
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
List
<
GroupChatExitDetailVO
>
result
=
JSONObject
.
parseArray
(
JSON
.
toJSONString
(
list
),
GroupChatExitDetailVO
.
class
);
return
result
;
}
return
Lists
.
newArrayList
();
}
@Override
public
List
<
String
>
getColumnNames
()
{
return
Lists
.
newArrayList
();
}
@Override
public
List
<
String
>
getColumnNames
(
Context
context
)
{
DownloadReportDTO
downloadReportDTO
=
context
.
getDownloadReportDTO
();
String
searchDataParams
=
downloadReportDTO
.
getSearchDataParams
();
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
searchDataParams
);
List
<
String
>
list
=
(
List
<
String
>)
jsonObject
.
get
(
"indexList"
);
return
list
;
}
@Override
public
LinkedHashMap
<
String
,
List
<
String
>>
doubleColumnNames
()
{
return
null
;
}
@Override
public
List
<
String
>
getColumns
()
{
return
Lists
.
newArrayList
();
}
@Override
public
List
<
String
>
getColumns
(
Context
context
)
{
DownloadReportDTO
downloadReportDTO
=
context
.
getDownloadReportDTO
();
String
searchDataParams
=
downloadReportDTO
.
getSearchDataParams
();
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
searchDataParams
);
List
<
String
>
list
=
(
List
<
String
>)
jsonObject
.
get
(
"fieldList"
);
return
list
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/handle/GroupJoinHandle.java
0 → 100644
View file @
9c6142af
package
com
.
gic
.
haoban
.
manage
.
web
.
handle
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.api.base.commons.Page
;
import
com.gic.commons.util.DataApiUtils
;
import
com.gic.enterprise.api.dto.security.DownloadReportDTO
;
import
com.gic.haoban.manage.web.vo.chat.GroupChatClerkVO
;
import
com.gic.haoban.manage.web.vo.chat.GroupChatDetailVO
;
import
com.gic.haoban.manage.web.vo.chat.GroupChatJoinDetailVO
;
import
com.gic.web.common.download.DownloadHandlerAbstract
;
import
com.gic.web.common.download.context.Context
;
import
com.google.common.collect.Lists
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author shangfeng
* @date 2024-06-21 11:34:49
*/
@Component
public
class
GroupJoinHandle
extends
DownloadHandlerAbstract
<
GroupChatJoinDetailVO
>
{
private
static
final
Logger
LOGGER
=
LogManager
.
getLogger
(
GroupJoinHandle
.
class
);
@Override
public
List
<
GroupChatJoinDetailVO
>
getData
(
Context
context
,
String
searchDataParams
,
Integer
currentPage
)
{
JSONObject
jsonObject
=
JSON
.
parseObject
(
searchDataParams
);
jsonObject
.
put
(
"pageNum"
,
currentPage
);
jsonObject
.
put
(
"pageSize"
,
getPageSize
());
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
jsonObject
.
toJSONString
(),
"data_mbr_scale_haoban_qw_group_chat_join"
);
List
<
JSONObject
>
list
=
DataApiUtils
.
getPageList
(
res
);
if
(
list
==
null
)
{
list
=
new
ArrayList
<>();
}
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
List
<
GroupChatJoinDetailVO
>
result
=
JSONObject
.
parseArray
(
JSON
.
toJSONString
(
list
),
GroupChatJoinDetailVO
.
class
);
result
.
forEach
(
groupChatJoinDetailVO
->
{
if
(
StringUtils
.
isNotEmpty
(
groupChatJoinDetailVO
.
getUserType
()))
{
groupChatJoinDetailVO
.
setUserType
(
getUserTypeDesc
(
groupChatJoinDetailVO
.
getUserType
()));
}
if
(
StringUtils
.
isNotEmpty
(
groupChatJoinDetailVO
.
getJoinScene
()))
{
groupChatJoinDetailVO
.
setJoinScene
(
getJoinSceneDesc
(
groupChatJoinDetailVO
.
getJoinScene
()));
}
});
return
result
;
}
return
Lists
.
newArrayList
();
}
@Override
public
List
<
String
>
getColumnNames
()
{
return
Lists
.
newArrayList
();
}
@Override
public
List
<
String
>
getColumnNames
(
Context
context
)
{
DownloadReportDTO
downloadReportDTO
=
context
.
getDownloadReportDTO
();
String
searchDataParams
=
downloadReportDTO
.
getSearchDataParams
();
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
searchDataParams
);
List
<
String
>
list
=
(
List
<
String
>)
jsonObject
.
get
(
"indexList"
);
return
list
;
}
@Override
public
LinkedHashMap
<
String
,
List
<
String
>>
doubleColumnNames
()
{
return
null
;
}
@Override
public
List
<
String
>
getColumns
()
{
return
Lists
.
newArrayList
();
}
@Override
public
List
<
String
>
getColumns
(
Context
context
)
{
DownloadReportDTO
downloadReportDTO
=
context
.
getDownloadReportDTO
();
String
searchDataParams
=
downloadReportDTO
.
getSearchDataParams
();
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
searchDataParams
);
List
<
String
>
list
=
(
List
<
String
>)
jsonObject
.
get
(
"fieldList"
);
return
list
;
}
private
String
getUserTypeDesc
(
String
userType
)
{
switch
(
userType
)
{
case
"1"
:
return
"内部成员"
;
case
"2"
:
return
"外部成员"
;
case
"3"
:
return
"客户"
;
default
:
return
""
;
}
}
private
String
getJoinSceneDesc
(
String
userType
)
{
switch
(
userType
)
{
case
"1"
:
return
"群成员直接邀请入群"
;
case
"2"
:
return
"群成员邀请链接入群"
;
case
"3"
:
return
"通过扫描群二维码入群"
;
default
:
return
""
;
}
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/handle/GroupStoreDataHandle.java
0 → 100644
View file @
9c6142af
package
com
.
gic
.
haoban
.
manage
.
web
.
handle
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.api.base.commons.Page
;
import
com.gic.commons.util.DataApiUtils
;
import
com.gic.enterprise.api.dto.security.DownloadReportDTO
;
import
com.gic.haoban.manage.web.vo.chat.GroupChatClerkVO
;
import
com.gic.haoban.manage.web.vo.chat.GroupChatDetailVO
;
import
com.gic.haoban.manage.web.vo.chat.GroupChatStoreGroupVO
;
import
com.gic.web.common.download.DownloadHandlerAbstract
;
import
com.gic.web.common.download.context.Context
;
import
com.google.common.collect.Lists
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author shangfeng
* @date 2024-06-21 11:34:49
*/
@Component
public
class
GroupStoreDataHandle
extends
DownloadHandlerAbstract
<
GroupChatStoreGroupVO
>
{
private
static
final
Logger
LOGGER
=
LogManager
.
getLogger
(
GroupStoreDataHandle
.
class
);
@Override
public
List
<
GroupChatStoreGroupVO
>
getData
(
Context
context
,
String
searchDataParams
,
Integer
currentPage
)
{
boolean
isFirst
=
currentPage
!=
null
&&
currentPage
==
1
;
if
(
isFirst
)
{
LOGGER
.
info
(
"好办单聊统计-门店维度-导出日志"
);
}
JSONObject
jsonObject
=
JSON
.
parseObject
(
searchDataParams
);
jsonObject
.
put
(
"pageNum"
,
currentPage
);
jsonObject
.
put
(
"pageSize"
,
getPageSize
());
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
jsonObject
.
toJSONString
(),
"data_mbr_scale_haoban_qw_group_chat_count"
);
List
<
JSONObject
>
list
=
DataApiUtils
.
getPageList
(
res
);
jsonObject
.
put
(
"groupType"
,
1
);
jsonObject
.
put
(
"storeGroup"
,
8
);
if
(
list
==
null
)
{
list
=
new
ArrayList
<>();
}
if
(
isFirst
)
{
Map
<
String
,
Object
>
totalRes
=
DataApiUtils
.
http
(
jsonObject
.
toJSONString
(),
"data_mbr_scale_haoban_qw_group_chat_count"
);
Page
page
=
DataApiUtils
.
getPageData
(
totalRes
);
if
(
page
!=
null
)
{
List
<
JSONObject
>
totalList
=
page
.
getResult
();
if
(
CollectionUtils
.
isNotEmpty
(
totalList
))
{
JSONObject
total
=
totalList
.
get
(
0
);
total
.
put
(
"clerkName"
,
"合计("
+
page
.
getTotalCount
()
+
")"
);
list
.
add
(
0
,
total
);
}
}
}
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
List
<
GroupChatStoreGroupVO
>
result
=
JSONObject
.
parseArray
(
JSON
.
toJSONString
(
list
),
GroupChatStoreGroupVO
.
class
);
return
result
;
}
return
Lists
.
newArrayList
();
}
@Override
public
List
<
String
>
getColumnNames
()
{
return
Lists
.
newArrayList
();
}
@Override
public
List
<
String
>
getColumnNames
(
Context
context
)
{
DownloadReportDTO
downloadReportDTO
=
context
.
getDownloadReportDTO
();
String
searchDataParams
=
downloadReportDTO
.
getSearchDataParams
();
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
searchDataParams
);
List
<
String
>
list
=
(
List
<
String
>)
jsonObject
.
get
(
"indexList"
);
return
list
;
}
@Override
public
LinkedHashMap
<
String
,
List
<
String
>>
doubleColumnNames
()
{
return
null
;
}
@Override
public
List
<
String
>
getColumns
()
{
return
Lists
.
newArrayList
();
}
@Override
public
List
<
String
>
getColumns
(
Context
context
)
{
DownloadReportDTO
downloadReportDTO
=
context
.
getDownloadReportDTO
();
String
searchDataParams
=
downloadReportDTO
.
getSearchDataParams
();
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
searchDataParams
);
List
<
String
>
list
=
(
List
<
String
>)
jsonObject
.
get
(
"fieldList"
);
return
list
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/handle/SingleChatClerkDataHandle.java
0 → 100644
View file @
9c6142af
package
com
.
gic
.
haoban
.
manage
.
web
.
handle
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.enterprise.api.dto.security.DownloadReportDTO
;
import
com.gic.haoban.manage.web.utils.data.StoreAuthUtils
;
import
com.gic.haoban.manage.web.vo.chat.GroupChatClerkVO
;
import
com.gic.haoban.manage.web.vo.chat.SingleChatClerkVO
;
import
com.gic.haoban.manage.web.vo.wechatwork.WechatWorkLostStoreGroupVO
;
import
com.gic.web.common.download.DownloadHandlerAbstract
;
import
com.gic.web.common.download.context.Context
;
import
com.google.common.collect.Lists
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.util.Collections
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
/**
* @author shangfeng
* @date 2024-06-21 11:33:54
*/
@Component
public
class
SingleChatClerkDataHandle
extends
DownloadHandlerAbstract
<
SingleChatClerkVO
>
{
private
static
final
Logger
LOGGER
=
LogManager
.
getLogger
(
WechatWorkLostStoreGroupHandle
.
class
);
@Autowired
private
StoreAuthUtils
storeAuthUtils
;
@Override
public
List
<
SingleChatClerkVO
>
getData
(
Context
context
,
String
searchDataParams
,
Integer
currentPage
)
{
List
<
JSONObject
>
list
=
storeAuthUtils
.
getDataCommon
(
searchDataParams
,
currentPage
,
"好办单聊统计-导购维度-导出日志"
,
getPageSize
(),
false
).
getRows
();
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
List
<
SingleChatClerkVO
>
result
=
JSONObject
.
parseArray
(
JSON
.
toJSONString
(
list
),
SingleChatClerkVO
.
class
);
return
result
;
}
return
Lists
.
newArrayList
();
}
@Override
public
List
<
String
>
getColumnNames
()
{
return
Lists
.
newArrayList
();
}
@Override
public
List
<
String
>
getColumnNames
(
Context
context
){
DownloadReportDTO
downloadReportDTO
=
context
.
getDownloadReportDTO
();
String
searchDataParams
=
downloadReportDTO
.
getSearchDataParams
();
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
searchDataParams
);
List
<
String
>
list
=
(
List
<
String
>)
jsonObject
.
get
(
"indexList"
);
return
list
;
}
@Override
public
LinkedHashMap
<
String
,
List
<
String
>>
doubleColumnNames
()
{
return
null
;
}
@Override
public
List
<
String
>
getColumns
()
{
return
Lists
.
newArrayList
();
}
@Override
public
List
<
String
>
getColumns
(
Context
context
)
{
DownloadReportDTO
downloadReportDTO
=
context
.
getDownloadReportDTO
();
String
searchDataParams
=
downloadReportDTO
.
getSearchDataParams
();
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
searchDataParams
);
List
<
String
>
list
=
(
List
<
String
>)
jsonObject
.
get
(
"fieldList"
);
return
list
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/handle/SingleChatDetailsHandle.java
0 → 100644
View file @
9c6142af
package
com
.
gic
.
haoban
.
manage
.
web
.
handle
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.commons.util.DataApiUtils
;
import
com.gic.enterprise.api.dto.security.DownloadReportDTO
;
import
com.gic.haoban.manage.web.utils.data.StoreAuthUtils
;
import
com.gic.haoban.manage.web.vo.chat.GroupChatClerkVO
;
import
com.gic.haoban.manage.web.vo.chat.SingleChatDetailVO
;
import
com.gic.haoban.manage.web.vo.wechatwork.WechatWorkLostDetailVO
;
import
com.gic.web.common.download.DownloadHandlerAbstract
;
import
com.gic.web.common.download.context.Context
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.util.Collections
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author shangfeng
* @date 2024-06-21 11:34:23
*/
@Component
public
class
SingleChatDetailsHandle
extends
DownloadHandlerAbstract
<
SingleChatDetailVO
>
{
private
static
final
Logger
LOGGER
=
LogManager
.
getLogger
(
SingleChatDetailsHandle
.
class
);
@Autowired
private
StoreAuthUtils
storeAuthUtils
;
@Override
public
List
<
SingleChatDetailVO
>
getData
(
Context
context
,
String
searchDataParams
,
Integer
currentPage
)
{
JSONObject
jsonObject
=
JSON
.
parseObject
(
searchDataParams
);
jsonObject
.
put
(
"pageNum"
,
currentPage
);
jsonObject
.
put
(
"pageSize"
,
getPageSize
());
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
jsonObject
.
toJSONString
(),
"data_mbr_scale_haoban_qw_chat_detail"
);
List
<
JSONObject
>
list
=
DataApiUtils
.
getPageList
(
res
);
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
List
<
SingleChatDetailVO
>
result
=
JSONObject
.
parseArray
(
JSON
.
toJSONString
(
list
),
SingleChatDetailVO
.
class
);
return
result
;
}
return
Collections
.
EMPTY_LIST
;
}
@Override
public
List
<
String
>
getColumnNames
()
{
return
Collections
.
EMPTY_LIST
;
}
@Override
public
List
<
String
>
getColumnNames
(
Context
context
)
{
DownloadReportDTO
downloadReportDTO
=
context
.
getDownloadReportDTO
();
String
searchDataParams
=
downloadReportDTO
.
getSearchDataParams
();
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
searchDataParams
);
List
<
String
>
list
=
(
List
<
String
>)
jsonObject
.
get
(
"indexList"
);
return
list
;
}
@Override
public
LinkedHashMap
<
String
,
List
<
String
>>
doubleColumnNames
()
{
return
null
;
}
@Override
public
List
<
String
>
getColumns
()
{
return
Collections
.
EMPTY_LIST
;
}
@Override
public
List
<
String
>
getColumns
(
Context
context
)
{
DownloadReportDTO
downloadReportDTO
=
context
.
getDownloadReportDTO
();
String
searchDataParams
=
downloadReportDTO
.
getSearchDataParams
();
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
searchDataParams
);
List
<
String
>
list
=
(
List
<
String
>)
jsonObject
.
get
(
"fieldList"
);
return
list
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/handle/SingleChatStoreDataHandle.java
0 → 100644
View file @
9c6142af
package
com
.
gic
.
haoban
.
manage
.
web
.
handle
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.api.base.commons.Page
;
import
com.gic.commons.util.DataApiUtils
;
import
com.gic.enterprise.api.dto.security.DownloadReportDTO
;
import
com.gic.haoban.manage.web.vo.chat.SingleChatStoreGroupVO
;
import
com.gic.haoban.manage.web.vo.wechatwork.WechatWorkLostClerkVO
;
import
com.gic.web.common.download.DownloadHandlerAbstract
;
import
com.gic.web.common.download.context.Context
;
import
com.google.common.collect.Lists
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.springframework.stereotype.Component
;
import
java.util.*
;
/**
* @author shangfeng
* @date 2024-06-21 11:33:18
*/
@Component
public
class
SingleChatStoreDataHandle
extends
DownloadHandlerAbstract
<
SingleChatStoreGroupVO
>
{
private
static
final
Logger
LOGGER
=
LogManager
.
getLogger
(
SingleChatStoreDataHandle
.
class
);
@Override
public
List
<
SingleChatStoreGroupVO
>
getData
(
Context
context
,
String
searchDataParams
,
Integer
currentPage
)
{
boolean
isFirst
=
currentPage
!=
null
&&
currentPage
==
1
;
if
(
isFirst
)
{
LOGGER
.
info
(
"好办单聊统计-门店维度-导出日志"
);
}
JSONObject
jsonObject
=
JSON
.
parseObject
(
searchDataParams
);
jsonObject
.
put
(
"pageNum"
,
currentPage
);
jsonObject
.
put
(
"pageSize"
,
getPageSize
());
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
jsonObject
.
toJSONString
(),
"data_mbr_scale_haoban_qw_chat_count"
);
List
<
JSONObject
>
list
=
DataApiUtils
.
getPageList
(
res
);
jsonObject
.
put
(
"groupType"
,
1
);
jsonObject
.
put
(
"storeGroup"
,
8
);
if
(
list
==
null
)
{
list
=
new
ArrayList
<>();
}
if
(
isFirst
)
{
Map
<
String
,
Object
>
totalRes
=
DataApiUtils
.
http
(
jsonObject
.
toJSONString
(),
"data_mbr_scale_haoban_qw_chat_count"
);
Page
page
=
DataApiUtils
.
getPageData
(
totalRes
);
if
(
page
!=
null
)
{
List
<
JSONObject
>
totalList
=
page
.
getResult
();
if
(
CollectionUtils
.
isNotEmpty
(
totalList
))
{
JSONObject
total
=
totalList
.
get
(
0
);
total
.
put
(
"clerkName"
,
"合计("
+
page
.
getTotalCount
()
+
")"
);
list
.
add
(
0
,
total
);
}
}
}
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
List
<
SingleChatStoreGroupVO
>
result
=
JSONObject
.
parseArray
(
JSON
.
toJSONString
(
list
),
SingleChatStoreGroupVO
.
class
);
return
result
;
}
return
Lists
.
newArrayList
();
}
@Override
public
List
<
String
>
getColumnNames
()
{
return
Lists
.
newArrayList
();
}
@Override
public
List
<
String
>
getColumnNames
(
Context
context
)
{
DownloadReportDTO
downloadReportDTO
=
context
.
getDownloadReportDTO
();
String
searchDataParams
=
downloadReportDTO
.
getSearchDataParams
();
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
searchDataParams
);
List
<
String
>
list
=
(
List
<
String
>)
jsonObject
.
get
(
"indexList"
);
return
list
;
}
@Override
public
LinkedHashMap
<
String
,
List
<
String
>>
doubleColumnNames
()
{
return
null
;
}
@Override
public
List
<
String
>
getColumns
()
{
return
Lists
.
newArrayList
();
}
@Override
public
List
<
String
>
getColumns
(
Context
context
)
{
DownloadReportDTO
downloadReportDTO
=
context
.
getDownloadReportDTO
();
String
searchDataParams
=
downloadReportDTO
.
getSearchDataParams
();
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
searchDataParams
);
List
<
String
>
list
=
(
List
<
String
>)
jsonObject
.
get
(
"fieldList"
);
return
list
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/qo/chat/GroupChatChatDetailReq.java
0 → 100644
View file @
9c6142af
package
com
.
gic
.
haoban
.
manage
.
web
.
qo
.
chat
;
import
com.alibaba.fastjson.JSONObject
;
import
org.apache.commons.lang3.StringUtils
;
import
java.io.Serializable
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @author shangfeng
* @date 2024-06-20 16:02:41
*/
public
class
GroupChatChatDetailReq
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
6843739232435242253L
;
/**
* yyyy-MM-dd
*/
private
String
startDate
;
/**
* yyyy-MM-dd
*/
private
String
endDate
;
/**
* 导购模糊查询
*/
private
String
vagueQueryClerk
;
/**
* 用户模糊查询
*/
private
String
vagueQueryUser
;
/**
* 用户身份
*/
private
String
userType
;
/**
* 消息类型
* 1文本2图片3视频4小程序5链接6gif表情7红包8文件9位置10名片11视频电话12语音电话
*/
private
String
msgType
;
/**
* 排序类型 1 正序 2 倒序
*/
private
Integer
orderByType
;
/**
* 排序字段名称
*/
private
String
orderByFields
;
private
Integer
pageNum
;
private
Integer
pageSize
;
/**
* 下载导出参数:数据脱敏 1:脱敏 2:完整
*/
private
Integer
dataType
=
1
;
/**
* 下载导出参数:为了兼容前端传参
*/
private
String
requestProject
;
public
Integer
getDataApiOrderField
()
{
Map
<
String
,
Integer
>
map
=
new
HashMap
<>(
4
);
map
.
put
(
"joinTime"
,
1
);
return
map
.
get
(
orderByFields
)
==
null
?
1
:
map
.
get
(
orderByFields
);
}
public
void
dealWithParam
(
JSONObject
jsonObject
)
{
if
(
jsonObject
==
null
)
{
jsonObject
=
new
JSONObject
();
}
if
(
StringUtils
.
isNotBlank
(
startDate
))
{
jsonObject
.
put
(
"startDate"
,
startDate
);
}
if
(
StringUtils
.
isNotBlank
(
endDate
))
{
jsonObject
.
put
(
"endDate"
,
endDate
);
}
if
(
orderByType
!=
null
)
{
jsonObject
.
put
(
"orderByType"
,
orderByType
);
}
if
(
msgType
!=
null
)
{
jsonObject
.
put
(
"msgType"
,
msgType
);
}
if
(
orderByFields
!=
null
)
{
jsonObject
.
put
(
"orderByFields"
,
getDataApiOrderField
());
}
jsonObject
.
put
(
"pageNum"
,
pageNum
);
jsonObject
.
put
(
"pageSize"
,
pageSize
);
if
(
StringUtils
.
isNotBlank
(
vagueQueryClerk
))
{
jsonObject
.
put
(
"vagueQueryClerk"
,
vagueQueryClerk
);
}
if
(
StringUtils
.
isNotBlank
(
vagueQueryUser
))
{
jsonObject
.
put
(
"vagueQueryUser"
,
vagueQueryUser
);
jsonObject
.
put
(
"phoneNum"
,
vagueQueryUser
);
}
if
(
StringUtils
.
isNotBlank
(
userType
))
{
jsonObject
.
put
(
"userType"
,
userType
);
}
}
public
String
getStartDate
()
{
return
startDate
;
}
public
void
setStartDate
(
String
startDate
)
{
this
.
startDate
=
startDate
;
}
public
String
getEndDate
()
{
return
endDate
;
}
public
void
setEndDate
(
String
endDate
)
{
this
.
endDate
=
endDate
;
}
public
String
getVagueQueryClerk
()
{
return
vagueQueryClerk
;
}
public
void
setVagueQueryClerk
(
String
vagueQueryClerk
)
{
this
.
vagueQueryClerk
=
vagueQueryClerk
;
}
public
String
getVagueQueryUser
()
{
return
vagueQueryUser
;
}
public
void
setVagueQueryUser
(
String
vagueQueryUser
)
{
this
.
vagueQueryUser
=
vagueQueryUser
;
}
public
String
getUserType
()
{
return
userType
;
}
public
void
setUserType
(
String
userType
)
{
this
.
userType
=
userType
;
}
public
Integer
getOrderByType
()
{
return
orderByType
;
}
public
void
setOrderByType
(
Integer
orderByType
)
{
this
.
orderByType
=
orderByType
;
}
public
String
getOrderByFields
()
{
return
orderByFields
;
}
public
void
setOrderByFields
(
String
orderByFields
)
{
this
.
orderByFields
=
orderByFields
;
}
public
Integer
getPageNum
()
{
return
pageNum
;
}
public
void
setPageNum
(
Integer
pageNum
)
{
this
.
pageNum
=
pageNum
;
}
public
Integer
getPageSize
()
{
return
pageSize
;
}
public
void
setPageSize
(
Integer
pageSize
)
{
this
.
pageSize
=
pageSize
;
}
public
Integer
getDataType
()
{
return
dataType
;
}
public
void
setDataType
(
Integer
dataType
)
{
this
.
dataType
=
dataType
;
}
public
String
getMsgType
()
{
return
msgType
;
}
public
void
setMsgType
(
String
msgType
)
{
this
.
msgType
=
msgType
;
}
public
String
getRequestProject
()
{
return
requestProject
;
}
public
void
setRequestProject
(
String
requestProject
)
{
this
.
requestProject
=
requestProject
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/qo/chat/GroupChatClerkReq.java
0 → 100644
View file @
9c6142af
package
com
.
gic
.
haoban
.
manage
.
web
.
qo
.
chat
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.haoban.manage.web.qo.wechatwork.StoreGroupCommonQO
;
import
org.apache.commons.lang3.StringUtils
;
import
java.io.Serializable
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @author shangfeng
* @date 2024-06-20 13:58:17
*/
public
class
GroupChatClerkReq
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1280733007919174215L
;
/**
* yyyy-MM-dd
*/
private
String
startDate
;
/**
* yyyy-MM-dd
*/
private
String
endDate
;
/**
* 门店名称/code
*/
private
String
vagueQueryStore
;
/**
* 导购名称/code
*/
private
String
vagueQueryClerk
;
/**
* 排序类型 1 正序 2 倒序
*/
private
Integer
orderByType
;
/**
* 排序字段名称
*/
private
String
orderByFields
;
private
Integer
pageNum
;
private
Integer
pageSize
;
/**
* 下载导出参数:数据脱敏 1:脱敏 2:完整
*/
private
Integer
dataType
=
1
;
/**
* 下载导出参数:为了兼容前端传参
*/
private
String
requestProject
;
public
Integer
getDataApiOrderField
()
{
Map
<
String
,
Integer
>
map
=
new
HashMap
<>(
8
);
map
.
put
(
"onewayFriendNum"
,
1
);
map
.
put
(
"totalLostNum"
,
2
);
map
.
put
(
"deleteSalesNum"
,
3
);
map
.
put
(
"salesDeleteNum"
,
4
);
return
map
.
get
(
orderByFields
)
==
null
?
1
:
map
.
get
(
orderByFields
);
}
public
void
dealWithParam
(
JSONObject
jsonObject
)
{
if
(
jsonObject
==
null
)
{
jsonObject
=
new
JSONObject
();
}
if
(
StringUtils
.
isNotBlank
(
startDate
))
{
jsonObject
.
put
(
"startDate"
,
startDate
);
}
if
(
StringUtils
.
isNotBlank
(
endDate
))
{
jsonObject
.
put
(
"endDate"
,
endDate
);
}
if
(
orderByType
!=
null
)
{
jsonObject
.
put
(
"orderByType"
,
orderByType
);
}
if
(
orderByFields
!=
null
)
{
jsonObject
.
put
(
"orderByFields"
,
getDataApiOrderField
());
}
jsonObject
.
put
(
"pageNum"
,
pageNum
);
jsonObject
.
put
(
"pageSize"
,
pageSize
);
if
(
StringUtils
.
isNotBlank
(
vagueQueryClerk
))
{
jsonObject
.
put
(
"vagueQueryClerk"
,
vagueQueryClerk
);
}
if
(
StringUtils
.
isNotBlank
(
vagueQueryStore
))
{
jsonObject
.
put
(
"vagueQueryStore"
,
vagueQueryStore
);
}
}
public
String
getStartDate
()
{
return
startDate
;
}
public
void
setStartDate
(
String
startDate
)
{
this
.
startDate
=
startDate
;
}
public
String
getEndDate
()
{
return
endDate
;
}
public
void
setEndDate
(
String
endDate
)
{
this
.
endDate
=
endDate
;
}
public
String
getVagueQueryStore
()
{
return
vagueQueryStore
;
}
public
void
setVagueQueryStore
(
String
vagueQueryStore
)
{
this
.
vagueQueryStore
=
vagueQueryStore
;
}
public
String
getVagueQueryClerk
()
{
return
vagueQueryClerk
;
}
public
void
setVagueQueryClerk
(
String
vagueQueryClerk
)
{
this
.
vagueQueryClerk
=
vagueQueryClerk
;
}
public
Integer
getOrderByType
()
{
return
orderByType
;
}
public
void
setOrderByType
(
Integer
orderByType
)
{
this
.
orderByType
=
orderByType
;
}
public
String
getOrderByFields
()
{
return
orderByFields
;
}
public
void
setOrderByFields
(
String
orderByFields
)
{
this
.
orderByFields
=
orderByFields
;
}
public
Integer
getPageNum
()
{
return
pageNum
;
}
public
void
setPageNum
(
Integer
pageNum
)
{
this
.
pageNum
=
pageNum
;
}
public
Integer
getPageSize
()
{
return
pageSize
;
}
public
void
setPageSize
(
Integer
pageSize
)
{
this
.
pageSize
=
pageSize
;
}
public
Integer
getDataType
()
{
return
dataType
;
}
public
void
setDataType
(
Integer
dataType
)
{
this
.
dataType
=
dataType
;
}
public
String
getRequestProject
()
{
return
requestProject
;
}
public
void
setRequestProject
(
String
requestProject
)
{
this
.
requestProject
=
requestProject
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/qo/chat/GroupChatDetailReq.java
0 → 100644
View file @
9c6142af
package
com
.
gic
.
haoban
.
manage
.
web
.
qo
.
chat
;
import
com.alibaba.fastjson.JSONObject
;
import
org.apache.commons.lang3.StringUtils
;
import
java.io.Serializable
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @author shangfeng
* @date 2024-06-20 14:30:30
*/
public
class
GroupChatDetailReq
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
7059200818173428309L
;
/**
* yyyy-MM-dd
*/
private
String
startDate
;
/**
* yyyy-MM-dd
*/
private
String
endDate
;
/**
* 门店模糊
*/
private
String
vagueQueryStore
;
/**
* 导购名称/code
*/
private
String
vagueQueryClerk
;
/**
* 成员模糊
*/
private
String
vagueQueryStaff
;
/**
* 排序类型 1 正序 2 倒序
*/
private
Integer
orderByType
;
/**
* 排序字段名称
*/
private
String
orderByFields
;
private
Integer
pageNum
;
private
Integer
pageSize
;
/**
* 下载导出参数:数据脱敏 1:脱敏 2:完整
*/
private
Integer
dataType
=
1
;
/**
* 下载导出参数:为了兼容前端传参
*/
private
String
requestProject
;
public
Integer
getDataApiOrderField
()
{
Map
<
String
,
Integer
>
map
=
new
HashMap
<>(
8
);
map
.
put
(
"groupCustNum"
,
1
);
map
.
put
(
"newGroupCustNum"
,
2
);
map
.
put
(
"actGroupCustNum"
,
3
);
map
.
put
(
"newExitGroupCustNum"
,
4
);
map
.
put
(
"groupSessionsNum"
,
5
);
return
map
.
get
(
orderByFields
)
==
null
?
1
:
map
.
get
(
orderByFields
);
}
public
void
dealWithParam
(
JSONObject
jsonObject
)
{
if
(
jsonObject
==
null
)
{
jsonObject
=
new
JSONObject
();
}
if
(
StringUtils
.
isNotBlank
(
startDate
))
{
jsonObject
.
put
(
"startDate"
,
startDate
);
}
if
(
StringUtils
.
isNotBlank
(
endDate
))
{
jsonObject
.
put
(
"endDate"
,
endDate
);
}
if
(
orderByType
!=
null
)
{
jsonObject
.
put
(
"orderByType"
,
orderByType
);
}
if
(
orderByFields
!=
null
)
{
jsonObject
.
put
(
"orderByFields"
,
getDataApiOrderField
());
}
jsonObject
.
put
(
"pageNum"
,
pageNum
);
jsonObject
.
put
(
"pageSize"
,
pageSize
);
if
(
StringUtils
.
isNotBlank
(
vagueQueryClerk
))
{
jsonObject
.
put
(
"vagueQueryClerk"
,
vagueQueryClerk
);
}
if
(
StringUtils
.
isNotBlank
(
vagueQueryStore
))
{
jsonObject
.
put
(
"vagueQueryStore"
,
vagueQueryStore
);
}
if
(
StringUtils
.
isNotBlank
(
vagueQueryStaff
))
{
jsonObject
.
put
(
"vagueQueryStaff"
,
vagueQueryStaff
);
}
}
public
String
getStartDate
()
{
return
startDate
;
}
public
void
setStartDate
(
String
startDate
)
{
this
.
startDate
=
startDate
;
}
public
String
getEndDate
()
{
return
endDate
;
}
public
void
setEndDate
(
String
endDate
)
{
this
.
endDate
=
endDate
;
}
public
String
getVagueQueryStore
()
{
return
vagueQueryStore
;
}
public
void
setVagueQueryStore
(
String
vagueQueryStore
)
{
this
.
vagueQueryStore
=
vagueQueryStore
;
}
public
String
getVagueQueryClerk
()
{
return
vagueQueryClerk
;
}
public
void
setVagueQueryClerk
(
String
vagueQueryClerk
)
{
this
.
vagueQueryClerk
=
vagueQueryClerk
;
}
public
String
getVagueQueryStaff
()
{
return
vagueQueryStaff
;
}
public
void
setVagueQueryStaff
(
String
vagueQueryStaff
)
{
this
.
vagueQueryStaff
=
vagueQueryStaff
;
}
public
Integer
getOrderByType
()
{
return
orderByType
;
}
public
void
setOrderByType
(
Integer
orderByType
)
{
this
.
orderByType
=
orderByType
;
}
public
String
getOrderByFields
()
{
return
orderByFields
;
}
public
void
setOrderByFields
(
String
orderByFields
)
{
this
.
orderByFields
=
orderByFields
;
}
public
Integer
getPageNum
()
{
return
pageNum
;
}
public
void
setPageNum
(
Integer
pageNum
)
{
this
.
pageNum
=
pageNum
;
}
public
Integer
getPageSize
()
{
return
pageSize
;
}
public
void
setPageSize
(
Integer
pageSize
)
{
this
.
pageSize
=
pageSize
;
}
public
Integer
getDataType
()
{
return
dataType
;
}
public
void
setDataType
(
Integer
dataType
)
{
this
.
dataType
=
dataType
;
}
public
String
getRequestProject
()
{
return
requestProject
;
}
public
void
setRequestProject
(
String
requestProject
)
{
this
.
requestProject
=
requestProject
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/qo/chat/GroupChatExitDetailReq.java
0 → 100644
View file @
9c6142af
package
com
.
gic
.
haoban
.
manage
.
web
.
qo
.
chat
;
import
com.alibaba.fastjson.JSONObject
;
import
org.apache.commons.lang3.StringUtils
;
import
java.io.Serializable
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @author shangfeng
* @date 2024-06-20 16:01:33
*/
public
class
GroupChatExitDetailReq
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
7061919686854969449L
;
/**
* yyyy-MM-dd
*/
private
String
startDate
;
/**
* yyyy-MM-dd
*/
private
String
endDate
;
/**
* 群查询模糊
*/
private
String
vagueQueryGroup
;
/**
* 用户身份
*/
private
String
userType
;
/**
* 排序类型 1 正序 2 倒序
*/
private
Integer
orderByType
;
/**
* 排序字段名称
*/
private
String
orderByFields
;
private
Integer
pageNum
;
private
Integer
pageSize
;
/**
* 下载导出参数:数据脱敏 1:脱敏 2:完整
*/
private
Integer
dataType
=
1
;
/**
* 下载导出参数:为了兼容前端传参
*/
private
String
requestProject
;
public
Integer
getDataApiOrderField
()
{
Map
<
String
,
Integer
>
map
=
new
HashMap
<>(
4
);
map
.
put
(
"userQuitTime"
,
1
);
return
map
.
get
(
orderByFields
)
==
null
?
1
:
map
.
get
(
orderByFields
);
}
public
void
dealWithParam
(
JSONObject
jsonObject
)
{
if
(
jsonObject
==
null
)
{
jsonObject
=
new
JSONObject
();
}
if
(
StringUtils
.
isNotBlank
(
startDate
))
{
jsonObject
.
put
(
"startDate"
,
startDate
);
}
if
(
StringUtils
.
isNotBlank
(
endDate
))
{
jsonObject
.
put
(
"endDate"
,
endDate
);
}
if
(
orderByType
!=
null
)
{
jsonObject
.
put
(
"orderByType"
,
orderByType
);
}
if
(
orderByFields
!=
null
)
{
jsonObject
.
put
(
"orderByFields"
,
getDataApiOrderField
());
}
jsonObject
.
put
(
"pageNum"
,
pageNum
);
jsonObject
.
put
(
"pageSize"
,
pageSize
);
if
(
StringUtils
.
isNotBlank
(
vagueQueryGroup
))
{
jsonObject
.
put
(
"vagueQueryGroup"
,
vagueQueryGroup
);
}
if
(
StringUtils
.
isNotBlank
(
userType
))
{
jsonObject
.
put
(
"userType"
,
userType
);
}
}
public
String
getStartDate
()
{
return
startDate
;
}
public
void
setStartDate
(
String
startDate
)
{
this
.
startDate
=
startDate
;
}
public
String
getEndDate
()
{
return
endDate
;
}
public
void
setEndDate
(
String
endDate
)
{
this
.
endDate
=
endDate
;
}
public
String
getVagueQueryGroup
()
{
return
vagueQueryGroup
;
}
public
void
setVagueQueryGroup
(
String
vagueQueryGroup
)
{
this
.
vagueQueryGroup
=
vagueQueryGroup
;
}
public
String
getUserType
()
{
return
userType
;
}
public
void
setUserType
(
String
userType
)
{
this
.
userType
=
userType
;
}
public
Integer
getOrderByType
()
{
return
orderByType
;
}
public
void
setOrderByType
(
Integer
orderByType
)
{
this
.
orderByType
=
orderByType
;
}
public
String
getOrderByFields
()
{
return
orderByFields
;
}
public
void
setOrderByFields
(
String
orderByFields
)
{
this
.
orderByFields
=
orderByFields
;
}
public
Integer
getPageNum
()
{
return
pageNum
;
}
public
void
setPageNum
(
Integer
pageNum
)
{
this
.
pageNum
=
pageNum
;
}
public
Integer
getPageSize
()
{
return
pageSize
;
}
public
void
setPageSize
(
Integer
pageSize
)
{
this
.
pageSize
=
pageSize
;
}
public
Integer
getDataType
()
{
return
dataType
;
}
public
void
setDataType
(
Integer
dataType
)
{
this
.
dataType
=
dataType
;
}
public
String
getRequestProject
()
{
return
requestProject
;
}
public
void
setRequestProject
(
String
requestProject
)
{
this
.
requestProject
=
requestProject
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/qo/chat/GroupChatJoinDetailReq.java
0 → 100644
View file @
9c6142af
package
com
.
gic
.
haoban
.
manage
.
web
.
qo
.
chat
;
import
com.alibaba.fastjson.JSONObject
;
import
org.apache.commons.lang3.StringUtils
;
import
java.io.Serializable
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @author shangfeng
* @date 2024-06-20 15:56:45
*/
public
class
GroupChatJoinDetailReq
implements
Serializable
{
private
static
final
long
serialVersionUID
=
7925103932910960454L
;
/**
* yyyy-MM-dd
*/
private
String
startDate
;
/**
* yyyy-MM-dd
*/
private
String
endDate
;
/**
* 群查询模糊
*/
private
String
vagueQueryGroup
;
/**
* 用户身份
*/
private
String
userType
;
/**
* 入群方式
*/
private
String
joinScene
;
/**
* 排序类型 1 正序 2 倒序
*/
private
Integer
orderByType
;
/**
* 排序字段名称
*/
private
String
orderByFields
;
private
Integer
pageNum
;
private
Integer
pageSize
;
/**
* 下载导出参数:数据脱敏 1:脱敏 2:完整
*/
private
Integer
dataType
=
1
;
/**
* 下载导出参数:为了兼容前端传参
*/
private
String
requestProject
;
public
Integer
getDataApiOrderField
()
{
Map
<
String
,
Integer
>
map
=
new
HashMap
<>(
4
);
map
.
put
(
"joinTime"
,
1
);
return
map
.
get
(
orderByFields
)
==
null
?
1
:
map
.
get
(
orderByFields
);
}
public
void
dealWithParam
(
JSONObject
jsonObject
)
{
if
(
jsonObject
==
null
)
{
jsonObject
=
new
JSONObject
();
}
if
(
StringUtils
.
isNotBlank
(
startDate
))
{
jsonObject
.
put
(
"startDate"
,
startDate
);
}
if
(
StringUtils
.
isNotBlank
(
endDate
))
{
jsonObject
.
put
(
"endDate"
,
endDate
);
}
if
(
orderByType
!=
null
)
{
jsonObject
.
put
(
"orderByType"
,
orderByType
);
}
if
(
orderByFields
!=
null
)
{
jsonObject
.
put
(
"orderByFields"
,
getDataApiOrderField
());
}
jsonObject
.
put
(
"pageNum"
,
pageNum
);
jsonObject
.
put
(
"pageSize"
,
pageSize
);
if
(
StringUtils
.
isNotBlank
(
vagueQueryGroup
))
{
jsonObject
.
put
(
"vagueQueryGroup"
,
vagueQueryGroup
);
}
if
(
StringUtils
.
isNotBlank
(
userType
))
{
jsonObject
.
put
(
"userType"
,
userType
);
}
if
(
StringUtils
.
isNotBlank
(
joinScene
))
{
jsonObject
.
put
(
"joinScene"
,
joinScene
);
}
}
public
String
getStartDate
()
{
return
startDate
;
}
public
void
setStartDate
(
String
startDate
)
{
this
.
startDate
=
startDate
;
}
public
String
getEndDate
()
{
return
endDate
;
}
public
void
setEndDate
(
String
endDate
)
{
this
.
endDate
=
endDate
;
}
public
String
getVagueQueryGroup
()
{
return
vagueQueryGroup
;
}
public
void
setVagueQueryGroup
(
String
vagueQueryGroup
)
{
this
.
vagueQueryGroup
=
vagueQueryGroup
;
}
public
String
getUserType
()
{
return
userType
;
}
public
void
setUserType
(
String
userType
)
{
this
.
userType
=
userType
;
}
public
String
getJoinScene
()
{
return
joinScene
;
}
public
void
setJoinScene
(
String
joinScene
)
{
this
.
joinScene
=
joinScene
;
}
public
Integer
getOrderByType
()
{
return
orderByType
;
}
public
void
setOrderByType
(
Integer
orderByType
)
{
this
.
orderByType
=
orderByType
;
}
public
String
getOrderByFields
()
{
return
orderByFields
;
}
public
void
setOrderByFields
(
String
orderByFields
)
{
this
.
orderByFields
=
orderByFields
;
}
public
Integer
getPageNum
()
{
return
pageNum
;
}
public
void
setPageNum
(
Integer
pageNum
)
{
this
.
pageNum
=
pageNum
;
}
public
Integer
getPageSize
()
{
return
pageSize
;
}
public
void
setPageSize
(
Integer
pageSize
)
{
this
.
pageSize
=
pageSize
;
}
public
Integer
getDataType
()
{
return
dataType
;
}
public
void
setDataType
(
Integer
dataType
)
{
this
.
dataType
=
dataType
;
}
public
String
getRequestProject
()
{
return
requestProject
;
}
public
void
setRequestProject
(
String
requestProject
)
{
this
.
requestProject
=
requestProject
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/qo/chat/GroupChatOverviewReq.java
0 → 100644
View file @
9c6142af
package
com
.
gic
.
haoban
.
manage
.
web
.
qo
.
chat
;
import
java.io.Serializable
;
/**
* @author shangfeng
* @date 2024-06-20 13:40:12
*/
public
class
GroupChatOverviewReq
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
4434065817211771929L
;
/**
* yyyy-MM-dd
*/
private
String
startDate
;
/**
* yyyy-MM-dd
*/
private
String
endDate
;
/**
* 分组ID,支持多选,英文逗号隔开
*/
private
String
storeGroupId
;
/**
* 数据分组类型
*/
private
Integer
groupType
;
public
String
getStartDate
()
{
return
startDate
;
}
public
void
setStartDate
(
String
startDate
)
{
this
.
startDate
=
startDate
;
}
public
String
getEndDate
()
{
return
endDate
;
}
public
void
setEndDate
(
String
endDate
)
{
this
.
endDate
=
endDate
;
}
public
String
getStoreGroupId
()
{
return
storeGroupId
;
}
public
void
setStoreGroupId
(
String
storeGroupId
)
{
this
.
storeGroupId
=
storeGroupId
;
}
public
Integer
getGroupType
()
{
return
groupType
;
}
public
void
setGroupType
(
Integer
groupType
)
{
this
.
groupType
=
groupType
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/qo/chat/GroupChatStoreGroupReq.java
0 → 100644
View file @
9c6142af
package
com
.
gic
.
haoban
.
manage
.
web
.
qo
.
chat
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.haoban.manage.web.qo.wechatwork.StoreGroupCommonQO
;
import
org.apache.commons.lang3.StringUtils
;
import
java.io.Serializable
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @author shangfeng
* @date 2024-06-20 13:57:57
*/
public
class
GroupChatStoreGroupReq
extends
StoreGroupCommonQO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
174199242296091966L
;
/**
* 开始日期, 非日类型的时候。根据数据组api文档
*/
private
String
startDate
;
/**
* 结束日期, 非日类型的时候。根据数据组api文档
*/
private
String
endDate
;
/**
* 排序类型 1 正序 2 倒序
*/
private
Integer
orderByType
;
/**
* 排序字段名称
*/
private
String
orderByFields
;
private
Integer
pageNum
;
private
Integer
pageSize
;
/**
* 下载导出参数:数据脱敏 1:脱敏 2:完整
*/
private
Integer
dataType
=
1
;
/**
* 下载导出参数:为了兼容前端传参
*/
private
String
requestProject
;
public
Integer
getDataApiOrderField
()
{
Map
<
String
,
Integer
>
map
=
new
HashMap
<>(
8
);
map
.
put
(
"onewayFriendNum"
,
1
);
map
.
put
(
"totalLostNum"
,
2
);
map
.
put
(
"deleteSalesNum"
,
3
);
map
.
put
(
"salesDeleteNum"
,
4
);
return
map
.
get
(
orderByFields
)
==
null
?
1
:
map
.
get
(
orderByFields
);
}
public
void
dealWithParam
(
JSONObject
jsonObject
)
{
if
(
jsonObject
==
null
)
{
jsonObject
=
new
JSONObject
();
}
if
(
StringUtils
.
isNotBlank
(
startDate
))
{
jsonObject
.
put
(
"startDate"
,
startDate
);
}
if
(
StringUtils
.
isNotBlank
(
endDate
))
{
jsonObject
.
put
(
"endDate"
,
endDate
);
}
if
(
orderByType
!=
null
)
{
jsonObject
.
put
(
"orderByType"
,
orderByType
);
}
if
(
orderByFields
!=
null
)
{
jsonObject
.
put
(
"orderByFields"
,
getDataApiOrderField
());
}
jsonObject
.
put
(
"pageNum"
,
pageNum
);
jsonObject
.
put
(
"pageSize"
,
pageSize
);
}
public
String
getStartDate
()
{
return
startDate
;
}
public
void
setStartDate
(
String
startDate
)
{
this
.
startDate
=
startDate
;
}
public
String
getEndDate
()
{
return
endDate
;
}
public
void
setEndDate
(
String
endDate
)
{
this
.
endDate
=
endDate
;
}
public
Integer
getOrderByType
()
{
return
orderByType
;
}
public
void
setOrderByType
(
Integer
orderByType
)
{
this
.
orderByType
=
orderByType
;
}
public
String
getOrderByFields
()
{
return
orderByFields
;
}
public
void
setOrderByFields
(
String
orderByFields
)
{
this
.
orderByFields
=
orderByFields
;
}
public
Integer
getPageNum
()
{
return
pageNum
;
}
public
void
setPageNum
(
Integer
pageNum
)
{
this
.
pageNum
=
pageNum
;
}
public
Integer
getPageSize
()
{
return
pageSize
;
}
public
void
setPageSize
(
Integer
pageSize
)
{
this
.
pageSize
=
pageSize
;
}
public
Integer
getDataType
()
{
return
dataType
;
}
public
void
setDataType
(
Integer
dataType
)
{
this
.
dataType
=
dataType
;
}
public
String
getRequestProject
()
{
return
requestProject
;
}
public
void
setRequestProject
(
String
requestProject
)
{
this
.
requestProject
=
requestProject
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/qo/chat/SingleChatClerkReq.java
0 → 100644
View file @
9c6142af
package
com
.
gic
.
haoban
.
manage
.
web
.
qo
.
chat
;
import
com.alibaba.fastjson.JSONObject
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
org.apache.commons.lang3.StringUtils
;
import
java.io.Serializable
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @author shangfeng
* @date 2024-06-20 10:24:21
*/
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
class
SingleChatClerkReq
implements
Serializable
{
private
static
final
long
serialVersionUID
=
2524730645905160886L
;
/**
* yyyy-MM-dd
*/
private
String
startDate
;
/**
* yyyy-MM-dd
*/
private
String
endDate
;
/**
* 门店名称/code
*/
private
String
vagueQueryStore
;
/**
* 导购名称/code
*/
private
String
vagueQueryClerk
;
/**
* 排序类型 1 正序 2 倒序
*/
private
Integer
orderByType
;
/**
* 排序字段名称
*/
private
String
orderByFields
;
/**
* 当前页
*/
private
Integer
pageNum
;
/**
* 每页条数
*/
private
Integer
pageSize
;
/**
* 下载导出参数:数据脱敏 1:脱敏 2:完整
*/
private
Integer
dataType
=
1
;
/**
* 下载导出参数:为了兼容前端传参
*/
private
String
requestProject
;
public
Integer
getDataApiOrderField
()
{
Map
<
String
,
Integer
>
map
=
new
HashMap
<>(
16
);
map
.
put
(
"activeSessionsNum"
,
1
);
map
.
put
(
"custSessionsNum"
,
2
);
map
.
put
(
"replySessionsNum"
,
3
);
map
.
put
(
"replySessionsPrport"
,
4
);
map
.
put
(
"averageFirstReplyTime"
,
5
);
map
.
put
(
"sessionsCustNum"
,
6
);
map
.
put
(
"launchSessionsCustNum"
,
7
);
map
.
put
(
"launchSessionsSalesNum"
,
8
);
map
.
put
(
"sendNewsNum"
,
9
);
return
map
.
get
(
orderByFields
)
==
null
?
1
:
map
.
get
(
orderByFields
);
}
public
void
dealWithParam
(
JSONObject
jsonObject
)
{
if
(
jsonObject
==
null
)
{
jsonObject
=
new
JSONObject
();
}
if
(
StringUtils
.
isNotBlank
(
startDate
))
{
jsonObject
.
put
(
"startDate"
,
startDate
);
}
if
(
StringUtils
.
isNotBlank
(
endDate
))
{
jsonObject
.
put
(
"endDate"
,
endDate
);
}
if
(
orderByType
!=
null
)
{
jsonObject
.
put
(
"orderByType"
,
orderByType
);
}
if
(
orderByFields
!=
null
)
{
jsonObject
.
put
(
"orderByFields"
,
getDataApiOrderField
());
}
jsonObject
.
put
(
"pageNum"
,
pageNum
);
jsonObject
.
put
(
"pageSize"
,
pageSize
);
if
(
StringUtils
.
isNotBlank
(
vagueQueryClerk
))
{
jsonObject
.
put
(
"vagueQueryClerk"
,
vagueQueryClerk
);
}
if
(
StringUtils
.
isNotBlank
(
vagueQueryStore
))
{
jsonObject
.
put
(
"vagueQueryStore"
,
vagueQueryStore
);
}
}
public
String
getStartDate
()
{
return
startDate
;
}
public
void
setStartDate
(
String
startDate
)
{
this
.
startDate
=
startDate
;
}
public
String
getEndDate
()
{
return
endDate
;
}
public
void
setEndDate
(
String
endDate
)
{
this
.
endDate
=
endDate
;
}
public
String
getVagueQueryStore
()
{
return
vagueQueryStore
;
}
public
void
setVagueQueryStore
(
String
vagueQueryStore
)
{
this
.
vagueQueryStore
=
vagueQueryStore
;
}
public
String
getVagueQueryClerk
()
{
return
vagueQueryClerk
;
}
public
void
setVagueQueryClerk
(
String
vagueQueryClerk
)
{
this
.
vagueQueryClerk
=
vagueQueryClerk
;
}
public
Integer
getOrderByType
()
{
return
orderByType
;
}
public
void
setOrderByType
(
Integer
orderByType
)
{
this
.
orderByType
=
orderByType
;
}
public
String
getOrderByFields
()
{
return
orderByFields
;
}
public
void
setOrderByFields
(
String
orderByFields
)
{
this
.
orderByFields
=
orderByFields
;
}
public
Integer
getPageNum
()
{
return
pageNum
;
}
public
void
setPageNum
(
Integer
pageNum
)
{
this
.
pageNum
=
pageNum
;
}
public
Integer
getPageSize
()
{
return
pageSize
;
}
public
void
setPageSize
(
Integer
pageSize
)
{
this
.
pageSize
=
pageSize
;
}
public
Integer
getDataType
()
{
return
dataType
;
}
public
void
setDataType
(
Integer
dataType
)
{
this
.
dataType
=
dataType
;
}
public
String
getRequestProject
()
{
return
requestProject
;
}
public
void
setRequestProject
(
String
requestProject
)
{
this
.
requestProject
=
requestProject
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/qo/chat/SingleChatDetailReq.java
0 → 100644
View file @
9c6142af
package
com
.
gic
.
haoban
.
manage
.
web
.
qo
.
chat
;
import
com.alibaba.fastjson.JSONObject
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
org.apache.commons.lang3.StringUtils
;
import
java.io.Serializable
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @author shangfeng
* @date 2024-06-20 10:44:55
*/
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
class
SingleChatDetailReq
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
1939493530776069432L
;
/**
* yyyy-MM-dd
*/
private
String
startDate
;
/**
* yyyy-MM-dd
*/
private
String
endDate
;
/**
* 用户模糊
*/
private
String
vagueQueryUser
;
/**
* 导购名称/code
*/
private
String
vagueQueryClerk
;
/**
* 发送人类型 1导购2客户
*/
private
String
sendType
;
/**
* 消息类型 1文本2图片3视频4小程序
*/
private
Integer
msgType
;
/**
* 会话内容
*/
private
String
content
;
/**
* 排序类型 1 正序 2 倒序
*/
private
Integer
orderByType
;
/**
* 排序字段名称
*/
private
String
orderByFields
;
private
Integer
pageNum
;
private
Integer
pageSize
;
/**
* 下载导出参数:数据脱敏 1:脱敏 2:完整
*/
private
Integer
dataType
=
1
;
/**
* 下载导出参数:为了兼容前端传参
*/
private
String
requestProject
;
public
Integer
getDataApiOrderField
()
{
Map
<
String
,
Integer
>
map
=
new
HashMap
<>(
4
);
map
.
put
(
"sendTime"
,
1
);
return
map
.
get
(
orderByFields
)
==
null
?
1
:
map
.
get
(
orderByFields
);
}
public
void
dealWithParam
(
JSONObject
jsonObject
)
{
if
(
jsonObject
==
null
)
{
jsonObject
=
new
JSONObject
();
}
if
(
StringUtils
.
isNotBlank
(
startDate
))
{
jsonObject
.
put
(
"startDate"
,
startDate
);
}
if
(
StringUtils
.
isNotBlank
(
endDate
))
{
jsonObject
.
put
(
"endDate"
,
endDate
);
}
if
(
orderByType
!=
null
)
{
jsonObject
.
put
(
"orderByType"
,
orderByType
);
}
if
(
orderByFields
!=
null
)
{
jsonObject
.
put
(
"orderByFields"
,
getDataApiOrderField
());
}
jsonObject
.
put
(
"pageNum"
,
pageNum
);
jsonObject
.
put
(
"pageSize"
,
pageSize
);
if
(
StringUtils
.
isNotBlank
(
vagueQueryClerk
))
{
jsonObject
.
put
(
"vagueQueryClerk"
,
vagueQueryClerk
);
}
if
(
StringUtils
.
isNotBlank
(
content
))
{
jsonObject
.
put
(
"content"
,
content
);
}
if
(
StringUtils
.
isNotBlank
(
vagueQueryUser
))
{
jsonObject
.
put
(
"vagueQueryUser"
,
vagueQueryUser
);
jsonObject
.
put
(
"phoneNum"
,
vagueQueryUser
);
}
if
(
sendType
!=
null
)
{
jsonObject
.
put
(
"sendType"
,
sendType
);
}
if
(
msgType
!=
null
)
{
jsonObject
.
put
(
"msgType"
,
msgType
);
}
}
public
String
getStartDate
()
{
return
startDate
;
}
public
void
setStartDate
(
String
startDate
)
{
this
.
startDate
=
startDate
;
}
public
String
getEndDate
()
{
return
endDate
;
}
public
void
setEndDate
(
String
endDate
)
{
this
.
endDate
=
endDate
;
}
public
String
getVagueQueryUser
()
{
return
vagueQueryUser
;
}
public
void
setVagueQueryUser
(
String
vagueQueryUser
)
{
this
.
vagueQueryUser
=
vagueQueryUser
;
}
public
String
getVagueQueryClerk
()
{
return
vagueQueryClerk
;
}
public
void
setVagueQueryClerk
(
String
vagueQueryClerk
)
{
this
.
vagueQueryClerk
=
vagueQueryClerk
;
}
public
String
getContent
()
{
return
content
;
}
public
void
setContent
(
String
content
)
{
this
.
content
=
content
;
}
public
Integer
getOrderByType
()
{
return
orderByType
;
}
public
void
setOrderByType
(
Integer
orderByType
)
{
this
.
orderByType
=
orderByType
;
}
public
String
getOrderByFields
()
{
return
orderByFields
;
}
public
void
setOrderByFields
(
String
orderByFields
)
{
this
.
orderByFields
=
orderByFields
;
}
public
Integer
getPageNum
()
{
return
pageNum
;
}
public
void
setPageNum
(
Integer
pageNum
)
{
this
.
pageNum
=
pageNum
;
}
public
Integer
getPageSize
()
{
return
pageSize
;
}
public
void
setPageSize
(
Integer
pageSize
)
{
this
.
pageSize
=
pageSize
;
}
public
Integer
getDataType
()
{
return
dataType
;
}
public
void
setDataType
(
Integer
dataType
)
{
this
.
dataType
=
dataType
;
}
public
String
getRequestProject
()
{
return
requestProject
;
}
public
void
setRequestProject
(
String
requestProject
)
{
this
.
requestProject
=
requestProject
;
}
public
String
getSendType
()
{
return
sendType
;
}
public
void
setSendType
(
String
sendType
)
{
this
.
sendType
=
sendType
;
}
public
Integer
getMsgType
()
{
return
msgType
;
}
public
void
setMsgType
(
Integer
msgType
)
{
this
.
msgType
=
msgType
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/qo/chat/SingleChatOverviewReq.java
0 → 100644
View file @
9c6142af
package
com
.
gic
.
haoban
.
manage
.
web
.
qo
.
chat
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
java.io.Serializable
;
/**
* @author shangfeng
* @date 2024-06-19 11:06:40
*/
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
class
SingleChatOverviewReq
implements
Serializable
{
private
static
final
long
serialVersionUID
=
6628775927884408876L
;
/**
* yyyy-MM-dd
*/
private
String
startDate
;
/**
* yyyy-MM-dd
*/
private
String
endDate
;
/**
* 分组ID,支持多选,英文逗号隔开
*/
private
String
storeGroupId
;
/**
* 数据分组类型
*/
private
Integer
groupType
;
public
String
getStartDate
()
{
return
startDate
;
}
public
void
setStartDate
(
String
startDate
)
{
this
.
startDate
=
startDate
;
}
public
String
getEndDate
()
{
return
endDate
;
}
public
void
setEndDate
(
String
endDate
)
{
this
.
endDate
=
endDate
;
}
public
String
getStoreGroupId
()
{
return
storeGroupId
;
}
public
void
setStoreGroupId
(
String
storeGroupId
)
{
this
.
storeGroupId
=
storeGroupId
;
}
public
Integer
getGroupType
()
{
return
groupType
;
}
public
void
setGroupType
(
Integer
groupType
)
{
this
.
groupType
=
groupType
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/qo/chat/SingleChatStoreGroupReq.java
0 → 100644
View file @
9c6142af
package
com
.
gic
.
haoban
.
manage
.
web
.
qo
.
chat
;
import
com.alibaba.fastjson.JSONObject
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
com.gic.haoban.manage.web.qo.wechatwork.StoreGroupCommonQO
;
import
org.apache.commons.lang3.StringUtils
;
import
java.io.Serializable
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @author shangfeng
* @date 2024-06-20 09:53:54
*/
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
class
SingleChatStoreGroupReq
extends
StoreGroupCommonQO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
5973921876566495620L
;
/**
* 开始日期, 非日类型的时候。根据数据组api文档
*/
private
String
startDate
;
/**
* 结束日期, 非日类型的时候。根据数据组api文档
*/
private
String
endDate
;
/**
* 排序类型 1 正序 2 倒序
*/
private
Integer
orderByType
;
/**
* 排序字段名称
*/
private
String
orderByFields
;
private
Integer
pageNum
;
private
Integer
pageSize
;
/**
* 下载导出参数:数据脱敏 1:脱敏 2:完整
*/
private
Integer
dataType
=
1
;
/**
* 下载导出参数:为了兼容前端传参
*/
private
String
requestProject
;
/**
*
* @return
*/
public
Integer
getDataApiOrderField
()
{
Map
<
String
,
Integer
>
map
=
new
HashMap
<>(
16
);
map
.
put
(
"activeSessionsNum"
,
1
);
map
.
put
(
"custSessionsNum"
,
2
);
map
.
put
(
"replySessionsNum"
,
3
);
map
.
put
(
"replySessionsPrport"
,
4
);
map
.
put
(
"averageFirstReplyTime"
,
5
);
map
.
put
(
"sessionsCustNum"
,
6
);
map
.
put
(
"launchSessionsCustNum"
,
7
);
map
.
put
(
"launchSessionsSalesNum"
,
8
);
map
.
put
(
"sendNewsNum"
,
9
);
map
.
put
(
"entWechatFdNum"
,
10
);
return
map
.
get
(
orderByFields
)
==
null
?
1
:
map
.
get
(
orderByFields
);
}
public
void
dealWithParam
(
JSONObject
jsonObject
)
{
if
(
jsonObject
==
null
)
{
jsonObject
=
new
JSONObject
();
}
if
(
StringUtils
.
isNotBlank
(
startDate
))
{
jsonObject
.
put
(
"startDate"
,
startDate
);
}
if
(
StringUtils
.
isNotBlank
(
endDate
))
{
jsonObject
.
put
(
"endDate"
,
endDate
);
}
if
(
orderByType
!=
null
)
{
jsonObject
.
put
(
"orderByType"
,
orderByType
);
}
if
(
orderByFields
!=
null
)
{
jsonObject
.
put
(
"orderByFields"
,
getDataApiOrderField
());
}
jsonObject
.
put
(
"pageNum"
,
pageNum
);
jsonObject
.
put
(
"pageSize"
,
pageSize
);
}
public
String
getStartDate
()
{
return
startDate
;
}
public
void
setStartDate
(
String
startDate
)
{
this
.
startDate
=
startDate
;
}
public
String
getEndDate
()
{
return
endDate
;
}
public
void
setEndDate
(
String
endDate
)
{
this
.
endDate
=
endDate
;
}
public
Integer
getOrderByType
()
{
return
orderByType
;
}
public
void
setOrderByType
(
Integer
orderByType
)
{
this
.
orderByType
=
orderByType
;
}
public
String
getOrderByFields
()
{
return
orderByFields
;
}
public
void
setOrderByFields
(
String
orderByFields
)
{
this
.
orderByFields
=
orderByFields
;
}
public
Integer
getPageNum
()
{
return
pageNum
;
}
public
void
setPageNum
(
Integer
pageNum
)
{
this
.
pageNum
=
pageNum
;
}
public
Integer
getPageSize
()
{
return
pageSize
;
}
public
void
setPageSize
(
Integer
pageSize
)
{
this
.
pageSize
=
pageSize
;
}
public
Integer
getDataType
()
{
return
dataType
;
}
public
void
setDataType
(
Integer
dataType
)
{
this
.
dataType
=
dataType
;
}
public
String
getRequestProject
()
{
return
requestProject
;
}
public
void
setRequestProject
(
String
requestProject
)
{
this
.
requestProject
=
requestProject
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/qo/wechatwork/WechatWorkLostDetailQO.java
View file @
9c6142af
...
@@ -8,6 +8,7 @@ import org.apache.commons.lang3.StringUtils;
...
@@ -8,6 +8,7 @@ import org.apache.commons.lang3.StringUtils;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.Objects
;
/**
/**
* @Author guojx
* @Author guojx
...
@@ -48,6 +49,11 @@ public class WechatWorkLostDetailQO implements Serializable {
...
@@ -48,6 +49,11 @@ public class WechatWorkLostDetailQO implements Serializable {
*/
*/
private
String
deleteType
;
private
String
deleteType
;
/**
* 删除说明0手动删除 1系统删除
*/
private
Integer
delType
;
/**
/**
* 排序类型 1 正序 2 倒序
* 排序类型 1 正序 2 倒序
...
@@ -110,5 +116,8 @@ public class WechatWorkLostDetailQO implements Serializable {
...
@@ -110,5 +116,8 @@ public class WechatWorkLostDetailQO implements Serializable {
if
(
StringUtils
.
isNotBlank
(
deleteType
))
{
if
(
StringUtils
.
isNotBlank
(
deleteType
))
{
jsonObject
.
put
(
"deleteType"
,
deleteType
);
jsonObject
.
put
(
"deleteType"
,
deleteType
);
}
}
if
(
Objects
.
nonNull
(
delType
))
{
jsonObject
.
put
(
"delType"
,
delType
);
}
}
}
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/vo/chat/GroupChatChatDetailVO.java
0 → 100644
View file @
9c6142af
package
com
.
gic
.
haoban
.
manage
.
web
.
vo
.
chat
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.haoban.manage.web.vo.wechatwork.StoreGroupCommonVO
;
import
org.apache.commons.lang3.StringUtils
;
import
java.io.Serializable
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @author shangfeng
* @date 2024-06-20 16:03:57
*/
public
class
GroupChatChatDetailVO
extends
StoreGroupCommonVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
8013607702711027033L
;
/**
* 会员id
*/
private
String
memberId
;
/**
* 会员昵称
*/
private
String
memberNick
;
/**
* 客户姓名
*/
private
String
memberName
;
/**
* 客户手机号
*/
private
String
memberPhone
;
/**
* 群id
*/
private
String
groupChatId
;
/**
* 群名称
*/
private
String
groupChatName
;
/**
* 群主id
*/
private
String
staffId
;
/**
* 群主code
*/
private
String
staffCode
;
/**
* 群主名称
*/
private
String
staffName
;
/**
* 导购id
*/
private
String
clerkId
;
/**
* 导购名称
*/
private
String
clerkName
;
/**
* 导购code
*/
private
String
clerkCode
;
/**
* 会话发送人身份
*/
private
String
userType
;
/**
* 会话内容
*/
private
String
content
;
/**
* 会话时间
*/
private
String
sendTime
;
/**
* 会话类型
*/
private
String
msgType
;
public
String
getMemberId
()
{
return
memberId
;
}
public
void
setMemberId
(
String
memberId
)
{
this
.
memberId
=
memberId
;
}
public
String
getMemberNick
()
{
return
memberNick
;
}
public
void
setMemberNick
(
String
memberNick
)
{
this
.
memberNick
=
memberNick
;
}
public
String
getMemberName
()
{
return
memberName
;
}
public
void
setMemberName
(
String
memberName
)
{
this
.
memberName
=
memberName
;
}
public
String
getMemberPhone
()
{
return
memberPhone
;
}
public
void
setMemberPhone
(
String
memberPhone
)
{
this
.
memberPhone
=
memberPhone
;
}
public
String
getGroupChatId
()
{
return
groupChatId
;
}
public
void
setGroupChatId
(
String
groupChatId
)
{
this
.
groupChatId
=
groupChatId
;
}
public
String
getGroupChatName
()
{
return
groupChatName
;
}
public
void
setGroupChatName
(
String
groupChatName
)
{
this
.
groupChatName
=
groupChatName
;
}
public
String
getStaffId
()
{
return
staffId
;
}
public
void
setStaffId
(
String
staffId
)
{
this
.
staffId
=
staffId
;
}
public
String
getStaffCode
()
{
return
staffCode
;
}
public
void
setStaffCode
(
String
staffCode
)
{
this
.
staffCode
=
staffCode
;
}
public
String
getStaffName
()
{
return
staffName
;
}
public
void
setStaffName
(
String
staffName
)
{
this
.
staffName
=
staffName
;
}
public
String
getClerkId
()
{
return
clerkId
;
}
public
void
setClerkId
(
String
clerkId
)
{
this
.
clerkId
=
clerkId
;
}
public
String
getClerkName
()
{
return
clerkName
;
}
public
void
setClerkName
(
String
clerkName
)
{
this
.
clerkName
=
clerkName
;
}
public
String
getClerkCode
()
{
return
clerkCode
;
}
public
void
setClerkCode
(
String
clerkCode
)
{
this
.
clerkCode
=
clerkCode
;
}
public
String
getUserType
()
{
return
userType
;
}
public
void
setUserType
(
String
userType
)
{
this
.
userType
=
userType
;
}
public
String
getContent
()
{
return
content
;
}
public
void
setContent
(
String
content
)
{
this
.
content
=
content
;
}
public
String
getSendTime
()
{
return
sendTime
;
}
public
void
setSendTime
(
String
sendTime
)
{
this
.
sendTime
=
sendTime
;
}
public
String
getMsgType
()
{
return
msgType
;
}
public
void
setMsgType
(
String
msgType
)
{
this
.
msgType
=
msgType
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/vo/chat/GroupChatClerkVO.java
0 → 100644
View file @
9c6142af
package
com
.
gic
.
haoban
.
manage
.
web
.
vo
.
chat
;
import
com.gic.haoban.manage.web.vo.wechatwork.StoreGroupCommonVO
;
import
java.io.Serializable
;
/**
* @author shangfeng
* @date 2024-06-20 13:55:47
*/
public
class
GroupChatClerkVO
extends
StoreGroupCommonVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
7251786348392290369L
;
/**
* 群总数
*/
private
Integer
groupNum
=
0
;
/**
* 新增群数
*/
private
Integer
newGroupNum
=
0
;
/**
* 活跃群数
*/
private
Integer
actGroupNum
=
0
;
/**
* 群总人数
*/
private
Integer
groupCustNum
=
0
;
/**
* 新增群人数
*/
private
Integer
newGroupCustNum
=
0
;
/**
* 活跃群人数
*/
private
Integer
actGroupCustNum
=
0
;
/**
* 新退群人数
*/
private
Integer
newExitGroupCustNum
=
0
;
/**
* 群会话总条数
*/
private
Integer
groupSessionsNum
=
0
;
/**
* 导购code
*/
private
String
clerkCode
;
/**
* 导购名称
*/
private
String
clerkName
;
/**
* 导购id
*/
private
String
clerkId
;
/**
* 企微账号名称
*/
private
String
staffName
;
/**
* 企微账号code
*/
private
String
staffCode
;
public
Integer
getGroupNum
()
{
return
groupNum
;
}
public
void
setGroupNum
(
Integer
groupNum
)
{
this
.
groupNum
=
groupNum
;
}
public
Integer
getNewGroupNum
()
{
return
newGroupNum
;
}
public
void
setNewGroupNum
(
Integer
newGroupNum
)
{
this
.
newGroupNum
=
newGroupNum
;
}
public
Integer
getActGroupNum
()
{
return
actGroupNum
;
}
public
void
setActGroupNum
(
Integer
actGroupNum
)
{
this
.
actGroupNum
=
actGroupNum
;
}
public
Integer
getGroupCustNum
()
{
return
groupCustNum
;
}
public
void
setGroupCustNum
(
Integer
groupCustNum
)
{
this
.
groupCustNum
=
groupCustNum
;
}
public
Integer
getNewGroupCustNum
()
{
return
newGroupCustNum
;
}
public
void
setNewGroupCustNum
(
Integer
newGroupCustNum
)
{
this
.
newGroupCustNum
=
newGroupCustNum
;
}
public
Integer
getActGroupCustNum
()
{
return
actGroupCustNum
;
}
public
void
setActGroupCustNum
(
Integer
actGroupCustNum
)
{
this
.
actGroupCustNum
=
actGroupCustNum
;
}
public
Integer
getNewExitGroupCustNum
()
{
return
newExitGroupCustNum
;
}
public
void
setNewExitGroupCustNum
(
Integer
newExitGroupCustNum
)
{
this
.
newExitGroupCustNum
=
newExitGroupCustNum
;
}
public
Integer
getGroupSessionsNum
()
{
return
groupSessionsNum
;
}
public
void
setGroupSessionsNum
(
Integer
groupSessionsNum
)
{
this
.
groupSessionsNum
=
groupSessionsNum
;
}
public
String
getClerkCode
()
{
return
clerkCode
;
}
public
void
setClerkCode
(
String
clerkCode
)
{
this
.
clerkCode
=
clerkCode
;
}
public
String
getClerkName
()
{
return
clerkName
;
}
public
void
setClerkName
(
String
clerkName
)
{
this
.
clerkName
=
clerkName
;
}
public
String
getClerkId
()
{
return
clerkId
;
}
public
void
setClerkId
(
String
clerkId
)
{
this
.
clerkId
=
clerkId
;
}
public
String
getStaffName
()
{
return
staffName
;
}
public
void
setStaffName
(
String
staffName
)
{
this
.
staffName
=
staffName
;
}
public
String
getStaffCode
()
{
return
staffCode
;
}
public
void
setStaffCode
(
String
staffCode
)
{
this
.
staffCode
=
staffCode
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/vo/chat/GroupChatDetailVO.java
0 → 100644
View file @
9c6142af
package
com
.
gic
.
haoban
.
manage
.
web
.
vo
.
chat
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.gic.haoban.manage.web.vo.wechatwork.StoreGroupCommonVO
;
import
com.gic.web.common.jsonSeralizer.PhoneNumberJsonSeralizer
;
import
java.io.Serializable
;
/**
* @author shangfeng
* @date 2024-06-20 14:27:35
*/
public
class
GroupChatDetailVO
extends
StoreGroupCommonVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
6167364456793806166L
;
/**
* 群id
*/
private
String
groupChatId
;
/**
* 群名称
*/
private
String
groupChatName
;
/**
* 群主id
*/
private
String
staffId
;
/**
* 群主code
*/
private
String
staffCode
;
/**
* 群主名称
*/
private
String
staffName
;
/**
* 导购id
*/
private
String
clerkId
;
/**
* 导购名称
*/
private
String
clerkName
;
/**
* 导购code
*/
private
String
clerkCode
;
/**
* 群总人数
*/
private
Integer
groupCustNum
;
/**
* 新增群人数
*/
private
Integer
newGroupCustNum
;
/**
* 活跃群人数
*/
private
Integer
actGroupCustNum
;
/**
* 新退群人数
*/
private
Integer
newExitGroupCustNum
;
/**
* 群会话总条数
*/
private
Integer
groupSessionsNum
;
public
String
getGroupChatId
()
{
return
groupChatId
;
}
public
void
setGroupChatId
(
String
groupChatId
)
{
this
.
groupChatId
=
groupChatId
;
}
public
String
getGroupChatName
()
{
return
groupChatName
;
}
public
void
setGroupChatName
(
String
groupChatName
)
{
this
.
groupChatName
=
groupChatName
;
}
public
String
getStaffId
()
{
return
staffId
;
}
public
void
setStaffId
(
String
staffId
)
{
this
.
staffId
=
staffId
;
}
public
String
getStaffCode
()
{
return
staffCode
;
}
public
void
setStaffCode
(
String
staffCode
)
{
this
.
staffCode
=
staffCode
;
}
public
String
getStaffName
()
{
return
staffName
;
}
public
void
setStaffName
(
String
staffName
)
{
this
.
staffName
=
staffName
;
}
public
String
getClerkId
()
{
return
clerkId
;
}
public
void
setClerkId
(
String
clerkId
)
{
this
.
clerkId
=
clerkId
;
}
public
String
getClerkName
()
{
return
clerkName
;
}
public
void
setClerkName
(
String
clerkName
)
{
this
.
clerkName
=
clerkName
;
}
public
String
getClerkCode
()
{
return
clerkCode
;
}
public
void
setClerkCode
(
String
clerkCode
)
{
this
.
clerkCode
=
clerkCode
;
}
public
Integer
getGroupCustNum
()
{
return
groupCustNum
;
}
public
void
setGroupCustNum
(
Integer
groupCustNum
)
{
this
.
groupCustNum
=
groupCustNum
;
}
public
Integer
getNewGroupCustNum
()
{
return
newGroupCustNum
;
}
public
void
setNewGroupCustNum
(
Integer
newGroupCustNum
)
{
this
.
newGroupCustNum
=
newGroupCustNum
;
}
public
Integer
getActGroupCustNum
()
{
return
actGroupCustNum
;
}
public
void
setActGroupCustNum
(
Integer
actGroupCustNum
)
{
this
.
actGroupCustNum
=
actGroupCustNum
;
}
public
Integer
getNewExitGroupCustNum
()
{
return
newExitGroupCustNum
;
}
public
void
setNewExitGroupCustNum
(
Integer
newExitGroupCustNum
)
{
this
.
newExitGroupCustNum
=
newExitGroupCustNum
;
}
public
Integer
getGroupSessionsNum
()
{
return
groupSessionsNum
;
}
public
void
setGroupSessionsNum
(
Integer
groupSessionsNum
)
{
this
.
groupSessionsNum
=
groupSessionsNum
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/vo/chat/GroupChatExitDetailVO.java
0 → 100644
View file @
9c6142af
package
com
.
gic
.
haoban
.
manage
.
web
.
vo
.
chat
;
import
com.gic.haoban.manage.web.vo.wechatwork.StoreGroupCommonVO
;
import
java.io.Serializable
;
/**
* @author shangfeng
* @date 2024-06-20 16:03:46
*/
public
class
GroupChatExitDetailVO
extends
StoreGroupCommonVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
3086597285873607576L
;
/**
* 会员id
*/
private
String
memberId
;
/**
* 会员昵称
*/
private
String
memberNick
;
/**
* 会员名称
*/
private
String
memberName
;
/**
* 会员手机号
*/
private
String
memberNumber
;
/**
* 用户身份
*/
private
String
userType
;
/**
* 群id
*/
private
String
groupChatId
;
/**
* 群名称
*/
private
String
groupChatName
;
/**
* 群主id
*/
private
String
staffId
;
/**
* 群主名称
*/
private
String
staffName
;
/**
* 群主code
*/
private
String
staffCode
;
/**
* 导购id
*/
private
String
clerkId
;
/**
* 导购code
*/
private
String
clerkCode
;
/**
* 导购名称
*/
private
String
clerkName
;
/**
* 退群时间
*/
private
String
userQuitTime
;
public
String
getMemberId
()
{
return
memberId
;
}
public
void
setMemberId
(
String
memberId
)
{
this
.
memberId
=
memberId
;
}
public
String
getMemberNick
()
{
return
memberNick
;
}
public
void
setMemberNick
(
String
memberNick
)
{
this
.
memberNick
=
memberNick
;
}
public
String
getMemberName
()
{
return
memberName
;
}
public
void
setMemberName
(
String
memberName
)
{
this
.
memberName
=
memberName
;
}
public
String
getMemberNumber
()
{
return
memberNumber
;
}
public
void
setMemberNumber
(
String
memberNumber
)
{
this
.
memberNumber
=
memberNumber
;
}
public
String
getUserType
()
{
return
userType
;
}
public
void
setUserType
(
String
userType
)
{
this
.
userType
=
userType
;
}
public
String
getGroupChatId
()
{
return
groupChatId
;
}
public
void
setGroupChatId
(
String
groupChatId
)
{
this
.
groupChatId
=
groupChatId
;
}
public
String
getGroupChatName
()
{
return
groupChatName
;
}
public
void
setGroupChatName
(
String
groupChatName
)
{
this
.
groupChatName
=
groupChatName
;
}
public
String
getStaffId
()
{
return
staffId
;
}
public
void
setStaffId
(
String
staffId
)
{
this
.
staffId
=
staffId
;
}
public
String
getStaffName
()
{
return
staffName
;
}
public
void
setStaffName
(
String
staffName
)
{
this
.
staffName
=
staffName
;
}
public
String
getStaffCode
()
{
return
staffCode
;
}
public
void
setStaffCode
(
String
staffCode
)
{
this
.
staffCode
=
staffCode
;
}
public
String
getClerkId
()
{
return
clerkId
;
}
public
void
setClerkId
(
String
clerkId
)
{
this
.
clerkId
=
clerkId
;
}
public
String
getClerkCode
()
{
return
clerkCode
;
}
public
void
setClerkCode
(
String
clerkCode
)
{
this
.
clerkCode
=
clerkCode
;
}
public
String
getClerkName
()
{
return
clerkName
;
}
public
void
setClerkName
(
String
clerkName
)
{
this
.
clerkName
=
clerkName
;
}
public
String
getUserQuitTime
()
{
return
userQuitTime
;
}
public
void
setUserQuitTime
(
String
userQuitTime
)
{
this
.
userQuitTime
=
userQuitTime
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/vo/chat/GroupChatJoinDetailVO.java
0 → 100644
View file @
9c6142af
package
com
.
gic
.
haoban
.
manage
.
web
.
vo
.
chat
;
import
com.gic.haoban.manage.web.vo.wechatwork.StoreGroupCommonVO
;
import
java.io.Serializable
;
/**
* @author shangfeng
* @date 2024-06-20 16:03:31
*/
public
class
GroupChatJoinDetailVO
extends
StoreGroupCommonVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
5410221192890222543L
;
/**
* 会员id
*/
private
String
memberId
;
/**
* 会员昵称
*/
private
String
memberNick
;
/**
* 会员名称
*/
private
String
memberName
;
/**
* 会员手机号
*/
private
String
memberNumber
;
/**
* 用户身份
*/
private
String
userType
;
/**
* 群id
*/
private
String
groupChatId
;
/**
* 群名称
*/
private
String
groupChatName
;
/**
* 群主id
*/
private
String
staffId
;
/**
* 群主名称
*/
private
String
staffName
;
/**
* 群主code
*/
private
String
staffCode
;
/**
* 导购id
*/
private
String
clerkId
;
/**
* 导购code
*/
private
String
clerkCode
;
/**
* 导购名称
*/
private
String
clerkName
;
/**
* 入群方式
*/
private
String
joinScene
;
/**
* 邀请人名称
*/
private
String
invitorUserName
;
/**
* 入群时间
*/
private
String
joinTime
;
public
String
getMemberId
()
{
return
memberId
;
}
public
void
setMemberId
(
String
memberId
)
{
this
.
memberId
=
memberId
;
}
public
String
getMemberNick
()
{
return
memberNick
;
}
public
void
setMemberNick
(
String
memberNick
)
{
this
.
memberNick
=
memberNick
;
}
public
String
getMemberName
()
{
return
memberName
;
}
public
void
setMemberName
(
String
memberName
)
{
this
.
memberName
=
memberName
;
}
public
String
getMemberNumber
()
{
return
memberNumber
;
}
public
void
setMemberNumber
(
String
memberNumber
)
{
this
.
memberNumber
=
memberNumber
;
}
public
String
getUserType
()
{
return
userType
;
}
public
void
setUserType
(
String
userType
)
{
this
.
userType
=
userType
;
}
public
String
getGroupChatId
()
{
return
groupChatId
;
}
public
void
setGroupChatId
(
String
groupChatId
)
{
this
.
groupChatId
=
groupChatId
;
}
public
String
getGroupChatName
()
{
return
groupChatName
;
}
public
void
setGroupChatName
(
String
groupChatName
)
{
this
.
groupChatName
=
groupChatName
;
}
public
String
getStaffId
()
{
return
staffId
;
}
public
void
setStaffId
(
String
staffId
)
{
this
.
staffId
=
staffId
;
}
public
String
getStaffName
()
{
return
staffName
;
}
public
void
setStaffName
(
String
staffName
)
{
this
.
staffName
=
staffName
;
}
public
String
getStaffCode
()
{
return
staffCode
;
}
public
void
setStaffCode
(
String
staffCode
)
{
this
.
staffCode
=
staffCode
;
}
public
String
getClerkId
()
{
return
clerkId
;
}
public
void
setClerkId
(
String
clerkId
)
{
this
.
clerkId
=
clerkId
;
}
public
String
getClerkCode
()
{
return
clerkCode
;
}
public
void
setClerkCode
(
String
clerkCode
)
{
this
.
clerkCode
=
clerkCode
;
}
public
String
getClerkName
()
{
return
clerkName
;
}
public
void
setClerkName
(
String
clerkName
)
{
this
.
clerkName
=
clerkName
;
}
public
String
getJoinScene
()
{
return
joinScene
;
}
public
void
setJoinScene
(
String
joinScene
)
{
this
.
joinScene
=
joinScene
;
}
public
String
getInvitorUserName
()
{
return
invitorUserName
;
}
public
void
setInvitorUserName
(
String
invitorUserName
)
{
this
.
invitorUserName
=
invitorUserName
;
}
public
String
getJoinTime
()
{
return
joinTime
;
}
public
void
setJoinTime
(
String
joinTime
)
{
this
.
joinTime
=
joinTime
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/vo/chat/GroupChatOverviewVO.java
0 → 100644
View file @
9c6142af
package
com
.
gic
.
haoban
.
manage
.
web
.
vo
.
chat
;
import
java.io.Serializable
;
/**
* @author shangfeng
* @date 2024-06-20 13:41:17
*/
public
class
GroupChatOverviewVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
8289805630011759477L
;
/**
* 群总数
*/
private
Integer
groupNum
=
0
;
/**
* 新增群数
*/
private
Integer
newGroupNum
=
0
;
/**
* 活跃群数
*/
private
Integer
actGroupNum
=
0
;
/**
* 群总人数
*/
private
Integer
groupCustNum
=
0
;
/**
* 新增群人数
*/
private
Integer
newGroupCustNum
=
0
;
/**
* 活跃群人数
*/
private
Integer
actGroupCustNum
=
0
;
/**
* 新退群人数
*/
private
Integer
newExitGroupCustNum
=
0
;
/**
* 群会话总条数
*/
private
Integer
groupSessionsNum
=
0
;
/**
* 日期
*/
private
String
bizDate
;
public
Integer
getGroupNum
()
{
return
groupNum
;
}
public
void
setGroupNum
(
Integer
groupNum
)
{
this
.
groupNum
=
groupNum
;
}
public
Integer
getNewGroupNum
()
{
return
newGroupNum
;
}
public
void
setNewGroupNum
(
Integer
newGroupNum
)
{
this
.
newGroupNum
=
newGroupNum
;
}
public
Integer
getActGroupNum
()
{
return
actGroupNum
;
}
public
void
setActGroupNum
(
Integer
actGroupNum
)
{
this
.
actGroupNum
=
actGroupNum
;
}
public
Integer
getGroupCustNum
()
{
return
groupCustNum
;
}
public
void
setGroupCustNum
(
Integer
groupCustNum
)
{
this
.
groupCustNum
=
groupCustNum
;
}
public
Integer
getNewGroupCustNum
()
{
return
newGroupCustNum
;
}
public
void
setNewGroupCustNum
(
Integer
newGroupCustNum
)
{
this
.
newGroupCustNum
=
newGroupCustNum
;
}
public
Integer
getActGroupCustNum
()
{
return
actGroupCustNum
;
}
public
void
setActGroupCustNum
(
Integer
actGroupCustNum
)
{
this
.
actGroupCustNum
=
actGroupCustNum
;
}
public
Integer
getNewExitGroupCustNum
()
{
return
newExitGroupCustNum
;
}
public
void
setNewExitGroupCustNum
(
Integer
newExitGroupCustNum
)
{
this
.
newExitGroupCustNum
=
newExitGroupCustNum
;
}
public
Integer
getGroupSessionsNum
()
{
return
groupSessionsNum
;
}
public
void
setGroupSessionsNum
(
Integer
groupSessionsNum
)
{
this
.
groupSessionsNum
=
groupSessionsNum
;
}
public
String
getBizDate
()
{
return
bizDate
;
}
public
void
setBizDate
(
String
bizDate
)
{
this
.
bizDate
=
bizDate
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/vo/chat/GroupChatStoreGroupVO.java
0 → 100644
View file @
9c6142af
package
com
.
gic
.
haoban
.
manage
.
web
.
vo
.
chat
;
import
com.gic.haoban.manage.web.vo.wechatwork.StoreGroupCommonVO
;
import
java.io.Serializable
;
/**
* @author shangfeng
* @date 2024-06-20 13:55:27
*/
public
class
GroupChatStoreGroupVO
extends
StoreGroupCommonVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
348999797310245659L
;
/**
* 群总数
*/
private
Integer
groupNum
=
0
;
/**
* 新增群数
*/
private
Integer
newGroupNum
=
0
;
/**
* 活跃群数
*/
private
Integer
actGroupNum
=
0
;
/**
* 群总人数
*/
private
Integer
groupCustNum
=
0
;
/**
* 新增群人数
*/
private
Integer
newGroupCustNum
=
0
;
/**
* 活跃群人数
*/
private
Integer
actGroupCustNum
=
0
;
/**
* 新退群人数
*/
private
Integer
newExitGroupCustNum
=
0
;
/**
* 群会话总条数
*/
private
Integer
groupSessionsNum
=
0
;
public
Integer
getGroupNum
()
{
return
groupNum
;
}
public
void
setGroupNum
(
Integer
groupNum
)
{
this
.
groupNum
=
groupNum
;
}
public
Integer
getNewGroupNum
()
{
return
newGroupNum
;
}
public
void
setNewGroupNum
(
Integer
newGroupNum
)
{
this
.
newGroupNum
=
newGroupNum
;
}
public
Integer
getActGroupNum
()
{
return
actGroupNum
;
}
public
void
setActGroupNum
(
Integer
actGroupNum
)
{
this
.
actGroupNum
=
actGroupNum
;
}
public
Integer
getGroupCustNum
()
{
return
groupCustNum
;
}
public
void
setGroupCustNum
(
Integer
groupCustNum
)
{
this
.
groupCustNum
=
groupCustNum
;
}
public
Integer
getNewGroupCustNum
()
{
return
newGroupCustNum
;
}
public
void
setNewGroupCustNum
(
Integer
newGroupCustNum
)
{
this
.
newGroupCustNum
=
newGroupCustNum
;
}
public
Integer
getActGroupCustNum
()
{
return
actGroupCustNum
;
}
public
void
setActGroupCustNum
(
Integer
actGroupCustNum
)
{
this
.
actGroupCustNum
=
actGroupCustNum
;
}
public
Integer
getNewExitGroupCustNum
()
{
return
newExitGroupCustNum
;
}
public
void
setNewExitGroupCustNum
(
Integer
newExitGroupCustNum
)
{
this
.
newExitGroupCustNum
=
newExitGroupCustNum
;
}
public
Integer
getGroupSessionsNum
()
{
return
groupSessionsNum
;
}
public
void
setGroupSessionsNum
(
Integer
groupSessionsNum
)
{
this
.
groupSessionsNum
=
groupSessionsNum
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/vo/chat/SingleChatClerkVO.java
0 → 100644
View file @
9c6142af
package
com
.
gic
.
haoban
.
manage
.
web
.
vo
.
chat
;
import
com.gic.haoban.manage.web.vo.wechatwork.StoreGroupCommonVO
;
import
java.io.Serializable
;
/**
* @author shangfeng
* @date 2024-06-20 10:00:02
*/
public
class
SingleChatClerkVO
extends
StoreGroupCommonVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
8091108492990062103L
;
/**
* 主动会话数
*/
private
Integer
activeSessionsNum
=
0
;
/**
* 客户发起会话数
*/
private
Integer
custSessionsNum
=
0
;
/**
* 已回复会话数
*/
private
Integer
replySessionsNum
=
0
;
/**
* 已回复会话占比
*/
private
Integer
replySessionsPrport
=
0
;
/**
* 平均首次回复时长
*/
private
Integer
averageFirstReplyTime
=
0
;
/**
* 企微好友数
*/
private
Integer
entWechatFdNum
=
0
;
/**
* 会话总客户数
*/
private
Integer
sessionsCustNum
=
0
;
/**
* 发起会话客户数
*/
private
Integer
launchSessionsCustNum
=
0
;
/**
* 发起会话导购数
*/
private
Integer
launchSessionsSalesNum
=
0
;
/**
* 发送消息数
*/
private
Integer
sendNewsNum
=
0
;
/**
* 导购code
*/
private
String
clerkCode
;
/**
* 导购姓名
*/
private
String
clerkName
;
/**
* 导购id
*/
private
String
clerkId
;
public
Integer
getActiveSessionsNum
()
{
return
activeSessionsNum
;
}
public
void
setActiveSessionsNum
(
Integer
activeSessionsNum
)
{
this
.
activeSessionsNum
=
activeSessionsNum
;
}
public
Integer
getCustSessionsNum
()
{
return
custSessionsNum
;
}
public
void
setCustSessionsNum
(
Integer
custSessionsNum
)
{
this
.
custSessionsNum
=
custSessionsNum
;
}
public
Integer
getReplySessionsNum
()
{
return
replySessionsNum
;
}
public
void
setReplySessionsNum
(
Integer
replySessionsNum
)
{
this
.
replySessionsNum
=
replySessionsNum
;
}
public
Integer
getReplySessionsPrport
()
{
return
replySessionsPrport
;
}
public
void
setReplySessionsPrport
(
Integer
replySessionsPrport
)
{
this
.
replySessionsPrport
=
replySessionsPrport
;
}
public
Integer
getAverageFirstReplyTime
()
{
return
averageFirstReplyTime
;
}
public
void
setAverageFirstReplyTime
(
Integer
averageFirstReplyTime
)
{
this
.
averageFirstReplyTime
=
averageFirstReplyTime
;
}
public
Integer
getEntWechatFdNum
()
{
return
entWechatFdNum
;
}
public
void
setEntWechatFdNum
(
Integer
entWechatFdNum
)
{
this
.
entWechatFdNum
=
entWechatFdNum
;
}
public
Integer
getSessionsCustNum
()
{
return
sessionsCustNum
;
}
public
void
setSessionsCustNum
(
Integer
sessionsCustNum
)
{
this
.
sessionsCustNum
=
sessionsCustNum
;
}
public
Integer
getLaunchSessionsCustNum
()
{
return
launchSessionsCustNum
;
}
public
void
setLaunchSessionsCustNum
(
Integer
launchSessionsCustNum
)
{
this
.
launchSessionsCustNum
=
launchSessionsCustNum
;
}
public
Integer
getLaunchSessionsSalesNum
()
{
return
launchSessionsSalesNum
;
}
public
void
setLaunchSessionsSalesNum
(
Integer
launchSessionsSalesNum
)
{
this
.
launchSessionsSalesNum
=
launchSessionsSalesNum
;
}
public
Integer
getSendNewsNum
()
{
return
sendNewsNum
;
}
public
void
setSendNewsNum
(
Integer
sendNewsNum
)
{
this
.
sendNewsNum
=
sendNewsNum
;
}
public
String
getClerkCode
()
{
return
clerkCode
;
}
public
void
setClerkCode
(
String
clerkCode
)
{
this
.
clerkCode
=
clerkCode
;
}
public
String
getClerkName
()
{
return
clerkName
;
}
public
void
setClerkName
(
String
clerkName
)
{
this
.
clerkName
=
clerkName
;
}
public
String
getClerkId
()
{
return
clerkId
;
}
public
void
setClerkId
(
String
clerkId
)
{
this
.
clerkId
=
clerkId
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/vo/chat/SingleChatDetailVO.java
0 → 100644
View file @
9c6142af
package
com
.
gic
.
haoban
.
manage
.
web
.
vo
.
chat
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.gic.haoban.manage.web.vo.wechatwork.StoreGroupCommonVO
;
import
com.gic.web.common.jsonSeralizer.PhoneNumberJsonSeralizer
;
import
java.io.Serializable
;
/**
* @author shangfeng
* @date 2024-06-20 10:47:30
*/
public
class
SingleChatDetailVO
extends
StoreGroupCommonVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
8863833833069049386L
;
/**
* 会员id
*/
private
String
memberId
;
/**
* 客户姓名
*/
private
String
memberName
;
/**
* 会员昵称
*/
private
String
memberNick
;
/**
* 客户手机号
*/
@JsonSerialize
(
using
=
PhoneNumberJsonSeralizer
.
class
)
private
String
memberPhone
;
/**
* 导购id
*/
private
String
clerkId
;
/**
* 导购名称
*/
private
String
clerkName
;
/**
* 导购code
*/
private
String
clerkCode
;
/**
* 员工id
*/
private
String
staffId
;
/**
* 员工名称
*/
private
String
staffName
;
/**
* 员工code
*/
private
String
staffCode
;
/**
* 会话发送人
*/
private
String
sendType
;
/**
* 会话内容
*/
private
String
content
;
/**
* 会话类型
*/
private
String
msgType
;
/**
* 会话时间
*/
private
String
sendTime
;
public
String
getMemberId
()
{
return
memberId
;
}
public
void
setMemberId
(
String
memberId
)
{
this
.
memberId
=
memberId
;
}
public
String
getMemberName
()
{
return
memberName
;
}
public
void
setMemberName
(
String
memberName
)
{
this
.
memberName
=
memberName
;
}
public
String
getMemberNick
()
{
return
memberNick
;
}
public
void
setMemberNick
(
String
memberNick
)
{
this
.
memberNick
=
memberNick
;
}
public
String
getMemberPhone
()
{
return
memberPhone
;
}
public
void
setMemberPhone
(
String
memberPhone
)
{
this
.
memberPhone
=
memberPhone
;
}
public
String
getClerkId
()
{
return
clerkId
;
}
public
void
setClerkId
(
String
clerkId
)
{
this
.
clerkId
=
clerkId
;
}
public
String
getClerkName
()
{
return
clerkName
;
}
public
void
setClerkName
(
String
clerkName
)
{
this
.
clerkName
=
clerkName
;
}
public
String
getClerkCode
()
{
return
clerkCode
;
}
public
void
setClerkCode
(
String
clerkCode
)
{
this
.
clerkCode
=
clerkCode
;
}
public
String
getStaffId
()
{
return
staffId
;
}
public
void
setStaffId
(
String
staffId
)
{
this
.
staffId
=
staffId
;
}
public
String
getStaffName
()
{
return
staffName
;
}
public
void
setStaffName
(
String
staffName
)
{
this
.
staffName
=
staffName
;
}
public
String
getStaffCode
()
{
return
staffCode
;
}
public
void
setStaffCode
(
String
staffCode
)
{
this
.
staffCode
=
staffCode
;
}
public
String
getSendType
()
{
return
sendType
;
}
public
void
setSendType
(
String
sendType
)
{
this
.
sendType
=
sendType
;
}
public
String
getContent
()
{
return
content
;
}
public
void
setContent
(
String
content
)
{
this
.
content
=
content
;
}
public
String
getMsgType
()
{
return
msgType
;
}
public
void
setMsgType
(
String
msgType
)
{
this
.
msgType
=
msgType
;
}
public
String
getSendTime
()
{
return
sendTime
;
}
public
void
setSendTime
(
String
sendTime
)
{
this
.
sendTime
=
sendTime
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/vo/chat/SingleChatOverviewVO.java
0 → 100644
View file @
9c6142af
package
com
.
gic
.
haoban
.
manage
.
web
.
vo
.
chat
;
import
java.io.Serializable
;
/**
* @author shangfeng
* @date 2024-06-19 11:10:32
*/
public
class
SingleChatOverviewVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
4576679591727859467L
;
/**
* 主动会话数
*/
private
Integer
activeSessionsNum
=
0
;
/**
* 客户发起会话数
*/
private
Integer
custSessionsNum
=
0
;
/**
* 已回复会话数
*/
private
Integer
replySessionsNum
=
0
;
/**
* 已回复会话占比
*/
private
Integer
replySessionsPrport
=
0
;
/**
* 平均首次回复时长
*/
private
Integer
averageFirstReplyTime
=
0
;
/**
* 企微好友数
*/
private
Integer
entWechatFdNum
=
0
;
/**
* 会话总客户数
*/
private
Integer
sessionsCustNum
=
0
;
/**
* 发起会话客户数
*/
private
Integer
launchSessionsCustNum
=
0
;
/**
* 发起会话导购数
*/
private
Integer
launchSessionsSalesNum
=
0
;
/**
* 发送消息数
*/
private
Integer
sendNewsNum
=
0
;
/**
* 日期
*/
private
String
bizDate
;
public
Integer
getActiveSessionsNum
()
{
return
activeSessionsNum
;
}
public
void
setActiveSessionsNum
(
Integer
activeSessionsNum
)
{
this
.
activeSessionsNum
=
activeSessionsNum
;
}
public
Integer
getCustSessionsNum
()
{
return
custSessionsNum
;
}
public
void
setCustSessionsNum
(
Integer
custSessionsNum
)
{
this
.
custSessionsNum
=
custSessionsNum
;
}
public
Integer
getReplySessionsNum
()
{
return
replySessionsNum
;
}
public
void
setReplySessionsNum
(
Integer
replySessionsNum
)
{
this
.
replySessionsNum
=
replySessionsNum
;
}
public
Integer
getReplySessionsPrport
()
{
return
replySessionsPrport
;
}
public
void
setReplySessionsPrport
(
Integer
replySessionsPrport
)
{
this
.
replySessionsPrport
=
replySessionsPrport
;
}
public
Integer
getAverageFirstReplyTime
()
{
return
averageFirstReplyTime
;
}
public
void
setAverageFirstReplyTime
(
Integer
averageFirstReplyTime
)
{
this
.
averageFirstReplyTime
=
averageFirstReplyTime
;
}
public
Integer
getEntWechatFdNum
()
{
return
entWechatFdNum
;
}
public
void
setEntWechatFdNum
(
Integer
entWechatFdNum
)
{
this
.
entWechatFdNum
=
entWechatFdNum
;
}
public
Integer
getSessionsCustNum
()
{
return
sessionsCustNum
;
}
public
void
setSessionsCustNum
(
Integer
sessionsCustNum
)
{
this
.
sessionsCustNum
=
sessionsCustNum
;
}
public
Integer
getLaunchSessionsCustNum
()
{
return
launchSessionsCustNum
;
}
public
void
setLaunchSessionsCustNum
(
Integer
launchSessionsCustNum
)
{
this
.
launchSessionsCustNum
=
launchSessionsCustNum
;
}
public
Integer
getLaunchSessionsSalesNum
()
{
return
launchSessionsSalesNum
;
}
public
void
setLaunchSessionsSalesNum
(
Integer
launchSessionsSalesNum
)
{
this
.
launchSessionsSalesNum
=
launchSessionsSalesNum
;
}
public
Integer
getSendNewsNum
()
{
return
sendNewsNum
;
}
public
void
setSendNewsNum
(
Integer
sendNewsNum
)
{
this
.
sendNewsNum
=
sendNewsNum
;
}
public
String
getBizDate
()
{
return
bizDate
;
}
public
void
setBizDate
(
String
bizDate
)
{
this
.
bizDate
=
bizDate
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/vo/chat/SingleChatStoreGroupVO.java
0 → 100644
View file @
9c6142af
package
com
.
gic
.
haoban
.
manage
.
web
.
vo
.
chat
;
import
com.gic.haoban.manage.web.vo.wechatwork.StoreGroupCommonVO
;
import
java.io.Serializable
;
/**
* @author shangfeng
* @date 2024-06-20 10:00:02
*/
public
class
SingleChatStoreGroupVO
extends
StoreGroupCommonVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
6232468846408236671L
;
/**
* 主动会话数
*/
private
Integer
activeSessionsNum
=
0
;
/**
* 客户发起会话数
*/
private
Integer
custSessionsNum
=
0
;
/**
* 已回复会话数
*/
private
Integer
replySessionsNum
=
0
;
/**
* 已回复会话占比
*/
private
Integer
replySessionsPrport
=
0
;
/**
* 平均首次回复时长
*/
private
Integer
averageFirstReplyTime
=
0
;
/**
* 企微好友数
*/
private
Integer
entWechatFdNum
=
0
;
/**
* 会话总客户数
*/
private
Integer
sessionsCustNum
=
0
;
/**
* 发起会话客户数
*/
private
Integer
launchSessionsCustNum
=
0
;
/**
* 发起会话导购数
*/
private
Integer
launchSessionsSalesNum
=
0
;
/**
* 发送消息数
*/
private
Integer
sendNewsNum
=
0
;
public
Integer
getActiveSessionsNum
()
{
return
activeSessionsNum
;
}
public
void
setActiveSessionsNum
(
Integer
activeSessionsNum
)
{
this
.
activeSessionsNum
=
activeSessionsNum
;
}
public
Integer
getCustSessionsNum
()
{
return
custSessionsNum
;
}
public
void
setCustSessionsNum
(
Integer
custSessionsNum
)
{
this
.
custSessionsNum
=
custSessionsNum
;
}
public
Integer
getReplySessionsNum
()
{
return
replySessionsNum
;
}
public
void
setReplySessionsNum
(
Integer
replySessionsNum
)
{
this
.
replySessionsNum
=
replySessionsNum
;
}
public
Integer
getReplySessionsPrport
()
{
return
replySessionsPrport
;
}
public
void
setReplySessionsPrport
(
Integer
replySessionsPrport
)
{
this
.
replySessionsPrport
=
replySessionsPrport
;
}
public
Integer
getAverageFirstReplyTime
()
{
return
averageFirstReplyTime
;
}
public
void
setAverageFirstReplyTime
(
Integer
averageFirstReplyTime
)
{
this
.
averageFirstReplyTime
=
averageFirstReplyTime
;
}
public
Integer
getEntWechatFdNum
()
{
return
entWechatFdNum
;
}
public
void
setEntWechatFdNum
(
Integer
entWechatFdNum
)
{
this
.
entWechatFdNum
=
entWechatFdNum
;
}
public
Integer
getSessionsCustNum
()
{
return
sessionsCustNum
;
}
public
void
setSessionsCustNum
(
Integer
sessionsCustNum
)
{
this
.
sessionsCustNum
=
sessionsCustNum
;
}
public
Integer
getLaunchSessionsCustNum
()
{
return
launchSessionsCustNum
;
}
public
void
setLaunchSessionsCustNum
(
Integer
launchSessionsCustNum
)
{
this
.
launchSessionsCustNum
=
launchSessionsCustNum
;
}
public
Integer
getLaunchSessionsSalesNum
()
{
return
launchSessionsSalesNum
;
}
public
void
setLaunchSessionsSalesNum
(
Integer
launchSessionsSalesNum
)
{
this
.
launchSessionsSalesNum
=
launchSessionsSalesNum
;
}
public
Integer
getSendNewsNum
()
{
return
sendNewsNum
;
}
public
void
setSendNewsNum
(
Integer
sendNewsNum
)
{
this
.
sendNewsNum
=
sendNewsNum
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/vo/wechatwork/WechatWorkLostDetailVO.java
View file @
9c6142af
...
@@ -51,6 +51,11 @@ public class WechatWorkLostDetailVO extends StoreGroupCommonVO implements Serial
...
@@ -51,6 +51,11 @@ public class WechatWorkLostDetailVO extends StoreGroupCommonVO implements Serial
private
String
clerkId
;
private
String
clerkId
;
/**
/**
* 删除说明0手动删除 1系统删除
*/
private
String
delType
;
/**
* 客户姓名
* 客户姓名
*/
*/
@JsonSerialize
(
using
=
UserNameJsonSeralizer
.
class
)
@JsonSerialize
(
using
=
UserNameJsonSeralizer
.
class
)
...
...
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