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
提交
95b5f8fa
提交
95b5f8fa
编写于
5月 27, 2020
作者:
yujiao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
事务一致性提交
上级
3bd6069b
流水线
#25927
已失败 于阶段
in 0 second
变更
19
流水线
1
隐藏空白字符变更
内嵌
并排
正在显示
19 个修改的文件
包含
288 行增加
和
29 行删除
+288
-29
pom.xml
server/pom.xml
+23
-8
AccountBaseController.java
...ount/account/server/controller/AccountBaseController.java
+10
-0
AccountController.java
.../account/account/server/controller/AccountController.java
+38
-0
AutoCodeController.java
...account/account/server/controller/AutoCodeController.java
+42
-5
AccountAppleInfoMapper.java
...account/account/server/mapper/AccountAppleInfoMapper.java
+2
-0
AccountInfoDetailMapper.java
...ccount/account/server/mapper/AccountInfoDetailMapper.java
+2
-1
AccountPatientInfoMapper.java
...count/account/server/mapper/AccountPatientInfoMapper.java
+2
-0
AccountUnionMapper.java
...oud/account/account/server/mapper/AccountUnionMapper.java
+2
-1
AccountWeChatInfoMapper.java
...ccount/account/server/mapper/AccountWeChatInfoMapper.java
+2
-0
AgreementLogEntityMapper.java
...count/account/server/mapper/AgreementLogEntityMapper.java
+2
-0
DoctorMapper.java
...ica/cloud/account/account/server/mapper/DoctorMapper.java
+2
-1
LogLoginAesMapper.java
...loud/account/account/server/mapper/LogLoginAesMapper.java
+2
-0
LogLoginOnekeyMapper.java
...d/account/account/server/mapper/LogLoginOnekeyMapper.java
+2
-0
PUserRoleMapper.java
.../cloud/account/account/server/mapper/PUserRoleMapper.java
+2
-0
OneClickProcessor.java
...cloud/account/account/server/model/OneClickProcessor.java
+10
-5
LoginServiceImpl.java
...account/account/server/service/impl/LoginServiceImpl.java
+63
-4
RegisterServiceImpl.java
...ount/account/server/service/impl/RegisterServiceImpl.java
+17
-4
IntactUtil.java
...om/pica/cloud/account/account/server/util/IntactUtil.java
+38
-0
WeChatUtils.java
...m/pica/cloud/account/account/server/util/WeChatUtils.java
+27
-0
未找到文件。
server/pom.xml
浏览文件 @
95b5f8fa
...
@@ -77,6 +77,28 @@
...
@@ -77,6 +77,28 @@
</exclusions>
</exclusions>
</dependency>
</dependency>
<dependency>
<groupId>
com.pica.cloud.foundation
</groupId>
<artifactId>
pica-cloud-completeness-client
</artifactId>
<version>
1.0.0.0
</version>
<exclusions>
<exclusion>
<groupId>
com.pica.cloud.foundation
</groupId>
<artifactId>
pica-cloud-service-starter
</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--<dependency>-->
<!--<groupId>io.springfox</groupId>-->
<!--<artifactId>springfox-swagger2</artifactId>-->
<!--<version>2.8.0</version>-->
<!--</dependency>-->
<!--<dependency>-->
<!--<groupId>io.springfox</groupId>-->
<!--<artifactId>springfox-swagger-ui</artifactId>-->
<!--<version>2.8.0</version>-->
<!--</dependency>-->
<!--<dependency>
<!--<dependency>
<groupId>org.springframework.cloud</groupId>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-stream-rabbit</artifactId>
<artifactId>spring-cloud-starter-stream-rabbit</artifactId>
...
@@ -112,14 +134,6 @@
...
@@ -112,14 +134,6 @@
</dependency>
</dependency>
<!--zipkin dependencies begin-->
<!--zipkin dependencies begin-->
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-starter-zipkin
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.kafka
</groupId>
<artifactId>
spring-kafka
</artifactId>
</dependency>
<dependency>
<dependency>
<groupId>
com.pica.cloud.account
</groupId>
<groupId>
com.pica.cloud.account
</groupId>
...
@@ -195,6 +209,7 @@
...
@@ -195,6 +209,7 @@
<scope>
test
</scope>
<scope>
test
</scope>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
com.pica.cloud.foundation
</groupId>
<groupId>
com.pica.cloud.foundation
</groupId>
<artifactId>
pica-cloud-proof-client
</artifactId>
<artifactId>
pica-cloud-proof-client
</artifactId>
...
...
server/src/main/java/com/pica/cloud/account/account/server/controller/AccountBaseController.java
浏览文件 @
95b5f8fa
...
@@ -8,7 +8,9 @@ import com.pica.cloud.account.account.server.constants.Constants;
...
@@ -8,7 +8,9 @@ import com.pica.cloud.account.account.server.constants.Constants;
import
com.pica.cloud.account.account.server.entity.AccountUser
;
import
com.pica.cloud.account.account.server.entity.AccountUser
;
import
com.pica.cloud.account.account.server.enums.AccountExceptionEnum
;
import
com.pica.cloud.account.account.server.enums.AccountExceptionEnum
;
import
com.pica.cloud.account.account.server.exception.AccountException
;
import
com.pica.cloud.account.account.server.exception.AccountException
;
import
com.pica.cloud.account.account.server.util.IntactUtil
;
import
com.pica.cloud.account.account.server.util.PICAPSendMsgModel
;
import
com.pica.cloud.account.account.server.util.PICAPSendMsgModel
;
import
com.pica.cloud.foundation.completeness.client.utils.IntactUtils
;
import
com.pica.cloud.foundation.entity.PicaException
;
import
com.pica.cloud.foundation.entity.PicaException
;
import
com.pica.cloud.foundation.entity.PicaResponse
;
import
com.pica.cloud.foundation.entity.PicaResponse
;
import
com.pica.cloud.foundation.entity.PicaResultCode
;
import
com.pica.cloud.foundation.entity.PicaResultCode
;
...
@@ -44,6 +46,9 @@ public abstract class AccountBaseController extends BaseController {
...
@@ -44,6 +46,9 @@ public abstract class AccountBaseController extends BaseController {
@Autowired
@Autowired
private
PropertiesConfiguration
configuration
;
private
PropertiesConfiguration
configuration
;
@Autowired
private
IntactUtil
intactUtil
;
//从token获取医生ID
//从token获取医生ID
public
long
getDoctorIdByToken
()
{
public
long
getDoctorIdByToken
()
{
try
{
try
{
...
@@ -111,6 +116,9 @@ public abstract class AccountBaseController extends BaseController {
...
@@ -111,6 +116,9 @@ public abstract class AccountBaseController extends BaseController {
//发送手机短信
//发送手机短信
public
void
sendMobileMessage
(
String
mobile
,
String
content
,
long
senderId
)
{
public
void
sendMobileMessage
(
String
mobile
,
String
content
,
long
senderId
)
{
//接入新旭事务一致性
String
batchNo
=
IntactUtils
.
getUUID
();
intactUtil
.
sendIntact
(
batchNo
,
"sendMobileMessage"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_1
,
"mobile:"
+
mobile
+
",content:"
+
content
+
",senderId:"
+
senderId
);
String
sysCodeStr
=
super
.
getSysCode
();
String
sysCodeStr
=
super
.
getSysCode
();
int
sysCode
=
10
;
//默认移动端
int
sysCode
=
10
;
//默认移动端
if
(
StringUtils
.
isNotBlank
(
sysCodeStr
))
{
if
(
StringUtils
.
isNotBlank
(
sysCodeStr
))
{
...
@@ -146,6 +154,8 @@ public abstract class AccountBaseController extends BaseController {
...
@@ -146,6 +154,8 @@ public abstract class AccountBaseController extends BaseController {
logger
.
info
(
"sendMobileTo-mobile:{}, senderId-{}"
,
mobile
,
senderId
);
logger
.
info
(
"sendMobileTo-mobile:{}, senderId-{}"
,
mobile
,
senderId
);
long
start
=
System
.
currentTimeMillis
();
long
start
=
System
.
currentTimeMillis
();
String
jsonObj
=
HttpClientUtil
.
httpExecute
(
messageUrl
,
postData
);
String
jsonObj
=
HttpClientUtil
.
httpExecute
(
messageUrl
,
postData
);
intactUtil
.
sendIntact
(
batchNo
,
"sendMobileMessage"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"jsonObj:"
+
jsonObj
);
long
end1
=
System
.
currentTimeMillis
();
long
end1
=
System
.
currentTimeMillis
();
logger
.
info
(
"sendMobileMessage-send message used {} million seconds"
,
end1
-
start
);
logger
.
info
(
"sendMobileMessage-send message used {} million seconds"
,
end1
-
start
);
logger
.
info
(
"sendMobileTo-{}"
,
jsonObj
);
logger
.
info
(
"sendMobileTo-{}"
,
jsonObj
);
...
...
server/src/main/java/com/pica/cloud/account/account/server/controller/AccountController.java
浏览文件 @
95b5f8fa
package
com
.
pica
.
cloud
.
account
.
account
.
server
.
controller
;
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.constants.Constants
;
import
com.pica.cloud.account.account.server.entity.Account
;
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.entity.EncryptEntity
;
...
@@ -11,6 +12,8 @@ import com.pica.cloud.account.account.server.service.AccountService;
...
@@ -11,6 +12,8 @@ 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.service.CaptchaService
;
import
com.pica.cloud.account.account.server.util.AccountUtils
;
import
com.pica.cloud.account.account.server.util.AccountUtils
;
import
com.pica.cloud.account.account.server.util.CryptoUtil
;
import
com.pica.cloud.account.account.server.util.CryptoUtil
;
import
com.pica.cloud.account.account.server.util.IntactUtil
;
import
com.pica.cloud.foundation.completeness.client.utils.IntactUtils
;
import
com.pica.cloud.foundation.encryption.common.constants.EncryptConstants
;
import
com.pica.cloud.foundation.encryption.common.constants.EncryptConstants
;
import
com.pica.cloud.foundation.encryption.util.EncryptUtils
;
import
com.pica.cloud.foundation.encryption.util.EncryptUtils
;
import
com.pica.cloud.foundation.entity.PicaException
;
import
com.pica.cloud.foundation.entity.PicaException
;
...
@@ -55,6 +58,8 @@ public class AccountController extends AccountBaseController {
...
@@ -55,6 +58,8 @@ public class AccountController extends AccountBaseController {
private
ICacheClient
redisClient
;
private
ICacheClient
redisClient
;
@Autowired
@Autowired
private
AccountUtils
accountUtils
;
private
AccountUtils
accountUtils
;
@Autowired
private
IntactUtil
intactUtil
;
@GetMapping
(
"/test"
)
@GetMapping
(
"/test"
)
public
String
test
()
{
public
String
test
()
{
...
@@ -105,18 +110,25 @@ public class AccountController extends AccountBaseController {
...
@@ -105,18 +110,25 @@ public class AccountController extends AccountBaseController {
@ApiOperation
(
"微信登录"
)
@ApiOperation
(
"微信登录"
)
@PostMapping
(
"/login/wechat"
)
@PostMapping
(
"/login/wechat"
)
public
PicaResponse
<
String
>
wechatLogin
(
@RequestBody
AccountReq
req
)
{
public
PicaResponse
<
String
>
wechatLogin
(
@RequestBody
AccountReq
req
)
{
//接入新旭事务一致性
String
batchNo
=
IntactUtils
.
getUUID
();
intactUtil
.
sendIntact
(
batchNo
,
"wechatLogin"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_1
,
"req:"
+
JSON
.
toJSONString
(
req
));
if
(
StringUtils
.
isBlank
(
req
.
getUnionid
()))
{
if
(
StringUtils
.
isBlank
(
req
.
getUnionid
()))
{
intactUtil
.
sendIntact
(
batchNo
,
"wechatLogin"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"确认unionId"
);
return
PicaResponse
.
toResponse
(
null
,
PicaResultCode
.
PARAM_IS_INVALID
.
code
(),
"缺少unionid"
);
return
PicaResponse
.
toResponse
(
null
,
PicaResultCode
.
PARAM_IS_INVALID
.
code
(),
"缺少unionid"
);
}
}
Account
account
=
accountService
.
getByUnionid
(
req
.
getUnionid
());
//获取账号信息
Account
account
=
accountService
.
getByUnionid
(
req
.
getUnionid
());
//获取账号信息
if
(
account
==
null
)
{
if
(
account
==
null
)
{
intactUtil
.
sendIntact
(
batchNo
,
"wechatLogin"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"该unionid未绑定云鹊医账号"
);
return
PicaResponse
.
toResponse
(
null
,
PicaResultCode
.
RESULE_DATA_NONE
.
code
(),
"该unionid未绑定云鹊医账号"
);
return
PicaResponse
.
toResponse
(
null
,
PicaResultCode
.
RESULE_DATA_NONE
.
code
(),
"该unionid未绑定云鹊医账号"
);
}
}
//已经绑定过云鹊医账号,登录成功,返回token
//已经绑定过云鹊医账号,登录成功,返回token
String
deviceType
=
super
.
getDeviceInfo
(
"device_type"
);
//1:pc 2:android 3:ios
String
deviceType
=
super
.
getDeviceInfo
(
"device_type"
);
//1:pc 2:android 3:ios
String
newToken
=
this
.
generateToken
(
account
,
deviceType
);
String
newToken
=
this
.
generateToken
(
account
,
deviceType
);
intactUtil
.
sendIntact
(
batchNo
,
"wechatLogin"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"req:"
+
JSON
.
toJSONString
(
req
));
return
PicaResponse
.
toResponse
(
newToken
);
return
PicaResponse
.
toResponse
(
newToken
);
}
}
...
@@ -124,16 +136,22 @@ public class AccountController extends AccountBaseController {
...
@@ -124,16 +136,22 @@ public class AccountController extends AccountBaseController {
@PostMapping
(
"/login"
)
@PostMapping
(
"/login"
)
public
PicaResponse
<
String
>
login
(
@RequestBody
AccountReq
req
)
{
public
PicaResponse
<
String
>
login
(
@RequestBody
AccountReq
req
)
{
this
.
checkMobilePhone
(
req
.
getMobilePhone
());
this
.
checkMobilePhone
(
req
.
getMobilePhone
());
//接入新旭事务一致性
String
batchNo
=
IntactUtils
.
getUUID
();
intactUtil
.
sendIntact
(
batchNo
,
"login"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_1
,
"req:"
+
JSON
.
toJSONString
(
req
));
Account
account
=
accountService
.
getByMobilePhone
(
req
.
getMobilePhone
());
//获取账号信息
Account
account
=
accountService
.
getByMobilePhone
(
req
.
getMobilePhone
());
//获取账号信息
if
(
account
==
null
)
{
if
(
account
==
null
)
{
intactUtil
.
sendIntact
(
batchNo
,
"login"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"未注册,请验证码登录"
);
return
PicaResponse
.
toResponse
(
null
,
PicaResultCode
.
RESULE_DATA_NONE
.
code
(),
"未注册,请验证码登录"
);
return
PicaResponse
.
toResponse
(
null
,
PicaResultCode
.
RESULE_DATA_NONE
.
code
(),
"未注册,请验证码登录"
);
}
}
if
(
StringUtils
.
isBlank
(
req
.
getPassword
()))
{
//验证码登录
if
(
StringUtils
.
isBlank
(
req
.
getPassword
()))
{
//验证码登录
req
.
setFlag
(
"0"
);
req
.
setFlag
(
"0"
);
intactUtil
.
sendIntact
(
batchNo
,
"login"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"校验验证码前的返回,因为验证码可能校验不通过,就直接返回了"
);
this
.
checkAuthCode
(
req
);
//校验验证码
this
.
checkAuthCode
(
req
);
//校验验证码
}
else
{
//密码登录
}
else
{
//密码登录
if
(!
StringUtils
.
equals
(
req
.
getPassword
(),
account
.
getPassword
()))
{
if
(!
StringUtils
.
equals
(
req
.
getPassword
(),
account
.
getPassword
()))
{
intactUtil
.
sendIntact
(
batchNo
,
"login"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"请输入正确的密码"
);
return
PicaResponse
.
toResponse
(
null
,
PicaResultCode
.
PARAM_IS_INVALID
.
code
(),
"请输入正确的密码"
);
return
PicaResponse
.
toResponse
(
null
,
PicaResultCode
.
PARAM_IS_INVALID
.
code
(),
"请输入正确的密码"
);
}
}
}
}
...
@@ -152,6 +170,7 @@ public class AccountController extends AccountBaseController {
...
@@ -152,6 +170,7 @@ public class AccountController extends AccountBaseController {
//登录成功,清除旧token,生成新token
//登录成功,清除旧token,生成新token
String
deviceType
=
super
.
getDeviceInfo
(
"device_type"
);
//1:pc 2:android 3:ios
String
deviceType
=
super
.
getDeviceInfo
(
"device_type"
);
//1:pc 2:android 3:ios
String
newToken
=
this
.
generateToken
(
account
,
deviceType
);
String
newToken
=
this
.
generateToken
(
account
,
deviceType
);
intactUtil
.
sendIntact
(
batchNo
,
"login"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"req:"
+
JSON
.
toJSONString
(
req
));
return
PicaResponse
.
toResponse
(
newToken
);
return
PicaResponse
.
toResponse
(
newToken
);
}
}
...
@@ -160,6 +179,9 @@ public class AccountController extends AccountBaseController {
...
@@ -160,6 +179,9 @@ public class AccountController extends AccountBaseController {
public
PicaResponse
<
LoginResult
>
register
(
@RequestBody
AccountReq
req
)
{
public
PicaResponse
<
LoginResult
>
register
(
@RequestBody
AccountReq
req
)
{
this
.
checkMobilePhone
(
req
.
getMobilePhone
());
this
.
checkMobilePhone
(
req
.
getMobilePhone
());
accountUtils
.
checkRegisterMobilePhoneAndAuthCode
(
req
.
getMobilePhone
(),
req
.
getFlag
(),
req
.
getAuthCode
());
accountUtils
.
checkRegisterMobilePhoneAndAuthCode
(
req
.
getMobilePhone
(),
req
.
getFlag
(),
req
.
getAuthCode
());
//接入新旭事务一致性
String
batchNo
=
IntactUtils
.
getUUID
();
intactUtil
.
sendIntact
(
batchNo
,
"register"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_1
,
"req:"
+
JSON
.
toJSONString
(
req
));
String
deviceType
=
super
.
getDeviceInfo
(
"device_type"
);
//1:pc 2:android 3:ios
String
deviceType
=
super
.
getDeviceInfo
(
"device_type"
);
//1:pc 2:android 3:ios
Account
account
=
new
Account
();
Account
account
=
new
Account
();
account
.
setMobilePhone
(
EncryptUtils
.
encryptContent
(
req
.
getMobilePhone
(),
EncryptConstants
.
ENCRYPT_TYPE_MOBILE
));
account
.
setMobilePhone
(
EncryptUtils
.
encryptContent
(
req
.
getMobilePhone
(),
EncryptConstants
.
ENCRYPT_TYPE_MOBILE
));
...
@@ -184,6 +206,7 @@ public class AccountController extends AccountBaseController {
...
@@ -184,6 +206,7 @@ public class AccountController extends AccountBaseController {
LoginResult
result
=
new
LoginResult
();
LoginResult
result
=
new
LoginResult
();
result
.
setToken
(
newToken
);
result
.
setToken
(
newToken
);
intactUtil
.
sendIntact
(
batchNo
,
"register"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"req:"
+
JSON
.
toJSONString
(
req
));
return
PicaResponse
.
toResponse
(
result
);
return
PicaResponse
.
toResponse
(
result
);
}
}
...
@@ -193,6 +216,9 @@ public class AccountController extends AccountBaseController {
...
@@ -193,6 +216,9 @@ public class AccountController extends AccountBaseController {
public
PicaResponse
loginRegister
(
@RequestBody
EncryptEntity
entity
)
throws
Exception
{
public
PicaResponse
loginRegister
(
@RequestBody
EncryptEntity
entity
)
throws
Exception
{
BaseRequest
request
=
CryptoUtil
.
decrypt
(
entity
,
BaseRequest
.
class
);
BaseRequest
request
=
CryptoUtil
.
decrypt
(
entity
,
BaseRequest
.
class
);
this
.
checkMobilePhone
(
request
.
getMobile
());
this
.
checkMobilePhone
(
request
.
getMobile
());
//接入新旭事务一致性
String
batchNo
=
IntactUtils
.
getUUID
();
intactUtil
.
sendIntact
(
batchNo
,
"loginRegister"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_1
,
"entity:"
+
JSON
.
toJSONString
(
entity
));
AccountReq
req
=
new
AccountReq
();
AccountReq
req
=
new
AccountReq
();
req
.
setMobilePhone
(
request
.
getMobile
());
req
.
setMobilePhone
(
request
.
getMobile
());
// 登录或注册,只能使用验证码
// 登录或注册,只能使用验证码
...
@@ -209,12 +235,15 @@ public class AccountController extends AccountBaseController {
...
@@ -209,12 +235,15 @@ public class AccountController extends AccountBaseController {
if
(
response
.
getData
()
!=
null
)
{
if
(
response
.
getData
()
!=
null
)
{
LoginResult
result
=
new
LoginResult
();
LoginResult
result
=
new
LoginResult
();
result
.
setToken
(
response
.
getData
().
toString
());
result
.
setToken
(
response
.
getData
().
toString
());
intactUtil
.
sendIntact
(
batchNo
,
"loginRegister"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"登录成功,返回值:"
+
JSON
.
toJSONString
(
response
.
getData
()));
return
PicaResponse
.
toResponse
(
result
);
return
PicaResponse
.
toResponse
(
result
);
}
}
return
response
;
return
response
;
}
else
{
}
else
{
// 注册
// 注册
PicaResponse
<
LoginResult
>
result
=
this
.
register
(
req
);
PicaResponse
<
LoginResult
>
result
=
this
.
register
(
req
);
intactUtil
.
sendIntact
(
batchNo
,
"loginRegister"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"注册成功,返回值:"
+
JSON
.
toJSONString
(
result
));
return
result
;
return
result
;
}
}
}
}
...
@@ -290,6 +319,9 @@ public class AccountController extends AccountBaseController {
...
@@ -290,6 +319,9 @@ public class AccountController extends AccountBaseController {
//清除旧token,生成新token
//清除旧token,生成新token
private
String
generateToken
(
Account
account
,
String
deviceType
)
{
private
String
generateToken
(
Account
account
,
String
deviceType
)
{
//接入新旭事务一致性
String
batchNo
=
IntactUtils
.
getUUID
();
intactUtil
.
sendIntact
(
batchNo
,
"generateToken"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_1
,
"account:"
+
JSON
.
toJSONString
(
account
)+
",deviceType:"
+
deviceType
);
String
newToken
;
String
newToken
;
switch
(
deviceType
)
{
//设备信息
switch
(
deviceType
)
{
//设备信息
case
"1"
:
//pc
case
"1"
:
//pc
...
@@ -304,9 +336,15 @@ public class AccountController extends AccountBaseController {
...
@@ -304,9 +336,15 @@ public class AccountController extends AccountBaseController {
default
:
//H5
default
:
//H5
newToken
=
this
.
generateH5Token
(
account
);
newToken
=
this
.
generateH5Token
(
account
);
}
}
intactUtil
.
sendIntact
(
batchNo
,
"generateToken"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"newToken:"
+
newToken
);
return
newToken
;
return
newToken
;
}
}
public
static
void
main
(
String
[]
args
)
{
JSON
.
toJSONString
(
null
);
System
.
out
.
println
(
"成功"
);
}
/**
/**
* 旧的注册接口,下个版本可以去掉
* 旧的注册接口,下个版本可以去掉
* @param req
* @param req
...
...
server/src/main/java/com/pica/cloud/account/account/server/controller/AutoCodeController.java
浏览文件 @
95b5f8fa
package
com
.
pica
.
cloud
.
account
.
account
.
server
.
controller
;
package
com
.
pica
.
cloud
.
account
.
account
.
server
.
controller
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.pica.cloud.account.account.server.configuration.PropertiesConfiguration
;
import
com.pica.cloud.account.account.server.configuration.PropertiesConfiguration
;
import
com.pica.cloud.account.account.server.constants.Constants
;
import
com.pica.cloud.account.account.server.constants.Constants
;
...
@@ -13,6 +14,7 @@ import com.pica.cloud.account.account.server.exception.AccountException;
...
@@ -13,6 +14,7 @@ import com.pica.cloud.account.account.server.exception.AccountException;
import
com.pica.cloud.account.account.server.req.BaseRequest
;
import
com.pica.cloud.account.account.server.req.BaseRequest
;
import
com.pica.cloud.account.account.server.service.*
;
import
com.pica.cloud.account.account.server.service.*
;
import
com.pica.cloud.account.account.server.util.*
;
import
com.pica.cloud.account.account.server.util.*
;
import
com.pica.cloud.foundation.completeness.client.utils.IntactUtils
;
import
com.pica.cloud.foundation.entity.PicaException
;
import
com.pica.cloud.foundation.entity.PicaException
;
import
com.pica.cloud.foundation.entity.PicaResponse
;
import
com.pica.cloud.foundation.entity.PicaResponse
;
import
com.pica.cloud.foundation.entity.PicaResultCode
;
import
com.pica.cloud.foundation.entity.PicaResultCode
;
...
@@ -56,6 +58,9 @@ public class AutoCodeController extends AccountBaseController {
...
@@ -56,6 +58,9 @@ public class AutoCodeController extends AccountBaseController {
@Autowired
@Autowired
private
PropertiesConfiguration
propertiesConfiguration
;
private
PropertiesConfiguration
propertiesConfiguration
;
@Autowired
private
IntactUtil
intactUtil
;
/*@GetMapping("/ip")
/*@GetMapping("/ip")
public PicaResponse getIp(HttpServletRequest request) {
public PicaResponse getIp(HttpServletRequest request) {
...
@@ -129,20 +134,28 @@ public class AutoCodeController extends AccountBaseController {
...
@@ -129,20 +134,28 @@ public class AutoCodeController extends AccountBaseController {
BaseRequest
request
=
CryptoUtil
.
decrypt
(
entity
,
BaseRequest
.
class
);
BaseRequest
request
=
CryptoUtil
.
decrypt
(
entity
,
BaseRequest
.
class
);
request
.
setSourceType
(
super
.
getSourceType
());
request
.
setSourceType
(
super
.
getSourceType
());
AccountUtils
.
checkMobilePhone
(
request
.
getMobile
());
AccountUtils
.
checkMobilePhone
(
request
.
getMobile
());
//接入新旭事务一致性
String
batchNo
=
IntactUtils
.
getUUID
();
intactUtil
.
sendIntact
(
batchNo
,
"getAuthCode"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_1
,
"authCodeReq:"
+
JSON
.
toJSONString
(
authCodeReq
)+
"req:"
+
JSON
.
toJSONString
(
req
));
if
(
request
.
getBizType
()
!=
null
&&
request
.
getBizType
().
equals
(
1
))
{
if
(
request
.
getBizType
()
!=
null
&&
request
.
getBizType
().
equals
(
1
))
{
logger
.
info
(
"app-rcValidate-start"
);
logger
.
info
(
"app-rcValidate-start"
);
// 调用风控接口
// 调用风控接口
authCodeService
.
rcValidate
(
req
,
request
,
super
.
getDeviceInfo
(),
super
.
getSourceType
());
authCodeService
.
rcValidate
(
req
,
request
,
super
.
getDeviceInfo
(),
super
.
getSourceType
());
// 发送短信验证码
// 发送短信验证码
processSysCode
(
request
.
getMobile
(),
request
.
getFlag
());
processSysCode
(
request
.
getMobile
(),
request
.
getFlag
(),
batchNo
);
//接入新旭事务一致性
intactUtil
.
sendIntact
(
batchNo
,
"getAuthCode"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"authCodeReq:"
+
JSON
.
toJSONString
(
authCodeReq
)+
"req:"
+
JSON
.
toJSONString
(
req
));
return
PicaResponse
.
toResponse
();
return
PicaResponse
.
toResponse
();
}
else
{
}
else
{
// 老版本业务(发送短信验证码)
// 老版本业务(发送短信验证码)
processSysCode
(
request
.
getMobile
(),
request
.
getFlag
());
processSysCode
(
request
.
getMobile
(),
request
.
getFlag
()
,
batchNo
);
// 记录风控数据
// 记录风控数据
authCodeService
.
recordRcData
(
req
,
request
,
super
.
getDeviceInfo
(
"device_ip"
));
authCodeService
.
recordRcData
(
req
,
request
,
super
.
getDeviceInfo
(
"device_ip"
));
intactUtil
.
sendIntact
(
batchNo
,
"getAuthCode"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"authCodeReq:"
+
JSON
.
toJSONString
(
authCodeReq
)+
"req:"
+
JSON
.
toJSONString
(
req
));
return
PicaResponse
.
toResponse
();
return
PicaResponse
.
toResponse
();
}
}
}
}
...
@@ -158,16 +171,22 @@ public class AutoCodeController extends AccountBaseController {
...
@@ -158,16 +171,22 @@ public class AutoCodeController extends AccountBaseController {
}
}
AccountUtils
.
checkMobilePhone
(
request
.
getMobile
());
AccountUtils
.
checkMobilePhone
(
request
.
getMobile
());
//接入新旭事务一致性
String
batchNo
=
IntactUtils
.
getUUID
();
intactUtil
.
sendIntact
(
batchNo
,
"getH5AuthCode"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_1
,
"entity:"
+
JSON
.
toJSONString
(
entity
)+
"req:"
+
JSON
.
toJSONString
(
req
));
// 拼图验证
// 拼图验证
int
recordData
=
authCodeService
.
validateJigsawCode
(
req
,
request
);
int
recordData
=
authCodeService
.
validateJigsawCode
(
req
,
request
);
// 发送短信验证码
// 发送短信验证码
processSysCode
(
request
.
getMobile
(),
request
.
getFlag
());
processSysCode
(
request
.
getMobile
(),
request
.
getFlag
()
,
batchNo
);
if
(
recordData
!=
-
1
)
{
if
(
recordData
!=
-
1
)
{
// 记录风控数据(记录是h5端)
// 记录风控数据(记录是h5端)
authCodeService
.
recordRcData
(
req
,
request
,
super
.
getDeviceInfo
(
"device_ip"
));
authCodeService
.
recordRcData
(
req
,
request
,
super
.
getDeviceInfo
(
"device_ip"
));
}
}
intactUtil
.
sendIntact
(
batchNo
,
"getH5AuthCode"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"entity:"
+
JSON
.
toJSONString
(
entity
)+
"req:"
+
JSON
.
toJSONString
(
req
));
return
PicaResponse
.
toResponse
();
return
PicaResponse
.
toResponse
();
}
}
...
@@ -197,6 +216,9 @@ public class AutoCodeController extends AccountBaseController {
...
@@ -197,6 +216,9 @@ public class AutoCodeController extends AccountBaseController {
return
PicaResponse
.
toResponse
(
null
,
PicaResultCode
.
PARAM_IS_INVALID
.
code
(),
"图形验证码错误"
);
return
PicaResponse
.
toResponse
(
null
,
PicaResultCode
.
PARAM_IS_INVALID
.
code
(),
"图形验证码错误"
);
}
}
this
.
checkMobilePhone
(
mobilePhone
);
this
.
checkMobilePhone
(
mobilePhone
);
//接入新旭事务一致性
String
batchNo
=
IntactUtils
.
getUUID
();
intactUtil
.
sendIntact
(
batchNo
,
"getAuthCodeWithCaptcha"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_1
,
"entity:"
+
JSON
.
toJSONString
(
entity
)+
"req:"
+
JSON
.
toJSONString
(
req
));
String
authCode
=
CommonUtil
.
createValidateCode
();
//随机生成验证码
String
authCode
=
CommonUtil
.
createValidateCode
();
//随机生成验证码
String
message
=
"您的验证码是"
+
authCode
+
",在10分钟内有效。如非本人操作,请忽略本短信!"
;
String
message
=
"您的验证码是"
+
authCode
+
",在10分钟内有效。如非本人操作,请忽略本短信!"
;
//判断账号是否已经存在
//判断账号是否已经存在
...
@@ -213,6 +235,9 @@ public class AutoCodeController extends AccountBaseController {
...
@@ -213,6 +235,9 @@ public class AutoCodeController extends AccountBaseController {
// 记录风控数据
// 记录风控数据
authCodeService
.
recordRcData
(
req
,
request
,
super
.
getDeviceInfo
(
"device_ip"
));
authCodeService
.
recordRcData
(
req
,
request
,
super
.
getDeviceInfo
(
"device_ip"
));
intactUtil
.
sendIntact
(
batchNo
,
"getAuthCodeWithCaptcha"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"entity:"
+
JSON
.
toJSONString
(
entity
)+
"req:"
+
JSON
.
toJSONString
(
req
));
return
PicaResponse
.
toResponse
(
StringUtils
.
EMPTY
);
return
PicaResponse
.
toResponse
(
StringUtils
.
EMPTY
);
}
}
...
@@ -230,11 +255,17 @@ public class AutoCodeController extends AccountBaseController {
...
@@ -230,11 +255,17 @@ public class AutoCodeController extends AccountBaseController {
BaseRequest
request
=
CryptoUtil
.
decrypt
(
entity
,
BaseRequest
.
class
);
BaseRequest
request
=
CryptoUtil
.
decrypt
(
entity
,
BaseRequest
.
class
);
request
.
setFlag
(
AccountTypeEnum
.
SYSCODE_TYPE_WE_CHAT
.
getCode
());
request
.
setFlag
(
AccountTypeEnum
.
SYSCODE_TYPE_WE_CHAT
.
getCode
());
AccountUtils
.
checkMobilePhone
(
request
.
getMobile
());
AccountUtils
.
checkMobilePhone
(
request
.
getMobile
());
//接入新旭事务一致性
String
batchNo
=
IntactUtils
.
getUUID
();
intactUtil
.
sendIntact
(
batchNo
,
"getWChatSysCode"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_1
,
"entity:"
+
JSON
.
toJSONString
(
entity
));
AccountUnionEntity
accountUnionEntity
=
accountUnionService
.
selectInfoByUnionId
(
request
.
getUnionId
());
AccountUnionEntity
accountUnionEntity
=
accountUnionService
.
selectInfoByUnionId
(
request
.
getUnionId
());
if
(
accountUnionEntity
!=
null
)
{
if
(
accountUnionEntity
!=
null
)
{
processSysCode
(
request
.
getMobile
(),
request
.
getFlag
());
processSysCode
(
request
.
getMobile
(),
request
.
getFlag
(),
batchNo
);
intactUtil
.
sendIntact
(
batchNo
,
"getWChatSysCode"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"entity:"
+
JSON
.
toJSONString
(
entity
));
return
PicaResponse
.
toResponse
();
return
PicaResponse
.
toResponse
();
}
}
intactUtil
.
sendIntact
(
batchNo
,
"getWChatSysCode"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_1
,
"entity:"
+
JSON
.
toJSONString
(
entity
));
throw
new
AccountException
(
AccountExceptionEnum
.
PICA_UNBIND_MOBILE
);
throw
new
AccountException
(
AccountExceptionEnum
.
PICA_UNBIND_MOBILE
);
}
}
...
@@ -248,7 +279,7 @@ public class AutoCodeController extends AccountBaseController {
...
@@ -248,7 +279,7 @@ public class AutoCodeController extends AccountBaseController {
* @param mobilePhone
* @param mobilePhone
* @param flag
* @param flag
*/
*/
private
void
processSysCode
(
String
mobilePhone
,
Integer
flag
)
{
private
void
processSysCode
(
String
mobilePhone
,
Integer
flag
,
String
batchNo
)
{
String
authCodeKey
=
this
.
getAuthCodeKey
(
mobilePhone
,
flag
.
toString
());
String
authCodeKey
=
this
.
getAuthCodeKey
(
mobilePhone
,
flag
.
toString
());
String
authCodeKeySecure
=
authCodeKey
+
"-secure"
;
String
authCodeKeySecure
=
authCodeKey
+
"-secure"
;
//如果存在,说明刚刚发送过验证码
//如果存在,说明刚刚发送过验证码
...
@@ -259,6 +290,7 @@ public class AutoCodeController extends AccountBaseController {
...
@@ -259,6 +290,7 @@ public class AutoCodeController extends AccountBaseController {
}
else
{
}
else
{
int
remainTime
=
59
-
(
int
)
(
System
.
currentTimeMillis
()
-
time
)
/
1000
;
int
remainTime
=
59
-
(
int
)
(
System
.
currentTimeMillis
()
-
time
)
/
1000
;
if
(
remainTime
>
0
)
{
if
(
remainTime
>
0
)
{
intactUtil
.
sendIntact
(
batchNo
,
"processSysCode"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"请X秒后重试"
);
throw
new
AccountException
(
AccountExceptionEnum
.
PICA_SYSCODE_RETRY
.
getCode
(),
throw
new
AccountException
(
AccountExceptionEnum
.
PICA_SYSCODE_RETRY
.
getCode
(),
AccountExceptionEnum
.
PICA_SYSCODE_RETRY
.
getMessage
().
replace
(
"X"
,
String
.
valueOf
(
remainTime
)));
AccountExceptionEnum
.
PICA_SYSCODE_RETRY
.
getMessage
().
replace
(
"X"
,
String
.
valueOf
(
remainTime
)));
}
else
{
}
else
{
...
@@ -278,6 +310,9 @@ public class AutoCodeController extends AccountBaseController {
...
@@ -278,6 +310,9 @@ public class AutoCodeController extends AccountBaseController {
* @param authCodeKeySecure
* @param authCodeKeySecure
*/
*/
private
void
processSendAuthCode
(
String
mobilePhone
,
Integer
flag
,
String
authCodeKeySecure
)
{
private
void
processSendAuthCode
(
String
mobilePhone
,
Integer
flag
,
String
authCodeKeySecure
)
{
//接入新旭事务一致性
String
batchNo
=
IntactUtils
.
getUUID
();
intactUtil
.
sendIntact
(
batchNo
,
"processSendAuthCode"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_1
,
"mobilePhone:"
+
mobilePhone
+
",flag:"
+
flag
+
",authCodeKeySecure:"
+
authCodeKeySecure
);
long
start
=
System
.
currentTimeMillis
();
long
start
=
System
.
currentTimeMillis
();
String
authCode
=
CommonUtil
.
createValidateCode
();
String
authCode
=
CommonUtil
.
createValidateCode
();
String
message
=
"您的验证码是"
+
authCode
+
",在10分钟内有效。如非本人操作,请忽略本短信!"
;
String
message
=
"您的验证码是"
+
authCode
+
",在10分钟内有效。如非本人操作,请忽略本短信!"
;
...
@@ -296,6 +331,8 @@ public class AutoCodeController extends AccountBaseController {
...
@@ -296,6 +331,8 @@ public class AutoCodeController extends AccountBaseController {
super
.
sendMobileMessage
(
mobilePhone
,
message
,
senderId
);
super
.
sendMobileMessage
(
mobilePhone
,
message
,
senderId
);
long
end2
=
System
.
currentTimeMillis
();
long
end2
=
System
.
currentTimeMillis
();
logger
.
info
(
"processSendAuthCode-2 used {} million seconds"
,
end2
-
start
);
logger
.
info
(
"processSendAuthCode-2 used {} million seconds"
,
end2
-
start
);
intactUtil
.
sendIntact
(
batchNo
,
"processSendAuthCode"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"mobilePhone:"
+
mobilePhone
+
",flag:"
+
flag
+
",authCodeKeySecure:"
+
authCodeKeySecure
);
}
}
//获取验证码redis key
//获取验证码redis key
...
...
server/src/main/java/com/pica/cloud/account/account/server/mapper/AccountAppleInfoMapper.java
浏览文件 @
95b5f8fa
...
@@ -2,7 +2,9 @@ package com.pica.cloud.account.account.server.mapper;
...
@@ -2,7 +2,9 @@ package com.pica.cloud.account.account.server.mapper;
import
com.pica.cloud.account.account.server.entity.AccountAppleInfo
;
import
com.pica.cloud.account.account.server.entity.AccountAppleInfo
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Component
;
@Component
public
interface
AccountAppleInfoMapper
{
public
interface
AccountAppleInfoMapper
{
int
insert
(
AccountAppleInfo
record
);
int
insert
(
AccountAppleInfo
record
);
...
...
server/src/main/java/com/pica/cloud/account/account/server/mapper/AccountInfoDetailMapper.java
浏览文件 @
95b5f8fa
...
@@ -3,9 +3,10 @@ package com.pica.cloud.account.account.server.mapper;
...
@@ -3,9 +3,10 @@ package com.pica.cloud.account.account.server.mapper;
import
com.pica.cloud.account.account.server.entity.AccountInfoEntity
;
import
com.pica.cloud.account.account.server.entity.AccountInfoEntity
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Component
;
import
java.util.HashMap
;
import
java.util.HashMap
;
@Component
public
interface
AccountInfoDetailMapper
{
public
interface
AccountInfoDetailMapper
{
/**
/**
* 通过电话号码查询账号信息
* 通过电话号码查询账号信息
...
...
server/src/main/java/com/pica/cloud/account/account/server/mapper/AccountPatientInfoMapper.java
浏览文件 @
95b5f8fa
...
@@ -2,7 +2,9 @@ package com.pica.cloud.account.account.server.mapper;
...
@@ -2,7 +2,9 @@ package com.pica.cloud.account.account.server.mapper;
import
com.pica.cloud.account.account.server.entity.AccountPatientInfoEntity
;
import
com.pica.cloud.account.account.server.entity.AccountPatientInfoEntity
;
import
org.springframework.stereotype.Component
;
@Component
public
interface
AccountPatientInfoMapper
{
public
interface
AccountPatientInfoMapper
{
...
...
server/src/main/java/com/pica/cloud/account/account/server/mapper/AccountUnionMapper.java
浏览文件 @
95b5f8fa
...
@@ -2,9 +2,10 @@ package com.pica.cloud.account.account.server.mapper;
...
@@ -2,9 +2,10 @@ package com.pica.cloud.account.account.server.mapper;
import
com.pica.cloud.account.account.server.entity.AccountUnionEntity
;
import
com.pica.cloud.account.account.server.entity.AccountUnionEntity
;
import
org.springframework.stereotype.Component
;
import
java.util.Map
;
import
java.util.Map
;
@Component
public
interface
AccountUnionMapper
{
public
interface
AccountUnionMapper
{
/**
/**
...
...
server/src/main/java/com/pica/cloud/account/account/server/mapper/AccountWeChatInfoMapper.java
浏览文件 @
95b5f8fa
package
com
.
pica
.
cloud
.
account
.
account
.
server
.
mapper
;
package
com
.
pica
.
cloud
.
account
.
account
.
server
.
mapper
;
import
com.pica.cloud.account.account.server.entity.AccountWeChatInfoEntity
;
import
com.pica.cloud.account.account.server.entity.AccountWeChatInfoEntity
;
import
org.springframework.stereotype.Component
;
@Component
public
interface
AccountWeChatInfoMapper
{
public
interface
AccountWeChatInfoMapper
{
/**
/**
...
...
server/src/main/java/com/pica/cloud/account/account/server/mapper/AgreementLogEntityMapper.java
浏览文件 @
95b5f8fa
...
@@ -3,7 +3,9 @@ package com.pica.cloud.account.account.server.mapper;
...
@@ -3,7 +3,9 @@ package com.pica.cloud.account.account.server.mapper;
import
com.pica.cloud.account.account.server.entity.AgreementLogEntity
;
import
com.pica.cloud.account.account.server.entity.AgreementLogEntity
;
import
com.pica.cloud.account.account.server.entity.PProtocolLog
;
import
com.pica.cloud.account.account.server.entity.PProtocolLog
;
import
org.springframework.stereotype.Component
;
@Component
public
interface
AgreementLogEntityMapper
{
public
interface
AgreementLogEntityMapper
{
int
deleteByPrimaryKey
(
Long
id
);
int
deleteByPrimaryKey
(
Long
id
);
...
...
server/src/main/java/com/pica/cloud/account/account/server/mapper/DoctorMapper.java
浏览文件 @
95b5f8fa
...
@@ -5,9 +5,10 @@ import com.pica.cloud.account.account.server.entity.Doctor;
...
@@ -5,9 +5,10 @@ import com.pica.cloud.account.account.server.entity.Doctor;
import
com.pica.cloud.account.account.server.entity.DoctorEntity
;
import
com.pica.cloud.account.account.server.entity.DoctorEntity
;
import
com.pica.cloud.account.account.server.entity.PICAPDoctor
;
import
com.pica.cloud.account.account.server.entity.PICAPDoctor
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Component
;
import
java.util.HashMap
;
import
java.util.HashMap
;
@Component
public
interface
DoctorMapper
{
public
interface
DoctorMapper
{
/**
/**
* 获取医生信息
* 获取医生信息
...
...
server/src/main/java/com/pica/cloud/account/account/server/mapper/LogLoginAesMapper.java
浏览文件 @
95b5f8fa
package
com
.
pica
.
cloud
.
account
.
account
.
server
.
mapper
;
package
com
.
pica
.
cloud
.
account
.
account
.
server
.
mapper
;
import
com.pica.cloud.account.account.server.entity.LogLoginAes
;
import
com.pica.cloud.account.account.server.entity.LogLoginAes
;
import
org.springframework.stereotype.Component
;
@Component
public
interface
LogLoginAesMapper
{
public
interface
LogLoginAesMapper
{
int
deleteByPrimaryKey
(
Integer
id
);
int
deleteByPrimaryKey
(
Integer
id
);
...
...
server/src/main/java/com/pica/cloud/account/account/server/mapper/LogLoginOnekeyMapper.java
浏览文件 @
95b5f8fa
package
com
.
pica
.
cloud
.
account
.
account
.
server
.
mapper
;
package
com
.
pica
.
cloud
.
account
.
account
.
server
.
mapper
;
import
com.pica.cloud.account.account.server.entity.LogLoginOnekey
;
import
com.pica.cloud.account.account.server.entity.LogLoginOnekey
;
import
org.springframework.stereotype.Component
;
@Component
public
interface
LogLoginOnekeyMapper
{
public
interface
LogLoginOnekeyMapper
{
int
deleteByPrimaryKey
(
Integer
id
);
int
deleteByPrimaryKey
(
Integer
id
);
...
...
server/src/main/java/com/pica/cloud/account/account/server/mapper/PUserRoleMapper.java
浏览文件 @
95b5f8fa
...
@@ -2,7 +2,9 @@ package com.pica.cloud.account.account.server.mapper;
...
@@ -2,7 +2,9 @@ package com.pica.cloud.account.account.server.mapper;
import
com.pica.cloud.account.account.server.entity.PUserRole
;
import
com.pica.cloud.account.account.server.entity.PUserRole
;
import
org.springframework.stereotype.Component
;
@Component
public
interface
PUserRoleMapper
{
public
interface
PUserRoleMapper
{
int
deleteByPrimaryKey
(
Integer
id
);
int
deleteByPrimaryKey
(
Integer
id
);
...
...
server/src/main/java/com/pica/cloud/account/account/server/model/OneClickProcessor.java
浏览文件 @
95b5f8fa
package
com
.
pica
.
cloud
.
account
.
account
.
server
.
model
;
package
com
.
pica
.
cloud
.
account
.
account
.
server
.
model
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.pica.cloud.account.account.server.entity.LogLoginOnekey
;
import
com.pica.cloud.account.account.server.entity.LogLoginOnekey
;
import
com.pica.cloud.account.account.server.entity.MobileDataEntity
;
import
com.pica.cloud.account.account.server.entity.MobileDataEntity
;
import
com.pica.cloud.account.account.server.entity.QueryMobileEntity
;
import
com.pica.cloud.account.account.server.entity.QueryMobileEntity
;
import
com.pica.cloud.account.account.server.mapper.LogLoginOnekeyMapper
;
import
com.pica.cloud.account.account.server.mapper.LogLoginOnekeyMapper
;
import
com.pica.cloud.account.account.server.util.AESUtil
;
import
com.pica.cloud.account.account.server.util.*
;
import
com.pica.cloud.account.account.server.util.HttpUtil
;
import
com.pica.cloud.foundation.completeness.client.utils.IntactUtils
;
import
com.pica.cloud.account.account.server.util.MD5
;
import
com.pica.cloud.account.account.server.util.RSAUtil
;
import
com.pica.cloud.account.account.server.util.SignUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
...
@@ -30,6 +28,8 @@ import java.util.Map;
...
@@ -30,6 +28,8 @@ import java.util.Map;
*/
*/
@Component
@Component
public
class
OneClickProcessor
{
public
class
OneClickProcessor
{
@Autowired
private
IntactUtil
intactUtil
;
private
static
final
String
DEFAULT_ENCRYPT_TYPE
=
"0"
;
private
static
final
String
DEFAULT_ENCRYPT_TYPE
=
"0"
;
private
Logger
logger
=
LoggerFactory
.
getLogger
(
this
.
getClass
());
private
Logger
logger
=
LoggerFactory
.
getLogger
(
this
.
getClass
());
...
@@ -84,7 +84,12 @@ public class OneClickProcessor {
...
@@ -84,7 +84,12 @@ public class OneClickProcessor {
params
.
put
(
APPID
,
appId
);
params
.
put
(
APPID
,
appId
);
params
.
put
(
ENCRYPT_TYPE
,
encryptType
);
//可以不传,不传则解密直接使用AES解密
params
.
put
(
ENCRYPT_TYPE
,
encryptType
);
//可以不传,不传则解密直接使用AES解密
params
.
put
(
SIGN
,
SignUtils
.
getSign
(
params
,
appKey
));
params
.
put
(
SIGN
,
SignUtils
.
getSign
(
params
,
appKey
));
//接入新旭事务一致性
String
batchNo
=
IntactUtils
.
getUUID
();
intactUtil
.
sendIntact
(
batchNo
,
"tokenExchangeMobile.postForm(mobileQueryUrl, params, QueryMobileEntity.class)"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_1
,
"token:"
+
token
+
",appId:"
+
appId
+
",SIGN:"
+
SignUtils
.
getSign
(
params
,
appKey
)
);
queryMobileEntity
=
HttpUtil
.
postForm
(
mobileQueryUrl
,
params
,
QueryMobileEntity
.
class
);
queryMobileEntity
=
HttpUtil
.
postForm
(
mobileQueryUrl
,
params
,
QueryMobileEntity
.
class
);
intactUtil
.
sendIntact
(
batchNo
,
"tokenExchangeMobile.postForm(mobileQueryUrl, params, QueryMobileEntity.class)"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"token:"
+
token
+
",appId:"
+
appId
+
",SIGN:"
+
SignUtils
.
getSign
(
params
,
appKey
)
);
if
(
null
!=
queryMobileEntity
)
{
if
(
null
!=
queryMobileEntity
)
{
logger
.
info
(
"一键登录token换取手机号结果:{}"
,
queryMobileEntity
);
logger
.
info
(
"一键登录token换取手机号结果:{}"
,
queryMobileEntity
);
String
code
=
queryMobileEntity
.
getCode
();
//返回码 200000为成功
String
code
=
queryMobileEntity
.
getCode
();
//返回码 200000为成功
...
...
server/src/main/java/com/pica/cloud/account/account/server/service/impl/LoginServiceImpl.java
浏览文件 @
95b5f8fa
...
@@ -19,10 +19,8 @@ import com.pica.cloud.account.account.server.req.OneClickLoginReq;
...
@@ -19,10 +19,8 @@ import com.pica.cloud.account.account.server.req.OneClickLoginReq;
import
com.pica.cloud.account.account.server.service.DoctorService
;
import
com.pica.cloud.account.account.server.service.DoctorService
;
import
com.pica.cloud.account.account.server.service.LoginService
;
import
com.pica.cloud.account.account.server.service.LoginService
;
import
com.pica.cloud.account.account.server.service.RegisterService
;
import
com.pica.cloud.account.account.server.service.RegisterService
;
import
com.pica.cloud.account.account.server.util.AESUtil
;
import
com.pica.cloud.account.account.server.util.*
;
import
com.pica.cloud.account.account.server.util.AccountUtils
;
import
com.pica.cloud.foundation.completeness.client.utils.IntactUtils
;
import
com.pica.cloud.account.account.server.util.TokenUtils
;
import
com.pica.cloud.account.account.server.util.WeChatUtils
;
import
com.pica.cloud.foundation.encryption.common.constants.EncryptConstants
;
import
com.pica.cloud.foundation.encryption.common.constants.EncryptConstants
;
import
com.pica.cloud.foundation.encryption.util.EncryptUtils
;
import
com.pica.cloud.foundation.encryption.util.EncryptUtils
;
import
com.pica.cloud.foundation.entity.PicaException
;
import
com.pica.cloud.foundation.entity.PicaException
;
...
@@ -94,6 +92,9 @@ public class LoginServiceImpl implements LoginService {
...
@@ -94,6 +92,9 @@ public class LoginServiceImpl implements LoginService {
@Autowired
@Autowired
private
LogLoginAesMapper
logLoginAesMapper
;
private
LogLoginAesMapper
logLoginAesMapper
;
@Autowired
private
IntactUtil
intactUtil
;
@Value
(
"${doubleWritingMode}"
)
@Value
(
"${doubleWritingMode}"
)
private
boolean
doubleWritingMode
;
private
boolean
doubleWritingMode
;
...
@@ -125,6 +126,9 @@ public class LoginServiceImpl implements LoginService {
...
@@ -125,6 +126,9 @@ public class LoginServiceImpl implements LoginService {
@Override
@Override
public
LoginResult
login
(
BaseRequest
request
)
{
public
LoginResult
login
(
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
();
String
mobile
=
request
.
getMobile
();
Integer
sourceType
=
request
.
getSourceType
();
Integer
sourceType
=
request
.
getSourceType
();
String
encrypt
=
AESUtil
.
encryptV0
(
mobile
);
String
encrypt
=
AESUtil
.
encryptV0
(
mobile
);
...
@@ -138,9 +142,12 @@ public class LoginServiceImpl implements LoginService {
...
@@ -138,9 +142,12 @@ public class LoginServiceImpl implements LoginService {
// 新版-未设置密码
// 新版-未设置密码
if
(
StringUtils
.
isEmpty
(
oldPwd
))
{
if
(
StringUtils
.
isEmpty
(
oldPwd
))
{
if
(
sourceType
!=
null
&&
SourceTypeEnum
.
H5
.
getCode
().
equals
(
sourceType
))
{
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_SETED_PASSWORD_H5
.
getCode
(),
throw
new
PicaWarnException
(
AccountExceptionEnum
.
PICA_MOBILE_NOT_SETED_PASSWORD_H5
.
getCode
(),
AccountExceptionEnum
.
PICA_MOBILE_NOT_SETED_PASSWORD_H5
.
getMessage
());
AccountExceptionEnum
.
PICA_MOBILE_NOT_SETED_PASSWORD_H5
.
getMessage
());
}
else
{
}
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
(),
throw
new
PicaException
(
AccountExceptionEnum
.
PICA_PASSWORD_RULE_ERROR
.
getCode
(),
AccountExceptionEnum
.
PICA_PASSWORD_RULE_ERROR
.
getMessage
()
AccountExceptionEnum
.
PICA_PASSWORD_RULE_ERROR
.
getMessage
()
.
replace
(
"{mobile}"
,
mobile
));
.
replace
(
"{mobile}"
,
mobile
));
...
@@ -151,15 +158,21 @@ public class LoginServiceImpl implements LoginService {
...
@@ -151,15 +158,21 @@ public class LoginServiceImpl implements LoginService {
String
lockKey
=
Constants
.
ACCOUNT_LOCK_KEY
.
replace
(
"{mobile}"
,
mobile
);
String
lockKey
=
Constants
.
ACCOUNT_LOCK_KEY
.
replace
(
"{mobile}"
,
mobile
);
if
(
redisClient
.
exists
(
lockKey
))
{
if
(
redisClient
.
exists
(
lockKey
))
{
if
(
sourceType
!=
null
&&
SourceTypeEnum
.
H5
.
getCode
().
equals
(
sourceType
))
{
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
,
"该账号密码错误次数已达上限请24小时后再试,或请使用其他登录方式"
);
throw
new
PicaException
(
AccountExceptionEnum
.
PICA_PWD_MISMATCH_5_H5
.
getCode
(),
throw
new
PicaException
(
AccountExceptionEnum
.
PICA_PWD_MISMATCH_5_H5
.
getCode
(),
AccountExceptionEnum
.
PICA_PWD_MISMATCH_5_H5
.
getMessage
());
AccountExceptionEnum
.
PICA_PWD_MISMATCH_5_H5
.
getMessage
());
}
else
{
}
else
{
intactUtil
.
sendIntact
(
batchNo
,
"login"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"该账号{mobile}的密码错误次数已达上限请24小时后再试,或请使用其他登录方式或找回密码"
);
throw
new
PicaException
(
AccountExceptionEnum
.
PICA_PWD_MISMATCH_5
.
getCode
(),
throw
new
PicaException
(
AccountExceptionEnum
.
PICA_PWD_MISMATCH_5
.
getCode
(),
AccountExceptionEnum
.
PICA_PWD_MISMATCH_5
.
getMessage
().
replace
(
"{mobile}"
,
mobile
));
AccountExceptionEnum
.
PICA_PWD_MISMATCH_5
.
getMessage
().
replace
(
"{mobile}"
,
mobile
));
}
}
}
}
if
(
password
.
equals
(
oldPwd
))
{
if
(
password
.
equals
(
oldPwd
))
{
intactUtil
.
sendIntact
(
batchNo
,
"login"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"接下来调用pwdLoginCorrect"
);
return
pwdLoginCorrect
(
request
,
mobile
,
encrypt
,
accountInfoEntity
);
return
pwdLoginCorrect
(
request
,
mobile
,
encrypt
,
accountInfoEntity
);
}
else
{
}
else
{
String
errorKey
=
Constants
.
PWD_ERROR_NUM_KEY
.
replace
(
"{mobile}"
,
mobile
);
String
errorKey
=
Constants
.
PWD_ERROR_NUM_KEY
.
replace
(
"{mobile}"
,
mobile
);
...
@@ -168,21 +181,29 @@ public class LoginServiceImpl implements LoginService {
...
@@ -168,21 +181,29 @@ public class LoginServiceImpl implements LoginService {
errorCount
=
errorCount
+
1
;
errorCount
=
errorCount
+
1
;
redisClient
.
set
(
errorKey
,
errorCount
,
Constants
.
PWD_ERROR_NUM_SECONDS
);
redisClient
.
set
(
errorKey
,
errorCount
,
Constants
.
PWD_ERROR_NUM_SECONDS
);
if
(
errorCount
<=
4
)
{
if
(
errorCount
<=
4
)
{
intactUtil
.
sendIntact
(
batchNo
,
"login"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"密码错误,请重试"
);
throw
new
PicaException
(
AccountExceptionEnum
.
PICA_PWD_MISMATCH_4
.
getCode
(),
throw
new
PicaException
(
AccountExceptionEnum
.
PICA_PWD_MISMATCH_4
.
getCode
(),
AccountExceptionEnum
.
PICA_PWD_MISMATCH_4
.
getMessage
());
AccountExceptionEnum
.
PICA_PWD_MISMATCH_4
.
getMessage
());
}
else
{
}
else
{
// 设置账号锁定24h
// 设置账号锁定24h
redisClient
.
set
(
lockKey
,
mobile
,
Constants
.
PWD_ERROR_NUM_SECONDS
);
redisClient
.
set
(
lockKey
,
mobile
,
Constants
.
PWD_ERROR_NUM_SECONDS
);
if
(
sourceType
!=
null
&&
SourceTypeEnum
.
H5
.
getCode
().
equals
(
sourceType
))
{
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
,
"该账号密码错误次数已达上限请24小时后再试,或请使用其他登录方式"
);
throw
new
PicaException
(
AccountExceptionEnum
.
PICA_PWD_MISMATCH_5_H5
.
getCode
(),
throw
new
PicaException
(
AccountExceptionEnum
.
PICA_PWD_MISMATCH_5_H5
.
getCode
(),
AccountExceptionEnum
.
PICA_PWD_MISMATCH_5_H5
.
getMessage
());
AccountExceptionEnum
.
PICA_PWD_MISMATCH_5_H5
.
getMessage
());
}
else
{
}
else
{
intactUtil
.
sendIntact
(
batchNo
,
"login"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"该账号{mobile}的密码错误次数已达上限请24小时后再试,或请使用其他登录方式或找回密码"
);
throw
new
PicaException
(
AccountExceptionEnum
.
PICA_PWD_MISMATCH_5
.
getCode
(),
throw
new
PicaException
(
AccountExceptionEnum
.
PICA_PWD_MISMATCH_5
.
getCode
(),
AccountExceptionEnum
.
PICA_PWD_MISMATCH_5
.
getMessage
().
replace
(
"{mobile}"
,
mobile
));
AccountExceptionEnum
.
PICA_PWD_MISMATCH_5
.
getMessage
().
replace
(
"{mobile}"
,
mobile
));
}
}
}
}
}
else
{
}
else
{
redisClient
.
set
(
errorKey
,
1
,
Constants
.
PWD_ERROR_NUM_SECONDS
);
redisClient
.
set
(
errorKey
,
1
,
Constants
.
PWD_ERROR_NUM_SECONDS
);
intactUtil
.
sendIntact
(
batchNo
,
"login"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"密码错误,请重试"
);
throw
new
PicaException
(
AccountExceptionEnum
.
PICA_PWD_MISMATCH_4
.
getCode
(),
throw
new
PicaException
(
AccountExceptionEnum
.
PICA_PWD_MISMATCH_4
.
getCode
(),
AccountExceptionEnum
.
PICA_PWD_MISMATCH_4
.
getMessage
());
AccountExceptionEnum
.
PICA_PWD_MISMATCH_4
.
getMessage
());
}
}
...
@@ -192,9 +213,13 @@ public class LoginServiceImpl implements LoginService {
...
@@ -192,9 +213,13 @@ public class LoginServiceImpl implements LoginService {
}
else
{
}
else
{
// 旧版本
// 旧版本
if
(
password
.
equals
(
oldPwd
))
{
if
(
password
.
equals
(
oldPwd
))
{
intactUtil
.
sendIntact
(
batchNo
,
"login"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"接下来调用pwdLoginCorrect"
);
return
pwdLoginCorrect
(
request
,
mobile
,
encrypt
,
accountInfoEntity
);
return
pwdLoginCorrect
(
request
,
mobile
,
encrypt
,
accountInfoEntity
);
}
else
{
}
else
{
logger
.
info
(
"login failure:"
+
mobile
);
logger
.
info
(
"login failure:"
+
mobile
);
intactUtil
.
sendIntact
(
batchNo
,
"login"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"请输入正确的密码"
);
throw
new
PicaException
(
AccountExceptionEnum
.
PICA_PASSWORD_ERROR
.
getCode
(),
AccountExceptionEnum
.
PICA_PASSWORD_ERROR
.
getMessage
());
throw
new
PicaException
(
AccountExceptionEnum
.
PICA_PASSWORD_ERROR
.
getCode
(),
AccountExceptionEnum
.
PICA_PASSWORD_ERROR
.
getMessage
());
}
}
}
}
...
@@ -202,15 +227,21 @@ public class LoginServiceImpl implements LoginService {
...
@@ -202,15 +227,21 @@ public class LoginServiceImpl implements LoginService {
if
(
null
!=
request
.
getBizType
()
&&
if
(
null
!=
request
.
getBizType
()
&&
request
.
getBizType
().
equals
(
1
))
{
request
.
getBizType
().
equals
(
1
))
{
if
(
sourceType
!=
null
&&
SourceTypeEnum
.
H5
.
getCode
().
equals
(
sourceType
))
{
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
(),
throw
new
PicaWarnException
(
AccountExceptionEnum
.
PICA_MOBILE_NOT_REGIST_H5
.
getCode
(),
AccountExceptionEnum
.
PICA_MOBILE_NOT_REGIST_H5
.
getMessage
());
AccountExceptionEnum
.
PICA_MOBILE_NOT_REGIST_H5
.
getMessage
());
}
else
{
}
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
(),
throw
new
PicaException
(
AccountExceptionEnum
.
PICA_PASSWORD_RULE_ERROR
.
getCode
(),
AccountExceptionEnum
.
PICA_PASSWORD_RULE_ERROR
.
getMessage
()
AccountExceptionEnum
.
PICA_PASSWORD_RULE_ERROR
.
getMessage
()
.
replace
(
"{mobile}"
,
mobile
));
.
replace
(
"{mobile}"
,
mobile
));
}
}
}
else
{
}
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
());
throw
new
PicaException
(
AccountExceptionEnum
.
PICA_NOT_REGISTER
.
getCode
(),
AccountExceptionEnum
.
PICA_NOT_REGISTER
.
getMessage
());
}
}
}
}
...
@@ -225,6 +256,9 @@ public class LoginServiceImpl implements LoginService {
...
@@ -225,6 +256,9 @@ public class LoginServiceImpl implements LoginService {
* @Return com.pica.cloud.account.account.server.entity.LoginResult
* @Return com.pica.cloud.account.account.server.entity.LoginResult
*/
*/
private
LoginResult
pwdLoginCorrect
(
BaseRequest
request
,
String
mobile
,
String
encrypt
,
AccountInfoEntity
accountInfoEntity
)
{
private
LoginResult
pwdLoginCorrect
(
BaseRequest
request
,
String
mobile
,
String
encrypt
,
AccountInfoEntity
accountInfoEntity
)
{
//接入新旭事务一致性
String
batchNo
=
IntactUtils
.
getUUID
();
intactUtil
.
sendIntact
(
batchNo
,
"pwdLoginCorrect"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_1
,
"request:"
+
JSON
.
toJSONString
(
request
)+
",+mobile:"
+
mobile
+
",encrypt:"
+
encrypt
+
",accountInfoEntity:"
+
JSON
.
toJSONString
(
accountInfoEntity
));
Date
currentTime
=
new
Date
();
Date
currentTime
=
new
Date
();
Integer
acctId
=
accountInfoEntity
.
getId
();
Integer
acctId
=
accountInfoEntity
.
getId
();
int
productType
=
request
.
getProductType
();
int
productType
=
request
.
getProductType
();
...
@@ -263,6 +297,8 @@ public class LoginServiceImpl implements LoginService {
...
@@ -263,6 +297,8 @@ public class LoginServiceImpl implements LoginService {
redisClient
.
del
(
pwdErrorNum
);
redisClient
.
del
(
pwdErrorNum
);
}
}
}
}
intactUtil
.
sendIntact
(
batchNo
,
"pwdLoginCorrect"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"request:"
+
JSON
.
toJSONString
(
request
)+
",+mobile:"
+
mobile
+
",encrypt:"
+
",accountInfoEntity:"
+
JSON
.
toJSONString
(
accountInfoEntity
));
return
result
;
return
result
;
}
}
...
@@ -294,6 +330,9 @@ public class LoginServiceImpl implements LoginService {
...
@@ -294,6 +330,9 @@ public class LoginServiceImpl implements LoginService {
}
}
private
LoginResult
processLogin
(
BaseRequest
baseRequest
,
Integer
acctId
,
Integer
loginType
,
QueryMobileEntity
queryMobileEntity
)
{
private
LoginResult
processLogin
(
BaseRequest
baseRequest
,
Integer
acctId
,
Integer
loginType
,
QueryMobileEntity
queryMobileEntity
)
{
//接入新旭事务一致性
String
batchNo
=
IntactUtils
.
getUUID
();
intactUtil
.
sendIntact
(
batchNo
,
"processLogin"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_1
,
"baseRequest:"
+
JSON
.
toJSONString
(
baseRequest
)+
",+acctId:"
+
acctId
+
",loginType:"
+
loginType
+
",queryMobileEntity:"
+
JSON
.
toJSONString
(
queryMobileEntity
));
Date
currentTime
=
new
Date
();
Date
currentTime
=
new
Date
();
Long
userId
=
accountUtils
.
getUserIdByAcctId
(
baseRequest
.
getProductType
(),
acctId
);
Long
userId
=
accountUtils
.
getUserIdByAcctId
(
baseRequest
.
getProductType
(),
acctId
);
Account
account
=
new
Account
();
Account
account
=
new
Account
();
...
@@ -320,12 +359,17 @@ public class LoginServiceImpl implements LoginService {
...
@@ -320,12 +359,17 @@ public class LoginServiceImpl implements LoginService {
entity
.
setQueryMobileEntity
(
queryMobileEntity
);
entity
.
setQueryMobileEntity
(
queryMobileEntity
);
}
}
picaLogUtils
.
info
(
entity
);
picaLogUtils
.
info
(
entity
);
intactUtil
.
sendIntact
(
batchNo
,
"processLogin"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"baseRequest:"
+
JSON
.
toJSONString
(
baseRequest
)+
",+acctId:"
+
acctId
+
",loginType:"
+
loginType
+
",queryMobileEntity:"
+
JSON
.
toJSONString
(
queryMobileEntity
));
return
result
;
return
result
;
}
}
@Override
@Override
@Transactional
@Transactional
public
LoginResult
loginByWeChat
(
BaseRequest
request
)
{
public
LoginResult
loginByWeChat
(
BaseRequest
request
)
{
//接入新旭事务一致性
String
batchNo
=
IntactUtils
.
getUUID
();
intactUtil
.
sendIntact
(
batchNo
,
"loginByWeChat"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_1
,
"request:"
+
JSON
.
toJSONString
(
request
));
WeChatEntity
weChatEntity
=
null
;
WeChatEntity
weChatEntity
=
null
;
if
(
null
!=
request
.
getBizType
()
&&
if
(
null
!=
request
.
getBizType
()
&&
request
.
getBizType
().
equals
(
1
))
{
request
.
getBizType
().
equals
(
1
))
{
...
@@ -336,6 +380,8 @@ public class LoginServiceImpl implements LoginService {
...
@@ -336,6 +380,8 @@ public class LoginServiceImpl implements LoginService {
weChatEntity
=
WeChatUtils
.
getAuthorizationInfo
(
appId
,
appSecret
,
request
.
getWeChatCode
());
weChatEntity
=
WeChatUtils
.
getAuthorizationInfo
(
appId
,
appSecret
,
request
.
getWeChatCode
());
}
}
if
(
weChatEntity
==
null
||
StringUtils
.
isEmpty
(
weChatEntity
.
getOpenid
())
||
StringUtils
.
isEmpty
(
weChatEntity
.
getAccess_token
()))
{
if
(
weChatEntity
==
null
||
StringUtils
.
isEmpty
(
weChatEntity
.
getOpenid
())
||
StringUtils
.
isEmpty
(
weChatEntity
.
getAccess_token
()))
{
intactUtil
.
sendIntact
(
batchNo
,
"loginByWeChat"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"微信登录授权code不正确:"
);
throw
new
PicaException
(
AccountExceptionEnum
.
PICA_WECHAT_CODE_ERROR
.
getCode
(),
AccountExceptionEnum
.
PICA_WECHAT_CODE_ERROR
.
getMessage
());
throw
new
PicaException
(
AccountExceptionEnum
.
PICA_WECHAT_CODE_ERROR
.
getCode
(),
AccountExceptionEnum
.
PICA_WECHAT_CODE_ERROR
.
getMessage
());
}
}
// 微信登录获取个人信息
// 微信登录获取个人信息
...
@@ -378,6 +424,8 @@ public class LoginServiceImpl implements LoginService {
...
@@ -378,6 +424,8 @@ public class LoginServiceImpl implements LoginService {
AccountTypeEnum
.
LOGIN_STATUS_SUCCESS
.
getCode
(),
AccountTypeEnum
.
LOGIN_STATUS_SUCCESS
.
getCode
(),
AccountTypeEnum
.
LOG_TYPE_LOGIN
.
getCode
(),
newToken
,
1
,
request
.
getUserTokenTourist
());
AccountTypeEnum
.
LOG_TYPE_LOGIN
.
getCode
(),
newToken
,
1
,
request
.
getUserTokenTourist
());
picaLogUtils
.
info
(
entity
);
picaLogUtils
.
info
(
entity
);
intactUtil
.
sendIntact
(
batchNo
,
"loginByWeChat"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"request:"
+
JSON
.
toJSONString
(
request
));
return
result
;
return
result
;
}
else
{
}
else
{
...
@@ -389,6 +437,8 @@ public class LoginServiceImpl implements LoginService {
...
@@ -389,6 +437,8 @@ public class LoginServiceImpl implements LoginService {
LoginResult
result
=
new
LoginResult
();
LoginResult
result
=
new
LoginResult
();
result
.
setUnionId
(
unionId
);
result
.
setUnionId
(
unionId
);
result
.
setBindFlag
(
AccountTypeEnum
.
BIND_STATUS_FAILURE
.
getCode
()
+
""
);
result
.
setBindFlag
(
AccountTypeEnum
.
BIND_STATUS_FAILURE
.
getCode
()
+
""
);
intactUtil
.
sendIntact
(
batchNo
,
"loginByWeChat"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"request:"
+
JSON
.
toJSONString
(
request
));
return
result
;
return
result
;
}
}
}
}
...
@@ -469,9 +519,14 @@ public class LoginServiceImpl implements LoginService {
...
@@ -469,9 +519,14 @@ public class LoginServiceImpl implements LoginService {
* @param unionId
* @param unionId
*/
*/
private
void
processAccountUnion
(
Integer
acctId
,
String
unionId
,
Integer
productType
)
{
private
void
processAccountUnion
(
Integer
acctId
,
String
unionId
,
Integer
productType
)
{
//接入新旭事务一致性
String
batchNo
=
IntactUtils
.
getUUID
();
intactUtil
.
sendIntact
(
batchNo
,
"processAccountUnion"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_1
,
"acctId:"
+
acctId
+
",unionId:"
+
unionId
+
",productType:"
+
productType
);
//先查询当前产品线是否有记录?如果有就更新成delete_flag=2; 然后在插入新的绑定记录
//先查询当前产品线是否有记录?如果有就更新成delete_flag=2; 然后在插入新的绑定记录
AccountUnionEntity
accountUnionResult
=
accountUnionMapper
.
selectByUnionId
(
unionId
);
AccountUnionEntity
accountUnionResult
=
accountUnionMapper
.
selectByUnionId
(
unionId
);
if
(
accountUnionResult
!=
null
)
{
if
(
accountUnionResult
!=
null
)
{
intactUtil
.
sendIntact
(
batchNo
,
"processAccountUnion"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"该微信号已绑定其他云鹊医账户,你可以使用微信登录云鹊医,在「设置」页解除绑定"
);
throw
new
PicaException
(
AccountExceptionEnum
.
PICA_WECHAT_UNBIND
.
getCode
(),
AccountExceptionEnum
.
PICA_WECHAT_UNBIND
.
getMessage
());
throw
new
PicaException
(
AccountExceptionEnum
.
PICA_WECHAT_UNBIND
.
getCode
(),
AccountExceptionEnum
.
PICA_WECHAT_UNBIND
.
getMessage
());
}
}
Map
<
String
,
Object
>
map
=
new
HashedMap
(
2
);
Map
<
String
,
Object
>
map
=
new
HashedMap
(
2
);
...
@@ -479,6 +534,8 @@ public class LoginServiceImpl implements LoginService {
...
@@ -479,6 +534,8 @@ public class LoginServiceImpl implements LoginService {
map
.
put
(
"unionType"
,
AccountTypeEnum
.
UNION_LOGIN_WE_CHAT
.
getCode
());
map
.
put
(
"unionType"
,
AccountTypeEnum
.
UNION_LOGIN_WE_CHAT
.
getCode
());
AccountUnionEntity
accountUnionEntityAccount
=
accountUnionMapper
.
selectByAcctId
(
map
);
AccountUnionEntity
accountUnionEntityAccount
=
accountUnionMapper
.
selectByAcctId
(
map
);
if
(
accountUnionEntityAccount
!=
null
)
{
if
(
accountUnionEntityAccount
!=
null
)
{
intactUtil
.
sendIntact
(
batchNo
,
"processAccountUnion"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"该手机号已绑定其他微信号,你可以在「设置」页解除绑定"
);
throw
new
PicaException
(
AccountExceptionEnum
.
PICA_WECHAT_BIND_OTHER
.
getCode
(),
AccountExceptionEnum
.
PICA_WECHAT_BIND_OTHER
.
getMessage
());
throw
new
PicaException
(
AccountExceptionEnum
.
PICA_WECHAT_BIND_OTHER
.
getCode
(),
AccountExceptionEnum
.
PICA_WECHAT_BIND_OTHER
.
getMessage
());
}
}
AccountUnionEntity
accountUnionEntity
=
new
AccountUnionEntity
();
AccountUnionEntity
accountUnionEntity
=
new
AccountUnionEntity
();
...
@@ -494,6 +551,8 @@ public class LoginServiceImpl implements LoginService {
...
@@ -494,6 +551,8 @@ public class LoginServiceImpl implements LoginService {
if
(
doubleWritingMode
)
{
//双写模式
if
(
doubleWritingMode
)
{
//双写模式
doctorService
.
bindWeChat
(
acctId
,
unionId
);
doctorService
.
bindWeChat
(
acctId
,
unionId
);
}
}
intactUtil
.
sendIntact
(
batchNo
,
"processAccountUnion"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"acctId:"
+
acctId
+
",unionId:"
+
unionId
+
",productType:"
+
productType
);
}
}
private
void
processWeChatInfoUser
(
WeChatUserInfoEntity
weChatUserInfoEntity
,
int
type
)
{
private
void
processWeChatInfoUser
(
WeChatUserInfoEntity
weChatUserInfoEntity
,
int
type
)
{
...
...
server/src/main/java/com/pica/cloud/account/account/server/service/impl/RegisterServiceImpl.java
浏览文件 @
95b5f8fa
package
com
.
pica
.
cloud
.
account
.
account
.
server
.
service
.
impl
;
package
com
.
pica
.
cloud
.
account
.
account
.
server
.
service
.
impl
;
import
com.alibaba.fastjson.JSON
;
import
com.pica.cloud.account.account.common.req.OCINRequest
;
import
com.pica.cloud.account.account.common.req.OCINRequest
;
import
com.pica.cloud.account.account.server.constants.Constants
;
import
com.pica.cloud.account.account.server.constants.Constants
;
import
com.pica.cloud.account.account.server.entity.*
;
import
com.pica.cloud.account.account.server.entity.*
;
...
@@ -11,10 +12,8 @@ import com.pica.cloud.account.account.server.log.AccountLogUtils;
...
@@ -11,10 +12,8 @@ import com.pica.cloud.account.account.server.log.AccountLogUtils;
import
com.pica.cloud.account.account.server.mapper.*
;
import
com.pica.cloud.account.account.server.mapper.*
;
import
com.pica.cloud.account.account.server.req.BaseRequest
;
import
com.pica.cloud.account.account.server.req.BaseRequest
;
import
com.pica.cloud.account.account.server.service.RegisterService
;
import
com.pica.cloud.account.account.server.service.RegisterService
;
import
com.pica.cloud.account.account.server.util.AESUtil
;
import
com.pica.cloud.account.account.server.util.*
;
import
com.pica.cloud.account.account.server.util.AccountUtils
;
import
com.pica.cloud.foundation.completeness.client.utils.IntactUtils
;
import
com.pica.cloud.account.account.server.util.ExecutorServiceUtils
;
import
com.pica.cloud.account.account.server.util.TokenUtils
;
import
com.pica.cloud.foundation.encryption.common.constants.EncryptConstants
;
import
com.pica.cloud.foundation.encryption.common.constants.EncryptConstants
;
import
com.pica.cloud.foundation.encryption.util.EncryptUtils
;
import
com.pica.cloud.foundation.encryption.util.EncryptUtils
;
import
com.pica.cloud.foundation.redis.ICacheClient
;
import
com.pica.cloud.foundation.redis.ICacheClient
;
...
@@ -58,6 +57,9 @@ public class RegisterServiceImpl implements RegisterService {
...
@@ -58,6 +57,9 @@ public class RegisterServiceImpl implements RegisterService {
private
ICacheClient
redisClient
;
private
ICacheClient
redisClient
;
@Autowired
private
IntactUtil
intactUtil
;
/**
/**
* 1)注册功能:默认未完善信息;
* 1)注册功能:默认未完善信息;
* 2)注册成功后发送mq消息,让别的服务初始化数据;
* 2)注册成功后发送mq消息,让别的服务初始化数据;
...
@@ -74,6 +76,9 @@ public class RegisterServiceImpl implements RegisterService {
...
@@ -74,6 +76,9 @@ public class RegisterServiceImpl implements RegisterService {
@Override
@Override
public
LoginResult
register
(
BaseRequest
baseRequest
,
QueryMobileEntity
queryMobileEntity
)
{
public
LoginResult
register
(
BaseRequest
baseRequest
,
QueryMobileEntity
queryMobileEntity
)
{
//接入新旭事务一致性
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
();
String
mobile
=
baseRequest
.
getMobile
();
//对注册接口做幂等性处理:注册成功,删除缓存,注册失败提示用户
//对注册接口做幂等性处理:注册成功,删除缓存,注册失败提示用户
String
nxKey
=
Constants
.
REPEAT_REGISTER_PREFIX
+
mobile
;
String
nxKey
=
Constants
.
REPEAT_REGISTER_PREFIX
+
mobile
;
...
@@ -147,14 +152,20 @@ public class RegisterServiceImpl implements RegisterService {
...
@@ -147,14 +152,20 @@ public class RegisterServiceImpl implements RegisterService {
processAgreement
(
userId
);
processAgreement
(
userId
);
processRoleMap
(
userId
);
processRoleMap
(
userId
);
redisClient
.
del
(
nxKey
);
redisClient
.
del
(
nxKey
);
intactUtil
.
sendIntact
(
batchNo
,
"register"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"baseRequest:"
+
JSON
.
toJSONString
(
baseRequest
)+
",queryMobileEntity:"
+
JSON
.
toJSONString
(
queryMobileEntity
));
return
result
;
return
result
;
}
else
{
}
else
{
logger
.
info
(
"register-account is exists"
);
logger
.
info
(
"register-account is exists"
);
intactUtil
.
sendIntact
(
batchNo
,
"register"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"该手机号已注册,请直接登录"
);
throw
new
AccountException
(
AccountExceptionEnum
.
PICA_ALREADY_REGISTER
);
throw
new
AccountException
(
AccountExceptionEnum
.
PICA_ALREADY_REGISTER
);
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
//向上抛出异常,让异常处理框架捕获到
//向上抛出异常,让异常处理框架捕获到
logger
.
error
(
"registerException-"
+
e
.
getMessage
(),
e
);
logger
.
error
(
"registerException-"
+
e
.
getMessage
(),
e
);
intactUtil
.
sendIntact
(
batchNo
,
"register"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"注册失败"
);
throw
new
AccountException
(
AccountExceptionEnum
.
PICA_REGISTER_FAIL
);
throw
new
AccountException
(
AccountExceptionEnum
.
PICA_REGISTER_FAIL
);
}
finally
{
}
finally
{
//如果在注册过程中抛出异常,就删除redis中的注册标记
//如果在注册过程中抛出异常,就删除redis中的注册标记
...
@@ -163,6 +174,8 @@ public class RegisterServiceImpl implements RegisterService {
...
@@ -163,6 +174,8 @@ public class RegisterServiceImpl implements RegisterService {
}
}
}
else
{
}
else
{
logger
.
info
(
"register-nxKey is exists"
);
logger
.
info
(
"register-nxKey is exists"
);
intactUtil
.
sendIntact
(
batchNo
,
"register"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"该手机号已注册,请直接登录"
);
throw
new
AccountException
(
AccountExceptionEnum
.
PICA_ALREADY_REGISTER
);
throw
new
AccountException
(
AccountExceptionEnum
.
PICA_ALREADY_REGISTER
);
}
}
}
}
...
...
server/src/main/java/com/pica/cloud/account/account/server/util/IntactUtil.java
0 → 100644
浏览文件 @
95b5f8fa
package
com
.
pica
.
cloud
.
account
.
account
.
server
.
util
;
import
com.pica.cloud.foundation.completeness.client.utils.IntactUtils
;
import
com.pica.cloud.foundation.completeness.contract.req.LogParamsReq
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.stereotype.Service
;
/**
* @param <T>
* @author jiao.yu
* @version V1.0
* @Description:
* @date 2020/5/22 16:04
*/
@Service
public
class
IntactUtil
{
private
final
static
Logger
logger
=
LoggerFactory
.
getLogger
(
IntactUtil
.
class
);
/**
* 对接新旭事务一致性
* @param batchNo
* @param methodName
* @param status
* @param params
*/
public
void
sendIntact
(
String
batchNo
,
String
methodName
,
Integer
status
,
String
params
){
logger
.
info
(
"开始事务一致性,参数为:batchNo:"
+
batchNo
+
",methodName:"
+
methodName
+
",status:"
+
status
+
",params:"
+
params
);
LogParamsReq
req
=
new
LogParamsReq
();
req
.
setBatchNo
(
batchNo
);
req
.
setMethodName
(
methodName
);
req
.
setStatus
(
status
);
req
.
setParams
(
params
);
IntactUtils
.
sendIntact
(
req
);
logger
.
info
(
"结束事务一致性"
);
}
}
server/src/main/java/com/pica/cloud/account/account/server/util/WeChatUtils.java
浏览文件 @
95b5f8fa
...
@@ -3,6 +3,8 @@ package com.pica.cloud.account.account.server.util;
...
@@ -3,6 +3,8 @@ package com.pica.cloud.account.account.server.util;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.pica.cloud.account.account.server.entity.WeChatEntity
;
import
com.pica.cloud.account.account.server.entity.WeChatEntity
;
import
com.pica.cloud.account.account.server.entity.WeChatUserInfoEntity
;
import
com.pica.cloud.account.account.server.entity.WeChatUserInfoEntity
;
import
com.pica.cloud.foundation.completeness.client.utils.IntactUtils
;
import
com.pica.cloud.foundation.completeness.contract.req.LogParamsReq
;
import
com.pica.cloud.foundation.utils.constants.WeChatConstants
;
import
com.pica.cloud.foundation.utils.constants.WeChatConstants
;
import
com.pica.cloud.foundation.utils.utils.JsonUtil
;
import
com.pica.cloud.foundation.utils.utils.JsonUtil
;
import
com.pica.cloud.foundation.utils.utils.StringUtil
;
import
com.pica.cloud.foundation.utils.utils.StringUtil
;
...
@@ -32,7 +34,11 @@ public class WeChatUtils {
...
@@ -32,7 +34,11 @@ public class WeChatUtils {
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
WeChatUtils
.
class
);
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
WeChatUtils
.
class
);
public
static
WeChatEntity
getAuthorizationInfo
(
String
appId
,
String
appSecret
,
String
code
)
{
public
static
WeChatEntity
getAuthorizationInfo
(
String
appId
,
String
appSecret
,
String
code
)
{
//接入新旭事务一致性
String
batchNo
=
IntactUtils
.
getUUID
();
sendIntact
(
batchNo
,
"getAuthorizationInfo"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_1
,
"appId:"
+
appId
+
",appSecret:"
+
appSecret
+
",code:"
+
code
);
logger
.
info
(
"网页授权获取access_token: code:{}"
,
code
);
logger
.
info
(
"网页授权获取access_token: code:{}"
,
code
);
String
requestUrl
=
WeChatConstants
.
AUTH_ACCESS_TOKEN_URL
.
replace
(
"APPID"
,
appId
).
replace
(
"SECRET"
,
appSecret
).
replace
(
"CODE"
,
code
);
String
requestUrl
=
WeChatConstants
.
AUTH_ACCESS_TOKEN_URL
.
replace
(
"APPID"
,
appId
).
replace
(
"SECRET"
,
appSecret
).
replace
(
"CODE"
,
code
);
JSONObject
jsonObject
=
WeChatToolUtil
.
httpRequest
(
requestUrl
,
"GET"
,
null
);
JSONObject
jsonObject
=
WeChatToolUtil
.
httpRequest
(
requestUrl
,
"GET"
,
null
);
...
@@ -51,6 +57,8 @@ public class WeChatUtils {
...
@@ -51,6 +57,8 @@ public class WeChatUtils {
logger
.
error
(
"获取token失败 errcode:{} errmsg:{}"
,
jsonObject
.
getInt
(
"errcode"
),
jsonObject
.
getString
(
"errmsg"
));
logger
.
error
(
"获取token失败 errcode:{} errmsg:{}"
,
jsonObject
.
getInt
(
"errcode"
),
jsonObject
.
getString
(
"errmsg"
));
}
}
sendIntact
(
batchNo
,
"getAuthorizationInfo"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"appId:"
+
appId
+
",appSecret"
+
appSecret
+
",code:"
+
code
);
return
accessToken
;
return
accessToken
;
}
}
...
@@ -114,4 +122,23 @@ public class WeChatUtils {
...
@@ -114,4 +122,23 @@ public class WeChatUtils {
return
user
;
return
user
;
}
}
/**
* 对接新旭事务一致性
* @param batchNo
* @param methodName
* @param status
* @param params
*/
public
static
void
sendIntact
(
String
batchNo
,
String
methodName
,
Integer
status
,
String
params
){
logger
.
info
(
"开始事务一致性,参数为:batchNo:"
+
batchNo
+
",methodName:"
+
methodName
+
",status:"
+
status
+
",params:"
+
params
);
LogParamsReq
req
=
new
LogParamsReq
();
req
.
setBatchNo
(
batchNo
);
req
.
setMethodName
(
methodName
);
req
.
setStatus
(
status
);
req
.
setParams
(
params
);
IntactUtils
.
sendIntact
(
req
);
logger
.
info
(
"结束事务一致性"
);
}
}
}
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录