记得上下班打卡 | git大法好,push需谨慎
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liquidnet-bus-v1
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
董敬伟
liquidnet-bus-v1
Commits
502d588b
Commit
502d588b
authored
May 14, 2021
by
张国柄
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加ZUUL FILTER
parent
1f217a88
Changes
40
Hide whitespace changes
Inline
Side-by-side
Showing
40 changed files
with
1047 additions
and
809 deletions
+1047
-809
JwtValidator.java
...in/java/com/liquidnet/commons/lang/core/JwtValidator.java
+18
-18
HttpRequest.java
...ain/java/com/liquidnet/commons/lang/util/HttpRequest.java
+0
-377
HttpUtil.java
...c/main/java/com/liquidnet/commons/lang/util/HttpUtil.java
+116
-197
application-dev.yml
liquidnet-bus-config/liquidnet-config/application-dev.yml
+3
-0
liquidnet-service-adam-dev.yml
...us-config/liquidnet-config/liquidnet-service-adam-dev.yml
+3
-0
liquidnet-support-zuul.yml
...et-bus-config/liquidnet-config/liquidnet-support-zuul.yml
+15
-7
FeignAdamLoginClient.java
...iquidnet/service/feign/adam/api/FeignAdamLoginClient.java
+27
-0
AdamThirdPartParam.java
...va/com/liquidnet/service/adam/dto/AdamThirdPartParam.java
+25
-0
AdamLoginInfoVo.java
...va/com/liquidnet/service/adam/dto/vo/AdamLoginInfoVo.java
+35
-0
AdamRealInfoVo.java
...ava/com/liquidnet/service/adam/dto/vo/AdamRealInfoVo.java
+30
-0
AdamThirdPartInfoVo.java
...om/liquidnet/service/adam/dto/vo/AdamThirdPartInfoVo.java
+3
-5
AdamUserInfoVo.java
...ava/com/liquidnet/service/adam/dto/vo/AdamUserInfoVo.java
+19
-13
IAdamRealNameService.java
.../liquidnet/service/adam/service/IAdamRealNameService.java
+2
-0
IAdamThirdPartyService.java
...iquidnet/service/adam/service/IAdamThirdPartyService.java
+6
-0
IAdamUserInfoService.java
.../liquidnet/service/adam/service/IAdamUserInfoService.java
+3
-1
IAdamUserService.java
.../com/liquidnet/service/adam/service/IAdamUserService.java
+23
-0
db_ln_adam_initialdata.sql
...quidnet-service-adam-impl/docu/db_ln_adam_initialdata.sql
+2
-2
pom.xml
...iquidnet-service-adam/liquidnet-service-adam-impl/pom.xml
+9
-0
AliyunDypnsConfigure.java
...m/liquidnet/service/adam/config/AliyunDypnsConfigure.java
+21
-0
AdamRedisConst.java
...a/com/liquidnet/service/adam/constant/AdamRedisConst.java
+7
-0
AdamAddressesController.java
...dnet/service/adam/controller/AdamAddressesController.java
+2
-0
AdamCollectionController.java
...net/service/adam/controller/AdamCollectionController.java
+2
-0
AdamEntersController.java
...quidnet/service/adam/controller/AdamEntersController.java
+2
-0
AdamLoginController.java
...iquidnet/service/adam/controller/AdamLoginController.java
+254
-0
AdamMemberController.java
...quidnet/service/adam/controller/AdamMemberController.java
+2
-0
AdamUserAuthController.java
...idnet/service/adam/controller/AdamUserAuthController.java
+0
-178
AdamUserController.java
...liquidnet/service/adam/controller/AdamUserController.java
+16
-2
AdamEntersServiceImpl.java
...dnet/service/adam/service/impl/AdamEntersServiceImpl.java
+0
-1
AdamRealNameServiceImpl.java
...et/service/adam/service/impl/AdamRealNameServiceImpl.java
+23
-1
AdamThirdPartyServiceImpl.java
.../service/adam/service/impl/AdamThirdPartyServiceImpl.java
+35
-0
AdamUserInfoServiceImpl.java
...et/service/adam/service/impl/AdamUserInfoServiceImpl.java
+54
-2
AdamUserServiceImpl.java
...uidnet/service/adam/service/impl/AdamUserServiceImpl.java
+101
-1
adam_enters.properties
...dam-impl/src/main/resources/sqlmap/adam_enters.properties
+4
-0
adam_third_party.properties
...mpl/src/main/resources/sqlmap/adam_third_party.properties
+1
-0
adam_user.properties
...-adam-impl/src/main/resources/sqlmap/adam_user.properties
+1
-0
adam_user_info.properties
...-impl/src/main/resources/sqlmap/adam_user_info.properties
+2
-0
enters.properties
...ice-adam-impl/src/main/resources/sqlmap/enters.properties
+0
-4
pom.xml
liquidnet-bus-service/pom.xml
+11
-0
GlobalAuthFilter.java
...a/com/liquidnet/support/zuul/filter/GlobalAuthFilter.java
+94
-0
GlobalLoginFilter.java
.../com/liquidnet/support/zuul/filter/GlobalLoginFilter.java
+76
-0
No files found.
liquidnet-bus-common/liquidnet-common-base/src/main/java/com/liquidnet/commons/lang/
util/JwtUtil
.java
→
liquidnet-bus-common/liquidnet-common-base/src/main/java/com/liquidnet/commons/lang/
core/JwtValidator
.java
View file @
502d588b
package
com
.
liquidnet
.
commons
.
lang
.
util
;
package
com
.
liquidnet
.
commons
.
lang
.
core
;
import
io.jsonwebtoken.Claims
;
import
io.jsonwebtoken.Claims
;
import
io.jsonwebtoken.JwtBuilder
;
import
io.jsonwebtoken.JwtBuilder
;
import
io.jsonwebtoken.Jwts
;
import
io.jsonwebtoken.Jwts
;
import
io.jsonwebtoken.SignatureAlgorithm
;
import
io.jsonwebtoken.SignatureAlgorithm
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.Map
;
import
java.util.Map
;
//@Component
@Component
(
"jwtValidator"
)
public
class
JwtUtil
{
public
class
JwtValidator
{
/**
@Value
(
"${liquidnet.jwt.expire-time}"
)
* 过期时间15分钟
private
Long
expireTime
;
*/
@Value
(
"${liquidnet.jwt.secret}"
)
private
static
final
long
EXPIRE_TIME
=
15
*
60
*
1000
;
private
String
tokenSecret
;
/**
// private static final long EXPIRE_TIME = 15 * 60 * 1000;
* token私钥
// private static final String TOKEN_SECRET = "qZHglvNP0n0aOOckHiQXq5JMD468J4eG";
*/
private
static
final
String
TOKEN_SECRET
=
"DD5654D654DSD5S1D65S4D65S1D12354"
;
/**
/**
* 用户登录成功后生成Jwt token
* 用户登录成功后生成Jwt token
* 使用Hs256算法
* 使用Hs256算法
*
*
* @param claims 保存在Payload(有效载荷)中的内容
* @param claims
Map
保存在Payload(有效载荷)中的内容
* @return token字符串
* @return token字符串
*/
*/
public
static
String
create
(
Map
<
String
,
Object
>
claims
)
{
public
String
create
(
Map
<
String
,
Object
>
claimsMap
)
{
long
nowMillis
=
System
.
currentTimeMillis
();
long
nowMillis
=
System
.
currentTimeMillis
();
long
expMillis
=
System
.
currentTimeMillis
()
+
EXPIRE_TIME
;
long
expMillis
=
System
.
currentTimeMillis
()
+
expireTime
*
60000
;
// 创建一个JwtBuilder,设置jwt的body
// 创建一个JwtBuilder,设置jwt的body
JwtBuilder
builder
=
Jwts
.
builder
()
JwtBuilder
builder
=
Jwts
.
builder
()
// 保存在Payload(有效载荷)中的内容, 自定义一些数据保存在这里
// 保存在Payload(有效载荷)中的内容, 自定义一些数据保存在这里
.
setClaims
(
claims
)
.
setClaims
(
claims
Map
)
// iat: jwt的签发时间
// iat: jwt的签发时间
.
setIssuedAt
(
new
Date
(
nowMillis
))
.
setIssuedAt
(
new
Date
(
nowMillis
))
// 设置过期时间
// 设置过期时间
.
setExpiration
(
new
Date
(
expMillis
))
.
setExpiration
(
new
Date
(
expMillis
))
// 使用HS256算法和签名使用的秘钥生成密文
// 使用HS256算法和签名使用的秘钥生成密文
.
signWith
(
SignatureAlgorithm
.
HS256
,
TOKEN_SECRET
);
.
signWith
(
SignatureAlgorithm
.
HS256
,
tokenSecret
);
return
builder
.
compact
();
return
builder
.
compact
();
}
}
...
@@ -49,11 +49,11 @@ public class JwtUtil {
...
@@ -49,11 +49,11 @@ public class JwtUtil {
* @param token 令牌
* @param token 令牌
* @return
* @return
*/
*/
public
static
Claims
parse
(
String
token
)
{
public
Claims
parse
(
String
token
)
{
// 得到DefaultJwtParser
// 得到DefaultJwtParser
return
Jwts
.
parser
()
return
Jwts
.
parser
()
// 设置签名的秘钥
// 设置签名的秘钥
.
setSigningKey
(
TOKEN_SECRET
)
.
setSigningKey
(
tokenSecret
)
// 设置需要解析的token
// 设置需要解析的token
.
parseClaimsJws
(
token
).
getBody
();
.
parseClaimsJws
(
token
).
getBody
();
}
}
...
...
liquidnet-bus-common/liquidnet-common-base/src/main/java/com/liquidnet/commons/lang/util/HttpRequest.java
deleted
100644 → 0
View file @
1f217a88
/**
* $Id$
* Copyright(C) 2015-2020 kowlone - internet center, All Rights Reserved.
*/
package
com
.
liquidnet
.
commons
.
lang
.
util
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.parser.Feature
;
import
org.apache.http.Consts
;
import
org.apache.http.HttpEntity
;
import
org.apache.http.NameValuePair
;
import
org.apache.http.client.config.RequestConfig
;
import
org.apache.http.client.entity.UrlEncodedFormEntity
;
import
org.apache.http.client.methods.HttpGet
;
import
org.apache.http.client.methods.HttpPost
;
import
org.apache.http.client.utils.URLEncodedUtils
;
import
org.apache.http.entity.StringEntity
;
import
org.apache.http.message.BasicNameValuePair
;
import
javax.servlet.http.HttpServletRequest
;
import
java.io.UnsupportedEncodingException
;
import
java.net.URI
;
import
java.nio.charset.Charset
;
import
java.util.*
;
import
java.util.function.Function
;
/**
* @author <a href="mailto:zmli@corp.netease.com">kowlone</a>
* @version 1.0 2015年04月01日 16:10:00
*/
public
class
HttpRequest
{
private
enum
BodyEntityType
{
URL_PARAM
{
@Override
HttpEntity
createPostEntity
(
HttpRequest
request
)
throws
UnsupportedEncodingException
{
List
<
NameValuePair
>
nvps
=
new
ArrayList
<>();
for
(
Map
.
Entry
<
String
,
Object
>
entry
:
request
.
requestParam
.
entrySet
())
{
nvps
.
add
(
new
BasicNameValuePair
(
entry
.
getKey
(),
entry
.
getValue
().
toString
()));
}
return
new
UrlEncodedFormEntity
(
nvps
,
request
.
requestCharset
);
}
},
JSON_STRING
{
@Override
HttpEntity
createPostEntity
(
HttpRequest
request
)
{
String
jsonBody
=
request
.
paramWrapper
==
null
?
JSON
.
toJSONString
(
request
.
requestParam
)
:
request
.
paramWrapper
.
wrapper
(
request
.
requestParam
);
return
new
StringEntity
(
jsonBody
,
request
.
requestCharset
);
}
},;
abstract
HttpEntity
createPostEntity
(
HttpRequest
request
)
throws
UnsupportedEncodingException
;
}
public
interface
ParamWrapper
{
String
wrapper
(
Map
<
String
,
Object
>
requestParam
);
}
private
String
url
;
private
Map
<
String
,
Object
>
requestParam
=
new
LinkedHashMap
<>();
private
Map
<
String
,
String
>
headerParam
=
new
LinkedHashMap
<>();
/** 明确要发送的消息体当指定了该参数时,不在经过BodyEntityType处理 */
private
HttpEntity
explicitEntity
=
null
;
private
BodyEntityType
entityType
;
private
Charset
requestCharset
=
Consts
.
UTF_8
;
private
Charset
responseCharset
=
Consts
.
UTF_8
;
private
String
contentType
=
null
;
private
ParamWrapper
paramWrapper
=
null
;
private
HttpRequest
(
String
url
)
{
this
(
url
,
BodyEntityType
.
URL_PARAM
);
}
private
HttpRequest
(
String
url
,
BodyEntityType
entityType
)
{
this
.
url
=
url
;
this
.
entityType
=
entityType
;
}
/**
* 新请求
*
* @param url
* @return
*/
public
static
HttpRequest
newRequest
(
String
url
)
{
return
new
HttpRequest
(
url
);
}
/**
* 发起http body为json字符串内容的请求
*
* @param url
* @return
*/
public
static
HttpRequest
newJSONBodyRequest
(
String
url
)
{
return
new
HttpRequest
(
url
,
BodyEntityType
.
JSON_STRING
);
}
public
HttpRequest
withParamWrapper
(
ParamWrapper
paramWrapper
)
{
this
.
paramWrapper
=
paramWrapper
;
return
this
;
}
/**
* 添加请求参数
*
* @param key
* @param value
* @return
*/
public
HttpRequest
addParam
(
String
key
,
Object
value
)
{
this
.
requestParam
.
put
(
key
,
value
);
return
this
;
}
public
HttpRequest
addParam
(
Map
<
String
,
Object
>
params
)
{
this
.
requestParam
.
putAll
(
params
);
return
this
;
}
public
HttpRequest
contentType
(
String
contentType
)
{
this
.
contentType
=
contentType
;
return
this
;
}
/**
* 访问参数key和参数值,并做相应处理后,返回字符串
* @param function
*
* @return
*/
public
String
visitParam
(
Function
<
Set
<
Map
.
Entry
<
String
,
Object
>>,
String
>
function
)
{
return
function
.
apply
(
requestParam
.
entrySet
());
}
public
HttpRequest
setExplicitEntity
(
HttpEntity
explicitEntity
){
this
.
explicitEntity
=
explicitEntity
;
return
this
;
}
/**
* 添加请求头
*
* @param key
* @param value
* @return
*/
public
HttpRequest
addHeader
(
String
key
,
String
value
)
{
this
.
headerParam
.
put
(
key
,
value
);
return
this
;
}
/**
* 指定请求字符集
* @param charset
*
* @return
*/
public
HttpRequest
requestCharset
(
String
charset
)
{
this
.
requestCharset
=
Charset
.
forName
(
charset
);
return
this
;
}
/**
* 指定响应字符集
* @param charset
*
* @return
*/
public
HttpRequest
responseCharset
(
String
charset
)
{
this
.
responseCharset
=
Charset
.
forName
(
charset
);
return
this
;
}
/**
* 获取body
*
* @return
*/
public
String
getRequestBodyString
()
{
StringBuilder
sb
=
new
StringBuilder
();
for
(
Map
.
Entry
<
String
,
Object
>
entry
:
requestParam
.
entrySet
())
{
sb
.
append
(
"&"
).
append
(
entry
.
getKey
()).
append
(
"="
).
append
(
entry
.
getValue
());
}
return
sb
.
deleteCharAt
(
0
).
toString
();
}
/**
* 发送post请求,返回json对象
*/
public
JSONObject
postAsJson
()
{
return
JSON
.
parseObject
(
postAsString
());
}
/**
* 发送post请求,返回原始字符串
*
* @return
* @throws Exception
*/
public
String
postAsString
()
{
try
{
HttpPost
httpPost
=
new
HttpPost
(
url
);
httpPost
.
setEntity
(
explicitEntity
!=
null
?
explicitEntity:
entityType
.
createPostEntity
(
this
));
// httpPost.addHeader("Content-Type","application/json");
if
(
this
.
contentType
!=
null
)
{
httpPost
.
addHeader
(
"Content-type"
,
contentType
);
}
for
(
Map
.
Entry
<
String
,
String
>
entry
:
headerParam
.
entrySet
())
{
httpPost
.
setHeader
(
entry
.
getKey
(),
entry
.
getValue
());
}
return
HttpUtil
.
post
(
httpPost
,
this
.
responseCharset
);
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
"post http request error :"
+
url
,
e
);
}
}
/**
* 发送post请求,返回原始字符串
*
* @return
* @throws Exception
*/
public
String
postAsString
(
int
timeout
)
{
try
{
HttpPost
httpPost
=
new
HttpPost
(
url
);
httpPost
.
setEntity
(
explicitEntity
!=
null
?
explicitEntity:
entityType
.
createPostEntity
(
this
));
// httpPost.addHeader("Content-Type","application/json");
if
(
this
.
contentType
!=
null
)
{
httpPost
.
addHeader
(
"Content-type"
,
contentType
);
}
for
(
Map
.
Entry
<
String
,
String
>
entry
:
headerParam
.
entrySet
())
{
httpPost
.
setHeader
(
entry
.
getKey
(),
entry
.
getValue
());
}
RequestConfig
requestConfig
=
RequestConfig
.
custom
()
.
setConnectionRequestTimeout
(
5000
)
//连接池中取出连接的超时时间
.
setSocketTimeout
(
timeout
)
//服务器获取响应数据需要等待的时间
.
setConnectTimeout
(
10000
)
//创建与服务器的socket连接时间
.
setExpectContinueEnabled
(
false
)
.
build
();
httpPost
.
setConfig
(
requestConfig
);
return
HttpUtil
.
post
(
httpPost
,
this
.
responseCharset
);
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
"post http request error :"
+
url
,
e
);
}
}
/**
* 发送返回二进制数组的请求
* @return
*/
public
byte
[]
postAsBinary
()
{
try
{
HttpPost
httpPost
=
new
HttpPost
(
url
);
httpPost
.
setEntity
(
explicitEntity
!=
null
?
explicitEntity:
entityType
.
createPostEntity
(
this
));
for
(
Map
.
Entry
<
String
,
String
>
entry
:
headerParam
.
entrySet
())
{
httpPost
.
setHeader
(
entry
.
getKey
(),
entry
.
getValue
());
}
return
HttpUtil
.
binaryPost
(
httpPost
);
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
"post http request error :"
+
url
,
e
);
}
}
/**
* 发送get请求
*
* @throws Exception
*/
public
String
getAsString
()
{
try
{
StringBuilder
urlBuilder
=
new
StringBuilder
(
url
);
if
(!
requestParam
.
isEmpty
())
{
List
<
NameValuePair
>
uriParam
=
new
ArrayList
<>();
for
(
Map
.
Entry
<
String
,
Object
>
entry
:
requestParam
.
entrySet
())
{
if
(
entry
.
getValue
()!=
null
)
{
uriParam
.
add
(
new
BasicNameValuePair
(
entry
.
getKey
(),
entry
.
getValue
().
toString
()));
}
}
urlBuilder
.
append
(
"?"
).
append
(
URLEncodedUtils
.
format
(
uriParam
,
Consts
.
UTF_8
));
}
URI
uri
=
new
URI
(
urlBuilder
.
toString
());
HttpGet
httpGet
=
new
HttpGet
(
uri
);
for
(
Map
.
Entry
<
String
,
String
>
entry
:
headerParam
.
entrySet
())
{
httpGet
.
setHeader
(
entry
.
getKey
(),
entry
.
getValue
());
}
// byte[] bytes = HttpUtil.binaryGet(httpGet);
// return new String(bytes, this.responseCharset);
return
HttpUtil
.
get
(
httpGet
,
this
.
responseCharset
);
// return HttpUtil.get(httpGet);
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
"post http request error :"
+
url
,
e
);
}
}
/**
* 发送返回JSON对象的请求
* @return
*/
public
JSONObject
getAsJson
(){
return
JSON
.
parseObject
(
getAsString
(),
Feature
.
InternFieldNames
);
}
public
static
void
main
(
String
[]
args
)
{
try
{
// System.out.println(HttpRequest.newRequest("http://www.huihui.cn/").postAsString());
// HttpRequest ht=HttpRequest.newJSONBodyRequest("https://api.intellicredit.cn/id_check");
// ht.addParam("access_token", "_RH4Us1yseJfAY3_nsku");
// JSONArray ja=new JSONArray();
// JSONObject jo =new JSONObject();
// jo.put("name", "");
// jo.put("id_number", "");
// jo.put("sub_client", "");
// jo.put("type", "");
// jo.put("location", "");
// ja.add(jo);
// ht.addParam("query", ja);
// System.out.println(JSON.toJSONString(ht.requestParam));
// System.out.println(ht.postAsString());
// Map<String, Object> param = new HashMap<>();
// param.put("id", 123212);
// param.put("service", "hehe");
//
// Map<String, Object> shit = new HashMap<>();
// shit.put("code", 123);
// param.put("data", shit);
// System.out.println(JSON.toJSONString(param));
HttpRequest
ht
=
HttpRequest
.
newRequest
(
"http://172.24.132.45:20001/kowlone-provider-user/simple/1"
);
System
.
out
.
println
(
ht
.
postAsString
(
35000
));
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
public
static
String
getClientIp
(
HttpServletRequest
request
)
{
String
ip
=
request
.
getHeader
(
"x-forwarded-for"
);
if
(
ip
==
null
||
ip
.
length
()
==
0
||
"unknown"
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
"Proxy-Client-IP"
);
}
if
(
ip
==
null
||
ip
.
length
()
==
0
||
"unknown"
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
"WL-Proxy-Client-IP"
);
}
if
(
ip
==
null
||
ip
.
length
()
==
0
||
"unknown"
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getRemoteAddr
();
}
return
ip
;
}
}
liquidnet-bus-common/liquidnet-common-base/src/main/java/com/liquidnet/commons/lang/util/HttpUtil.java
View file @
502d588b
/**
* $Id$
* Copyright(C) 2015-2020 kowlone - internet center, All Rights Reserved.
*/
package
com
.
liquidnet
.
commons
.
lang
.
util
;
package
com
.
liquidnet
.
commons
.
lang
.
util
;
import
org.apache.http.Consts
;
import
org.springframework.http.*
;
import
org.apache.http.HttpEntity
;
import
org.springframework.util.LinkedMultiValueMap
;
import
org.apache.http.HttpResponse
;
import
org.springframework.util.MultiValueMap
;
import
org.apache.http.NameValuePair
;
import
org.springframework.web.client.RestTemplate
;
import
org.apache.http.client.ClientProtocolException
;
import
org.apache.http.client.ResponseHandler
;
import
org.apache.http.client.config.RequestConfig
;
import
org.apache.http.client.entity.UrlEncodedFormEntity
;
import
org.apache.http.client.methods.CloseableHttpResponse
;
import
org.apache.http.client.methods.HttpGet
;
import
org.apache.http.client.methods.HttpPost
;
import
org.apache.http.client.utils.URIBuilder
;
import
org.apache.http.config.ConnectionConfig
;
import
org.apache.http.config.MessageConstraints
;
import
org.apache.http.conn.ssl.SSLConnectionSocketFactory
;
import
org.apache.http.conn.ssl.SSLContextBuilder
;
import
org.apache.http.conn.ssl.TrustStrategy
;
import
org.apache.http.impl.client.CloseableHttpClient
;
import
org.apache.http.impl.client.HttpClients
;
import
org.apache.http.impl.conn.PoolingHttpClientConnectionManager
;
import
org.apache.http.util.EntityUtils
;
import
javax.net.ssl.SSLContext
;
public
class
HttpUtil
{
import
java.io.IOException
;
/**
import
java.net.URISyntaxException
;
* get请求
import
java.nio.charset.Charset
;
*
import
java.nio.charset.CodingErrorAction
;
* @param url
import
java.security.KeyManagementException
;
* @param params 请求参数
import
java.security.KeyStoreException
;
* @return
import
java.security.NoSuchAlgorithmException
;
*/
import
java.security.cert.CertificateException
;
public
static
String
get
(
String
url
,
MultiValueMap
<
String
,
String
>
params
)
{
import
java.security.cert.X509Certificate
;
return
get
(
url
,
params
,
null
);
import
java.util.List
;
/**
* HTTP工具类
*
* @author <a href="kowlone2006@163.com">kowlone</a>
* @version 1.0 2012-5-4 下午2:15:40
*/
public
abstract
class
HttpUtil
{
private
static
CloseableHttpClient
httpclient
=
null
;
private
static
CloseableHttpClient
httpsClient
=
null
;
static
{
try
{
RequestConfig
requestConfig
=
RequestConfig
.
custom
()
.
setConnectionRequestTimeout
(
5000
)
.
setSocketTimeout
(
30000
)
.
setConnectTimeout
(
30000
)
.
setExpectContinueEnabled
(
false
)
.
build
();
MessageConstraints
messageConstraints
=
MessageConstraints
.
custom
()
.
setMaxHeaderCount
(
200
)
.
setMaxLineLength
(
2000
)
.
build
();
ConnectionConfig
connectionConfig
=
ConnectionConfig
.
custom
()
.
setMalformedInputAction
(
CodingErrorAction
.
IGNORE
)
.
setUnmappableInputAction
(
CodingErrorAction
.
IGNORE
)
.
setCharset
(
Consts
.
UTF_8
)
.
setMessageConstraints
(
messageConstraints
)
.
build
();
PoolingHttpClientConnectionManager
connectionManager
=
new
PoolingHttpClientConnectionManager
();
connectionManager
.
setDefaultConnectionConfig
(
connectionConfig
);
connectionManager
.
setMaxTotal
(
100
);
// 连接池最大并发连接数
connectionManager
.
setDefaultMaxPerRoute
(
10
);
// 单路由最大并发数
httpclient
=
HttpClients
.
custom
().
setConnectionManager
(
connectionManager
).
setDefaultRequestConfig
(
requestConfig
).
build
();
try
{
SSLContext
sslContext
=
new
SSLContextBuilder
().
loadTrustMaterial
(
null
,
new
TrustStrategy
()
{
//信任所有
@Override
public
boolean
isTrusted
(
X509Certificate
[]
chain
,
String
authType
)
throws
CertificateException
{
return
true
;
}
}).
build
();
RequestConfig
requestConfigHttps
=
RequestConfig
.
custom
()
.
setConnectionRequestTimeout
(
5000
)
.
setSocketTimeout
(
30000
)
.
setConnectTimeout
(
30000
)
.
setExpectContinueEnabled
(
false
)
.
build
();
MessageConstraints
messageConstraintsHttps
=
MessageConstraints
.
custom
()
.
setMaxHeaderCount
(
200
)
.
setMaxLineLength
(
2000
)
.
build
();
ConnectionConfig
connectionConfigHttps
=
ConnectionConfig
.
custom
()
.
setMalformedInputAction
(
CodingErrorAction
.
IGNORE
)
.
setUnmappableInputAction
(
CodingErrorAction
.
IGNORE
)
.
setCharset
(
Consts
.
UTF_8
)
.
setMessageConstraints
(
messageConstraintsHttps
)
.
build
();
PoolingHttpClientConnectionManager
connectionManagerHttps
=
new
PoolingHttpClientConnectionManager
();
connectionManager
.
setDefaultConnectionConfig
(
connectionConfigHttps
);
connectionManager
.
setMaxTotal
(
100
);
// 连接池最大并发连接数
connectionManager
.
setDefaultMaxPerRoute
(
10
);
// 单路由最大并发数
SSLConnectionSocketFactory
sslsf
=
new
SSLConnectionSocketFactory
(
sslContext
);
httpsClient
=
HttpClients
.
custom
().
setSSLSocketFactory
(
sslsf
).
setConnectionManager
(
connectionManagerHttps
).
setDefaultRequestConfig
(
requestConfigHttps
).
build
();
}
catch
(
KeyManagementException
|
NoSuchAlgorithmException
|
KeyStoreException
e
)
{
e
.
printStackTrace
();
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
//logger.error("create httpUtil error", e);
}
}
public
static
String
get
(
String
scheme
,
String
host
,
String
path
,
List
<
NameValuePair
>
uriParam
,
List
<
NameValuePair
>
header
,
Charset
charset
)
throws
IOException
{
URIBuilder
uriBuilder
=
new
URIBuilder
().
setScheme
(
scheme
).
setHost
(
host
).
setPath
(
path
);
if
(
uriParam
!=
null
)
{
uriBuilder
.
setParameters
(
uriParam
);
}
try
{
HttpGet
httpget
=
new
HttpGet
(
uriBuilder
.
build
());
if
(
header
!=
null
)
{
for
(
NameValuePair
nvp
:
header
)
{
httpget
.
setHeader
(
nvp
.
getName
(),
nvp
.
getValue
());
}
}
ResponseHandler
<
String
>
responseHandler
=
getResponseHandler
(
charset
,
null
);
return
httpclient
.
execute
(
httpget
,
responseHandler
);
}
catch
(
URISyntaxException
e
)
{
throw
new
RuntimeException
(
e
);
}
}
public
static
String
get
(
String
scheme
,
String
host
,
String
path
,
List
<
NameValuePair
>
uriParam
,
List
<
NameValuePair
>
header
)
throws
IOException
{
return
get
(
scheme
,
host
,
path
,
uriParam
,
header
,
Consts
.
UTF_8
);
}
public
static
String
get
(
HttpGet
httpGet
,
Charset
charset
)
throws
IOException
{
ResponseHandler
<
String
>
responseHandler
=
getResponseHandler
(
charset
,
null
);
// logger.debug("get data is :{}", httpGet.toString());
return
httpclient
.
execute
(
httpGet
,
responseHandler
);
}
}
public
static
String
get
(
HttpGet
httpGet
)
throws
IOException
{
/**
return
get
(
httpGet
,
Consts
.
UTF_8
);
* get请求
*
* @param url
* @param params 请求参数
* @param headers 请求头
* @return
*/
public
static
String
get
(
String
url
,
MultiValueMap
<
String
,
String
>
params
,
MultiValueMap
<
String
,
String
>
headers
)
{
return
request
(
url
,
params
,
headers
,
HttpMethod
.
GET
);
}
}
public
static
byte
[]
binaryGet
(
HttpGet
httpGet
)
throws
IOException
{
/**
CloseableHttpResponse
response
=
httpclient
.
execute
(
httpGet
);
* post请求
return
EntityUtils
.
toByteArray
(
response
.
getEntity
());
*
* @param url
* @param params 请求参数
* @return
*/
public
static
String
post
(
String
url
,
MultiValueMap
<
String
,
String
>
params
)
{
return
post
(
url
,
params
,
null
);
}
}
public
static
String
post
(
HttpPost
httpPost
,
Charset
charset
)
throws
IOException
{
/**
ResponseHandler
<
String
>
responseHandler
=
getResponseHandler
(
charset
,
null
);
* post请求
return
httpclient
.
execute
(
httpPost
,
responseHandler
);
*
* @param url
* @param params 请求参数
* @param headers 请求头
* @return
*/
public
static
String
post
(
String
url
,
MultiValueMap
<
String
,
String
>
params
,
MultiValueMap
<
String
,
String
>
headers
)
{
return
request
(
url
,
params
,
headers
,
HttpMethod
.
POST
);
}
}
public
static
String
post
(
HttpPost
httpPost
)
throws
IOException
{
/**
return
post
(
httpPost
,
Consts
.
UTF_8
);
* put请求
*
* @param url
* @param params 请求参数
* @return
*/
public
static
String
put
(
String
url
,
MultiValueMap
<
String
,
String
>
params
)
{
return
put
(
url
,
params
,
null
);
}
}
public
static
String
post
(
String
uri
,
List
<?
extends
NameValuePair
>
params
,
final
OKResponseHandler
okResponseHandler
)
/**
throws
IOException
{
* put请求
HttpPost
post
=
new
HttpPost
(
uri
);
*
post
.
setEntity
(
new
UrlEncodedFormEntity
(
params
,
Consts
.
UTF_8
));
* @param url
return
httpclient
.
execute
(
post
,
getResponseHandler
(
Consts
.
UTF_8
,
okResponseHandler
));
* @param params 请求参数
* @param headers 请求头
* @return
*/
public
static
String
put
(
String
url
,
MultiValueMap
<
String
,
String
>
params
,
MultiValueMap
<
String
,
String
>
headers
)
{
return
request
(
url
,
params
,
headers
,
HttpMethod
.
PUT
);
}
}
public
static
String
postHttps
(
String
uri
,
List
<?
extends
NameValuePair
>
params
,
final
OKResponseHandler
okResponseHandler
)
/**
throws
IOException
{
* delete请求
HttpPost
post
=
new
HttpPost
(
uri
);
*
post
.
setEntity
(
new
UrlEncodedFormEntity
(
params
,
Consts
.
UTF_8
));
* @param url
return
httpsClient
.
execute
(
post
,
getResponseHandler
(
Consts
.
UTF_8
,
okResponseHandler
));
* @param params 请求参数
* @return
*/
public
static
String
delete
(
String
url
,
MultiValueMap
<
String
,
String
>
params
)
{
return
delete
(
url
,
params
,
null
);
}
}
public
static
byte
[]
binaryPost
(
HttpPost
httpPost
)
throws
IOException
{
/**
CloseableHttpResponse
response
=
httpclient
.
execute
(
httpPost
);
* delete请求
*
return
EntityUtils
.
toByteArray
(
response
.
getEntity
());
* @param url
* @param params 请求参数
* @param headers 请求头
* @return
*/
public
static
String
delete
(
String
url
,
MultiValueMap
<
String
,
String
>
params
,
MultiValueMap
<
String
,
String
>
headers
)
{
return
request
(
url
,
params
,
headers
,
HttpMethod
.
DELETE
);
}
}
/**
/**
*
将原来get方法中ResponseHandler提成方法,由get/post共用
*
表单请求
*
*
* @param url
* @param params 请求参数
* @param headers 请求头
* @param method 请求方式
* @return
* @return
*/
*/
private
static
ResponseHandler
<
String
>
getResponseHandler
(
Charset
charset
,
OKResponseHandler
okResponseHandler
)
{
public
static
String
request
(
String
url
,
MultiValueMap
<
String
,
String
>
params
,
MultiValueMap
<
String
,
String
>
headers
,
HttpMethod
method
)
{
ResponseHandler
<
String
>
responseHandler
=
response
->
{
if
(
params
==
null
)
{
params
=
new
LinkedMultiValueMap
<>();
int
status
=
response
.
getStatusLine
().
getStatusCode
();
}
if
(
status
>=
200
&&
status
<
300
)
{
return
request
(
url
,
params
,
headers
,
method
,
MediaType
.
APPLICATION_FORM_URLENCODED
);
HttpEntity
entity
=
response
.
getEntity
();
if
(
okResponseHandler
!=
null
)
{
okResponseHandler
.
handler
(
response
);
}
return
entity
!=
null
?
EntityUtils
.
toString
(
entity
,
charset
)
:
null
;
}
else
{
//logger.error(EntityUtils.toString(response.getEntity()));
throw
new
ClientProtocolException
(
"Unexpected response status: "
+
status
);
}
};
return
responseHandler
;
}
}
/**
public
interface
OKResponseHandler
{
* http请求
void
handler
(
HttpResponse
response
);
*
* @param url
* @param params 请求参数
* @param headers 请求头
* @param method 请求方式
* @param mediaType 参数类型
* @return
*/
public
static
String
request
(
String
url
,
Object
params
,
MultiValueMap
<
String
,
String
>
headers
,
HttpMethod
method
,
MediaType
mediaType
)
{
if
(
url
==
null
||
url
.
trim
().
isEmpty
())
{
return
null
;
}
RestTemplate
client
=
new
RestTemplate
();
// header
HttpHeaders
httpHeaders
=
new
HttpHeaders
();
if
(
headers
!=
null
)
{
httpHeaders
.
addAll
(
headers
);
}
// 提交方式:表单、json
httpHeaders
.
setContentType
(
mediaType
);
HttpEntity
<
Object
>
httpEntity
=
new
HttpEntity
(
params
,
httpHeaders
);
ResponseEntity
<
String
>
response
=
client
.
exchange
(
url
,
method
,
httpEntity
,
String
.
class
);
return
response
.
getBody
();
}
}
}
}
liquidnet-bus-config/liquidnet-config/application-dev.yml
View file @
502d588b
...
@@ -5,6 +5,9 @@ liquidnet:
...
@@ -5,6 +5,9 @@ liquidnet:
security
:
security
:
username
:
user
username
:
user
password
:
user123
password
:
user123
jwt
:
expire-time
:
43200
secret
:
qZHglvNP0n0aOOckHiQXq5JMD468J4eG
mysql
:
mysql
:
urlHostAndPort
:
39.106.122.201:3308
urlHostAndPort
:
39.106.122.201:3308
username
:
testmall
username
:
testmall
...
...
liquidnet-bus-config/liquidnet-config/liquidnet-service-adam-dev.yml
View file @
502d588b
...
@@ -20,6 +20,9 @@ liquidnet:
...
@@ -20,6 +20,9 @@ liquidnet:
database-name
:
ln_adam
database-name
:
ln_adam
mybatis-plus
:
mybatis-plus
:
log-level
:
debug
log-level
:
debug
aliyun
:
accessKeyId
:
accessSecret
:
# conf:
# conf:
# webUrl: ${liquidnet.service.adam.conf.webUrl}
# webUrl: ${liquidnet.service.adam.conf.webUrl}
# user:
# user:
...
...
liquidnet-bus-config/liquidnet-config/liquidnet-support-zuul.yml
View file @
502d588b
...
@@ -4,7 +4,7 @@ server:
...
@@ -4,7 +4,7 @@ server:
uri-encoding
:
UTF-8
uri-encoding
:
UTF-8
servlet
:
servlet
:
context-path
:
context-path
:
# context-path: ${liquidnet.info.context}
# context-path: ${liquidnet.info.context}
# server:
# server:
# tomcat:
# tomcat:
# accept-count: 500
# accept-count: 500
...
@@ -37,7 +37,9 @@ spring:
...
@@ -37,7 +37,9 @@ spring:
application
:
application
:
name
:
${liquidnet.info.name}
name
:
${liquidnet.info.name}
autoconfigure
:
autoconfigure
:
exclude
:
org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
exclude
:
-
org.springframework.cloud.bus.BusAutoConfiguration
-
org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
profiles
:
profiles
:
include
:
common-service
include
:
common-service
# cloud:
# cloud:
...
@@ -76,12 +78,18 @@ zuul:
...
@@ -76,12 +78,18 @@ zuul:
# pre: # 类型
# pre: # 类型
# disable: true
# disable: true
# -----------------------------------------------------------
# -----------------------------------------------------------
common
:
global
:
login
:
login
:
url
:
/adam/login
url
:
/adam/login/sms,
exclude
:
/adam/login/mobile,
auth
:
/adam/login/tpa,
url
:
/adam/login,/adam/v2/api-docs,/kylin/v2/api-docs
exclude
:
url
:
/adam/v2/api-docs-ext,
/kylin/v2/api-docs-ext,
/adam/send,
/adam/login/sms,
/adam/login/mobile,
/adam/login/tpa,
# -----------------------------------------------------------
# -----------------------------------------------------------
#解决错误 com.netflix.client.ClientException: Load balancer does not have available server for client:panfeng-item-service
#解决错误 com.netflix.client.ClientException: Load balancer does not have available server for client:panfeng-item-service
#这样就可以即指定path与URL,又不破坏Zuul的Hystrix与Ribbon特性了。
#这样就可以即指定path与URL,又不破坏Zuul的Hystrix与Ribbon特性了。
...
...
liquidnet-bus-service/liquidnet-api-feign/liquidnet-api-feign-adam/src/main/java/com/liquidnet/service/feign/adam/api/FeignAdam
Auth
Client.java
→
liquidnet-bus-service/liquidnet-api-feign/liquidnet-api-feign-adam/src/main/java/com/liquidnet/service/feign/adam/api/FeignAdam
Login
Client.java
View file @
502d588b
package
com
.
liquidnet
.
service
.
feign
.
adam
.
api
;
package
com
.
liquidnet
.
service
.
feign
.
adam
.
api
;
import
com.liquidnet.service.ResponseDto
;
import
com.liquidnet.service.ResponseDto
;
import
com.liquidnet.service.adam.dto.AdamThirdPartParam
;
import
com.liquidnet.service.adam.dto.vo.AdamLoginInfoVo
;
import
feign.hystrix.FallbackFactory
;
import
feign.hystrix.FallbackFactory
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RequestParam
;
@Component
@Component
@FeignClient
(
name
=
"liquidnet-service-adam"
,
@FeignClient
(
name
=
"liquidnet-service-adam"
,
contextId
=
"
sev-adam-auth
"
,
path
=
""
,
contextId
=
""
,
path
=
""
,
fallback
=
FallbackFactory
.
Default
.
class
)
fallback
=
FallbackFactory
.
Default
.
class
)
public
interface
FeignAdam
Auth
Client
{
public
interface
FeignAdam
Login
Client
{
@PostMapping
(
value
=
"login"
)
@PostMapping
(
value
=
"login
/sms
"
)
ResponseDto
<
Object
>
loginByPwd
(
@RequestParam
String
mobile
,
@RequestParam
String
password
);
ResponseDto
<
AdamLoginInfoVo
>
loginBySms
(
@RequestParam
String
mobile
,
@RequestParam
String
code
);
@PostMapping
(
value
=
{
"login/mobile"
})
ResponseDto
<
AdamLoginInfoVo
>
loginByMobile
(
@RequestParam
String
accessToken
);
@PostMapping
(
value
=
{
"login/tpa"
})
ResponseDto
<
AdamLoginInfoVo
>
loginByTpa
(
@RequestBody
AdamThirdPartParam
parameter
);
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/AdamThirdPartParam.java
0 → 100644
View file @
502d588b
package
com
.
liquidnet
.
service
.
adam
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
@ApiModel
(
value
=
"AdamThirdPartParam"
,
description
=
"第三方账号登录注册入参"
)
@Data
public
class
AdamThirdPartParam
implements
Serializable
{
private
static
final
long
serialVersionUID
=
675588088506034208L
;
@ApiModelProperty
(
position
=
11
,
required
=
true
,
value
=
"第三方OPENID[64]"
)
private
String
openId
;
@ApiModelProperty
(
position
=
12
,
required
=
true
,
value
=
"昵称[64]"
,
example
=
"Swagger"
)
private
String
nickName
;
@ApiModelProperty
(
position
=
13
,
required
=
true
,
value
=
"头像[255]"
,
example
=
"http://pic.zhengzai.tv/default/avatar.png"
)
private
String
avatar
;
@ApiModelProperty
(
position
=
14
,
required
=
true
,
value
=
"平台类型[255]"
,
allowableValues
=
"WEIBO,WECHAT,QQ"
)
private
String
platform
;
@ApiModelProperty
(
position
=
15
,
required
=
false
,
value
=
"手机号[新账号时必传]"
,
example
=
"13111111111"
)
private
String
mobile
;
@ApiModelProperty
(
position
=
16
,
required
=
false
,
value
=
"验证码[新账号时必传]"
,
example
=
"111111"
)
private
String
code
;
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/vo/AdamLoginInfoVo.java
0 → 100644
View file @
502d588b
package
com
.
liquidnet
.
service
.
adam
.
dto
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.List
;
@ApiModel
(
value
=
"AdamLoginInfoVo"
,
description
=
"登录成功响应数据"
)
@Data
public
class
AdamLoginInfoVo
implements
Serializable
,
Cloneable
{
private
static
final
long
serialVersionUID
=
4209754800686327524L
;
@ApiModelProperty
(
position
=
11
,
value
=
"TOKEN"
)
private
String
token
;
@ApiModelProperty
(
position
=
12
,
value
=
"用户信息"
)
private
AdamUserInfoVo
userInfo
;
@ApiModelProperty
(
position
=
13
,
value
=
"实名信息"
)
private
AdamRealInfoVo
realNameInfo
;
@ApiModelProperty
(
position
=
14
,
value
=
"用户第三方账号信息"
)
private
List
<
AdamThirdPartInfoVo
>
thirdPartInfo
;
@ApiModelProperty
(
position
=
15
,
value
=
"会员信息 -> 待定"
)
private
Object
memberInfo
;
private
static
final
AdamLoginInfoVo
obj
=
new
AdamLoginInfoVo
();
public
static
AdamLoginInfoVo
getNew
()
{
try
{
return
(
AdamLoginInfoVo
)
obj
.
clone
();
}
catch
(
CloneNotSupportedException
e
)
{
e
.
printStackTrace
();
}
return
new
AdamLoginInfoVo
();
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/vo/AdamRealInfoVo.java
0 → 100644
View file @
502d588b
package
com
.
liquidnet
.
service
.
adam
.
dto
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
@ApiModel
(
value
=
"AdamRealInfoVo"
,
description
=
"实名信息"
)
@Data
public
class
AdamRealInfoVo
implements
Serializable
,
Cloneable
{
private
static
final
long
serialVersionUID
=
-
3469256375584132928L
;
@ApiModelProperty
(
position
=
11
,
value
=
"姓名[30]"
)
private
String
name
;
@ApiModelProperty
(
position
=
12
,
value
=
"证件号[50]"
)
private
String
idCard
;
@ApiModelProperty
(
position
=
13
,
value
=
"状态:1-正常"
)
private
String
state
;
private
static
final
AdamRealInfoVo
obj
=
new
AdamRealInfoVo
();
public
static
AdamRealInfoVo
getNew
()
{
try
{
return
(
AdamRealInfoVo
)
obj
.
clone
();
}
catch
(
CloneNotSupportedException
e
)
{
e
.
printStackTrace
();
}
return
new
AdamRealInfoVo
();
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/vo/AdamThirdPartInfoVo.java
View file @
502d588b
...
@@ -8,8 +8,6 @@ import lombok.Data;
...
@@ -8,8 +8,6 @@ import lombok.Data;
@Data
@Data
public
class
AdamThirdPartInfoVo
implements
java
.
io
.
Serializable
,
Cloneable
{
public
class
AdamThirdPartInfoVo
implements
java
.
io
.
Serializable
,
Cloneable
{
private
static
final
long
serialVersionUID
=
-
3239086191919676121L
;
private
static
final
long
serialVersionUID
=
-
3239086191919676121L
;
@ApiModelProperty
(
position
=
10
,
value
=
"Third Party ID[64]"
)
private
String
thirdPartyId
;
@ApiModelProperty
(
position
=
11
,
value
=
"用户ID[64]"
)
@ApiModelProperty
(
position
=
11
,
value
=
"用户ID[64]"
)
private
String
uid
;
private
String
uid
;
@ApiModelProperty
(
position
=
12
,
value
=
"第三方ID[64]"
)
@ApiModelProperty
(
position
=
12
,
value
=
"第三方ID[64]"
)
...
@@ -18,10 +16,10 @@ public class AdamThirdPartInfoVo implements java.io.Serializable, Cloneable {
...
@@ -18,10 +16,10 @@ public class AdamThirdPartInfoVo implements java.io.Serializable, Cloneable {
private
String
nickname
;
private
String
nickname
;
@ApiModelProperty
(
position
=
14
,
value
=
"头像[255]"
)
@ApiModelProperty
(
position
=
14
,
value
=
"头像[255]"
)
private
String
avatar
;
private
String
avatar
;
@ApiModelProperty
(
position
=
1
4
,
value
=
"平台类型[20]"
)
@ApiModelProperty
(
position
=
1
5
,
value
=
"平台类型[20]"
)
private
String
platform
;
private
String
platform
;
@ApiModelProperty
(
position
=
1
4
,
value
=
"状态[1-绑定,2-解绑]"
)
@ApiModelProperty
(
position
=
1
6
,
value
=
"状态[1-绑定,2-解绑]"
)
private
int
state
;
private
Integer
state
;
private
static
final
AdamThirdPartInfoVo
obj
=
new
AdamThirdPartInfoVo
();
private
static
final
AdamThirdPartInfoVo
obj
=
new
AdamThirdPartInfoVo
();
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/vo/AdamUserInfoVo.java
View file @
502d588b
...
@@ -10,26 +10,32 @@ public class AdamUserInfoVo implements java.io.Serializable, Cloneable {
...
@@ -10,26 +10,32 @@ public class AdamUserInfoVo implements java.io.Serializable, Cloneable {
private
static
final
long
serialVersionUID
=
8479869354894030303L
;
private
static
final
long
serialVersionUID
=
8479869354894030303L
;
@ApiModelProperty
(
position
=
10
,
value
=
"用户ID[64]"
)
@ApiModelProperty
(
position
=
10
,
value
=
"用户ID[64]"
)
private
String
uid
;
private
String
uid
;
@ApiModelProperty
(
position
=
11
,
value
=
"昵称[32]"
)
@ApiModelProperty
(
position
=
11
,
value
=
"手机号[20]"
)
private
String
username
;
private
String
mobile
;
@ApiModelProperty
(
position
=
12
,
value
=
"性别[32]"
)
@ApiModelProperty
(
position
=
12
,
value
=
"昵称[32]"
)
private
String
nickName
;
@ApiModelProperty
(
position
=
13
,
value
=
"状态[1-正常,2-注销]"
)
private
Integer
state
;
@ApiModelProperty
(
position
=
14
,
value
=
"性别[32]"
)
private
String
sex
;
private
String
sex
;
@ApiModelProperty
(
position
=
1
3
,
value
=
"生日[YYYY-MM-DD]"
)
@ApiModelProperty
(
position
=
1
5
,
value
=
"生日[YYYY-MM-DD]"
)
private
String
birthday
;
private
String
birthday
;
@ApiModelProperty
(
position
=
1
4
,
value
=
"常住地/区域"
)
@ApiModelProperty
(
position
=
1
6
,
value
=
"常住地/区域"
)
private
String
area
;
private
String
area
;
@ApiModelProperty
(
position
=
1
5
,
value
=
"个性签名"
)
@ApiModelProperty
(
position
=
1
7
,
value
=
"个性签名"
)
private
String
signature
;
private
String
signature
;
@ApiModelProperty
(
position
=
1
6
,
value
=
"头像"
)
@ApiModelProperty
(
position
=
1
8
,
value
=
"头像"
)
private
String
avatar
;
private
String
avatar
;
@ApiModelProperty
(
position
=
1
7
,
value
=
"背景图"
)
@ApiModelProperty
(
position
=
1
9
,
value
=
"背景图"
)
private
String
background
;
private
String
background
;
@ApiModelProperty
(
position
=
18
,
value
=
"标签"
)
@ApiModelProperty
(
position
=
20
,
value
=
"标签"
)
private
String
tagMe
;
private
String
tagMe
;
@ApiModelProperty
(
position
=
19
,
value
=
""
)
@ApiModelProperty
(
position
=
21
,
value
=
"注册时间"
)
private
String
rongCloudToken
;
private
String
createAt
;
// @ApiModelProperty(position = 20, value = "隐私配置")
@ApiModelProperty
(
position
=
22
,
value
=
"是否完善信息[0-未完善,1-已完善]"
)
// private
private
Integer
isComplete
;
// @ApiModelProperty(position = 23, value = "")
// private String rongCloudToken;
private
static
final
AdamUserInfoVo
obj
=
new
AdamUserInfoVo
();
private
static
final
AdamUserInfoVo
obj
=
new
AdamUserInfoVo
();
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/service/IAdamRealNameService.java
View file @
502d588b
package
com
.
liquidnet
.
service
.
adam
.
service
;
package
com
.
liquidnet
.
service
.
adam
.
service
;
import
com.liquidnet.service.adam.dto.vo.AdamRealInfoVo
;
import
com.liquidnet.service.adam.entity.AdamRealName
;
import
com.liquidnet.service.adam.entity.AdamRealName
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
...
@@ -13,4 +14,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
...
@@ -13,4 +14,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
*/
public
interface
IAdamRealNameService
extends
IService
<
AdamRealName
>
{
public
interface
IAdamRealNameService
extends
IService
<
AdamRealName
>
{
AdamRealInfoVo
queryByUid
(
String
uid
);
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/service/IAdamThirdPartyService.java
View file @
502d588b
package
com
.
liquidnet
.
service
.
adam
.
service
;
package
com
.
liquidnet
.
service
.
adam
.
service
;
import
com.liquidnet.service.adam.dto.vo.AdamThirdPartInfoVo
;
import
com.liquidnet.service.adam.entity.AdamThirdParty
;
import
com.liquidnet.service.adam.entity.AdamThirdParty
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
java.util.List
;
/**
/**
* <p>
* <p>
* 用户第三方账号信息 服务类
* 用户第三方账号信息 服务类
...
@@ -13,4 +16,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
...
@@ -13,4 +16,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
*/
public
interface
IAdamThirdPartyService
extends
IService
<
AdamThirdParty
>
{
public
interface
IAdamThirdPartyService
extends
IService
<
AdamThirdParty
>
{
List
<
AdamThirdPartInfoVo
>
queryByUid
(
String
uid
);
AdamThirdPartInfoVo
queryByOpenId
(
String
openId
,
String
platform
);
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/service/IAdamUserInfoService.java
View file @
502d588b
package
com
.
liquidnet
.
service
.
adam
.
service
;
package
com
.
liquidnet
.
service
.
adam
.
service
;
import
com.liquidnet.service.adam.dto.vo.AdamUserInfoVo
;
import
com.liquidnet.service.adam.entity.AdamUserInfo
;
import
com.liquidnet.service.adam.entity.AdamUserInfo
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
/**
/**
* <p>
* <p>
*
正在现场
用户信息 服务类
* 用户信息 服务类
* </p>
* </p>
*
*
* @author liquidnet
* @author liquidnet
...
@@ -13,4 +14,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
...
@@ -13,4 +14,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
*/
public
interface
IAdamUserInfoService
extends
IService
<
AdamUserInfo
>
{
public
interface
IAdamUserInfoService
extends
IService
<
AdamUserInfo
>
{
void
edit
(
AdamUserInfoVo
userInfoVo
);
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/service/IAdamUserService.java
View file @
502d588b
package
com
.
liquidnet
.
service
.
adam
.
service
;
package
com
.
liquidnet
.
service
.
adam
.
service
;
import
com.liquidnet.service.adam.dto.AdamThirdPartParam
;
import
com.liquidnet.service.adam.dto.vo.AdamUserInfoVo
;
import
com.liquidnet.service.adam.entity.AdamUser
;
import
com.liquidnet.service.adam.entity.AdamUser
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
...
@@ -13,4 +15,25 @@ import com.baomidou.mybatisplus.extension.service.IService;
...
@@ -13,4 +15,25 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
*/
public
interface
IAdamUserService
extends
IService
<
AdamUser
>
{
public
interface
IAdamUserService
extends
IService
<
AdamUser
>
{
String
queryUidByRedis
(
String
mobile
);
String
queryUidByRedis
(
String
openId
,
String
platform
);
AdamUserInfoVo
queryByUid
(
String
uid
);
/**
* 手机号注册
*
* @param mobile
* @return AdamUserInfoVo
*/
AdamUserInfoVo
register
(
String
mobile
);
/**
* 第三方账号注册
*
* @param thirdPartParam
* @return AdamUserInfoVo
*/
AdamUserInfoVo
register
(
AdamThirdPartParam
thirdPartParam
);
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/docu/db_ln_adam_initialdata.sql
View file @
502d588b
...
@@ -55,7 +55,7 @@ create table adam_user
...
@@ -55,7 +55,7 @@ create table adam_user
(
(
mid
int
unsigned
auto_increment
primary
key
,
mid
int
unsigned
auto_increment
primary
key
,
uid
varchar
(
64
)
not
null
,
uid
varchar
(
64
)
not
null
,
mobile
varchar
(
16
)
not
null
,
mobile
varchar
(
30
)
not
null
,
passwd
varchar
(
64
),
passwd
varchar
(
64
),
pay_code
varchar
(
64
),
pay_code
varchar
(
64
),
state
tinyint
comment
'1-NORMAL,2-INVALID'
,
state
tinyint
comment
'1-NORMAL,2-INVALID'
,
...
@@ -94,7 +94,7 @@ create table adam_real_name
...
@@ -94,7 +94,7 @@ create table adam_real_name
real_name_id
varchar
(
64
)
not
null
,
real_name_id
varchar
(
64
)
not
null
,
uid
varchar
(
64
)
not
null
,
uid
varchar
(
64
)
not
null
,
type
enum
(
'1'
,
'2'
,
'3'
,
'4'
,
'5'
)
not
null
default
'1'
comment
'1-大陆身份证,2-港澳通行证,3-台胞证,4-护照,5-军官证'
,
type
enum
(
'1'
,
'2'
,
'3'
,
'4'
,
'5'
)
not
null
default
'1'
comment
'1-大陆身份证,2-港澳通行证,3-台胞证,4-护照,5-军官证'
,
name
varchar
(
2
0
)
not
null
comment
'真实姓名'
,
name
varchar
(
3
0
)
not
null
comment
'真实姓名'
,
id_card
varchar
(
50
)
not
null
comment
'证件号码'
,
id_card
varchar
(
50
)
not
null
comment
'证件号码'
,
state
tinyint
not
null
comment
'0-INIT,1-NORMAL,2-INVALID'
,
state
tinyint
not
null
comment
'0-INIT,1-NORMAL,2-INVALID'
,
created_at
datetime
not
null
,
created_at
datetime
not
null
,
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/pom.xml
View file @
502d588b
...
@@ -35,6 +35,15 @@
...
@@ -35,6 +35,15 @@
<groupId>
org.springframework.boot
</groupId>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-data-mongodb
</artifactId>
<artifactId>
spring-boot-starter-data-mongodb
</artifactId>
</dependency>
</dependency>
<dependency>
<groupId>
com.aliyun
</groupId>
<artifactId>
aliyun-java-sdk-core
</artifactId>
</dependency>
<dependency>
<groupId>
com.aliyun
</groupId>
<artifactId>
aliyun-java-sdk-dypnsapi
</artifactId>
</dependency>
</dependencies>
</dependencies>
<build>
<build>
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/config/AliyunDypnsConfigure.java
0 → 100644
View file @
502d588b
package
com
.
liquidnet
.
service
.
adam
.
config
;
import
com.aliyuncs.DefaultAcsClient
;
import
com.aliyuncs.profile.DefaultProfile
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
@Configuration
public
class
AliyunDypnsConfigure
{
@Value
(
"${liquidnet.aliyun.accessKeyId}"
)
private
String
accessKeyId
;
@Value
(
"${liquidnet.aliyun.accessSecret}"
)
private
String
accessSecret
;
@Bean
public
DefaultAcsClient
initAcsClient
()
{
DefaultProfile
profile
=
DefaultProfile
.
getProfile
(
"cn-hangzhou"
,
accessKeyId
,
accessSecret
);
return
new
DefaultAcsClient
(
profile
);
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/constant/AdamRedisConst.java
View file @
502d588b
...
@@ -18,6 +18,13 @@ public class AdamRedisConst {
...
@@ -18,6 +18,13 @@ public class AdamRedisConst {
public
static
final
String
MEMBER_MEMBER_NO_MAX_KEY
=
ADAM
.
concat
(
":members:member_no_max:"
);
public
static
final
String
MEMBER_MEMBER_NO_MAX_KEY
=
ADAM
.
concat
(
":members:member_no_max:"
);
public
static
final
String
INFO_IDENTITY
=
ADAM
.
concat
(
":identity"
);
public
static
final
String
INFO_IDENTITY_MOBILE
=
INFO_IDENTITY
.
concat
(
":mobile"
);
public
static
final
String
INFO_IDENTITY_THIRD_PARTY
=
INFO_IDENTITY
.
concat
(
":third_party"
);
public
static
final
String
INFO_USER
=
ADAM
.
concat
(
":list:users"
);
public
static
final
String
INFO_REAL_NAME
=
ADAM
.
concat
(
":list:real_name"
);
public
static
final
String
INFO_THIRD_PARTY
=
ADAM
.
concat
(
":list:third_party"
);
// public static final String USER_CONFIRM_SMS_CODE_KEY = ADAM + ":user:sms_confirm:";
// public static final String USER_CONFIRM_SMS_CODE_KEY = ADAM + ":user:sms_confirm:";
//
//
// public static final String USER_EMAIL_CONFIRM_KEY = ADAM + ":user:email:confirm:";
// public static final String USER_EMAIL_CONFIRM_KEY = ADAM + ":user:email:confirm:";
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/AdamAddressesController.java
View file @
502d588b
package
com
.
liquidnet
.
service
.
adam
.
controller
;
package
com
.
liquidnet
.
service
.
adam
.
controller
;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
com.github.xiaoymin.knife4j.annotations.ApiSupport
;
import
com.liquidnet.service.ResponseDto
;
import
com.liquidnet.service.ResponseDto
;
import
com.liquidnet.service.adam.dto.AdamAddressesParam
;
import
com.liquidnet.service.adam.dto.AdamAddressesParam
;
import
com.liquidnet.service.adam.dto.vo.AdamAddressesVo
;
import
com.liquidnet.service.adam.dto.vo.AdamAddressesVo
;
...
@@ -20,6 +21,7 @@ import java.util.List;
...
@@ -20,6 +21,7 @@ import java.util.List;
* @author liquidnet
* @author liquidnet
* @since 2021-05-10
* @since 2021-05-10
*/
*/
@ApiSupport
(
order
=
10060
)
@Api
(
tags
=
"收获地址"
)
@Api
(
tags
=
"收获地址"
)
@Slf4j
@Slf4j
@RestController
@RestController
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/AdamCollectionController.java
View file @
502d588b
...
@@ -2,6 +2,7 @@ package com.liquidnet.service.adam.controller;
...
@@ -2,6 +2,7 @@ package com.liquidnet.service.adam.controller;
import
com.github.pagehelper.PageInfo
;
import
com.github.pagehelper.PageInfo
;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
com.github.xiaoymin.knife4j.annotations.ApiSupport
;
import
com.liquidnet.service.ResponseDto
;
import
com.liquidnet.service.ResponseDto
;
import
com.liquidnet.service.adam.dto.AdamCollectParam
;
import
com.liquidnet.service.adam.dto.AdamCollectParam
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
...
@@ -19,6 +20,7 @@ import org.springframework.web.bind.annotation.*;
...
@@ -19,6 +20,7 @@ import org.springframework.web.bind.annotation.*;
* @author liquidnet
* @author liquidnet
* @since 2021-05-10
* @since 2021-05-10
*/
*/
@ApiSupport
(
order
=
10050
)
@Api
(
tags
=
"收藏"
)
@Api
(
tags
=
"收藏"
)
@Slf4j
@Slf4j
@RestController
@RestController
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/AdamEntersController.java
View file @
502d588b
package
com
.
liquidnet
.
service
.
adam
.
controller
;
package
com
.
liquidnet
.
service
.
adam
.
controller
;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
com.github.xiaoymin.knife4j.annotations.ApiSupport
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.service.ResponseDto
;
import
com.liquidnet.service.ResponseDto
;
import
com.liquidnet.service.adam.dto.AdamEntersParam
;
import
com.liquidnet.service.adam.dto.AdamEntersParam
;
...
@@ -26,6 +27,7 @@ import java.util.List;
...
@@ -26,6 +27,7 @@ import java.util.List;
* @author liquidnet
* @author liquidnet
* @since 2021-04-28
* @since 2021-04-28
*/
*/
@ApiSupport
(
order
=
10040
)
@Api
(
tags
=
"入场人"
)
@Api
(
tags
=
"入场人"
)
@Slf4j
@Slf4j
@RestController
@RestController
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/AdamLoginController.java
0 → 100644
View file @
502d588b
package
com
.
liquidnet
.
service
.
adam
.
controller
;
import
com.aliyuncs.DefaultAcsClient
;
import
com.aliyuncs.dypnsapi.model.v20170525.GetMobileRequest
;
import
com.aliyuncs.dypnsapi.model.v20170525.GetMobileResponse
;
import
com.aliyuncs.exceptions.ClientException
;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
com.github.xiaoymin.knife4j.annotations.ApiSupport
;
import
com.liquidnet.commons.lang.util.HttpUtil
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.commons.lang.core.JwtValidator
;
import
com.liquidnet.service.ResponseDto
;
import
com.liquidnet.service.adam.dto.AdamThirdPartParam
;
import
com.liquidnet.service.adam.dto.vo.AdamLoginInfoVo
;
import
com.liquidnet.service.adam.dto.vo.AdamThirdPartInfoVo
;
import
com.liquidnet.service.adam.dto.vo.AdamUserInfoVo
;
import
com.liquidnet.service.adam.service.IAdamRealNameService
;
import
com.liquidnet.service.adam.service.IAdamThirdPartyService
;
import
com.liquidnet.service.adam.service.IAdamUserService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.core.env.Environment
;
import
org.springframework.util.LinkedMultiValueMap
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Objects
;
@ApiSupport
(
order
=
10010
)
@Api
(
tags
=
"用户登录"
)
@Slf4j
@RestController
@RequestMapping
(
""
)
public
class
AdamLoginController
{
@Autowired
Environment
environment
;
@Autowired
JwtValidator
jwtValidator
;
@Autowired
DefaultAcsClient
defaultAcsClient
;
@Autowired
IAdamUserService
adamUserService
;
@Autowired
IAdamRealNameService
adamRealNameService
;
@Autowired
IAdamThirdPartyService
adamThirdPartyService
;
/*@ApiOperationSupport(order = 1)
@ApiOperation(value = "手机号密码登录")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", dataType = "String", name = "mobile", value = "手机号"),
@ApiImplicitParam(type = "form", dataType = "String", name = "password", value = "密码"),
})
@PostMapping(value = {""})
public ResponseDto<AdamLoginInfoVo> loginByPwd(@RequestParam String mobile, @RequestParam String password) {
log.info("mobile:{},pwd:{}", mobile, password);
DigestUtils.md5DigestAsHex((password + "salt_").getBytes(StandardCharsets.UTF_8));
return ResponseDto.success(AdamLoginInfoVo.getNew());
}*/
@ApiOperationSupport
(
order
=
2
)
@ApiOperation
(
value
=
"发送验证码"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"mobile"
,
value
=
"手机号"
),
})
@GetMapping
(
value
=
{
"send"
})
public
ResponseDto
<
Object
>
sendSms
(
@RequestParam
String
mobile
)
{
log
.
info
(
"send to mobile:{}"
,
mobile
);
LinkedMultiValueMap
<
String
,
String
>
paramsMap
=
new
LinkedMultiValueMap
<>();
paramsMap
.
add
(
"mobile"
,
mobile
);
LinkedMultiValueMap
<
String
,
String
>
headersMap
=
new
LinkedMultiValueMap
<>();
headersMap
.
add
(
"token"
,
null
);
try
{
// TODO: 2021/5/12
String
respStr
=
HttpUtil
.
post
(
"https://service.zhengzai.tv/smsCode"
,
paramsMap
,
headersMap
);
log
.
info
(
"###PHP.API[{}].RESP[{}]"
,
"https://service.zhengzai.tv/smsCode"
,
respStr
);
// Map respMap = JsonUtils.fromJson(respStr, Map.class);
}
catch
(
Exception
e
)
{
log
.
error
(
"验证码发送异常[mobile:{}]"
,
mobile
,
e
);
return
ResponseDto
.
failure
(
"验证码发送失败"
);
}
return
ResponseDto
.
success
();
}
@ApiOperationSupport
(
order
=
3
)
@ApiOperation
(
value
=
"手机号验证码登录"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"mobile"
,
value
=
"手机号"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"code"
,
value
=
"验证码"
),
})
@PostMapping
(
value
=
{
"login/sms"
})
public
ResponseDto
<
AdamLoginInfoVo
>
loginBySms
(
@RequestParam
String
mobile
,
@RequestParam
String
code
)
{
// TODO: 2021/5/12 参数检验
log
.
info
(
"mobile:{},pwd:{}"
,
mobile
,
code
);
if
(!
this
.
checkSmsCode
(
mobile
,
code
))
return
ResponseDto
.
failure
(
"验证码无效"
);
String
uid
=
adamUserService
.
queryUidByRedis
(
mobile
);
AdamUserInfoVo
userInfoVo
=
StringUtils
.
isEmpty
(
uid
)
?
adamUserService
.
register
(
mobile
)
:
adamUserService
.
queryByUid
(
uid
);
AdamLoginInfoVo
loginInfoVo
=
AdamLoginInfoVo
.
getNew
();
if
(
userInfoVo
.
getIsComplete
()
==
1
)
{
loginInfoVo
.
setRealNameInfo
(
adamRealNameService
.
queryByUid
(
userInfoVo
.
getUid
()));
loginInfoVo
.
setThirdPartInfo
(
adamThirdPartyService
.
queryByUid
(
userInfoVo
.
getUid
()));
// TODO: 2021/5/12 会员信息
loginInfoVo
.
setMemberInfo
(
null
);
}
loginInfoVo
.
setUserInfo
(
userInfoVo
);
Map
<
String
,
Object
>
claimsMap
=
new
HashMap
<>();
claimsMap
.
put
(
"uid"
,
userInfoVo
.
getUid
());
loginInfoVo
.
setToken
(
jwtValidator
.
create
(
claimsMap
));
return
ResponseDto
.
success
(
loginInfoVo
);
}
@ApiOperationSupport
(
order
=
4
)
@ApiOperation
(
value
=
"手机号一键登录"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"accessToken"
,
value
=
"访问令牌"
),
})
@PostMapping
(
value
=
{
"login/mobile"
})
public
ResponseDto
<
AdamLoginInfoVo
>
loginByMobile
(
@RequestParam
String
accessToken
)
{
// TODO: 2021/5/10
log
.
info
(
"login by mobile access token:{}"
,
accessToken
);
String
mobile
=
this
.
getMobile
(
accessToken
);
if
(
StringUtils
.
isEmpty
(
mobile
))
return
ResponseDto
.
failure
(
"手机号获取失败,请更换登录方式"
);
String
uid
=
adamUserService
.
queryUidByRedis
(
mobile
);
AdamUserInfoVo
userInfoVo
=
StringUtils
.
isEmpty
(
uid
)
?
adamUserService
.
register
(
mobile
)
:
adamUserService
.
queryByUid
(
uid
);
AdamLoginInfoVo
loginInfoVo
=
AdamLoginInfoVo
.
getNew
();
if
(
loginInfoVo
.
getUserInfo
().
getIsComplete
()
==
1
)
{
loginInfoVo
.
setRealNameInfo
(
adamRealNameService
.
queryByUid
(
userInfoVo
.
getUid
()));
loginInfoVo
.
setThirdPartInfo
(
adamThirdPartyService
.
queryByUid
(
userInfoVo
.
getUid
()));
// TODO: 2021/5/12 会员信息
loginInfoVo
.
setMemberInfo
(
null
);
}
loginInfoVo
.
setUserInfo
(
userInfoVo
);
Map
<
String
,
Object
>
claimsMap
=
new
HashMap
<>();
claimsMap
.
put
(
"uid"
,
userInfoVo
.
getUid
());
loginInfoVo
.
setToken
(
jwtValidator
.
create
(
claimsMap
));
return
ResponseDto
.
success
(
AdamLoginInfoVo
.
getNew
());
}
// @ApiOperationSupport(order = 5)
// @ApiOperation(value = "第三方账号注册")
// @ApiImplicitParams({
// @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "openId", value = "第三方OPENID"),
// @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "nickname", value = "昵称"),
// @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "avatar", value = "头像"),
// @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "platform", value = "平台类型", allowableValues = "WEIBO,WECHAT,QQ"),
// @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "mobile", value = "手机号"),
// @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "platform", value = "验证码"),
// })
// @PostMapping(value = {"tpa/reg"})
// public ResponseDto<AdamLoginInfoVo> loginByTpaRegister(@RequestParam String openId, @RequestParam String nickname,
// @RequestParam String avatar, @RequestParam String platform,
// @RequestParam String mobile, @RequestParam String code) {
// log.info("login by tpa openId:{},nickname:{},avatar:{},platform:{},mobile:{},code:{}",
// openId, nickname, avatar, platform, mobile, code);
//
// // TODO: 2021/5/10
//
//
// return ResponseDto.success(AdamLoginInfoVo.getNew());
// }
@ApiOperationSupport
(
order
=
6
)
@ApiOperation
(
value
=
"第三方账号登录"
)
@PostMapping
(
value
=
{
"login/tpa"
})
public
ResponseDto
<
AdamLoginInfoVo
>
loginByTpa
(
@RequestBody
AdamThirdPartParam
parameter
)
{
// TODO: 2021/5/10
log
.
info
(
"login by tpa:{}"
,
JsonUtils
.
toJson
(
parameter
));
AdamLoginInfoVo
loginInfoVo
=
AdamLoginInfoVo
.
getNew
();
if
(
StringUtils
.
isEmpty
(
parameter
.
getMobile
()))
{
AdamThirdPartInfoVo
thirdPartInfoVo
=
adamThirdPartyService
.
queryByOpenId
(
parameter
.
getOpenId
(),
parameter
.
getPlatform
());
if
(
Objects
.
isNull
(
thirdPartInfoVo
))
return
ResponseDto
.
failure
(
"第三方账号未注册"
);
loginInfoVo
.
setUserInfo
(
adamUserService
.
queryByUid
(
thirdPartInfoVo
.
getUid
()));
loginInfoVo
.
setRealNameInfo
(
adamRealNameService
.
queryByUid
(
thirdPartInfoVo
.
getUid
()));
loginInfoVo
.
setThirdPartInfo
(
adamThirdPartyService
.
queryByUid
(
thirdPartInfoVo
.
getUid
()));
}
else
{
// 新账号注册
if
(!
this
.
checkSmsCode
(
parameter
.
getMobile
(),
parameter
.
getCode
()))
return
ResponseDto
.
failure
(
"验证码无效"
);
loginInfoVo
.
setUserInfo
(
adamUserService
.
register
(
parameter
));
}
Map
<
String
,
Object
>
claimsMap
=
new
HashMap
<>();
claimsMap
.
put
(
"uid"
,
loginInfoVo
.
getUserInfo
().
getUid
());
loginInfoVo
.
setToken
(
jwtValidator
.
create
(
claimsMap
));
return
ResponseDto
.
success
(
loginInfoVo
);
}
/* ---------------------------- Internal Method ---------------------------- */
private
boolean
checkSmsCode
(
String
mobile
,
String
code
)
{
if
(
"dev"
.
equals
(
environment
.
getProperty
(
"spring.profiles.active"
))
&&
"111111"
.
equals
(
code
))
{
return
true
;
}
LinkedMultiValueMap
<
String
,
String
>
paramsMap
=
new
LinkedMultiValueMap
<>();
paramsMap
.
add
(
"mobile"
,
mobile
);
paramsMap
.
add
(
"code"
,
code
);
LinkedMultiValueMap
<
String
,
String
>
headersMap
=
new
LinkedMultiValueMap
<>();
headersMap
.
add
(
"token"
,
null
);
try
{
// TODO: 2021/5/12
String
respStr
=
HttpUtil
.
get
(
"https://service.zhengzai.tv/smsValidation"
,
paramsMap
,
headersMap
);
log
.
info
(
"###PHP.API.RESP:{}"
,
respStr
);
Map
respMap
=
JsonUtils
.
fromJson
(
respStr
,
Map
.
class
);
return
StringUtils
.
equalsIgnoreCase
(
"OK"
,
(
String
)
respMap
.
get
(
"message"
));
}
catch
(
Exception
e
)
{
log
.
error
(
"验证码验证异常[mobile:{},code:{}]"
,
mobile
,
code
,
e
);
return
false
;
}
}
private
String
getMobile
(
String
accessToken
)
{
try
{
GetMobileRequest
request
=
new
GetMobileRequest
();
request
.
setAccessToken
(
accessToken
);
GetMobileResponse
response
=
defaultAcsClient
.
getAcsResponse
(
request
);
if
(!
Objects
.
isNull
(
response
)
&&
response
.
getCode
().
equalsIgnoreCase
(
"OK"
))
{
return
response
.
getGetMobileResultDTO
().
getMobile
();
}
}
catch
(
ClientException
e
)
{
log
.
error
(
"error:aliyun.dypns.api:{}"
,
accessToken
,
e
);
}
return
null
;
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/AdamMemberController.java
View file @
502d588b
package
com
.
liquidnet
.
service
.
adam
.
controller
;
package
com
.
liquidnet
.
service
.
adam
.
controller
;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
com.github.xiaoymin.knife4j.annotations.ApiSupport
;
import
com.liquidnet.service.ResponseDto
;
import
com.liquidnet.service.ResponseDto
;
import
com.liquidnet.service.adam.dto.vo.AdamMemberVo
;
import
com.liquidnet.service.adam.dto.vo.AdamMemberVo
;
import
com.liquidnet.service.adam.service.IAdamMemberService
;
import
com.liquidnet.service.adam.service.IAdamMemberService
;
...
@@ -12,6 +13,7 @@ import org.springframework.web.bind.annotation.GetMapping;
...
@@ -12,6 +13,7 @@ import org.springframework.web.bind.annotation.GetMapping;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
@ApiSupport
(
order
=
10030
)
@Api
(
tags
=
"会员信息"
)
@Api
(
tags
=
"会员信息"
)
@Slf4j
@Slf4j
@RestController
@RestController
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/AdamUserAuthController.java
deleted
100644 → 0
View file @
1f217a88
package
com
.
liquidnet
.
service
.
adam
.
controller
;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
com.liquidnet.commons.lang.util.JwtUtil
;
import
com.liquidnet.service.ResponseDto
;
import
com.liquidnet.service.adam.dto.vo.AdamThirdPartInfoVo
;
import
com.liquidnet.service.adam.dto.vo.AdamUserInfoVo
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.HashMap
;
import
java.util.Map
;
@Api
(
tags
=
"用户登录"
)
@Slf4j
@RestController
@RequestMapping
(
"login"
)
public
class
AdamUserAuthController
{
@ApiOperationSupport
(
order
=
1
)
@ApiOperation
(
value
=
"手机号密码登录"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
dataType
=
"String"
,
name
=
"mobile"
,
value
=
"手机号"
),
@ApiImplicitParam
(
type
=
"form"
,
dataType
=
"String"
,
name
=
"password"
,
value
=
"密码"
),
})
@PostMapping
(
value
=
{
""
})
public
ResponseDto
<
Object
>
loginByPwd
(
@RequestParam
String
mobile
,
@RequestParam
String
password
)
{
log
.
info
(
"mobile:{},pwd:{}"
,
mobile
,
password
);
Map
<
String
,
Object
>
claimsMap
=
new
HashMap
<>(),
rstMap
=
new
HashMap
<>();
claimsMap
.
put
(
"username"
,
"zhanggb"
);
claimsMap
.
put
(
"uid"
,
"2021"
);
String
token
=
JwtUtil
.
create
(
claimsMap
);
log
.
info
(
"token:{}"
,
token
);
rstMap
.
put
(
"token"
,
token
);
rstMap
.
put
(
"userInfo"
,
AdamUserInfoVo
.
getNew
());
rstMap
.
put
(
"thiredPartInfo"
,
AdamThirdPartInfoVo
.
getNew
());
// TODO: 2021/5/10 会员信息
rstMap
.
put
(
"cardsInfo"
,
null
);
return
ResponseDto
.
success
(
rstMap
);
}
@ApiOperationSupport
(
order
=
2
)
@ApiOperation
(
value
=
"发送验证码"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"mobile"
,
value
=
"手机号"
),
})
@GetMapping
(
value
=
{
"send/{mobile}"
})
public
ResponseDto
<
Object
>
sendSms
(
@PathVariable
String
mobile
)
{
log
.
info
(
"send to mobile:{}"
,
mobile
);
// TODO: 2021/5/10
return
ResponseDto
.
success
();
}
@ApiOperationSupport
(
order
=
3
)
@ApiOperation
(
value
=
"手机号验证码登录"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"mobile"
,
value
=
"手机号"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"code"
,
value
=
"验证码"
),
})
@PostMapping
(
value
=
{
"sms"
})
public
ResponseDto
<
Object
>
loginBySms
(
@RequestParam
String
mobile
,
@RequestParam
String
code
)
{
log
.
info
(
"mobile:{},pwd:{}"
,
mobile
,
code
);
Map
<
String
,
Object
>
claimsMap
=
new
HashMap
<>(),
rstMap
=
new
HashMap
<>();
claimsMap
.
put
(
"username"
,
"zhanggb"
);
claimsMap
.
put
(
"uid"
,
"2021"
);
String
token
=
JwtUtil
.
create
(
claimsMap
);
log
.
info
(
"token:{}"
,
token
);
rstMap
.
put
(
"token"
,
token
);
rstMap
.
put
(
"userInfo"
,
AdamUserInfoVo
.
getNew
());
rstMap
.
put
(
"thiredPartInfo"
,
AdamThirdPartInfoVo
.
getNew
());
// TODO: 2021/5/10 会员信息
rstMap
.
put
(
"cardsInfo"
,
null
);
return
ResponseDto
.
success
(
token
);
}
@ApiOperationSupport
(
order
=
4
)
@ApiOperation
(
value
=
"手机号一键登录"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"accessToken"
,
value
=
"访问令牌"
),
})
@PostMapping
(
value
=
{
"tpa/mobile"
})
public
ResponseDto
<
Object
>
loginByTpaMobile
(
@RequestParam
String
accessToken
)
{
log
.
info
(
"login by mobile access token:{}"
,
accessToken
);
// TODO: 2021/5/10
Map
<
String
,
Object
>
claimsMap
=
new
HashMap
<>(),
rstMap
=
new
HashMap
<>();
claimsMap
.
put
(
"username"
,
"zhanggb"
);
claimsMap
.
put
(
"uid"
,
"2021"
);
String
token
=
JwtUtil
.
create
(
claimsMap
);
log
.
info
(
"token:{}"
,
token
);
rstMap
.
put
(
"token"
,
token
);
rstMap
.
put
(
"userInfo"
,
AdamUserInfoVo
.
getNew
());
rstMap
.
put
(
"thiredPartInfo"
,
AdamThirdPartInfoVo
.
getNew
());
// TODO: 2021/5/10 会员信息
rstMap
.
put
(
"cardsInfo"
,
null
);
return
ResponseDto
.
success
(
rstMap
);
}
@ApiOperationSupport
(
order
=
5
)
@ApiOperation
(
value
=
"第三方账号登录"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"openId"
,
value
=
"第三方OPENID"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"nickName"
,
value
=
"昵称"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"avatar"
,
value
=
"头像"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"platform"
,
value
=
"平台类型"
,
allowableValues
=
"WEIBO,WECHAT,QQ"
),
})
@PostMapping
(
value
=
{
"tpa"
})
public
ResponseDto
<
Object
>
loginByTpa
(
@RequestParam
String
openId
,
@RequestParam
String
nickname
,
@RequestParam
String
avatar
,
@RequestParam
String
platform
)
{
log
.
info
(
"login by tpa openId:{}, nickname:{}, avatar: {}, platform:{}"
,
openId
,
nickname
,
avatar
,
platform
);
// TODO: 2021/5/10
Map
<
String
,
Object
>
claimsMap
=
new
HashMap
<>(),
rstMap
=
new
HashMap
<>();
claimsMap
.
put
(
"username"
,
"zhanggb"
);
claimsMap
.
put
(
"uid"
,
"2021"
);
String
token
=
JwtUtil
.
create
(
claimsMap
);
log
.
info
(
"token:{}"
,
token
);
rstMap
.
put
(
"token"
,
token
);
rstMap
.
put
(
"userInfo"
,
AdamUserInfoVo
.
getNew
());
rstMap
.
put
(
"thiredPartInfo"
,
AdamThirdPartInfoVo
.
getNew
());
// TODO: 2021/5/10 会员信息
rstMap
.
put
(
"cardsInfo"
,
null
);
return
ResponseDto
.
success
(
rstMap
);
}
@ApiOperationSupport
(
order
=
6
)
@ApiOperation
(
value
=
"第三方账号注册"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"openId"
,
value
=
"第三方OPENID"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"nickname"
,
value
=
"昵称"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"avatar"
,
value
=
"头像"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"platform"
,
value
=
"平台类型"
,
allowableValues
=
"WEIBO,WECHAT,QQ"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"mobile"
,
value
=
"手机号"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"platform"
,
value
=
"验证码"
),
})
@PostMapping
(
value
=
{
"tpa/reg"
})
public
ResponseDto
<
Object
>
loginByTpaRegister
(
@RequestParam
String
openId
,
@RequestParam
String
nickname
,
@RequestParam
String
avatar
,
@RequestParam
String
platform
,
@RequestParam
String
mobile
,
@RequestParam
String
code
)
{
log
.
info
(
"login by tpa openId:{},nickname:{},avatar:{},platform:{},mobile:{},code:{}"
,
openId
,
nickname
,
avatar
,
platform
,
mobile
,
code
);
// TODO: 2021/5/10
Map
<
String
,
Object
>
claimsMap
=
new
HashMap
<>(),
rstMap
=
new
HashMap
<>();
claimsMap
.
put
(
"username"
,
"zhanggb"
);
claimsMap
.
put
(
"uid"
,
"2021"
);
String
token
=
JwtUtil
.
create
(
claimsMap
);
log
.
info
(
"token:{}"
,
token
);
rstMap
.
put
(
"token"
,
token
);
rstMap
.
put
(
"userInfo"
,
AdamUserInfoVo
.
getNew
());
rstMap
.
put
(
"thiredPartInfo"
,
AdamThirdPartInfoVo
.
getNew
());
// TODO: 2021/5/10 会员信息
rstMap
.
put
(
"cardsInfo"
,
null
);
return
ResponseDto
.
success
(
rstMap
);
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/AdamUserController.java
View file @
502d588b
package
com
.
liquidnet
.
service
.
adam
.
controller
;
package
com
.
liquidnet
.
service
.
adam
.
controller
;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
com.github.xiaoymin.knife4j.annotations.ApiSupport
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.ResponseDto
;
import
com.liquidnet.service.ResponseDto
;
import
com.liquidnet.service.adam.dto.AdamUserInfoParam
;
import
com.liquidnet.service.adam.dto.AdamUserInfoParam
;
import
com.liquidnet.service.adam.dto.vo.AdamThirdPartInfoVo
;
import
com.liquidnet.service.adam.dto.vo.AdamThirdPartInfoVo
;
import
com.liquidnet.service.adam.dto.vo.AdamUserInfoVo
;
import
com.liquidnet.service.adam.dto.vo.AdamUserInfoVo
;
import
com.liquidnet.service.adam.service.IAdamUserInfoService
;
import
com.liquidnet.service.adam.service.IAdamUserService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
@ApiSupport
(
order
=
10020
)
@Api
(
tags
=
"用户中心"
)
@Api
(
tags
=
"用户中心"
)
@Slf4j
@Slf4j
@RestController
@RestController
@RequestMapping
(
"user"
)
@RequestMapping
(
"user"
)
public
class
AdamUserController
{
public
class
AdamUserController
{
@Autowired
IAdamUserService
adamUserService
;
@Autowired
IAdamUserInfoService
adamUserInfoService
;
@ApiOperationSupport
(
order
=
1
)
@ApiOperationSupport
(
order
=
1
)
@ApiOperation
(
value
=
"个人资料编辑"
)
@ApiOperation
(
value
=
"个人资料编辑"
)
@PostMapping
(
value
=
{
"edit"
})
@PostMapping
(
value
=
{
"edit"
})
public
ResponseDto
<
AdamUserInfoVo
>
edit
(
@RequestBody
AdamUserInfoParam
adamUserInfoParam
)
{
public
ResponseDto
<
AdamUserInfoVo
>
edit
(
@RequestBody
AdamUserInfoParam
adamUserInfoParam
)
{
// TODO: 2021/5/10
log
.
info
(
"adamUserInfoParam:{}"
,
JsonUtils
.
toJson
(
adamUserInfoParam
));
log
.
info
(
"adamUserInfoParam:{}"
,
JsonUtils
.
toJson
(
adamUserInfoParam
));
String
uid
=
"1"
;
// TODO: 2021/5/10
AdamUserInfoVo
userInfoVo
=
adamUserService
.
queryByUid
(
uid
);
BeanUtils
.
copyProperties
(
adamUserInfoParam
,
userInfoVo
);
adamUserInfoService
.
edit
(
userInfoVo
);
return
ResponseDto
.
success
(
AdamUserInfoVo
.
getNew
()
);
return
ResponseDto
.
success
(
userInfoVo
);
}
}
@ApiOperationSupport
(
order
=
2
)
@ApiOperationSupport
(
order
=
2
)
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamEntersServiceImpl.java
View file @
502d588b
...
@@ -6,7 +6,6 @@ import com.liquidnet.common.mq.constant.MQConst;
...
@@ -6,7 +6,6 @@ import com.liquidnet.common.mq.constant.MQConst;
import
com.liquidnet.commons.lang.util.BsonUtil
;
import
com.liquidnet.commons.lang.util.BsonUtil
;
import
com.liquidnet.commons.lang.util.SqlMapping
;
import
com.liquidnet.commons.lang.util.SqlMapping
;
import
com.liquidnet.service.adam.constant.AdamRedisConst
;
import
com.liquidnet.service.adam.constant.AdamRedisConst
;
import
com.liquidnet.service.adam.dto.vo.AdamEntersVo
;
import
com.liquidnet.service.adam.entity.AdamEnters
;
import
com.liquidnet.service.adam.entity.AdamEnters
;
import
com.liquidnet.service.adam.mapper.AdamEntersMapper
;
import
com.liquidnet.service.adam.mapper.AdamEntersMapper
;
import
com.liquidnet.service.adam.service.IAdamEntersService
;
import
com.liquidnet.service.adam.service.IAdamEntersService
;
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamRealNameServiceImpl.java
View file @
502d588b
package
com
.
liquidnet
.
service
.
adam
.
service
.
impl
;
package
com
.
liquidnet
.
service
.
adam
.
service
.
impl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.service.adam.constant.AdamRedisConst
;
import
com.liquidnet.service.adam.dto.vo.AdamRealInfoVo
;
import
com.liquidnet.service.adam.entity.AdamRealName
;
import
com.liquidnet.service.adam.entity.AdamRealName
;
import
com.liquidnet.service.adam.mapper.AdamRealNameMapper
;
import
com.liquidnet.service.adam.mapper.AdamRealNameMapper
;
import
com.liquidnet.service.adam.service.IAdamRealNameService
;
import
com.liquidnet.service.adam.service.IAdamRealNameService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
/**
/**
...
@@ -16,5 +23,20 @@ import org.springframework.stereotype.Service;
...
@@ -16,5 +23,20 @@ import org.springframework.stereotype.Service;
*/
*/
@Service
@Service
public
class
AdamRealNameServiceImpl
extends
ServiceImpl
<
AdamRealNameMapper
,
AdamRealName
>
implements
IAdamRealNameService
{
public
class
AdamRealNameServiceImpl
extends
ServiceImpl
<
AdamRealNameMapper
,
AdamRealName
>
implements
IAdamRealNameService
{
@Autowired
MongoTemplate
mongoTemplate
;
@Autowired
RedisUtil
redisUtil
;
@Override
public
AdamRealInfoVo
queryByUid
(
String
uid
)
{
AdamRealInfoVo
realInfoVo
=
(
AdamRealInfoVo
)
redisUtil
.
hget
(
AdamRedisConst
.
INFO_REAL_NAME
,
uid
);
if
(
null
==
realInfoVo
)
{
realInfoVo
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
).
and
(
"state"
).
is
(
1
)),
AdamRealInfoVo
.
class
,
AdamRealInfoVo
.
class
.
getSimpleName
());
redisUtil
.
hset
(
AdamRedisConst
.
INFO_REAL_NAME
,
uid
,
realInfoVo
);
}
return
realInfoVo
;
}
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamThirdPartyServiceImpl.java
View file @
502d588b
package
com
.
liquidnet
.
service
.
adam
.
service
.
impl
;
package
com
.
liquidnet
.
service
.
adam
.
service
.
impl
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.service.adam.constant.AdamRedisConst
;
import
com.liquidnet.service.adam.dto.vo.AdamThirdPartInfoVo
;
import
com.liquidnet.service.adam.entity.AdamThirdParty
;
import
com.liquidnet.service.adam.entity.AdamThirdParty
;
import
com.liquidnet.service.adam.mapper.AdamThirdPartyMapper
;
import
com.liquidnet.service.adam.mapper.AdamThirdPartyMapper
;
import
com.liquidnet.service.adam.service.IAdamThirdPartyService
;
import
com.liquidnet.service.adam.service.IAdamThirdPartyService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
/**
* <p>
* <p>
* 用户第三方账号信息 服务实现类
* 用户第三方账号信息 服务实现类
...
@@ -16,5 +25,31 @@ import org.springframework.stereotype.Service;
...
@@ -16,5 +25,31 @@ import org.springframework.stereotype.Service;
*/
*/
@Service
@Service
public
class
AdamThirdPartyServiceImpl
extends
ServiceImpl
<
AdamThirdPartyMapper
,
AdamThirdParty
>
implements
IAdamThirdPartyService
{
public
class
AdamThirdPartyServiceImpl
extends
ServiceImpl
<
AdamThirdPartyMapper
,
AdamThirdParty
>
implements
IAdamThirdPartyService
{
@Autowired
MongoTemplate
mongoTemplate
;
@Autowired
RedisUtil
redisUtil
;
@Override
public
List
<
AdamThirdPartInfoVo
>
queryByUid
(
String
uid
)
{
List
<
AdamThirdPartInfoVo
>
thirdPartInfoVo
=
(
List
<
AdamThirdPartInfoVo
>)
redisUtil
.
hget
(
AdamRedisConst
.
INFO_THIRD_PARTY
,
uid
);
if
(
null
==
thirdPartInfoVo
)
{
thirdPartInfoVo
=
mongoTemplate
.
find
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
).
and
(
"state"
).
is
(
1
)),
AdamThirdPartInfoVo
.
class
,
AdamThirdPartInfoVo
.
class
.
getSimpleName
());
redisUtil
.
hset
(
AdamRedisConst
.
INFO_THIRD_PARTY
,
uid
,
thirdPartInfoVo
);
}
return
thirdPartInfoVo
;
}
@Override
public
AdamThirdPartInfoVo
queryByOpenId
(
String
openId
,
String
platform
)
{
AdamThirdPartInfoVo
thirdPartInfoVo
=
(
AdamThirdPartInfoVo
)
redisUtil
.
hget
(
AdamRedisConst
.
INFO_THIRD_PARTY
.
concat
(
platform
),
openId
);
if
(
null
==
thirdPartInfoVo
)
{
thirdPartInfoVo
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"openId"
).
is
(
openId
)
.
and
(
"platform"
).
is
(
platform
).
and
(
"state"
).
is
(
1
)),
AdamThirdPartInfoVo
.
class
,
AdamThirdPartInfoVo
.
class
.
getSimpleName
());
}
return
thirdPartInfoVo
;
}
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamUserInfoServiceImpl.java
View file @
502d588b
package
com
.
liquidnet
.
service
.
adam
.
service
.
impl
;
package
com
.
liquidnet
.
service
.
adam
.
service
.
impl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.common.mq.constant.MQConst
;
import
com.liquidnet.commons.lang.util.SqlMapping
;
import
com.liquidnet.service.adam.constant.AdamRedisConst
;
import
com.liquidnet.service.adam.dto.vo.AdamUserInfoVo
;
import
com.liquidnet.service.adam.entity.AdamUserInfo
;
import
com.liquidnet.service.adam.entity.AdamUserInfo
;
import
com.liquidnet.service.adam.mapper.AdamUserInfoMapper
;
import
com.liquidnet.service.adam.mapper.AdamUserInfoMapper
;
import
com.liquidnet.service.adam.service.IAdamUserInfoService
;
import
com.liquidnet.service.adam.service.IAdamUserInfoService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.mongodb.BasicDBObject
;
import
com.mongodb.client.model.FindOneAndUpdateOptions
;
import
com.mongodb.client.model.ReturnDocument
;
import
org.bson.Document
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.convert.MongoConverter
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.Arrays
;
import
java.util.List
;
/**
/**
* <p>
* <p>
*
正在现场
用户信息 服务实现类
* 用户信息 服务实现类
* </p>
* </p>
*
*
* @author liquidnet
* @author liquidnet
...
@@ -16,5 +34,39 @@ import org.springframework.stereotype.Service;
...
@@ -16,5 +34,39 @@ import org.springframework.stereotype.Service;
*/
*/
@Service
@Service
public
class
AdamUserInfoServiceImpl
extends
ServiceImpl
<
AdamUserInfoMapper
,
AdamUserInfo
>
implements
IAdamUserInfoService
{
public
class
AdamUserInfoServiceImpl
extends
ServiceImpl
<
AdamUserInfoMapper
,
AdamUserInfo
>
implements
IAdamUserInfoService
{
@Autowired
MongoConverter
mongoConverter
;
@Autowired
MongoTemplate
mongoTemplate
;
@Autowired
RabbitTemplate
rabbitTemplate
;
@Autowired
RedisUtil
redisUtil
;
@Override
public
void
edit
(
AdamUserInfoVo
userInfoVo
)
{
boolean
isNotComplete
=
userInfoVo
.
getIsComplete
()
==
0
;
BasicDBObject
object
=
new
BasicDBObject
(
"$set"
,
mongoConverter
.
convertToMongoType
(
userInfoVo
));
Document
doc
=
mongoTemplate
.
getCollection
(
AdamUserInfoVo
.
class
.
getSimpleName
()).
findOneAndUpdate
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
userInfoVo
.
getUid
())).
getQueryObject
(),
object
,
new
FindOneAndUpdateOptions
().
returnDocument
(
ReturnDocument
.
AFTER
)
);
List
<
Object
>
paramList
=
Arrays
.
asList
(
userInfoVo
.
getNickName
(),
userInfoVo
.
getSex
(),
userInfoVo
.
getBirthday
(),
userInfoVo
.
getArea
(),
userInfoVo
.
getSignature
(),
userInfoVo
.
getAvatar
(),
userInfoVo
.
getBackground
(),
null
,
null
,
// qr_code, qr_pic
userInfoVo
.
getTagMe
(),
userInfoVo
.
getUid
()
);
rabbitTemplate
.
convertAndSend
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL
,
MQConst
.
ROUTING_KEY_SQL
,
SqlMapping
.
get
(
isNotComplete
?
"adam_user_info.add"
:
"adam_user_info.edit"
,
paramList
.
toArray
()));
redisUtil
.
hset
(
AdamRedisConst
.
INFO_USER
,
userInfoVo
.
getUid
(),
userInfoVo
);
}
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamUserServiceImpl.java
View file @
502d588b
package
com
.
liquidnet
.
service
.
adam
.
service
.
impl
;
package
com
.
liquidnet
.
service
.
adam
.
service
.
impl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.commons.lang.util.DateUtil
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.service.adam.constant.AdamRedisConst
;
import
com.liquidnet.service.adam.dto.AdamThirdPartParam
;
import
com.liquidnet.service.adam.dto.vo.AdamThirdPartInfoVo
;
import
com.liquidnet.service.adam.dto.vo.AdamUserInfoVo
;
import
com.liquidnet.service.adam.entity.AdamUser
;
import
com.liquidnet.service.adam.entity.AdamUser
;
import
com.liquidnet.service.adam.mapper.AdamUserMapper
;
import
com.liquidnet.service.adam.mapper.AdamUserMapper
;
import
com.liquidnet.service.adam.service.IAdamUserService
;
import
com.liquidnet.service.adam.service.IAdamUserService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.time.LocalDateTime
;
import
java.util.Collection
;
import
java.util.Collections
;
/**
/**
* <p>
* <p>
* 用户 服务实现类
* 用户 服务实现类
...
@@ -16,5 +33,88 @@ import org.springframework.stereotype.Service;
...
@@ -16,5 +33,88 @@ import org.springframework.stereotype.Service;
*/
*/
@Service
@Service
public
class
AdamUserServiceImpl
extends
ServiceImpl
<
AdamUserMapper
,
AdamUser
>
implements
IAdamUserService
{
public
class
AdamUserServiceImpl
extends
ServiceImpl
<
AdamUserMapper
,
AdamUser
>
implements
IAdamUserService
{
@Autowired
MongoTemplate
mongoTemplate
;
@Autowired
RabbitTemplate
rabbitTemplate
;
@Autowired
RedisUtil
redisUtil
;
@Override
public
AdamUserInfoVo
queryByUid
(
String
uid
)
{
AdamUserInfoVo
userInfoVo
=
(
AdamUserInfoVo
)
redisUtil
.
hget
(
AdamRedisConst
.
INFO_USER
,
uid
);
if
(
null
==
userInfoVo
)
{
userInfoVo
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
).
and
(
"state"
).
is
(
1
)),
AdamUserInfoVo
.
class
,
AdamUserInfoVo
.
class
.
getSimpleName
());
redisUtil
.
hset
(
AdamRedisConst
.
INFO_USER
,
uid
,
userInfoVo
);
}
return
userInfoVo
;
}
@Override
public
String
queryUidByRedis
(
String
mobile
)
{
return
(
String
)
redisUtil
.
hget
(
AdamRedisConst
.
INFO_IDENTITY_MOBILE
,
mobile
);
// AdamUserInfoVo userInfoVo;
// if (null == (userInfoVo = (AdamUserInfoVo) redisUtil.hget(AdamRedisConst.INFO_MOBILES, mobile))) {
// userInfoVo = mongoTemplate.findOne(Query.query(Criteria.where("mobile").is(mobile).and("state").is(1)),
// AdamUserInfoVo.class, AdamUserInfoVo.class.getSimpleName());
//
// redisUtil.hset(AdamRedisConst.INFO_MOBILES, mobile, userInfoVo);
// }
// return userInfoVo;
}
@Override
public
String
queryUidByRedis
(
String
openId
,
String
platform
)
{
return
(
String
)
redisUtil
.
hget
(
AdamRedisConst
.
INFO_IDENTITY_THIRD_PARTY
,
platform
.
concat
(
openId
));
}
@Override
public
AdamUserInfoVo
register
(
String
mobile
)
{
AdamUserInfoVo
userInfoVo
=
AdamUserInfoVo
.
getNew
();
userInfoVo
.
setMobile
(
mobile
);
userInfoVo
.
setUid
(
IDGenerator
.
nextSnowId
()
+
""
);
userInfoVo
.
setIsComplete
(
0
);
userInfoVo
.
setState
(
1
);
userInfoVo
.
setCreateAt
(
DateUtil
.
format
(
LocalDateTime
.
now
(),
DateUtil
.
Formatter
.
yyyyMMddHHmmss
));
// boolean hset = redisUtil.hset(AdamRedisConst.INFO_MOBILES, userInfoVo.getMobile(), userInfoVo);
Collection
<
AdamUserInfoVo
>
vos
=
mongoTemplate
.
insert
(
Collections
.
singletonList
(
userInfoVo
),
AdamUserInfoVo
.
class
.
getSimpleName
());
redisUtil
.
hset
(
AdamRedisConst
.
INFO_IDENTITY_MOBILE
,
mobile
,
userInfoVo
.
getUid
());
return
userInfoVo
;
}
@Override
public
AdamUserInfoVo
register
(
AdamThirdPartParam
thirdPartParam
)
{
LocalDateTime
now
=
LocalDateTime
.
now
();
AdamUserInfoVo
userInfoVo
=
AdamUserInfoVo
.
getNew
();
userInfoVo
.
setMobile
(
thirdPartParam
.
getMobile
());
userInfoVo
.
setUid
(
IDGenerator
.
nextSnowId
()
+
""
);
userInfoVo
.
setCreateAt
(
DateUtil
.
format
(
now
,
DateUtil
.
Formatter
.
yyyyMMddHHmmss
));
AdamThirdPartInfoVo
thirdPartInfoVo
=
AdamThirdPartInfoVo
.
getNew
();
BeanUtils
.
copyProperties
(
thirdPartParam
,
thirdPartInfoVo
);
thirdPartInfoVo
.
setUid
(
userInfoVo
.
getUid
());
thirdPartInfoVo
.
setState
(
1
);
// 1-绑定
// boolean userInfoSetRst = redisUtil.hset(AdamRedisConst.INFO_MOBILES, thirdPartParam.getMobile(), userInfoVo);
// boolean thirdPartSetRst = redisUtil.hset(AdamRedisConst.INFO_THIRD_PARTY.concat(thirdPartInfoVo.getPlatform()), thirdPartInfoVo.getOpenId(), thirdPartInfoVo);
Collection
<
AdamUserInfoVo
>
userInfoVos
=
mongoTemplate
.
insert
(
Collections
.
singletonList
(
userInfoVo
),
AdamUserInfoVo
.
class
);
Collection
<
AdamThirdPartInfoVo
>
thirdPartInfoVos
=
mongoTemplate
.
insert
(
Collections
.
singletonList
(
thirdPartInfoVo
),
AdamThirdPartInfoVo
.
class
);
redisUtil
.
hset
(
AdamRedisConst
.
INFO_IDENTITY_THIRD_PARTY
,
thirdPartParam
.
getPlatform
().
concat
(
thirdPartParam
.
getOpenId
()),
userInfoVo
.
getUid
());
// List<Object> paramList = Arrays.asList();
// rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
// SqlMapping.get("adam_user.add", paramList.toArray()));
return
userInfoVo
;
}
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/resources/sqlmap/adam_enters.properties
0 → 100644
View file @
502d588b
adam_enters.add
=
INSERT INTO ln_adam.adam_enters (enters_id, `uid`, `type`,`name`, mobile, id_card, is_default, `state`, created_at, updated_at, deleted_at, `comment`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)
adam_enters.edit
=
UPDATE ln_adam.adam_enters SET `type`=?, `name`=?, mobile=?, id_card=?, is_default=?, `state`=?, updated_at=? where enters_id=?
adam_enters.update.is_default
=
UPDATE ln_adam.adam_enters set is_default=?, updated_at=? where enters_id=?
adam_enters.remove
=
UPDATE ln_adam.adam_enters SET `state`=?, updated_at=?, deleted_at=? where enters_id=?
\ No newline at end of file
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/resources/sqlmap/adam_third_party.properties
0 → 100644
View file @
502d588b
adam_third_party.add
=
insert into ln_adam.adam_third_party (`uid`, open_id, avatar, nick_name, platform, `state`, created_at, updated_at, `comment`) values (?,?,?,?,?,?,?,?,?)
\ No newline at end of file
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/resources/sqlmap/adam_user.properties
0 → 100644
View file @
502d588b
adam_user.add
=
insert into ln_adam.adam_user (`uid`, mobile, passwd, pay_code, `state`, created_at, updated_at, closed_at, `comment`) values (?,?,?,?,?,?,?,?,?)
\ No newline at end of file
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/resources/sqlmap/adam_user_info.properties
0 → 100644
View file @
502d588b
adam_user_info.add
=
insert into adam_user_info (nick_name, sex, birthday, area, signature, avatar, background, qr_code, qr_pic, tag_me, `uid`) VALUES (?,?,?,?,?,?,?,?,?,?,?)
adam_user_info.edit
=
UPDATE ln_adam.adam_user_info SET nick_name=?, sex=?, birthday=?, area=?, signature=?, avatar=?, background=?, qr_code=?, qr_pic=?, tag_me=? WHERE uid=?
\ No newline at end of file
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/resources/sqlmap/enters.properties
deleted
100644 → 0
View file @
1f217a88
adam_enters.add
=
INSERT INTO adam_enters (enters_id, `uid`, `type`,`name`, mobile, id_card, is_default, `state`, created_at, updated_at, deleted_at, `comment`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)
adam_enters.edit
=
UPDATE adam_enters SET `type`=?, `name`=?, mobile=?, id_card=?, is_default=?, `state`=?, updated_at=? where enters_id=?
adam_enters.update.is_default
=
UPDATE adam_enters set is_default=?, updated_at=? where enters_id=?
adam_enters.remove
=
UPDATE adam_enters SET `state`=?, updated_at=?, deleted_at=? where enters_id=?
\ No newline at end of file
liquidnet-bus-service/pom.xml
View file @
502d588b
...
@@ -233,6 +233,17 @@
...
@@ -233,6 +233,17 @@
<artifactId>
dynamic-datasource-spring-boot-starter
</artifactId>
<artifactId>
dynamic-datasource-spring-boot-starter
</artifactId>
<version>
2.5.3
</version>
<version>
2.5.3
</version>
</dependency>
</dependency>
<dependency>
<groupId>
com.aliyun
</groupId>
<artifactId>
aliyun-java-sdk-core
</artifactId>
<version>
4.5.2
</version>
</dependency>
<dependency>
<groupId>
com.aliyun
</groupId>
<artifactId>
aliyun-java-sdk-dypnsapi
</artifactId>
<version>
1.1.3
</version>
</dependency>
</dependencies>
</dependencies>
</dependencyManagement>
</dependencyManagement>
...
...
liquidnet-bus-support/liquidnet-support-zuul/src/main/java/com/liquidnet/support/zuul/filter/GlobalAuthFilter.java
0 → 100644
View file @
502d588b
package
com
.
liquidnet
.
support
.
zuul
.
filter
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.commons.lang.core.JwtValidator
;
import
com.liquidnet.service.ResponseDto
;
import
com.netflix.zuul.ZuulFilter
;
import
com.netflix.zuul.context.RequestContext
;
import
io.jsonwebtoken.Claims
;
import
io.jsonwebtoken.ExpiredJwtException
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.nio.charset.StandardCharsets
;
import
java.util.List
;
@Slf4j
@Component
public
class
GlobalAuthFilter
extends
ZuulFilter
{
@Value
(
"#{'${global.exclude.url}'.split(', ')}"
)
private
List
<
String
>
excludeUrls
;
@Autowired
JwtValidator
jwtValidator
;
@Override
public
String
filterType
()
{
return
"pre"
;
}
@Override
public
int
filterOrder
()
{
return
2
;
}
@Override
public
boolean
shouldFilter
()
{
RequestContext
ctx
=
RequestContext
.
getCurrentContext
();
String
requestURI
=
ctx
.
getRequest
().
getRequestURI
();
return
!
excludeUrls
.
contains
(
requestURI
);
}
@Override
public
Object
run
()
{
RequestContext
requestContext
=
RequestContext
.
getCurrentContext
();
HttpServletRequest
httpServletRequest
=
requestContext
.
getRequest
();
String
token
=
httpServletRequest
.
getHeader
(
"authorization"
);
Claims
claims
;
try
{
log
.
info
(
"token:{}"
,
token
);
if
(
StringUtils
.
isBlank
(
token
))
{
requestContext
.
setSendZuulResponse
(
false
);
ResponseDto
<
Object
>
responseDto
=
ResponseDto
.
failure
(
"401"
,
"非法TOKEN"
);
requestContext
.
setResponseBody
(
JsonUtils
.
toJson
(
responseDto
));
HttpServletResponse
response
=
requestContext
.
getResponse
();
response
.
setCharacterEncoding
(
StandardCharsets
.
UTF_8
.
name
());
response
.
setContentType
(
"application/json;charset=utf-8"
);
}
else
{
token
=
token
.
replace
(
"Bearer "
,
""
);
// 解析没有异常则表示token验证通过,如有必要可根据自身需求增加验证逻辑
claims
=
jwtValidator
.
parse
(
token
);
log
.
info
(
"claims:{}"
,
JsonUtils
.
toJson
(
claims
));
// claims = jwtUtil.parseJwtToken(token);
// 对请求进行路由
requestContext
.
setSendZuulResponse
(
true
);
// 请求头加入uid,传给具体的微服务
requestContext
.
addZuulRequestHeader
(
"uid"
,
claims
.
get
(
"uid"
).
toString
());
}
}
catch
(
ExpiredJwtException
expiredJwtEx
)
{
log
.
error
(
"TOKEN已过期:{}"
,
token
);
// 不对请求进行路由
requestContext
.
setSendZuulResponse
(
false
);
ResponseDto
<
Object
>
responseDto
=
ResponseDto
.
failure
(
"402"
,
"TOKEN已过期"
);
requestContext
.
setResponseBody
(
JsonUtils
.
toJson
(
responseDto
));
HttpServletResponse
response
=
requestContext
.
getResponse
();
response
.
setCharacterEncoding
(
StandardCharsets
.
UTF_8
.
name
());
response
.
setContentType
(
"application/json;charset=utf-8"
);
}
catch
(
Exception
ex
)
{
log
.
error
(
"TOKEN验证失败:{}"
,
token
);
// 不对请求进行路由
requestContext
.
setSendZuulResponse
(
false
);
ResponseDto
<
Object
>
responseDto
=
ResponseDto
.
failure
(
"401"
,
"非法TOKEN"
);
requestContext
.
setResponseBody
(
JsonUtils
.
toJson
(
responseDto
));
HttpServletResponse
response
=
requestContext
.
getResponse
();
response
.
setCharacterEncoding
(
StandardCharsets
.
UTF_8
.
name
());
response
.
setContentType
(
"application/json;charset=utf-8"
);
}
return
null
;
}
}
liquidnet-bus-support/liquidnet-support-zuul/src/main/java/com/liquidnet/support/zuul/filter/GlobalLoginFilter.java
0 → 100644
View file @
502d588b
package
com
.
liquidnet
.
support
.
zuul
.
filter
;
import
com.liquidnet.service.ResponseDto
;
import
com.liquidnet.service.adam.dto.vo.AdamLoginInfoVo
;
import
com.liquidnet.service.feign.adam.api.FeignAdamLoginClient
;
import
com.liquidnet.support.zuul.util.PathMatchUtil
;
import
com.netflix.zuul.ZuulFilter
;
import
com.netflix.zuul.context.RequestContext
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.List
;
@Slf4j
@Component
public
class
GlobalLoginFilter
extends
ZuulFilter
{
@Value
(
"#{'${global.login.url}'.split(', ')}"
)
private
List
<
String
>
loginUrls
;
@Autowired
FeignAdamLoginClient
feignAdamLoginClient
;
@Override
public
String
filterType
()
{
return
"pre"
;
}
@Override
public
int
filterOrder
()
{
return
1
;
}
@Override
public
boolean
shouldFilter
()
{
RequestContext
ctx
=
RequestContext
.
getCurrentContext
();
String
requestURI
=
ctx
.
getRequest
().
getRequestURI
();
for
(
String
url
:
loginUrls
)
{
if
(
PathMatchUtil
.
isPathMatch
(
url
,
requestURI
))
{
return
true
;
}
}
return
false
;
}
@Override
public
Object
run
()
{
RequestContext
requestContext
=
RequestContext
.
getCurrentContext
();
HttpServletRequest
servletRequest
=
requestContext
.
getRequest
();
String
token
=
servletRequest
.
getHeader
(
"authorization"
);
if
(
StringUtils
.
isNotBlank
(
token
))
{
requestContext
.
addZuulResponseHeader
(
"authorization"
,
token
);
}
ResponseDto
<
AdamLoginInfoVo
>
responseDto
=
null
;
switch
(
servletRequest
.
getRequestURI
())
{
case
"/adam/login/sms"
:
responseDto
=
feignAdamLoginClient
.
loginBySms
(
servletRequest
.
getParameter
(
"mobile"
),
servletRequest
.
getParameter
(
"code"
));
break
;
case
"/adam/login/mobile"
:
responseDto
=
feignAdamLoginClient
.
loginByMobile
(
servletRequest
.
getParameter
(
"accessToken"
));
break
;
case
"/adam/login/tpa"
:
break
;
default
:
log
.
warn
(
"###无效的登录链接:{}"
,
servletRequest
.
getRequestURI
());
break
;
}
return
null
;
}
}
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