Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cloud-platform
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
youjj
cloud-platform
Commits
01c5d496
Commit
01c5d496
authored
Nov 19, 2020
by
unset
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增违章查询接口
parent
12baa343
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
245 additions
and
0 deletions
+245
-0
SystemConfig.java
...ub/wxiaoqi/security/common/util/process/SystemConfig.java
+2
-0
systemconfig.properties
...mon/src/main/resources/properties/systemconfig.properties
+3
-0
VehicleViolateDto.java
...va/com/xxfc/platform/universal/dto/VehicleViolateDto.java
+23
-0
ThirdFeign.java
...in/java/com/xxfc/platform/universal/feign/ThirdFeign.java
+4
-0
VehicleViolateController.java
...atform/universal/controller/VehicleViolateController.java
+30
-0
VehicleViolateService.java
...xfc/platform/universal/service/VehicleViolateService.java
+183
-0
No files found.
ace-common/src/main/java/com/github/wxiaoqi/security/common/util/process/SystemConfig.java
View file @
01c5d496
...
@@ -74,6 +74,8 @@ public class SystemConfig {
...
@@ -74,6 +74,8 @@ public class SystemConfig {
public
static
final
String
ALIPAY_ACOUNT
=
SystemProperty
.
getConfig
(
"ALIPAY_ACOUNT"
);
public
static
final
String
ALIPAY_ACOUNT
=
SystemProperty
.
getConfig
(
"ALIPAY_ACOUNT"
);
public
static
final
String
ALIPAY_PRIVATE_KEY
=
SystemProperty
.
getConfig
(
"ALIPAY_PRIVATE_KEY"
);
public
static
final
String
ALIPAY_PRIVATE_KEY
=
SystemProperty
.
getConfig
(
"ALIPAY_PRIVATE_KEY"
);
public
static
final
String
VEHICLE_VIOLATE_KEY
=
SystemProperty
.
getConfig
(
"VEHICLE_VIOLATE_KEY"
);
/**
/**
* 交易创建,等待买家付款
* 交易创建,等待买家付款
*/
*/
...
...
ace-common/src/main/resources/properties/systemconfig.properties
View file @
01c5d496
...
@@ -34,6 +34,9 @@ spring.mail.properties.smtp.auth=false
...
@@ -34,6 +34,9 @@ spring.mail.properties.smtp.auth=false
spring.mail.properties.smtp.timeout
=
25000
spring.mail.properties.smtp.timeout
=
25000
spring.mail.username
=
xinxinmanager@126.com
spring.mail.username
=
xinxinmanager@126.com
#违章appkey
VEHICLE_VIOLATE_KEY
=
714ac24873c6a8b76114dca575a3748b
#ios
#ios
APP_ID_IOS
=
wx3f51779d49171d63
APP_ID_IOS
=
wx3f51779d49171d63
APP_PARTNER_IOS
=
1492557632
APP_PARTNER_IOS
=
1492557632
...
...
xx-universal/xx-universal-api/src/main/java/com/xxfc/platform/universal/dto/VehicleViolateDto.java
0 → 100644
View file @
01c5d496
package
com
.
xxfc
.
platform
.
universal
.
dto
;
import
lombok.Data
;
/**
* @ClassName : VehicleViolateDto
* @Description : 车辆违章查询
* @Author : jiaoruizhen
* @Date: 2020-11-19 10:29
*/
@Data
public
class
VehicleViolateDto
{
//车牌号
String
numberPlate
;
//发动机号
String
engineNo
;
//车架号
String
classNo
;
}
xx-universal/xx-universal-api/src/main/java/com/xxfc/platform/universal/feign/ThirdFeign.java
View file @
01c5d496
...
@@ -3,6 +3,7 @@ package com.xxfc.platform.universal.feign;
...
@@ -3,6 +3,7 @@ package com.xxfc.platform.universal.feign;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.universal.dto.SmsTemplateDTO
;
import
com.xxfc.platform.universal.dto.SmsTemplateDTO
;
import
com.xxfc.platform.universal.dto.VehicleViolateDto
;
import
com.xxfc.platform.universal.entity.Dictionary
;
import
com.xxfc.platform.universal.entity.Dictionary
;
import
com.xxfc.platform.universal.entity.IdInformation
;
import
com.xxfc.platform.universal.entity.IdInformation
;
import
com.xxfc.platform.universal.entity.vo.InvoiceVo
;
import
com.xxfc.platform.universal.entity.vo.InvoiceVo
;
...
@@ -52,6 +53,9 @@ public interface ThirdFeign {
...
@@ -52,6 +53,9 @@ public interface ThirdFeign {
@PostMapping
(
"/trafficViolations"
)
@PostMapping
(
"/trafficViolations"
)
ObjectRestResponse
queryTrafficViolations
(
@RequestBody
TrafficViolations
trafficViolations
)
;
ObjectRestResponse
queryTrafficViolations
(
@RequestBody
TrafficViolations
trafficViolations
)
;
@PostMapping
(
value
=
"/violate/get"
)
public
ObjectRestResponse
getVehicleViolate
(
@RequestBody
VehicleViolateDto
vehicleViolateDto
);
/**
/**
* 车辆类型查询
* 车辆类型查询
* @return
* @return
...
...
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/controller/VehicleViolateController.java
0 → 100644
View file @
01c5d496
package
com
.
xxfc
.
platform
.
universal
.
controller
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.universal.dto.VehicleViolateDto
;
import
com.xxfc.platform.universal.service.VehicleViolateService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* @ClassName : VehicleViolateController
* @Description : 车辆违章查询
* @Author : jiaoruizhen
* @Date: 2020-11-19 11:14
*/
@RestController
@RequestMapping
(
value
=
"/violate"
)
public
class
VehicleViolateController
{
@Autowired
VehicleViolateService
vehicleViolateService
;
@PostMapping
(
value
=
"get"
)
public
ObjectRestResponse
getVehicleViolate
(
@RequestBody
VehicleViolateDto
vehicleViolateDto
)
{
return
vehicleViolateService
.
getRequest2
(
vehicleViolateDto
);
}
}
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/service/VehicleViolateService.java
0 → 100644
View file @
01c5d496
package
com
.
xxfc
.
platform
.
universal
.
service
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.util.process.SystemConfig
;
import
com.xxfc.platform.universal.dto.VehicleViolateDto
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
import
java.io.*
;
import
java.net.HttpURLConnection
;
import
java.net.URL
;
import
java.net.URLEncoder
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @ClassName : VehicleViolateService
* @Description : 车辆违章服务查询
* @Author : jiaoruizhen
* @Date: 2020-11-18 10:38
*/
@Service
@Slf4j
public
class
VehicleViolateService
{
public
static
final
String
DEF_CHATSET
=
"UTF-8"
;
public
static
final
int
DEF_CONN_TIMEOUT
=
30000
;
public
static
final
int
DEF_READ_TIMEOUT
=
30000
;
public
static
String
userAgent
=
"Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36"
;
//1.获取支持城市参数接口
public
void
getRequest1
()
{
String
result
=
null
;
String
url
=
"http://v.juhe.cn/wz/citys"
;
//请求接口地址
Map
params
=
new
HashMap
();
//请求参数
params
.
put
(
"key"
,
SystemConfig
.
VEHICLE_VIOLATE_KEY
);
//你申请的key
try
{
result
=
net
(
url
,
params
,
"GET"
);
JSONObject
object
=
JSONObject
.
parseObject
(
result
);
if
(
object
.
getInteger
(
"error_code"
)
==
0
)
{
System
.
out
.
println
(
object
.
get
(
"result"
));
}
else
{
System
.
out
.
println
(
object
.
get
(
"error_code"
)
+
":"
+
object
.
get
(
"reason"
));
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
//2.请求违章查询接口
public
ObjectRestResponse
getRequest2
(
VehicleViolateDto
vehicleViolateDto
)
{
//
ObjectRestResponse
<
Integer
>
response
=
getRequest3
();
if
(
response
.
isRel
()
&&
(
response
.
getData
()
==
null
||
response
.
getData
()
<=
0
))
{
return
response
;
}
String
result
=
null
;
String
url
=
"http://v.juhe.cn/wz/query"
;
//请求接口地址
Map
params
=
new
HashMap
();
//请求参数
params
.
put
(
"dtype"
,
"json"
);
//返回数据格式:json或xml或jsonp,默认json
params
.
put
(
"key"
,
SystemConfig
.
VEHICLE_VIOLATE_KEY
);
//你申请的key
params
.
put
(
"hphm"
,
vehicleViolateDto
.
getNumberPlate
());
//号牌号码 完整7位 ,需要utf8 urlencode*
params
.
put
(
"hpzl"
,
"02"
);
//号牌类型,默认02
params
.
put
(
"engineno"
,
vehicleViolateDto
.
getEngineNo
());
//发动机号 (根据城市接口中的参数填写)
params
.
put
(
"classno"
,
vehicleViolateDto
.
getClassNo
());
//车架号 (根据城市接口中的参数填写)
try
{
result
=
net
(
url
,
params
,
"GET"
);
log
.
info
(
"查询违章记录:请求--> {}, 响应--> {}"
,
vehicleViolateDto
,
result
);
JSONObject
object
=
JSONObject
.
parseObject
(
result
);
if
(
object
.
getInteger
(
"error_code"
)
==
0
)
{
JSONObject
resultObj
=
object
.
getJSONObject
(
"result"
);
return
ObjectRestResponse
.
succ
(
resultObj
.
getJSONArray
(
"lists"
));
}
else
{
return
ObjectRestResponse
.
createFailedResult
(
500
,
object
.
getString
(
"reason"
));
}
}
catch
(
Exception
e
)
{
log
.
error
(
"{}"
,
e
);
}
return
ObjectRestResponse
.
createDefaultFail
();
}
//3.接口剩余请求次数查询
public
ObjectRestResponse
<
Integer
>
getRequest3
()
{
String
result
=
null
;
String
url
=
"http://v.juhe.cn/wz/status"
;
//请求接口地址
Map
params
=
new
HashMap
();
//请求参数
params
.
put
(
"key"
,
SystemConfig
.
VEHICLE_VIOLATE_KEY
);
//应用APPKEY(应用详细页查询)
params
.
put
(
"dtype"
,
"json"
);
//返回数据的格式,xml或json,默认json
try
{
result
=
net
(
url
,
params
,
"GET"
);
JSONObject
object
=
JSONObject
.
parseObject
(
result
);
if
(
object
.
getInteger
(
"error_code"
)
==
0
)
{
JSONObject
jsonObject
=
object
.
getJSONObject
(
"result"
);
if
(
jsonObject
!=
null
)
{
return
ObjectRestResponse
.
succ
(
jsonObject
.
getInteger
(
"surplus"
));
}
else
{
return
ObjectRestResponse
.
createFailedResult
(
500
,
"查询次数不存在"
);
}
}
else
{
return
ObjectRestResponse
.
createFailedResult
(
500
,
object
.
getString
(
"reason"
));
}
}
catch
(
Exception
e
)
{
log
.
error
(
"{}"
,
e
);
}
return
ObjectRestResponse
.
createDefaultFail
();
}
/**
* @param strUrl 请求地址
* @param params 请求参数
* @param method 请求方法
* @return 网络请求字符串
* @throws Exception
*/
public
static
String
net
(
String
strUrl
,
Map
params
,
String
method
)
throws
Exception
{
HttpURLConnection
conn
=
null
;
BufferedReader
reader
=
null
;
String
rs
=
null
;
try
{
StringBuffer
sb
=
new
StringBuffer
();
if
(
method
==
null
||
method
.
equals
(
"GET"
))
{
strUrl
=
strUrl
+
"?"
+
urlencode
(
params
);
}
URL
url
=
new
URL
(
strUrl
);
conn
=
(
HttpURLConnection
)
url
.
openConnection
();
if
(
method
==
null
||
method
.
equals
(
"GET"
))
{
conn
.
setRequestMethod
(
"GET"
);
}
else
{
conn
.
setRequestMethod
(
"POST"
);
conn
.
setDoOutput
(
true
);
}
conn
.
setRequestProperty
(
"User-agent"
,
userAgent
);
conn
.
setUseCaches
(
false
);
conn
.
setConnectTimeout
(
DEF_CONN_TIMEOUT
);
conn
.
setReadTimeout
(
DEF_READ_TIMEOUT
);
conn
.
setInstanceFollowRedirects
(
false
);
conn
.
connect
();
if
(
params
!=
null
&&
method
.
equals
(
"POST"
))
{
try
{
DataOutputStream
out
=
new
DataOutputStream
(
conn
.
getOutputStream
());
out
.
writeBytes
(
urlencode
(
params
));
}
catch
(
Exception
e
)
{
// TODO: handle exception
}
}
InputStream
is
=
conn
.
getInputStream
();
reader
=
new
BufferedReader
(
new
InputStreamReader
(
is
,
DEF_CHATSET
));
String
strRead
=
null
;
while
((
strRead
=
reader
.
readLine
())
!=
null
)
{
sb
.
append
(
strRead
);
}
rs
=
sb
.
toString
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
finally
{
if
(
reader
!=
null
)
{
reader
.
close
();
}
if
(
conn
!=
null
)
{
conn
.
disconnect
();
}
}
return
rs
;
}
//将map型转为请求参数型
public
static
String
urlencode
(
Map
<
String
,
Object
>
data
)
{
StringBuilder
sb
=
new
StringBuilder
();
for
(
Map
.
Entry
i
:
data
.
entrySet
())
{
try
{
sb
.
append
(
i
.
getKey
()).
append
(
"="
).
append
(
URLEncoder
.
encode
(
i
.
getValue
()
+
""
,
"UTF-8"
)).
append
(
"&"
);
}
catch
(
UnsupportedEncodingException
e
)
{
e
.
printStackTrace
();
}
}
return
sb
.
toString
();
}
}
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