package com.xiaopeng.automaticPilot.util;
|
|
import io.growing.sdk.java.GrowingAPI;
|
import io.growing.sdk.java.dto.GIOMessage;
|
import io.growing.sdk.java.dto.GioCdpEventMessage;
|
|
import java.util.Arrays;
|
import java.util.HashMap;
|
import java.util.Map;
|
|
public class KafkaSendUtils {
|
|
private static final GrowingAPI project = new GrowingAPI.Builder().setProjectKey("89a922449121f7c2").setDataSourceId("9365c3d2f397f172").build();
|
|
/**
|
*
|
* 车辆状态变更 触发时机:车辆主状态或子状态发生变化的瞬间。
|
* 发送数据到GrowingIO
|
*
|
* @param map
|
*/
|
public static void sendVehicleStatusChanged(Map<String, Object> map) {
|
// Config GrowingIO
|
// 参数需要从CDP增长平台上,创建新应用,或从已创建的数据源中获取, 如不清楚请联系您的专属项目经理
|
// YourAccountId eg: 89a922449121f7c2
|
// YourDatasourceId eg: 9365c3d2f397f172
|
//事件行为消息体,anonymousId 和 loginUserId 参数,不能同时为空
|
GioCdpEventMessage eventMessage = new GioCdpEventMessage.Builder()
|
.eventTime(System.currentTimeMillis()) // 默认为系统当前时间 (选填)
|
.eventKey("RT_web_vehicle_status_changed") // 事件标识 (必填)
|
// .domain("com.growingio.app") // App包名或H5域名(选填)
|
// .urlScheme("growing.123c12fb12f123cc") // 链接协议(选填)
|
// .deviceBrand("google") // 设备品牌(选填)
|
// .deviceModel("Nexus 5") // 设备型号(选填)
|
// .deviceType("PHONE") // 设备类型(选填)
|
// .appVersion("1.2.4") // App版本(选填)
|
// .appName("看数助手") // App名称(选填)
|
.language("zh_CN") // 语言(选填)
|
.anonymousId("device_id") // 访问用户ID (选填)
|
// .loginUserKey("account") // 登录用户KEY (选填,需有规划并在平台配置后再上报)
|
.loginUserId("417abcabcabcbac") // 登录用户ID (选填)
|
// .addEventVariable("product_name", "cdp苹果") // 事件属性 (选填)
|
// .addEventVariable("product_classify", Arrays.asList("苹果", "香蕉")) // 事件属性 (选填)
|
.addEventVariables(map) // 事件属性集合 (选填)
|
// .addItem("itemId", "itemKey") // 物品模型ID, KEY (选填)
|
.build();
|
|
//上传事件行为消息到服务器
|
project.send(eventMessage);
|
}
|
|
|
/**
|
*
|
* 订单状态变更
|
* 开始接单,上报一次
|
* 订单结束,上报一次
|
* 发送数据到GrowingIO
|
*
|
* @param map
|
*/
|
public static void sendVehicleTraceUpload(Map<String, Object> map) {
|
//事件行为消息体,anonymousId 和 loginUserId 参数,不能同时为空
|
GioCdpEventMessage eventMessage = new GioCdpEventMessage.Builder()
|
.eventTime(System.currentTimeMillis()) // 默认为系统当前时间 (选填)
|
.eventKey("RT_xpu_vehicle_trace_upload") // 事件标识 (必填)
|
.language("zh_CN") // 语言(选填)
|
.addEventVariables(map) // 事件属性集合 (选填)
|
.build();
|
//上传事件行为消息到服务器
|
project.send(eventMessage);
|
}
|
|
public static void main(String[] args) {
|
Map<String, Object> map = new HashMap<>();
|
map.put("vin", "L1NSPGHB7SB018421");
|
map.put("order_id", "");
|
map.put("timestamp", System.currentTimeMillis());
|
map.put("sub_status", "");
|
map.put("prev_sub_status", "");
|
sendVehicleStatusChanged(map);
|
}
|
|
}
|