提交 8a2ea6a1 authored 作者: luzhangjian's avatar luzhangjian

feat:查询聊天记录

上级 137562ce
package com.ebaiyihui.family.doctor.common.vo;
import com.ebaiyihui.imforward.client.vo.IMSingleMsgResultVO;
import lombok.Data;
import java.util.List;
......@@ -19,5 +20,11 @@ public class OrderDetailsResVo {
private List<GetPresListResVO> presListResVOS;
/**
* 沟通记录
*/
private List<IMSingleMsgResultVO> imSingleMsgResultVOS;
}
......@@ -65,12 +65,10 @@ public class PatientMedicalRecordController {
return patientMedicalRecordService.getBaseInfoByAdmId(param.getAdmId());
}
@ApiOperation(value = "test", notes = "test")
@RequestMapping(value = "/test", method = RequestMethod.GET)
@ApiOperation(value = "手动挂号", notes = "手动给已签约的订单挂号云his")
@RequestMapping(value = "/manualReg", method = RequestMethod.GET)
public BaseResponse<Object> test(@RequestParam String admId) {
PatientSignEntity patientSignEntity = patientSignMapper.queryByAdmId(admId);
BaseResponse<Object> response = hisTemplateService.registrationAndTreatment(patientSignEntity);
if (response.isSuccess()){
patientSignEntity.setClinicCode(response.getData().toString());
......
package com.ebaiyihui.family.doctor.server.service;
import com.ebaiyihui.family.doctor.common.dto.InsertPatientMedicalRecordDTO;
import com.ebaiyihui.family.doctor.common.dto.InvalidMedicalRecordDTO;
import com.ebaiyihui.family.doctor.common.dto.UpdatePatientMedicalRecordDTO;
import com.ebaiyihui.family.doctor.common.vo.InsertPatientMedicalRecordVO;
import com.ebaiyihui.family.doctor.common.vo.PatientCaseDetail;
import com.ebaiyihui.framework.response.BaseResponse;
......@@ -15,14 +10,6 @@ import java.util.Objects;
*/
public interface PatientMedicalRecordService {
// BaseResponse<InsertPatientMedicalRecordVO> insertPatientMedicalRecord(InsertPatientMedicalRecordDTO dto);
//
// BaseResponse<InsertPatientMedicalRecordVO> updatePatientMedicalRecord(UpdatePatientMedicalRecordDTO dto);
//
// BaseResponse<PatientMedicalRecordVO> detailMedicalRecord(InvalidMedicalRecordDTO dto);
//
// BaseResponse<Object> insertOrUpdate(InsertPatientMedicalRecordDTO dto);
PatientCaseDetail getMedicalInfoByAdmId(String admId);
BaseResponse<Object> treatmentCard(String admId);
......
......@@ -5,10 +5,12 @@ import com.doctoruser.api.pojo.base.dto.doctor.QueryPersonnelInfoReq;
import com.doctoruser.api.pojo.base.vo.doctor.PersonnelInfo;
import com.ebaiyihui.family.doctor.common.dto.*;
import com.ebaiyihui.family.doctor.common.vo.*;
import com.ebaiyihui.family.doctor.server.common.constants.IMInformConstants;
import com.ebaiyihui.family.doctor.server.common.constants.ProjProperties;
import com.ebaiyihui.family.doctor.server.entity.PatientEntity;
import com.ebaiyihui.family.doctor.server.entity.PatientSignEntity;
import com.ebaiyihui.family.doctor.server.feign.DoctorInfofeignClient;
import com.ebaiyihui.family.doctor.server.feign.IMSyncMsgClient;
import com.ebaiyihui.family.doctor.server.mapper.PatientMapper;
import com.ebaiyihui.family.doctor.server.mapper.PatientSignMapper;
import com.ebaiyihui.family.doctor.server.service.OrderManagementService;
......@@ -16,12 +18,14 @@ import com.ebaiyihui.family.doctor.server.util.IDCardUtil;
import com.ebaiyihui.family.doctor.server.util.PageUtil;
import com.ebaiyihui.framework.response.BaseResponse;
import com.ebaiyihui.framework.utils.HttpKit;
import com.ebaiyihui.imforward.client.vo.IMQueryMsgReqVO;
import com.ebaiyihui.imforward.client.vo.IMSingleMsgResultVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Objects;
import java.util.*;
import java.util.stream.Collectors;
@Service
@Slf4j
......@@ -39,6 +43,9 @@ public class OrderManagementServiceImpl implements OrderManagementService {
@Autowired
private DoctorInfofeignClient doctorInfofeignClient;
@Autowired
private IMSyncMsgClient imSyncMsgClient;
@Override
public BaseResponse<PageUtil<OrderListResVo>> orderList(OrderListReqDTO param) {
log.info("查询订单列表入参:{}", JSON.toJSONString(param));
......@@ -68,12 +75,50 @@ public class OrderManagementServiceImpl implements OrderManagementService {
resVo.setPresListResVOS(getPresList(patientSignEntity.getAdmId()));
// 订单信息
resVo.setOrderInfo(buildOrderInfo(patientSignEntity));
// 沟通记录 todo
// 沟通记录
resVo.setImSingleMsgResultVOS(queryImMsg(patientSignEntity));
return BaseResponse.success(resVo);
}
/**
* 获取聊天记录
*/
private List<IMSingleMsgResultVO> queryImMsg(PatientSignEntity patientSignEntity){
List<IMSingleMsgResultVO> imSingleMsgResultVOS = new ArrayList<>();
IMQueryMsgReqVO reqVO = new IMQueryMsgReqVO();
List<String> admIdList = new ArrayList<>();
admIdList.add(patientSignEntity.getAdmId());
reqVO.setAppointmentId(admIdList);
reqVO.setBusinessCode("jtys");
reqVO.setPage(0);
reqVO.setPageSize(9999);
reqVO.setMsgType("1");
reqVO.setUserId(patientSignEntity.getPatientUserId());
BaseResponse<List<IMSingleMsgResultVO>> listBaseResponse = imSyncMsgClient.queryImMsg(reqVO);
List<IMSingleMsgResultVO> imSingleMsgResultVoS = listBaseResponse.getData();
if (null != imSingleMsgResultVoS) {
Iterator<IMSingleMsgResultVO> it = imSingleMsgResultVoS.iterator();
while (it.hasNext()) {
IMSingleMsgResultVO x = it.next();
if ("administrator".equals(x.getSender())) {
it.remove();
} else if (x.getSender().contains(IMInformConstants.PATIENT_APPLICATION_CODE)) {
x.setSender(IMInformConstants.PATIENT_APPLICATION_CODE);
} else if (x.getSender().contains(IMInformConstants.DOCTOR_APPLICATION_CODE)) {
x.setSender(IMInformConstants.DOCTOR_APPLICATION_CODE);
}
}
imSingleMsgResultVOS = imSingleMsgResultVoS.stream().sorted(Comparator.comparing(IMSingleMsgResultVO::getSendTime)).collect(Collectors.toList());
}
return imSingleMsgResultVOS;
}
/**
* 构建订单基础信息
*/
private OrderInfo buildOrderInfo(PatientSignEntity patientSignEntity) {
log.info("buildOrderInfo:{}", JSON.toJSONString(patientSignEntity));
// 获取患者详情信息
......@@ -103,6 +148,9 @@ public class OrderManagementServiceImpl implements OrderManagementService {
return orderInfo;
}
/**
* 获取处方信息
*/
private List<GetPresListResVO> getPresList(String admId) {
GetPresListReqVO reqVo = new GetPresListReqVO();
reqVo.setAdmId(admId);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论