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
提交
ff1f5409
提交
ff1f5409
编写于
3月 03, 2020
作者:
Chongwen.jiang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1、h5发送验证码加入redis开关
2、密码登录成功以后清除reids中错误次数 3、重置密码-找回密码流程加入后台生成token和用户信息返回
上级
07177abf
流水线
#22273
已失败 于阶段
in 0 second
变更
8
流水线
1
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
79 行增加
和
5 行删除
+79
-5
Constants.java
...ica/cloud/account/account/server/constants/Constants.java
+3
-0
AutoCodeController.java
...account/account/server/controller/AutoCodeController.java
+9
-1
PasswordController.java
...account/account/server/controller/PasswordController.java
+3
-1
AccountExceptionEnum.java
...ud/account/account/server/enums/AccountExceptionEnum.java
+1
-0
PasswordService.java
...cloud/account/account/server/service/PasswordService.java
+3
-0
LoginServiceImpl.java
...account/account/server/service/impl/LoginServiceImpl.java
+5
-0
PasswordServiceImpl.java
...ount/account/server/service/impl/PasswordServiceImpl.java
+47
-3
AccountWeChatInfoMapperTest.java
...nt/account/server/mapper/AccountWeChatInfoMapperTest.java
+8
-0
未找到文件。
server/src/main/java/com/pica/cloud/account/account/server/constants/Constants.java
浏览文件 @
ff1f5409
...
...
@@ -55,4 +55,7 @@ public class Constants {
/** 苹果组织官网地址 */
public
static
final
String
APPLE_ISSUE_URL
=
"https://appleid.apple.com"
;
/** h5端发送短信验证码接口开关缓存key */
public
static
final
String
AUTHCODE_H5_SWITCH_KEY
=
"AUTH-CODE-H5-SWITCH"
;
}
server/src/main/java/com/pica/cloud/account/account/server/controller/AutoCodeController.java
浏览文件 @
ff1f5409
package
com
.
pica
.
cloud
.
account
.
account
.
server
.
controller
;
import
com.alibaba.fastjson.JSON
;
import
com.pica.cloud.account.account.server.constants.Constants
;
import
com.pica.cloud.account.account.server.entity.AccountUnionEntity
;
import
com.pica.cloud.account.account.server.entity.EncryptEntity
;
import
com.pica.cloud.account.account.server.enums.AccountExceptionEnum
;
...
...
@@ -107,6 +108,13 @@ public class AutoCodeController extends AccountBaseController {
@ApiOperation
(
"获取短信验证码,无需图形验证码,如h5端"
)
@PostMapping
(
value
=
"/H5/authCode"
)
public
PicaResponse
getH5AuthCode
(
@RequestBody
EncryptEntity
entity
,
HttpServletRequest
req
)
throws
Exception
{
// 如果该接口已关闭(缓存key存在),则直接返回
if
(
cacheClient
.
exists
(
Constants
.
AUTHCODE_H5_SWITCH_KEY
))
{
logger
.
info
(
"getH5AuthCode-interface-return"
);
throw
new
PicaWarnException
(
AccountExceptionEnum
.
PICA_H5_AUTH_CODE_INTERFACE_OFFED
.
getCode
(),
AccountExceptionEnum
.
PICA_H5_AUTH_CODE_INTERFACE_OFFED
.
getMessage
());
}
// 验证码类型 0默认 1注册 2微信登录绑定手机 3修改手机
// 4重置密码 5忘记密码 7患者招募提交问卷(效验) 8Appe登录绑定手机
BaseRequest
request
=
CryptoUtil
.
decrypt
(
entity
,
BaseRequest
.
class
);
...
...
@@ -131,7 +139,7 @@ public class AutoCodeController extends AccountBaseController {
}
/**
* @Description web获取效验码-老版,记录风控行为
todo joy
* @Description web获取效验码-老版,记录风控行为
* @Author peijun.zhao
* @Date 2020/2/28 9:52
* @ModifyDate 2020/2/28 9:52
...
...
server/src/main/java/com/pica/cloud/account/account/server/controller/PasswordController.java
浏览文件 @
ff1f5409
...
...
@@ -100,7 +100,9 @@ public class PasswordController extends AccountBaseController {
return
PicaResponse
.
toResponse
(
result
);
}
else
{
// 新版-已注册了的则找回密码
return
reSetPwd
(
request
,
account
);
reSetPwd
(
request
,
account
);
// 后台生成token返回
return
PicaResponse
.
toResponse
(
passwordService
.
findPwdLogin
(
request
,
account
));
}
}
else
{
// 老版
...
...
server/src/main/java/com/pica/cloud/account/account/server/enums/AccountExceptionEnum.java
浏览文件 @
ff1f5409
...
...
@@ -47,6 +47,7 @@ public enum AccountExceptionEnum {
PICA_RC_BLACKLIST
(
"216538"
,
"发送成功"
),
PICA_RC_DAY_LIMIT
(
"216539"
,
"今日获取验证码次数已超过上限,请使用账户密码登录"
),
PICA_RC_60_SECOND_LIMIT
(
"216540"
,
"验证码发送频率过高,请{remainTime}秒后再试"
),
PICA_H5_AUTH_CODE_INTERFACE_OFFED
(
"216541"
,
"该功能已关闭"
),
xxx_xxx
(
""
,
""
);
...
...
server/src/main/java/com/pica/cloud/account/account/server/service/PasswordService.java
浏览文件 @
ff1f5409
package
com
.
pica
.
cloud
.
account
.
account
.
server
.
service
;
import
com.pica.cloud.account.account.server.entity.AccountInfoEntity
;
import
com.pica.cloud.account.account.server.entity.LoginResult
;
import
com.pica.cloud.account.account.server.req.BaseRequest
;
public
interface
PasswordService
{
...
...
@@ -20,4 +21,6 @@ public interface PasswordService {
* @param request 参数模型
*/
void
forgetPassword
(
BaseRequest
request
,
AccountInfoEntity
entity
);
LoginResult
findPwdLogin
(
BaseRequest
request
,
AccountInfoEntity
accountInfo
);
}
server/src/main/java/com/pica/cloud/account/account/server/service/impl/LoginServiceImpl.java
浏览文件 @
ff1f5409
...
...
@@ -224,6 +224,11 @@ public class LoginServiceImpl implements LoginService {
AccountTypeEnum
.
LOG_TYPE_LOGIN
.
getCode
());
picaLogUtils
.
info
(
entity
);
// 密码登录成功以后,清除错误次数记录
String
pwdErrorNum
=
Constants
.
PWD_ERROR_NUM_KEY
.
replace
(
"{mobile}"
,
mobile
);
if
(
redisClient
.
exists
(
pwdErrorNum
))
{
redisClient
.
del
(
pwdErrorNum
);
}
return
result
;
}
...
...
server/src/main/java/com/pica/cloud/account/account/server/service/impl/PasswordServiceImpl.java
浏览文件 @
ff1f5409
package
com
.
pica
.
cloud
.
account
.
account
.
server
.
service
.
impl
;
import
com.pica.cloud.account.account.server.entity.AccountInfoEntity
;
import
com.pica.cloud.account.account.server.entity.Doctor
;
import
com.pica.cloud.account.account.server.entity.LogPWDModifyEntity
;
import
com.pica.cloud.account.account.server.entity.*
;
import
com.pica.cloud.account.account.server.enums.AccountExceptionEnum
;
import
com.pica.cloud.account.account.server.enums.AccountTypeEnum
;
import
com.pica.cloud.account.account.server.exception.AccountException
;
...
...
@@ -13,6 +11,10 @@ import com.pica.cloud.account.account.server.mapper.DoctorMapper;
import
com.pica.cloud.account.account.server.req.BaseRequest
;
import
com.pica.cloud.account.account.server.service.PasswordService
;
import
com.pica.cloud.account.account.server.util.AESUtil
;
import
com.pica.cloud.account.account.server.util.AccountUtils
;
import
com.pica.cloud.account.account.server.util.TokenUtils
;
import
com.pica.cloud.foundation.encryption.common.constants.EncryptConstants
;
import
com.pica.cloud.foundation.encryption.util.EncryptUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
...
...
@@ -35,6 +37,16 @@ public class PasswordServiceImpl implements PasswordService {
@Value
(
"${doubleWritingMode}"
)
private
boolean
doubleWritingMode
;
@Autowired
private
AccountUtils
accountUtils
;
@Autowired
private
TokenUtils
tokenUtils
;
@Autowired
private
DoctorMapper
doctorInfoMapper
;
@Override
@Transactional
public
void
modifyPassword
(
String
mobile
,
String
oldPwd
,
String
pwd
)
{
...
...
@@ -92,6 +104,38 @@ public class PasswordServiceImpl implements PasswordService {
}
}
/**
* @Description 重置密码-自动登录(生成token)
* @Author Chongwen.jiang
* @Date 2020/3/3 17:44
* @ModifyDate 2020/3/3 17:44
* @Params [request, accountInfo]
* @Return com.pica.cloud.account.account.server.entity.LoginResult
*/
@Override
public
LoginResult
findPwdLogin
(
BaseRequest
request
,
AccountInfoEntity
accountInfo
)
{
Long
userId
=
accountUtils
.
getUserIdByAcctId
(
request
.
getProductType
(),
accountInfo
.
getId
());
Account
account2
=
new
Account
();
account2
.
setId
(
userId
);
account2
.
setAcctId
(
accountInfo
.
getId
());
account2
.
setCreatTime
(
new
Date
());
account2
.
setMobilePhone
(
request
.
getMobile
());
account2
.
setRegisterSource
(
request
.
getSourceType
());
String
newToken
=
tokenUtils
.
generateToken
(
account2
);
LoginResult
result
=
new
LoginResult
();
result
.
setToken
(
newToken
);
result
.
setUserId
(
userId
);
result
.
setMobile
(
request
.
getMobile
());
result
.
setDoctorId
(
EncryptUtils
.
encryptContent
(
userId
+
""
,
EncryptConstants
.
ENCRYPT_TYPE_ID
));
//是否完善过个人信息(云鹊医app才需要)
if
(
request
.
getProductType
()
==
AccountTypeEnum
.
PRODUCT_TYPE_DOCTOR
.
getCode
())
{
Doctor
doctorEntity
=
doctorInfoMapper
.
selectByPrimaryKey
(
userId
.
intValue
());
result
.
setEntireFlag
(
doctorEntity
.
getEntireFlag
());
}
return
result
;
}
/**
* 双写模式,把密码存储到p_doctor表
*
...
...
server/test/main/java/com/pica/cloud/account/account/server/mapper/AccountWeChatInfoMapperTest.java
浏览文件 @
ff1f5409
package
com
.
pica
.
cloud
.
account
.
account
.
server
.
mapper
;
// Copyright 2016-2101 Pica.
import
com.pica.cloud.account.account.server.constants.Constants
;
import
com.pica.cloud.account.account.server.entity.AccountWeChatInfoEntity
;
import
com.pica.cloud.foundation.redis.ICacheClient
;
import
org.junit.runner.RunWith
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.test.context.SpringBootTest
;
...
...
@@ -21,6 +23,9 @@ public class AccountWeChatInfoMapperTest {
@Autowired
private
AccountWeChatInfoMapper
weChatInfoMapper
;
@Autowired
private
ICacheClient
cacheClient
;
@org
.
junit
.
Test
public
void
test1
(){
/* AccountWeChatInfoEntity record = new AccountWeChatInfoEntity();
...
...
@@ -30,5 +35,8 @@ public class AccountWeChatInfoMapperTest {
record.setCity("邵阳");
int count = weChatInfoMapper.insertSelective(record);
System.out.println(count);*/
//System.out.println(cacheClient.set(Constants.AUTHCODE_H5_SWITCH_KEY, Constants.AUTHCODE_H5_SWITCH_KEY+"-/account/H5/authCode"));
//System.out.println(cacheClient.del(Constants.AUTHCODE_H5_SWITCH_KEY));
}
}
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录