提交 16792866 authored 作者: malei's avatar malei

feat(DataLog): 用户画像

1.用户画像-新老访客 References: N/A
上级 9603d950
......@@ -68,7 +68,7 @@ public class DataLogController {
return CallBack.success(service.saveAndGetVisit());
}
@ApiOperation("域分析")
@ApiOperation("域分析")
@PostMapping("/district")
public CallBack<JSONObject> getDistrictAnalysis(QueryDistrictAnalysisForm form) {
return CallBack.success(service.loadDistrictAnalysis(form));
......@@ -82,7 +82,7 @@ public class DataLogController {
@ApiOperation("新老访客")
@PostMapping("/visitor/summary")
public CallBack<JSONObject> getVisitorSummary(QueryVisitorAttrForm form) {
public CallBack<JSONObject> getVisitorSummary(QueryVisitorSunnaryForm form) {
return CallBack.success(service.loadVisitorSummary(form));
}
......
......@@ -91,7 +91,7 @@ public interface DataLogService extends BaseService<DataLog, String> {
* @param form
* @return
*/
JSONObject loadVisitorSummary(QueryVisitorAttrForm form);
JSONObject loadVisitorSummary(QueryVisitorSunnaryForm form);
/**
......
......@@ -477,21 +477,31 @@ public class DataLogServiceImpl extends BaseServiceImpl<DataLog, String> impleme
}
@Override
public JSONObject loadDistrictAnalysis(QueryDistrictAnalysisForm form) {
public JSONObject loadDistrictAnalysis(QueryDistrictAnalysisForm form) {
BaiduStatisticsBody body = null;
if (StringUtils.isNotBlank(form.getAreaType()) && TABLE.equals(form.getAreaType())) {
body = new BaiduStatisticsBody(
form.getVisitor(),
form.getStart_date(),
form.getEnd_date(),
form.getStart_date2(),
form.getEnd_date2(),
FuncEnum.DISTRICT_TABLE.getFuncName(),
FuncEnum.DISTRICT_TABLE.getSupportParams(),
FuncEnum.DISTRICT_TABLE.getFuncName()
null,
null
);
} else if (StringUtils.isNotBlank(form.getAreaType()) && MAP.equals(form.getAreaType())) {
body = new BaiduStatisticsBody(
form.getVisitor(),
form.getStart_date(),
form.getEnd_date(),
form.getStart_date2(),
form.getEnd_date2(),
FuncEnum.DISTRICT_MAP.getFuncName(),
new String[]{form.getIndicators()},
FuncEnum.DISTRICT_MAP.getFuncName()
null,
null
);
} else {
return null;
......@@ -534,13 +544,35 @@ public class DataLogServiceImpl extends BaseServiceImpl<DataLog, String> impleme
}
@Override
public JSONObject loadVisitorSummary(QueryVisitorAttrForm form) {
BaiduStatisticsBody body = new BaiduStatisticsBody(
form.getStart_date(),
form.getEnd_date(),
FuncEnum.NEW_OLD_VISITOR.getSupportParams(),
FuncEnum.NEW_OLD_VISITOR.getFuncName()
);
public JSONObject loadVisitorSummary(QueryVisitorSunnaryForm form) {
BaiduStatisticsBody body = null;
if (StringUtils.isNotBlank(form.getViewType()) && TABLE.equals(form.getViewType())) {
body = new BaiduStatisticsBody(
null,
form.getStart_date(),
form.getEnd_date(),
form.getStart_date2(),
form.getEnd_date2(),
FuncEnum.VISIT_TYPE_GETVISITORSUMMARY.getFuncName(),
FuncEnum.VISIT_TYPE_GETVISITORSUMMARY.getSupportParams(),
null,
null
);
} else if (StringUtils.isNotBlank(form.getViewType()) && MAP.equals(form.getViewType())) {
body = new BaiduStatisticsBody(
null,
form.getStart_date(),
form.getEnd_date(),
form.getStart_date2(),
form.getEnd_date2(),
FuncEnum.VISIT_TYPE_A.getFuncName(),
FuncEnum.VISIT_TYPE_A.getSupportParams(),
null,
null
);
} else {
return null;
}
JSONObject objBody = null;
try {
......@@ -548,8 +580,9 @@ public class DataLogServiceImpl extends BaseServiceImpl<DataLog, String> impleme
String s = new String(res);
JSONObject obj = JSON.parseObject(s);
objBody = obj.getJSONObject("body");
//log.info(objBody.toJSONString());
} catch (Exception e) {
log.error("获取访客属性失败", e);
log.error("获取新老访客结果失败", e);
}
return objBody;
......@@ -561,10 +594,12 @@ public class DataLogServiceImpl extends BaseServiceImpl<DataLog, String> impleme
form.getVisitor(),
form.getStart_date(),
form.getEnd_date(),
FuncEnum.VISITOR_LOYALTY.getSupportParams(),
form.getStart_date2(),
form.getEnd_date2(),
FuncEnum.VISITOR_LOYALTY.getFuncName(),
form.getArea(),
form.getCharacter()
FuncEnum.VISITOR_LOYALTY.getSupportParams(),
form.getCharacter(),
form.getArea()
);
JSONObject objBody = null;
......@@ -591,8 +626,10 @@ public class DataLogServiceImpl extends BaseServiceImpl<DataLog, String> impleme
form.getVisitor(),
form.getStart_date(),
form.getEnd_date(),
FuncEnum.VISITOR_LOYALTY.getSupportParams(),
form.getStart_date2(),
form.getEnd_date2(),
FuncEnum.VISITOR_LOYALTY.getFuncName(),
FuncEnum.VISITOR_LOYALTY.getSupportParams(),
ch.getKey(),
form.getArea()
);
......
......@@ -21,6 +21,12 @@ public class QueryDistrictAnalysisForm {
@ApiModelProperty("结束时间")
private String end_date;
@ApiModelProperty("对比时间, 字符串格式: 20191114")
private String start_date2;
@ApiModelProperty("对比时间")
private String end_date2;
/**
* {@link FiledEnum}
*/
......
......@@ -16,6 +16,12 @@ public class QueryVisitorLoyaltyForm {
@ApiModelProperty("结束时间")
private String end_date;
@ApiModelProperty("对比时间, 字符串格式: 20191114")
private String start_date2;
@ApiModelProperty("对比时间")
private String end_date2;
@ApiModelProperty("地域")
private String area;
......
package com.zrqx.statistics.commons.form;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 新老访客
* Created by ml on 2019/11/25.
*/
@Data
public class QueryVisitorSunnaryForm {
@ApiModelProperty("开始时间")
private String start_date;
@ApiModelProperty("结束时间")
private String end_date;
@ApiModelProperty("地域")
private String area;
@ApiModelProperty("对比时间, 字符串格式: 20191114")
private String start_date2;
@ApiModelProperty("结束时间")
private String end_date2;
@ApiModelProperty("目标类型,map:图形数据, table:表格中数据")
private String viewType;
}
package com.zrqx.statistics.utils.baidu;
import java.util.HashMap;
import com.zrqx.statistics.utils.baidu.config.ParamStringConfig;
import org.apache.commons.lang3.StringUtils;
import java.util.HashMap;
/**
* @author ydm
* @ClassName FuncEnum
......@@ -122,7 +122,26 @@ public enum FuncEnum {
ParamStringConfig.PING_JUN_FANG_WEN_SHI_CHANG
}),
/**
* 忠诚度
*/
VISITOR_LOYALTY("visit/character/fBar", new String[]{}),
/**
* 新老访客-图形数据
*/
VISIT_TYPE_A("visit/type/a", new String[]{
ParamStringConfig.LIU_LAN_LIANG_PV,
ParamStringConfig.FANG_WEN_SHU_UV,
ParamStringConfig.TIAO_CHU_LV,
ParamStringConfig.PING_JUN_FANG_WEN_SHI_CHANG,
ParamStringConfig.PING_JUN_FANG_WEN_YE_SHU
}),
/**
* 新老访客-表格数据
*/
VISIT_TYPE_GETVISITORSUMMARY("visit/type/getVisitorSummary", new String[]{}),
;
// 状态码
private final String funcName;
......
......@@ -23,18 +23,58 @@ public class BaiduStatisticsBody {
// }
public String site_id;
/**
* 游客属性
*/
private String visitor;
/**
* 开始时间
*/
public String start_date;
/**
* 结束时间
*/
public String end_date;
/**
* 指标
*/
public String metrics;
/**
* 请求方法
*/
public String method;
/**
* 图形别名
*/
public String character;
/**
* 地域
*/
private String area;
/**
* 对比时间
*/
private String start_date2;
/**
* 对比时间
*/
private String end_date2;
/**
* 设备
*/
private String clientDevice;
private String viewType;
/**
* 指标,地域分析
*/
private String indicators;
/**
* 展示标签类型
*/
private String viewType;
public BaiduStatisticsBody() {
this.site_id = BaiduConfig.SITEID;
this.method = FuncEnum.SITE_PROFILE_TREND_DATA.getFuncName();
......@@ -98,9 +138,6 @@ public class BaiduStatisticsBody {
* @param end_date 结束时间
* @param metrics 指标
* @param method 方法
* @param area 地域
* @param start_date2 对比日期
* @param end_date2 对比日期
* @param clientDevice 设备
*/
public BaiduStatisticsBody(String viewType,String visitor, String start_date, String end_date, String[] metrics, String method,String clientDevice) {
......@@ -115,21 +152,26 @@ public class BaiduStatisticsBody {
}
/**
* 忠诚度RequestBody
* 用户画像
* @param visitor 访客
* @param start_date 开始时间
* @param end_date 结束时间
* @param metrics 查询项OR指标
* @param start_date2 对比时间
* @param end_date2 对比时间
* @param method 请求方法名
* @param metrics 指标
* @param character 非忠诚度查询可以忽略
* @param area 地域
*/
public BaiduStatisticsBody(String visitor, String start_date, String end_date, String[] metrics, String method, String character, String area) {
this.visitor = visitor;
public BaiduStatisticsBody(String visitor, String start_date, String end_date, String start_date2, String end_date2, String method, String[] metrics, String character, String area) {
this.site_id = BaiduConfig.SITEID;
this.visitor = visitor;
this.start_date = start_date;
this.end_date = end_date;
this.metrics =getStringFromArray(metrics);
this.start_date2 = start_date2;
this.end_date2 = end_date2;
this.method = method;
this.metrics = getStringFromArray(metrics);
this.character = character;
this.area = area;
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论