|
|
@@ -152,6 +152,12 @@ public class DianZhongServiceImpl implements IDianZhongService {
|
|
|
dorisLoadManager.add("hr_playlet", "user_event", dzUser);
|
|
|
JSONObject dzLogin = getDZLogin(line, clientId);
|
|
|
dorisLoadManager.add("hr_playlet", "server_event", dzLogin);
|
|
|
+ JSONObject dzActivation = getDZActivation(line, clientId);
|
|
|
+ dorisLoadManager.add("hr_playlet", "server_event", dzActivation);
|
|
|
+ JSONObject dzRegister = getDZRegister(line, clientId);
|
|
|
+ if (statDate.replace("-", "").equals(dzRegister.getString("stat_date"))) {
|
|
|
+ dorisLoadManager.add("hr_playlet", "server_event", dzRegister);
|
|
|
+ }
|
|
|
} else if ("order".equals(type)) {
|
|
|
JSONObject dzOrder = getDZOrder(line, clientId);
|
|
|
dorisLoadManager.add("hr_playlet", "server_event", dzOrder);
|
|
|
@@ -229,6 +235,7 @@ public class DianZhongServiceImpl implements IDianZhongService {
|
|
|
adId = StringUtils.isNotBlank(promotionId) ? promotionId : adId;
|
|
|
Long dyeTime = jsonObject.getLong("dyeTime");
|
|
|
String activationTime = DateUtils.formatDate(dyeTime * 1000, "yyyy-MM-dd HH:mm:ss");
|
|
|
+ String activationDate = DateUtils.formatDate(dyeTime * 1000, "yyyyMMdd");
|
|
|
String fromMedia = jsonObject.getString("from");
|
|
|
String userId = jsonObject.getString("userId");
|
|
|
loginJson.put("stat_date", statDate);
|
|
|
@@ -236,14 +243,114 @@ public class DianZhongServiceImpl implements IDianZhongService {
|
|
|
loginJson.put("event_pk", SecureUtil.md5(String.format("dianzhong_login_%s_%s", userId, loginTime)));
|
|
|
loginJson.put("event_tag", "dianzhong_login");
|
|
|
loginJson.put("app_id", clientDomain2AppId.getOrDefault(appId, appId));
|
|
|
+ loginJson.put("activation_date", activationDate);
|
|
|
+ loginJson.put("uid", userId);
|
|
|
+ loginJson.put("open_id", jsonObject.getString("openId"));
|
|
|
+ loginJson.put("platform", domain2Platform.getOrDefault(domain, domain));
|
|
|
+ loginJson.put("official_account_open_id", jsonObject.getString("thirdWxId"));
|
|
|
+ loginJson.put("channel_id", jsonObject.getString("channelId"));
|
|
|
+ loginJson.put("link_id", jsonObject.getString("referralId"));
|
|
|
+ loginJson.put("register_date", jsonObject.getString("ctime"));
|
|
|
+ loginJson.put("expiration_time", jsonObject.getString("vipEndDate"));
|
|
|
+ loginJson.put("last_login_time", jsonObject.getString("loginTime"));
|
|
|
+ loginJson.put("created_at", loginTime);
|
|
|
+ loginJson.put("ip", jsonObject.getString("ip"));
|
|
|
+ loginJson.put("mobile_system", jsonObject.getIntValue("os") == 0 ? "Android" : "ios");
|
|
|
+ loginJson.put("person_id", jsonObject.getString("kdrId"));
|
|
|
+ loginJson.put("a_id", jsonObject.getString("projectId"));
|
|
|
+ loginJson.put("ad_id", adId);
|
|
|
+ loginJson.put("activation_time", activationTime);
|
|
|
+ loginJson.put("media_id", media2Id.getOrDefault(fromMedia, fromMedia));
|
|
|
|
|
|
+ if (NumberUtil.isLong(adId) && !"0".equals(adId)) {
|
|
|
+ String anotherDay = DateUtils.getAnotherDay("yyyy-MM-dd", DateUtils.formatDate(loginTime * 1000, "yyyy-MM-dd"), -15);
|
|
|
+ Map<String, String> ad2Advertiser = cacheService.getBytedanceAdvertiserByAd(adId, DateUtils.getDateInteger(anotherDay));
|
|
|
+ if (!Check.isNullMap(ad2Advertiser)) {
|
|
|
+ String advertiserId = ad2Advertiser.get("advertiser_id");
|
|
|
+ loginJson.put("advertiser_id", advertiserId);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return loginJson;
|
|
|
+ }
|
|
|
+
|
|
|
+ private JSONObject getDZActivation(String line, String clientId) {
|
|
|
+ JSONObject jsonObject = JSONObject.parseObject(line);
|
|
|
+ JSONObject loginJson = new JSONObject();
|
|
|
+ int domain = jsonObject.getIntValue("domain");
|
|
|
+ String appId = clientId + domain;
|
|
|
+ Long loginTime = jsonObject.getLong("loginTime");
|
|
|
+ String adId = jsonObject.getString("adid");
|
|
|
+ String promotionId = jsonObject.getString("promotionId");
|
|
|
+ adId = StringUtils.isNotBlank(promotionId) ? promotionId : adId;
|
|
|
+ Long dyeTime = jsonObject.getLong("dyeTime");
|
|
|
+ String statDate = DateUtils.formatDate(dyeTime * 1000, "yyyyMMdd");
|
|
|
+ String activationTime = DateUtils.formatDate(dyeTime * 1000, "yyyy-MM-dd HH:mm:ss");
|
|
|
+ String fromMedia = jsonObject.getString("from");
|
|
|
+ String userId = jsonObject.getString("userId");
|
|
|
+ loginJson.put("stat_date", statDate);
|
|
|
+ loginJson.put("event", "ACTIVATION");
|
|
|
+ loginJson.put("event_pk", SecureUtil.md5(String.format("dianzhong_activation_%s_%s", userId, dyeTime)));
|
|
|
+ loginJson.put("event_tag", "dianzhong_activation");
|
|
|
+ loginJson.put("app_id", clientDomain2AppId.getOrDefault(appId, appId));
|
|
|
+ loginJson.put("activation_date", statDate);
|
|
|
+ loginJson.put("uid", userId);
|
|
|
+ loginJson.put("open_id", jsonObject.getString("openId"));
|
|
|
+ loginJson.put("platform", domain2Platform.getOrDefault(domain, domain));
|
|
|
+ loginJson.put("official_account_open_id", jsonObject.getString("thirdWxId"));
|
|
|
+ loginJson.put("channel_id", jsonObject.getString("channelId"));
|
|
|
+ loginJson.put("link_id", jsonObject.getString("referralId"));
|
|
|
+ loginJson.put("register_date", jsonObject.getString("ctime"));
|
|
|
+ loginJson.put("expiration_time", jsonObject.getString("vipEndDate"));
|
|
|
+ loginJson.put("last_login_time", jsonObject.getString("loginTime"));
|
|
|
+ loginJson.put("created_at", loginTime);
|
|
|
+ loginJson.put("ip", jsonObject.getString("ip"));
|
|
|
+ loginJson.put("mobile_system", jsonObject.getIntValue("os") == 0 ? "Android" : "ios");
|
|
|
+ loginJson.put("person_id", jsonObject.getString("kdrId"));
|
|
|
+ loginJson.put("a_id", jsonObject.getString("projectId"));
|
|
|
+ loginJson.put("ad_id", adId);
|
|
|
+ loginJson.put("activation_time", activationTime);
|
|
|
+ loginJson.put("media_id", media2Id.getOrDefault(fromMedia, fromMedia));
|
|
|
+
|
|
|
+ if (NumberUtil.isLong(adId) && !"0".equals(adId)) {
|
|
|
+ String anotherDay = DateUtils.getAnotherDay("yyyy-MM-dd", DateUtils.formatDate(loginTime * 1000, "yyyy-MM-dd"), -15);
|
|
|
+ Map<String, String> ad2Advertiser = cacheService.getBytedanceAdvertiserByAd(adId, DateUtils.getDateInteger(anotherDay));
|
|
|
+ if (!Check.isNullMap(ad2Advertiser)) {
|
|
|
+ String advertiserId = ad2Advertiser.get("advertiser_id");
|
|
|
+ loginJson.put("advertiser_id", advertiserId);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return loginJson;
|
|
|
+ }
|
|
|
+
|
|
|
+ private JSONObject getDZRegister(String line, String clientId) {
|
|
|
+ JSONObject jsonObject = JSONObject.parseObject(line);
|
|
|
+ JSONObject loginJson = new JSONObject();
|
|
|
+ int domain = jsonObject.getIntValue("domain");
|
|
|
+ String appId = clientId + domain;
|
|
|
+ Long ctime = jsonObject.getLong("ctime");
|
|
|
+ String statDate = DateUtils.formatDate(ctime * 1000, "yyyyMMdd");
|
|
|
+ Long loginTime = jsonObject.getLong("loginTime");
|
|
|
+ String adId = jsonObject.getString("adid");
|
|
|
+ String promotionId = jsonObject.getString("promotionId");
|
|
|
+ adId = StringUtils.isNotBlank(promotionId) ? promotionId : adId;
|
|
|
+ Long dyeTime = jsonObject.getLong("dyeTime");
|
|
|
+ String activationTime = DateUtils.formatDate(dyeTime * 1000, "yyyy-MM-dd HH:mm:ss");
|
|
|
+ String activationDate = DateUtils.formatDate(dyeTime * 1000, "yyyyMMdd");
|
|
|
+ String fromMedia = jsonObject.getString("from");
|
|
|
+ String userId = jsonObject.getString("userId");
|
|
|
+ loginJson.put("stat_date", statDate);
|
|
|
+ loginJson.put("event", "REGISTER");
|
|
|
+ loginJson.put("event_pk", SecureUtil.md5(String.format("dianzhong_register_%s_%s", userId, ctime)));
|
|
|
+ loginJson.put("event_tag", "dianzhong_register");
|
|
|
+ loginJson.put("app_id", clientDomain2AppId.getOrDefault(appId, appId));
|
|
|
+ loginJson.put("activation_date", activationDate);
|
|
|
loginJson.put("uid", userId);
|
|
|
loginJson.put("open_id", jsonObject.getString("openId"));
|
|
|
loginJson.put("platform", domain2Platform.getOrDefault(domain, domain));
|
|
|
loginJson.put("official_account_open_id", jsonObject.getString("thirdWxId"));
|
|
|
loginJson.put("channel_id", jsonObject.getString("channelId"));
|
|
|
loginJson.put("link_id", jsonObject.getString("referralId"));
|
|
|
- loginJson.put("register_date", jsonObject.getString("registerDate"));
|
|
|
+ loginJson.put("register_date", jsonObject.getString("ctime"));
|
|
|
loginJson.put("expiration_time", jsonObject.getString("vipEndDate"));
|
|
|
loginJson.put("last_login_time", jsonObject.getString("loginTime"));
|
|
|
loginJson.put("created_at", loginTime);
|
|
|
@@ -279,6 +386,7 @@ public class DianZhongServiceImpl implements IDianZhongService {
|
|
|
adId = StringUtils.isNotBlank(promotionId) ? promotionId : adId;
|
|
|
Long dyeTime = jsonObject.getLong("dyeTime");
|
|
|
String activationTime = DateUtils.formatDate(dyeTime * 1000, "yyyy-MM-dd HH:mm:ss");
|
|
|
+ String activationDate = DateUtils.formatDate(dyeTime * 1000, "yyyyMMdd");
|
|
|
String fromMedia = jsonObject.getString("from");
|
|
|
orderJson.put("stat_date", statDate);
|
|
|
orderJson.put("event", "PAY");
|
|
|
@@ -308,6 +416,7 @@ public class DianZhongServiceImpl implements IDianZhongService {
|
|
|
orderJson.put("scene", jsonObject.getString("scene"));
|
|
|
orderJson.put("official_account_open_id", jsonObject.getString("thirdWxId"));
|
|
|
orderJson.put("activation_time", activationTime);
|
|
|
+ orderJson.put("activation_date", activationDate);
|
|
|
orderJson.put("pay_type", jsonObject.getString("orderSubType"));
|
|
|
orderJson.put("media_id", media2Id.getOrDefault(fromMedia, fromMedia));
|
|
|
orderJson.put("money_benefit", jsonObject.getDouble("moneyBenefit"));
|