Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
X
xyqb-user2
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
head_group
xyqb-user2
Commits
08b42294
Commit
08b42294
authored
Dec 26, 2017
by
技术部-任文超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
下线调用函谷关接口:/innerapi/is_login,/innerapi/disableUserCache
parent
a9c9363c
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
3 additions
and
131 deletions
+3
-131
MotanUserServiceImpl.java
.../xyqb/controller/external/motan/MotanUserServiceImpl.java
+1
-59
InnerController.java
...tgroup/xyqb/controller/external/user/InnerController.java
+0
-2
AuthInfoController.java
...up/xyqb/controller/internal/login/AuthInfoController.java
+2
-70
No files found.
src/main/java/cn/quantgroup/xyqb/controller/external/motan/MotanUserServiceImpl.java
View file @
08b42294
...
...
@@ -26,16 +26,13 @@ import cn.quantgroup.xyqb.session.XyqbSessionContextHolder;
import
cn.quantgroup.xyqb.util.PasswordUtil
;
import
cn.quantgroup.xyqb.util.ValidationUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.fasterxml.jackson.core.type.TypeReference
;
import
com.fasterxml.jackson.databind.DeserializationFeature
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.google.common.collect.ImmutableMap
;
import
com.weibo.api.motan.config.springsupport.annotation.MotanService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.util.CollectionUtils
;
import
java.sql.Timestamp
;
...
...
@@ -55,7 +52,6 @@ import static cn.quantgroup.xyqb.constant.UserConstant.USER_ERROR_OR_PASSWORD_ER
@MotanService
(
basicService
=
"baseServiceConfig"
)
public
class
MotanUserServiceImpl
implements
UserMotanService
{
private
static
final
ObjectMapper
MAPPER
=
new
ObjectMapper
();
private
final
static
Random
random
=
new
Random
();
...
...
@@ -63,10 +59,6 @@ public class MotanUserServiceImpl implements UserMotanService {
MAPPER
.
configure
(
DeserializationFeature
.
FAIL_ON_UNKNOWN_PROPERTIES
,
false
);
}
@Value
(
"${xyqb.auth.url}"
)
private
String
xyqbAuthUrl
;
@Autowired
private
IIdCardService
idCardService
;
@Autowired
...
...
@@ -679,58 +671,8 @@ public class MotanUserServiceImpl implements UserMotanService {
context
.
setAppChannel
(
sessionStruct
.
getValues
().
getLoginProperties
().
getAppChannel
());
loginInfo
.
setLoginContext
(
context
);
return
returnSuccessValue
(
loginInfo
);
}
else
{
// 函谷关去查token 返回值高仿
LoginInfo
loginInfo
=
getLoginInfoFromHanguguan
(
token
);
if
(
Objects
.
isNull
(
loginInfo
)){
return
returnErrorValue
(
"用户未登录"
);
}
return
returnSuccessValue
(
loginInfo
.
toXLoginInfo
());
}
}
/**
* 函谷关去查token 返回值高仿
* @param token
* @return
*/
private
LoginInfo
getLoginInfoFromHanguguan
(
String
token
)
{
if
(
StringUtils
.
isBlank
(
token
)
||
token
.
length
()
!=
36
){
return
null
;
}
log
.
info
(
"去向函谷关查询用户信息"
);
String
checkUrl
=
xyqbAuthUrl
+
"/innerapi/is_login"
;
ImmutableMap
<
String
,
String
>
headMap
=
ImmutableMap
.
of
(
Constants
.
X_AUTH_TOKEN
,
token
);
String
response
=
httpService
.
get
(
checkUrl
,
headMap
,
null
);
log
.
info
(
"去向函谷关查询用户信息,response:[{}]"
,
response
);
JsonResult
result
=
JSONObject
.
parseObject
(
response
,
JsonResult
.
class
);
if
(
result
==
null
||
!
"0000"
.
equals
(
result
.
getCode
())
||
!
"0000"
.
equals
(
result
.
getBusinessCode
()))
{
return
null
;
}
String
phoneNo
=
((
Map
<
String
,
String
>)
result
.
getData
()).
get
(
"phoneNo"
);
User
user
=
userService
.
findByPhoneWithCache
(
phoneNo
);
LoginInfo
loginInfo
=
new
LoginInfo
();
loginInfo
.
setUser
(
new
UserRet
(
user
));
loginInfo
.
setToken
(
token
);
LoginInfo
.
LoginContext
context
=
new
LoginInfo
.
LoginContext
();
context
.
setChannelId
(
null
);
context
.
setCreatedFrom
(
user
.
getRegisteredFrom
());
context
.
setAppChannel
(
""
);
if
(
Objects
.
equals
(
user
.
getRegisteredFrom
(),
222L
))
{
UserBtRegister
userBtRegister
=
null
;
try
{
userBtRegister
=
userBtRegisterService
.
findByUserId
(
user
.
getId
());
}
catch
(
Exception
e
){
}
if
(
null
!=
userBtRegister
){
context
.
setBtMerchantId
(
userBtRegister
.
getRegisterBtMerchantId
());
}
else
{
context
.
setBtMerchantId
(
1L
);
}
}
loginInfo
.
setLoginContext
(
context
);
return
loginInfo
;
return
returnErrorValue
(
"用户未登录"
);
}
/**
...
...
src/main/java/cn/quantgroup/xyqb/controller/external/user/InnerController.java
View file @
08b42294
...
...
@@ -734,8 +734,6 @@ public class InnerController implements IBaseController {
sessionService
.
deleteByUserId
(
userId
);
sessionService
.
deleteUserCatch
(
user
);
}
LOGGER
.
info
(
"去清除函谷关的缓存"
);
httpService
.
get
(
hanguguanUrl
.
concat
(
"/innerapi/disableUserCache"
),
ImmutableMap
.
of
(
"phone"
,
user
.
getPhoneNo
()));
return
JsonResult
.
buildSuccessResult
(
"用户已禁用."
,
user
.
getEnable
()
==
false
);
}
...
...
src/main/java/cn/quantgroup/xyqb/controller/internal/login/AuthInfoController.java
View file @
08b42294
package
cn
.
quantgroup
.
xyqb
.
controller
.
internal
.
login
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.controller.IBaseController
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.entity.UserBtRegister
;
import
cn.quantgroup.xyqb.model.JsonResult
;
import
cn.quantgroup.xyqb.model.UserRet
;
import
cn.quantgroup.xyqb.model.session.LoginInfo
;
...
...
@@ -11,20 +8,10 @@ import cn.quantgroup.xyqb.model.session.SessionStruct;
import
cn.quantgroup.xyqb.service.http.IHttpService
;
import
cn.quantgroup.xyqb.service.user.IUserBtRegisterService
;
import
cn.quantgroup.xyqb.service.user.IUserService
;
import
com.alibaba.fastjson.JSONObject
;
import
com.google.common.collect.ImmutableMap
;
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.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.context.request.RequestContextHolder
;
import
org.springframework.web.context.request.ServletRequestAttributes
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.Map
;
import
java.util.Objects
;
/**
* Created by Miraculous on 2016/12/30.
...
...
@@ -34,10 +21,6 @@ import java.util.Objects;
@Slf4j
public
class
AuthInfoController
implements
IBaseController
{
@Value
(
"${xyqb.auth.url}"
)
private
String
xyqbAuthUrl
;
@Autowired
private
IHttpService
httpService
;
...
...
@@ -61,62 +44,11 @@ public class AuthInfoController implements IBaseController {
context
.
setCreatedFrom
(
sessionStruct
.
getValues
().
getLoginProperties
().
getCreatedFrom
());
context
.
setAppChannel
(
sessionStruct
.
getValues
().
getLoginProperties
().
getAppChannel
());
context
.
setBtMerchantId
(
sessionStruct
.
getValues
().
getLoginProperties
().
getBtMerchantId
());
//有ThreadLocal不释放的问题,不可再使用原来方式了
loginInfo
.
setLoginContext
(
context
);
return
JsonResult
.
buildSuccessResult
(
""
,
loginInfo
);
//有ThreadLocal不释放的问题,不可再使用原来方式了
}
else
{
// 函谷关去查token 返回值高仿
HttpServletRequest
request
=
((
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
()).
getRequest
();
String
token
=
request
.
getHeader
(
Constants
.
X_AUTH_TOKEN
);
LoginInfo
loginInfo
=
getLoginInfoFromHanguguan
(
token
);
if
(
Objects
.
isNull
(
loginInfo
)){
return
JsonResult
.
buildErrorStateResult
(
"用户未登录"
,
null
);
}
return
JsonResult
.
buildSuccessResult
(
""
,
loginInfo
);
}
}
/**
* 函谷关去查token 返回值高仿
* @param token
* @return
*/
private
LoginInfo
getLoginInfoFromHanguguan
(
String
token
)
{
if
(
org
.
apache
.
commons
.
lang
.
StringUtils
.
isBlank
(
token
)
||
token
.
length
()
!=
36
){
return
null
;
}
log
.
info
(
"去向函谷关查询用户信息"
);
String
checkUrl
=
xyqbAuthUrl
+
"/innerapi/is_login"
;
ImmutableMap
<
String
,
String
>
headMap
=
ImmutableMap
.
of
(
Constants
.
X_AUTH_TOKEN
,
token
);
String
response
=
httpService
.
get
(
checkUrl
,
headMap
,
null
);
log
.
info
(
"去向函谷关查询用户信息,response:[{}]"
,
response
);
JsonResult
result
=
JSONObject
.
parseObject
(
response
,
JsonResult
.
class
);
if
(
result
==
null
||
!
"0000"
.
equals
(
result
.
getCode
())
||
!
"0000"
.
equals
(
result
.
getBusinessCode
()))
{
return
null
;
}
String
phoneNo
=
((
Map
<
String
,
String
>)
result
.
getData
()).
get
(
"phoneNo"
);
User
user
=
userService
.
findByPhoneWithCache
(
phoneNo
);
LoginInfo
loginInfo
=
new
LoginInfo
();
loginInfo
.
setUser
(
new
UserRet
(
user
));
loginInfo
.
setToken
(
token
);
LoginInfo
.
LoginContext
context
=
new
LoginInfo
.
LoginContext
();
context
.
setChannelId
(
null
);
context
.
setCreatedFrom
(
user
.
getRegisteredFrom
());
context
.
setAppChannel
(
""
);
if
(
Objects
.
equals
(
user
.
getRegisteredFrom
(),
222L
))
{
UserBtRegister
userBtRegister
=
null
;
try
{
userBtRegister
=
userBtRegisterService
.
findByUserId
(
user
.
getId
());
}
catch
(
Exception
e
){
}
if
(
null
!=
userBtRegister
){
context
.
setBtMerchantId
(
userBtRegister
.
getRegisterBtMerchantId
());
}
else
{
context
.
setBtMerchantId
(
1L
);
}
}
loginInfo
.
setLoginContext
(
context
);
return
loginInfo
;
return
JsonResult
.
buildErrorStateResult
(
"用户未登录"
,
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