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
提交
856efd9b
提交
856efd9b
编写于
10月 18, 2019
作者:
rushui.chen
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
20191018 注册接口的幂等性处理
上级
3e0ec820
流水线
#16007
已失败 于阶段
in 0 second
变更
2
流水线
1
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
23 行增加
和
12 行删除
+23
-12
RegisterController.java
...account/account/server/controller/RegisterController.java
+21
-11
AccountExceptionEnum.java
...ud/account/account/server/enums/AccountExceptionEnum.java
+2
-1
未找到文件。
server/src/main/java/com/pica/cloud/account/account/server/controller/RegisterController.java
浏览文件 @
856efd9b
...
...
@@ -10,6 +10,7 @@ import com.pica.cloud.account.account.common.req.OCINRequest;
import
com.pica.cloud.account.account.server.service.RegisterService
;
import
com.pica.cloud.account.account.server.util.AccountUtils
;
import
com.pica.cloud.account.account.server.util.CryptoUtil
;
import
com.pica.cloud.foundation.entity.PicaException
;
import
com.pica.cloud.foundation.entity.PicaResponse
;
import
com.pica.cloud.foundation.redis.ICacheClient
;
import
io.swagger.annotations.Api
;
...
...
@@ -22,7 +23,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
@Api
(
description
=
"注册资源"
)
@Api
(
description
=
"注册资源"
)
@RestController
@RequestMapping
(
"/register"
)
public
class
RegisterController
extends
AccountBaseController
{
...
...
@@ -47,19 +48,28 @@ public class RegisterController extends AccountBaseController {
String
mobile
=
request
.
getMobile
();
//接口幂等性处理(redis中没有就进行注册逻辑,如果已经存在,就不处理)
String
exist
=
redisClient
.
get
(
REPEAT_REGISTER_PREFIX
+
mobile
);
if
(
StringUtils
.
isBlank
(
exist
)){
redisClient
.
set
(
REPEAT_REGISTER_PREFIX
+
mobile
,
mobile
);
accountUtils
.
checkMobilePhoneAndAuthCode
(
mobile
,
AccountTypeEnum
.
SYSCODE_TYPE_REGISTER
.
getCode
()+
""
,
request
.
getAuthCode
());
if
(
StringUtils
.
isBlank
(
exist
))
{
accountUtils
.
checkMobilePhoneAndAuthCode
(
mobile
,
AccountTypeEnum
.
SYSCODE_TYPE_REGISTER
.
getCode
()
+
""
,
request
.
getAuthCode
());
accountUtils
.
checkPassword
(
request
.
getPassword
());
request
.
setFlag
(
AccountTypeEnum
.
SYSCODE_TYPE_REGISTER
.
getCode
());
request
.
setProductType
(
super
.
getProductType
());
request
.
setSourceType
(
super
.
getSourceType
());
request
.
setLoginIp
(
super
.
getIpAddr
());
LoginResult
result
=
registerService
.
register
(
request
);
redisClient
.
set
(
REPEAT_REGISTER_PREFIX
+
mobile
,
mobile
,
30
);
LoginResult
result
=
null
;
try
{
request
.
setFlag
(
AccountTypeEnum
.
SYSCODE_TYPE_REGISTER
.
getCode
());
request
.
setProductType
(
super
.
getProductType
());
request
.
setSourceType
(
super
.
getSourceType
());
request
.
setLoginIp
(
super
.
getIpAddr
());
result
=
registerService
.
register
(
request
);
}
catch
(
Exception
e
)
{
//向上抛出异常,让异常处理框架捕获到
throw
new
AccountException
(
AccountExceptionEnum
.
PICA_REGISTER_FAIL
);
}
finally
{
//如果在注册过程中抛出异常,就删除redis中的注册标记
redisClient
.
del
(
REPEAT_REGISTER_PREFIX
+
mobile
);
}
redisClient
.
del
(
REPEAT_REGISTER_PREFIX
+
mobile
);
return
PicaResponse
.
toResponse
(
result
);
}
else
{
return
PicaResponse
.
toResponse
(
null
,
AccountExceptionEnum
.
PICA_ALREADY_REGISTER
.
getCode
(),
AccountExceptionEnum
.
PICA_ALREADY_REGISTER
.
getMessage
()
);
}
else
{
return
PicaResponse
.
toResponse
(
null
,
AccountExceptionEnum
.
PICA_ALREADY_REGISTER
.
getCode
(),
"正在注册中,请勿重复提交"
);
}
}
...
...
server/src/main/java/com/pica/cloud/account/account/server/enums/AccountExceptionEnum.java
浏览文件 @
856efd9b
...
...
@@ -24,7 +24,8 @@ public enum AccountExceptionEnum {
PICA_MOBILE_SAME
(
"216516"
,
"新手机号与旧手机号不能相同"
),
PICA_PARAMS_ERROR
(
"216517"
,
"传递参数有误"
),
PICA_SYSCODE_RETRY
(
"216518"
,
"请X秒后重试"
),
PICA_NOT_EXIST
(
"216519"
,
"该用户不存在"
);
PICA_NOT_EXIST
(
"216519"
,
"该用户不存在"
),
PICA_REGISTER_FAIL
(
"216520"
,
"注册失败"
);
private
String
code
;
...
...
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录