Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
kyb-search
Project
Project
Details
Activity
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
万建斌
kyb-search
Commits
1364a54c
Commit
1364a54c
authored
Oct 22, 2019
by
万建斌
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
2019-10-21 优化
parent
8fa69882
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
218 additions
and
80 deletions
+218
-80
ApiResponseEnum.java
src/main/java/com/cesgroup/common/utils/ApiResponseEnum.java
+2
-1
RSAEncryptUtil.java
src/main/java/com/cesgroup/common/utils/RSAEncryptUtil.java
+49
-7
RandomUtil.java
src/main/java/com/cesgroup/common/utils/RandomUtil.java
+63
-0
RestAPIResult.java
src/main/java/com/cesgroup/common/utils/RestAPIResult.java
+28
-4
TokenInterceptor.java
...a/com/cesgroup/kingkong/interceptor/TokenInterceptor.java
+6
-42
SearchContrllor.java
src/main/java/com/cesgroup/kingkong/web/SearchContrllor.java
+16
-11
TokenController.java
src/main/java/com/cesgroup/kingkong/web/TokenController.java
+54
-15
No files found.
src/main/java/com/cesgroup/common/utils/ApiResponseEnum.java
View file @
1364a54c
...
...
@@ -22,7 +22,8 @@ public enum ApiResponseEnum {
AUTH_SIGN_ERROR
(
10201
,
"签名验证失败"
),
AUTH_IP_ERROR
(
10202
,
"IP白名单验证失败"
),
AUTH_TOKEN_ERROR
(
10203
,
"token验证失败"
),
TOKEN_OVERTIME_ERROR
(
10204
,
"token已过期"
)
TOKEN_OVERTIME_ERROR
(
10204
,
"token已过期"
),
APPLY_TOKEN_ERROR
(
10205
,
"秘钥校对失败"
),
;
public
static
String
AUTH_CENTER_SERVICE
=
"kyb-search"
;
...
...
src/main/java/com/cesgroup/common/utils/RSAEncryptUtil.java
View file @
1364a54c
...
...
@@ -4,8 +4,11 @@ import com.alibaba.fastjson.JSON;
import
com.alipay.api.AlipayApiException
;
import
com.alipay.api.internal.util.AlipaySignature
;
import
com.cesgroup.common.utils.http.HttpClientHelper
;
import
com.cesgroup.kingkong.entity.SecretKeyEntity
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.codec.binary.Base64
;
import
org.apache.commons.collections.MapUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.http.HttpEntity
;
import
org.apache.http.NameValuePair
;
import
org.apache.http.client.ClientProtocolException
;
...
...
@@ -38,6 +41,7 @@ import java.util.*;
* @author: Wanjianbin
* @create: 2019-08-27 13:45
**/
@Slf4j
public
class
RSAEncryptUtil
{
/**
* 签名算法
...
...
@@ -72,13 +76,19 @@ public class RSAEncryptUtil {
// thread.start();
}*/
test1
(
"CN200930231881.8"
);
Map
map
=
new
HashMap
();
// map.put("id", "CN200930231881.8");
map
.
put
(
"authorName"
,
"李靖"
);
map
.
put
(
"affilorg"
,
"China Agricultural University"
);
map
.
put
(
"current"
,
"1"
);
test1
(
map
);
}
public
static
void
test1
(
String
id
){
public
static
void
test1
(
Map
map
){
//生成公钥和私钥
Map
keyMap
=
new
HashMap
();
keyMap
.
put
(
"publicKey"
,
"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQ
CJLuCIAqbnO1eunvgp3vby+2s0RnpNq3OFNpIQqStuTVIbedulgS2mEPASi9k5eHlc5n7MlHZMxdNRlBzo81EVa7bVCdS9nw2kMPNJoKLUX0RA8NFIYpkXakocDwCl1J8kNWuN1dMwQOZ7JPZQJaer9aAY/tu2aVpJG+CKTbQHR
QIDAQAB"
);
keyMap
.
put
(
"publicKey"
,
"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQ
DQbyeSsNaEiK6DsEQ8IFM0cE55fKvCI0DQtBBF1v5ajv0oA0rzhvAV+QJoD93GnTzukOsq/UBW5WcHu/AHKn/BdzJcGwHfmDDMOfVIruu8sJDs8R/Sys39CPmajQAMOUYtXCmWAqVi0uqta+qlX5xRg7l4qK3dahQYUvuslKAVG
QIDAQAB"
);
keyMap
.
put
(
"privateKey"
,
"MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAIku4IgCpuc7V66e+Cne9vL7azRGek2rc4U2khCpK25NUht526WBLaYQ8BKL2Tl4eVzmfsyUdkzF01GUHOjzURVrttUJ1L2fDaQw80mgotRfREDw0UhimRdqShwPAKXUnyQ1a43V0zBA5nsk9lAlp6v1oBj+27ZpWkkb4IpNtAdFAgMBAAECgYA8aHsRCXHrovMSfwgyj+9YwiPMCjjzGMuu3n/lfEkWsk+0r61sLP0oAo9k61ZFe2qd4RX3Cm0pk3dhlgJBBlwumHuX+E+i15gWJT/RBLzulJx6yUMs8SZsfLIyswHIuNUzhuCFk0GwzcHtG1w9VyQkklhUGebsCZbhKmNfdSsipQJBAMCiYmf4c+fdWBOJt+G094XKzchNtkB4QALBR9boJlbyOOqT4U/dNlPUb8PMs2GDfqhSML0lOL4Zg7hKWbpvtqMCQQC2TvtLnTBul2LfybClf0uWMsg9VXfIzkjuSJDlvprFksPaOnIBUI37s2CbWfOZJkgofeKPRPI+Tbl24nPhpvD3AkEAnHIE652bPF7GTi/V2Afp0o3vbFK4xkki61nfp0ipAon78X8iSINGwPRRxLn1oSdy8O63SJX3LGR6VmyDzOc3cwJATvlr9teDMYU2+ca/VRINxmT9RUSO/VgPU9nvmva0yT3IxfJnjJY+y3hrMyEGW6Ovwoq16GZvofm9i/iRRoExBQJAAjc8qZDi9PM0TrNc75V/xfUatKl52QWiCSFHn8biPYtKn02a3ZRnhp+Dk2UNRXSlnveULMa/tqI5MQ1VYleD6Q=="
);
System
.
out
.
println
(
"随机生成的公钥为:"
+
MapUtils
.
getString
(
keyMap
,
"publicKey"
));
...
...
@@ -91,8 +101,6 @@ public class RSAEncryptUtil {
/*
* 拼接待签名字符串 RSA2对应的函数
*/
Map
map
=
new
HashMap
();
map
.
put
(
"id"
,
id
);
String
content
=
AlipaySignature
.
rsaEncrypt
(
JSON
.
toJSONString
(
map
),
MapUtils
.
getString
(
keyMap
,
"publicKey"
),
CHARSET
);
...
...
@@ -109,9 +117,20 @@ public class RSAEncryptUtil {
Map
result
=
JSON
.
parseObject
(
sign
);
System
.
out
.
println
(
result
);
}
catch
(
Exception
e
)
{
catch
(
Exception
e
){
e
.
printStackTrace
();
String
resultStr
=
"I0BhZQOTRtXt4H3gjVRm0rN55D1nfMLKaQd2CL4BGXmMzgQZa4hOYh5UqwjfFPCmcyytjscNfCblSwUonsDTopvgAtm3nJh2eI8K+4udQ3sAdmTBIkjLKXhoppocz6J4KPs8KtKfrMU6XYvMFBFF2KXJwCGIacFtmpkIo4+cCZVOj10T9ZpdUhceXqeQ2AoV7r6UqF2tV6av3Q0999yogVkYiczB5N9SaYNweOpuzIEFBjK0QJY6n4v64fPBx38dK3ntZzmAdg9Z4wSHrL1VX/aD+WGzTi4isTDL+JcDXc7M3Dk4xmqq56ktATWtfDGPG3lIRazyFmNYXBZoHZ48RgwAkgxRB904sYIf1WAXCtU9zN2Kb/zcCBWXGTgY3vmnG/kss6zfO1zChxumtW0YWR8D7X9K/S4mOMDNnh5kNS/Fxa/tXR4WStw1Qjw7mbiFMf+bkBtusd6GYZaEESotN5fKBuFHNr07UTN3/34mhc3mZmI0PacJTrAQRX3FV21S"
;
String
privateKey
=
"MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAIku4IgCpuc7V66e+Cne9vL7azRGek2rc4U2khCpK25NUht526WBLaYQ8BKL2Tl4eVzmfsyUdkzF01GUHOjzURVrttUJ1L2fDaQw80mgotRfREDw0UhimRdqShwPAKXUnyQ1a43V0zBA5nsk9lAlp6v1oBj+27ZpWkkb4IpNtAdFAgMBAAECgYA8aHsRCXHrovMSfwgyj+9YwiPMCjjzGMuu3n/lfEkWsk+0r61sLP0oAo9k61ZFe2qd4RX3Cm0pk3dhlgJBBlwumHuX+E+i15gWJT/RBLzulJx6yUMs8SZsfLIyswHIuNUzhuCFk0GwzcHtG1w9VyQkklhUGebsCZbhKmNfdSsipQJBAMCiYmf4c+fdWBOJt+G094XKzchNtkB4QALBR9boJlbyOOqT4U/dNlPUb8PMs2GDfqhSML0lOL4Zg7hKWbpvtqMCQQC2TvtLnTBul2LfybClf0uWMsg9VXfIzkjuSJDlvprFksPaOnIBUI37s2CbWfOZJkgofeKPRPI+Tbl24nPhpvD3AkEAnHIE652bPF7GTi/V2Afp0o3vbFK4xkki61nfp0ipAon78X8iSINGwPRRxLn1oSdy8O63SJX3LGR6VmyDzOc3cwJATvlr9teDMYU2+ca/VRINxmT9RUSO/VgPU9nvmva0yT3IxfJnjJY+y3hrMyEGW6Ovwoq16GZvofm9i/iRRoExBQJAAjc8qZDi9PM0TrNc75V/xfUatKl52QWiCSFHn8biPYtKn02a3ZRnhp+Dk2UNRXSlnveULMa/tqI5MQ1VYleD6Q=="
;
try
{
sign
=
AlipaySignature
.
rsaDecrypt
(
resultStr
,
privateKey
,
CHARSET
);
System
.
out
.
println
(
"原始sign:"
+
sign
);
Map
result
=
JSON
.
parseObject
(
sign
);
System
.
out
.
println
(
result
);
}
catch
(
AlipayApiException
ex
)
{
ex
.
printStackTrace
();
}
}
}
...
...
@@ -363,4 +382,27 @@ public class RSAEncryptUtil {
String
outStr
=
new
String
(
cipher
.
doFinal
(
inputByte
));
return
outStr
;
}
/**
* @Description: 公钥解密
* @Param:
* @return:
* @Author: Wanjianbin
* @Date: 2019/8/27
*/
public
static
Map
resolveParamsForSign
(
String
sign
,
SecretKeyEntity
secretKeyEntity
)
throws
Exception
{
if
(
StringUtils
.
isEmpty
(
sign
)){
return
null
;
}
if
(
secretKeyEntity
==
null
){
log
.
info
(
"-------------------- secretKey SELECT ERROR --------------------"
);
return
null
;
}
String
privateKey
=
secretKeyEntity
.
getPrivateKey
();
return
JSON
.
parseObject
(
AlipaySignature
.
rsaDecrypt
(
sign
,
privateKey
,
"UTF-8"
));
}
}
src/main/java/com/cesgroup/common/utils/RandomUtil.java
0 → 100644
View file @
1364a54c
package
com
.
cesgroup
.
common
.
utils
;
import
com.alibaba.fastjson.JSONObject
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang.StringUtils
;
import
java.io.UnsupportedEncodingException
;
import
java.security.MessageDigest
;
import
java.security.NoSuchAlgorithmException
;
import
java.util.*
;
/**
* Create by wanjianbin on 2019-05-18.<br>
*/
@Slf4j
public
class
RandomUtil
{
public
static
String
getStringRandom
(
int
length
,
String
charOrNum
)
{
String
val
=
""
;
Random
random
=
new
Random
();
// 参数length,表示生成几位随机数
for
(
int
i
=
0
;
i
<
length
;
i
++)
{
if
(
StringUtils
.
isEmpty
(
charOrNum
))
{
charOrNum
=
random
.
nextInt
(
2
)
%
2
==
0
?
"char"
:
"num"
;
}
// 输出字母还是数字
if
(
"char"
.
equalsIgnoreCase
(
charOrNum
))
{
// 输出是大写字母还是小写字母
int
temp
=
random
.
nextInt
(
2
)
%
2
==
0
?
65
:
97
;
val
+=
(
char
)
(
random
.
nextInt
(
26
)
+
temp
);
}
else
if
(
"num"
.
equalsIgnoreCase
(
charOrNum
))
{
val
+=
String
.
valueOf
(
random
.
nextInt
(
10
));
}
}
return
val
;
}
public
static
void
main
(
String
[]
args
)
{
String
account
=
getStringRandom
(
6
,
"num"
);
log
.
info
(
account
);
}
//字节数组转换为十六进制字符串
private
static
String
byteToHex
(
final
byte
[]
hash
)
{
Formatter
formatter
=
new
Formatter
();
for
(
byte
b
:
hash
)
{
formatter
.
format
(
"%02x"
,
b
);
}
String
result
=
formatter
.
toString
();
formatter
.
close
();
return
result
;
}
//生成随机字符串
private
static
String
createNonceStr
()
{
return
UUID
.
randomUUID
().
toString
();
}
//生成时间戳
private
static
String
createTimestamp
()
{
return
Long
.
toString
(
System
.
currentTimeMillis
()
/
1000
);
}
}
src/main/java/com/cesgroup/common/utils/RestAPIResult.java
View file @
1364a54c
package
com
.
cesgroup
.
common
.
utils
;
import
com.alibaba.fastjson.JSON
;
import
com.alipay.api.AlipayApiException
;
import
com.alipay.api.internal.util.AlipaySignature
;
import
com.cesgroup.kingkong.entity.SecretKeyEntity
;
import
com.cesgroup.kingkong.service.SecretKeyService
;
import
org.apache.commons.collections.MapUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.io.Serializable
;
import
java.util.HashMap
;
import
java.util.Map
;
...
...
@@ -15,6 +24,10 @@ import java.util.Map;
//@ApiModel(value = "REST API接口统一响应接口实体")
public
class
RestAPIResult
<
T
>
implements
Serializable
{
private
SecretKeyService
secretKeyService
;
final
String
CHARSET
=
"UTF-8"
;
/**
* serialVersionUID:
*
...
...
@@ -65,7 +78,17 @@ public class RestAPIResult<T> implements Serializable {
}
public
void
setRespData
(
T
respData
)
{
this
.
respData
=
respData
;
if
(
respData
!=
null
){
String
data
=
JSON
.
toJSONString
(
respData
);
SecretKeyEntity
secretKeyEntity
=
secretKeyService
.
getById
(
1
);
String
publicKey
=
secretKeyEntity
.
getPublicKey
();
try
{
String
content
=
AlipaySignature
.
rsaEncrypt
(
data
,
publicKey
,
CHARSET
);
this
.
respData
=
(
T
)
content
;
}
catch
(
AlipayApiException
e
)
{
e
.
printStackTrace
();
}
}
}
public
Map
<
String
,
Object
>
getRespMap
()
{
...
...
@@ -109,15 +132,16 @@ public class RestAPIResult<T> implements Serializable {
}
@SuppressWarnings
(
"unchecked"
)
public
RestAPIResult
()
{
public
RestAPIResult
(
SecretKeyService
secretKeyService
)
{
this
.
secretKeyService
=
secretKeyService
;
this
.
respData
=
(
T
)
new
Object
();
this
.
respMap
=
new
HashMap
<
String
,
Object
>();
}
public
void
success
(
T
object
)
{
public
void
success
(
T
object
,
SecretKeyService
secretKeyService
)
{
this
.
respCode
=
1
;
this
.
respMsg
=
"1"
;
this
.
respData
=
object
;
setRespData
(
object
)
;
this
.
respMap
=
new
HashMap
<
String
,
Object
>();
}
...
...
src/main/java/com/cesgroup/kingkong/interceptor/TokenInterceptor.java
View file @
1364a54c
...
...
@@ -71,13 +71,12 @@ public class TokenInterceptor implements HandlerInterceptor {
ApiResponse
apiResponse
=
null
;
String
token
=
request
.
getHeader
(
"token"
);
// String remoteAddr = ApiResultUtil.getUserIP(request);
String
remoteAddr
=
"127.0.0.1"
;
if
(
StringUtil
.
isEmpty
(
token
)){
apiResponse
=
ApiResultUtil
.
getApiResponse
(
null
,
ApiResponseEnum
.
AUTH_TOKEN_ERROR
);
}
else
{
IPCheckEntity
ipCheckEntity
=
ipCheckService
.
getOne
(
new
QueryWrapper
<
IPCheckEntity
>().
eq
(
"
ip_address"
,
remoteAddr
));
IPCheckEntity
ipCheckEntity
=
ipCheckService
.
getOne
(
new
QueryWrapper
<
IPCheckEntity
>().
eq
(
"
token"
,
token
));
if
(
ipCheckEntity
!=
null
){
if
(
token
.
equals
(
ipCheckEntity
.
getToken
())){
//
if (token.equals(ipCheckEntity.getToken())){
// 校验token是否过期
if
(
checkToken
(
ipCheckEntity
)){
/* if (checkSign(params)){
...
...
@@ -89,19 +88,7 @@ public class TokenInterceptor implements HandlerInterceptor {
apiResponse = ApiResultUtil.getApiResponse(null, ApiResponseEnum.AUTH_SIGN_ERROR);
}*/
try
{
Map
<
String
,
Object
>
requestParams
=
resolveParamsForSign
(
params
);
log
.
info
(
"--------------------SET PARAMS BEGIN--------------------"
);
for
(
Map
.
Entry
entry
:
requestParams
.
entrySet
()){
log
.
info
(
entry
.
getKey
()
+
" : "
+
entry
.
getValue
());
request
.
setAttribute
(
entry
.
getKey
().
toString
(),
entry
.
getValue
());
}
log
.
info
(
"--------------------SET PARAMS END----------------------"
);
return
true
;
}
catch
(
Exception
e
){
e
.
printStackTrace
();
apiResponse
=
ApiResultUtil
.
getApiResponse
(
null
,
ApiResponseEnum
.
AUTH_SIGN_ERROR
);
}
return
true
;
}
else
{
apiResponse
=
ApiResultUtil
.
getApiResponse
(
null
,
ApiResponseEnum
.
TOKEN_OVERTIME_ERROR
);
...
...
@@ -109,9 +96,9 @@ public class TokenInterceptor implements HandlerInterceptor {
}
else
{
apiResponse
=
ApiResultUtil
.
getApiResponse
(
null
,
ApiResponseEnum
.
AUTH_TOKEN_ERROR
);
}
}
else
{
apiResponse
=
ApiResultUtil
.
getApiResponse
(
null
,
ApiResponseEnum
.
AUTH_IP_ERROR
);
}
//
}else {
//
apiResponse = ApiResultUtil.getApiResponse(null, ApiResponseEnum.AUTH_IP_ERROR);
//
}
}
response
.
setCharacterEncoding
(
"utf-8"
);
...
...
@@ -160,29 +147,6 @@ public class TokenInterceptor implements HandlerInterceptor {
}
/**
* @Description: 公钥解密
* @Param:
* @return:
* @Author: Wanjianbin
* @Date: 2019/8/27
*/
private
Map
resolveParamsForSign
(
Map
params
)
throws
Exception
{
String
sign
=
MapUtils
.
getString
(
params
,
"sign"
);
if
(
StringUtils
.
isEmpty
(
sign
)){
return
null
;
}
SecretKeyEntity
secretKeyEntity
=
secretKeyService
.
getById
(
1
);
if
(
secretKeyEntity
==
null
){
log
.
info
(
"-------------------- secretKey SELECT ERROR --------------------"
);
return
null
;
}
String
privateKey
=
secretKeyEntity
.
getPrivateKey
();
return
JSON
.
parseObject
(
AlipaySignature
.
rsaDecrypt
(
sign
,
privateKey
,
"UTF-8"
));
}
/**
* 是否有权限
*
* @param handler
...
...
src/main/java/com/cesgroup/kingkong/web/SearchContrllor.java
View file @
1364a54c
...
...
@@ -2,6 +2,9 @@ package com.cesgroup.kingkong.web;
import
java.util.*
;
import
com.cesgroup.common.utils.RSAEncryptUtil
;
import
com.cesgroup.kingkong.service.SecretKeyService
;
import
org.apache.commons.collections.MapUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -15,14 +18,17 @@ import javax.servlet.http.HttpServletRequest;
@RestController
@RequestMapping
(
"v1"
)
public
class
SearchContrllor
{
@Autowired
SecretKeyService
secretKeyService
;
@Autowired
private
QueryService
queryService
;
@RequestMapping
(
value
=
"queryById"
,
method
=
{
RequestMethod
.
POST
})
public
RestAPIResult
<
Object
>
query
(
HttpServletRequest
request
)
{
String
id
=
request
.
getAttribute
(
"id"
).
toString
();
RestAPIResult
<
Object
>
panResult
=
new
RestAPIResult
<
Object
>();
public
RestAPIResult
<
Object
>
query
(
String
sign
)
throws
Exception
{
Map
<
String
,
Object
>
params
=
RSAEncryptUtil
.
resolveParamsForSign
(
sign
,
secretKeyService
.
getById
(
2
));
String
id
=
MapUtils
.
getString
(
params
,
"id"
);
RestAPIResult
<
Object
>
panResult
=
new
RestAPIResult
<
Object
>(
secretKeyService
);
Map
<
String
,
Object
>
result
=
null
;
if
(
StringUtils
.
isNotBlank
(
id
))
{
result
=
queryService
.
getById
(
id
);
...
...
@@ -63,13 +69,10 @@ public class SearchContrllor {
* RestAPIResult<Object>
*/
@RequestMapping
(
value
=
"queryArticleInfo"
,
method
=
{
RequestMethod
.
POST
})
public
RestAPIResult
<
Object
>
queryArticleInfo
(
HttpServletRequest
request
)
{
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"authorName"
,
request
.
getAttribute
(
"authorName"
));
params
.
put
(
"current"
,
request
.
getAttribute
(
"current"
));
params
.
put
(
"affilorg"
,
request
.
getAttribute
(
"affilorg"
));
public
RestAPIResult
<
Object
>
queryArticleInfo
(
String
sign
)
throws
Exception
{
Map
<
String
,
Object
>
params
=
RSAEncryptUtil
.
resolveParamsForSign
(
sign
,
secretKeyService
.
getById
(
2
));
RestAPIResult
<
Object
>
panResult
=
new
RestAPIResult
<
Object
>();
RestAPIResult
<
Object
>
panResult
=
new
RestAPIResult
<
Object
>(
secretKeyService
);
Map
<
String
,
Object
>
result
=
queryService
.
queryArticleInfo
(
params
);
if
(
result
==
null
||
result
.
size
()
<=
0
){
// 未查出数据时,去掉机构名后重新查询
...
...
@@ -77,7 +80,9 @@ public class SearchContrllor {
result
=
queryService
.
queryArticleInfo
(
params
);
}
panResult
.
setRespData
(
parseResult
(
result
));
Map
<
String
,
Object
>
resMap
=
new
HashMap
<>();
resMap
.
put
(
"result"
,
parseResult
(
result
));
panResult
.
setRespData
(
resMap
);
return
panResult
;
}
...
...
src/main/java/com/cesgroup/kingkong/web/TokenController.java
View file @
1364a54c
package
com
.
cesgroup
.
kingkong
.
web
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.cesgroup.common.utils.ApiResponse
;
import
com.cesgroup.common.utils.ApiResponseEnum
;
import
com.cesgroup.common.utils.ApiResultUtil
;
import
com.cesgroup.common.utils.*
;
import
com.cesgroup.kingkong.commons.utils.JwtUtils
;
import
com.cesgroup.kingkong.core.security.model.JwtUser
;
import
com.cesgroup.kingkong.entity.IPCheckEntity
;
import
com.cesgroup.kingkong.interceptor.RequiredPermission
;
import
com.cesgroup.kingkong.service.IPCheckService
;
import
com.cesgroup.kingkong.service.SecretKeyService
;
import
org.apache.commons.collections.MapUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.servlet.http.HttpServletRequest
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @program: kyb-search
...
...
@@ -26,27 +31,61 @@ import java.util.Date;
@RequestMapping
(
"/token"
)
public
class
TokenController
extends
BaseServiceController
<
IPCheckEntity
,
IPCheckService
>
{
@Autowired
SecretKeyService
secretKeyService
;
@PostMapping
(
"/getToken"
)
@RequiredPermission
public
ApiResponse
getToken
(
HttpServletRequest
request
){
String
ip
=
ApiResultUtil
.
getUserIP
(
request
);
public
RestAPIResult
<
Object
>
getToken
(
String
sign
)
throws
Exception
{
// String ip = ApiResultUtil.getUserIP(request);
Map
<
String
,
Object
>
params
=
RSAEncryptUtil
.
resolveParamsForSign
(
sign
,
secretKeyService
.
getById
(
2
));
String
ip
=
MapUtils
.
getString
(
params
,
"randomStr"
);
IPCheckEntity
ipCheckEntity
=
this
.
service
.
getOne
(
new
QueryWrapper
<
IPCheckEntity
>().
eq
(
"ip_address"
,
ip
));
RestAPIResult
<
Object
>
panResult
=
new
RestAPIResult
<
Object
>(
secretKeyService
);
if
(
ipCheckEntity
==
null
){
return
ApiResultUtil
.
getApiResponse
(
null
,
ApiResponseEnum
.
AUTH_IP_ERROR
);
panResult
.
error
(
ApiResponseEnum
.
AUTH_IP_ERROR
.
getErrMsg
());
}
else
{
JwtUser
user
=
new
JwtUser
();
user
.
setId
(
ipCheckEntity
.
getId
().
toString
());
user
.
setUserName
(
ip
);
user
.
setLoginName
(
ip
);
String
token
=
JwtUtils
.
createJwtBySimpleUser
(
user
,
1000
*
60
*
60
*
24
,
ApiResponseEnum
.
AUTH_CENTER_SERVICE
);
ipCheckEntity
.
setToken
(
token
);
ipCheckEntity
.
setLastTokenTime
(
new
Date
().
getTime
());
this
.
service
.
updateById
(
ipCheckEntity
);
panResult
.
setRespData
(
token
);
}
JwtUser
user
=
new
JwtUser
();
user
.
setId
(
ipCheckEntity
.
getId
().
toString
());
user
.
setUserName
(
ip
);
user
.
setLoginName
(
ip
);
return
panResult
;
}
String
token
=
JwtUtils
.
createJwtBySimpleUser
(
user
,
1000
*
60
*
60
*
24
,
ApiResponseEnum
.
AUTH_CENTER_SERVICE
);
ipCheckEntity
.
setToken
(
token
);
ipCheckEntity
.
setLastTokenTime
(
new
Date
().
getTime
());
this
.
service
.
updateById
(
ipCheckEntity
);
@GetMapping
(
"/applyToken"
)
@RequiredPermission
public
RestAPIResult
<
Object
>
applyToken
(
String
sign
)
throws
Exception
{
Map
<
String
,
Object
>
params
=
RSAEncryptUtil
.
resolveParamsForSign
(
sign
,
secretKeyService
.
getById
(
2
));
String
applyDate
=
MapUtils
.
getString
(
params
,
"applyDate"
);
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
String
today
=
sdf
.
format
(
new
Date
());
RestAPIResult
<
Object
>
panResult
=
new
RestAPIResult
<
Object
>(
secretKeyService
);
if
(
today
.
equals
(
applyDate
)){
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
result
.
put
(
"today"
,
today
);
String
randomStr
=
RandomUtil
.
getStringRandom
(
12
,
null
);
result
.
put
(
"randomStr"
,
randomStr
);
return
ApiResultUtil
.
getApiResponse
(
token
,
ApiResponseEnum
.
SUCCESS
);
IPCheckEntity
ipCheckEntity
=
new
IPCheckEntity
();
ipCheckEntity
.
setId
(
1
);
ipCheckEntity
.
setIpAddress
(
randomStr
);
this
.
service
.
updateById
(
ipCheckEntity
);
panResult
.
setRespData
(
result
);
}
else
{
panResult
.
error
(
ApiResponseEnum
.
APPLY_TOKEN_ERROR
.
getErrMsg
());
}
return
panResult
;
}
@RequestMapping
(
"/test"
)
public
ApiResponse
test
(){
return
ApiResultUtil
.
getApiResponse
(
null
,
ApiResponseEnum
.
SUCCESS
);
...
...
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