|
|
@@ -1,7 +1,6 @@
|
|
|
package com.nb.mq.listener;
|
|
|
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
-import cn.hutool.core.util.ByteUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import cn.hutool.json.JSONUtil;
|
|
|
@@ -16,17 +15,15 @@ import com.nb.web.api.enums.DeviceRegisterEnum;
|
|
|
import com.nb.web.api.enums.DeviceStatusEnum2;
|
|
|
import com.nb.web.api.enums.HospitalLogEnum;
|
|
|
import com.nb.web.api.feign.*;
|
|
|
+import com.nb.web.api.feign.result.HospitalResult;
|
|
|
import com.nb.web.api.feign.result.PatientMonitorDetailResult;
|
|
|
import com.rabbitmq.client.Channel;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
-import org.redisson.api.RLock;
|
|
|
-import org.redisson.api.RedissonClient;
|
|
|
import org.springframework.amqp.rabbit.annotation.Queue;
|
|
|
import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
|
|
import org.springframework.amqp.core.Message;
|
|
|
-import org.springframework.messaging.handler.annotation.Payload;
|
|
|
-import org.springframework.stereotype.Component;
|
|
|
+import org.springframework.context.annotation.Configuration;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
|
|
|
|
|
@@ -42,7 +39,7 @@ import java.util.concurrent.TimeUnit;
|
|
|
* @Description
|
|
|
* @createTime 2022年09月07日 13:40:00
|
|
|
*/
|
|
|
-@Component
|
|
|
+@Configuration
|
|
|
@Slf4j
|
|
|
@AllArgsConstructor
|
|
|
public class RabbitMqListener {
|
|
|
@@ -54,7 +51,7 @@ public class RabbitMqListener {
|
|
|
private final IHospitalLogClient hospitalLogService;
|
|
|
private final IConMixClient conMixClient;
|
|
|
private final IConDoctorClient conDoctorClient;
|
|
|
- private final RedissonClient redissonClient;
|
|
|
+ private final IHospitalClient hospitalClient;
|
|
|
/**
|
|
|
* 描述: 监听病人队列
|
|
|
* @author lifang
|
|
|
@@ -74,8 +71,14 @@ public class RabbitMqListener {
|
|
|
try {
|
|
|
|
|
|
PcPatientEntity source = JSONUtil.toBean(body, PcPatientEntity.class);
|
|
|
+ HospitalResult hospitalResult = hospitalClient.getByIdOrCode(source.getHospitalCode());
|
|
|
+ if(hospitalResult==null){
|
|
|
+ log.warn("id或编码为{}的医院不存在,丢弃该信息",source.getHospitalCode());
|
|
|
+ return;
|
|
|
+ }
|
|
|
hospitalLog.setIdentityCode(source.getPumpCode());
|
|
|
- hospitalLog.setTenantId(source.getHospitalCode());
|
|
|
+ hospitalLog.setTenantId(hospitalResult.getId());
|
|
|
+
|
|
|
String patientId =null;
|
|
|
patientId = patientClient.lookPatientId(source.getHospitalCode(), source.getPatientCode());
|
|
|
BusClinicEntity clinic= source.toClinic(patientId);
|
|
|
@@ -85,7 +88,7 @@ public class RabbitMqListener {
|
|
|
boolean sameClinic=false;
|
|
|
if(StrUtil.isNotEmpty(existClinic.getId())){
|
|
|
sameClinic=ObjectUtil.equal(clinic.getSurgeryName(),
|
|
|
- existClinic.getSurgeryName());
|
|
|
+ existClinic.getSurgeryName())||StrUtil.isEmpty(existClinic.getSurgeryName());
|
|
|
}
|
|
|
if(!sameClinic){
|
|
|
//为了避免网络延迟,开始时间往前推1个小时
|
|
|
@@ -110,7 +113,7 @@ public class RabbitMqListener {
|
|
|
long entTime = System.currentTimeMillis();
|
|
|
hospitalLog.setUseTime(entTime-startTime);
|
|
|
hospitalLogService.save(hospitalLog);
|
|
|
- log.error("消息队列【cloud.patient】处理消息{}完成",body);
|
|
|
+ log.info("消息队列【cloud.patient】处理消息{}完成",body);
|
|
|
channel.basicAck(message.getMessageProperties().getDeliveryTag(),true);
|
|
|
}
|
|
|
|
|
|
@@ -133,8 +136,13 @@ public class RabbitMqListener {
|
|
|
long startTime = System.currentTimeMillis();
|
|
|
try {
|
|
|
PcPumpEntity source = JSONUtil.toBean(body, PcPumpEntity.class);
|
|
|
+ HospitalResult hospitalResult = hospitalClient.getByIdOrCode(source.getHospitalCode());
|
|
|
+ if(hospitalResult==null){
|
|
|
+ log.warn("id或编码为{}的医院不存在,丢弃该信息",source.getHospitalCode());
|
|
|
+ return;
|
|
|
+ }
|
|
|
hospitalLog.setIdentityCode(source.getPumpCode());
|
|
|
- hospitalLog.setTenantId(source.getHospitalCode());
|
|
|
+ hospitalLog.setTenantId(hospitalResult.getId());
|
|
|
BusDeviceRunningEntity device = source.toDevice();
|
|
|
if (!deviceClient.existDevice(device.getDeviceId())) {
|
|
|
deviceClient.saveDevice(createDevice(device));
|
|
|
@@ -160,7 +168,7 @@ public class RabbitMqListener {
|
|
|
long entTime = System.currentTimeMillis();
|
|
|
hospitalLog.setUseTime(entTime-startTime);
|
|
|
hospitalLogService.save(hospitalLog);
|
|
|
- log.error("消息队列【cloud.pump】处理消息{}完成",body);
|
|
|
+ log.info("消息队列【cloud.pump】处理消息{}完成",body);
|
|
|
channel.basicAck(message.getMessageProperties().getDeliveryTag(),true);
|
|
|
}
|
|
|
|
|
|
@@ -190,8 +198,13 @@ public class RabbitMqListener {
|
|
|
long startTime = System.currentTimeMillis();
|
|
|
try {
|
|
|
PcAnalgesicScoreEntity source = JSONUtil.toBean(body, PcAnalgesicScoreEntity.class);
|
|
|
+ HospitalResult hospitalResult = hospitalClient.getByIdOrCode(source.getHospitalCode());
|
|
|
+ if(hospitalResult==null){
|
|
|
+ log.warn("id或编码为{}的医院不存在,丢弃该信息",source.getHospitalCode());
|
|
|
+ return;
|
|
|
+ }
|
|
|
hospitalLog.setIdentityCode(source.getPumpCode());
|
|
|
- hospitalLog.setTenantId(source.getHospitalCode());
|
|
|
+ hospitalLog.setTenantId(hospitalResult.getId());
|
|
|
|
|
|
String patientId = patientClient.lookPatientId(source.getHospitalCode(), source.getPatientCode());
|
|
|
PatientMonitorDetailResult patientDetail = patientClient.lookPatientDetail(patientId);
|
|
|
@@ -212,7 +225,7 @@ public class RabbitMqListener {
|
|
|
long entTime = System.currentTimeMillis();
|
|
|
hospitalLog.setUseTime(entTime-startTime);
|
|
|
hospitalLogService.save(hospitalLog);
|
|
|
- log.error("消息队列【cloud.analgesicScore】处理消息{}完成",body);
|
|
|
+ log.info("消息队列【cloud.analgesicScore】处理消息{}完成",body);
|
|
|
channel.basicAck(message.getMessageProperties().getDeliveryTag(),true);
|
|
|
}
|
|
|
|