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
提交
5f975051
提交
5f975051
编写于
3月 01, 2022
作者:
wenlei.liao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
机构SaaS登录接口
上级
8af5288d
流水线
#42768
已失败 于阶段
变更
4
流水线
1
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
100 行增加
和
5 行删除
+100
-5
AccountController.java
.../account/account/server/controller/AccountController.java
+52
-4
Account.java
...com/pica/cloud/account/account/server/entity/Account.java
+10
-0
SaasLoginResult.java
.../cloud/account/account/server/entity/SaasLoginResult.java
+36
-0
AccountMapper.xml
server/src/main/resources/mybatis/AccountMapper.xml
+2
-1
未找到文件。
server/src/main/java/com/pica/cloud/account/account/server/controller/AccountController.java
浏览文件 @
5f975051
...
...
@@ -3,10 +3,7 @@ package com.pica.cloud.account.account.server.controller;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.pica.cloud.account.account.server.constants.Constants
;
import
com.pica.cloud.account.account.server.entity.Account
;
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.entity.*
;
import
com.pica.cloud.account.account.server.enums.AccountTypeEnum
;
import
com.pica.cloud.account.account.server.req.AccountReq
;
import
com.pica.cloud.account.account.server.req.BaseRequest
;
...
...
@@ -645,4 +642,55 @@ public class AccountController extends AccountBaseController {
// String newToken = this.generateToken(account, deviceType);
// return PicaResponse.toResponse(newToken);
// }
@ApiOperation
(
"密码或验证码登录"
)
@PostMapping
(
"/saasLogin"
)
public
PicaResponse
<
SaasLoginResult
>
saasLogin
(
@RequestBody
AccountReq
req
)
{
this
.
checkMobilePhone
(
req
.
getMobilePhone
());
logger
.
info
(
"login:{}"
,
JSONObject
.
toJSONString
(
req
));
//接入新旭事务一致性
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
());
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
(),
"未注册,请验证码登录"
);
}
if
(
StringUtils
.
isBlank
(
req
.
getPassword
()))
{
//验证码登录
req
.
setFlag
(
"0"
);
intactUtil
.
sendIntact
(
batchNo
,
"login"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"校验验证码前的返回,因为验证码可能校验不通过,就直接返回了"
);
//校验验证码
this
.
checkAuthCode
(
req
);
}
else
{
//密码登录
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
(),
"请输入正确的密码"
);
}
}
//更新最后登录时间
Account
update
=
new
Account
();
update
.
setId
(
account
.
getId
());
update
.
setLastLoginTime
(
new
Date
());
if
(
StringUtils
.
isBlank
(
account
.
getUnionid
())
&&
StringUtils
.
isNotBlank
(
req
.
getUnionid
()))
{
update
.
setUnionid
(
req
.
getUnionid
());
update
.
setModifyId
(
account
.
getId
());
update
.
setModifyTime
(
new
Date
());
}
accountService
.
updateAccountById
(
update
);
//登录成功,清除旧token,生成新token
String
deviceType
=
super
.
getDeviceInfo
(
"device_type"
);
String
newToken
=
""
;
if
(
deviceType
.
equals
(
"1"
)){
newToken
=
this
.
generateToken
(
account
,
"4"
);
}
else
{
newToken
=
this
.
generateToken
(
account
,
deviceType
);
}
SaasLoginResult
result
=
new
SaasLoginResult
();
result
.
setToken
(
newToken
);
result
.
setHospitalId
(
account
.
getHospitalId
());
intactUtil
.
sendIntact
(
batchNo
,
"login"
,
com
.
pica
.
cloud
.
foundation
.
completeness
.
contract
.
constants
.
CommonConstants
.
INTACT_CONTENT_LOG_STATUS_3
,
"req:"
+
JSON
.
toJSONString
(
req
));
return
PicaResponse
.
toResponse
(
result
);
}
}
server/src/main/java/com/pica/cloud/account/account/server/entity/Account.java
浏览文件 @
5f975051
...
...
@@ -75,6 +75,8 @@ public class Account {
private
Date
birthday
;
private
Long
hospitalId
;
public
String
getNativePlace
()
{
return
nativePlace
;
}
...
...
@@ -322,4 +324,12 @@ public class Account {
public
void
setBirthday
(
Date
birthday
)
{
this
.
birthday
=
birthday
;
}
public
Long
getHospitalId
()
{
return
hospitalId
;
}
public
void
setHospitalId
(
Long
hospitalId
)
{
this
.
hospitalId
=
hospitalId
;
}
}
server/src/main/java/com/pica/cloud/account/account/server/entity/SaasLoginResult.java
0 → 100644
浏览文件 @
5f975051
package
com
.
pica
.
cloud
.
account
.
account
.
server
.
entity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
/**
* @ClassName SaasLoginResult
* @Description
* @Author wenlei.liao
* @Date 2022/3/1 15:50
*/
@ApiModel
public
class
SaasLoginResult
{
@ApiModelProperty
(
"token"
)
private
String
token
;
@ApiModelProperty
(
"机构id"
)
private
Long
hospitalId
;
public
String
getToken
()
{
return
token
;
}
public
void
setToken
(
String
token
)
{
this
.
token
=
token
;
}
public
Long
getHospitalId
()
{
return
hospitalId
;
}
public
void
setHospitalId
(
Long
hospitalId
)
{
this
.
hospitalId
=
hospitalId
;
}
}
server/src/main/resources/mybatis/AccountMapper.xml
浏览文件 @
5f975051
...
...
@@ -33,12 +33,13 @@
<result
column=
"first_login_time"
jdbcType=
"TIMESTAMP"
property=
"firstLoginTime"
/>
<result
column=
"card"
jdbcType=
"VARCHAR"
property=
"card"
/>
<result
column=
"birthday"
jdbcType=
"DATE"
property=
"birthday"
/>
<result
column=
"hospital_id"
jdbcType=
"INTEGER"
property=
"hospitalId"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id, sex, name, mobile_phone, status, certify_status, nation, avatar_image_url, email, qrcode, nickname, personal_sign, delete_flag,
creat_id, creat_time, modify_id, modify_time, password, info, entire_flag, reg_time, last_login_time,
unionid, register_source, comment, register_type, first_login_time, card, birthday
unionid, register_source, comment, register_type, first_login_time, card, birthday
, hospital_id
</sql>
<select
id=
"selectById"
parameterType=
"java.lang.Long"
resultMap=
"BaseResultMap"
>
...
...
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录