修改自动审核处方为延迟队列

This commit is contained in:
2023-04-21 14:41:08 +08:00
parent 4c64abc47c
commit 989c4d1eab
3 changed files with 44 additions and 27 deletions
@@ -5,8 +5,6 @@ declare(strict_types=1);
namespace App\Amqp\Consumer;
use App\Amqp\Producer\PrescriptionExpiredDelayDirectProducer;
use App\Constants\HttpEnumCode;
use App\Exception\BusinessException;
use App\Model\OrderInquiry;
use App\Model\OrderPrescription;
use App\Model\OrderPrescriptionFile;
@@ -19,6 +17,9 @@ use App\Services\ImService;
use App\Services\MessagePush;
use App\Services\OrderPrescriptionService;
use App\Utils\Log;
use Hyperf\Amqp\Message\ConsumerDelayedMessageTrait;
use Hyperf\Amqp\Message\ProducerDelayedMessageTrait;
use Hyperf\Amqp\Message\Type;
use Hyperf\Amqp\Producer;
use Hyperf\Amqp\Result;
use Hyperf\Amqp\Annotation\Consumer;
@@ -29,13 +30,20 @@ use PhpAmqpLib\Message\AMQPMessage;
use Psr\Container\ContainerExceptionInterface;
use Psr\Container\NotFoundExceptionInterface;
/**
* 药师自动签章审核
* 医生签章后,加入此队列,下载医生签章pdf,并进行药师/医院签章审核
*/
#[Consumer(exchange: 'amqp.direct', routingKey: 'AutoPharmacistCaVerify', queue: 'auto.pharmacist.ca.verify.queue', nums: 1)]
class AutoPharmacistCaVerifyConsumer extends ConsumerMessage
#[Consumer(nums: 1)]
class AutoPharmacistCaVerifyDelayDirectConsumer extends ConsumerMessage
{
use ProducerDelayedMessageTrait;
use ConsumerDelayedMessageTrait;
protected string $exchange = 'amqp.delay.direct';
protected ?string $queue = 'auto.pharmacist.ca.verify.delay.queue';
protected string $type = Type::DIRECT; //Type::FANOUT;
protected string|array $routingKey = 'AutoPharmacistCaVerify';
public function consumeMessage($data, AMQPMessage $message): string
{
Log::getInstance("queue-AutoPharmacistCaVerify")->error("开始:" . json_encode($data, JSON_UNESCAPED_UNICODE));
@@ -234,6 +242,7 @@ class AutoPharmacistCaVerifyConsumer extends ConsumerMessage
return Result::ACK;
}
/**
* 检测执行参数
* @param array $data
@@ -399,8 +408,9 @@ class AutoPharmacistCaVerifyConsumer extends ConsumerMessage
OrderPrescriptionFile::edit($params,$data);
}catch(\Exception $e){
// 失败不做处理
// 失败不做处理
Log::getInstance("queue-AutoPharmacistCaVerify")->error("错误:修改处方文件表失败" . $e->getMessage());
}
}
}