Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Q
qk_backend
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
quanku
qk_backend
Commits
3f77b1e2
Commit
3f77b1e2
authored
Dec 12, 2023
by
shiyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
废弃原来的登录接口,修改微信登录获取手机号接口返回数据类型
parent
bea0a82a
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
59 additions
and
56 deletions
+59
-56
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/UserServiceImpl.java
...pi/src/main/java/com/wwdz/ch/wx/impl/UserServiceImpl.java
+48
-46
ch-wx-api/src/main/java/com/wwdz/ch/wx/manager/WxLoginManager.java
.../src/main/java/com/wwdz/ch/wx/manager/WxLoginManager.java
+8
-7
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/UserService.java
...api/src/main/java/com/wwdz/ch/wx/service/UserService.java
+1
-1
ch-wx-api/src/main/java/com/wwdz/ch/wx/web/WxUserController.java
...pi/src/main/java/com/wwdz/ch/wx/web/WxUserController.java
+2
-2
No files found.
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/UserServiceImpl.java
View file @
3f77b1e2
...
...
@@ -125,6 +125,51 @@ public class UserServiceImpl implements UserService {
UserWriteService
userWriteService
;
@Override
public
Result
finishLogin
(
UserRequestDto
dto
)
{
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
// 先登出其他
userTokenManager
.
removeToken
(
dto
.
getUserId
());
String
token
=
dto
.
getToken
();
// 获取token
UserToken
userToken
=
userTokenManager
.
generateToken
(
dto
.
getUserId
(),
token
);
userToken
.
setSessionKey
(
UUID
.
randomUUID
().
toString
().
replace
(
"-"
,
""
));
result
.
put
(
"token"
,
dto
.
getToken
());
result
.
put
(
"tokenExpire"
,
userToken
.
getExpireTime
().
toString
());
result
.
put
(
"isInvited"
,
true
);
User
user
=
userDao
.
queryById
(
dto
.
getUserId
());
logger
.
info
(
"登录用户的信息:{}"
,
JsonUtils
.
from
(
user
));
String
phone
=
user
.
getMobile
();
//如果用户手机号为空,则调用微信接口查询出手机号进行保存
if
(
org
.
springframework
.
util
.
StringUtils
.
isEmpty
(
user
.
getMobile
()))
{
logger
.
info
(
"用户id:{}, 手机号为空,需要进行手机号获取, code:{}, loginCode:{}"
,
dto
.
getUserId
(),
dto
.
getCode
(),
dto
.
getLoginCode
());
if
(
dto
.
getLoginType
().
equals
(
LoginTypeEnum
.
WECHAT
.
getCode
()))
{
Result
<
String
>
resultForPhone
=
wxLoginManager
.
getPhone
(
dto
);
if
(!
resultForPhone
.
getSuccess
())
{
logger
.
info
(
">>>>>>>>>>>>> FAILED 获取手机号失败 : {} <<<<<<<<<<<<<"
,
resultForPhone
.
getErrmsg
());
}
else
{
phone
=
resultForPhone
.
getData
();
//保存用户手机
com
.
wwdz
.
user
.
api
.
model
.
user
.
User
wuser
=
new
com
.
wwdz
.
user
.
api
.
model
.
user
.
User
();
wuser
.
setUserId
(
dto
.
getUserId
());
wuser
.
setPhone
(
phone
);
CloudServerResponse
<
Integer
>
cloudServerResponse
=
userWriteService
.
updateByUserId
(
wuser
);
if
(
cloudServerResponse
.
getResult
()
!=
null
&&
cloudServerResponse
.
getResult
()
>
0
)
{
logger
.
info
(
">>>>>>>> 用户id:{} 保存用户手机号成功 <<<<<<<<"
,
dto
.
getUserId
());
}
else
{
logger
.
error
(
">>>>>>>> 用户id:{} 保存用户手机号失败 <<<<<<<<"
,
dto
.
getUserId
());
}
}
}
}
result
.
put
(
"phone"
,
phone
);
// 缓存用户信息
String
userKey
=
MessageFormat
.
format
(
CacheCodeConstants
.
USER_INFO_KEY
,
user
.
getId
());
redisUtil
.
set
(
userKey
,
user
,
2
*
60
*
60
);
logger
.
info
(
"【请求结束】登录信息初始化成功, 响应结果:{}"
,
JSONObject
.
toJSONString
(
result
));
return
Result
.
success
(
result
);
}
@Override
...
...
@@ -201,52 +246,9 @@ public class UserServiceImpl implements UserService {
}
@Override
public
Result
finishLogin
(
UserRequestDto
dto
)
{
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
// 先登出其他
userTokenManager
.
removeToken
(
dto
.
getUserId
());
String
token
=
dto
.
getToken
();
// 获取token
UserToken
userToken
=
userTokenManager
.
generateToken
(
dto
.
getUserId
(),
token
);
userToken
.
setSessionKey
(
UUID
.
randomUUID
().
toString
().
replace
(
"-"
,
""
));
result
.
put
(
"token"
,
dto
.
getToken
());
result
.
put
(
"tokenExpire"
,
userToken
.
getExpireTime
().
toString
());
result
.
put
(
"isInvited"
,
true
);
User
user
=
userDao
.
queryById
(
dto
.
getUserId
());
logger
.
info
(
"登录用户的信息:{}"
,
JsonUtils
.
from
(
user
));
String
phone
=
user
.
getMobile
();
//如果用户手机号为空,则调用微信接口查询出手机号进行保存
if
(
org
.
springframework
.
util
.
StringUtils
.
isEmpty
(
user
.
getMobile
()))
{
logger
.
info
(
"用户id:{}, 手机号为空,需要进行手机号获取, code:{}, loginCode:{}"
,
dto
.
getUserId
(),
dto
.
getCode
(),
dto
.
getLoginCode
());
if
(
dto
.
getLoginType
().
equals
(
LoginTypeEnum
.
WECHAT
.
getCode
()))
{
phone
=
wxLoginManager
.
getPhone
(
dto
);
if
(
StringUtils
.
equals
(
"phoneFalse"
,
phone
))
{
logger
.
info
(
">>>>>>>>>>>>> FAILED 获取手机号失败 <<<<<<<<<<<<<"
);
phone
=
null
;
}
else
{
//保存用户手机
com
.
wwdz
.
user
.
api
.
model
.
user
.
User
wuser
=
new
com
.
wwdz
.
user
.
api
.
model
.
user
.
User
();
wuser
.
setUserId
(
dto
.
getUserId
());
wuser
.
setPhone
(
phone
);
CloudServerResponse
<
Integer
>
cloudServerResponse
=
userWriteService
.
updateByUserId
(
wuser
);
if
(
cloudServerResponse
.
getResult
()
!=
null
&&
cloudServerResponse
.
getResult
()
>
0
)
{
logger
.
info
(
">>>>>>>> 用户id:{} 保存用户手机号成功 <<<<<<<<"
,
dto
.
getUserId
());
}
else
{
logger
.
error
(
">>>>>>>> 用户id:{} 保存用户手机号失败 <<<<<<<<"
,
dto
.
getUserId
());
}
}
}
}
result
.
put
(
"phone"
,
phone
);
// 缓存用户信息
String
userKey
=
MessageFormat
.
format
(
CacheCodeConstants
.
USER_INFO_KEY
,
user
.
getId
());
redisUtil
.
set
(
userKey
,
user
,
2
*
60
*
60
);
logger
.
info
(
"【请求结束】登录信息初始化成功, 响应结果:{}"
,
JSONObject
.
toJSONString
(
result
));
return
Result
.
success
(
result
);
}
@Transactional
/* @Transactional
@Override
public Result login(UserRequestDto dto, HttpServletRequest request) {
try {
...
...
@@ -314,7 +316,7 @@ public class UserServiceImpl implements UserService {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return Result.failed("快捷登录失败");
}
}
}
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/manager/WxLoginManager.java
View file @
3f77b1e2
...
...
@@ -4,6 +4,7 @@ import cn.binarywang.wx.miniapp.api.WxMaService;
import
cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult
;
import
cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo
;
import
com.alibaba.fastjson.JSON
;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.core.util.OkHttpUtil
;
import
com.wwdz.ch.core.util.RedisUtils
;
import
com.wwdz.ch.db.dto.request.UserRequestDto
;
...
...
@@ -81,13 +82,13 @@ public class WxLoginManager {
* @param dto
* @return
*/
public
String
getPhone
(
UserRequestDto
dto
)
{
public
Result
<
String
>
getPhone
(
UserRequestDto
dto
)
{
logger
.
info
(
"----------------- 开始获取手机号 ----------------"
);
String
phone
=
""
;
if
(
dto
.
getType
()
==
1
)
{
String
accessToken
=
getAccessToken
();
if
(
com
.
xxdxxs
.
utils
.
StringUtils
.
isEmpty
(
accessToken
))
{
return
"false"
;
return
Result
.
failed
()
;
}
logger
.
info
(
">>>>> 请求获取手机号 的token : {}"
,
accessToken
);
String
url
=
String
.
format
(
GET_PHONE_URL
,
accessToken
);
...
...
@@ -100,7 +101,7 @@ public class WxLoginManager {
logger
.
info
(
"获取手机号的结果:{}"
,
phoneResult
);
if
(!
phoneResult
.
contains
(
"phoneNumber"
))
{
logger
.
error
(
"获取手机号出错,返回结果是:"
+
phoneResult
);
return
"phoneFalse"
;
return
Result
.
failed
(
"phoneFalse"
)
;
}
phone
=
JsonUtils
.
getValueByPath
(
phoneResult
,
"phone_info/phoneNumber"
);
}
else
{
...
...
@@ -112,11 +113,11 @@ public class WxLoginManager {
logger
.
info
(
"获取sessionKey结果:"
+
JSON
.
toJSONString
(
result
));
}
catch
(
Exception
e
)
{
logger
.
error
(
"获取用户登录信息失败"
,
e
);
return
"sessionFalse"
;
return
Result
.
failed
(
"sessionFalse"
)
;
}
if
(
StringUtils
.
isBlank
(
sessionKey
))
{
logger
.
info
(
"微信登录,调用官方接口失败:{}"
,
dto
.
getLoginCode
());
return
"sessionFalse"
;
return
Result
.
failed
(
"sessionFalse"
)
;
}
logger
.
info
(
"解析手机号加密信息-----------------------"
);
...
...
@@ -126,10 +127,10 @@ public class WxLoginManager {
phone
=
wxMaPhoneNumberInfo
.
getPhoneNumber
();
}
catch
(
Exception
e
)
{
logger
.
error
(
"解析手机号加密信息失败"
,
e
);
return
"decryptFalse"
;
return
Result
.
failed
(
"decryptFalse"
)
;
}
}
return
phone
;
return
Result
.
success
(
phone
)
;
}
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/UserService.java
View file @
3f77b1e2
...
...
@@ -40,7 +40,7 @@ public interface UserService {
* @param request
* @return
*/
Result
login
(
UserRequestDto
dto
,
HttpServletRequest
request
);
//
Result login(UserRequestDto dto, HttpServletRequest request);
/**
* 修改个性签名
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/web/WxUserController.java
View file @
3f77b1e2
...
...
@@ -51,7 +51,7 @@ public class WxUserController {
@ApiOperation
(
value
=
"快捷登录"
)
/*
@ApiOperation(value = "快捷登录")
@PostMapping("/login")
public Result login(@RequestBody UserRequestDto dto, HttpServletRequest request) {
logger.info("【请求开始】快捷登录,请求参数:{}", JSON.toJSONString(dto));
...
...
@@ -82,7 +82,7 @@ public class WxUserController {
}
}
return userService.login(dto, request);
}
}
*/
@ApiOperation
(
value
=
"登录手机验证码"
)
@PostMapping
(
"/loginRegCaptcha"
)
...
...
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