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
提交
b6ce12ac
提交
b6ce12ac
编写于
3月 02, 2020
作者:
Chongwen.jiang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
常量提取,协议新加的2个接口去除
上级
ba38cdb7
流水线
#22196
已失败 于阶段
in 0 second
变更
11
流水线
1
隐藏空白字符变更
内嵌
并排
正在显示
11 个修改的文件
包含
278 行增加
和
260 行删除
+278
-260
pom.xml
server/pom.xml
+1
-1
AutoCodeController.java
...account/account/server/controller/AutoCodeController.java
+67
-38
LoginController.java
...ud/account/account/server/controller/LoginController.java
+3
-2
PasswordController.java
...account/account/server/controller/PasswordController.java
+11
-10
ProtocolController.java
...account/account/server/controller/ProtocolController.java
+44
-44
RcRepTypeEnum.java
...ica/cloud/account/account/server/enums/RcRepTypeEnum.java
+2
-2
SourceTypeEnum.java
...ca/cloud/account/account/server/enums/SourceTypeEnum.java
+7
-8
ProtocolService.java
...cloud/account/account/server/service/ProtocolService.java
+39
-39
LoginServiceImpl.java
...account/account/server/service/impl/LoginServiceImpl.java
+0
-4
ProtocolServiceImpl.java
...ount/account/server/service/impl/ProtocolServiceImpl.java
+104
-104
AccountUtils.java
.../pica/cloud/account/account/server/util/AccountUtils.java
+0
-8
未找到文件。
server/pom.xml
浏览文件 @
b6ce12ac
...
...
@@ -161,7 +161,7 @@
<dependency>
<groupId>
com.pica.cloud.patient
</groupId>
<artifactId>
pica-cloud-smartcontract-client
</artifactId>
<version>
1.
1.0
</version>
<version>
1.
0.8
</version>
</dependency>
<dependency>
...
...
server/src/main/java/com/pica/cloud/account/account/server/controller/AutoCodeController.java
浏览文件 @
b6ce12ac
...
...
@@ -5,10 +5,9 @@ import com.pica.cloud.account.account.server.entity.AccountUnionEntity;
import
com.pica.cloud.account.account.server.entity.EncryptEntity
;
import
com.pica.cloud.account.account.server.enums.AccountExceptionEnum
;
import
com.pica.cloud.account.account.server.enums.AccountTypeEnum
;
import
com.pica.cloud.account.account.server.enums.
BizTypeResp
Enum
;
import
com.pica.cloud.account.account.server.enums.
RcRepType
Enum
;
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.resp.UnifiedVerificationResp
;
import
com.pica.cloud.account.account.server.service.AccountService
;
import
com.pica.cloud.account.account.server.service.AccountUnionService
;
import
com.pica.cloud.account.account.server.service.CaptchaService
;
...
...
@@ -88,6 +87,7 @@ public class AutoCodeController extends AccountBaseController {
AccountUtils
.
checkMobilePhone
(
request
.
getMobile
());
if
(
request
.
getBizType
()
!=
null
&&
request
.
getBizType
().
equals
(
1
))
{
logger
.
info
(
"app-rcValidate-start"
);
// 调用风控接口
this
.
rcValidate
(
request
.
getMobile
(),
request
.
getFlag
(),
IPUtil
.
getIpAdrress
(
req
),
super
.
getDeviceInfo
(),
...
...
@@ -104,6 +104,32 @@ public class AutoCodeController extends AccountBaseController {
}
}
@ApiOperation
(
"获取短信验证码,无需图形验证码,如h5端"
)
@PostMapping
(
value
=
"/H5/authCode"
)
public
PicaResponse
getH5AuthCode
(
@RequestBody
EncryptEntity
entity
,
HttpServletRequest
req
)
throws
Exception
{
// 验证码类型 0默认 1注册 2微信登录绑定手机 3修改手机
// 4重置密码 5忘记密码 7患者招募提交问卷(效验) 8Appe登录绑定手机
BaseRequest
request
=
CryptoUtil
.
decrypt
(
entity
,
BaseRequest
.
class
);
AccountUtils
.
checkMobilePhone
(
request
.
getMobile
());
if
(
request
.
getBizType
()
!=
null
&&
request
.
getBizType
().
equals
(
1
))
{
logger
.
info
(
"h5-rcValidate-start"
);
// 调用风控接口
this
.
rcValidate
(
request
.
getMobile
(),
request
.
getFlag
(),
IPUtil
.
getIpAdrress
(
req
),
super
.
getDeviceInfo
(),
request
.
getDevice_token
());
// 发送短信验证码
processSysCode
(
request
.
getMobile
(),
request
.
getFlag
());
return
PicaResponse
.
toResponse
();
}
else
{
// h5(发送短信验证码)
processSysCode
(
request
.
getMobile
(),
request
.
getFlag
());
// 记录风控数据
recordRcData
(
req
,
request
);
return
PicaResponse
.
toResponse
();
}
}
/**
* @Description web获取效验码-老版,记录风控行为 todo joy
* @Author peijun.zhao
...
...
@@ -265,6 +291,7 @@ public class AutoCodeController extends AccountBaseController {
String
publicIp
,
String
deviceInfoStr
,
String
deviceToken
)
{
// 调用风控接口
PicaResponse
picaResponse
=
null
;
try
{
logger
.
info
(
"rcValidate-publicIp:{}, deviceToken:{}, deviceInfoStr:{}"
,
publicIp
,
deviceToken
,
deviceInfoStr
);
...
...
@@ -275,49 +302,51 @@ public class AutoCodeController extends AccountBaseController {
rcReq
.
setDeviceIp
(
deviceInfo
.
getDevice_ip
());
rcReq
.
setDeviceId
(
deviceToken
);
logger
.
info
(
"rc-checkcodeRisk-req:{}"
,
JSON
.
toJSONString
(
rcReq
));
PicaResponse
picaResponse
=
rcClient
.
checkcodeRisk
(
rcReq
);
picaResponse
=
rcClient
.
checkcodeRisk
(
rcReq
);
logger
.
info
(
"rc-checkcodeRisk-resp:{}"
,
JSON
.
toJSONString
(
picaResponse
));
if
(
picaResponse
!=
null
&&
PicaResultCode
.
SUCCESS
.
code
().
equals
(
picaResponse
.
getCode
()))
{
Object
data
=
picaResponse
.
getData
();
if
(
Objects
.
nonNull
(
data
))
{
CheckcodeRiskResp
respData
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
data
),
CheckcodeRiskResp
.
class
);
if
(
StringUtils
.
isNotEmpty
(
respData
.
getProcessCode
())){
Integer
processCode
=
Integer
.
valueOf
(
respData
.
getProcessCode
());
if
(
null
!=
processCode
){
// 请求返回正常
if
(
processCode
.
equals
(
BizTypeRespEnum
.
RC_SEND_FAIL
.
getCode
()))
{
throw
new
PicaWarnException
(
AccountExceptionEnum
.
PICA_RC_SEND_FAIL
.
getCode
(),
AccountExceptionEnum
.
PICA_RC_SEND_FAIL
.
getMessage
());
}
else
if
(
processCode
.
equals
(
BizTypeRespEnum
.
RC_TRIGGER
.
getCode
()))
{
throw
new
PicaWarnException
(
AccountExceptionEnum
.
PICA_RC_TRIGGER
.
getCode
(),
AccountExceptionEnum
.
PICA_RC_TRIGGER
.
getMessage
());
}
else
if
(
processCode
.
equals
(
BizTypeRespEnum
.
RC_BLACKLIST
.
getCode
()))
{
throw
new
PicaWarnException
(
AccountExceptionEnum
.
PICA_RC_BLACKLIST
.
getCode
(),
AccountExceptionEnum
.
PICA_RC_BLACKLIST
.
getMessage
());
}
else
if
(
processCode
.
equals
(
BizTypeRespEnum
.
RC_DAY_LIMIT
.
getCode
()))
{
throw
new
PicaWarnException
(
AccountExceptionEnum
.
PICA_RC_DAY_LIMIT
.
getCode
(),
AccountExceptionEnum
.
PICA_RC_DAY_LIMIT
.
getMessage
());
}
else
if
(
processCode
.
equals
(
BizTypeRespEnum
.
RC_60_SECOND_LIMIT
.
getCode
()))
{
// 获取剩余秒数
Long
time
=
cacheClient
.
get
(
this
.
getAuthCodeKey
(
mobile
,
flag
.
toString
())
+
"-secure"
,
Long
.
class
);
int
remainTime
=
59
-
(
int
)
(
System
.
currentTimeMillis
()
-
time
)
/
1000
;
if
(
remainTime
>
0
)
{
throw
new
PicaWarnException
(
AccountExceptionEnum
.
PICA_RC_60_SECOND_LIMIT
.
getCode
(),
AccountExceptionEnum
.
PICA_RC_60_SECOND_LIMIT
.
getMessage
().
replace
(
"{remainTime}"
,
String
.
valueOf
(
remainTime
)));
}
}
else
{
// processCode=1(允许发送短信验证码)
}
catch
(
Exception
e
)
{
logger
.
error
(
"rc-checkcodeRisk-invoke-exception"
,
e
);
}
if
(
picaResponse
!=
null
&&
PicaResultCode
.
SUCCESS
.
code
().
equals
(
picaResponse
.
getCode
()))
{
Object
data
=
picaResponse
.
getData
();
if
(
Objects
.
nonNull
(
data
))
{
CheckcodeRiskResp
respData
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
data
),
CheckcodeRiskResp
.
class
);
if
(
StringUtils
.
isNotEmpty
(
respData
.
getProcessCode
())){
Integer
processCode
=
Integer
.
valueOf
(
respData
.
getProcessCode
());
if
(
null
!=
processCode
){
// 请求返回正常
if
(
processCode
.
equals
(
RcRepTypeEnum
.
RC_SEND_FAIL
.
getCode
()))
{
throw
new
PicaWarnException
(
AccountExceptionEnum
.
PICA_RC_SEND_FAIL
.
getCode
(),
AccountExceptionEnum
.
PICA_RC_SEND_FAIL
.
getMessage
());
}
else
if
(
processCode
.
equals
(
RcRepTypeEnum
.
RC_TRIGGER
.
getCode
()))
{
throw
new
PicaWarnException
(
AccountExceptionEnum
.
PICA_RC_TRIGGER
.
getCode
(),
AccountExceptionEnum
.
PICA_RC_TRIGGER
.
getMessage
());
}
else
if
(
processCode
.
equals
(
RcRepTypeEnum
.
RC_BLACKLIST
.
getCode
()))
{
throw
new
PicaWarnException
(
AccountExceptionEnum
.
PICA_RC_BLACKLIST
.
getCode
(),
AccountExceptionEnum
.
PICA_RC_BLACKLIST
.
getMessage
());
}
else
if
(
processCode
.
equals
(
RcRepTypeEnum
.
RC_DAY_LIMIT
.
getCode
()))
{
throw
new
PicaWarnException
(
AccountExceptionEnum
.
PICA_RC_DAY_LIMIT
.
getCode
(),
AccountExceptionEnum
.
PICA_RC_DAY_LIMIT
.
getMessage
());
}
else
if
(
processCode
.
equals
(
RcRepTypeEnum
.
RC_60_SECOND_LIMIT
.
getCode
()))
{
// 获取剩余秒数
Long
time
=
cacheClient
.
get
(
this
.
getAuthCodeKey
(
mobile
,
flag
.
toString
())
+
"-secure"
,
Long
.
class
);
int
remainTime
=
59
-
(
int
)
(
System
.
currentTimeMillis
()
-
time
)
/
1000
;
if
(
remainTime
>
0
)
{
throw
new
PicaWarnException
(
AccountExceptionEnum
.
PICA_RC_60_SECOND_LIMIT
.
getCode
(),
AccountExceptionEnum
.
PICA_RC_60_SECOND_LIMIT
.
getMessage
().
replace
(
"{remainTime}"
,
String
.
valueOf
(
remainTime
)));
}
}
else
{
// processCode=1(允许发送短信验证码)
}
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
"风控接口调用异常"
,
e
);
}
}
}
server/src/main/java/com/pica/cloud/account/account/server/controller/LoginController.java
浏览文件 @
b6ce12ac
...
...
@@ -3,6 +3,7 @@ package com.pica.cloud.account.account.server.controller;
import
com.pica.cloud.account.account.server.entity.*
;
import
com.pica.cloud.account.account.server.enums.AccountExceptionEnum
;
import
com.pica.cloud.account.account.server.enums.AccountTypeEnum
;
import
com.pica.cloud.account.account.server.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
;
...
...
@@ -73,7 +74,7 @@ public class LoginController extends AccountBaseController {
AccountUtils
.
checkMobilePhone
(
request
.
getMobile
());
AccountUtils
.
checkPassword
(
request
.
getPassword
());
LoginResult
login
=
loginService
.
login
(
request
);
if
(
sourceType
==
3
)
{
if
(
SourceTypeEnum
.
SAAS
.
getCode
().
equals
(
sourceType
)
)
{
login
.
setDoctorId
(
""
);
}
else
{
login
.
setUserId
(
null
);
...
...
@@ -97,7 +98,7 @@ public class LoginController extends AccountBaseController {
request
.
setSourceType
(
sourceType
);
request
.
setLoginIp
(
super
.
getIpAddr
());
LoginResult
login
=
loginService
.
loginAndRegister
(
request
);
if
(
sourceType
==
3
)
{
if
(
SourceTypeEnum
.
SAAS
.
getCode
().
equals
(
sourceType
)
)
{
login
.
setDoctorId
(
""
);
}
else
{
login
.
setUserId
(
null
);
...
...
server/src/main/java/com/pica/cloud/account/account/server/controller/PasswordController.java
浏览文件 @
b6ce12ac
...
...
@@ -5,6 +5,7 @@ import com.pica.cloud.account.account.server.entity.Doctor;
import
com.pica.cloud.account.account.server.entity.EncryptEntity
;
import
com.pica.cloud.account.account.server.entity.LoginResult
;
import
com.pica.cloud.account.account.server.enums.AccountExceptionEnum
;
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.mapper.AccountInfoDetailMapper
;
import
com.pica.cloud.account.account.server.req.BaseRequest
;
...
...
@@ -80,14 +81,14 @@ public class PasswordController extends AccountBaseController {
@PostMapping
(
value
=
"/reset"
)
public
PicaResponse
forgetPassword
(
@RequestBody
EncryptEntity
entity
)
throws
Exception
{
BaseRequest
request
=
CryptoUtil
.
decrypt
(
entity
,
BaseRequest
.
class
);
if
(
request
.
getBizType
()
!=
null
&&
if
(
request
.
getBizType
()
!=
null
&&
request
.
getBizType
().
equals
(
1
))
{
AccountInfoEntity
account
=
accountInfoDetailMapper
.
selectByMobile
(
AESUtil
.
encryptV0
(
request
.
getMobile
()));
if
(
account
==
null
)
{
if
(
super
.
getSourceType
()==
2
)
{
accountUtils
.
checkMobilePhoneAndAuthCode
(
request
.
getMobile
(),
"5"
,
request
.
getAuthCode
());
}
else
{
accountUtils
.
checkMobilePhoneAndAuthCode
(
request
.
getMobile
(),
"4"
,
request
.
getAuthCode
());
if
(
account
==
null
)
{
if
(
SourceTypeEnum
.
APPLE
.
getCode
().
equals
(
super
.
getSourceType
()))
{
accountUtils
.
checkMobilePhoneAndAuthCode
(
request
.
getMobile
(),
"5"
,
request
.
getAuthCode
());
}
else
{
accountUtils
.
checkMobilePhoneAndAuthCode
(
request
.
getMobile
(),
"4"
,
request
.
getAuthCode
());
}
if
(
StringUtils
.
isEmpty
(
request
.
getPassword
()))
{
throw
new
AccountException
(
AccountExceptionEnum
.
PICA_PASSWORD_ERROR
);
...
...
@@ -117,16 +118,16 @@ public class PasswordController extends AccountBaseController {
*/
private
PicaResponse
reSetPwd
(
BaseRequest
request
,
AccountInfoEntity
entity
)
{
// 4重置密码 5忘记密码
if
(
super
.
getSourceType
()
==
2
)
{
if
(
SourceTypeEnum
.
APPLE
.
getCode
().
equals
(
super
.
getSourceType
()))
{
// ios
accountUtils
.
checkMobilePhoneAndAuthCode
(
request
.
getMobile
(),
"5"
,
request
.
getAuthCode
());
accountUtils
.
checkMobilePhoneAndAuthCode
(
request
.
getMobile
(),
"5"
,
request
.
getAuthCode
());
if
(
StringUtils
.
isEmpty
(
request
.
getPassword
()))
{
throw
new
AccountException
(
AccountExceptionEnum
.
PICA_PASSWORD_ERROR
);
}
passwordService
.
forgetPassword
(
request
,
entity
);
return
PicaResponse
.
toResponse
();
}
else
{
accountUtils
.
checkMobilePhoneAndAuthCode
(
request
.
getMobile
(),
"4"
,
request
.
getAuthCode
());
}
else
{
accountUtils
.
checkMobilePhoneAndAuthCode
(
request
.
getMobile
(),
"4"
,
request
.
getAuthCode
());
if
(
StringUtils
.
isEmpty
(
request
.
getPassword
()))
{
throw
new
AccountException
(
AccountExceptionEnum
.
PICA_PASSWORD_ERROR
);
}
...
...
server/src/main/java/com/pica/cloud/account/account/server/controller/ProtocolController.java
浏览文件 @
b6ce12ac
// Copyright 2016-2101 Pica.
package
com
.
pica
.
cloud
.
account
.
account
.
server
.
controller
;
import
com.pica.cloud.account.account.server.service.ProtocolService
;
import
com.pica.cloud.foundation.entity.PicaResponse
;
import
com.pica.cloud.patient.smartcontract.common.req.BatchSignReq
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
/**
* @ClassName ProtocolController
* @Description 协议相关
* @Author Chongwen.jiang
* @Date 2020/2/20 10:48
* @ModifyDate 2020/2/20 10:48
* @Version 1.0
*/
@Api
(
description
=
"协议相关"
)
@RequestMapping
(
"/protocol"
)
@RestController
public
class
ProtocolController
extends
AccountBaseController
{
@Autowired
private
ProtocolService
protocolService
;
@ApiOperation
(
value
=
"批量查询指定类型协议"
)
@GetMapping
(
"/names"
)
public
PicaResponse
get
(){
return
PicaResponse
.
toResponse
(
protocolService
.
getProtocolNames
());
}
@ApiOperation
(
value
=
"首次唤起App签订协议"
)
@PostMapping
(
"/firstCallApp"
)
public
PicaResponse
firstCallApp
(
@RequestBody
BatchSignReq
req
){
String
appVersion
=
super
.
getDeviceInfo
(
"app_version"
);
req
.
setUserId
(
Integer
.
parseInt
(
String
.
valueOf
(
super
.
getDoctorIdByToken
())));
protocolService
.
firstCallAppSignProtocol
(
req
,
appVersion
);
return
PicaResponse
.
toResponse
();
}
}
//
//
Copyright 2016-2101 Pica.
//
package com.pica.cloud.account.account.server.controller;
//
//
import com.pica.cloud.account.account.server.service.ProtocolService;
//
import com.pica.cloud.foundation.entity.PicaResponse;
//
import com.pica.cloud.patient.smartcontract.common.req.BatchSignReq;
//
import io.swagger.annotations.Api;
//
import io.swagger.annotations.ApiOperation;
//
import org.springframework.beans.factory.annotation.Autowired;
//
import org.springframework.web.bind.annotation.*;
//
/
//
**
//
* @ClassName ProtocolController
//
* @Description 协议相关
//
* @Author Chongwen.jiang
//
* @Date 2020/2/20 10:48
//
* @ModifyDate 2020/2/20 10:48
//
* @Version 1.0
//
*/
//
@Api(description = "协议相关")
//
@RequestMapping("/protocol")
//
@RestController
//
public class ProtocolController extends AccountBaseController {
//
//
@Autowired
//
private ProtocolService protocolService;
//
//
@ApiOperation(value = "批量查询指定类型协议")
//
@GetMapping("/names")
//
public PicaResponse get(){
//
return PicaResponse.toResponse(
//
protocolService.getProtocolNames());
//
}
//
//
@ApiOperation(value = "首次唤起App签订协议")
//
@PostMapping("/firstCallApp")
//
public PicaResponse firstCallApp(@RequestBody BatchSignReq req){
//
String appVersion = super.getDeviceInfo("app_version");
//
req.setUserId(Integer.parseInt(String.valueOf(super.getDoctorIdByToken())));
//
protocolService.firstCallAppSignProtocol(req, appVersion);
//
return PicaResponse.toResponse();
//
}
//
//
}
server/src/main/java/com/pica/cloud/account/account/server/enums/
BizTypeResp
Enum.java
→
server/src/main/java/com/pica/cloud/account/account/server/enums/
RcRepType
Enum.java
浏览文件 @
b6ce12ac
...
...
@@ -8,7 +8,7 @@ package com.pica.cloud.account.account.server.enums;
* @Params
* @Return
*/
public
enum
BizTypeResp
Enum
{
public
enum
RcRepType
Enum
{
// 风控禁止发送
RC_SEND_FAIL
(
2
,
"发送失败"
),
...
...
@@ -24,7 +24,7 @@ public enum BizTypeRespEnum {
private
Integer
code
;
private
String
msg
;
BizTypeResp
Enum
(
Integer
code
,
String
msg
)
{
RcRepType
Enum
(
Integer
code
,
String
msg
)
{
this
.
code
=
code
;
this
.
msg
=
msg
;
}
...
...
server/src/main/java/com/pica/cloud/account/account/server/enums/
Biz
TypeEnum.java
→
server/src/main/java/com/pica/cloud/account/account/server/enums/
Source
TypeEnum.java
浏览文件 @
b6ce12ac
...
...
@@ -8,20 +8,19 @@ package com.pica.cloud.account.account.server.enums;
* @Params
* @Return
*/
public
enum
BizTypeEnum
{
LOGIN_AUTH_CODE
(
1
,
"验证码登录"
),
LOGIN_PWD
(
2
,
"密码登录"
),
FIND_PASSWORD
(
3
,
"找回密码"
),
LOGIN_WE_CHAT
(
4
,
"微信登录"
),
LOGIN_APPLE
(
5
,
"苹果登录"
),
public
enum
SourceTypeEnum
{
ANDROID
(
1
,
"安卓"
),
APPLE
(
2
,
"ios"
),
SAAS
(
3
,
"saas"
),
H5
(
4
,
"h5"
),
ADMIN
(
5
,
"admin"
),
XXX
(
10
,
"xxxxxx"
);
private
Integer
code
;
private
String
type
;
Biz
TypeEnum
(
Integer
code
,
String
type
)
{
Source
TypeEnum
(
Integer
code
,
String
type
)
{
this
.
code
=
code
;
this
.
type
=
type
;
}
...
...
server/src/main/java/com/pica/cloud/account/account/server/service/ProtocolService.java
浏览文件 @
b6ce12ac
// Copyright 2016-2101 Pica.
package
com
.
pica
.
cloud
.
account
.
account
.
server
.
service
;
import
com.pica.cloud.patient.smartcontract.common.req.BatchSignReq
;
import
com.pica.cloud.patient.smartcontract.common.resp.ProtocolResp
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
java.util.List
;
/**
* @ClassName ProtocolService
* @Description 协议相关接口
* @Author Chongwen.jiang
* @Date 2020/2/20 11:00
* @ModifyDate 2020/2/20 11:00
* @Version 1.0
*/
public
interface
ProtocolService
{
/**
* @Description 批量查询指定类型协议
* @Author Chongwen.jiang
* @Date 2020/2/20 11:27
* @ModifyDate 2020/2/20 11:27
* @Params [protocolTypes, appVersion]
* @Return java.util.List<com.pica.cloud.patient.smartcontract.common.resp.ProtocolResp>
*/
List
<
ProtocolResp
>
getProtocolNames
();
/**
* @Description 首次唤起app签订协议
* @Author Chongwen.jiang
* @Date 2020/2/20 11:31
* @ModifyDate 2020/2/20 11:31
* @Params [req]
* @Return void
*/
void
firstCallAppSignProtocol
(
@RequestBody
BatchSignReq
req
,
String
appVersion
);
}
//
//
Copyright 2016-2101 Pica.
//
package com.pica.cloud.account.account.server.service;
//
//
import com.pica.cloud.patient.smartcontract.common.req.BatchSignReq;
//
import com.pica.cloud.patient.smartcontract.common.resp.ProtocolResp;
//
import org.springframework.web.bind.annotation.RequestBody;
//
//
import java.util.List;
//
/
//
**
//
* @ClassName ProtocolService
//
* @Description 协议相关接口
//
* @Author Chongwen.jiang
//
* @Date 2020/2/20 11:00
//
* @ModifyDate 2020/2/20 11:00
//
* @Version 1.0
//
*/
//
public interface ProtocolService {
//
//
/**
//
* @Description 批量查询指定类型协议
//
* @Author Chongwen.jiang
//
* @Date 2020/2/20 11:27
//
* @ModifyDate 2020/2/20 11:27
//
* @Params [protocolTypes, appVersion]
//
* @Return java.util.List<com.pica.cloud.patient.smartcontract.common.resp.ProtocolResp>
//
*/
//
List<ProtocolResp> getProtocolNames();
//
//
/**
//
* @Description 首次唤起app签订协议
//
* @Author Chongwen.jiang
//
* @Date 2020/2/20 11:31
//
* @ModifyDate 2020/2/20 11:31
//
* @Params [req]
//
* @Return void
//
*/
//
void firstCallAppSignProtocol(@RequestBody BatchSignReq req, String appVersion);
//
}
server/src/main/java/com/pica/cloud/account/account/server/service/impl/LoginServiceImpl.java
浏览文件 @
b6ce12ac
...
...
@@ -30,7 +30,6 @@ import com.pica.cloud.foundation.entity.PicaResultCode;
import
com.pica.cloud.foundation.entity.PicaWarnException
;
import
com.pica.cloud.foundation.redis.ICacheClient
;
import
com.pica.cloud.foundation.utils.utils.ValidateUtils
;
import
com.pica.cloud.foundation.utils.utils.json.JsonUtils
;
import
com.pica.cloud.patient.smartcontract.common.utils.HttpClientCloudUtils
;
import
io.jsonwebtoken.*
;
import
org.apache.commons.codec.binary.Base64
;
...
...
@@ -42,10 +41,7 @@ import org.springframework.beans.factory.annotation.Value;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.math.BigInteger
;
import
java.security.KeyFactory
;
import
java.security.PublicKey
;
import
java.security.spec.RSAPublicKeySpec
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.Map
;
...
...
server/src/main/java/com/pica/cloud/account/account/server/service/impl/ProtocolServiceImpl.java
浏览文件 @
b6ce12ac
// Copyright 2016-2101 Pica.
package
com
.
pica
.
cloud
.
account
.
account
.
server
.
service
.
impl
;
import
com.alibaba.fastjson.JSON
;
import
com.pica.cloud.account.account.server.service.ProtocolService
;
import
com.pica.cloud.foundation.entity.PicaResponse
;
import
com.pica.cloud.foundation.entity.PicaResultCode
;
import
com.pica.cloud.foundation.entity.PicaWarnException
;
import
com.pica.cloud.patient.smartcontract.client.SmartContractClient
;
import
com.pica.cloud.patient.smartcontract.common.req.BatchSignReq
;
import
com.pica.cloud.patient.smartcontract.common.resp.ProtocolResp
;
import
com.pica.cloud.patient.smartcontract.common.utils.ReturnUtil
;
import
groovy.util.logging.Slf4j
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.StringUtils
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Objects
;
/**
* @ClassName ProtocolServiceImpl
* @Description 协议相关业务层
* @Author Chongwen.jiang
* @Date 2020/2/20 11:01
* @ModifyDate 2020/2/20 11:01
* @Version 1.0
*/
@Service
public
class
ProtocolServiceImpl
implements
ProtocolService
{
private
Logger
logger
=
LoggerFactory
.
getLogger
(
this
.
getClass
());
@Autowired
private
SmartContractClient
smartContractClient
;
/**
* @Description 批量查询指定类型协议
* @Author Chongwen.jiang
* @Date 2020/2/20 11:26
* @ModifyDate 2020/2/20 11:26
* @Params [protocolTypes, appVersion]
* @Return java.util.List<com.pica.cloud.patient.smartcontract.common.resp.ProtocolResp>
*/
@Override
public
List
<
ProtocolResp
>
getProtocolNames
()
{
List
<
Integer
>
protocolTypes
=
new
ArrayList
<>();
// 用户协议
protocolTypes
.
add
(
2
);
// 隐私协议
protocolTypes
.
add
(
3
);
BatchSignReq
req
=
new
BatchSignReq
();
req
.
setTypes
(
protocolTypes
);
PicaResponse
picaResponse
=
smartContractClient
.
queryProtocol
(
req
);
if
(
Objects
.
isNull
(
picaResponse
)){
throw
new
PicaWarnException
(
PicaResultCode
.
INTERFACE_INVOKE_EXCEPTION
.
code
(),
PicaResultCode
.
INTERFACE_INVOKE_EXCEPTION
.
message
());
}
if
(!
PicaResultCode
.
SUCCESS
.
code
().
equals
(
picaResponse
.
getCode
())){
throw
new
PicaWarnException
(
picaResponse
.
getCode
(),
picaResponse
.
getMessage
());
}
List
<
ProtocolResp
>
resp
=
JSON
.
parseArray
(
JSON
.
toJSONString
(
picaResponse
.
getData
()),
ProtocolResp
.
class
);
return
resp
;
}
/**
* @Description 首次唤起app签订协议
* @Author Chongwen.jiang
* @Date 2020/2/20 11:31
* @ModifyDate 2020/2/20 11:31
* @Params [req]
* @Return void
*/
@Override
public
void
firstCallAppSignProtocol
(
BatchSignReq
req
,
String
appVersion
)
{
if
(
StringUtils
.
isEmpty
(
appVersion
))
{
logger
.
info
(
"firstCallAppSignProtocol-appVersion is null "
);
return
;
}
PicaResponse
resp
=
smartContractClient
.
firstCallAppSignProtocol
(
req
);
logger
.
info
(
"firstCallAppSignProtocol-resp:{}"
,
JSON
.
toJSONString
(
resp
));
if
(
Objects
.
isNull
(
resp
)){
throw
new
PicaWarnException
(
PicaResultCode
.
INTERFACE_INVOKE_EXCEPTION
.
code
(),
PicaResultCode
.
INTERFACE_INVOKE_EXCEPTION
.
message
());
}
if
(!
PicaResultCode
.
SUCCESS
.
code
().
equals
(
resp
.
getCode
())){
throw
new
PicaWarnException
(
resp
.
getCode
(),
resp
.
getMessage
());
}
}
}
//
//
Copyright 2016-2101 Pica.
//
package com.pica.cloud.account.account.server.service.impl;
//
//
import com.alibaba.fastjson.JSON;
//
import com.pica.cloud.account.account.server.service.ProtocolService;
//
import com.pica.cloud.foundation.entity.PicaResponse;
//
import com.pica.cloud.foundation.entity.PicaResultCode;
//
import com.pica.cloud.foundation.entity.PicaWarnException;
//
import com.pica.cloud.patient.smartcontract.client.SmartContractClient;
//
import com.pica.cloud.patient.smartcontract.common.req.BatchSignReq;
//
import com.pica.cloud.patient.smartcontract.common.resp.ProtocolResp;
//
import com.pica.cloud.patient.smartcontract.common.utils.ReturnUtil;
//
import groovy.util.logging.Slf4j;
//
import org.slf4j.Logger;
//
import org.slf4j.LoggerFactory;
//
import org.springframework.beans.factory.annotation.Autowired;
//
import org.springframework.stereotype.Service;
//
import org.springframework.util.CollectionUtils;
//
import org.springframework.util.StringUtils;
//
//
import java.util.ArrayList;
//
import java.util.Collections;
//
import java.util.List;
//
import java.util.Objects;
//
/
//
**
//
* @ClassName ProtocolServiceImpl
//
* @Description 协议相关业务层
//
* @Author Chongwen.jiang
//
* @Date 2020/2/20 11:01
//
* @ModifyDate 2020/2/20 11:01
//
* @Version 1.0
//
*/
//
@Service
//
public class ProtocolServiceImpl implements ProtocolService {
//
private Logger logger = LoggerFactory.getLogger(this.getClass());
//
@Autowired
//
private SmartContractClient smartContractClient;
//
//
/**
//
* @Description 批量查询指定类型协议
//
* @Author Chongwen.jiang
//
* @Date 2020/2/20 11:26
//
* @ModifyDate 2020/2/20 11:26
//
* @Params [protocolTypes, appVersion]
//
* @Return java.util.List<com.pica.cloud.patient.smartcontract.common.resp.ProtocolResp>
//
*/
//
@Override
//
public List<ProtocolResp> getProtocolNames() {
//
List<Integer> protocolTypes = new ArrayList<>();
//
// 用户协议
//
protocolTypes.add(2);
//
// 隐私协议
//
protocolTypes.add(3);
//
BatchSignReq req = new BatchSignReq();
//
req.setTypes(protocolTypes);
//
PicaResponse picaResponse = smartContractClient.queryProtocol(req);
//
if(Objects.isNull(picaResponse)){
//
throw new PicaWarnException(
//
PicaResultCode.INTERFACE_INVOKE_EXCEPTION.code(),
//
PicaResultCode.INTERFACE_INVOKE_EXCEPTION.message());
//
}
//
if(!PicaResultCode.SUCCESS.code().equals(picaResponse.getCode())){
//
throw new PicaWarnException(
//
picaResponse.getCode(),
//
picaResponse.getMessage());
//
}
//
List<ProtocolResp> resp = JSON.parseArray(
//
JSON.toJSONString(picaResponse.getData()),
//
ProtocolResp.class);
//
return resp;
//
}
//
//
/**
//
* @Description 首次唤起app签订协议
//
* @Author Chongwen.jiang
//
* @Date 2020/2/20 11:31
//
* @ModifyDate 2020/2/20 11:31
//
* @Params [req]
//
* @Return void
//
*/
//
@Override
//
public void firstCallAppSignProtocol(BatchSignReq req, String appVersion) {
//
if(StringUtils.isEmpty(appVersion)) {
//
logger.info("firstCallAppSignProtocol-appVersion is null ");
//
return;
//
}
//
//
PicaResponse resp = smartContractClient.firstCallAppSignProtocol(req);
//
logger.info("firstCallAppSignProtocol-resp:{}", JSON.toJSONString(resp));
//
if(Objects.isNull(resp)){
//
throw new PicaWarnException(
//
PicaResultCode.INTERFACE_INVOKE_EXCEPTION.code(),
//
PicaResultCode.INTERFACE_INVOKE_EXCEPTION.message());
//
}
//
if(!PicaResultCode.SUCCESS.code().equals(resp.getCode())){
//
throw new PicaWarnException(
//
resp.getCode(),
//
resp.getMessage());
//
}
//
}
//
//
//
}
server/src/main/java/com/pica/cloud/account/account/server/util/AccountUtils.java
浏览文件 @
b6ce12ac
package
com
.
pica
.
cloud
.
account
.
account
.
server
.
util
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.pica.cloud.account.account.server.controller.AccountController
;
import
com.pica.cloud.account.account.server.enums.AccountExceptionEnum
;
import
com.pica.cloud.account.account.server.enums.BizTypeRespEnum
;
import
com.pica.cloud.account.account.server.mapper.AccountPatientInfoMapper
;
import
com.pica.cloud.account.account.server.mapper.DoctorMapper
;
import
com.pica.cloud.account.account.server.resp.UnifiedVerificationResp
;
import
com.pica.cloud.foundation.entity.PicaException
;
import
com.pica.cloud.foundation.entity.PicaResponse
;
import
com.pica.cloud.foundation.entity.PicaResultCode
;
import
com.pica.cloud.foundation.redis.ICacheClient
;
import
com.pica.cloud.foundation.utils.utils.ValidateUtils
;
...
...
@@ -19,9 +14,6 @@ import org.slf4j.LoggerFactory;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.util.Objects
;
import
java.util.regex.Pattern
;
/**
* 账户工具类
*/
...
...
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录