Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
P
pica-cloud-account
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
1
合并请求
1
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
Close sidebar
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
com.pica.cloud.account
pica-cloud-account
提交
27ad1ff1
提交
27ad1ff1
编写于
3月 11, 2020
作者:
Chongwen.jiang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
日志添加,发送短信...
上级
d8650831
流水线
#22669
已失败 于阶段
in 0 second
变更
3
流水线
1
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
42 行增加
和
30 行删除
+42
-30
LoginController.java
...ud/account/account/server/controller/LoginController.java
+21
-9
AccountExceptionEnum.java
...ud/account/account/server/enums/AccountExceptionEnum.java
+1
-0
RegisterServiceImpl.java
...ount/account/server/service/impl/RegisterServiceImpl.java
+20
-21
未找到文件。
server/src/main/java/com/pica/cloud/account/account/server/controller/LoginController.java
浏览文件 @
27ad1ff1
...
...
@@ -15,11 +15,14 @@ import com.pica.cloud.account.account.server.service.TokenService;
import
com.pica.cloud.account.account.server.util.AccountUtils
;
import
com.pica.cloud.account.account.server.util.CryptoUtil
;
import
com.pica.cloud.foundation.entity.PicaResponse
;
import
com.pica.cloud.foundation.entity.PicaWarnException
;
import
com.pica.cloud.foundation.redis.CacheClient
;
import
com.pica.cloud.foundation.redis.ICacheClient
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.apache.commons.lang.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -29,6 +32,7 @@ import java.util.Map;
@Api
(
description
=
"登录资源"
)
@RestController
public
class
LoginController
extends
AccountBaseController
{
private
Logger
logger
=
LoggerFactory
.
getLogger
(
this
.
getClass
());
@Autowired
private
LoginService
loginService
;
...
...
@@ -136,16 +140,24 @@ public class LoginController extends AccountBaseController {
Long
result
=
cacheClient
.
setnx
(
cache_prifix
+
request
.
getWeChatCode
(),
request
.
getWeChatCode
());
if
(
result
==
1
)
{
cacheClient
.
set
(
cache_prifix
+
request
.
getWeChatCode
(),
60
);
long
doctorId
=
super
.
getDoctorIdByToken
();
String
nickname
=
loginService
.
bindWeChat
(
doctorId
,
request
);
Map
<
String
,
String
>
map
=
new
HashMap
();
map
.
put
(
"nickname"
,
nickname
);
//成功以后释放锁
cacheClient
.
del
(
cache_prifix
+
request
.
getWeChatCode
());
return
PicaResponse
.
toResponse
(
map
);
try
{
cacheClient
.
expire
(
cache_prifix
+
request
.
getWeChatCode
(),
60
);
long
doctorId
=
super
.
getDoctorIdByToken
();
String
nickname
=
loginService
.
bindWeChat
(
doctorId
,
request
);
Map
<
String
,
String
>
map
=
new
HashMap
();
map
.
put
(
"nickname"
,
nickname
);
//成功以后释放锁
cacheClient
.
del
(
cache_prifix
+
request
.
getWeChatCode
());
return
PicaResponse
.
toResponse
(
map
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"bindWeChat-"
+
e
.
getMessage
(),
e
);
throw
new
PicaWarnException
(
AccountExceptionEnum
.
PICA_BIND_WECHAT_FAIL
.
getCode
(),
AccountExceptionEnum
.
PICA_BIND_WECHAT_FAIL
.
getMessage
());
}
finally
{
//成功以后释放锁
cacheClient
.
del
(
cache_prifix
+
request
.
getWeChatCode
());
return
null
;
}
}
else
{
cacheClient
.
del
(
cache_prifix
+
request
.
getWeChatCode
());
return
PicaResponse
.
toResponse
(
null
,
AccountExceptionEnum
.
PICA_WECHAT_UNBIND_CURRENT
.
getCode
(),
AccountExceptionEnum
.
PICA_WECHAT_UNBIND_CURRENT
.
getMessage
());
}
...
...
server/src/main/java/com/pica/cloud/account/account/server/enums/AccountExceptionEnum.java
浏览文件 @
27ad1ff1
...
...
@@ -49,6 +49,7 @@ public enum AccountExceptionEnum {
PICA_RC_60_SECOND_LIMIT
(
"216540"
,
"验证码发送频率过高,请{remainTime}秒后再试"
),
PICA_H5_AUTH_CODE_INTERFACE_OFFED
(
"216541"
,
"该功能已关闭"
),
PICA_MESSAGE_SERVICE_CALL_FAIL
(
"216542"
,
"短信发送失败"
),
PICA_BIND_WECHAT_FAIL
(
"216543"
,
"绑定微信失败"
),
xxx_xxx
(
""
,
""
);
...
...
server/src/main/java/com/pica/cloud/account/account/server/service/impl/RegisterServiceImpl.java
浏览文件 @
27ad1ff1
...
...
@@ -51,9 +51,6 @@ public class RegisterServiceImpl implements RegisterService {
@Autowired
private
TokenUtils
tokenUtils
;
@Autowired
private
AgreementEntityMapper
agreementEntityMapper
;
@Autowired
private
AgreementLogEntityMapper
agreementLogEntityMapper
;
...
...
@@ -79,13 +76,14 @@ public class RegisterServiceImpl implements RegisterService {
public
LoginResult
register
(
BaseRequest
baseRequest
,
QueryMobileEntity
queryMobileEntity
)
{
String
mobile
=
baseRequest
.
getMobile
();
//对注册接口做幂等性处理:注册成功,删除缓存,注册失败提示用户
String
exist
=
redisClient
.
get
(
Constants
.
REPEAT_REGISTER_PREFIX
+
mobile
);
if
(
StringUtils
.
isBlank
(
exist
))
{
String
mobileEncrypt
=
AESUtil
.
encryptV0
(
mobile
);
AccountInfoEntity
accountInfoEntity
=
accountInfoDetailMapper
.
selectByMobile
(
mobileEncrypt
);
if
(
accountInfoEntity
==
null
)
{
redisClient
.
set
(
Constants
.
REPEAT_REGISTER_PREFIX
+
mobile
,
mobile
,
30
);
try
{
String
nxKey
=
Constants
.
REPEAT_REGISTER_PREFIX
+
mobile
;
Long
resultNx
=
redisClient
.
setnx
(
nxKey
,
mobile
);
if
(
resultNx
==
1
)
{
try
{
String
mobileEncrypt
=
AESUtil
.
encryptV0
(
mobile
);
AccountInfoEntity
accountInfoEntity
=
accountInfoDetailMapper
.
selectByMobile
(
mobileEncrypt
);
if
(
accountInfoEntity
==
null
)
{
redisClient
.
expire
(
nxKey
,
30
);
Date
currentTime
=
new
Date
();
int
productType
=
baseRequest
.
getProductType
();
int
sourceType
=
baseRequest
.
getSourceType
();
...
...
@@ -155,19 +153,20 @@ public class RegisterServiceImpl implements RegisterService {
processAgreement
(
userId
);
logger
.
info
(
"register-add-roleMap"
);
processRoleMap
(
userId
);
redisClient
.
del
(
Constants
.
REPEAT_REGISTER_PREFIX
+
mobile
);
redisClient
.
del
(
nxKey
);
return
result
;
}
catch
(
Exception
e
)
{
//向上抛出异常,让异常处理框架捕获到
logger
.
error
(
"register-"
+
e
.
getMessage
(),
e
);
throw
new
AccountException
(
AccountExceptionEnum
.
PICA_REGISTER_FAIL
);
}
finally
{
//如果在注册过程中抛出异常,就删除redis中的注册标记
redisClient
.
del
(
Constants
.
REPEAT_REGISTER_PREFIX
+
mobile
);
}
else
{
logger
.
info
(
"register-account is exists"
);
throw
new
AccountException
(
AccountExceptionEnum
.
PICA_ALREADY_REGISTER
);
}
}
else
{
logger
.
info
(
"register-account is exists"
);
throw
new
AccountException
(
AccountExceptionEnum
.
PICA_ALREADY_REGISTER
);
}
catch
(
Exception
e
)
{
//向上抛出异常,让异常处理框架捕获到
logger
.
error
(
"register-"
+
e
.
getMessage
(),
e
);
throw
new
AccountException
(
AccountExceptionEnum
.
PICA_REGISTER_FAIL
);
}
finally
{
//如果在注册过程中抛出异常,就删除redis中的注册标记
logger
.
info
(
"register-del-nxKey"
);
redisClient
.
del
(
nxKey
);
}
}
else
{
logger
.
info
(
"register-key is exists"
);
...
...
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录