提交 8c94e4cb authored 作者: 杨凯's avatar 杨凯

feat:家庭医生初始化

上级 49091521
...@@ -21,6 +21,9 @@ public class SendImMsgDTO { ...@@ -21,6 +21,9 @@ public class SendImMsgDTO {
@ApiModelProperty(value = "医院编码") @ApiModelProperty(value = "医院编码")
private Long organId; private Long organId;
@ApiModelProperty(value = "签约编号")
private String oldAdmId;
@ApiModelProperty(value = "签约编号") @ApiModelProperty(value = "签约编号")
private String admId; private String admId;
} }
...@@ -29,5 +29,5 @@ public interface ImChatTemplate { ...@@ -29,5 +29,5 @@ public interface ImChatTemplate {
void doctorPrompted(String admId); void doctorPrompted(String admId);
Boolean sendMsg(List<Components> componentsList, String admId); Boolean sendMsg(List<Components> componentsList, String oldAdmId, String admId);
} }
...@@ -142,20 +142,23 @@ public class ImChatTemplateImpl implements ImChatTemplate { ...@@ -142,20 +142,23 @@ public class ImChatTemplateImpl implements ImChatTemplate {
} }
@Override @Override
public Boolean sendMsg(List<Components> componentsList, String admId) { public Boolean sendMsg(List<Components> componentsList, String oldAdmId, String admId) {
Boolean flag = false; Boolean flag = false;
if (!componentsList.isEmpty()) { if (!componentsList.isEmpty()) {
log.info("componentsList={}",componentsList); log.info("componentsList={}", componentsList);
for (int i = 0; i <= componentsList.size(); i++) { for (int i = 0; i <= componentsList.size(); i++) {
String content = componentsList.get(i).getContent(); String content = componentsList.get(i).getContent();
List<MessageInfo> messageInfos = new ArrayList<>(); List<MessageInfo> messageInfos = new ArrayList<>();
PatientSignInfo patientSignInfo = getPatientSignInfo(admId); PatientSignInfo patientSignInfo = getPatientSignInfo(admId);
MessageInfo messageInfo = new MessageInfo(); MessageInfo messageInfo = new MessageInfo();
content = MessageFormat.format(content, patientSignInfo.getDoctorName());
if (!StringUtils.isEmpty(oldAdmId)) {
PatientSignInfo oldPatientSignInfo = getPatientSignInfo(oldAdmId);
content = MessageFormat.format(content, oldPatientSignInfo.getDoctorName(), patientSignInfo.getDoctorName());
}
if (SenderEnum.DOCTOR.getDesc().equals(componentsList.get(i).getSender())) { if (SenderEnum.DOCTOR.getDesc().equals(componentsList.get(i).getSender())) {
content = MessageFormat.format(content, patientSignInfo.getDoctorName());
messageInfo = getDoctorInformRefreshPatientParam(patientSignInfo, IMInformConstants.REFRESH); messageInfo = getDoctorInformRefreshPatientParam(patientSignInfo, IMInformConstants.REFRESH);
} else { } else {
content = MessageFormat.format(content, patientSignInfo.getPatientName());
messageInfo = getInformRefreshPatientParam(patientSignInfo, IMInformConstants.REFRESH); messageInfo = getInformRefreshPatientParam(patientSignInfo, IMInformConstants.REFRESH);
} }
messageInfos.add(messageInfo); messageInfos.add(messageInfo);
......
...@@ -48,7 +48,7 @@ public class ImMsgTemplateServiceImpl implements ImMsgTemplateService { ...@@ -48,7 +48,7 @@ public class ImMsgTemplateServiceImpl implements ImMsgTemplateService {
String components = imMsgTemplateEntity.getContent(); String components = imMsgTemplateEntity.getContent();
MsgContent msgContent = JSON.parseObject(components, MsgContent.class); MsgContent msgContent = JSON.parseObject(components, MsgContent.class);
List<Components> componentsList = msgContent.getComponents().stream().sorted(Comparator.comparing(Components::getSort)).collect(Collectors.toList()); List<Components> componentsList = msgContent.getComponents().stream().sorted(Comparator.comparing(Components::getSort)).collect(Collectors.toList());
Boolean flag = imChatTemplate.sendMsg(componentsList, reqVo.getAdmId()); Boolean flag = imChatTemplate.sendMsg(componentsList, reqVo.getOldAdmId(), reqVo.getAdmId());
if (!flag) { if (!flag) {
throw new BusinessException("消息推送失败"); throw new BusinessException("消息推送失败");
} }
......
...@@ -140,6 +140,22 @@ public class PatientServiceImpl implements PatientService { ...@@ -140,6 +140,22 @@ public class PatientServiceImpl implements PatientService {
notifyConsultDataDTO.setOrderDate(DateUtils.dateToFullString(patientSignEntity.getCreateTime())); notifyConsultDataDTO.setOrderDate(DateUtils.dateToFullString(patientSignEntity.getCreateTime()));
thirdOrderPushUtil.syncBenefitUsedOrder(notifyConsultDataDTO); thirdOrderPushUtil.syncBenefitUsedOrder(notifyConsultDataDTO);
} else { } else {
QueryWrapper<PatientSignEntity> psWrapper = new QueryWrapper<>();
PatientSignEntity patientSign = new PatientSignEntity();
if (Objects.nonNull(reqVo.getPhone())) {
patientSign.setPatientPhone(reqVo.getPhone());
}
psWrapper.setEntity(patientSign);
if (Objects.nonNull(reqVo.getPhone())) {
psWrapper.orderByDesc("createTime");
psWrapper.last("limit 1");
}
PatientSignEntity pse = patientSignMapper.selectOne(psWrapper);
if (null == pse) {
throw new BusinessException("未查询到签约信息,不能获取排班医生!");
}
sendImMsgDTO.setOldAdmId(pse.getAdmId());
//放入MQ任务,处理订单到时结束 //放入MQ任务,处理订单到时结束
OrderTaskVo orderTaskVo = new OrderTaskVo(); OrderTaskVo orderTaskVo = new OrderTaskVo();
orderTaskVo.setType(1); orderTaskVo.setType(1);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论