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
60036a5f
Commit
60036a5f
authored
Nov 30, 2022
by
gaozhaochen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更新 -> 纳里用户系统医院公众号
香山中医 上海市黄浦区精神卫生中心 上海市黄浦区妇幼保健所 上海市黄浦区顺昌医院 上海市黄浦区半淞园路街道社区卫生服务中心
parent
ed8ac7bf
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
64 additions
and
23 deletions
+64
-23
CHANGELOG
CHANGELOG
+8
-0
SecurityConstants.java
...tc/sict/cloud/common/core/constant/SecurityConstants.java
+4
-0
LoginTypeEnum.java
.../sict/cloud/common/core/constant/enums/LoginTypeEnum.java
+7
-2
WoaUtil.java
...n/java/cn/sh/stc/sict/cloud/common/core/util/WoaUtil.java
+0
-6
SictUserAuthenticationConverter.java
...n/security/component/SictUserAuthenticationConverter.java
+2
-1
SictUser.java
...n/sh/stc/sict/cloud/common/security/service/SictUser.java
+7
-1
SictUserDetailsServiceImpl.java
...d/common/security/service/SictUserDetailsServiceImpl.java
+1
-1
SecurityUtils.java
...sh/stc/sict/cloud/common/security/util/SecurityUtils.java
+1
-0
CurrentUser.java
.../main/java/cn/sh/stc/sict/cloud/upms/dto/CurrentUser.java
+4
-0
UserInfo.java
...src/main/java/cn/sh/stc/sict/cloud/upms/dto/UserInfo.java
+5
-0
SysUserBaseServiceImpl.java
.../sict/cloud/upms/service/impl/SysUserBaseServiceImpl.java
+7
-4
HpDeptInfoController.java
...c/sict/theme/hphy/controller/mp/HpDeptInfoController.java
+9
-3
HphyPatientBaseController.java
...t/theme/hphy/controller/mp/HphyPatientBaseController.java
+3
-3
RefreshJob.java
...n/java/cn/sh/stc/sict/theme/hphy/schedule/RefreshJob.java
+6
-2
No files found.
CHANGELOG
0 → 100644
View file @
60036a5f
[V1.2.0] 2022.11.14
数据库:
1.新增hpgp_ks_hot表
2.hpgp_department_rank表新增rank_score = 0的全部医院数据
功能:
1.从公众号进入时,在李处理的一年内历史就诊记录的表中查询“公众号医院”的三个历史科室展示;
2.从“hpgp_ks_hot”表中查询展示“公众号医院”的科室(热门科室由医院提供,目前暂时用门诊量最大的三个科室代替)为了区分全区和公众号,新增了“gzh”字段;全区的“gzh”字段为“ALL”,公众号的“gzh”字段为“公众号医院编码”
3.在科室排名表(hpgp_department_rank_1028)中新增了全部医院/科室信息,其rank_score标为“0”,与全区排名科室做区分;按照standard_dept(=选择/机器人推荐的科室)、hospital_code(=公众号医院)、rank_score(=0)查询科室,选择有号的进行展示(一个医院中有多个同名科室,如果有号的超过3个那也只展示3个)
\ No newline at end of file
cloud-common/cloud-common-core/src/main/java/cn/sh/stc/sict/cloud/common/core/constant/SecurityConstants.java
View file @
60036a5f
...
...
@@ -140,6 +140,10 @@ public interface SecurityConstants {
* 医院代码
*/
String
HOSPITAL_CODE
=
"hospitalCode"
;
/**
* 香山中医用户信息
*/
String
XSZY_USER_INFO
=
"xszyUserInfo"
;
/**
* 租户ID 字段
*/
...
...
cloud-common/cloud-common-core/src/main/java/cn/sh/stc/sict/cloud/common/core/constant/enums/LoginTypeEnum.java
View file @
60036a5f
...
...
@@ -28,9 +28,14 @@ public enum LoginTypeEnum {
SSB
(
"ssb"
,
"随申办token"
),
/**
* 公众号香山中医医院
* 纳里用户系统公众号
* 香山中医医院公众号
* 上海市黄浦区精神卫生中心
* 上海市黄浦区妇幼保健所
* 上海市黄浦区顺昌医院
* 上海市黄浦区半淞园路街道社区卫生服务中心
*/
WOA_
XSZY
(
"woa_xszy"
,
"香山中医医院公众号
"
),
WOA_
NL
(
"woa_nl"
,
"纳里用户系统公众号登录
"
),
/**
* H5登录
...
...
cloud-common/cloud-common-core/src/main/java/cn/sh/stc/sict/cloud/common/core/util/WoaUtil.java
View file @
60036a5f
...
...
@@ -54,10 +54,6 @@ public class WoaUtil {
* 响应头请求唯一ID
*/
private
final
static
String
RESPONSE_HEADER_REQUEST_ID
=
"X-Ca-RequestId"
;
/**
* 香山中医医院编码
*/
private
final
static
String
XSZY_HOSPITAL_CODE
=
"42502905200"
;
/**
* 获取用户信息
...
...
@@ -78,8 +74,6 @@ public class WoaUtil {
if
(
response
.
isSuccess
())
{
JSONResponseBean
result
=
response
.
getJsonResponseBean
();
XSZYUserInfo
xszyUserInfo
=
Convert
.
convert
(
XSZYUserInfo
.
class
,
result
.
getBody
());
// 设置医院编码
xszyUserInfo
.
setHospitalCode
(
XSZY_HOSPITAL_CODE
);
return
xszyUserInfo
;
}
else
{
log
.
error
(
"香山中医医院公众号token获取用户信息异常-1,requestId = [{}],caError = [{}],error = [{}]"
,
response
.
getHeader
(
RESPONSE_HEADER_REQUEST_ID
),
response
.
getCaErrorMsg
(),
response
.
getErrorMessage
());
...
...
cloud-common/cloud-common-security/src/main/java/cn/sh/stc/sict/cloud/common/security/component/SictUserAuthenticationConverter.java
View file @
60036a5f
...
...
@@ -54,8 +54,9 @@ public class SictUserAuthenticationConverter implements UserAuthenticationConver
String
openid
=
(
String
)
map
.
get
(
SecurityConstants
.
DETAILS_OPENID
);
String
appid
=
(
String
)
map
.
get
(
SecurityConstants
.
DETAILS_APPID
);
String
hospitalCode
=
(
String
)
map
.
get
(
SecurityConstants
.
HOSPITAL_CODE
);
String
xszyUserInfo
=
(
String
)
map
.
get
(
SecurityConstants
.
XSZY_USER_INFO
);
SictUser
user
=
new
SictUser
(
id
,
""
,
openid
,
appid
,
hospitalCode
,
username
,
N_A
,
true
,
true
,
true
,
true
,
authorities
);
,
true
,
true
,
true
,
authorities
,
xszyUserInfo
);
return
new
UsernamePasswordAuthenticationToken
(
user
,
N_A
,
authorities
);
}
return
null
;
...
...
cloud-common/cloud-common-security/src/main/java/cn/sh/stc/sict/cloud/common/security/service/SictUser.java
View file @
60036a5f
...
...
@@ -42,6 +42,10 @@ public class SictUser extends User {
@Setter
private
String
hospitalCode
;
@Getter
@Setter
private
String
xszyUserInfo
;
@Getter
@Setter
private
transient
String
token
;
...
...
@@ -77,12 +81,14 @@ public class SictUser extends User {
boolean
accountNonExpired
,
boolean
credentialsNonExpired
,
boolean
accountNonLocked
,
Collection
<?
extends
GrantedAuthority
>
authorities
)
{
Collection
<?
extends
GrantedAuthority
>
authorities
,
String
xszyUserInfo
)
{
super
(
username
,
password
,
enabled
,
accountNonExpired
,
credentialsNonExpired
,
accountNonLocked
,
authorities
);
this
.
id
=
id
;
this
.
phone
=
phone
;
this
.
openId
=
openId
;
this
.
appId
=
appId
;
this
.
hospitalCode
=
hospitalCode
;
this
.
xszyUserInfo
=
xszyUserInfo
;
}
}
cloud-common/cloud-common-security/src/main/java/cn/sh/stc/sict/cloud/common/security/service/SictUserDetailsServiceImpl.java
View file @
60036a5f
...
...
@@ -134,7 +134,7 @@ public class SictUserDetailsServiceImpl implements SictUserDetailsService {
// 登录失败5次锁定半小时
boolean
nonLockd
=
!
Constant
.
BYTE_YES
.
equals
(
user
.
getStatus
());
return
new
SictUser
(
user
.
getId
(),
user
.
getPhone
(),
info
.
getOpenId
(),
info
.
getAppId
(),
info
.
getHospitalCode
(),
userName
,
password
,
enabled
,
true
,
true
,
nonLockd
,
authorities
);
true
,
true
,
nonLockd
,
authorities
,
info
.
getXszyUserInfo
()
);
}
...
...
cloud-common/cloud-common-security/src/main/java/cn/sh/stc/sict/cloud/common/security/util/SecurityUtils.java
View file @
60036a5f
...
...
@@ -180,6 +180,7 @@ public class SecurityUtils {
current
.
setAppId
(
user
.
getAppId
());
current
.
setPhone
(
user
.
getPhone
());
current
.
setHospitalCode
(
user
.
getHospitalCode
());
current
.
setXszyUserInfo
(
user
.
getXszyUserInfo
());
}
current
.
setToken
(
token
);
return
current
;
...
...
smart-health-modules/cloud-upms/cloud-upms-api/src/main/java/cn/sh/stc/sict/cloud/upms/dto/CurrentUser.java
View file @
60036a5f
...
...
@@ -30,5 +30,9 @@ public class CurrentUser implements Serializable {
* sict_admin
*/
private
String
adminStr
;
/**
* 香山中医公众号用户信息
*/
private
String
xszyUserInfo
;
}
smart-health-modules/cloud-upms/cloud-upms-api/src/main/java/cn/sh/stc/sict/cloud/upms/dto/UserInfo.java
View file @
60036a5f
...
...
@@ -19,6 +19,11 @@ public class UserInfo {
*/
private
String
hospitalCode
;
/**
* 香山中医公众号用户信息
*/
private
String
xszyUserInfo
;
/**
* 用户基本信息
*/
...
...
smart-health-modules/cloud-upms/cloud-upms-biz/src/main/java/cn/sh/stc/sict/cloud/upms/service/impl/SysUserBaseServiceImpl.java
View file @
60036a5f
...
...
@@ -90,7 +90,7 @@ public class SysUserBaseServiceImpl extends ServiceImpl<SysUserBaseMapper, SysUs
return
this
.
getBySSBToken
(
split
[
0
],
split
[
2
]);
// 香山中医院公众号登陆
// inStr = 公众号标识符@公众号appId@token@hospitalCode
case
WOA_
XSZY
:
case
WOA_
NL
:
return
this
.
getByXszyWoa
(
split
);
// 微信登录
default
:
...
...
@@ -109,9 +109,11 @@ public class SysUserBaseServiceImpl extends ServiceImpl<SysUserBaseMapper, SysUs
private
UserInfo
getByXszyWoa
(
String
[]
infoArray
)
{
String
source
=
infoArray
[
0
];
String
token
=
infoArray
[
2
];
String
hospitalCode
=
infoArray
[
3
];
XSZYUserInfo
xszyUserInfo
=
WoaUtil
.
getXszyUserInfo
(
token
);
log
.
error
(
"woa.login.xszyUser = {}"
,
JSONUtil
.
toJsonStr
(
xszyUserInfo
));
String
xszyUserInfoStr
=
JSONUtil
.
toJsonStr
(
xszyUserInfo
);
log
.
error
(
"woa.login.xszyUser = {}"
,
xszyUserInfoStr
);
if
(
ObjectUtil
.
isNull
(
xszyUserInfo
)
||
StrUtil
.
isBlank
(
xszyUserInfo
.
getUserId
()))
{
return
null
;
}
...
...
@@ -149,8 +151,9 @@ public class SysUserBaseServiceImpl extends ServiceImpl<SysUserBaseMapper, SysUs
info
.
setSysUserBase
(
user
);
info
.
setOpenId
(
xszyUserInfo
.
getUserId
());
// 设置香山中医医院医疗机构代码,后续查询只显示当前医疗机构下的查询结果
info
.
setHospitalCode
(
xszyUserInfo
.
getHospitalCode
());
// 设置医疗机构代码,后续查询只显示当前医疗机构下的查询结果
info
.
setHospitalCode
(
hospitalCode
);
info
.
setXszyUserInfo
(
xszyUserInfoStr
);
return
info
;
}
...
...
smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/controller/mp/HpDeptInfoController.java
View file @
60036a5f
...
...
@@ -11,12 +11,14 @@ import cn.sh.stc.sict.theme.hpgp.service.HpgpDepartmentRankService;
import
cn.sh.stc.sict.theme.hphy.model.HpDeptInfo
;
import
cn.sh.stc.sict.theme.hphy.service.HpDeptInfoService
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.api.ApiController
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiParam
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.Date
;
...
...
@@ -32,6 +34,7 @@ import java.util.List;
@RestController
@RequestMapping
(
"/hphy/c/dept"
)
@AllArgsConstructor
@Slf4j
public
class
HpDeptInfoController
extends
ApiController
{
/**
* 服务对象
...
...
@@ -74,11 +77,14 @@ public class HpDeptInfoController extends ApiController {
@RequestParam
(
value
=
"oneDeptCode"
,
required
=
false
)
String
oneDeptCode
,
@RequestParam
(
value
=
"dept"
,
required
=
false
)
String
deptCode
,
@RequestParam
(
value
=
"flag"
,
required
=
false
,
defaultValue
=
Constant
.
STRING_NO
)
Byte
flag
)
{
LambdaQueryWrapper
<
HpgpDepartmentRank
>
wrapper
=
Wrappers
.
lambdaQuery
();
wrapper
.
eq
(
StrUtil
.
isNotEmpty
(
hospCode
),
HpgpDepartmentRank:
:
getHospitalCode
,
hospCode
)
QueryWrapper
<
HpgpDepartmentRank
>
wrapper
=
Wrappers
.
emptyWrapper
();
LambdaQueryWrapper
<
HpgpDepartmentRank
>
queryWrapper
=
wrapper
.
select
(
"DISTINCT standard_dept,hospital_code,hospital_name,one_dept_code,dept_code,dept_name"
).
lambda
();
queryWrapper
.
eq
(
StrUtil
.
isNotEmpty
(
hospCode
),
HpgpDepartmentRank:
:
getHospitalCode
,
hospCode
)
.
eq
(
StrUtil
.
isNotEmpty
(
oneDeptCode
),
HpgpDepartmentRank:
:
getOneDeptCode
,
oneDeptCode
)
.
eq
(
StrUtil
.
isNotEmpty
(
deptCode
),
HpgpDepartmentRank:
:
getDeptCode
,
deptCode
);
List
<
HpgpDepartmentRank
>
deptList
=
hpgpDepartmentRankService
.
list
(
wrapper
);
List
<
HpgpDepartmentRank
>
deptList
=
hpgpDepartmentRankService
.
list
(
queryWrapper
);
log
.
error
(
"医院科室查询结果deptList = {}"
,
deptList
);
deptList
.
forEach
(
dept
->
{
if
(
StrUtil
.
isEmpty
(
dept
.
getOneDeptCode
())
||
StrUtil
.
isEmpty
(
dept
.
getDeptCode
()))
{
return
;
...
...
smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/controller/mp/HphyPatientBaseController.java
View file @
60036a5f
...
...
@@ -161,9 +161,9 @@ public class HphyPatientBaseController {
base
=
hphyPatientBaseService
.
saveSSbInfo
(
current
,
userInfo
,
cardList
);
hpPatientCardService
.
save
(
base
,
cardList
);
}
//
香山中医医院
公众号
if
(
LoginTypeEnum
.
WOA_
XSZY
.
getType
().
equals
(
source
))
{
XSZYUserInfo
xszyUserInfo
=
WoaUtil
.
getXszyUserInfo
(
token
);
//
纳里用户系统
公众号
if
(
LoginTypeEnum
.
WOA_
NL
.
getType
().
equals
(
source
))
{
XSZYUserInfo
xszyUserInfo
=
JSONUtil
.
toBean
(
current
.
getXszyUserInfo
(),
XSZYUserInfo
.
class
);
log
.
error
(
"woaXszyUser = {}"
,
xszyUserInfo
);
base
=
hphyPatientBaseService
.
saveWoaXszyInfo
(
current
,
xszyUserInfo
);
}
...
...
smart-health-modules/theme-schema/src/main/java/cn/sh/stc/sict/theme/hphy/schedule/RefreshJob.java
View file @
60036a5f
...
...
@@ -19,6 +19,8 @@ import cn.sh.stc.sict.theme.hphy.wd.DoctInfo;
import
cn.sh.stc.sict.theme.hphy.wd.HosInfo
;
import
cn.sh.stc.sict.theme.hphy.wd.WanDaHttpUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
ma.glasnost.orika.MapperFactory
;
...
...
@@ -113,9 +115,11 @@ public class RefreshJob {
* 每天中午12点,晚上12点,统计号源信息
*/
// @Scheduled(cron = "0 50 12 * * ? ")
@Scheduled
(
cron
=
"0
0 0,12
* * ? "
)
@Scheduled
(
cron
=
"0
37 9
* * ? "
)
public
void
statisticRankDeptResourceInfo
()
{
List
<
HpgpDepartmentRank
>
deptList
=
hpgpDepartmentRankService
.
list
();
QueryWrapper
<
HpgpDepartmentRank
>
wrapper
=
Wrappers
.
emptyWrapper
();
LambdaQueryWrapper
<
HpgpDepartmentRank
>
lambda
=
wrapper
.
select
(
"DISTINCT standard_dept,hospital_code,hospital_name,one_dept_code,dept_code,dept_name"
).
lambda
();
List
<
HpgpDepartmentRank
>
deptList
=
hpgpDepartmentRankService
.
list
(
lambda
);
deptList
.
forEach
(
dept
->
{
if
(
StrUtil
.
isEmpty
(
dept
.
getOneDeptCode
())
||
StrUtil
.
isEmpty
(
dept
.
getDeptCode
()))
{
return
;
...
...
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