Commit 5607f916 authored by xuwei's avatar xuwei

add code annotation

parent d42caa20
......@@ -29,9 +29,13 @@ import java.util.ArrayList;
import java.util.List;
/**
* 对后端埋点进行Etl并获取活跃设备第一次活跃信息(实时)
* @author: sjxuwei
* @version 创建时间:2020-03-03
* ClassName: com.gmei.FlinkServer
* Function: TODO ADD FUNCTION.
* Reason: 对后端埋点进行Etl并获取活跃设备第一次活跃信息(实时)
* Date: 2020-03-03 00:00:00
*
* @author sjxuwei
* @since JDK 1.8
*/
public class FlinkServer {
public static final String GM_INTERNAL_NON_PERSISTENT_CHANNEL = "GM-INTERNAL-NON-PERSISTENT";
......
package com.gmei.bean;
/**
* ClassName: com.gmei.bean.BackendDevice
* Function: TODO ADD FUNCTION.
* Reason: 设备实体
* Date: 2020-03-03 00:00:00
*
* @author sjxuwei
* @since JDK 1.8
*/
public class BackendDevice {
private String device_id;
private String first_visit_time_today;
......
package com.gmei.bean;
/**
* ClassName: com.gmei.bean.BackendEtl
* Function: TODO ADD FUNCTION.
* Reason: backend数据实体
* Date: 2020-03-03 00:00:00
*
* @author sjxuwei
* @since JDK 1.8
*/
public class BackendEtl {
private String time_str;
private String action;
......
package com.gmei.bean;
/**
* ClassName: com.gmei.bean.DeviceInfo
* Function: TODO ADD FUNCTION.
* Reason: 业务库设备实体
* Date: 2020-03-03 00:00:00
*
* @author sjxuwei
* @since JDK 1.8
*/
public class DeviceInfo {
private String device_id;
private String platform;
......
package com.gmei.bean;
/**
* ClassName: com.gmei.bean.PromotionChannelInfo
* Function: TODO ADD FUNCTION.
* Reason: ios设备信息实体(业务库)
* Date: 2020-03-03 00:00:00
*
* @author sjxuwei
* @since JDK 1.8
*/
public class PromotionChannelInfo {
private String device_id;
private String platform;
......
package com.gmei.bean;
/**
* ClassName: com.gmei.bean.StaticTable
* Function: TODO ADD FUNCTION.
* Reason: 静态表
* Date: 2020-03-03 00:00:00
*
* @author sjxuwei
* @since JDK 1.8
*/
public class StaticTable {
public static final String API_CITY = "api_city";
public static final String API_DOCTOR = "api_doctor";
......
package com.gmei.bean;
/**
* ClassName: com.gmei.bean.VersionBean
* Function: TODO ADD FUNCTION.
* Reason: version实体
* Date: 2020-03-03 00:00:00
*
* @author sjxuwei
* @since JDK 1.8
*/
public class VersionBean implements Comparable<VersionBean>{
private String version;
private long time;
......
......@@ -3,7 +3,13 @@ package com.gmei.cache;
import java.util.concurrent.Callable;
/**
* Created by allen on 2017/4/6.
* ClassName: com.gmei.cache.CacheServiceAbstract
* Function: TODO ADD FUNCTION.
* Reason: 缓存池抽象类
* Date: 2020-03-03 00:00:00
*
* @author sjxuwei
* @since JDK 1.8
*/
public abstract class CacheServiceAbstract<K, V> {
......
......@@ -8,7 +8,13 @@ import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
/**
* Created by allen on 2017/4/6.
* ClassName: com.gmei.cache.SimpleCacheService
* Function: TODO ADD FUNCTION.
* Reason: 缓存池实现类
* Date: 2020-03-03 00:00:00
*
* @author sjxuwei
* @since JDK 1.8
*/
public class SimpleCacheService<K, V> extends CacheServiceAbstract<K, V> {
......
......@@ -9,6 +9,15 @@ import java.sql.SQLException;
import java.sql.Statement;
import java.util.concurrent.Callable;
/**
* ClassName: com.gmei.callable.CityCallable
* Function: TODO ADD FUNCTION.
* Reason: 查询城市id
* Date: 2020-03-03 00:00:00
*
* @author sjxuwei
* @since JDK 1.8
*/
public class CityCallable implements Callable<String>{
private String city_id;
private Connection connection;
......
......@@ -10,6 +10,15 @@ import java.sql.SQLException;
import java.sql.Statement;
import java.util.concurrent.Callable;
/**
* ClassName: com.gmei.callable.DeviceCallable
* Function: TODO ADD FUNCTION.
* Reason: 查询设备信息
* Date: 2020-03-03 00:00:00
*
* @author sjxuwei
* @since JDK 1.8
*/
public class DeviceCallable implements Callable<DeviceInfo>{
private String device_id;
private Connection connection;
......
......@@ -8,6 +8,15 @@ import java.sql.SQLException;
import java.sql.Statement;
import java.util.concurrent.Callable;
/**
* ClassName: com.gmei.callable.DeviceUpdateCallable
* Function: TODO ADD FUNCTION.
* Reason: 查询设备增量表活跃设备信息
* Date: 2020-03-03 00:00:00
*
* @author sjxuwei
* @since JDK 1.8
*/
public class DeviceUpdateCallable implements Callable<BackendDevice>{
private String device_id;
private Connection connection;
......
......@@ -8,6 +8,15 @@ import java.sql.SQLException;
import java.sql.Statement;
import java.util.concurrent.Callable;
/**
* ClassName: com.gmei.callable.DoctorCallable
* Function: TODO ADD FUNCTION.
* Reason: 查询user_id
* Date: 2020-03-03 00:00:00
*
* @author sjxuwei
* @since JDK 1.8
*/
public class DoctorCallable implements Callable<Boolean> {
private String user_id;
private Connection connection;
......
......@@ -9,6 +9,15 @@ import java.sql.ResultSet;
import java.sql.Statement;
import java.util.concurrent.Callable;
/**
* ClassName: com.gmei.callable.PromotionChannelCallable
* Function: TODO ADD FUNCTION.
* Reason: 查询ios设备渠道信息
* Date: 2020-03-03 00:00:00
*
* @author sjxuwei
* @since JDK 1.8
*/
public class PromotionChannelCallable implements Callable<PromotionChannelInfo>{
private String device_id;
private Connection connection;
......
......@@ -7,6 +7,15 @@ import com.gmei.bean.BackendEtl;
import com.gmei.utils.StringUtils;
import org.apache.flink.api.common.functions.MapFunction;
/**
* ClassName: com.gmei.map.GainValueMap
* Function: TODO ADD FUNCTION.
* Reason: 解析获取数据属性字段
* Date: 2020-03-03 00:00:00
*
* @author sjxuwei
* @since JDK 1.8
*/
public class GainValueMap implements MapFunction<String,BackendEtl> {
@Override
public BackendEtl map(String value) throws Exception {
......
......@@ -15,6 +15,15 @@ import java.nio.charset.StandardCharsets;
import static org.apache.flink.util.Preconditions.checkNotNull;
/**
* ClassName: com.gmei.schama.GMLoggingSchema
* Function: TODO ADD FUNCTION.
* Reason: backend埋点schama
* Date: 2020-03-03 00:00:00
*
* @author sjxuwei
* @since JDK 1.8
*/
public class GMLoggingSchema implements DeserializationSchema<String>, SerializationSchema<String> {
private static final long serialVersionUID = 1L;
......
......@@ -17,9 +17,13 @@ import java.text.SimpleDateFormat;
import java.util.*;
/**
* 对后端埋点进行Etl并获取活跃设备第一次活跃信息-数据输出(实时)
* @author: sjxuwei
* @version 创建时间:2020-03-03
* ClassName: com.gmei.sink.KafkaSink
* Function: TODO ADD FUNCTION.
* Reason: 对后端埋点进行Etl并获取活跃设备第一次活跃信息-数据输出(实时)
* Date: 2020-03-03 00:00:00
*
* @author sjxuwei
* @since JDK 1.8
*/
public class KafkaSink extends RichSinkFunction<BackendEtl>{
private int maxRetry = 1;
......@@ -72,6 +76,14 @@ public class KafkaSink extends RichSinkFunction<BackendEtl>{
}
}
/**
* Function: TODO ADD FUNCTION.
* Reason: sink输出处理主逻辑.
* Date: 2020-03-03 00:00:00
*
* @author sjxuwei
* @since JDK 1.8
*/
private void execute(BackendEtl value) throws SQLException {
String city_id = value.getCity_id();
String id = cityCache.getValue(city_id,new CityCallable(city_id,zxConnection));
......@@ -572,11 +584,13 @@ public class KafkaSink extends RichSinkFunction<BackendEtl>{
}
/**
* 向数据库插入,有则更新,无则插入
* @param outConnection
* @param result
* @throws SQLException
*/
* Function: TODO ADD FUNCTION.
* Reason: 插入活跃设备数据(有则更新无则插入)
* Date: 2020-03-03 00:00:00
*
* @author sjxuwei
* @since JDK 1.8
*/
private void insert(Connection outConnection, BackendDevice result) throws SQLException {
Statement statement = outConnection.createStatement();
statement.executeUpdate(String.format("INSERT INTO %s(" +
......@@ -727,10 +741,13 @@ public class KafkaSink extends RichSinkFunction<BackendEtl>{
}
/**
* sink变量初始化
* @throws ClassNotFoundException
* @throws SQLException
*/
* Function: TODO ADD FUNCTION.
* Reason: sink变量初始化
* Date: 2020-03-03 00:00:00
*
* @author sjxuwei
* @since JDK 1.8
*/
private void init() throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.jdbc.Driver");
zxConnection = DriverManager.getConnection(zxJdbcUrl);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment