summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgujinkai <[email protected]>2024-01-11 14:34:02 +0800
committergujinkai <[email protected]>2024-01-11 14:34:02 +0800
commit985dcebae6e5285f6012027272fece48eee17583 (patch)
tree12c6c1002eadece4c071b21fed249a23191da119
parentc1c69b9b39959caddba99865c7cad4b3ad1b758a (diff)
feat: subscriber agg data add random longitude and latitude
-rw-r--r--module-CN-pre-metrics/src/main/java/com/zdjizhi/pre/common/MetricResultLog.java18
-rw-r--r--module-CN-pre-metrics/src/main/java/com/zdjizhi/pre/function/MetricSubscriberAppProcessFunc.java30
2 files changed, 48 insertions, 0 deletions
diff --git a/module-CN-pre-metrics/src/main/java/com/zdjizhi/pre/common/MetricResultLog.java b/module-CN-pre-metrics/src/main/java/com/zdjizhi/pre/common/MetricResultLog.java
index 551879d..e5b80a2 100644
--- a/module-CN-pre-metrics/src/main/java/com/zdjizhi/pre/common/MetricResultLog.java
+++ b/module-CN-pre-metrics/src/main/java/com/zdjizhi/pre/common/MetricResultLog.java
@@ -26,6 +26,8 @@ public class MetricResultLog {
private String imsi;
private String phone_number;
private String apn;
+ private Double subscriber_longitude = 0.0;
+ private Double subscriber_latitude = 0.0;
private String domain;
private String domain_sld;
@@ -253,6 +255,22 @@ public class MetricResultLog {
this.apn = apn;
}
+ public Double getSubscriber_longitude() {
+ return subscriber_longitude;
+ }
+
+ public void setSubscriber_longitude(Double subscriber_longitude) {
+ this.subscriber_longitude = subscriber_longitude;
+ }
+
+ public Double getSubscriber_latitude() {
+ return subscriber_latitude;
+ }
+
+ public void setSubscriber_latitude(Double subscriber_latitude) {
+ this.subscriber_latitude = subscriber_latitude;
+ }
+
public String getDomain() {
return domain;
}
diff --git a/module-CN-pre-metrics/src/main/java/com/zdjizhi/pre/function/MetricSubscriberAppProcessFunc.java b/module-CN-pre-metrics/src/main/java/com/zdjizhi/pre/function/MetricSubscriberAppProcessFunc.java
index d69e027..868345a 100644
--- a/module-CN-pre-metrics/src/main/java/com/zdjizhi/pre/function/MetricSubscriberAppProcessFunc.java
+++ b/module-CN-pre-metrics/src/main/java/com/zdjizhi/pre/function/MetricSubscriberAppProcessFunc.java
@@ -4,9 +4,13 @@ import com.zdjizhi.pre.common.CnMetricLog;
import com.zdjizhi.pre.common.MetricResultLog;
import org.apache.flink.api.java.tuple.Tuple2;
+import java.util.Random;
+
public class MetricSubscriberAppProcessFunc extends AbstractMetricProcessFunc<Tuple2<String, String>> {
+ private Locate[] locates = new Locate[]{Locate.L1, Locate.L2, Locate.L3, Locate.L4, Locate.L5};
+
@Override
public void setCommonFields(Tuple2<String, String> key, CnMetricLog cnMetricLog, MetricResultLog metricResultLog) {
metricResultLog.setSubscriber_id(key.f0);
@@ -15,5 +19,31 @@ public class MetricSubscriberAppProcessFunc extends AbstractMetricProcessFunc<Tu
metricResultLog.setImsi(cnMetricLog.getImsi());
metricResultLog.setPhone_number(cnMetricLog.getPhone_number());
metricResultLog.setApn(cnMetricLog.getApn());
+ Locate randomLocate = getRandomLocate();
+ metricResultLog.setSubscriber_longitude(randomLocate.longitude);
+ metricResultLog.setSubscriber_latitude(randomLocate.latitude);
+ }
+
+ private Locate getRandomLocate() {
+ Random random = new Random();
+ int i = random.nextInt(5);
+ return locates[i];
+ }
+
+ private enum Locate {
+ L1(116.391721, 39.906094),
+ L2(116.386739, 39.906266),
+ L3(116.384863, 39.902834),
+ L4(116.387807, 39.900607),
+ L5(116.39328, 39.898911);
+
+
+ private Double longitude;
+ private Double latitude;
+
+ Locate(Double longitude, Double latitude) {
+ this.longitude = longitude;
+ this.latitude = latitude;
+ }
}
}