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
提交
e1cd690d
提交
e1cd690d
编写于
6月 20, 2022
作者:
江陈
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat:加入合作机构自动开saas账号
saas平台新增验证码登陆接口
上级
038aeee1
流水线
#47476
已失败 于阶段
变更
4
流水线
1
显示空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
91 行增加
和
2 行删除
+91
-2
AccountController.java
.../account/account/server/controller/AccountController.java
+2
-2
LoginController.java
...ud/account/account/server/controller/LoginController.java
+43
-0
LoginService.java
...ca/cloud/account/account/server/service/LoginService.java
+7
-0
LoginServiceImpl.java
...account/account/server/service/impl/LoginServiceImpl.java
+39
-0
未找到文件。
server/src/main/java/com/pica/cloud/account/account/server/controller/AccountController.java
浏览文件 @
e1cd690d
...
...
@@ -469,7 +469,7 @@ public class AccountController extends AccountBaseController {
//手机格式校验
p
rivate
void
checkMobilePhone
(
String
mobilePhone
)
{
p
ublic
void
checkMobilePhone
(
String
mobilePhone
)
{
if
(
StringUtils
.
isBlank
(
mobilePhone
)
||
!
ValidateUtils
.
isMobile
(
mobilePhone
))
{
throw
new
PicaException
(
PicaResultCode
.
PARAM_IS_INVALID
.
code
(),
"请输入正确的手机号"
);
}
...
...
@@ -482,7 +482,7 @@ public class AccountController extends AccountBaseController {
}
//校验验证码
p
rivate
void
checkAuthCode
(
AccountReq
req
)
{
p
ublic
void
checkAuthCode
(
AccountReq
req
)
{
String
flag
=
StringUtils
.
isBlank
(
req
.
getFlag
())
?
"0"
:
req
.
getFlag
();
if
(
StringUtils
.
isBlank
(
req
.
getAuthCode
()))
{
...
...
server/src/main/java/com/pica/cloud/account/account/server/controller/LoginController.java
浏览文件 @
e1cd690d
package
com
.
pica
.
cloud
.
account
.
account
.
server
.
controller
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.pica.cloud.account.account.server.entity.AesBean.AesAuthCodeReq
;
import
com.pica.cloud.account.account.server.entity.*
;
...
...
@@ -9,6 +10,7 @@ import com.pica.cloud.account.account.server.enums.SourceTypeEnum;
import
com.pica.cloud.account.account.server.exception.AccountException
;
import
com.pica.cloud.account.account.server.log.AccountLogEntityUtils
;
import
com.pica.cloud.account.account.server.log.AccountLogUtils
;
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.req.OneClickLoginReq
;
import
com.pica.cloud.account.account.server.service.CaptchaService
;
...
...
@@ -36,6 +38,7 @@ import org.slf4j.LoggerFactory;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
java.util.Map
;
@Api
(
description
=
"登录资源"
)
...
...
@@ -66,6 +69,9 @@ public class LoginController extends AccountBaseController {
@Autowired
private
CaptchaService
captchaService
;
@Resource
private
AccountController
accountController
;
/**
* 密码登录接口(app、H5、web)
*
...
...
@@ -474,4 +480,41 @@ public class LoginController extends AccountBaseController {
SaasLoginResult
login
=
loginService
.
saasLogin
(
request
);
return
PicaResponse
.
toResponse
(
login
);
}
@ApiOperation
(
"saas机构管理平台验证码登录接口"
)
@PostMapping
(
"/saasLoginByAuthCode"
)
public
PicaResponse
<
SaasLoginResult
>
saasLoginByAuthCode
(
@RequestBody
SaasLoginReq
authCodeReq
)
throws
Exception
{
EncryptEntity
entity
=
new
EncryptEntity
();
entity
.
setKey
(
authCodeReq
.
getKey
());
entity
.
setContent
(
authCodeReq
.
getContent
());
logger
.
info
(
"saasLoginByAuthCode 验证码登陆接口参数:{}"
,
JSON
.
toJSONString
(
entity
));
BaseRequest
request
=
CryptoUtil
.
decrypt
(
entity
,
BaseRequest
.
class
);
logger
.
info
(
"saasLoginByAuthCode 解密之后的数据request:{}"
,
JSON
.
toJSONString
(
entity
));
request
.
setProductType
(
super
.
getProductType
());
Integer
sourceType
=
super
.
getSourceType
();
request
.
setSourceType
(
sourceType
==
null
?
0
:
sourceType
);
request
.
setLoginIp
(
super
.
getIpAddr
());
request
.
setUserTokenTourist
(
super
.
getUserTokenTourist
());
AccountUtils
.
checkMobilePhone
(
request
.
getMobile
());
try
{
//校验验证码
accountController
.
checkMobilePhone
(
request
.
getMobile
());
AccountReq
accountReq
=
new
AccountReq
();
accountReq
.
setMobilePhone
(
request
.
getMobile
());
accountReq
.
setFlag
(
"0"
);
accountReq
.
setAuthCode
(
request
.
getAuthCode
());
accountController
.
checkAuthCode
(
accountReq
);
}
catch
(
PicaException
e
)
{
logger
.
info
(
"saasLoginByAuthCode 短信验证失败"
);
return
PicaResponse
.
toResponse
(
null
,
e
.
getCode
(),
e
.
getMessage
());
}
catch
(
Exception
e
)
{
logger
.
info
(
"saasLoginByAuthCode 短信验证失败"
);
return
PicaResponse
.
toResponse
(
null
,
PicaResultCode
.
DATA_EXCEPTION
.
code
(),
"短信校验异常"
);
}
SaasLoginResult
login
=
loginService
.
saasLogin
(
request
);
return
PicaResponse
.
toResponse
(
login
);
}
}
server/src/main/java/com/pica/cloud/account/account/server/service/LoginService.java
浏览文件 @
e1cd690d
...
...
@@ -112,4 +112,11 @@ public interface LoginService {
*/
SaasLoginResult
saasLogin
(
BaseRequest
request
);
/***
* saas 验证码登录
* @param request
* @return
*/
SaasLoginResult
saasLoginByAuthCode
(
BaseRequest
request
);
}
server/src/main/java/com/pica/cloud/account/account/server/service/impl/LoginServiceImpl.java
浏览文件 @
e1cd690d
...
...
@@ -1229,6 +1229,45 @@ public class LoginServiceImpl implements LoginService {
}
}
@Override
public
SaasLoginResult
saasLoginByAuthCode
(
BaseRequest
request
)
{
//接入新旭事务一致性
String
batchNo
=
IntactUtils
.
getUUID
();
intactUtil
.
sendIntact
(
batchNo
,
"login"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_1
,
"request:"
+
JSON
.
toJSONString
(
request
));
String
mobile
=
request
.
getMobile
();
Integer
sourceType
=
request
.
getSourceType
();
String
encrypt
=
AESUtil
.
encryptV0
(
mobile
);
AccountInfoEntity
accountInfoEntity
=
accountInfoDetailMapper
.
selectByMobile
(
encrypt
);
logger
.
info
(
"bizType:{}, account not null:{}"
,
request
.
getBizType
(),
accountInfoEntity
!=
null
);
if
(
accountInfoEntity
!=
null
)
{
intactUtil
.
sendIntact
(
batchNo
,
"login"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"接下来调用pwdLoginCorrect"
);
return
pwdSaaSLoginCorrect
(
request
,
mobile
,
encrypt
,
accountInfoEntity
);
}
else
{
if
(
null
!=
request
.
getBizType
()
&&
request
.
getBizType
().
equals
(
1
))
{
if
(
sourceType
!=
null
&&
SourceTypeEnum
.
H5
.
getCode
().
equals
(
sourceType
))
{
intactUtil
.
sendIntact
(
batchNo
,
"login"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"该手机号尚未设置密码,设置密码请前往云鹊医APP,或使用其他方式登录。"
);
throw
new
PicaWarnException
(
AccountExceptionEnum
.
PICA_MOBILE_NOT_REGIST_H5
.
getCode
(),
AccountExceptionEnum
.
PICA_MOBILE_NOT_REGIST_H5
.
getMessage
());
}
else
{
// 新版-未注册
intactUtil
.
sendIntact
(
batchNo
,
"login"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"该手机号{mobile}尚未设置密码,请先设置密码。"
);
throw
new
PicaException
(
AccountExceptionEnum
.
PICA_PASSWORD_RULE_ERROR
.
getCode
(),
AccountExceptionEnum
.
PICA_PASSWORD_RULE_ERROR
.
getMessage
()
.
replace
(
"{mobile}"
,
mobile
));
}
}
else
{
intactUtil
.
sendIntact
(
batchNo
,
"login"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"未注册,请先注册"
);
throw
new
PicaException
(
AccountExceptionEnum
.
PICA_NOT_REGISTER
.
getCode
(),
AccountExceptionEnum
.
PICA_NOT_REGISTER
.
getMessage
());
}
}
}
private
SaasLoginResult
pwdSaaSLoginCorrect
(
BaseRequest
request
,
String
mobile
,
String
encrypt
,
AccountInfoEntity
accountInfoEntity
)
{
//接入新旭事务一致性
String
batchNo
=
IntactUtils
.
getUUID
();
...
...
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录