diff options
| author | gujinkai <[email protected]> | 2024-01-11 14:34:02 +0800 |
|---|---|---|
| committer | gujinkai <[email protected]> | 2024-01-11 14:34:02 +0800 |
| commit | 985dcebae6e5285f6012027272fece48eee17583 (patch) | |
| tree | 12c6c1002eadece4c071b21fed249a23191da119 | |
| parent | c1c69b9b39959caddba99865c7cad4b3ad1b758a (diff) | |
feat: subscriber agg data add random longitude and latitude
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; + } } } |
