Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
eagleEye
/
eagleEye-flink_kafka
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
c889f22f
authored
Sep 22, 2025
by
魏建枢
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
代码提交
parent
8e4b37b0
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
193 additions
and
3 deletions
eagleEye-flink_kafka/src/main/java/com/flink/achieve/base/CommonConsumeBaseAchi.java
eagleEye-flink_kafka/src/main/java/com/flink/achieve/base/PcCollectLogAchi.java
eagleEye-flink_kafka/src/main/java/com/flink/enums/ProcessTypeEnum.java
eagleEye-flink_kafka/src/main/java/com/flink/processor/impl/CommonConsumeBaseProcessor.java
eagleEye-flink_kafka/src/main/java/com/flink/processor/impl/OkHttpService.java
eagleEye-flink_kafka/src/main/java/com/flink/processor/impl/StringBuilderParams.java
eagleEye-flink_kafka/src/main/java/com/flink/vo/PcCollectInfoLog.java
eagleEye-flink_kafka/src/main/java/com/flink/vo/UserInfoDto.java
eagleEye-flink_kafka/src/main/resources/application.properties
eagleEye-flink_kafka/src/main/java/com/flink/achieve/base/CommonConsumeBaseAchi.java
View file @
c889f22f
...
...
@@ -51,6 +51,10 @@ public class CommonConsumeBaseAchi extends SourceCommonBase implements Serializa
DataStreamSource
<
String
>
collectLogStreamSource
=
kafkaDataSource
.
getDataStreamSource
();
CollectLogAchi
.
collectLog
(
collectLogStreamSource
);
}
if
(
StringUtils
.
equals
(
kafkaDataSource
.
getTopic
(),
TopicTypeEnum
.
ODS_PC_COLLECT_LOG
.
getTopic
()))
{
DataStreamSource
<
String
>
pcCollectLogStreamSource
=
kafkaDataSource
.
getDataStreamSource
();
PcCollectLogAchi
.
pccollectLog
(
pcCollectLogStreamSource
);
}
if
(
StringUtils
.
equals
(
kafkaDataSource
.
getTopic
(),
TopicTypeEnum
.
OPEN_SIMI_API
.
getTopic
()))
{
DataStreamSource
<
String
>
oepnSimiApiStreamSource
=
kafkaDataSource
.
getDataStreamSource
();
OpenSimiApiAchi
.
openSimiApi
(
oepnSimiApiStreamSource
);
...
...
eagleEye-flink_kafka/src/main/java/com/flink/achieve/base/PcCollectLogAchi.java
0 → 100644
View file @
c889f22f
This diff is collapsed.
Click to expand it.
eagleEye-flink_kafka/src/main/java/com/flink/enums/ProcessTypeEnum.java
0 → 100644
View file @
c889f22f
package
com
.
flink
.
enums
;
/**
* @author wjs
* @version 创建时间:2025-9-16 16:21:26
* 类说明
*/
public
enum
ProcessTypeEnum
{
/**
* 0、未处理
*/
NOT_HANDLE
(
0
,
"未处理"
),
/**
* 1、无需处理
*/
NO_HANDLE
(
1
,
"无需处理"
),
/**
* 2、已处理
*/
SUCCESS
(
2
,
"已处理"
)
;
private
Integer
code
;
private
String
name
;
private
ProcessTypeEnum
(
Integer
code
,
String
name
)
{
this
.
code
=
code
;
this
.
name
=
name
;
}
public
Integer
getCode
()
{
return
code
;
}
public
String
getName
()
{
return
name
;
}
}
eagleEye-flink_kafka/src/main/java/com/flink/processor/impl/CommonConsumeBaseProcessor.java
View file @
c889f22f
...
...
@@ -33,6 +33,7 @@ public class CommonConsumeBaseProcessor implements JobProcessor{
TopicTypeEnum
.
ODS_EVENT_LOG
,
TopicTypeEnum
.
ODS_COMMUNITY_HISTORY
,
TopicTypeEnum
.
ODS_NEW_COLLECT_LOG
,
TopicTypeEnum
.
ODS_PC_COLLECT_LOG
,
TopicTypeEnum
.
OPEN_SIMI_API
,
TopicTypeEnum
.
ODS_EXCEPTION_EVENT_TOPIC
,
TopicTypeEnum
.
ODS_COLLECT_USER_BEHAVIOR
,
...
...
eagleEye-flink_kafka/src/main/java/com/flink/processor/impl/OkHttpService.java
View file @
c889f22f
...
...
@@ -5,14 +5,18 @@ import java.time.LocalDate;
import
java.time.format.DateTimeFormatter
;
import
org.apache.commons.codec.digest.DigestUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.TypeReference
;
import
com.flink.util.CompareUtils
;
import
com.flink.util.LoadPropertiesFile
;
import
com.flink.vo.PcCollectInfoLog
;
import
com.flink.vo.SimiInterfaceBase
;
import
com.flink.vo.UserInfoDto
;
import
okhttp3.MediaType
;
import
okhttp3.OkHttpClient
;
...
...
@@ -32,6 +36,7 @@ public class OkHttpService{
public
static
final
MediaType
JSON
=
MediaType
.
parse
(
"application/json; charset=utf-8"
);
private
final
static
String
URL
=
LoadPropertiesFile
.
getPropertyFileValues
(
"simiUserInfo.url"
);
private
final
static
String
ABROAD_URL
=
LoadPropertiesFile
.
getPropertyFileValues
(
"simiUserInfo.abroadUrl"
);
private
final
static
String
AUTHORIZATION
=
LoadPropertiesFile
.
getPropertyFileValues
(
"simiUserInfo.authorization"
);
private
final
static
String
KEY
=
LoadPropertiesFile
.
getPropertyFileValues
(
"simiUserInfo.key"
);
...
...
@@ -43,13 +48,60 @@ public class OkHttpService{
}
public
static
PcCollectInfoLog
getUserInfo
(
String
appKey
,
String
cid
,
PcCollectInfoLog
pcCollectInfoLog
)
{
//通过cid或者phone去获取用户信息(调第三方接口)
String
timestamp
=
System
.
currentTimeMillis
()+
""
;
String
reqParams
=
StringBuilderParams
.
userInfo
(
cid
,
null
);
String
url
=
null
;
//国内
if
(
CompareUtils
.
stringExists
(
appKey
,
"pc1KPjmh951"
,
"pcrIjvC5805"
,
"pcUXtmMh356"
,
"pcrPGB1z531"
,
"ts1KPjmh951"
,
"tsrIjvC5805"
,
"tsUXtmMh356"
,
"tsrPGB1z531"
))
{
url
=
URL
+
"/dataApi/userInfo?"
+
reqParams
;
}
//海外
if
(
CompareUtils
.
stringExists
(
appKey
,
"pcRIhwh1380"
,
"pcQmdNl0952"
,
"pc1etTC6207"
,
"pcd9Sa8T989"
,
"tsRIhwh1380"
,
"tsQmdNl0952"
,
"ts1etTC6207"
,
"tsd9Sa8T989"
))
{
url
=
ABROAD_URL
+
"/dataApi/userInfo?"
+
reqParams
;
}
if
(
StringUtils
.
isNotEmpty
(
url
))
{
String
signature
=
DigestUtils
.
md5Hex
(
reqParams
+
"&"
+
AUTHORIZATION
+
"&"
+
timestamp
+
"&"
+
KEY
);
String
userStr
=
OkHttpService
.
get
(
url
,
timestamp
,
AUTHORIZATION
,
signature
);
if
(
StringUtils
.
isNotEmpty
(
userStr
))
{
UserInfoDto
userInfo
=
JSONObject
.
parseObject
(
userStr
,
new
TypeReference
<
UserInfoDto
>(){});
pcCollectInfoLog
.
setThird_id
(
userInfo
.
getThirdId
());
pcCollectInfoLog
.
setCountry_code
(
userInfo
.
getCountryCode
());
pcCollectInfoLog
.
setRegister_time
(
userInfo
.
getCreateTime
());
pcCollectInfoLog
.
setUser_state
(
userInfo
.
getUserState
());
pcCollectInfoLog
.
setUser_head_url
(
userInfo
.
getUserHeadUrl
());
}
}
return
pcCollectInfoLog
;
}
public
static
String
friends
(
String
cid
){
String
timestamp
=
System
.
currentTimeMillis
()+
""
;
String
reqParams
=
StringBuilderParams
.
friends
(
cid
,
null
);
String
url
=
URL
+
"/dataApi/friends?"
+
reqParams
;
String
authorization
=
AUTHORIZATION
;
String
signature
=
DigestUtils
.
md5Hex
(
reqParams
+
"&"
+
authorization
+
"&"
+
timestamp
+
"&"
+
KEY
);
return
get
(
url
,
timestamp
,
authorization
,
signature
,
cid
);
return
get
(
url
,
timestamp
,
authorization
,
signature
);
}
public
static
String
groups
(
String
cid
)
{
...
...
@@ -58,7 +110,7 @@ public class OkHttpService{
String
url
=
URL
+
"/dataApi/groups?"
+
reqParams
;
String
authorization
=
AUTHORIZATION
;
String
signature
=
DigestUtils
.
md5Hex
(
reqParams
+
"&"
+
authorization
+
"&"
+
timestamp
+
"&"
+
KEY
);
return
get
(
url
,
timestamp
,
authorization
,
signature
,
cid
);
return
get
(
url
,
timestamp
,
authorization
,
signature
);
}
...
...
@@ -80,7 +132,7 @@ public class OkHttpService{
post
(
url
,
jsonArray
.
toJSONString
(),
timestamp
,
authorization
,
signature
);
}
private
static
String
get
(
String
url
,
String
timestamp
,
String
authorization
,
String
signature
,
String
cid
)
{
private
static
String
get
(
String
url
,
String
timestamp
,
String
authorization
,
String
signature
)
{
System
.
out
.
println
(
"get OkHttpService: 请求内容 : \n "
+
url
);
OkHttpClient
client
=
new
OkHttpClient
();
Request
request
=
new
Request
.
Builder
()
...
...
eagleEye-flink_kafka/src/main/java/com/flink/processor/impl/StringBuilderParams.java
View file @
c889f22f
...
...
@@ -35,4 +35,15 @@ public class StringBuilderParams {
return
String
.
join
(
"&"
,
array
);
}
public
static
String
userInfo
(
String
cid
,
String
phoneNumber
)
{
List
<
String
>
array
=
new
ArrayList
<>();
if
(
StringUtils
.
isNotEmpty
(
cid
))
{
array
.
add
(
"cid="
+
cid
);
}
if
(
StringUtils
.
isNotEmpty
(
phoneNumber
))
{
array
.
add
(
"phoneNumber="
+
phoneNumber
);
}
return
String
.
join
(
"&"
,
array
);
}
}
eagleEye-flink_kafka/src/main/java/com/flink/vo/PcCollectInfoLog.java
0 → 100644
View file @
c889f22f
package
com
.
flink
.
vo
;
import
java.io.Serializable
;
import
lombok.Data
;
/**
* @author wjs
* @version 创建时间:2025-9-9 14:31:54 类说明
*/
@Data
public
class
PcCollectInfoLog
implements
Serializable
{
/**
*
*/
private
static
final
long
serialVersionUID
=
1L
;
private
String
id
;
private
String
flume_type
;
private
String
device_id
;
private
String
device_id_v1
;
private
String
third_id
;
private
String
app_type
;
private
String
user_head_url
;
private
String
device_model
;
private
String
app_version
;
private
String
send_type
;
private
String
zone_name
;
private
String
os_release
;
private
String
platform
;
private
String
register_time
;
private
String
zone_code
;
private
String
user_state
;
private
String
nick
;
private
String
uid
;
private
String
device_name
;
private
String
zone_type
;
private
String
brand
;
private
String
user_agent
;
private
String
unique_id
;
private
String
create_time
;
private
String
network_ip
;
private
String
app_channel
;
private
String
country_code
;
private
String
send_time
;
private
String
app_key
;
private
String
device_info
;
private
String
phone
;
private
String
networkAreaName
;
private
String
cid
;
}
eagleEye-flink_kafka/src/main/java/com/flink/vo/UserInfoDto.java
0 → 100644
View file @
c889f22f
package
com
.
flink
.
vo
;
import
java.io.Serializable
;
import
lombok.Data
;
/**
* @author wjs
* @version 创建时间:2025-2-17 11:10:52
* 类说明
*/
@Data
public
class
UserInfoDto
implements
Serializable
{
/**
*
*/
private
static
final
long
serialVersionUID
=
1L
;
private
String
cid
;
private
String
countryCode
;
private
String
phoneNumber
;
private
String
nick
;
private
String
createTime
;
private
String
userState
;
private
String
userHeadUrl
;
private
String
thirdId
;
}
eagleEye-flink_kafka/src/main/resources/application.properties
View file @
c889f22f
...
...
@@ -15,6 +15,7 @@ hdfs.url=hdfs://10.0.0.105:8020/user/ck/
#simiUserInfo.url= https://imadmin.simitalk.com/prod-api/
simiUserInfo.url
=
https://zterra.simitalk.com/prod-api/
simiUserInfo.abroadUrl
=
https://zterra.simitalk.top/prod-api/
simiUserInfo.authorization
=
KhhZAQKaZkfd7p55
simiUserInfo.key
=
niiKpP4SXce2zCHZ
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment