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
fe7a09b0
Commit
fe7a09b0
authored
May 30, 2024
by
guojx
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
好办小程序埋点数据统计接口
parent
aec33295
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
679 additions
and
9 deletions
+679
-9
EventTrackingController.java
...haoban/manage/web/controller/EventTrackingController.java
+180
-0
WechatWorkController.java
...ic/haoban/manage/web/controller/WechatWorkController.java
+5
-9
WechatEventTrackingClerkDetailHandle.java
...nage/web/handle/WechatEventTrackingClerkDetailHandle.java
+76
-0
WechatEventTrackingStoreGroupHandle.java
...anage/web/handle/WechatEventTrackingStoreGroupHandle.java
+70
-0
WechatEventTrackingClerkDetailQO.java
...eb/qo/eventtracking/WechatEventTrackingClerkDetailQO.java
+107
-0
WechatEventTrackingStoreGroupQO.java
...web/qo/eventtracking/WechatEventTrackingStoreGroupQO.java
+90
-0
AuthorizedUserUtils.java
.../com/gic/haoban/manage/web/utils/AuthorizedUserUtils.java
+21
-0
WechatEventTrackingClerkVO.java
...nage/web/vo/eventtracking/WechatEventTrackingClerkVO.java
+86
-0
WechatEventTrackingStoreGroupVO.java
...web/vo/eventtracking/WechatEventTrackingStoreGroupVO.java
+44
-0
No files found.
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/EventTrackingController.java
View file @
fe7a09b0
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.commons.util.DataApiUtils
;
import
com.gic.commons.webapi.reponse.RestResponse
;
import
com.gic.haoban.manage.web.handle.WechatEventTrackingClerkDetailHandle
;
import
com.gic.haoban.manage.web.handle.WechatEventTrackingStoreGroupHandle
;
import
com.gic.haoban.manage.web.qo.eventtracking.WechatEventTrackingClerkDetailQO
;
import
com.gic.haoban.manage.web.qo.eventtracking.WechatEventTrackingStoreGroupQO
;
import
com.gic.haoban.manage.web.qo.eventtracking.WechatOverviewQO
;
import
com.gic.haoban.manage.web.qo.wechatwork.StoreGroupCommonQO
;
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.eventtracking.ViewModuleVO
;
import
com.gic.haoban.manage.web.vo.eventtracking.WechatEventTrackingClerkVO
;
import
com.gic.haoban.manage.web.vo.eventtracking.WechatEventTrackingStoreGroupVO
;
import
com.gic.haoban.manage.web.vo.wechatwork.DataPageVO
;
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.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
...
@@ -33,6 +49,10 @@ import java.util.Map;
public
class
EventTrackingController
extends
NewBaseController
{
@Autowired
private
StoreAuthUtils
storeAuthUtils
;
@Autowired
private
WechatEventTrackingStoreGroupHandle
wechatEventTrackingStoreGroupHandle
;
@Autowired
private
WechatEventTrackingClerkDetailHandle
wechatEventTrackingClerkDetailHandle
;
/**
* 概览
...
...
@@ -97,6 +117,166 @@ public class EventTrackingController extends NewBaseController {
return
RestResponse
.
successResult
(
voList
);
}
/**
* 门店分组下钻
* @param qo
* @return
*/
@RequestMapping
(
value
=
"store-group"
)
public
RestResponse
<
DataPageVO
<
WechatEventTrackingStoreGroupVO
>>
storeGroup
(
@RequestBody
WechatEventTrackingStoreGroupQO
qo
)
{
JSONObject
jsonObject
=
new
JSONObject
();
qo
.
dealWithParam
(
jsonObject
);
storeAuthUtils
.
setStoreGroupJsonParam
(
jsonObject
,
qo
);
jsonObject
.
put
(
"apolloKey"
,
"data_point_anal_hb_app_store"
);
DataPageVO
vo
=
storeAuthUtils
.
getDataCommon
(
jsonObject
.
toJSONString
(),
qo
.
getPageNum
(),
"data_point_anal_hb_app_store"
,
qo
.
getPageSize
(),
true
);
if
(
CollectionUtils
.
isNotEmpty
(
vo
.
getRows
()))
{
vo
.
setRows
(
JSONArray
.
parseArray
(
JSON
.
toJSONString
(
vo
.
getRows
()),
WechatEventTrackingStoreGroupVO
.
class
));
}
return
RestResponse
.
successResult
(
vo
);
}
/**
* 门店明细导出
* @param qo
* @return
*/
@RequestMapping
(
value
=
"export-store-group"
)
public
RestResponse
exportStoreGroup
(
@RequestBody
WechatEventTrackingStoreGroupQO
qo
)
{
DownloadTask
task
=
new
DownloadTask
();
task
.
setTaskTypeEnum
(
TaskTypeEnum
.
HAOBAN_WECHAT_EVENT_STORE
);
task
.
setDataType
(
qo
.
getDataType
());
task
.
setUser
(
AuthorizedUserUtils
.
getUserInfo
());
task
.
setTotalCount
(
storeGroup
(
qo
).
getResult
().
getTotalNum
());
JSONObject
jsonObject
=
new
JSONObject
();
qo
.
dealWithParam
(
jsonObject
);
storeAuthUtils
.
setStoreGroupJsonParam
(
jsonObject
,
qo
);
jsonObject
.
put
(
"apolloKey"
,
"data_point_anal_hb_app_store"
);
//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
(
"clerkNum"
);
indexList
.
add
(
"绑定人数"
);
fieldList
.
add
(
"bindingNum"
);
indexList
.
add
(
"绑定率"
);
fieldList
.
add
(
"bindingRate"
);
indexList
.
add
(
"活跃人数"
);
fieldList
.
add
(
"visitNum"
);
indexList
.
add
(
"活跃率"
);
fieldList
.
add
(
"visitRate"
);
task
.
setFileName
(
"门店明细数据-"
+
qo
.
getStartDate
()
+
(
StringUtils
.
isNotBlank
(
qo
.
getEndDate
())
?
"_"
+
qo
.
getEndDate
()
:
""
));
task
.
setChannelName
(
"数据-登录数据-好办使用详情"
);
task
.
setBucketName
(
BucketNameEnum
.
REPORT_50000
.
getName
());
jsonObject
.
put
(
"indexList"
,
indexList
);
jsonObject
.
put
(
"fieldList"
,
fieldList
);
task
.
setSearchDataParams
(
jsonObject
.
toJSONString
());
task
.
setHandler
(
wechatEventTrackingStoreGroupHandle
);
JSONResponse
downloadTask
=
DownloadTaskUtil
.
createDownloadTask
(
task
);
return
RestResponse
.
successResult
(
downloadTask
.
getResult
());
}
/**
* 导购明细
* @param qo
* @return
*/
@RequestMapping
(
value
=
"clerk"
)
public
RestResponse
<
DataPageVO
<
WechatEventTrackingClerkVO
>>
clerk
(
@RequestBody
WechatEventTrackingClerkDetailQO
qo
)
{
JSONObject
jsonObject
=
new
JSONObject
();
qo
.
dealWithParam
(
jsonObject
);
storeAuthUtils
.
setStoreGroupJsonParam
(
jsonObject
,
new
StoreGroupCommonQO
()
.
setStoreGroupId
(
qo
.
getStoreGroupId
()).
setStoreId
(
qo
.
getStoreId
()));
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
jsonObject
.
toJSONString
(),
"data_point_anal_hb_app_clerk"
);
DataPageVO
<
WechatEventTrackingClerkVO
>
vo
=
new
DataPageVO
<>();
Page
page
=
DataApiUtils
.
getPageData
(
res
);
vo
.
setTotalNum
(
page
.
getTotalCount
());
vo
.
setPageNum
(
page
.
getCurrentPage
());
vo
.
setPageSize
(
page
.
getPageSize
());
List
<
JSONObject
>
list
=
page
.
getResult
();
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
vo
.
setRows
(
JSONArray
.
parseArray
(
JSON
.
toJSONString
(
list
),
WechatEventTrackingClerkVO
.
class
));
}
return
RestResponse
.
successResult
(
vo
);
}
/**
* 导购明细导出
* @param qo
* @return
*/
@RequestMapping
(
value
=
"export-clerk"
)
public
RestResponse
exportClerk
(
@RequestBody
WechatEventTrackingClerkDetailQO
qo
)
{
DownloadTask
task
=
new
DownloadTask
();
task
.
setTaskTypeEnum
(
TaskTypeEnum
.
HAOBAN_WECHAT_EVENT_CLERK
);
task
.
setDataType
(
qo
.
getDataType
());
task
.
setUser
(
AuthorizedUserUtils
.
getUserInfo
());
task
.
setTotalCount
(
clerk
(
qo
).
getResult
().
getTotalNum
());
JSONObject
jsonObject
=
new
JSONObject
();
qo
.
dealWithParam
(
jsonObject
);
storeAuthUtils
.
setStoreGroupJsonParam
(
jsonObject
,
new
StoreGroupCommonQO
()
.
setStoreGroupId
(
qo
.
getStoreGroupId
()).
setStoreId
(
qo
.
getStoreId
()));
jsonObject
.
put
(
"apolloKey"
,
"data_point_anal_hb_app_clerk"
);
//Excel的标题是字段进行计算
List
<
String
>
indexList
=
new
ArrayList
<>();
List
<
String
>
fieldList
=
new
ArrayList
<>();
indexList
.
add
(
"导购code"
);
fieldList
.
add
(
"clerkCode"
);
indexList
.
add
(
"导购名称"
);
fieldList
.
add
(
"clerkName"
);
indexList
.
add
(
"归属门店名称"
);
fieldList
.
add
(
"storeName"
);
indexList
.
add
(
"归属门店code"
);
fieldList
.
add
(
"storeCode"
);
indexList
.
add
(
"是否绑定"
);
fieldList
.
add
(
"isBinding"
);
indexList
.
add
(
"是否登陆"
);
fieldList
.
add
(
"isLogin"
);
indexList
.
add
(
"登陆次数"
);
fieldList
.
add
(
"visitCnt"
);
indexList
.
add
(
"日均访问时长"
);
fieldList
.
add
(
"visitTimeStr"
);
indexList
.
add
(
"最近一次登陆时间"
);
fieldList
.
add
(
"lastVisitTime"
);
task
.
setFileName
(
"导购明细数据-"
+
qo
.
getStartDate
()
+
(
StringUtils
.
isNotBlank
(
qo
.
getEndDate
())
?
"_"
+
qo
.
getEndDate
()
:
""
));
task
.
setChannelName
(
"数据-登录数据-好办使用详情"
);
task
.
setBucketName
(
BucketNameEnum
.
REPORT_50000
.
getName
());
jsonObject
.
put
(
"indexList"
,
indexList
);
jsonObject
.
put
(
"fieldList"
,
fieldList
);
task
.
setSearchDataParams
(
jsonObject
.
toJSONString
());
task
.
setHandler
(
wechatEventTrackingClerkDetailHandle
);
JSONResponse
downloadTask
=
DownloadTaskUtil
.
createDownloadTask
(
task
);
return
RestResponse
.
successResult
(
downloadTask
.
getResult
());
}
private
JSONObject
getOverviewParam
(
WechatOverviewQO
qo
)
{
JSONObject
jsonObject
=
(
JSONObject
)
JSONObject
.
toJSON
(
qo
);
jsonObject
.
remove
(
"storeGroupId"
);
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/WechatWorkController.java
View file @
fe7a09b0
...
...
@@ -15,6 +15,7 @@ import com.gic.haoban.manage.web.handle.WechatWorkLostClerkHandle;
import
com.gic.haoban.manage.web.handle.WechatWorkLostDetailHandle
;
import
com.gic.haoban.manage.web.handle.WechatWorkLostStoreGroupHandle
;
import
com.gic.haoban.manage.web.qo.wechatwork.*
;
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
;
...
...
@@ -160,7 +161,7 @@ public class WechatWorkController extends NewBaseController {
public
RestResponse
exportLostStoreGroup
(
@RequestBody
WechatWorkLostStoreGroupQO
qo
)
{
DownloadTask
task
=
new
DownloadTask
();
task
.
setTaskTypeEnum
(
TaskTypeEnum
.
STORE_RANK_DOWNLOAD
);
task
.
setTaskTypeEnum
(
TaskTypeEnum
.
WECHAT_WORK_STORE_GROUP
);
task
.
setDataType
(
qo
.
getDataType
());
task
.
setUser
(
getUserInfo
());
...
...
@@ -255,7 +256,7 @@ public class WechatWorkController extends NewBaseController {
@RequestMapping
(
value
=
"export-lost-clerk"
)
public
RestResponse
exportLostClerk
(
@RequestBody
WechatWorkLostClerkQO
qo
)
{
DownloadTask
task
=
new
DownloadTask
();
task
.
setTaskTypeEnum
(
TaskTypeEnum
.
STORE_RANK_DOWNLOAD
);
task
.
setTaskTypeEnum
(
TaskTypeEnum
.
WECHAT_WORK_CLERK_DETAIL
);
task
.
setDataType
(
qo
.
getDataType
());
task
.
setUser
(
getUserInfo
());
...
...
@@ -331,7 +332,7 @@ public class WechatWorkController extends NewBaseController {
@RequestMapping
(
value
=
"export-lost-detail"
)
public
RestResponse
exportLostDetail
(
@RequestBody
WechatWorkLostDetailQO
qo
)
{
DownloadTask
task
=
new
DownloadTask
();
task
.
setTaskTypeEnum
(
TaskTypeEnum
.
STORE_RANK_DOWNLOAD
);
task
.
setTaskTypeEnum
(
TaskTypeEnum
.
WECHAT_WORK_MEMBER_DETAIL
);
task
.
setDataType
(
qo
.
getDataType
());
task
.
setUser
(
getUserInfo
());
...
...
@@ -382,12 +383,7 @@ public class WechatWorkController extends NewBaseController {
}
private
AuthorizedUser
getUserInfo
()
{
WebLoginDTO
loginUser
=
AuthWebRequestUtil
.
getLoginUser
();
AuthorizedUser
user
=
new
AuthorizedUser
();
user
.
setUserId
(
loginUser
.
getClerkId
());
user
.
setEnterpriseId
(
loginUser
.
getEnterpriseId
());
user
.
setRealName
(
loginUser
.
getClerkName
());
return
user
;
return
AuthorizedUserUtils
.
getUserInfo
();
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/handle/WechatEventTrackingClerkDetailHandle.java
0 → 100644
View file @
fe7a09b0
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.vo.eventtracking.WechatEventTrackingClerkVO
;
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.stereotype.Component
;
import
java.util.Collections
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* 数据-登录数据-好办使用详情
*/
@Component
public
class
WechatEventTrackingClerkDetailHandle
extends
DownloadHandlerAbstract
<
WechatEventTrackingClerkVO
>
{
private
static
final
Logger
LOGGER
=
LogManager
.
getLogger
(
WechatEventTrackingClerkDetailHandle
.
class
);
@Override
public
List
<
WechatEventTrackingClerkVO
>
getData
(
Context
context
,
String
searchDataParams
,
Integer
currentPage
)
{
boolean
isFirst
=
currentPage
!=
null
&&
currentPage
==
1
;
if
(
isFirst
)
{
LOGGER
.
info
(
"数据-登录数据-好办使用导购详情导出日志"
);
}
JSONObject
jsonObject
=
JSON
.
parseObject
(
searchDataParams
);
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
jsonObject
.
toJSONString
(),
"data_point_anal_hb_app_clerk"
);
List
<
JSONObject
>
list
=
DataApiUtils
.
getPageList
(
res
);
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
List
<
WechatEventTrackingClerkVO
>
result
=
JSONObject
.
parseArray
(
JSON
.
toJSONString
(
list
),
WechatEventTrackingClerkVO
.
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/WechatEventTrackingStoreGroupHandle.java
0 → 100644
View file @
fe7a09b0
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.eventtracking.WechatEventTrackingStoreGroupVO
;
import
com.gic.web.common.download.DownloadHandlerAbstract
;
import
com.gic.web.common.download.context.Context
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.util.Collections
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
/**
* 数据-登录数据-好办使用详情
*/
@Component
public
class
WechatEventTrackingStoreGroupHandle
extends
DownloadHandlerAbstract
<
WechatEventTrackingStoreGroupVO
>
{
@Autowired
private
StoreAuthUtils
storeAuthUtils
;
@Override
public
List
<
WechatEventTrackingStoreGroupVO
>
getData
(
Context
context
,
String
searchDataParams
,
Integer
currentPage
)
{
List
<
JSONObject
>
list
=
storeAuthUtils
.
getDataCommon
(
searchDataParams
,
currentPage
,
"数据-登录数据-好办使用详情导出日志进来"
,
getPageSize
(),
false
).
getRows
();
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
List
<
WechatEventTrackingStoreGroupVO
>
result
=
JSONObject
.
parseArray
(
JSON
.
toJSONString
(
list
),
WechatEventTrackingStoreGroupVO
.
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/qo/eventtracking/WechatEventTrackingClerkDetailQO.java
0 → 100644
View file @
fe7a09b0
package
com
.
gic
.
haoban
.
manage
.
web
.
qo
.
eventtracking
;
import
com.alibaba.fastjson.JSONObject
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
lombok.Data
;
import
org.apache.commons.lang3.StringUtils
;
import
java.io.Serializable
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @Author guojx
* @Date 2024/5/21 14:12
*/
@Data
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
class
WechatEventTrackingClerkDetailQO
implements
Serializable
{
/**
* yyyy-MM-dd
*/
private
String
startDate
;
/**
* yyyy-MM-dd
*/
private
String
endDate
;
/**
* 导购名称/code
*/
private
String
vagueQueryClerk
;
/**
* 数据类型 1天 2近7天 3近30天 4周 5月
*/
private
Integer
dateType
;
/**
* 排序类型 1 正序 2 倒序
*/
private
Integer
orderByType
;
/**
* 排序字段名称
*/
private
String
orderByFields
;
/**
* 分组ID,可为空
*/
private
String
storeGroupId
;
/**
* 门店ID。可为空
*/
private
String
storeId
;
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
(
"visitTime"
,
1
);
map
.
put
(
"lastVisitTime"
,
2
);
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
(
dateType
!=
null
)
{
jsonObject
.
put
(
"dateType"
,
dateType
);
}
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
);
}
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/qo/eventtracking/WechatEventTrackingStoreGroupQO.java
0 → 100644
View file @
fe7a09b0
package
com
.
gic
.
haoban
.
manage
.
web
.
qo
.
eventtracking
;
import
com.alibaba.fastjson.JSONObject
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
com.gic.haoban.manage.web.qo.wechatwork.StoreGroupCommonQO
;
import
lombok.Data
;
import
org.apache.commons.lang3.StringUtils
;
import
java.io.Serializable
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @Author guojx
* @Date 2024/5/22 9:27
*/
@Data
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
class
WechatEventTrackingStoreGroupQO
extends
StoreGroupCommonQO
implements
Serializable
{
/**
* 周期起始时间
*/
private
String
startDate
;
/**
* 结束时间
*/
private
String
endDate
;
/**
* 数据类型 1天 2近7天 3近30天 4周 5月
*/
private
Integer
dateType
;
/**
* 排序类型 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
(
"clerkNum"
,
1
);
map
.
put
(
"bindingNum"
,
2
);
map
.
put
(
"bindingRate"
,
3
);
map
.
put
(
"visitNum"
,
4
);
map
.
put
(
"visitRate"
,
5
);
map
.
put
(
"visitCnt"
,
6
);
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
(
dateType
!=
null
)
{
jsonObject
.
put
(
"dateType"
,
dateType
);
}
if
(
orderByType
!=
null
)
{
jsonObject
.
put
(
"orderByType"
,
orderByType
);
}
if
(
orderByFields
!=
null
)
{
jsonObject
.
put
(
"orderByFields"
,
getDataApiOrderField
());
}
jsonObject
.
put
(
"pageNum"
,
pageNum
);
jsonObject
.
put
(
"pageSize"
,
pageSize
);
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/utils/AuthorizedUserUtils.java
0 → 100644
View file @
fe7a09b0
package
com
.
gic
.
haoban
.
manage
.
web
.
utils
;
import
com.gic.clerk.api.dto.AuthorizedUser
;
import
com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO
;
import
com.gic.haoban.common.utils.AuthWebRequestUtil
;
/**
* @Author guojx
* @Date 2024/5/30 10:59
*/
public
class
AuthorizedUserUtils
{
public
static
AuthorizedUser
getUserInfo
()
{
WebLoginDTO
loginUser
=
AuthWebRequestUtil
.
getLoginUser
();
AuthorizedUser
user
=
new
AuthorizedUser
();
user
.
setUserId
(
loginUser
.
getClerkId
());
user
.
setEnterpriseId
(
loginUser
.
getEnterpriseId
());
user
.
setRealName
(
loginUser
.
getClerkName
());
return
user
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/vo/eventtracking/WechatEventTrackingClerkVO.java
0 → 100644
View file @
fe7a09b0
package
com
.
gic
.
haoban
.
manage
.
web
.
vo
.
eventtracking
;
import
com.gic.haoban.manage.web.vo.wechatwork.StoreGroupCommonVO
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* @Author guojx
* @Date 2024/5/21 15:56
*/
@Data
public
class
WechatEventTrackingClerkVO
extends
StoreGroupCommonVO
implements
Serializable
{
/**
* 1访问时长 单位秒
*/
private
Long
visitTime
;
/**
* 访问时长 00:00:00格式
*/
private
String
visitTimeStr
;
/**
* 2最后一次登陆时间
*/
private
String
lastVisitTime
;
/**
* 是否绑定
*/
private
String
isBinding
;
/**
* 是否登陆
*/
private
String
isLogin
;
/**
* 登陆次数
*/
private
Integer
visitCnt
;
/**
* 导购id
*/
private
String
clerkId
;
private
String
clerkName
;
private
String
clerkCode
;
public
String
getVisitTimeStr
()
{
if
(
visitTime
!=
null
)
{
int
hour
=
(
int
)
(
visitTime
/
3600
);
String
str
=
getTimeStr
(
hour
);
if
(
hour
>
0
)
{
visitTime
=
visitTime
-
(
3600
*
hour
);
}
int
minute
=
(
int
)
(
visitTime
/
60
);
str
=
str
+
":"
+
getTimeStr
(
minute
);
if
(
minute
>
0
)
{
visitTime
=
visitTime
-
(
60
*
minute
);
}
str
=
str
+
":"
+
getTimeStr
(
visitTime
.
shortValue
());
return
str
;
}
return
visitTimeStr
;
}
private
static
String
getTimeStr
(
int
time
)
{
String
str
=
""
;
if
(
time
==
0
)
{
str
=
"00"
;
}
else
if
(
time
<
10
)
{
str
=
"0"
+
time
+
""
;
}
else
{
str
=
""
+
time
;
}
return
str
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/vo/eventtracking/WechatEventTrackingStoreGroupVO.java
0 → 100644
View file @
fe7a09b0
package
com
.
gic
.
haoban
.
manage
.
web
.
vo
.
eventtracking
;
import
com.gic.haoban.manage.web.vo.wechatwork.StoreGroupCommonVO
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* @Author guojx
* @Date 2024/5/21 15:56
*/
@Data
public
class
WechatEventTrackingStoreGroupVO
extends
StoreGroupCommonVO
implements
Serializable
{
/**
* 1员工总人数
*/
private
Integer
clerkNum
;
/**
* 2绑定人数
*/
private
Integer
bindingNum
;
/**
* 3绑定率
*/
private
Double
bindingRate
;
/**
* 4活跃人数
*/
private
Integer
visitNum
;
/**
* 5活跃率
*/
private
Double
visitRate
;
/**
* 6访问次数
*/
private
Integer
visitCnt
;
}
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