Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
J
jiwei-api
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
马天浩
jiwei-api
Commits
6325a97b
Commit
6325a97b
authored
Aug 14, 2020
by
matianhao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[纪委接口] <add> 新增"纪委智慧监督平台接口_20200812"中接口;限制签名错误后重新请求次数
parent
e5722c66
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
168 additions
and
80 deletions
+168
-80
BaseController.java
...java/com/mth/requestsecret/controller/BaseController.java
+0
-74
RequestController.java
...a/com/mth/requestsecret/controller/RequestController.java
+112
-0
FiftyNinthParamVO.java
...om/mth/requestsecret/controller/vo/FiftyNinthParamVO.java
+38
-0
RestTemlateService.java
...ava/com/mth/requestsecret/service/RestTemlateService.java
+18
-6
No files found.
src/main/java/com/mth/requestsecret/controller/BaseController.java
deleted
100644 → 0
View file @
e5722c66
package
com
.
mth
.
requestsecret
.
controller
;
import
com.mth.requestsecret.scheduler.RequestSecretSchedulerTask
;
import
com.mth.requestsecret.util.DSLUtils
;
import
com.mth.requestsecret.util.MD5Utils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.client.RestTemplate
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @author MaTianHao
* @date 2020/7/13
*/
@Slf4j
public
class
BaseController
{
@Autowired
private
RestTemplate
restTemplate
;
@Value
(
"${DATA_API_ADDRESS}"
)
private
String
pathUrl
;
@Value
(
"${app.key}"
)
private
String
appKey
;
/**
* 发送请求公共方法
*
* @param paramMap api参数
* @param apiMethod api签名
* @return
*/
protected
ResponseEntity
<
String
>
commonSendRequest
(
Map
<
String
,
Object
>
paramMap
,
final
String
apiMethod
)
{
// 请求url拼接api签名和公共参数
StringBuilder
url
=
new
StringBuilder
()
.
append
(
pathUrl
)
.
append
(
"/interface/public/service/risen-api/"
)
.
append
(
apiMethod
)
.
append
(
"?appKey={appKey}&sign={sign}&requestTime={requestTime}"
);
// 拼接api参数
for
(
String
key
:
paramMap
.
keySet
())
{
url
.
append
(
"&"
).
append
(
key
).
append
(
"={"
).
append
(
key
).
append
(
"}"
);
}
// 请求时间
String
requestTime
=
DSLUtils
.
dateToLong
(
new
Date
())
+
""
;
// 签名字符串
String
signStr
=
appKey
+
RequestSecretSchedulerTask
.
requestSecret
+
requestTime
;
// 组装请求参数
Map
<
String
,
Object
>
map
=
new
HashMap
<
String
,
Object
>(
12
)
{{
put
(
"appKey"
,
appKey
);
put
(
"sign"
,
MD5Utils
.
encoderByMd5
(
signStr
));
put
(
"requestTime"
,
requestTime
);
}};
map
.
putAll
(
paramMap
);
// 日志记录
log
.
info
(
"纪委api:{}"
,
apiMethod
);
log
.
info
(
"api url:{}"
,
url
);
log
.
info
(
"api params:{}"
,
map
);
// 发送请求
ResponseEntity
<
String
>
responseEntity
=
restTemplate
.
getForEntity
(
url
.
toString
(),
String
.
class
,
map
);
log
.
info
(
"api response:{}"
,
responseEntity
);
return
responseEntity
;
}
}
src/main/java/com/mth/requestsecret/controller/RequestController.java
View file @
6325a97b
...
...
@@ -924,6 +924,118 @@ public class RequestController {
return
restTemlateService
.
commonSendRequest
(
paramMap
,
apiMethod
);
}
/**
* 五十五.浙江省编办事业单位法人登记证查询
*
* @param param
* @return
*/
@PostMapping
(
"/7ed5z6L4qSOq4F95"
)
public
ResponseEntity
<
String
>
method7ed5z6L4qSOq4F95
(
CompanyParamVO
param
)
{
// api签名
String
apiMethod
=
"7ed5z6L4qSOq4F95.action"
;
// api参数
MultiValueMap
<
String
,
Object
>
paramMap
=
new
LinkedMultiValueMap
<>();
paramMap
.
add
(
"sydwTycode"
,
param
.
getUniscId
());
paramMap
.
add
(
"additional"
,
param
.
getAdditional
());
return
restTemlateService
.
commonSendRequest
(
paramMap
,
apiMethod
);
}
/**
* 五十六.浙江杭州市建委初步设计批复信息查询
*
* @param param
* @return
*/
@PostMapping
(
"/sjwcbsjpfxx"
)
public
ResponseEntity
<
String
>
sjwcbsjpfxx
(
ProjectParamVO
param
)
{
// api签名
String
apiMethod
=
"sjwcbsjpfxx.action"
;
// api参数
MultiValueMap
<
String
,
Object
>
paramMap
=
new
LinkedMultiValueMap
<>();
paramMap
.
add
(
"id_nbr"
,
param
.
getProjectNum
());
paramMap
.
add
(
"name"
,
param
.
getProjectName
());
paramMap
.
add
(
"additional"
,
param
.
getAdditional
());
return
restTemlateService
.
commonSendRequest
(
paramMap
,
apiMethod
);
}
/**
* 五十七.浙江省建设项目环境影响评价文件的审批意见查询
*
* @param projectName
* @param companyName
* @param additional
* @return
*/
@PostMapping
(
"/tG4YDd6Gx1JfMef0"
)
public
ResponseEntity
<
String
>
tG4YDd6Gx1JfMef0
(
String
projectName
,
String
companyName
,
String
additional
)
{
// api签名
String
apiMethod
=
"tG4YDd6Gx1JfMef0.action"
;
// api参数
MultiValueMap
<
String
,
Object
>
paramMap
=
new
LinkedMultiValueMap
<>();
paramMap
.
add
(
"JSDW"
,
companyName
);
paramMap
.
add
(
"XMMC"
,
projectName
);
paramMap
.
add
(
"additional"
,
additional
);
return
restTemlateService
.
commonSendRequest
(
paramMap
,
apiMethod
);
}
/**
* 五十八.浙江杭州规划局建设工程规划核实信息查询
*
* @param param
* @return
*/
@PostMapping
(
"/guihuajujsxmghhs"
)
public
ResponseEntity
<
String
>
guihuajujsxmghhs
(
ProjectParamVO
param
)
{
// api签名
String
apiMethod
=
"guihuajujsxmghhs.action"
;
// api参数
MultiValueMap
<
String
,
Object
>
paramMap
=
new
LinkedMultiValueMap
<>();
paramMap
.
add
(
"id_nbr"
,
param
.
getProjectNum
());
paramMap
.
add
(
"name"
,
param
.
getProjectName
());
paramMap
.
add
(
"additional"
,
param
.
getAdditional
());
return
restTemlateService
.
commonSendRequest
(
paramMap
,
apiMethod
);
}
/**
* 五十九.浙江杭州发改委通用信用核查
*
* @param param
* @return
*/
@PostMapping
(
"/fgwUserService"
)
public
ResponseEntity
<
String
>
fgwUserService
(
FiftyNinthParamVO
param
)
{
// api签名
String
apiMethod
=
"fgwUserService.action"
;
// api参数
MultiValueMap
<
String
,
Object
>
paramMap
=
new
LinkedMultiValueMap
<>();
paramMap
.
add
(
"user"
,
param
.
getUser
());
paramMap
.
add
(
"xdrmc"
,
param
.
getXdrmc
());
paramMap
.
add
(
"type"
,
param
.
getType
());
paramMap
.
add
(
"password"
,
param
.
getPassword
());
paramMap
.
add
(
"xdrdm"
,
param
.
getXdrdm
());
paramMap
.
add
(
"code"
,
param
.
getCode
());
paramMap
.
add
(
"additional"
,
param
.
getAdditional
());
return
restTemlateService
.
commonSendRequest
(
paramMap
,
apiMethod
);
}
/**
* 六十.浙江省获取社会救助信息查询
*
* @param param
* @return
*/
@PostMapping
(
"/dUzfwd0e86Z00oc4"
)
public
ResponseEntity
<
String
>
dUzfwd0e86Z00oc4
(
BaseParamVO
param
)
{
// api签名
String
apiMethod
=
"dUzfwd0e86Z00oc4.action"
;
// api参数
MultiValueMap
<
String
,
Object
>
paramMap
=
new
LinkedMultiValueMap
<>();
paramMap
.
add
(
"dsfz"
,
param
.
getIdCard
());
paramMap
.
add
(
"additional"
,
param
.
getAdditional
());
return
restTemlateService
.
commonSendRequest
(
paramMap
,
apiMethod
);
}
@PostMapping
(
"/"
)
public
ResponseEntity
<
String
>
method
(
BaseParamVO
param
)
{
...
...
src/main/java/com/mth/requestsecret/controller/vo/FiftyNinthParamVO.java
0 → 100644
View file @
6325a97b
package
com
.
mth
.
requestsecret
.
controller
.
vo
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
* @author MaTianHao
* @date 2020/8/12
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
public
class
FiftyNinthParamVO
extends
BaseParamVO
{
/**
* 用户名
*/
private
String
user
;
/**
* 代码
*/
private
String
code
;
/**
* 相对人名称
*/
private
String
xdrmc
;
/**
* 相对人代码
*/
private
String
xdrdm
;
/**
* 查询类别,1表示自然人,0表示企业
*/
private
String
type
;
/**
* 密码
*/
private
String
password
;
}
src/main/java/com/mth/requestsecret/service/RestTemlateService.java
View file @
6325a97b
...
...
@@ -38,6 +38,8 @@ public class RestTemlateService {
@Autowired
private
RequestSecretSchedulerTask
schedulerTask
;
private
ThreadLocal
<
Integer
>
threadLocal
=
ThreadLocal
.
withInitial
(()
->
0
);
@Value
(
"${DATA_API_ADDRESS}"
)
private
String
pathUrl
;
...
...
@@ -75,13 +77,23 @@ public class RestTemlateService {
ResponseEntity
<
String
>
responseEntity
=
restTemplate
.
exchange
(
url
.
toString
(),
HttpMethod
.
POST
,
request
,
String
.
class
);
log
.
info
(
"api response:{}"
,
responseEntity
);
// 接口返回码
String
code
=
JSONObject
.
parseObject
(
responseEntity
.
getBody
()).
getString
(
"code"
);
try
{
// 接口返回码
String
code
=
JSONObject
.
parseObject
(
responseEntity
.
getBody
()).
getString
(
"code"
);
Integer
count
=
threadLocal
.
get
();
String
threadName
=
Thread
.
currentThread
().
getName
();
// 如果返回签名错误,则重新获取秘钥,重新发送请求
if
(
RESPONSE_CODE_14
.
equals
(
code
))
{
schedulerTask
.
getRequestSecret
();
return
commonSendRequest
(
paramMap
,
apiMethod
);
// 如返回签名错误,则重新获取秘钥并发送请求,限制重新请求次数两次
if
(
RESPONSE_CODE_14
.
equals
(
code
)
&&
count
<
2
)
{
threadLocal
.
set
(++
count
);
log
.
info
(
"线程名称:{},重新请求次数:{}"
,
threadName
,
count
);
// 获取秘钥
schedulerTask
.
getRequestSecret
();
// 重新调用请求
return
commonSendRequest
(
paramMap
,
apiMethod
);
}
}
finally
{
threadLocal
.
remove
();
}
return
responseEntity
;
}
...
...
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