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
提交
cb1674e0
提交
cb1674e0
编写于
10月 12, 2019
作者:
rushui.chen
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
20191012 完善图片验证码的逻辑
上级
6d8a3814
流水线
#15727
已失败 于阶段
in 1 second
变更
2
流水线
1
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
41 行增加
和
10 行删除
+41
-10
AccountController.java
.../account/account/server/controller/AccountController.java
+22
-10
BaseRequest.java
...om/pica/cloud/account/account/server/req/BaseRequest.java
+19
-0
未找到文件。
server/src/main/java/com/pica/cloud/account/account/server/controller/AccountController.java
浏览文件 @
cb1674e0
package
com
.
pica
.
cloud
.
account
.
account
.
server
.
controller
;
import
com.pica.cloud.account.account.server.entity.Account
;
import
com.pica.cloud.account.account.server.entity.EncryptEntity
;
import
com.pica.cloud.account.account.server.mapper.AccountMapper
;
import
com.pica.cloud.account.account.server.req.AccountReq
;
import
com.pica.cloud.account.account.server.req.BaseRequest
;
import
com.pica.cloud.account.account.server.service.AccountService
;
import
com.pica.cloud.account.account.server.service.CaptchaService
;
import
com.pica.cloud.account.account.server.util.CryptoUtil
;
import
com.pica.cloud.foundation.encryption.common.constants.EncryptConstants
;
import
com.pica.cloud.foundation.encryption.util.EncryptUtils
;
import
com.pica.cloud.foundation.entity.PicaException
;
...
...
@@ -25,12 +28,14 @@ import org.slf4j.LoggerFactory;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.Date
;
import
java.util.Map
;
import
java.util.UUID
;
/**
* 账号相关controller
*
* @author andong
* @create 2019/5/20
*/
...
...
@@ -50,14 +55,18 @@ public class AccountController extends AccountBaseController {
private
ICacheClient
redisClient
;
@GetMapping
(
"/test"
)
public
String
test
()
{
return
"test"
;}
public
String
test
()
{
return
"test"
;
}
@ApiOperation
(
"H5端和PC端获取短信验证码"
)
@PostMapping
(
"/authCode"
)
public
PicaResponse
<
String
>
getAuthCode
(
@ApiParam
(
value
=
"手机号"
,
required
=
true
)
@RequestParam
(
"mobilePhone"
)
String
mobilePhone
,
@ApiParam
(
value
=
"验证码类型 0默认 1注册 2微信登录绑定手机 3修改手机 4重置密码 5忘记密码"
)
@RequestParam
(
value
=
"flag"
,
defaultValue
=
"0"
)
String
flag
,
@ApiParam
(
value
=
"图形验证码token"
,
required
=
true
)
@RequestParam
(
"captchaToken"
)
String
captchaToken
,
@ApiParam
(
value
=
"图形验证码答案"
,
required
=
true
)
@RequestParam
(
"captchaAnswer"
)
String
captchaAnswer
)
{
public
PicaResponse
<
String
>
getAuthCode
(
@RequestBody
EncryptEntity
entity
)
throws
Exception
{
BaseRequest
request
=
CryptoUtil
.
decrypt
(
entity
,
BaseRequest
.
class
);
String
mobilePhone
=
request
.
getMobile
();
String
flag
=
request
.
getFlag
()+
""
;
String
captchaToken
=
request
.
getCaptchaToken
();
String
captchaAnswer
=
request
.
getCaptchaAnswer
();
//校验图形验证码
if
(!
captchaService
.
acknowledge
(
captchaToken
,
captchaAnswer
))
{
return
PicaResponse
.
toResponse
(
null
,
PicaResultCode
.
PARAM_IS_INVALID
.
code
(),
"图形验证码错误"
);
...
...
@@ -93,7 +102,7 @@ public class AccountController extends AccountBaseController {
return
PicaResponse
.
toResponse
(
newToken
);
}
// @ApiOperation("密码或验证码登录")
// @ApiOperation("密码或验证码登录")
// @PostMapping("/login")
public
PicaResponse
<
String
>
login
(
@RequestBody
AccountReq
req
)
{
this
.
checkMobilePhone
(
req
.
getMobilePhone
());
...
...
@@ -128,7 +137,7 @@ public class AccountController extends AccountBaseController {
return
PicaResponse
.
toResponse
(
newToken
);
}
// @ApiOperation("注册")
// @ApiOperation("注册")
// @PostMapping("/register")
public
PicaResponse
<
String
>
register
(
@RequestBody
AccountReq
req
)
{
this
.
checkMobilePhone
(
req
.
getMobilePhone
());
...
...
@@ -214,7 +223,7 @@ public class AccountController extends AccountBaseController {
redisClient
.
del
(
oldToken
);
}
//生成新token
int
expiredSeconds
=
30
*
24
*
60
*
60
;
//H5 token有效期30天
int
expiredSeconds
=
30
*
24
*
60
*
60
;
//H5 token有效期30天
newToken
=
UUID
.
randomUUID
().
toString
().
replace
(
"-"
,
""
).
toUpperCase
();
String
tokenKey
=
"token-"
+
newToken
;
redisClient
.
set
(
tokenKey
,
tokenValue
,
expiredSeconds
);
...
...
@@ -226,11 +235,14 @@ public class AccountController extends AccountBaseController {
picaUser
.
setToken
(
newToken
);
picaUser
.
setId
(
account
.
getId
().
intValue
());
picaUser
.
setMobile
(
account
.
getMobilePhone
());
picaUser
.
setName
(
EncryptUtils
.
decryptContent
(
account
.
getMobilePhone
(),
EncryptConstants
.
ENCRYPT_TYPE_MOBILE
,
EncryptConstants
.
ENCRYPT_DECRYPT_KEY
).
replaceAll
(
"(\\d{3})\\d{4}(\\w{4})"
,
"$1****$2"
));
picaUser
.
setName
(
EncryptUtils
.
decryptContent
(
account
.
getMobilePhone
(),
EncryptConstants
.
ENCRYPT_TYPE_MOBILE
,
EncryptConstants
.
ENCRYPT_DECRYPT_KEY
).
replaceAll
(
"(\\d{3})\\d{4}(\\w{4})"
,
"$1****$2"
));
picaUser
.
setCreated_time
(
account
.
getCreatTime
());
Map
<
String
,
String
>
data
=
Object2Map
.
objectToMapString
(
"yyyy-MM-dd HH:mm:ss"
,
picaUser
,
new
String
[
0
]);
data
.
put
(
"sysCode"
,
"h5"
);
data
.
forEach
((
key
,
value
)
->
{
value
=
value
==
null
?
""
:
value
;
redisClient
.
hset
(
tokenValue
,
key
,
value
);});
data
.
forEach
((
key
,
value
)
->
{
value
=
value
==
null
?
""
:
value
;
redisClient
.
hset
(
tokenValue
,
key
,
value
);
});
}
}
catch
(
Exception
ex
)
{
logger
.
error
(
"生成H5 token异常:{}"
+
ex
.
getMessage
(),
ex
);
...
...
server/src/main/java/com/pica/cloud/account/account/server/req/BaseRequest.java
浏览文件 @
cb1674e0
...
...
@@ -30,7 +30,26 @@ public class BaseRequest {
private
String
weChatCode
;
@ApiModelProperty
(
"微信登录类型"
)
private
Integer
weChatLoginType
;
@ApiModelProperty
(
"图片验证码token"
)
private
String
captchaToken
;
@ApiModelProperty
(
"图片验证码答案"
)
private
String
captchaAnswer
;
public
String
getCaptchaToken
()
{
return
captchaToken
;
}
public
void
setCaptchaToken
(
String
captchaToken
)
{
this
.
captchaToken
=
captchaToken
;
}
public
String
getCaptchaAnswer
()
{
return
captchaAnswer
;
}
public
void
setCaptchaAnswer
(
String
captchaAnswer
)
{
this
.
captchaAnswer
=
captchaAnswer
;
}
public
Integer
getAccId
()
{
return
accId
;
...
...
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录