Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
qa-platform
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
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
QA
qa-platform
Commits
d58a3eb2
Commit
d58a3eb2
authored
Mar 17, 2021
by
黎博
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
debug
parent
38cd53fb
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
37 additions
and
12 deletions
+37
-12
InterceptorConfig.java
.../java/cn/qg/qaplatform/mock/config/InterceptorConfig.java
+1
-1
MockController.java
...java/cn/qg/qaplatform/mock/controller/MockController.java
+3
-2
YeebaoInterceptor.java
.../cn/qg/qaplatform/mock/interceptor/YeebaoInterceptor.java
+33
-9
No files found.
src/main/java/cn/qg/qaplatform/mock/config/InterceptorConfig.java
View file @
d58a3eb2
...
@@ -17,7 +17,7 @@ public class InterceptorConfig implements WebMvcConfigurer {
...
@@ -17,7 +17,7 @@ public class InterceptorConfig implements WebMvcConfigurer {
@Override
@Override
public
void
addInterceptors
(
InterceptorRegistry
registry
)
{
public
void
addInterceptors
(
InterceptorRegistry
registry
)
{
registry
.
addInterceptor
(
yeebaoInterceptor
()).
addPathPatterns
(
"/mock/tzt-api/**"
);
registry
.
addInterceptor
(
yeebaoInterceptor
()).
addPathPatterns
(
"/mock/tzt-api/**"
,
"/mock/balance-board/**"
);
}
}
}
}
src/main/java/cn/qg/qaplatform/mock/controller/MockController.java
View file @
d58a3eb2
...
@@ -10,6 +10,7 @@ import lombok.extern.slf4j.Slf4j;
...
@@ -10,6 +10,7 @@ import lombok.extern.slf4j.Slf4j;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
java.io.InputStream
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -47,8 +48,8 @@ public class MockController {
...
@@ -47,8 +48,8 @@ public class MockController {
return
JsonResult
.
success
(
mockService
.
saveOrUpdate
(
mock
));
return
JsonResult
.
success
(
mockService
.
saveOrUpdate
(
mock
));
}
}
@PostMapping
(
value
=
"/mock/
balance-board/transfer
"
,
consumes
=
"application/xml"
)
@PostMapping
(
value
=
"/mock/
test
"
,
consumes
=
"application/xml"
)
public
String
balanceboardTransfer
(
String
requestData
)
{
public
String
balanceboardTransfer
(
@RequestBody
String
requestData
)
{
String
cmd
=
requestData
.
toString
().
split
(
"<cmd>"
)[
1
].
split
(
"</cmd>"
)[
0
];
String
cmd
=
requestData
.
toString
().
split
(
"<cmd>"
)[
1
].
split
(
"</cmd>"
)[
0
];
log
.
info
(
"Mock controller yeepay-transfer cmd-------- {}"
,
cmd
);
log
.
info
(
"Mock controller yeepay-transfer cmd-------- {}"
,
cmd
);
String
transferResponse
=
null
;
String
transferResponse
=
null
;
...
...
src/main/java/cn/qg/qaplatform/mock/interceptor/YeebaoInterceptor.java
View file @
d58a3eb2
...
@@ -14,12 +14,11 @@ import org.springframework.lang.Nullable;
...
@@ -14,12 +14,11 @@ import org.springframework.lang.Nullable;
import
org.springframework.web.servlet.HandlerInterceptor
;
import
org.springframework.web.servlet.HandlerInterceptor
;
import
org.springframework.web.servlet.ModelAndView
;
import
org.springframework.web.servlet.ModelAndView
;
import
javax.servlet.ServletOutputStream
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.BufferedReader
;
import
java.io.BufferedReader
;
import
java.io.IOException
;
import
java.io.PrintWriter
;
import
java.io.PrintWriter
;
import
java.nio.charset.StandardCharsets
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -110,7 +109,7 @@ public class YeebaoInterceptor implements HandlerInterceptor {
...
@@ -110,7 +109,7 @@ public class YeebaoInterceptor implements HandlerInterceptor {
Mock
mock
=
mockMapper
.
selectOne
(
queryWrapper
);
Mock
mock
=
mockMapper
.
selectOne
(
queryWrapper
);
response
.
setHeader
(
"Content-type"
,
"application/json;charset=UTF-8"
);
response
.
setHeader
(
"Content-type"
,
"application/json;charset=UTF-8"
);
response
.
setCharacterEncoding
(
"UTF-8"
);
response
.
setCharacterEncoding
(
"UTF-8"
);
PrintWriter
printWriter
=
response
.
getWriter
();
//
PrintWriter printWriter = response.getWriter();
// 针对 /balance-board/transfer 接口特殊处理
// 针对 /balance-board/transfer 接口特殊处理
if
(
uri
.
equals
(
"/balance-board/transfer"
))
{
if
(
uri
.
equals
(
"/balance-board/transfer"
))
{
BufferedReader
br
=
request
.
getReader
();
BufferedReader
br
=
request
.
getReader
();
...
@@ -134,8 +133,9 @@ public class YeebaoInterceptor implements HandlerInterceptor {
...
@@ -134,8 +133,9 @@ public class YeebaoInterceptor implements HandlerInterceptor {
//放款结果查询的返回值
//放款结果查询的返回值
transferResponse
=
"<data><cmd>BatchDetailQuery</cmd><hmac>MIIE6QYJKoZIhvcNAQcCoIIE2jCCBNYCAQExCzAJBgUrDgMCGgUAMC8GCSqGSIb3DQEHAaAiBCA2ZWU1ODE3Y2UwNDg4NDczNmJlNWFlNGM0MDViZGNlYaCCA7EwggOtMIIDFqADAgECAhAuyfCgPbMcigfvVyGazeQRMA0GCSqGSIb3DQEBBQUAMCQxCzAJBgNVBAYTAkNOMRUwEwYDVQQKEwxDRkNBIFRFU1QgQ0EwHhcNMTExMTI4MDcwOTUzWhcNMTMxMTI4MDcwOTUzWjBzMQswCQYDVQQGEwJDTjEVMBMGA1UEChMMQ0ZDQSBURVNUIENBMQ8wDQYDVQQLEwZZRUVQQVkxEjAQBgNVBAsTCUN1c3RvbWVyczEoMCYGA1UEAxQfMDQxQFoxMjNxd2VAemhpd2VuLm1laUAwMDAwMDAwMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAzrITNElBaFF7xPXtPguWeTnGOI1gVMMkUDI57ZQz+Gg9PPcfF+ExrtDgMQEOwfRs7X4XiraPE2l6ub0Xkpl0ftu8ELnii91wUKAqsvp88NIdAdLQnC7PeveWlquVSAf//2WtAkdBI7xnhXaL/ObUkhHheT0aR5miYmDyLAkTBj8CAwEAAaOCAY8wggGLMB8GA1UdIwQYMBaAFEZy3CVynwJOVYO1gPkL2+mTs/RFMB0GA1UdDgQWBBS0k6A7ZSwLRwbIhFsgcChrYd27PDALBgNVHQ8EBAMCBaAwDAYDVR0TBAUwAwEBADA7BgNVHSUENDAyBggrBgEFBQcDAQYIKwYBBQUHAwIGCCsGAQUFBwMDBggrBgEFBQcDBAYIKwYBBQUHAwgwgfAGA1UdHwSB6DCB5TBPoE2gS6RJMEcxCzAJBgNVBAYTAkNOMRUwEwYDVQQKEwxDRkNBIFRFU1QgQ0ExDDAKBgNVBAsTA0NSTDETMBEGA1UEAxMKY3JsMTI2XzE5NDCBkaCBjqCBi4aBiGxkYXA6Ly90ZXN0bGRhcC5jZmNhLmNvbS5jbjozODkvQ049Y3JsMTI2XzE5NCxPVT1DUkwsTz1DRkNBIFRFU1QgQ0EsQz1DTj9jZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Y2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwDQYJKoZIhvcNAQEFBQADgYEAKX4CXCPQEE4RWGsZTXZXLBct2gcPYEjqpgPZ5ERiUrYLTDGuIT90ECfSoxCrcTJEeY7EJBojig9gLRoMn/4xXW/XscGarQ3XxyZw8VxTMFkotuUkAPoaacYlIrc34t2DR0DqvU6umgFL3yTMYxl5WLjOh47OH7Aw7VPscmrtzEIxgd0wgdoCAQEwODAkMQswCQYDVQQGEwJDTjEVMBMGA1UEChMMQ0ZDQSBURVNUIENBAhAuyfCgPbMcigfvVyGazeQRMAkGBSsOAwIaBQAwDQYJKoZIhvcNAQEBBQAEgYCD/g83n6KyattYAEPqff/9z613+4AaZDHVxY9xEb3lBGRRosVQptgkZItEc9cM2Em/o9GfV/mqj5T6CP5glvbbtFnrz2Z0GGNbDR/gqOIPhpACRZozZipwUeQESVhRCiCJa4sPuoEkgSSq5XvL5nIvAxc59DeKWIv/LGqYq9dK8Q==</hmac><ret_Code>1</ret_Code><batch_No>' + batchNo + '</batch_No><total_Num>1</total_Num><end_Flag>Y</end_Flag><list><items><item><remarksInfo></remarksInfo><amount>0.01</amount><fee></fee><abstractInfo>提现打款</abstractInfo><note/><order_Id>PAYMENT78162155286528</order_Id><payee_Bank_Account>1506213009022200623</payee_Bank_Account><refund_Date></refund_Date><real_pay_amount>0.01</real_pay_amount><payee_BankName>工商银行</payee_BankName><complete_Date>2020-01-16 18:20:09</complete_Date><request_Date>2020-01-16 18:20:08</request_Date><payee_Name>蒋素霞</payee_Name><bank_Status>S</bank_Status><r1_Code>0026</r1_Code><fail_Desc></fail_Desc></item></items></list></data>"
;
transferResponse
=
"<data><cmd>BatchDetailQuery</cmd><hmac>MIIE6QYJKoZIhvcNAQcCoIIE2jCCBNYCAQExCzAJBgUrDgMCGgUAMC8GCSqGSIb3DQEHAaAiBCA2ZWU1ODE3Y2UwNDg4NDczNmJlNWFlNGM0MDViZGNlYaCCA7EwggOtMIIDFqADAgECAhAuyfCgPbMcigfvVyGazeQRMA0GCSqGSIb3DQEBBQUAMCQxCzAJBgNVBAYTAkNOMRUwEwYDVQQKEwxDRkNBIFRFU1QgQ0EwHhcNMTExMTI4MDcwOTUzWhcNMTMxMTI4MDcwOTUzWjBzMQswCQYDVQQGEwJDTjEVMBMGA1UEChMMQ0ZDQSBURVNUIENBMQ8wDQYDVQQLEwZZRUVQQVkxEjAQBgNVBAsTCUN1c3RvbWVyczEoMCYGA1UEAxQfMDQxQFoxMjNxd2VAemhpd2VuLm1laUAwMDAwMDAwMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAzrITNElBaFF7xPXtPguWeTnGOI1gVMMkUDI57ZQz+Gg9PPcfF+ExrtDgMQEOwfRs7X4XiraPE2l6ub0Xkpl0ftu8ELnii91wUKAqsvp88NIdAdLQnC7PeveWlquVSAf//2WtAkdBI7xnhXaL/ObUkhHheT0aR5miYmDyLAkTBj8CAwEAAaOCAY8wggGLMB8GA1UdIwQYMBaAFEZy3CVynwJOVYO1gPkL2+mTs/RFMB0GA1UdDgQWBBS0k6A7ZSwLRwbIhFsgcChrYd27PDALBgNVHQ8EBAMCBaAwDAYDVR0TBAUwAwEBADA7BgNVHSUENDAyBggrBgEFBQcDAQYIKwYBBQUHAwIGCCsGAQUFBwMDBggrBgEFBQcDBAYIKwYBBQUHAwgwgfAGA1UdHwSB6DCB5TBPoE2gS6RJMEcxCzAJBgNVBAYTAkNOMRUwEwYDVQQKEwxDRkNBIFRFU1QgQ0ExDDAKBgNVBAsTA0NSTDETMBEGA1UEAxMKY3JsMTI2XzE5NDCBkaCBjqCBi4aBiGxkYXA6Ly90ZXN0bGRhcC5jZmNhLmNvbS5jbjozODkvQ049Y3JsMTI2XzE5NCxPVT1DUkwsTz1DRkNBIFRFU1QgQ0EsQz1DTj9jZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Y2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwDQYJKoZIhvcNAQEFBQADgYEAKX4CXCPQEE4RWGsZTXZXLBct2gcPYEjqpgPZ5ERiUrYLTDGuIT90ECfSoxCrcTJEeY7EJBojig9gLRoMn/4xXW/XscGarQ3XxyZw8VxTMFkotuUkAPoaacYlIrc34t2DR0DqvU6umgFL3yTMYxl5WLjOh47OH7Aw7VPscmrtzEIxgd0wgdoCAQEwODAkMQswCQYDVQQGEwJDTjEVMBMGA1UEChMMQ0ZDQSBURVNUIENBAhAuyfCgPbMcigfvVyGazeQRMAkGBSsOAwIaBQAwDQYJKoZIhvcNAQEBBQAEgYCD/g83n6KyattYAEPqff/9z613+4AaZDHVxY9xEb3lBGRRosVQptgkZItEc9cM2Em/o9GfV/mqj5T6CP5glvbbtFnrz2Z0GGNbDR/gqOIPhpACRZozZipwUeQESVhRCiCJa4sPuoEkgSSq5XvL5nIvAxc59DeKWIv/LGqYq9dK8Q==</hmac><ret_Code>1</ret_Code><batch_No>' + batchNo + '</batch_No><total_Num>1</total_Num><end_Flag>Y</end_Flag><list><items><item><remarksInfo></remarksInfo><amount>0.01</amount><fee></fee><abstractInfo>提现打款</abstractInfo><note/><order_Id>PAYMENT78162155286528</order_Id><payee_Bank_Account>1506213009022200623</payee_Bank_Account><refund_Date></refund_Date><real_pay_amount>0.01</real_pay_amount><payee_BankName>工商银行</payee_BankName><complete_Date>2020-01-16 18:20:09</complete_Date><request_Date>2020-01-16 18:20:08</request_Date><payee_Name>蒋素霞</payee_Name><bank_Status>S</bank_Status><r1_Code>0026</r1_Code><fail_Desc></fail_Desc></item></items></list></data>"
;
}
}
printWriter
.
write
(
transferResponse
);
// printWriter.write(transferResponse);
return
true
;
returnResponse
(
response
,
transferResponse
);
return
false
;
}
}
// 对request进行解密
// 对request进行解密
EncryptConvertor
encryptConvertor
=
EncryptFactory
.
produce
(
"yeebao"
);
EncryptConvertor
encryptConvertor
=
EncryptFactory
.
produce
(
"yeebao"
);
...
@@ -146,13 +146,15 @@ public class YeebaoInterceptor implements HandlerInterceptor {
...
@@ -146,13 +146,15 @@ public class YeebaoInterceptor implements HandlerInterceptor {
String
cardNo
=
requestMap
.
get
(
"cardno"
).
toString
();
String
cardNo
=
requestMap
.
get
(
"cardno"
).
toString
();
String
merchantno
=
requestMap
.
get
(
"merchantno"
).
toString
();
String
merchantno
=
requestMap
.
get
(
"merchantno"
).
toString
();
responseMap
=
getBankcardCheckResponse
(
cardNo
,
merchantno
);
responseMap
=
getBankcardCheckResponse
(
cardNo
,
merchantno
);
printWriter
.
write
(
encryptConvertor
.
encrypt
(
JsonTransUtils
.
mapToJson
(
responseMap
)));
// printWriter.write(encryptConvertor.encrypt(JsonTransUtils.mapToJson(responseMap)));
returnResponse
(
response
,
encryptConvertor
.
encrypt
(
JsonTransUtils
.
mapToJson
(
responseMap
)));
return
true
;
return
true
;
}
}
if
(
uri
.
equals
(
"/tzt-api/api/bindcard/confirm"
))
{
if
(
uri
.
equals
(
"/tzt-api/api/bindcard/confirm"
))
{
responseMap
.
put
(
"bankcode"
,
"ABC"
);
responseMap
.
put
(
"bankcode"
,
"ABC"
);
printWriter
.
write
(
encryptConvertor
.
encrypt
(
JsonTransUtils
.
mapToJson
(
responseMap
)));
// printWriter.write(encryptConvertor.encrypt(JsonTransUtils.mapToJson(responseMap)));
return
true
;
returnResponse
(
response
,
encryptConvertor
.
encrypt
(
JsonTransUtils
.
mapToJson
(
responseMap
)));
return
false
;
}
}
if
(
mock
.
getFlag
().
equals
(
1
))
{
if
(
mock
.
getFlag
().
equals
(
1
))
{
responseMap
=
JsonTransUtils
.
strToMap
(
mock
.
getSuccess
());
responseMap
=
JsonTransUtils
.
strToMap
(
mock
.
getSuccess
());
...
@@ -174,10 +176,32 @@ public class YeebaoInterceptor implements HandlerInterceptor {
...
@@ -174,10 +176,32 @@ public class YeebaoInterceptor implements HandlerInterceptor {
requestMap
.
put
(
"yborderid"
,
"TZAUba0c7b8"
+
requestMap
.
get
(
"requestno"
)
+
"95c929ca802e"
);
requestMap
.
put
(
"yborderid"
,
"TZAUba0c7b8"
+
requestMap
.
get
(
"requestno"
)
+
"95c929ca802e"
);
}
}
// 对response加密
// 对response加密
printWriter
.
write
(
encryptConvertor
.
encrypt
(
JsonTransUtils
.
mapToJson
(
responseMap
)));
// printWriter.write(encryptConvertor.encrypt(JsonTransUtils.mapToJson(responseMap)));
returnResponse
(
response
,
encryptConvertor
.
encrypt
(
JsonTransUtils
.
mapToJson
(
responseMap
)));
return
true
;
return
true
;
}
}
/**
*
* @param response
* @param result
*/
private
void
returnResponse
(
HttpServletResponse
response
,
String
result
)
{
PrintWriter
writer
=
null
;
response
.
setCharacterEncoding
(
"UTF-8"
);
response
.
setContentType
(
"text/html; charset=utf-8"
);
try
{
writer
=
response
.
getWriter
();
writer
.
print
(
result
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
finally
{
if
(
writer
!=
null
)
{
writer
.
close
();
}
}
}
@Override
@Override
public
void
postHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
,
public
void
postHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
,
@Nullable
ModelAndView
modelAndView
)
throws
Exception
{
@Nullable
ModelAndView
modelAndView
)
throws
Exception
{
...
...
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