Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
M
master-5.0
Project
Project
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
Graph
比较
统计图
议题
0
议题
0
列表
看板
标记
Milestones
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
注册表
注册表
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
svn
master-5.0
Commits
72ed75c1
提交
72ed75c1
authored
11月 20, 2019
作者:
malei
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(DataLog): DistrictAnalysis
1.访客属性 2.新老访客 References: N/A
上级
ed811b67
显示空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
225 行增加
和
9 行删除
+225
-9
DataLogController.java
.../com/zrqx/statistics/bg/controller/DataLogController.java
+14
-1
DataLogService.java
...n/java/com/zrqx/statistics/bg/service/DataLogService.java
+25
-0
DataLogServiceImpl.java
...va/com/zrqx/statistics/bg/service/DataLogServiceImpl.java
+87
-6
QueryDistrictAnalysisForm.java
...qx/statistics/commons/form/QueryDistrictAnalysisForm.java
+0
-1
QueryVisitorAttrForm.java
...om/zrqx/statistics/commons/form/QueryVisitorAttrForm.java
+0
-1
QueryVisitorLoyaltyForm.java
...zrqx/statistics/commons/form/QueryVisitorLoyaltyForm.java
+28
-0
FuncEnum.java
...c/main/java/com/zrqx/statistics/utils/baidu/FuncEnum.java
+13
-0
BaiduStatisticsBody.java
...qx/statistics/utils/baidu/config/BaiduStatisticsBody.java
+16
-0
CharacterEnums.java
...n/java/com/zrqx/core/enums/statistics/CharacterEnums.java
+42
-0
没有找到文件。
app/statistics/src/main/java/com/zrqx/statistics/bg/controller/DataLogController.java
浏览文件 @
72ed75c1
package
com
.
zrqx
.
statistics
.
bg
.
controller
;
import
com.zrqx.statistics.commons.form.QueryVisitorLoyaltyForm
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
...
@@ -77,9 +78,21 @@ public class DataLogController {
return
CallBack
.
success
(
service
.
getDistrictAnalysis
(
form
));
}
@ApiOperation
(
"
游
客属性"
)
@ApiOperation
(
"
访
客属性"
)
@PostMapping
(
"/visitor/attr"
)
public
CallBack
<
JSONObject
>
getVisitorAttr
(
QueryVisitorAttrForm
form
)
{
return
CallBack
.
success
(
service
.
getVisitorAttr
(
form
));
}
@ApiOperation
(
"新老访客"
)
@PostMapping
(
"/visitor/summary"
)
public
CallBack
<
JSONObject
>
getVisitorSummary
(
QueryVisitorAttrForm
form
)
{
return
CallBack
.
success
(
service
.
getVisitorSummary
(
form
));
}
@ApiOperation
(
"忠诚度"
)
@PostMapping
(
"/visitor/loyalty"
)
public
CallBack
<
JSONObject
>
getLoyalty
(
QueryVisitorLoyaltyForm
form
)
{
return
CallBack
.
success
(
service
.
getLoyalty
(
form
));
}
}
app/statistics/src/main/java/com/zrqx/statistics/bg/service/DataLogService.java
浏览文件 @
72ed75c1
...
...
@@ -8,6 +8,7 @@ import com.zrqx.statistics.commons.form.QueryTrendForm;
import
com.zrqx.statistics.commons.form.QueryDistrictAnalysisForm
;
import
com.zrqx.statistics.commons.form.QuerySourceForm
;
import
com.zrqx.statistics.commons.form.QueryVisitorAttrForm
;
import
com.zrqx.statistics.commons.form.QueryVisitorLoyaltyForm
;
import
com.zrqx.statistics.commons.model.DataLog
;
import
com.zrqx.core.service.BaseService
;
...
...
@@ -89,4 +90,28 @@ public interface DataLogService extends BaseService<DataLog, String> {
*/
JSONObject
loadSource
(
QuerySourceForm
form
);
/**
* 获取新老访客的摘要
* @param form
* @return
*/
JSONObject
getVisitorSummary
(
QueryVisitorAttrForm
form
);
/**
* 访客忠诚度
* @param form
* @return
*/
JSONObject
getLoyalty
(
QueryVisitorLoyaltyForm
form
);
/**
* 访客忠诚度-聚合结果
* @param form
* @return
*/
JSONObject
getLoyaltyPolymerization
(
QueryVisitorLoyaltyForm
form
);
}
app/statistics/src/main/java/com/zrqx/statistics/bg/service/DataLogServiceImpl.java
浏览文件 @
72ed75c1
...
...
@@ -2,13 +2,20 @@ package com.zrqx.statistics.bg.service;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Calendar
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.*
;
import
com.zrqx.core.enums.statistics.CharacterEnums
;
import
com.zrqx.statistics.commons.form.QueryDistrictAnalysisForm
;
import
com.zrqx.statistics.commons.form.QueryVisitorAttrForm
;
import
com.zrqx.statistics.commons.form.QueryVisitorLoyaltyForm
;
import
com.zrqx.statistics.commons.model.DataLog
;
import
com.zrqx.core.enums.statistics.QueryTimeUnitEnum
;
import
com.zrqx.core.mapper.BaseMapper
;
import
com.zrqx.core.service.BaseServiceImpl
;
import
com.zrqx.statistics.commons.form.BaiduLogQueryForm
;
import
com.zrqx.statistics.utils.baidu.config.BaiduConfig
;
import
com.zrqx.statistics.utils.baidu.config.ParamStringConfig
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -543,6 +550,80 @@ public class DataLogServiceImpl extends BaseServiceImpl<DataLog, String> impleme
return
objBody
;
}
@Override
public
JSONObject
getVisitorSummary
(
QueryVisitorAttrForm
form
)
{
BaiduStatisticsBody
body
=
new
BaiduStatisticsBody
(
form
.
getStart_date
(),
form
.
getEnd_date
(),
FuncEnum
.
NEW_OLD_VISITOR
.
getSupportParams
(),
FuncEnum
.
NEW_OLD_VISITOR
.
getFuncName
()
);
JSONObject
objBody
=
null
;
try
{
byte
[]
res
=
HttpUtils
.
post
(
BaiduConfig
.
API_URL
,
this
.
generateHttpRequestParam
(
body
),
CHARSET
);
String
s
=
new
String
(
res
);
JSONObject
obj
=
JSON
.
parseObject
(
s
);
objBody
=
obj
.
getJSONObject
(
"body"
);
}
catch
(
Exception
e
)
{
log
.
error
(
"获取访客属性失败"
,
e
);
}
return
objBody
;
}
@Override
public
JSONObject
getLoyalty
(
QueryVisitorLoyaltyForm
form
)
{
BaiduStatisticsBody
body
=
new
BaiduStatisticsBody
(
form
.
getStart_date
(),
form
.
getEnd_date
(),
FuncEnum
.
VISITOR_LOYALTY
.
getSupportParams
(),
FuncEnum
.
VISITOR_LOYALTY
.
getFuncName
(),
form
.
getCharacter
()
);
JSONObject
objBody
=
null
;
try
{
byte
[]
res
=
HttpUtils
.
post
(
BaiduConfig
.
API_URL
,
this
.
generateHttpRequestParam
(
body
),
CHARSET
);
String
s
=
new
String
(
res
);
JSONObject
obj
=
JSON
.
parseObject
(
s
);
objBody
=
obj
.
getJSONObject
(
"body"
);
}
catch
(
Exception
e
)
{
log
.
error
(
"获取访客属性失败"
,
e
);
}
return
objBody
;
}
@Override
public
JSONObject
getLoyaltyPolymerization
(
QueryVisitorLoyaltyForm
form
)
{
Map
<
String
,
String
>
character
=
CharacterEnums
.
getAllEnumMap
();
JSONObject
result
=
new
JSONObject
();
//获取四个图表数据,组装成一个返回
character
.
entrySet
().
forEach
(
ch
->
{
BaiduStatisticsBody
body
=
new
BaiduStatisticsBody
(
form
.
getStart_date
(),
form
.
getEnd_date
(),
FuncEnum
.
VISITOR_LOYALTY
.
getSupportParams
(),
FuncEnum
.
VISITOR_LOYALTY
.
getFuncName
(),
ch
.
getKey
()
);
JSONObject
objBody
=
null
;
try
{
byte
[]
res
=
HttpUtils
.
post
(
BaiduConfig
.
API_URL
,
this
.
generateHttpRequestParam
(
body
),
CHARSET
);
String
s
=
new
String
(
res
);
JSONObject
obj
=
JSON
.
parseObject
(
s
);
objBody
=
obj
.
getJSONObject
(
"body"
);
}
catch
(
Exception
e
)
{
log
.
error
(
"获取访客属性失败"
,
e
);
}
});
return
null
;
}
private
String
generateHttpRequestParam
(
BaiduStatisticsBody
body
)
{
BaiduStatisticsHeader
header
=
new
BaiduStatisticsHeader
();
...
...
app/statistics/src/main/java/com/zrqx/statistics/commons/form/QueryDistrictAnalysisForm.java
浏览文件 @
72ed75c1
...
...
@@ -7,7 +7,6 @@ import lombok.Data;
/**
* 查询地域分析Form
* Created by ml on 2019/11/13.
*/
@Data
@ApiModel
(
value
=
"查询地域分析Form"
)
...
...
app/statistics/src/main/java/com/zrqx/statistics/commons/form/QueryVisitorAttrForm.java
浏览文件 @
72ed75c1
...
...
@@ -5,7 +5,6 @@ import lombok.Data;
/**
* 查询游客属性
* Created by ml on 2019/11/14.
*/
@Data
public
class
QueryVisitorAttrForm
{
...
...
app/statistics/src/main/java/com/zrqx/statistics/commons/form/QueryVisitorLoyaltyForm.java
0 → 100644
浏览文件 @
72ed75c1
package
com
.
zrqx
.
statistics
.
commons
.
form
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* 访客忠诚度
*/
@Data
public
class
QueryVisitorLoyaltyForm
{
@ApiModelProperty
(
"开始时间, 字符串格式: 20191114"
)
private
String
start_date
;
@ApiModelProperty
(
"结束时间"
)
private
String
end_date
;
@ApiModelProperty
(
"地域"
)
private
String
area
;
@ApiModelProperty
(
"游客;全部:all,新游客:new,老访客:old"
)
private
String
visitor
;
@ApiModelProperty
(
"character_pages:访问页数, character_depth:访问深度, character_time:访问时长, character_lasttime:上次访问时间"
)
private
String
character
;
}
app/statistics/src/main/java/com/zrqx/statistics/utils/baidu/FuncEnum.java
浏览文件 @
72ed75c1
...
...
@@ -110,6 +110,19 @@ public enum FuncEnum {
*/
SOURCE_MAP
(
"source/all/f"
,
new
String
[]{
}),
/**
* 新老访客
* pv_count,visitor_count,ip_count,bounce_ratio,avg_visit_time
*/
NEW_OLD_VISITOR
(
"visit/type/getVisitorSummary"
,
new
String
[]{
ParamStringConfig
.
LIU_LAN_LIANG_PV
,
ParamStringConfig
.
FANG_WEN_SHU_UV
,
ParamStringConfig
.
IP_SHU
,
ParamStringConfig
.
TIAO_CHU_LV
,
ParamStringConfig
.
PING_JUN_FANG_WEN_SHI_CHANG
}),
VISITOR_LOYALTY
(
"visit/character/fBar"
,
new
String
[]{}),
;
// 状态码
private
final
String
funcName
;
...
...
app/statistics/src/main/java/com/zrqx/statistics/utils/baidu/config/BaiduStatisticsBody.java
浏览文件 @
72ed75c1
...
...
@@ -28,6 +28,7 @@ public class BaiduStatisticsBody {
public
String
end_date
;
public
String
metrics
;
public
String
method
;
public
String
character
;
public
BaiduStatisticsBody
()
{
this
.
site_id
=
BaiduConfig
.
SITEID
;
...
...
@@ -63,4 +64,19 @@ public class BaiduStatisticsBody {
this
.
method
=
method
;
}
/**
* @param start_date 开始时间
* @param end_date 结束时间
* @param metrics 查询项OR指标
* @param method 方法名
* @param character 查询标签页
*/
public
BaiduStatisticsBody
(
String
start_date
,
String
end_date
,
String
[]
metrics
,
String
method
,
String
character
)
{
this
.
site_id
=
BaiduConfig
.
SITEID
;
this
.
start_date
=
start_date
;
this
.
end_date
=
end_date
;
this
.
metrics
=
getStringFromArray
(
metrics
);
this
.
method
=
method
;
this
.
character
=
character
;
}
}
core/src/main/java/com/zrqx/core/enums/statistics/CharacterEnums.java
0 → 100644
浏览文件 @
72ed75c1
package
com
.
zrqx
.
core
.
enums
.
statistics
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* 图形枚举
*/
public
enum
CharacterEnums
{
CHARACTER_PAGES
(
"character_pages"
,
"访问页数"
),
CHARACTER_DEPTH
(
"character_depth"
,
"访问深度"
),
CHARACTER_TIME
(
"character_time"
,
"访问时长"
),
CHARACTER_LASTTIME
(
"character_lasttime"
,
"上次访问时间"
);
private
String
code
;
private
String
name
;
CharacterEnums
(
String
code
,
String
name
)
{
this
.
code
=
code
;
this
.
name
=
name
;
}
public
String
getCode
()
{
return
code
;
}
public
String
getName
()
{
return
name
;
}
public
static
Map
<
String
,
String
>
getAllEnumMap
()
{
Map
<
String
,
String
>
resultMap
=
new
HashMap
<>();
for
(
CharacterEnums
v
:
values
())
{
resultMap
.
put
(
v
.
code
,
v
.
name
);
}
return
resultMap
;
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论