Commit 64b55db3 authored by fshenye's avatar fshenye

1. 预约记录添加科室名字,医生名字

2. 导医记录数据脱敏
3. 预约记录数据脱敏
4. 导医推荐记录数据脱敏
5. 升级hutool工具,支持脱敏工具
6. 新增用户添加同名用户去重限制
parent 937be326
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
<mysql.connector.version>8.0.15</mysql.connector.version> <mysql.connector.version>8.0.15</mysql.connector.version>
<swagger.core.version>1.5.22</swagger.core.version> <swagger.core.version>1.5.22</swagger.core.version>
<swagger.version>2.9.2</swagger.version> <swagger.version>2.9.2</swagger.version>
<hutool.version>5.5.1</hutool.version> <hutool.version>5.7.0</hutool.version>
<poi.version>4.1.0</poi.version> <poi.version>4.1.0</poi.version>
<pinyin4j.version>2.5.1</pinyin4j.version> <pinyin4j.version>2.5.1</pinyin4j.version>
<ttl.version>2.10.1</ttl.version> <ttl.version>2.10.1</ttl.version>
...@@ -58,11 +58,11 @@ ...@@ -58,11 +58,11 @@
<artifactId>cloud-common-core</artifactId> <artifactId>cloud-common-core</artifactId>
<version>${sict.version}</version> <version>${sict.version}</version>
</dependency> </dependency>
<dependency> <!-- <dependency>-->
<groupId>cn.sh.stc.sict</groupId> <!-- <groupId>cn.sh.stc.sict</groupId>-->
<artifactId>cloud-auth-api</artifactId> <!-- <artifactId>cloud-auth-api</artifactId>-->
<version>${sict.version}</version> <!-- <version>${sict.version}</version>-->
</dependency> <!-- </dependency>-->
<dependency> <dependency>
<groupId>cn.sh.stc.sict</groupId> <groupId>cn.sh.stc.sict</groupId>
<artifactId>cloud-common-dynamic-gateway</artifactId> <artifactId>cloud-common-dynamic-gateway</artifactId>
......
...@@ -69,16 +69,19 @@ public class SysUserBaseController { ...@@ -69,16 +69,19 @@ public class SysUserBaseController {
@ApiOperation("新增/修改用户") @ApiOperation("新增/修改用户")
@PostMapping @PostMapping
@PreAuthorize("@pms.hasPermission('ROLE_admin')") @PreAuthorize("@pms.hasPermission('ROLE_admin')")
public R save(@RequestBody SysUserBase userBase) { public R save(@RequestBody SysUserBase user) {
if (NumberUtil.isNullOrZero(userBase.getId())) { if (NumberUtil.isNullOrZero(user.getId())) {
if(StrUtil.isBlank(userBase.getUserName())){ if (StrUtil.isBlank(user.getUserName())) {
return new R().error("用户名不可为空!"); return new R().error("用户名不可为空!");
} }
String pw = StrUtil.isBlank(userBase.getPasswd()) ? Constant.DEFAULT_PASSWORD : userBase.getPasswd(); String pw = StrUtil.isBlank(user.getPasswd()) ? Constant.DEFAULT_PASSWORD : user.getPasswd();
userBase.setPasswd(ENCODER.encode(pw)); user.setPasswd(ENCODER.encode(pw));
} }
userBase.setStatus(Constant.BYTE_NO); if (sysUserBaseService.exist(user)) {
sysUserBaseService.saveOrUpdate(userBase); return new R().error("相同用户名用户已经存在!");
}
user.setStatus(Constant.BYTE_NO);
sysUserBaseService.saveOrUpdate(user);
return new R<>(); return new R<>();
} }
...@@ -99,7 +102,7 @@ public class SysUserBaseController { ...@@ -99,7 +102,7 @@ public class SysUserBaseController {
@ApiOperation("获取当前用户信息") @ApiOperation("获取当前用户信息")
@GetMapping("/info/current") @GetMapping("/info/current")
public R getCurrentUserInfo(){ public R getCurrentUserInfo() {
CurrentUser current = SecurityUtils.getCurrentUser(); CurrentUser current = SecurityUtils.getCurrentUser();
if (current == null) { if (current == null) {
return new R().error("无登录信息!"); return new R().error("无登录信息!");
......
...@@ -18,5 +18,7 @@ public interface SysUserBaseService extends IService<SysUserBase> { ...@@ -18,5 +18,7 @@ public interface SysUserBaseService extends IService<SysUserBase> {
UserInfo getUserInfoBySocial(String appId, String inStr) throws WxErrorException; UserInfo getUserInfoBySocial(String appId, String inStr) throws WxErrorException;
boolean saveDto(UserDTO dto); boolean saveDto(UserDTO dto);
boolean exist(SysUserBase user);
} }
...@@ -21,6 +21,7 @@ import cn.sh.stc.sict.cloud.upms.service.HpUserRoleService; ...@@ -21,6 +21,7 @@ import cn.sh.stc.sict.cloud.upms.service.HpUserRoleService;
import cn.sh.stc.sict.cloud.upms.service.SysUserBaseService; import cn.sh.stc.sict.cloud.upms.service.SysUserBaseService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringPool; import com.baomidou.mybatisplus.core.toolkit.StringPool;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -56,7 +57,7 @@ public class SysUserBaseServiceImpl extends ServiceImpl<SysUserBaseMapper, SysUs ...@@ -56,7 +57,7 @@ public class SysUserBaseServiceImpl extends ServiceImpl<SysUserBaseMapper, SysUs
info.setSysUserBase(user); info.setSysUserBase(user);
info.setOpenId(user.getOpenId()); info.setOpenId(user.getOpenId());
List<HpRole> roleList = hpRoleService.listByUserId(user.getId()); List<HpRole> roleList = hpRoleService.listByUserId(user.getId());
if(CollUtil.isNotEmpty(roleList)){ if (CollUtil.isNotEmpty(roleList)) {
// 设置角色列表 (ID) // 设置角色列表 (ID)
List<String> roleIds = roleList.stream().map(HpRole::getRoleCode) List<String> roleIds = roleList.stream().map(HpRole::getRoleCode)
.collect(Collectors.toList()); .collect(Collectors.toList());
...@@ -126,6 +127,17 @@ public class SysUserBaseServiceImpl extends ServiceImpl<SysUserBaseMapper, SysUs ...@@ -126,6 +127,17 @@ public class SysUserBaseServiceImpl extends ServiceImpl<SysUserBaseMapper, SysUs
return true; return true;
} }
@Override
public boolean exist(SysUserBase user) {
if (StrUtil.isBlank(user.getUserName())) {
return false;
}
LambdaQueryWrapper<SysUserBase> wrapper = Wrappers.lambdaQuery();
wrapper.ne(NumberUtil.isNotNullOrZero(user.getId()), SysUserBase::getId, user.getId())
.eq(SysUserBase::getUserName, user.getUserName());
return this.count(wrapper) > 0;
}
private UserInfo getByPhone(String phone) { private UserInfo getByPhone(String phone) {
LambdaQueryWrapper<SysUserBase> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysUserBase> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SysUserBase::getPhone, phone); wrapper.eq(SysUserBase::getPhone, phone);
......
...@@ -84,6 +84,9 @@ public class AppointmentController { ...@@ -84,6 +84,9 @@ public class AppointmentController {
if (WanDaConstant.ORDER_MODEL_1.equals(hos.getOrderMode()) && isNullCard) { if (WanDaConstant.ORDER_MODEL_1.equals(hos.getOrderMode()) && isNullCard) {
return new R().error("请补充患者就诊卡信息!"); return new R().error("请补充患者就诊卡信息!");
} }
String deptName = "";
String doctorName = "";
String resourceName = "";
if (WanDaConstant.ORDER_TYPE_OUTP.equals(order.getOrderType())) { if (WanDaConstant.ORDER_TYPE_OUTP.equals(order.getOrderType())) {
HpDocInfo docInfo = hpDocInfoService.getById(order.getDoctorId()); HpDocInfo docInfo = hpDocInfoService.getById(order.getDoctorId());
if (null == docInfo) { if (null == docInfo) {
...@@ -92,11 +95,16 @@ public class AppointmentController { ...@@ -92,11 +95,16 @@ public class AppointmentController {
order.setOneDeptCode(docInfo.getOneDeptCode()); order.setOneDeptCode(docInfo.getOneDeptCode());
order.setDeptCode(docInfo.getDeptCode()); order.setDeptCode(docInfo.getDeptCode());
order.setResourceCode(docInfo.getResourceCode()); order.setResourceCode(docInfo.getResourceCode());
order.setDeptName(docInfo.getDeptName());
app.setDoctorId(docInfo.getId().toString()); app.setDoctorId(docInfo.getId().toString());
app.setResourceCertId(docInfo.getPersonId()); app.setResourceCertId(docInfo.getPersonId());
app.setHosOrgName(docInfo.getHosName()); app.setHosOrgName(docInfo.getHosName());
app.setDeptName(docInfo.getDeptName()); app.setDeptName(docInfo.getDeptName());
app.setResourceName(docInfo.getResourceName()); app.setResourceName(docInfo.getResourceName());
app.setDoctorName(docInfo.getResourceName());
deptName = docInfo.getDeptName();
doctorName = docInfo.getResourceName();
resourceName = docInfo.getResourceName();
} else { } else {
HpDeptInfo deptInfo = hpDeptInfoService.getById(order.getDeptId()); HpDeptInfo deptInfo = hpDeptInfoService.getById(order.getDeptId());
if (null == deptInfo) { if (null == deptInfo) {
...@@ -105,9 +113,12 @@ public class AppointmentController { ...@@ -105,9 +113,12 @@ public class AppointmentController {
order.setOneDeptCode(deptInfo.getOneDeptCode()); order.setOneDeptCode(deptInfo.getOneDeptCode());
order.setDeptCode(deptInfo.getDeptCode()); order.setDeptCode(deptInfo.getDeptCode());
order.setResourceCode(deptInfo.getDeptCode()); order.setResourceCode(deptInfo.getDeptCode());
order.setDeptName(deptInfo.getDeptName());
app.setHosOrgName(deptInfo.getHosName()); app.setHosOrgName(deptInfo.getHosName());
app.setDeptName(deptInfo.getDeptName()); app.setDeptName(deptInfo.getDeptName());
app.setResourceName(deptInfo.getDeptName()); app.setResourceName(deptInfo.getDeptName());
deptName = deptInfo.getDeptName();
resourceName = deptInfo.getDeptName();
} }
// order.setOrderType(WanDaConstant.ORDER_TYPE_OUTP); // order.setOrderType(WanDaConstant.ORDER_TYPE_OUTP);
order.setChannelCode(WanDaConstant.CHANNEL_CODE_OTHER); order.setChannelCode(WanDaConstant.CHANNEL_CODE_OTHER);
...@@ -146,6 +157,9 @@ public class AppointmentController { ...@@ -146,6 +157,9 @@ public class AppointmentController {
app.setStatus(Constant.STRING_NO); app.setStatus(Constant.STRING_NO);
app.setOrderNumType(order.getOrderNumType()); app.setOrderNumType(order.getOrderNumType());
app.setPatientName(patient.getName()); app.setPatientName(patient.getName());
app.setDeptName(deptName);
app.setDoctorName(doctorName);
app.setResourceName(resourceName);
app.setStatus(Constant.STRING_NO); app.setStatus(Constant.STRING_NO);
app.setEvaStatus(Constant.BYTE_NO); app.setEvaStatus(Constant.BYTE_NO);
hpAppointmentService.save(app); hpAppointmentService.save(app);
......
package cn.sh.stc.sict.theme.hphy.controller.web; package cn.sh.stc.sict.theme.hphy.controller.web;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.DesensitizedUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.sh.stc.sict.cloud.common.core.util.R; import cn.sh.stc.sict.cloud.common.core.util.R;
import cn.sh.stc.sict.cloud.common.security.util.SecurityUtils;
import cn.sh.stc.sict.cloud.upms.dto.CurrentUser;
import cn.sh.stc.sict.theme.hphy.model.HphyGuideRecord; import cn.sh.stc.sict.theme.hphy.model.HphyGuideRecord;
import cn.sh.stc.sict.theme.hphy.service.HphyGuideQuestionService;
import cn.sh.stc.sict.theme.hphy.service.HphyGuideRecordService; import cn.sh.stc.sict.theme.hphy.service.HphyGuideRecordService;
import cn.sh.stc.sict.theme.hphy.vo.DiseaseAnalysisDTO; import cn.sh.stc.sict.theme.hphy.vo.DiseaseAnalysisDTO;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
...@@ -35,12 +34,12 @@ public class GuideRecordController { ...@@ -35,12 +34,12 @@ public class GuideRecordController {
@ApiOperation("分页查询") @ApiOperation("分页查询")
@GetMapping("/page") @GetMapping("/page")
public R<HphyGuideRecord> page(Page page, public R<HphyGuideRecord> page(Page<HphyGuideRecord> page,
String patientName, String patientName,
String disease, String disease,
String hospName, String hospName,
String deptName, String deptName,
String doctorName){ String doctorName) {
LambdaQueryWrapper<HphyGuideRecord> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<HphyGuideRecord> wrapper = new LambdaQueryWrapper<>();
wrapper.like(StrUtil.isNotBlank(patientName), HphyGuideRecord::getPatientName, patientName) wrapper.like(StrUtil.isNotBlank(patientName), HphyGuideRecord::getPatientName, patientName)
.like(StrUtil.isNotBlank(disease), HphyGuideRecord::getDisease, disease) .like(StrUtil.isNotBlank(disease), HphyGuideRecord::getDisease, disease)
...@@ -49,12 +48,18 @@ public class GuideRecordController { ...@@ -49,12 +48,18 @@ public class GuideRecordController {
page = hphyGuideRecordService.page(page, wrapper); page = hphyGuideRecordService.page(page, wrapper);
if (CollUtil.isNotEmpty(page.getRecords())) {
page.getRecords().forEach(i -> {
i.setPatientName(DesensitizedUtil.chineseName(i.getPatientName()));
});
}
return new R(page); return new R(page);
} }
@ApiOperation("获取详情") @ApiOperation("获取详情")
@GetMapping("/info") @GetMapping("/info")
public R info(@RequestParam("guideId")Long guideId){ public R info(@RequestParam("guideId") Long guideId) {
HphyGuideRecord guide = hphyGuideRecordService.getById(guideId); HphyGuideRecord guide = hphyGuideRecordService.getById(guideId);
if (guide == null) { if (guide == null) {
......
package cn.sh.stc.sict.theme.hphy.controller.web; package cn.sh.stc.sict.theme.hphy.controller.web;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.DesensitizedUtil;
import cn.hutool.core.util.StrUtil; 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.Constant;
import cn.sh.stc.sict.cloud.common.core.util.R; import cn.sh.stc.sict.cloud.common.core.util.R;
...@@ -36,7 +38,7 @@ public class HpAppointmentController extends ApiController { ...@@ -36,7 +38,7 @@ public class HpAppointmentController extends ApiController {
@ApiOperation("分页查询 - 预约记录") @ApiOperation("分页查询 - 预约记录")
@GetMapping("/app/page") @GetMapping("/app/page")
public R appPage(Page page, public R appPage(Page<HpAppointment> page,
@RequestParam(value = "name", required = false) String name, @RequestParam(value = "name", required = false) String name,
@RequestParam(value = "hospName", required = false) String hospName, @RequestParam(value = "hospName", required = false) String hospName,
@RequestParam(value = "deptName", required = false) String deptName, @RequestParam(value = "deptName", required = false) String deptName,
...@@ -49,6 +51,12 @@ public class HpAppointmentController extends ApiController { ...@@ -49,6 +51,12 @@ public class HpAppointmentController extends ApiController {
.orderByDesc(HpAppointment::getCreateTime); .orderByDesc(HpAppointment::getCreateTime);
page = hpAppointmentService.page(page, wrapper); page = hpAppointmentService.page(page, wrapper);
if(CollUtil.isNotEmpty(page.getRecords())){
page.getRecords().forEach(i->{
i.setPatientName(DesensitizedUtil.chineseName(i.getPatientName()));
i.setUserPhone(DesensitizedUtil.mobilePhone(i.getUserPhone()));
});
}
return new R(page); return new R(page);
} }
......
package cn.sh.stc.sict.theme.hphy.controller.web; package cn.sh.stc.sict.theme.hphy.controller.web;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.DesensitizedUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.sh.stc.sict.cloud.common.core.util.R; import cn.sh.stc.sict.cloud.common.core.util.R;
import cn.sh.stc.sict.theme.hphy.model.HphyGuideMatch; import cn.sh.stc.sict.theme.hphy.model.HphyGuideMatch;
...@@ -40,7 +42,7 @@ public class HphyGuideMatchController { ...@@ -40,7 +42,7 @@ public class HphyGuideMatchController {
*/ */
@ApiOperation("分页查询 导医推荐记录") @ApiOperation("分页查询 导医推荐记录")
@GetMapping("/page") @GetMapping("/page")
public R<HphyGuideMatch> getHphyGuideMatchPage(Page page, HphyGuideMatch guide) { public R<HphyGuideMatch> getHphyGuideMatchPage(Page<HphyGuideMatch> page, HphyGuideMatch guide) {
LambdaQueryWrapper<HphyGuideMatch> wrapper = Wrappers.lambdaQuery(); LambdaQueryWrapper<HphyGuideMatch> wrapper = Wrappers.lambdaQuery();
wrapper.like(StrUtil.isNotBlank(guide.getPatientName()), HphyGuideMatch::getPatientName, guide.getPatientName()) wrapper.like(StrUtil.isNotBlank(guide.getPatientName()), HphyGuideMatch::getPatientName, guide.getPatientName())
.like(StrUtil.isNotBlank(guide.getHospName()), HphyGuideMatch::getHospName, guide.getHospName()) .like(StrUtil.isNotBlank(guide.getHospName()), HphyGuideMatch::getHospName, guide.getHospName())
...@@ -49,6 +51,12 @@ public class HphyGuideMatchController { ...@@ -49,6 +51,12 @@ public class HphyGuideMatchController {
.orderByDesc(HphyGuideMatch::getCreateTime); .orderByDesc(HphyGuideMatch::getCreateTime);
page = hphyGuideMatchService.page(page, wrapper); page = hphyGuideMatchService.page(page, wrapper);
if(CollUtil.isNotEmpty(page.getRecords())){
page.getRecords().forEach(i->{
i.setPatientName(DesensitizedUtil.chineseName(i.getPatientName()));
});
}
return new R(page); return new R(page);
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment