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
提交
4ac45eb6
提交
4ac45eb6
编写于
11月 05, 2020
作者:
Peijun.zhao
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'hotfix-1104' into 'release'
Hotfix 1104 See merge request
!59
上级
965ca4b9
8b7379d3
流水线
#32012
已失败 于阶段
in 0 second
变更
6
流水线
2
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
92 行增加
和
1 行删除
+92
-1
LoginController.java
...ud/account/account/server/controller/LoginController.java
+12
-0
ModifyMobileController.java
...unt/account/server/controller/ModifyMobileController.java
+28
-1
LoginResult.java
...pica/cloud/account/account/server/entity/LoginResult.java
+9
-0
LoginService.java
...ca/cloud/account/account/server/service/LoginService.java
+2
-0
LoginServiceImpl.java
...account/account/server/service/impl/LoginServiceImpl.java
+30
-0
RegisterServiceImpl.java
...ount/account/server/service/impl/RegisterServiceImpl.java
+11
-0
未找到文件。
server/src/main/java/com/pica/cloud/account/account/server/controller/LoginController.java
浏览文件 @
4ac45eb6
...
...
@@ -334,6 +334,18 @@ public class LoginController extends AccountBaseController {
return
PicaResponse
.
toResponse
(
loginService
.
loginByAppleStep
(
request
));
}
@ApiOperation
(
value
=
"苹果登录-跳过绑定-静默注册"
)
@PostMapping
(
"/login/apple/skip/register"
)
public
PicaResponse
appleSkipRegister
(
@RequestBody
EncryptEntity
entity
)
throws
Exception
{
BaseRequest
request
=
CryptoUtil
.
decrypt
(
entity
,
BaseRequest
.
class
);
request
.
setProductType
(
super
.
getProductType
());
request
.
setSourceType
(
super
.
getSourceType
());
request
.
setLoginIp
(
super
.
getIpAddr
());
request
.
setUserTokenTourist
(
super
.
getUserTokenTourist
());
logger
.
info
(
"appleSkipRegister:{}"
,
JSONObject
.
toJSONString
(
request
));
return
PicaResponse
.
toResponse
(
loginService
.
appleSkipRegister
(
request
));
}
@ApiOperation
(
value
=
"app端手机号码一键登录"
)
@PostMapping
(
"/login/one-click"
)
...
...
server/src/main/java/com/pica/cloud/account/account/server/controller/ModifyMobileController.java
浏览文件 @
4ac45eb6
...
...
@@ -44,6 +44,33 @@ public class ModifyMobileController extends AccountBaseController {
@ApiOperation
(
"修改手机号"
)
@PostMapping
(
"/mobile/modify"
)
@EnabledLoginValidate
public
PicaResponse
modifyMobile
(
@RequestBody
EncryptEntity
entity
)
throws
Exception
{
// Long doctorId = super.getDoctorIdByToken();
// Doctor doctorInfo = doctorService.getDoctorInfo(doctorId.intValue());
//旧的手机号
// String mobilePhone = doctorInfo.getMobilePhone();
// Integer acctId = modifyMobileService.getAcctIdByMobile(mobilePhone);
BaseRequest
request
=
CryptoUtil
.
decrypt
(
entity
,
BaseRequest
.
class
);
//新的手机号
String
newMobile
=
request
.
getMobile
();
accountUtils
.
checkMobilePhoneAndAuthCode
(
newMobile
,
AccountTypeEnum
.
SYSCODE_TYPE_MODIFY_MOBILE
.
getCode
()
+
""
,
request
.
getAuthCode
());
//判断当前手机号是否已经注册过
AccountInfoEntity
accountInfoEntity
=
accountService
.
getAccountByMobilePhone
(
newMobile
);
if
(
accountInfoEntity
==
null
)
{
Long
doctorId
=
super
.
getDoctorIdByToken
();
Doctor
doctorInfo
=
doctorService
.
getDoctorInfo
(
doctorId
.
intValue
());
modifyMobileService
.
recodeMobileModify
(
doctorInfo
.
getAcctId
(),
doctorInfo
.
getMobilePhone
(),
newMobile
);
modifyMobileService
.
modify
(
doctorInfo
.
getAcctId
(),
newMobile
);
return
PicaResponse
.
toResponse
();
}
else
{
return
PicaResponse
.
toResponse
(
null
,
AccountExceptionEnum
.
PICA_ALREADY_REGISTER
.
getCode
(),
AccountExceptionEnum
.
PICA_ALREADY_REGISTER
.
getMessage
());
}
}
/*@ApiOperation("修改手机号")
@PostMapping("/mobile/modify2")
@EnabledLoginValidate
public PicaResponse modifyMobile(@RequestBody EncryptEntity entity) throws Exception {
Long doctorId = super.getDoctorIdByToken();
Doctor doctorInfo = doctorService.getDoctorInfo(doctorId.intValue());
...
...
@@ -63,5 +90,5 @@ public class ModifyMobileController extends AccountBaseController {
} else {
return PicaResponse.toResponse(null,AccountExceptionEnum.PICA_ALREADY_REGISTER.getCode(),AccountExceptionEnum.PICA_ALREADY_REGISTER.getMessage());
}
}
}
*/
}
server/src/main/java/com/pica/cloud/account/account/server/entity/LoginResult.java
浏览文件 @
4ac45eb6
...
...
@@ -27,6 +27,8 @@ public class LoginResult {
private
String
mobile
;
@ApiModelProperty
(
"用户id,已经加密处理"
)
private
String
doctorId
;
@ApiModelProperty
(
"accountinfo表主键id"
)
private
Integer
acctId
;
public
String
getToken
()
{
...
...
@@ -85,4 +87,11 @@ public class LoginResult {
this
.
doctorId
=
doctorId
;
}
public
Integer
getAcctId
()
{
return
acctId
;
}
public
void
setAcctId
(
Integer
acctId
)
{
this
.
acctId
=
acctId
;
}
}
server/src/main/java/com/pica/cloud/account/account/server/service/LoginService.java
浏览文件 @
4ac45eb6
...
...
@@ -95,5 +95,7 @@ public interface LoginService {
*/
LoginResult
loginByAppleStep
(
BaseRequest
request
);
LoginResult
appleSkipRegister
(
BaseRequest
request
);
int
insertLoginAesLog
(
LogLoginAes
aes
);
}
server/src/main/java/com/pica/cloud/account/account/server/service/impl/LoginServiceImpl.java
浏览文件 @
4ac45eb6
...
...
@@ -5,6 +5,8 @@ import com.alibaba.fastjson.JSON;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.auth0.jwk.Jwk
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
com.google.gson.JsonObject
;
import
com.pica.cloud.account.account.server.constants.Constants
;
import
com.pica.cloud.account.account.server.entity.*
;
import
com.pica.cloud.account.account.server.enums.AccountExceptionEnum
;
...
...
@@ -806,6 +808,11 @@ public class LoginServiceImpl implements LoginService {
PICAPDoctor
doctor
=
doctorInfoMapper
.
queryDoctor
(
userId
);
result
.
setEntireFlag
(
doctor
.
getEntire_flag
());
result
.
setMobile
(
AESUtil
.
decryptV0
(
doctor
.
getMobile_phone
()));
//added by joy begin
if
(
StringUtil
.
isEmpty
(
result
.
getMobile
())){
result
.
setEntireFlag
(
2
);
// 传2给native时,跳过完善信息(apple登录用户,手机号为空的,跳过这个页面)
}
//added by joy end
}
//记录登录日志
LogLoginEntity
entity
=
AccountLogEntityUtils
.
getLogLoginEntity
(
...
...
@@ -994,6 +1001,29 @@ public class LoginServiceImpl implements LoginService {
return
result
;
}
/**
* 苹果登录新用户1105后,无绑定手机-》注册
* @param request
* @return
*/
@Override
public
LoginResult
appleSkipRegister
(
BaseRequest
request
)
{
LoginResult
result
=
new
LoginResult
();
if
(
StringUtil
.
isNotNull
(
request
.
getMobile
())){
logger
.
error
(
"appleSkipRegister,苹果登录新用户 传入手机号有值,错误参数"
);
return
result
;
}
//存在安全隐患,产品晓庆已确认,后期再完善 app端拼图,
result
=
registerService
.
register
(
request
);
logger
.
info
(
"appleSkipRegister-register:{}"
,
JSONObject
.
toJSONString
(
result
));
processAccountUnionApple
(
result
.
getAcctId
(),
request
.
getAppleUserId
());
logger
.
info
(
"appleSkipRegister-insert-account_apple_info-end"
);
return
result
;
}
/**
* @Description account_apple_info insert
* @Author Chongwen.jiang
...
...
server/src/main/java/com/pica/cloud/account/account/server/service/impl/RegisterServiceImpl.java
浏览文件 @
4ac45eb6
...
...
@@ -17,6 +17,7 @@ import com.pica.cloud.foundation.completeness.client.utils.IntactUtils;
import
com.pica.cloud.foundation.encryption.common.constants.EncryptConstants
;
import
com.pica.cloud.foundation.encryption.util.EncryptUtils
;
import
com.pica.cloud.foundation.redis.ICacheClient
;
import
com.pica.cloud.foundation.utils.utils.StringUtil
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -80,6 +81,9 @@ public class RegisterServiceImpl implements RegisterService {
String
batchNo
=
IntactUtils
.
getUUID
();
intactUtil
.
sendIntact
(
batchNo
,
"register"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_1
,
"baseRequest:"
+
JSON
.
toJSONString
(
baseRequest
)+
",queryMobileEntity:"
+
JSON
.
toJSONString
(
queryMobileEntity
));
String
mobile
=
baseRequest
.
getMobile
();
if
(
StringUtil
.
isEmpty
(
mobile
)){
mobile
=
""
;
}
//对注册接口做幂等性处理:注册成功,删除缓存,注册失败提示用户
String
nxKey
=
Constants
.
REPEAT_REGISTER_PREFIX
+
mobile
;
Long
resultNx
=
redisClient
.
setnx
(
nxKey
,
mobile
);
...
...
@@ -88,6 +92,12 @@ public class RegisterServiceImpl implements RegisterService {
//try {
String
mobileEncrypt
=
AESUtil
.
encryptV0
(
mobile
);
AccountInfoEntity
accountInfoEntity
=
accountInfoDetailMapper
.
selectByMobile
(
mobileEncrypt
);
//added by joy begin 适配苹果登录 手机号为空传入,过审核
if
(
StringUtil
.
isEmpty
(
mobile
)){
mobileEncrypt
=
""
;
accountInfoEntity
=
null
;
}
//added by joy end
if
(
accountInfoEntity
==
null
)
{
redisClient
.
expire
(
nxKey
,
30
);
Date
currentTime
=
new
Date
();
...
...
@@ -143,6 +153,7 @@ public class RegisterServiceImpl implements RegisterService {
result
.
setEntireFlag
(
1
);
result
.
setDoctorId
(
EncryptUtils
.
encryptContent
(
userId
+
""
,
EncryptConstants
.
ENCRYPT_TYPE_ID
));
result
.
setMobile
(
mobile
);
result
.
setAcctId
(
acctId
);
LogLoginEntity
entity
=
AccountLogEntityUtils
.
getLogLoginEntity
(
acctId
,
productType
,
baseRequest
.
getSourceType
(),
AccountTypeEnum
.
LOGIN_REGISTER
.
getCode
(),
baseRequest
.
getLoginIp
(),
AccountTypeEnum
.
LOGIN_STATUS_SUCCESS
.
getCode
(),
AccountTypeEnum
.
LOG_TYPE_LOGIN
.
getCode
(),
newToken
,
1
,
baseRequest
.
getUserTokenTourist
());
...
...
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录