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
81634cff
Commit
81634cff
authored
Jul 07, 2023
by
王亮
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
temp commit(have a nice weekend)
parent
db5b902f
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
81 additions
and
46 deletions
+81
-46
ISessionService.java
...a/cn/quantgroup/xyqb/service/session/ISessionService.java
+2
-0
SMSDirectJiLoginStrategy.java
.../quantgroup/xyqb/service/v2/SMSDirectJiLoginStrategy.java
+1
-1
SMSLoginStrategy.java
.../java/cn/quantgroup/xyqb/service/v2/SMSLoginStrategy.java
+1
-1
WechatMiniLoginStrategy.java
...n/quantgroup/xyqb/service/v2/WechatMiniLoginStrategy.java
+47
-29
WechatMiniPhoneLoginStrategy.java
...ntgroup/xyqb/service/v2/WechatMiniPhoneLoginStrategy.java
+30
-15
No files found.
src/main/java/cn/quantgroup/xyqb/service/session/ISessionService.java
View file @
81634cff
...
@@ -47,4 +47,6 @@ public interface ISessionService {
...
@@ -47,4 +47,6 @@ public interface ISessionService {
* @return
* @return
*/
*/
AuthBean
createSession
(
User
user
,
LoginProperties
loginProperties
,
int
ordinal
,
Integer
tenantId
);
AuthBean
createSession
(
User
user
,
LoginProperties
loginProperties
,
int
ordinal
,
Integer
tenantId
);
}
}
src/main/java/cn/quantgroup/xyqb/service/v2/SMSDirectJiLoginStrategy.java
View file @
81634cff
...
@@ -126,7 +126,7 @@ public class SMSDirectJiLoginStrategy implements LoginStrategy {
...
@@ -126,7 +126,7 @@ public class SMSDirectJiLoginStrategy implements LoginStrategy {
LoginProperties
loginProperties
=
new
LoginProperties
(
1
,
sessionStruct
.
getRegisteredFrom
(),
sessionStruct
.
getTenantId
());
LoginProperties
loginProperties
=
new
LoginProperties
(
1
,
sessionStruct
.
getRegisteredFrom
(),
sessionStruct
.
getTenantId
());
AuthBean
authBean
=
sessionService
.
createSession
(
user
,
loginProperties
,
LoginType
.
A
CCOUNTPASSWORD
.
ordinal
(),
sessionStruct
.
getTenantId
());
AuthBean
authBean
=
sessionService
.
createSession
(
user
,
loginProperties
,
LoginType
.
A
UTHLOGIN
.
ordinal
(),
sessionStruct
.
getTenantId
());
LoginBean
loginBean
=
new
LoginBean
();
LoginBean
loginBean
=
new
LoginBean
();
if
(
authBean
!=
null
)
{
if
(
authBean
!=
null
)
{
loginBean
.
setToken
(
authBean
.
getToken
());
loginBean
.
setToken
(
authBean
.
getToken
());
...
...
src/main/java/cn/quantgroup/xyqb/service/v2/SMSLoginStrategy.java
View file @
81634cff
...
@@ -116,7 +116,7 @@ public class SMSLoginStrategy implements LoginStrategy {
...
@@ -116,7 +116,7 @@ public class SMSLoginStrategy implements LoginStrategy {
LoginProperties
loginProperties
=
new
LoginProperties
(
1
,
sessionStruct
.
getRegisteredFrom
(),
sessionStruct
.
getTenantId
());
LoginProperties
loginProperties
=
new
LoginProperties
(
1
,
sessionStruct
.
getRegisteredFrom
(),
sessionStruct
.
getTenantId
());
AuthBean
authBean
=
sessionService
.
createSession
(
user
,
loginProperties
,
LoginType
.
ACCOUNTPASSWORD
.
ordinal
(),
sessionStruct
.
getTenantId
());
AuthBean
authBean
=
sessionService
.
createSession
(
user
,
loginProperties
,
LoginType
.
VERIFICATIONCODE
.
ordinal
(),
sessionStruct
.
getTenantId
());
LoginBean
loginBean
=
new
LoginBean
();
LoginBean
loginBean
=
new
LoginBean
();
if
(
authBean
!=
null
)
{
if
(
authBean
!=
null
)
{
loginBean
.
setToken
(
authBean
.
getToken
());
loginBean
.
setToken
(
authBean
.
getToken
());
...
...
src/main/java/cn/quantgroup/xyqb/service/v2/WechatMiniLoginStrategy.java
View file @
81634cff
...
@@ -3,6 +3,7 @@ package cn.quantgroup.xyqb.service.v2;
...
@@ -3,6 +3,7 @@ package cn.quantgroup.xyqb.service.v2;
import
cn.quantgroup.xyqb.config.data.WechatConfiguration
;
import
cn.quantgroup.xyqb.config.data.WechatConfiguration
;
import
cn.quantgroup.xyqb.constant.enums.LoginType
;
import
cn.quantgroup.xyqb.constant.enums.LoginType
;
import
cn.quantgroup.xyqb.controller.req.v2.LoginReq
;
import
cn.quantgroup.xyqb.controller.req.v2.LoginReq
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.entity.WechatUserInfo
;
import
cn.quantgroup.xyqb.entity.WechatUserInfo
;
import
cn.quantgroup.xyqb.exception.BizException
;
import
cn.quantgroup.xyqb.exception.BizException
;
import
cn.quantgroup.xyqb.exception.BizExceptionEnum
;
import
cn.quantgroup.xyqb.exception.BizExceptionEnum
;
...
@@ -14,6 +15,7 @@ import cn.quantgroup.xyqb.model.session.SessionStruct;
...
@@ -14,6 +15,7 @@ import cn.quantgroup.xyqb.model.session.SessionStruct;
import
cn.quantgroup.xyqb.model.v2.login.BaseLoginParam
;
import
cn.quantgroup.xyqb.model.v2.login.BaseLoginParam
;
import
cn.quantgroup.xyqb.model.v2.login.WechatMiniLoginParam
;
import
cn.quantgroup.xyqb.model.v2.login.WechatMiniLoginParam
;
import
cn.quantgroup.xyqb.remote.WechatRemoteService
;
import
cn.quantgroup.xyqb.remote.WechatRemoteService
;
import
cn.quantgroup.xyqb.repository.IUserRepository
;
import
cn.quantgroup.xyqb.repository.IWeChatUserRepository
;
import
cn.quantgroup.xyqb.repository.IWeChatUserRepository
;
import
cn.quantgroup.xyqb.service.session.ISessionService
;
import
cn.quantgroup.xyqb.service.session.ISessionService
;
import
cn.quantgroup.xyqb.session.XyqbSessionContextHolder
;
import
cn.quantgroup.xyqb.session.XyqbSessionContextHolder
;
...
@@ -30,19 +32,21 @@ import java.util.Map;
...
@@ -30,19 +32,21 @@ import java.util.Map;
*/
*/
@Service
@Service
@Slf4j
@Slf4j
public
class
WechatMiniLoginStrategy
implements
LoginStrategy
{
public
class
WechatMiniLoginStrategy
implements
LoginStrategy
{
private
final
WechatRemoteService
wechatRemoteService
;
private
final
WechatRemoteService
wechatRemoteService
;
private
final
WechatConfiguration
wechatConfiguration
;
private
final
WechatConfiguration
wechatConfiguration
;
private
final
IWeChatUserRepository
weChatUserRepository
;
private
final
IWeChatUserRepository
weChatUserRepository
;
private
final
IUserRepository
userRepository
;
private
final
ISessionService
sessionService
;
private
final
ISessionService
sessionService
;
private
final
Gson
gson
;
private
final
Gson
gson
;
public
WechatMiniLoginStrategy
(
WechatRemoteService
wechatRemoteService
,
WechatConfiguration
wechatConfiguration
,
IWeChatUserRepository
weChatUserRepository
,
ISessionService
sessionService
,
Gson
gson
)
{
public
WechatMiniLoginStrategy
(
WechatRemoteService
wechatRemoteService
,
WechatConfiguration
wechatConfiguration
,
IWeChatUserRepository
weChatUserRepository
,
I
UserRepository
userRepository
,
I
SessionService
sessionService
,
Gson
gson
)
{
this
.
wechatRemoteService
=
wechatRemoteService
;
this
.
wechatRemoteService
=
wechatRemoteService
;
this
.
wechatConfiguration
=
wechatConfiguration
;
this
.
wechatConfiguration
=
wechatConfiguration
;
this
.
weChatUserRepository
=
weChatUserRepository
;
this
.
weChatUserRepository
=
weChatUserRepository
;
this
.
userRepository
=
userRepository
;
this
.
sessionService
=
sessionService
;
this
.
sessionService
=
sessionService
;
this
.
gson
=
gson
;
this
.
gson
=
gson
;
}
}
...
@@ -54,26 +58,26 @@ public class WechatMiniLoginStrategy implements LoginStrategy{
...
@@ -54,26 +58,26 @@ public class WechatMiniLoginStrategy implements LoginStrategy{
@Override
@Override
public
LoginBean
login
(
BaseLoginParam
param
)
{
public
LoginBean
login
(
BaseLoginParam
param
)
{
WechatMiniLoginParam
loginParam
=
(
WechatMiniLoginParam
)
param
;
WechatMiniLoginParam
loginParam
=
(
WechatMiniLoginParam
)
param
;
SessionStruct
sessionStruct
=
XyqbSessionContextHolder
.
getXSession
();
SessionStruct
sessionStruct
=
XyqbSessionContextHolder
.
getXSession
();
//1、微信登录逻辑
//1、微信登录逻辑
WechatConfigBean
wechatConfigBean
=
wechatConfiguration
.
getByAppIdAndTenantId
(
loginParam
.
getAppId
(),
sessionStruct
.
getTenantId
());
WechatConfigBean
wechatConfigBean
=
wechatConfiguration
.
getByAppIdAndTenantId
(
loginParam
.
getAppId
(),
sessionStruct
.
getTenantId
());
String
response
=
wechatRemoteService
.
login
(
wechatConfigBean
.
getAppId
(),
wechatConfigBean
.
getAppSecret
(),
((
WechatMiniLoginParam
)
param
).
getCode
());
String
response
=
wechatRemoteService
.
login
(
wechatConfigBean
.
getAppId
(),
wechatConfigBean
.
getAppSecret
(),
((
WechatMiniLoginParam
)
param
).
getCode
());
Type
resultType
=
new
TypeToken
<
Map
<
String
,
String
>>()
{
Type
resultType
=
new
TypeToken
<
Map
<
String
,
String
>>()
{
}.
getType
();
}.
getType
();
Map
<
String
,
String
>
responseMap
=
gson
.
fromJson
(
response
,
resultType
);
Map
<
String
,
String
>
responseMap
=
gson
.
fromJson
(
response
,
resultType
);
String
openid
,
sessionKey
,
unionId
;
String
openid
,
sessionKey
=
null
,
unionId
=
null
;
User
user
=
null
;
assert
responseMap
!=
null
;
assert
responseMap
!=
null
;
if
(
responseMap
.
containsKey
(
"errcode"
)
&&
Integer
.
parseInt
(
responseMap
.
get
(
"errcode"
))
!=
0
)
{
if
(
responseMap
.
containsKey
(
"errcode"
)
&&
Integer
.
parseInt
(
responseMap
.
get
(
"errcode"
))
!=
0
)
{
log
.
error
(
"code:{},errcode:{},errmsg:{}"
,
((
WechatMiniLoginParam
)
param
).
getCode
(),
responseMap
.
get
(
"errcode"
),
log
.
error
(
"code:{},errcode:{},errmsg:{}"
,
((
WechatMiniLoginParam
)
param
).
getCode
(),
responseMap
.
get
(
"errcode"
),
responseMap
.
get
(
"errmsg"
));
responseMap
.
get
(
"errmsg"
));
throw
new
BizException
(
BizExceptionEnum
.
ERROR_WECHAT_LOGIN
,
responseMap
.
get
(
"errmsg"
));
throw
new
BizException
(
BizExceptionEnum
.
ERROR_WECHAT_LOGIN
,
responseMap
.
get
(
"errmsg"
));
}
else
{
}
else
{
openid
=
responseMap
.
get
(
"openid"
);
openid
=
responseMap
.
get
(
"openid"
);
if
(
responseMap
.
containsKey
(
"session_key"
))
{
if
(
responseMap
.
containsKey
(
"session_key"
))
{
...
@@ -85,32 +89,46 @@ public class WechatMiniLoginStrategy implements LoginStrategy{
...
@@ -85,32 +89,46 @@ public class WechatMiniLoginStrategy implements LoginStrategy{
}
}
//2、登录判断逻辑
//2、登录判断逻辑
WechatUserInfo
wechatUserInfo
=
weChatUserRepository
.
findByOpenIdAndAppIdAndTenantId
(
openid
,
loginParam
.
getAppId
(),
sessionStruct
.
getTenantId
());
WechatUserInfo
wechatUserInfo
=
weChatUserRepository
.
findByOpenIdAndAppIdAndTenantId
(
openid
,
loginParam
.
getAppId
(),
sessionStruct
.
getTenantId
());
boolean
register
=
false
;
boolean
register
=
false
;
if
(
wechatUserInfo
==
null
)
{
if
(
wechatUserInfo
==
null
)
{
//首次登录
//首次登录
register
=
true
;
register
=
true
;
wechatUserInfo
=
new
WechatUserInfo
();
wechatUserInfo
.
setOpenId
(
openid
);
wechatUserInfo
.
setUnionId
(
unionId
);
wechatUserInfo
.
setAppId
(
loginParam
.
getAppId
());
wechatUserInfo
.
setTenantId
(
sessionStruct
.
getTenantId
());
wechatUserInfo
.
setSessionKey
(
sessionKey
);
}
else
{
wechatUserInfo
.
setSessionKey
(
sessionKey
);
}
else
{
}
// wechatUserInfo = weChatUserRepository.save(null);
weChatUserRepository
.
save
(
wechatUserInfo
);
if
(
wechatUserInfo
.
getUserId
()
!=
null
)
{
user
=
userRepository
.
findByIdAndTenantId
(
wechatUserInfo
.
getUserId
(),
sessionStruct
.
getTenantId
());
}
LoginProperties
loginProperties
=
new
LoginProperties
(
1
,
sessionStruct
.
getRegisteredFrom
(),
sessionStruct
.
getTenantId
());
AuthBean
authBean
=
new
AuthBean
();
if
(
user
!=
null
){
authBean
=
sessionService
.
createSession
(
user
,
loginProperties
,
LoginType
.
WECHATLOGIN
.
ordinal
(),
sessionStruct
.
getTenantId
());
}
//TODO:需要针对微信登录用户签发token
LoginBean
loginBean
=
new
LoginBean
();
if
(
authBean
!=
null
)
{
loginBean
.
setToken
(
authBean
.
getToken
());
loginBean
.
setPhoneNo
(
authBean
.
getPhoneNo
());
loginBean
.
setUuid
(
authBean
.
getUuid
());
loginBean
.
setHasPassword
(
authBean
.
isHasPassword
());
loginBean
.
setUserId
(
wechatUserInfo
.
getUserId
());
loginBean
.
setTenantId
(
wechatUserInfo
.
getTenantId
());
}
}
// LoginProperties loginProperties = new LoginProperties(1, sessionStruct.getRegisteredFrom(), sessionStruct.getTenantId());
loginBean
.
setRegister
(
register
);
// AuthBean authBean = sessionService.createSession(user, loginProperties, LoginType.ACCOUNTPASSWORD.ordinal(), sessionStruct.getTenantId());
// LoginBean loginBean = new LoginBean();
// if (authBean != null) {
return
loginBean
;
// loginBean.setToken(authBean.getToken());
// loginBean.setPhoneNo(authBean.getPhoneNo());
// loginBean.setUuid(authBean.getUuid());
// loginBean.setHasPassword(authBean.isHasPassword());
// loginBean.setUserId(wechatUserInfo.getUserId());
// loginBean.setTenantId(wechatUserInfo.getTenantId());
// }
// loginBean.setRegister(register);
//
return
null
;
}
}
@Override
@Override
...
...
src/main/java/cn/quantgroup/xyqb/service/v2/WechatMiniPhoneLoginStrategy.java
View file @
81634cff
...
@@ -5,9 +5,9 @@ import cn.quantgroup.xyqb.config.data.WechatConfiguration;
...
@@ -5,9 +5,9 @@ import cn.quantgroup.xyqb.config.data.WechatConfiguration;
import
cn.quantgroup.xyqb.constant.enums.LoginType
;
import
cn.quantgroup.xyqb.constant.enums.LoginType
;
import
cn.quantgroup.xyqb.controller.req.v2.LoginReq
;
import
cn.quantgroup.xyqb.controller.req.v2.LoginReq
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.entity.WechatUserInfo
;
import
cn.quantgroup.xyqb.exception.BizException
;
import
cn.quantgroup.xyqb.exception.BizException
;
import
cn.quantgroup.xyqb.exception.BizExceptionEnum
;
import
cn.quantgroup.xyqb.exception.BizExceptionEnum
;
import
cn.quantgroup.xyqb.exception.UserNotExistException
;
import
cn.quantgroup.xyqb.model.*
;
import
cn.quantgroup.xyqb.model.*
;
import
cn.quantgroup.xyqb.model.session.SessionStruct
;
import
cn.quantgroup.xyqb.model.session.SessionStruct
;
import
cn.quantgroup.xyqb.model.v2.login.BaseLoginParam
;
import
cn.quantgroup.xyqb.model.v2.login.BaseLoginParam
;
...
@@ -68,26 +68,26 @@ public class WechatMiniPhoneLoginStrategy implements LoginStrategy {
...
@@ -68,26 +68,26 @@ public class WechatMiniPhoneLoginStrategy implements LoginStrategy {
@Override
@Override
public
LoginBean
login
(
BaseLoginParam
param
)
{
public
LoginBean
login
(
BaseLoginParam
param
)
{
WechatMiniPhoneLoginParam
loginParam
=
(
WechatMiniPhoneLoginParam
)
param
;
WechatMiniPhoneLoginParam
loginParam
=
(
WechatMiniPhoneLoginParam
)
param
;
SessionStruct
sessionStruct
=
XyqbSessionContextHolder
.
getXSession
();
SessionStruct
sessionStruct
=
XyqbSessionContextHolder
.
getXSession
();
//1、微信登录逻辑
//1、微信登录逻辑
WechatConfigBean
wechatConfigBean
=
wechatConfiguration
.
getByAppIdAndTenantId
(
loginParam
.
getAppId
(),
sessionStruct
.
getTenantId
());
WechatConfigBean
wechatConfigBean
=
wechatConfiguration
.
getByAppIdAndTenantId
(
loginParam
.
getAppId
(),
sessionStruct
.
getTenantId
());
String
response
=
wechatRemoteService
.
login
(
wechatConfigBean
.
getAppId
(),
wechatConfigBean
.
getAppSecret
(),
((
WechatMiniLoginParam
)
param
).
getCode
());
String
response
=
wechatRemoteService
.
login
(
wechatConfigBean
.
getAppId
(),
wechatConfigBean
.
getAppSecret
(),
((
WechatMiniLoginParam
)
param
).
getCode
());
Type
resultType
=
new
TypeToken
<
Map
<
String
,
String
>>()
{
Type
resultType
=
new
TypeToken
<
Map
<
String
,
String
>>()
{
}.
getType
();
}.
getType
();
Map
<
String
,
String
>
responseMap
=
gson
.
fromJson
(
response
,
resultType
);
Map
<
String
,
String
>
responseMap
=
gson
.
fromJson
(
response
,
resultType
);
String
openid
,
sessionKey
,
unionId
;
String
openid
,
sessionKey
=
null
,
unionId
=
null
;
assert
responseMap
!=
null
;
assert
responseMap
!=
null
;
if
(
responseMap
.
containsKey
(
"errcode"
)
&&
Integer
.
parseInt
(
responseMap
.
get
(
"errcode"
))
!=
0
)
{
if
(
responseMap
.
containsKey
(
"errcode"
)
&&
Integer
.
parseInt
(
responseMap
.
get
(
"errcode"
))
!=
0
)
{
log
.
error
(
"code:{},errcode:{},errmsg:{}"
,
((
WechatMiniLoginParam
)
param
).
getCode
(),
responseMap
.
get
(
"errcode"
),
log
.
error
(
"code:{},errcode:{},errmsg:{}"
,
((
WechatMiniLoginParam
)
param
).
getCode
(),
responseMap
.
get
(
"errcode"
),
responseMap
.
get
(
"errmsg"
));
responseMap
.
get
(
"errmsg"
));
throw
new
BizException
(
BizExceptionEnum
.
ERROR_WECHAT_LOGIN
,
responseMap
.
get
(
"errmsg"
));
throw
new
BizException
(
BizExceptionEnum
.
ERROR_WECHAT_LOGIN
,
responseMap
.
get
(
"errmsg"
));
}
else
{
}
else
{
openid
=
responseMap
.
get
(
"openid"
);
openid
=
responseMap
.
get
(
"openid"
);
if
(
responseMap
.
containsKey
(
"session_key"
))
{
if
(
responseMap
.
containsKey
(
"session_key"
))
{
...
@@ -98,30 +98,45 @@ public class WechatMiniPhoneLoginStrategy implements LoginStrategy {
...
@@ -98,30 +98,45 @@ public class WechatMiniPhoneLoginStrategy implements LoginStrategy {
}
}
}
}
Map
<
String
,
String
>
phoneParam
=
new
HashMap
<>();
Map
<
String
,
String
>
phoneParam
=
new
HashMap
<>();
boolean
register
=
false
;
boolean
register
=
false
;
User
user
;
User
user
;
phoneParam
.
put
(
"code"
,
loginParam
.
getPhoneCode
());
phoneParam
.
put
(
"code"
,
loginParam
.
getPhoneCode
());
String
accessToken
=
redisTemplate
.
opsForValue
().
get
(
Constants
.
WECHAT_ACCESS_TOKEN_REDIS
+
loginParam
.
getAppId
());
String
accessToken
=
redisTemplate
.
opsForValue
().
get
(
Constants
.
WECHAT_ACCESS_TOKEN_REDIS
+
loginParam
.
getAppId
());
WechatPhoneBean
wechatPhoneBean
=
wechatRemoteService
.
getUserPhoneNumber
(
accessToken
,
phoneParam
);
WechatPhoneBean
wechatPhoneBean
=
wechatRemoteService
.
getUserPhoneNumber
(
accessToken
,
phoneParam
);
if
(
wechatPhoneBean
.
getErrcode
()
==
0
)
{
if
(
wechatPhoneBean
.
getErrcode
()
==
0
)
{
//1、查询库中是否存在用户
//1、查询库中是否存在用户
user
=
userRepository
.
findByPhoneNoAndTenantId
(
wechatPhoneBean
.
getPhone_info
().
getPurePhoneNumber
(),
sessionStruct
.
getTenantId
());
user
=
userRepository
.
findByPhoneNoAndTenantId
(
wechatPhoneBean
.
getPhone_info
().
getPurePhoneNumber
(),
sessionStruct
.
getTenantId
());
//2、如果没有用户,新建一条
//2、如果没有用户,新建一条
if
(
user
==
null
)
{
if
(
user
==
null
)
{
user
=
userRegisterService
.
register
(
sessionStruct
.
getRegisteredFrom
(),
wechatPhoneBean
.
getPhone_info
().
getPurePhoneNumber
(),
sessionStruct
.
getTenantId
());
user
=
userRegisterService
.
register
(
sessionStruct
.
getRegisteredFrom
(),
wechatPhoneBean
.
getPhone_info
().
getPurePhoneNumber
(),
sessionStruct
.
getTenantId
());
}
}
if
(
user
==
null
)
{
if
(
user
==
null
)
{
throw
new
BizException
(
BizExceptionEnum
.
UN_EXIT_USER
);
throw
new
BizException
(
BizExceptionEnum
.
UN_EXIT_USER
);
}
}
register
=
true
;
WechatUserInfo
wechatUserInfo
=
weChatUserRepository
.
findByOpenIdAndAppIdAndTenantId
(
openid
,
loginParam
.
getAppId
(),
sessionStruct
.
getTenantId
());
}
else
{
//如果微信用户为空,则补偿一条
throw
new
BizException
(
BizExceptionEnum
.
ERROR_WECHAT_LOGIN
,
wechatPhoneBean
.
getErrmsg
());
if
(
wechatUserInfo
==
null
)
{
register
=
true
;
wechatUserInfo
=
new
WechatUserInfo
();
wechatUserInfo
.
setOpenId
(
openid
);
wechatUserInfo
.
setUnionId
(
unionId
);
wechatUserInfo
.
setAppId
(
loginParam
.
getAppId
());
wechatUserInfo
.
setTenantId
(
sessionStruct
.
getTenantId
());
wechatUserInfo
.
setPhoneNo
(
user
.
getPhoneNo
());
wechatUserInfo
.
setUserId
(
user
.
getId
());
wechatUserInfo
.
setSessionKey
(
sessionKey
);
}
else
{
wechatUserInfo
.
setSessionKey
(
sessionKey
);
}
weChatUserRepository
.
save
(
wechatUserInfo
);
}
else
{
throw
new
BizException
(
BizExceptionEnum
.
ERROR_WECHAT_LOGIN
,
wechatPhoneBean
.
getErrmsg
());
}
}
LoginProperties
loginProperties
=
new
LoginProperties
(
1
,
sessionStruct
.
getRegisteredFrom
(),
sessionStruct
.
getTenantId
());
LoginProperties
loginProperties
=
new
LoginProperties
(
1
,
sessionStruct
.
getRegisteredFrom
(),
sessionStruct
.
getTenantId
());
AuthBean
authBean
=
sessionService
.
createSession
(
user
,
loginProperties
,
LoginType
.
ACCOUNTPASSWORD
.
ordinal
(),
sessionStruct
.
getTenantId
());
AuthBean
authBean
=
sessionService
.
createSession
(
user
,
loginProperties
,
LoginType
.
WECHATLOGIN
.
ordinal
(),
sessionStruct
.
getTenantId
());
LoginBean
loginBean
=
new
LoginBean
();
LoginBean
loginBean
=
new
LoginBean
();
if
(
authBean
!=
null
)
{
if
(
authBean
!=
null
)
{
loginBean
.
setToken
(
authBean
.
getToken
());
loginBean
.
setToken
(
authBean
.
getToken
());
...
...
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