Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
H
hphy
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
向怀芳
hphy
Commits
53f8d6df
Commit
53f8d6df
authored
Jun 09, 2022
by
向怀芳
🎱
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1. 对接随申办接口
1.1 获取用户信息 1.2 获取绑卡信息 2. 调整流程,获取患者信息 3. 新增接口:公众号患者获取患者信息
parent
e80617c8
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
294 additions
and
12 deletions
+294
-12
UserConstant.java
.../sh/stc/sict/cloud/common/core/constant/UserConstant.java
+6
-0
LoginTypeEnum.java
.../sict/cloud/common/core/constant/enums/LoginTypeEnum.java
+5
-0
WDUserCardInfo.java
.../cn/sh/stc/sict/cloud/common/core/dto/WDUserCardInfo.java
+14
-0
WDUserInfo.java
...java/cn/sh/stc/sict/cloud/common/core/dto/WDUserInfo.java
+23
-0
SsbUtil.java
...n/java/cn/sh/stc/sict/cloud/common/core/util/SsbUtil.java
+70
-0
SysUserBase.java
...ain/java/cn/sh/stc/sict/cloud/upms/model/SysUserBase.java
+5
-0
SysUserBaseServiceImpl.java
.../sict/cloud/upms/service/impl/SysUserBaseServiceImpl.java
+49
-4
HphyPatientBaseController.java
...t/theme/hphy/controller/mp/HphyPatientBaseController.java
+42
-3
IndexController.java
...sh/stc/sict/theme/hphy/controller/mp/IndexController.java
+1
-4
HpAppointmentController.java
...ct/theme/hphy/controller/web/HpAppointmentController.java
+36
-0
HphyPatientBase.java
...java/cn/sh/stc/sict/theme/hphy/model/HphyPatientBase.java
+5
-0
HphyPatientBaseService.java
...h/stc/sict/theme/hphy/service/HphyPatientBaseService.java
+7
-0
HphyPatientBaseServiceImpl.java
...t/theme/hphy/service/impl/HphyPatientBaseServiceImpl.java
+31
-1
No files found.
cloud-common/cloud-common-core/src/main/java/cn/sh/stc/sict/cloud/common/core/constant/UserConstant.java
0 → 100644
View file @
53f8d6df
package
cn
.
sh
.
stc
.
sict
.
cloud
.
common
.
core
.
constant
;
public
class
UserConstant
{
public
final
static
String
USER_SOURCE_MOBILE
=
"mobile"
;
public
final
static
String
USER_SOURCE_SSB
=
"wd_ssb"
;
}
cloud-common/cloud-common-core/src/main/java/cn/sh/stc/sict/cloud/common/core/constant/enums/LoginTypeEnum.java
View file @
53f8d6df
...
...
@@ -22,6 +22,11 @@ public enum LoginTypeEnum {
*/
SMS
(
"sms"
,
"验证码登录"
),
/**
* 验证码登录
*/
SSB
(
"ssb"
,
"随申办token"
),
/**
* H5登录
*/
...
...
cloud-common/cloud-common-core/src/main/java/cn/sh/stc/sict/cloud/common/core/dto/WDUserCardInfo.java
0 → 100644
View file @
53f8d6df
package
cn
.
sh
.
stc
.
sict
.
cloud
.
common
.
core
.
dto
;
import
lombok.Data
;
/**
* 万达随申办接口用户绑卡信息
*/
@Data
public
class
WDUserCardInfo
{
private
String
id
;
private
String
cardNo
;
private
String
cardType
;
private
String
hospitalId
;
}
cloud-common/cloud-common-core/src/main/java/cn/sh/stc/sict/cloud/common/core/dto/WDUserInfo.java
0 → 100644
View file @
53f8d6df
package
cn
.
sh
.
stc
.
sict
.
cloud
.
common
.
core
.
dto
;
import
lombok.Data
;
import
java.util.Date
;
/**
* 万达随申办接口用户信息
*/
@Data
public
class
WDUserInfo
{
private
String
token
;
private
String
id
;
private
String
username
;
private
String
personcard
;
private
String
mobile
;
private
Date
birth
;
private
String
avatar
;
private
Byte
gender
;
private
String
verifyStatus
;
private
Date
regtime
;
private
String
openid
;
}
cloud-common/cloud-common-core/src/main/java/cn/sh/stc/sict/cloud/common/core/util/SsbUtil.java
0 → 100644
View file @
53f8d6df
package
cn
.
sh
.
stc
.
sict
.
cloud
.
common
.
core
.
util
;
import
cn.hutool.http.HttpRequest
;
import
cn.hutool.http.HttpResponse
;
import
cn.hutool.json.JSONUtil
;
import
cn.sh.stc.sict.cloud.common.core.dto.WDUserCardInfo
;
import
cn.sh.stc.sict.cloud.common.core.dto.WDUserInfo
;
import
lombok.experimental.UtilityClass
;
import
lombok.extern.slf4j.Slf4j
;
import
java.util.List
;
/**
* 随申办工具类
*/
@Slf4j
@UtilityClass
public
class
SsbUtil
{
// 外网测试地址 https://ffyjs.hpwjsns.org.cn:9071/
private
final
static
String
USER_URL
=
"https://ffyjs.hpwjsns.org.cn:9071/fdapp/api/account/v1/token/info"
;
private
final
static
String
CARD_URL
=
"https://ffyjs.hpwjsns.org.cn:9071/fdapp/api/account/v1/user/cards"
;
/**
* 获取用户信息
*
* @param token
* @return
*/
public
WDUserInfo
getUserInfo
(
String
token
)
{
try
{
HttpResponse
response
=
HttpRequest
.
get
(
USER_URL
)
.
header
(
"backdoor"
,
"1"
)
.
header
(
"access-token"
,
token
)
.
execute
();
if
(
response
.
getStatus
()
!=
200
)
{
log
.
error
(
"随申办token获取用户信息异常-1"
);
return
null
;
}
return
JSONUtil
.
toBean
(
response
.
body
(),
WDUserInfo
.
class
);
}
catch
(
Exception
ex
)
{
log
.
error
(
"随申办token获取用户信息异-2!"
);
log
.
error
(
ex
.
getMessage
(),
ex
);
return
null
;
}
}
/**
* 获取用户绑卡信息
*
* @param token
* @return
*/
public
List
<
WDUserCardInfo
>
getUserCardInfoList
(
String
token
)
{
try
{
HttpResponse
response
=
HttpRequest
.
get
(
CARD_URL
)
.
header
(
"backdoor"
,
"1"
)
.
header
(
"access-token"
,
token
)
.
execute
();
if
(
response
.
getStatus
()
!=
200
)
{
log
.
error
(
"随申办token获取绑卡信息异常-1"
);
return
null
;
}
return
JSONUtil
.
toList
(
JSONUtil
.
parseArray
(
response
.
body
()),
WDUserCardInfo
.
class
);
}
catch
(
Exception
ex
)
{
log
.
error
(
"随申办token获取绑卡信息异-2!"
);
log
.
error
(
ex
.
getMessage
(),
ex
);
return
null
;
}
}
}
smart-health-modules/cloud-upms/cloud-upms-api/src/main/java/cn/sh/stc/sict/cloud/upms/model/SysUserBase.java
View file @
53f8d6df
...
...
@@ -90,6 +90,11 @@ public class SysUserBase extends Model<SysUserBase> {
*/
@ApiModelProperty
(
hidden
=
true
,
value
=
"账号状态:0-正常,1-禁用"
)
private
Byte
status
;
/**
* 来源
*/
private
String
source
;
/**
*
*/
...
...
smart-health-modules/cloud-upms/cloud-upms-biz/src/main/java/cn/sh/stc/sict/cloud/upms/service/impl/SysUserBaseServiceImpl.java
View file @
53f8d6df
package
cn
.
sh
.
stc
.
sict
.
cloud
.
upms
.
service
.
impl
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.sh.stc.sict.cloud.common.core.constant.Constant
;
import
cn.sh.stc.sict.cloud.common.core.constant.UserConstant
;
import
cn.sh.stc.sict.cloud.common.core.constant.enums.LoginTypeEnum
;
import
cn.sh.stc.sict.cloud.common.core.dto.WDUserCardInfo
;
import
cn.sh.stc.sict.cloud.common.core.dto.WDUserInfo
;
import
cn.sh.stc.sict.cloud.common.core.util.NumberUtil
;
import
cn.sh.stc.sict.cloud.common.core.util.SsbUtil
;
import
cn.sh.stc.sict.cloud.upms.dao.SysUserBaseMapper
;
import
cn.sh.stc.sict.cloud.upms.dto.UserDTO
;
import
cn.sh.stc.sict.cloud.upms.dto.UserInfo
;
...
...
@@ -18,8 +24,12 @@ import lombok.extern.slf4j.Slf4j;
import
me.chanjar.weixin.common.bean.oauth2.WxOAuth2AccessToken
;
import
me.chanjar.weixin.common.error.WxErrorException
;
import
me.chanjar.weixin.mp.api.WxMpService
;
import
org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder
;
import
org.springframework.security.crypto.password.PasswordEncoder
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
@Slf4j
@Service
(
"sysUserBaseService"
)
@AllArgsConstructor
...
...
@@ -28,6 +38,7 @@ public class SysUserBaseServiceImpl extends ServiceImpl<SysUserBaseMapper, SysUs
private
final
SysUserBaseMapper
sysUserBaseMapper
;
private
WxMpService
wxMpService
;
private
HpUserRoleService
hpUserRoleService
;
private
static
final
PasswordEncoder
ENCODER
=
new
BCryptPasswordEncoder
();
@Override
public
UserInfo
getUserInfo
(
String
appId
,
String
username
)
{
...
...
@@ -49,19 +60,52 @@ public class SysUserBaseServiceImpl extends ServiceImpl<SysUserBaseMapper, SysUs
log
.
error
(
"=================> appId = {}, inStr = {}"
,
appId
,
inStr
);
// code = 011Eg6Ga1UOXeA0R5wHa16dkab2Eg6G7
String
[]
split
=
inStr
.
split
(
StringPool
.
AT
);
if
(
LoginTypeEnum
.
SMS
.
getType
().
equals
(
split
[
0
]))
{
if
(
LoginTypeEnum
.
SMS
.
getType
().
equals
(
split
[
0
]))
{
// 手机号登录
return
this
.
getByPhone
(
split
[
2
]);
}
else
{
}
else
if
(
LoginTypeEnum
.
SSB
.
getType
().
equals
(
split
[
0
]))
{
return
this
.
getBySSBToken
(
split
[
0
],
split
[
2
]);
}
else
{
// 微信登录
WxOAuth2AccessToken
token
=
wxMpService
.
getOAuth2Service
().
getAccessToken
(
split
[
2
]);
return
this
.
getByOpenId
(
token
.
getOpenId
());
}
}
private
UserInfo
getBySSBToken
(
String
source
,
String
token
)
{
WDUserInfo
wdUser
=
SsbUtil
.
getUserInfo
(
token
);
if
(
ObjectUtil
.
isNull
(
wdUser
)
||
StrUtil
.
isBlank
(
wdUser
.
getMobile
()))
{
return
null
;
}
LambdaQueryWrapper
<
SysUserBase
>
wrapper
=
new
LambdaQueryWrapper
<>();
wrapper
.
eq
(
SysUserBase:
:
getPhone
,
wdUser
.
getMobile
());
SysUserBase
user
=
this
.
getOne
(
wrapper
);
// 未注册用户默认注册
if
(
user
==
null
)
{
user
=
new
SysUserBase
();
user
.
setUserName
(
wdUser
.
getMobile
());
user
.
setOpenId
(
wdUser
.
getMobile
());
user
.
setName
(
wdUser
.
getUsername
());
user
.
setIdCard
(
wdUser
.
getPersoncard
());
user
.
setSex
(
wdUser
.
getGender
());
user
.
setHeadimg
(
wdUser
.
getAvatar
());
user
.
setSource
(
source
);
user
.
setStatus
(
Constant
.
BYTE_NO
);
user
.
setPasswd
(
ENCODER
.
encode
(
Constant
.
DEFAULT_PASSWORD
));
user
.
setPhone
(
wdUser
.
getMobile
());
this
.
save
(
user
);
List
<
WDUserCardInfo
>
cardList
=
SsbUtil
.
getUserCardInfoList
(
token
);
}
UserInfo
info
=
new
UserInfo
();
info
.
setSysUserBase
(
user
);
info
.
setOpenId
(
wdUser
.
getMobile
());
return
info
;
}
@Override
public
boolean
saveDto
(
UserDTO
dto
)
{
if
(
NumberUtil
.
isNotNullOrZero
(
dto
.
getUser
().
getId
()))
{
if
(
NumberUtil
.
isNotNullOrZero
(
dto
.
getUser
().
getId
()))
{
hpUserRoleService
.
saveBatch
(
dto
.
getUser
().
getId
(),
dto
.
getRoleList
());
}
...
...
@@ -77,7 +121,8 @@ public class SysUserBaseServiceImpl extends ServiceImpl<SysUserBaseMapper, SysUs
user
=
new
SysUserBase
();
user
.
setOpenId
(
phone
);
user
.
setStatus
(
Constant
.
BYTE_NO
);
user
.
setPasswd
(
Constant
.
DEFAULT_PASSWORD
);
user
.
setSource
(
UserConstant
.
USER_SOURCE_MOBILE
);
user
.
setPasswd
(
ENCODER
.
encode
(
Constant
.
DEFAULT_PASSWORD
));
user
.
setPhone
(
phone
);
this
.
save
(
user
);
}
...
...
smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/controller/mp/HphyPatientBaseController.java
View file @
53f8d6df
package
cn
.
sh
.
stc
.
sict
.
theme
.
hphy
.
controller
.
mp
;
import
cn.hutool.core.util.IdcardUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.sh.stc.sict.cloud.common.core.constant.Constant
;
import
cn.sh.stc.sict.cloud.common.core.constant.enums.LoginTypeEnum
;
import
cn.sh.stc.sict.cloud.common.core.dto.WDUserCardInfo
;
import
cn.sh.stc.sict.cloud.common.core.dto.WDUserInfo
;
import
cn.sh.stc.sict.cloud.common.core.util.NumberUtil
;
import
cn.sh.stc.sict.cloud.common.core.util.R
;
import
cn.sh.stc.sict.cloud.common.core.util.SsbUtil
;
import
cn.sh.stc.sict.cloud.common.core.util.ValidateCodeUtil
;
import
cn.sh.stc.sict.cloud.common.security.util.SecurityUtils
;
import
cn.sh.stc.sict.cloud.upms.dto.CurrentUser
;
...
...
@@ -19,6 +25,8 @@ import lombok.extern.slf4j.Slf4j;
import
org.springframework.data.redis.core.StringRedisTemplate
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
/**
* 患者基本信息
...
...
@@ -49,7 +57,7 @@ public class HphyPatientBaseController {
HphyPatientBase
base
=
hphyPatientBaseService
.
getByOpenId
(
current
.
getOpenId
());
patient
.
setOpenId
(
current
.
getOpenId
());
if
(
base
!=
null
)
{
if
(
base
!=
null
&&
NumberUtil
.
isNotNullOrZero
(
base
.
getId
())
)
{
patient
.
setId
(
base
.
getId
());
}
else
{
patient
.
setPhone
(
current
.
getPhone
());
...
...
@@ -69,12 +77,13 @@ public class HphyPatientBaseController {
// 获取家庭医生签约信息
try
{
String
familyDocHos
=
WanDaHttpUtil
.
getContractInfo
(
patient
.
getCertId
());
if
(
StrUtil
.
isNotBlank
(
familyDocHos
))
{
if
(
StrUtil
.
isNotBlank
(
familyDocHos
))
{
patient
.
setFamilyDocHos
(
familyDocHos
);
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
}
patient
.
setVerifyStatus
(
Constant
.
STRING_YES
);
hphyPatientBaseService
.
saveOrUpdate
(
patient
);
return
new
R
(
patient
.
getId
());
...
...
@@ -107,4 +116,34 @@ public class HphyPatientBaseController {
return
new
R
(
base
);
}
@ApiOperation
(
"第三方公众号进入系统时,获取患者信息"
)
@GetMapping
(
"/third-party"
)
public
R
getInfoByToken
(
@RequestParam
(
"source"
)
String
source
,
@RequestParam
(
"token"
)
String
token
)
{
CurrentUser
current
=
SecurityUtils
.
getCurrentUser
();
if
(
StrUtil
.
isBlank
(
current
.
getOpenId
()))
{
log
.
error
(
"openId 为空"
);
}
// 获取患者信息
HphyPatientBase
base
=
hphyPatientBaseService
.
getByOpenId
(
current
.
getOpenId
());
if
(
ObjectUtil
.
isNull
(
base
)
||
NumberUtil
.
isNullOrZero
(
base
.
getId
())){
if
(
LoginTypeEnum
.
SSB
.
getType
().
equals
(
source
)){
WDUserInfo
userInfo
=
SsbUtil
.
getUserInfo
(
token
);
List
<
WDUserCardInfo
>
cardList
=
SsbUtil
.
getUserCardInfoList
(
token
);
base
=
hphyPatientBaseService
.
saveSSbInfo
(
current
,
userInfo
,
cardList
);
}
}
if
(
ObjectUtil
.
isNull
(
base
)
||
NumberUtil
.
isNullOrZero
(
base
.
getId
())){
return
new
R
().
error
(
"患者未实名!"
);
}
if
(
StrUtil
.
isNotBlank
(
base
.
getGender
()))
{
current
.
setGender
(
PatientConstant
.
getGender
(
base
.
getGender
()));
SecurityUtils
.
updateCurrent
(
current
);
}
return
new
R
(
base
);
}
}
smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/controller/mp/IndexController.java
View file @
53f8d6df
...
...
@@ -4,10 +4,7 @@ import cn.sh.stc.sict.cloud.common.core.util.R;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
/**
* @author F_xh
...
...
smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/controller/web/HpAppointmentController.java
View file @
53f8d6df
package
cn
.
sh
.
stc
.
sict
.
theme
.
hphy
.
controller
.
web
;
import
cn.hutool.core.util.StrUtil
;
import
cn.sh.stc.sict.cloud.common.core.constant.Constant
;
import
cn.sh.stc.sict.cloud.common.core.util.R
;
import
cn.sh.stc.sict.theme.hphy.model.HpAppointment
;
import
cn.sh.stc.sict.theme.hphy.service.HpAppointmentService
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.extension.api.ApiController
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.AllArgsConstructor
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
/**
...
...
@@ -23,4 +32,31 @@ public class HpAppointmentController extends ApiController {
* 服务对象
*/
private
final
HpAppointmentService
hpAppointmentService
;
@ApiOperation
(
"分页查询 - 预约记录"
)
@GetMapping
(
"/app/page"
)
public
R
appPage
(
Page
page
,
@RequestParam
(
value
=
"name"
,
required
=
false
)
String
name
)
{
LambdaQueryWrapper
<
HpAppointment
>
wrapper
=
new
LambdaQueryWrapper
<>();
wrapper
.
like
(
StrUtil
.
isNotBlank
(
name
),
HpAppointment:
:
getPatientName
,
name
)
.
orderByDesc
(
HpAppointment:
:
getCreateTime
);
page
=
hpAppointmentService
.
page
(
page
,
wrapper
);
return
new
R
(
page
);
}
@ApiOperation
(
"分页查询 - 取消预约记录"
)
@GetMapping
(
"/cancel/page"
)
public
R
cancelPage
(
Page
page
,
@RequestParam
(
value
=
"name"
,
required
=
false
)
String
name
)
{
LambdaQueryWrapper
<
HpAppointment
>
wrapper
=
new
LambdaQueryWrapper
<>();
wrapper
.
eq
(
HpAppointment:
:
getStatus
,
Constant
.
BYTE_YES
)
.
like
(
StrUtil
.
isNotBlank
(
name
),
HpAppointment:
:
getPatientName
,
name
)
.
orderByDesc
(
HpAppointment:
:
getCreateTime
);
page
=
hpAppointmentService
.
page
(
page
,
wrapper
);
return
new
R
(
page
);
}
}
\ No newline at end of file
smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/model/HphyPatientBase.java
View file @
53f8d6df
...
...
@@ -31,6 +31,8 @@ public class HphyPatientBase extends Model<HphyPatientBase> {
@ApiModelProperty
(
value
=
"id"
)
private
Long
id
;
private
Long
userId
;
@ApiModelProperty
(
value
=
"微信openid"
)
private
String
openId
;
/**
...
...
@@ -130,6 +132,9 @@ public class HphyPatientBase extends Model<HphyPatientBase> {
private
String
familyDocHos
;
@ApiModelProperty
(
"实名状态:0.未实名 1.已实名"
)
private
String
verifyStatus
;
@TableField
(
exist
=
false
)
private
String
randomCode
;
...
...
smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/service/HphyPatientBaseService.java
View file @
53f8d6df
package
cn
.
sh
.
stc
.
sict
.
theme
.
hphy
.
service
;
import
cn.sh.stc.sict.cloud.common.core.dto.WDUserCardInfo
;
import
cn.sh.stc.sict.cloud.common.core.dto.WDUserInfo
;
import
cn.sh.stc.sict.cloud.upms.dto.CurrentUser
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
cn.sh.stc.sict.theme.hphy.model.HphyPatientBase
;
import
java.util.List
;
/**
* 患者基本信息
*
...
...
@@ -11,5 +16,7 @@ import cn.sh.stc.sict.theme.hphy.model.HphyPatientBase;
*/
public
interface
HphyPatientBaseService
extends
IService
<
HphyPatientBase
>
{
HphyPatientBase
getByOpenId
(
String
openId
);
HphyPatientBase
saveSSbInfo
(
CurrentUser
current
,
WDUserInfo
userInfo
,
List
<
WDUserCardInfo
>
cardList
);
}
smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/service/impl/HphyPatientBaseServiceImpl.java
View file @
53f8d6df
package
cn
.
sh
.
stc
.
sict
.
theme
.
hphy
.
service
.
impl
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.util.IdcardUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.sh.stc.sict.cloud.common.core.constant.Constant
;
import
cn.sh.stc.sict.cloud.common.core.dto.WDUserCardInfo
;
import
cn.sh.stc.sict.cloud.common.core.dto.WDUserInfo
;
import
cn.sh.stc.sict.cloud.upms.dto.CurrentUser
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
org.springframework.stereotype.Service
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
...
...
@@ -10,6 +16,8 @@ import cn.sh.stc.sict.theme.hphy.dao.HphyPatientBaseMapper;
import
cn.sh.stc.sict.theme.hphy.model.HphyPatientBase
;
import
cn.sh.stc.sict.theme.hphy.service.HphyPatientBaseService
;
import
java.util.List
;
@Service
(
"hphyPatientBaseService"
)
@AllArgsConstructor
...
...
@@ -24,4 +32,26 @@ public class HphyPatientBaseServiceImpl extends ServiceImpl<HphyPatientBaseMappe
return
this
.
getOne
(
wrapper
);
}
@Override
public
HphyPatientBase
saveSSbInfo
(
CurrentUser
current
,
WDUserInfo
userInfo
,
List
<
WDUserCardInfo
>
cardList
)
{
if
(
ObjectUtil
.
isNotNull
(
userInfo
))
{
HphyPatientBase
base
=
new
HphyPatientBase
();
base
.
setOpenId
(
current
.
getOpenId
());
base
.
setPhone
(
userInfo
.
getMobile
());
base
.
setName
(
userInfo
.
getUsername
());
base
.
setCertId
(
userInfo
.
getPersoncard
());
base
.
setAge
(
String
.
valueOf
(
IdcardUtil
.
getAgeByIdCard
(
userInfo
.
getPersoncard
())));
base
.
setGender
(
Constant
.
STRING_YES
.
equals
(
userInfo
.
getGender
())
?
"男"
:
"女"
);
base
.
setVerifyStatus
(
userInfo
.
getVerifyStatus
());
if
(
CollUtil
.
isNotEmpty
(
cardList
)){
WDUserCardInfo
card
=
cardList
.
get
(
0
);
base
.
setMediCardId
(
card
.
getCardNo
());
base
.
setMediCardType
(
card
.
getCardType
());
}
this
.
save
(
base
);
}
return
null
;
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment