Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
aidata-client
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Container Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
chenhy
aidata-client
Commits
a4675492
Commit
a4675492
authored
Jun 01, 2020
by
vv
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
金融风控client端
parents
Pipeline
#331
failed with stages
Changes
10
Pipelines
1
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
439 additions
and
0 deletions
+439
-0
.gitignore
.gitignore
+33
-0
README.md
README.md
+6
-0
pom.xml
pom.xml
+159
-0
Client.java
src/main/java/com/esv/frc/client/Client.java
+56
-0
ClientApplication.java
src/main/java/com/esv/frc/client/ClientApplication.java
+13
-0
HttpsWithCA.java
src/main/java/com/esv/frc/client/HttpsWithCA.java
+0
-0
SSLClient.java
src/main/java/com/esv/frc/client/SSLClient.java
+41
-0
test.java
src/main/java/com/esv/frc/client/test.java
+90
-0
application.yml
src/main/resources/application.yml
+3
-0
logback.xml
src/main/resources/logback.xml
+38
-0
No files found.
.gitignore
0 → 100644
View file @
a4675492
HELP.md
/target/
!.mvn/wrapper/maven-wrapper.jar
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
.mvn/
log/
mvnw
mvnw.cmd
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
/build/
### VS Code ###
.vscode/
README.md
0 → 100644
View file @
a4675492
# 一汽红旗轨迹演示
## 主要功能
*
行程切分
*
基于行程的绑路(轨迹纠偏)
*
取得行程当时的天气信息
\ No newline at end of file
pom.xml
0 → 100644
View file @
a4675492
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<modelVersion>
4.0.0
</modelVersion>
<parent>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-parent
</artifactId>
<version>
2.2.6.RELEASE
</version>
<relativePath/>
<!-- lookup parent from repository -->
</parent>
<groupId>
aidataClient
</groupId>
<artifactId>
aidataClient
</artifactId>
<version>
0.0.1-SNAPSHOT
</version>
<packaging>
jar
</packaging>
<name>
aidataClient
</name>
<description>
Demo project for Spring Boot
</description>
<properties>
<java.version>
1.8
</java.version>
</properties>
<dependencies>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-web
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-web
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework
</groupId>
<artifactId>
spring-context-support
</artifactId>
<version>
5.1.3.RELEASE
</version>
</dependency>
<dependency>
<groupId>
org.apache.httpcomponents
</groupId>
<artifactId>
httpmime
</artifactId>
<version>
4.5.2
</version>
</dependency>
<dependency>
<groupId>
org.apache.httpcomponents
</groupId>
<artifactId>
httpcore
</artifactId>
<version>
4.4.4
</version>
</dependency>
<dependency>
<groupId>
org.projectlombok
</groupId>
<artifactId>
lombok
</artifactId>
<optional>
true
</optional>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-test
</artifactId>
<scope>
test
</scope>
<exclusions>
<exclusion>
<groupId>
org.junit.vintage
</groupId>
<artifactId>
junit-vintage-engine
</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>
org.apache.httpcomponents
</groupId>
<artifactId>
httpclient
</artifactId>
</dependency>
<dependency>
<groupId>
org.apache.commons
</groupId>
<artifactId>
commons-compress
</artifactId>
<version>
1.20
</version>
</dependency>
<dependency>
<groupId>
org.apache.commons
</groupId>
<artifactId>
commons-collections4
</artifactId>
<version>
4.1
</version>
</dependency>
<dependency>
<groupId>
com.alibaba
</groupId>
<artifactId>
fastjson
</artifactId>
<version>
1.2.62
</version>
</dependency>
<dependency>
<groupId>
cn.hutool
</groupId>
<artifactId>
hutool-all
</artifactId>
<version>
4.1.0
</version>
</dependency>
<dependency>
<groupId>
commons-io
</groupId>
<artifactId>
commons-io
</artifactId>
<version>
2.6
</version>
</dependency>
<dependency>
<groupId>
org.apache.commons
</groupId>
<artifactId>
commons-lang3
</artifactId>
<version>
3.10
</version>
</dependency>
<dependency>
<groupId>
org.mybatis.spring.boot
</groupId>
<artifactId>
mybatis-spring-boot-starter
</artifactId>
<version>
2.1.0
</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
<configuration>
<includeSystemScope>
true
</includeSystemScope>
</configuration>
</plugin>
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-surefire-plugin
</artifactId>
<configuration>
<skipTests>
true
</skipTests>
</configuration>
</plugin>
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-resources-plugin
</artifactId>
<configuration>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>
woff
</nonFilteredFileExtension>
<nonFilteredFileExtension>
woff2
</nonFilteredFileExtension>
<nonFilteredFileExtension>
eot
</nonFilteredFileExtension>
<nonFilteredFileExtension>
ttf
</nonFilteredFileExtension>
<nonFilteredFileExtension>
svg
</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>
src/main/resources
</directory>
<includes>
<include>
**/*.*
</include>
</includes>
<excludes>
<!--<exclude>application*.yml</exclude>
<exclude>application*.properties</exclude>
<exclude>logback-spring.xml</exclude>-->
</excludes>
<filtering>
true
</filtering>
</resource>
</resources>
</build>
</project>
src/main/java/com/esv/frc/client/Client.java
0 → 100644
View file @
a4675492
package
com
.
esv
.
frc
.
client
;
import
com.alibaba.fastjson.JSONObject
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Value
;
import
java.io.IOException
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* @description:提供服务的Client端
* @version:1.0
*/
@Slf4j
public
class
Client
{
private
String
charset
=
"utf-8"
;
@Value
(
"${FOTACAPATH}"
)
private
String
FOTACAPATH
;
private
String
accessKey
;
private
String
secretKey
;
public
Client
(
String
accessKey
,
String
secretKey
)
{
this
.
accessKey
=
accessKey
;
this
.
secretKey
=
secretKey
;
}
public
String
request
(
String
url
,
Map
<
String
,
String
>
data
){
return
""
;
}
private
void
requestHttpsService
(){
String
httpOrgCreateTest
=
"http/sma/api/login"
;
{
Map
<
String
,
String
>
createMap
=
new
HashMap
<
String
,
String
>();
createMap
.
put
(
"userName"
,
"userName"
);
createMap
.
put
(
"password"
,
"password"
);
createMap
.
put
(
"domain"
,
"domain"
);
String
httpOrgCreateTestRtn
=
null
;
try
{
httpOrgCreateTestRtn
=
HttpsWithCA
.
sendHttpsGetSessionId
(
FOTACAPATH
,
httpOrgCreateTest
,
createMap
,
""
,
charset
);
}
catch
(
IOException
e
)
{
log
.
info
(
"请求FOTA获取sessionId出错,异常="
+
e
);
}
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
httpOrgCreateTestRtn
);
String
sessionId
=
jsonObject
.
getString
(
"sessionId"
);
}
}
}
src/main/java/com/esv/frc/client/ClientApplication.java
0 → 100644
View file @
a4675492
package
com
.
esv
.
frc
.
client
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
;
@SpringBootApplication
(
exclude
=
{
DataSourceAutoConfiguration
.
class
})
public
class
ClientApplication
{
public
static
void
main
(
String
[]
args
)
{
SpringApplication
.
run
(
ClientApplication
.
class
,
args
);
}
}
src/main/java/com/esv/frc/client/HttpsWithCA.java
0 → 100644
View file @
a4675492
This diff is collapsed.
Click to expand it.
src/main/java/com/esv/frc/client/SSLClient.java
0 → 100644
View file @
a4675492
package
com
.
esv
.
frc
.
client
;
import
org.apache.http.conn.ClientConnectionManager
;
import
org.apache.http.conn.scheme.Scheme
;
import
org.apache.http.conn.scheme.SchemeRegistry
;
import
org.apache.http.conn.ssl.SSLSocketFactory
;
import
org.apache.http.impl.client.DefaultHttpClient
;
import
javax.net.ssl.SSLContext
;
import
javax.net.ssl.TrustManager
;
import
javax.net.ssl.X509TrustManager
;
import
java.security.cert.CertificateException
;
import
java.security.cert.X509Certificate
;
//用于进行Https请求的HttpClient
public
class
SSLClient
extends
DefaultHttpClient
{
public
SSLClient
()
throws
Exception
{
super
();
SSLContext
ctx
=
SSLContext
.
getInstance
(
"TLS"
);
X509TrustManager
tm
=
new
X509TrustManager
()
{
@Override
public
void
checkClientTrusted
(
X509Certificate
[]
chain
,
String
authType
)
throws
CertificateException
{
}
@Override
public
void
checkServerTrusted
(
X509Certificate
[]
chain
,
String
authType
)
throws
CertificateException
{
}
@Override
public
X509Certificate
[]
getAcceptedIssuers
()
{
return
null
;
}
};
ctx
.
init
(
null
,
new
TrustManager
[]{
tm
},
null
);
SSLSocketFactory
ssf
=
new
SSLSocketFactory
(
ctx
,
SSLSocketFactory
.
ALLOW_ALL_HOSTNAME_VERIFIER
);
ClientConnectionManager
ccm
=
this
.
getConnectionManager
();
SchemeRegistry
sr
=
ccm
.
getSchemeRegistry
();
sr
.
register
(
new
Scheme
(
"https"
,
443
,
ssf
));
}
}
\ No newline at end of file
src/main/java/com/esv/frc/client/test.java
0 → 100644
View file @
a4675492
package
com
.
esv
.
frc
.
client
;
import
java.io.UnsupportedEncodingException
;
import
javax.crypto.Mac
;
import
javax.crypto.spec.SecretKeySpec
;
import
org.apache.commons.codec.binary.Base64
;
import
sun.misc.BASE64Decoder
;
import
sun.misc.BASE64Encoder
;
/**
* @description:
* @project: track_demo_yq_hq
* @name: com.esv.frc.client.test
* @author: 陈洪艳
* @email: chenhongyan@esvtek.com
* @createTime: 2020/5/29 11:06
* @version:1.0
*/
public
class
test
{
public
static
void
main
(
String
[]
args
)
throws
Exception
{
String
access_key
=
"65da59b074984ba09809e6c58b0ef013"
;
String
secret_key
=
"b2b32a11db044423b18de6396b7ab50e"
;
String
api_uri
=
"/credit-scoring-ai/users/id-check/v1/simple-identity-check"
;
String
sign_str
=
"POST"
+
"$"
+
api_uri
+
"$"
+
"application/json"
+
"$"
;
BASE64Encoder
encoder
=
new
BASE64Encoder
();
BASE64Decoder
decoder
=
new
BASE64Decoder
();
System
.
out
.
println
(
"hmac_sha:"
+(
hmac_sha1
(
sign_str
,
secret_key
)));
System
.
out
.
println
(
"encoder:"
+
encoder
.
encode
((
hmac_sha1
(
sign_str
,
secret_key
)).
getBytes
()));
System
.
out
.
println
(
"Decoder:"
+
decoder
.
decodeBuffer
(
encoder
.
encode
((
hmac_sha1
(
sign_str
,
secret_key
)).
getBytes
())));
String
authorization
=
access_key
+
":"
+
encoder
.
encode
((
hmac_sha1
(
sign_str
,
secret_key
)).
getBytes
());
//System.out.println(authorization);
}
public
static
String
hmac_sha1
(
String
value
,
String
key
)
{
try
{
byte
[]
keyBytes
=
key
.
getBytes
();
SecretKeySpec
signingKey
=
new
SecretKeySpec
(
keyBytes
,
"HmacSHA256"
);
Mac
mac
=
Mac
.
getInstance
(
"HmacSHA256"
);
mac
.
init
(
signingKey
);
byte
[]
rawHmac
=
mac
.
doFinal
(
value
.
getBytes
());
String
hexBytes
=
byte2hex
(
rawHmac
);
return
hexBytes
;
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
e
);
}
}
private
static
String
byte2hex
(
final
byte
[]
b
){
String
hs
=
""
;
String
stmp
=
""
;
for
(
int
n
=
0
;
n
<
b
.
length
;
n
++){
stmp
=(
java
.
lang
.
Integer
.
toHexString
(
b
[
n
]
&
0xFF
));
if
(
stmp
.
length
()==
1
)
hs
=
hs
+
"0"
+
stmp
;
else
hs
=
hs
+
stmp
;
}
return
hs
;
}
private
static
String
appendEqualSign
(
String
s
){
int
len
=
s
.
length
();
int
appendNum
=
8
-
(
int
)(
len
/
8
);
for
(
int
n
=
0
;
n
<
appendNum
;
n
++){
s
+=
"%3D"
;
}
return
s
;
}
public
void
test
()
throws
Exception
{
final
BASE64Encoder
encoder
=
new
BASE64Encoder
();
final
BASE64Decoder
decoder
=
new
BASE64Decoder
();
final
String
text
=
"字串文字"
;
final
byte
[]
textByte
=
text
.
getBytes
(
"UTF-8"
);
//编码
final
String
encodedText
=
encoder
.
encode
(
textByte
);
System
.
out
.
println
(
encodedText
);
//解码
System
.
out
.
println
(
new
String
(
decoder
.
decodeBuffer
(
encodedText
),
"UTF-8"
));
final
BASE64Encoder
encoder1
=
new
BASE64Encoder
();
final
BASE64Decoder
decoder1
=
new
BASE64Decoder
();
final
String
text
=
"字串文字"
;
final
byte
[]
textByte
=
text
.
getBytes
(
"UTF-8"
);
//编码
final
String
encodedText
=
encoder1
.
encode
(
textByte
);
System
.
out
.
println
(
encodedText
);
//解码
System
.
out
.
println
(
new
String
(
decoder1
.
decodeBuffer
(
encodedText
),
"UTF-8"
));
}
}
src/main/resources/application.yml
0 → 100644
View file @
a4675492
server
:
port
:
2001
\ No newline at end of file
src/main/resources/logback.xml
0 → 100644
View file @
a4675492
<?xml version="1.0"?>
<configuration>
<!-- ch.qos.logback.core.ConsoleAppender 控制台输出 -->
<appender
name=
"console"
class=
"ch.qos.logback.core.ConsoleAppender"
>
<encoder>
<pattern>
[%-5level] %d{HH:mm:ss.SSS} [%thread] %logger{36} - %msg%n
</pattern>
</encoder>
</appender>
<appender
name=
"file"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<file>
log/logFile.server.current.log
</file>
<rollingPolicy
class=
"ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"
>
<!-- rollover daily -->
<fileNamePattern>
log/backup/logFile.server.%d{yyyy-MM}.%i.zip
</fileNamePattern>
<!-- each file should be at most 100MB, keep 60 days worth of history, but at most 20GB -->
<maxFileSize>
100MB
</maxFileSize>
<maxHistory>
6
</maxHistory>
<totalSizeCap>
20GB
</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>
%d{yyyy/MM/dd-HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg%n
</pattern>
</encoder>
</appender>
<!-- 日志级别 -->
<logger
name=
"com.esv"
level=
"debug"
/>
<root>
<level
value=
"info"
/>
<appender-ref
ref=
"console"
/>
<!--<appender-ref ref="file" />-->
</root>
</configuration>
\ No newline at end of file
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