新增自动完成队列服务开发。修改医生完成问诊接口
This commit is contained in:
parent
1c856bb057
commit
5fe311020a
@ -4,6 +4,13 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Amqp\Consumer;
|
||||
|
||||
use App\Model\DoctorAccount;
|
||||
use App\Model\DoctorAccountDay;
|
||||
use App\Model\OrderEvaluation;
|
||||
use App\Model\OrderInquiry;
|
||||
use App\Model\OrderInquiryCase;
|
||||
use App\Model\PatientFamilyHealth;
|
||||
use App\Model\PatientFamilyPersonal;
|
||||
use App\Utils\Log;
|
||||
use Hyperf\Amqp\Message\ConsumerDelayedMessageTrait;
|
||||
use Hyperf\Amqp\Message\ProducerDelayedMessageTrait;
|
||||
@ -39,7 +46,8 @@ class AutoFinishInquiryDelayDirectConsumer extends ConsumerMessage
|
||||
Db::beginTransaction();
|
||||
try {
|
||||
// 检测入参参数
|
||||
if (empty($data['order_inquiry_id'])){
|
||||
if (empty($data['order_inquiry_id'])) {
|
||||
Db::rollBack();
|
||||
Log::getInstance()->error("自动完成问诊订单队列执行失败:入参错误");
|
||||
return Result::DROP;
|
||||
}
|
||||
@ -47,16 +55,60 @@ class AutoFinishInquiryDelayDirectConsumer extends ConsumerMessage
|
||||
// 获取问诊订单数据
|
||||
$params = array();
|
||||
$params['order_inquiry_id'] = $data['order_inquiry_id'];
|
||||
$order_inquiry = OrderInquiry::getOne($params);
|
||||
if (empty($order_inquiry)) {
|
||||
Db::rollBack();
|
||||
Log::getInstance()->error("自动完成问诊订单队列执行失败:问诊订单数据为空");
|
||||
return Result::DROP;
|
||||
}
|
||||
|
||||
// 添加医生账户总表
|
||||
// 问诊订单状态(1:待支付 2:待分配 3:待接诊 4:已接诊 5:已完成 6:已结束 7:已取消)
|
||||
if ($order_inquiry['inquiry_status'] != 5) {
|
||||
Db::rollBack();
|
||||
Log::getInstance()->error("自动完成问诊订单队列执行失败:问诊订单未完成,无法结束");
|
||||
return Result::DROP;
|
||||
}
|
||||
|
||||
// 医生账户表-日
|
||||
// 问诊订单退款状态(0:无退款 1:申请退款 2:退款中 3:退款成功 4:拒绝退款 5:退款关闭 6:退款异常)
|
||||
if (!in_array($order_inquiry['inquiry_refund_status'], [0, 4, 5])) {
|
||||
Db::rollBack();
|
||||
Log::getInstance()->error("自动完成问诊订单队列执行失败:问诊订单正在申请退款");
|
||||
return Result::DROP;
|
||||
}
|
||||
|
||||
// 修改问诊订单表
|
||||
if (empty($order_inquiry['doctor_id'])) {
|
||||
Db::rollBack();
|
||||
Log::getInstance()->error("自动完成问诊订单队列执行失败:医生id为空");
|
||||
return Result::DROP;
|
||||
}
|
||||
|
||||
// 添加自动评价
|
||||
// 处理统计问题
|
||||
if ($order_inquiry['amount_total'] > 0) {
|
||||
// 处理医生账户总表
|
||||
$res = $this->handleDoctorAccount($order_inquiry);
|
||||
if (!$res) {
|
||||
Db::rollBack();
|
||||
Log::getInstance()->error("自动完成问诊订单队列执行失败:处理医生账户总表失败");
|
||||
return Result::DROP;
|
||||
}
|
||||
|
||||
// 回写患者病例
|
||||
// 处理医生账户表-日
|
||||
$res = $this->handleDoctorAccountDay($order_inquiry);
|
||||
if (!$res) {
|
||||
Db::rollBack();
|
||||
Log::getInstance()->error("自动完成问诊订单队列执行失败:处理医生账户表-日失败");
|
||||
return Result::DROP;
|
||||
}
|
||||
}
|
||||
|
||||
// 处理问诊订单表
|
||||
$this->handleOrderInquiry($order_inquiry);
|
||||
|
||||
// 处理订单评价
|
||||
$this->handleOrderEvaluation($order_inquiry);
|
||||
|
||||
// 处理回写患者病例-回写失败不做处理
|
||||
$this->handleOrderInquiryCase($order_inquiry);
|
||||
|
||||
Db::commit();
|
||||
Log::getInstance()->info("自动完成问诊订单队列执行成功");
|
||||
@ -67,4 +119,259 @@ class AutoFinishInquiryDelayDirectConsumer extends ConsumerMessage
|
||||
return Result::ACK; // 重回队列
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理医生账户总表
|
||||
* 创建/修改医生账户总表中总金额、账户余额数据
|
||||
* @param array|object $order_inquiry
|
||||
* @return bool
|
||||
*/
|
||||
protected function handleDoctorAccount(array|object $order_inquiry): bool
|
||||
{
|
||||
$params = array();
|
||||
$params['doctor_id'] = $order_inquiry['doctor_id'];
|
||||
$doctor_account = DoctorAccount::getOne($params);
|
||||
if (empty($doctor_account)) {
|
||||
// 首次
|
||||
$data = array();
|
||||
$data['doctor_id'] = $order_inquiry['doctor_id'];
|
||||
$data['total_amount'] = $order_inquiry['amount_total'] * 0.75;
|
||||
$data['balance_account'] = $order_inquiry['amount_total'] * 0.75;
|
||||
$data['applied_withdrawal_amount'] = 0;
|
||||
$data['actual_withdrawal_amount'] = 0;
|
||||
$data['income_tax'] = 0;
|
||||
$doctor_account = DoctorAccount::addDoctorAccount($data);
|
||||
if (empty($doctor_account)) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
// 非首次
|
||||
// 总金额(已结束订单的总金额)
|
||||
$params = array();
|
||||
$params['account_id'] = $doctor_account['account_id'];
|
||||
DoctorAccount::inc($params, 'total_amount', $order_inquiry['amount_total'] * 0.75);
|
||||
|
||||
// 账户余额
|
||||
DoctorAccount::inc($params, 'balance_account', $order_inquiry['amount_total'] * 0.75);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理医生账户表-日
|
||||
* @param array|object $order_inquiry
|
||||
* @return bool
|
||||
*/
|
||||
protected function handleDoctorAccountDay(array|object $order_inquiry): bool
|
||||
{
|
||||
$params = array();
|
||||
$params['doctor_id'] = $order_inquiry['doctor_id'];
|
||||
$params['date'] = date('Y-m-d', strtotime($order_inquiry['created_at']));
|
||||
$doctor_account_day = DoctorAccountDay::getOne($params);
|
||||
if (empty($doctor_account_day)) {
|
||||
// 当日首次
|
||||
$data = array();
|
||||
$data['doctor_id'] = $order_inquiry['doctor_id'];
|
||||
$data['year'] = date('Y', strtotime($order_inquiry['created_at']));
|
||||
$data['month'] = date('m', strtotime($order_inquiry['created_at']));
|
||||
$data['day'] = date('d', strtotime($order_inquiry['created_at']));
|
||||
$data['date'] = date('Y-m-d', strtotime($order_inquiry['created_at']));
|
||||
$data['total_amount'] = $order_inquiry['amount_total'] * 0.75;
|
||||
$doctor_account_day = DoctorAccountDay::addDoctorAccountDay($data);
|
||||
if (empty($doctor_account_day)) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
// 非当日首次
|
||||
$params = array();
|
||||
$params['account_detail_id'] = $doctor_account_day['account_detail_id'];
|
||||
DoctorAccountDay::inc($params, 'total_amount', $order_inquiry['amount_total'] * 0.75);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理问诊订单表
|
||||
* @param array|object $order_inquiry
|
||||
* @return void
|
||||
*/
|
||||
protected function handleOrderInquiry(array|object $order_inquiry): void
|
||||
{
|
||||
$params = array();
|
||||
$params['order_inquiry_id'] = $order_inquiry['order_inquiry_id'];
|
||||
|
||||
$data = array();
|
||||
$data['inquiry_status'] = 6; // 问诊订单状态(1:待支付 2:待分配 3:待接诊 4:已接诊 5:已完成 6:已结束 7:已取消)
|
||||
$data['finish_time'] = date('Y-m-d H:i:s', time()); // 订单结束时间
|
||||
$data['statistics_status'] = 1; // 订单统计状态(0:未统计 1:已统计 2:统计失败)
|
||||
$data['statistics_time'] = date('Y-m-d H:i:s', time()); // 订单统计时间
|
||||
$data['updated_at'] = date('Y-m-d H:i:s', time()); // 修改时间
|
||||
OrderInquiry::edit($params, $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理订单评价
|
||||
* @param array|object $order_inquiry
|
||||
* @return bool
|
||||
*/
|
||||
protected function handleOrderEvaluation(array|object $order_inquiry): bool
|
||||
{
|
||||
$params = array();
|
||||
$params['order_inquiry_id'] = $order_inquiry['order_inquiry_id'];
|
||||
$order_evaluation = OrderEvaluation::getOne($params);
|
||||
if (!empty($order_evaluation)) {
|
||||
// 已评价
|
||||
return true;
|
||||
}
|
||||
|
||||
// 未评价
|
||||
$data = array();
|
||||
$data['doctor_id'] = $order_inquiry['doctor_id'];
|
||||
$data['patient_id'] = $order_inquiry['patient_id'];
|
||||
$data['order_inquiry_id'] = $order_inquiry['order_inquiry_id'];
|
||||
$data['name_mask'] = $order_inquiry['patient_name_mask'];
|
||||
$data['reply_quality'] = 100;//回复质量(百分制)
|
||||
$data['service_attitude'] = 100; // 服务态度(百分制)
|
||||
$data['reply_progress'] = 100; // 回复速度(百分制)
|
||||
$data['avg_score'] = 100; // 平均得分(百分制,回复质量占4、服务态度占3、回复速度占3,计算公式:每个得分 * 占比 相加)
|
||||
$data['type'] = 1; // 类型(1:默认评价 2:主动评价)
|
||||
$order_evaluation = OrderEvaluation::addOrderEvaluation($data);
|
||||
if (empty($order_evaluation)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理回写患者病例
|
||||
* 回写失败不做处理
|
||||
* @param array|object $order_inquiry
|
||||
* @return void
|
||||
*/
|
||||
protected function handleOrderInquiryCase(array|object $order_inquiry): void
|
||||
{
|
||||
// 获取订单-问诊病例表
|
||||
$params = array();
|
||||
$params['order_inquiry_id'] = $order_inquiry['order_inquiry_id'];
|
||||
$order_inquiry_case = OrderInquiryCase::getOne($params);
|
||||
if (!empty($order_inquiry_case)) {
|
||||
// 获取患者家庭成员信息表-健康情况
|
||||
$params = array();
|
||||
$params['family_id'] = $order_inquiry['family_id'];
|
||||
$params['patient_id'] = $order_inquiry['patient_id'];
|
||||
$patient_family_health = PatientFamilyHealth::getOne($params);
|
||||
if (empty($patient_family_health)) {
|
||||
// 表数据为空
|
||||
$data = array();
|
||||
$data['family_id'] = $order_inquiry['family_id'];
|
||||
$data['patient_id'] = $order_inquiry['patient_id'];
|
||||
if (!empty($order_inquiry_case['disease_class_id'])) {
|
||||
$data['disease_class_id'] = $order_inquiry_case['disease_class_id']; // 疾病分类id-系统
|
||||
}
|
||||
|
||||
if (!empty($order_inquiry_case['disease_class_name'])) {
|
||||
$data['disease_class_name'] = $order_inquiry_case['disease_class_name']; // 疾病名称-系统
|
||||
}
|
||||
|
||||
if (!empty($order_inquiry_case['diagnosis_date'])) {
|
||||
$data['diagnosis_date'] = $order_inquiry_case['diagnosis_date']; // 确诊日期
|
||||
}
|
||||
|
||||
$patient_family_health = PatientFamilyHealth::addPatientFamilyHealth($data);
|
||||
if (empty($patient_family_health)) {
|
||||
Log::getInstance()->error("自动完成问诊订单队列执行失败:回写患者家庭成员信息表-健康情况表失败");
|
||||
}
|
||||
} else {
|
||||
$data = array();
|
||||
if (!empty($order_inquiry_case['disease_class_id']) && $order_inquiry_case['disease_class_id'] != $patient_family_health['disease_class_id']) {
|
||||
$data['disease_class_id'] = $order_inquiry_case['disease_class_id']; // 疾病分类id-系统
|
||||
}
|
||||
|
||||
if (!empty($order_inquiry_case['disease_class_name']) && $order_inquiry_case['disease_class_name'] != $patient_family_health['disease_class_name']) {
|
||||
$data['disease_class_name'] = $order_inquiry_case['disease_class_name']; // 疾病名称-系统
|
||||
}
|
||||
|
||||
if (!empty($order_inquiry_case['diagnosis_date']) && $order_inquiry_case['diagnosis_date'] != $patient_family_health['diagnosis_date']) {
|
||||
$data['diagnosis_date'] = $order_inquiry_case['diagnosis_date']; // 确诊日期
|
||||
}
|
||||
|
||||
if (!empty($data)) {
|
||||
$params = array();
|
||||
$params['family_health_id'] = $patient_family_health['family_health_id'];
|
||||
PatientFamilyHealth::edit($params, $data);
|
||||
}
|
||||
}
|
||||
|
||||
// 获取患者家庭成员信息表-个人情况
|
||||
$params = array();
|
||||
$params['family_id'] = $order_inquiry['family_id'];
|
||||
$params['patient_id'] = $order_inquiry['patient_id'];
|
||||
$patient_family_personal = PatientFamilyPersonal::getOne($params);
|
||||
if (empty($patient_family_personal)) {
|
||||
$data = array();
|
||||
$data['family_id'] = $order_inquiry['family_id'];
|
||||
$data['patient_id'] = $order_inquiry['patient_id'];
|
||||
if (!empty($order_inquiry_case['is_allergy_history'])) {
|
||||
$data['is_allergy_history'] = $order_inquiry_case['is_allergy_history']; // 是否存在过敏史(0:否 1:是)
|
||||
}
|
||||
|
||||
if (!empty($order_inquiry_case['allergy_history'])) {
|
||||
$data['allergy_history'] = $order_inquiry_case['allergy_history']; // 过敏史描述
|
||||
}
|
||||
|
||||
if (!empty($order_inquiry_case['is_family_history'])) {
|
||||
$data['is_family_history'] = $order_inquiry_case['is_family_history']; // 是否存在家族病史(0:否 1:是)
|
||||
}
|
||||
|
||||
if (!empty($order_inquiry_case['family_history'])) {
|
||||
$data['family_history'] = $order_inquiry_case['family_history']; // 家族病史描述
|
||||
}
|
||||
|
||||
if (!empty($order_inquiry_case['is_pregnant'])) {
|
||||
$data['is_pregnant'] = $order_inquiry_case['is_pregnant']; // 是否备孕、妊娠、哺乳期(0:否 1:是)
|
||||
}
|
||||
|
||||
if (!empty($order_inquiry_case['is_pregnant'])) {
|
||||
$data['is_pregnant'] = $order_inquiry_case['is_pregnant']; // 是否备孕、妊娠、哺乳期(0:否 1:是)
|
||||
}
|
||||
|
||||
$patient_family_personal = PatientFamilyPersonal::addPatientFamilyPersonal($data);
|
||||
if (empty($patient_family_personal)) {
|
||||
Log::getInstance()->error("自动完成问诊订单队列执行失败:回写患者家庭成员信息表-个人情况表失败");
|
||||
}
|
||||
} else {
|
||||
$data = array();
|
||||
if (!empty($order_inquiry_case['is_allergy_history']) && $order_inquiry_case['is_allergy_history'] != $patient_family_personal['is_allergy_history']) {
|
||||
$data['is_allergy_history'] = $order_inquiry_case['is_allergy_history']; // 是否存在过敏史(0:否 1:是)
|
||||
}
|
||||
|
||||
if (!empty($order_inquiry_case['allergy_history']) && $order_inquiry_case['allergy_history'] != $patient_family_personal['allergy_history']) {
|
||||
$data['allergy_history'] = $order_inquiry_case['allergy_history']; // 过敏史描述
|
||||
}
|
||||
|
||||
if (!empty($order_inquiry_case['is_family_history']) && $order_inquiry_case['is_family_history'] != $patient_family_personal['is_family_history']) {
|
||||
$data['is_family_history'] = $order_inquiry_case['is_family_history']; // 是否存在家族病史(0:否 1:是)
|
||||
}
|
||||
|
||||
if (!empty($order_inquiry_case['family_history']) && $order_inquiry_case['family_history'] != $patient_family_personal['family_history']) {
|
||||
$data['family_history'] = $order_inquiry_case['family_history']; // 家族病史描述
|
||||
}
|
||||
|
||||
if (!empty($order_inquiry_case['is_pregnant']) && $order_inquiry_case['is_pregnant'] != $patient_family_personal['is_pregnant']) {
|
||||
$data['is_pregnant'] = $order_inquiry_case['is_pregnant']; // 是否备孕、妊娠、哺乳期(0:否 1:是)
|
||||
}
|
||||
|
||||
if (!empty($order_inquiry_case['is_pregnant']) && $order_inquiry_case['is_pregnant'] != $patient_family_personal['is_pregnant']) {
|
||||
$data['is_pregnant'] = $order_inquiry_case['is_pregnant']; // 是否备孕、妊娠、哺乳期(0:否 1:是)
|
||||
}
|
||||
|
||||
if (!empty($data)) {
|
||||
$params = array();
|
||||
$params['family_personal_id'] = $patient_family_personal['family_personal_id'];
|
||||
PatientFamilyPersonal::edit($params, $data);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,6 +3,7 @@
|
||||
namespace App\Controller;
|
||||
|
||||
use App\Amqp\Producer\AssignDoctorProducer;
|
||||
use App\Amqp\Producer\AutoFinishInquiryDelayDirectProducer;
|
||||
use App\Amqp\Producer\CancelUnpayOrdersDelayDirectProducer;
|
||||
use App\Constants\HttpEnumCode;
|
||||
use App\Exception\BusinessException;
|
||||
@ -53,7 +54,8 @@ class TestController extends AbstractController
|
||||
// $this->test_5();
|
||||
// $this->test_1();
|
||||
// $this->test_11();
|
||||
$this->test_12();
|
||||
// $this->test_12();
|
||||
$this->test_13();
|
||||
}
|
||||
|
||||
// 获取云证书-首次
|
||||
@ -747,4 +749,19 @@ class TestController extends AbstractController
|
||||
// $result = $regulatoryPlatform->uploadFurtherConsult($arg);
|
||||
dump($result);
|
||||
}
|
||||
|
||||
public function test_13(){
|
||||
$data = array();
|
||||
$data['order_inquiry_id'] = "502880753563086849";
|
||||
|
||||
$message = new AutoFinishInquiryDelayDirectProducer($data);
|
||||
$message->setDelayMs(1000 * 20);
|
||||
$producer = $this->container->get(Producer::class);
|
||||
$res = $producer->produce($message);
|
||||
if (!$res) {
|
||||
Db::rollBack();
|
||||
return fail(HttpEnumCode::SERVER_ERROR, "订单创建失败");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@ -60,4 +60,38 @@ class DoctorAccount extends Model
|
||||
{
|
||||
return self::where($params)->get($fields);
|
||||
}
|
||||
|
||||
/**
|
||||
* 自增
|
||||
* @param array $params
|
||||
* @param string $field
|
||||
* @param float $numeral
|
||||
* @return int
|
||||
*/
|
||||
public static function inc(array $params,string $field,float $numeral = 1): int
|
||||
{
|
||||
return self::where($params)->increment($field,$numeral);
|
||||
}
|
||||
|
||||
/**
|
||||
* 自减
|
||||
* @param array $params
|
||||
* @param string $field
|
||||
* @param float $numeral
|
||||
* @return int
|
||||
*/
|
||||
public static function dec(array $params,string $field,float $numeral = 1): int
|
||||
{
|
||||
return self::where($params)->decrement($field,$numeral);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增
|
||||
* @param array $data
|
||||
* @return \Hyperf\Database\Model\Model|DoctorAccount
|
||||
*/
|
||||
public static function addDoctorAccount(array $data): \Hyperf\Database\Model\Model|DoctorAccount
|
||||
{
|
||||
return self::create($data);
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,6 +6,7 @@ namespace App\Model;
|
||||
|
||||
|
||||
|
||||
use Hyperf\Database\Model\Model;
|
||||
use Hyperf\Snowflake\Concern\Snowflake;
|
||||
|
||||
/**
|
||||
@ -71,4 +72,38 @@ class DoctorAccountDay extends Model
|
||||
{
|
||||
return self::where($params)->sum("total_amount");
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增
|
||||
* @param array $data
|
||||
* @return Model|DoctorAccountDay
|
||||
*/
|
||||
public static function addDoctorAccountDay(array $data): \Hyperf\Database\Model\Model|DoctorAccountDay
|
||||
{
|
||||
return self::create($data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 自增
|
||||
* @param array $params
|
||||
* @param string $field
|
||||
* @param float $numeral
|
||||
* @return int
|
||||
*/
|
||||
public static function inc(array $params,string $field,float $numeral = 1): int
|
||||
{
|
||||
return self::where($params)->increment($field,$numeral);
|
||||
}
|
||||
|
||||
/**
|
||||
* 自减
|
||||
* @param array $params
|
||||
* @param string $field
|
||||
* @param float $numeral
|
||||
* @return int
|
||||
*/
|
||||
public static function dec(array $params,string $field,float $numeral = 1): int
|
||||
{
|
||||
return self::where($params)->decrement($field,$numeral);
|
||||
}
|
||||
}
|
||||
|
||||
@ -187,7 +187,7 @@ class DoctorAccountService extends BaseService
|
||||
$bank['bank_card_code_mask'] = $doctor_bank_card['bank_card_code_mask'];
|
||||
|
||||
$balance_account = 0;
|
||||
$order_inquiry_ids = [];
|
||||
$order_inquiry_id_array = [];
|
||||
// 获取医生账户余额
|
||||
if (!empty($order_inquiry_ids)){
|
||||
$params = array();
|
||||
@ -201,13 +201,13 @@ class DoctorAccountService extends BaseService
|
||||
$balance_account = array_sum(array_column($order_inquiry->toArray(),'amount_total'));
|
||||
}
|
||||
|
||||
$order_inquiry_ids = $in_params;
|
||||
$order_inquiry_id_array = $in_params;
|
||||
}else{
|
||||
$InquiryService = new InquiryService();
|
||||
$order_inquiry = $InquiryService->getDoctorCanWithdrawalInquiryOrder($user_info['client_user_id']);
|
||||
if (!empty($order_inquiry)){
|
||||
$balance_account = array_sum(array_column($order_inquiry,'amount_total'));
|
||||
$order_inquiry_ids = array_column($order_inquiry,'order_inquiry_id');
|
||||
$order_inquiry_id_array = array_column($order_inquiry,'order_inquiry_id');
|
||||
}
|
||||
}
|
||||
|
||||
@ -226,7 +226,7 @@ class DoctorAccountService extends BaseService
|
||||
$result['bank'] = $bank;//银行数据
|
||||
$result['withdrawal_amount'] = $withdrawal_amount; // 提现金额
|
||||
$result['income_tax'] = $income_tax; // 个人所得税
|
||||
$result['order_inquiry_ids'] = $order_inquiry_ids; // 订单合集
|
||||
$result['order_inquiry_ids'] = $order_inquiry_id_array; // 订单合集
|
||||
|
||||
return success($result);
|
||||
}
|
||||
|
||||
@ -3,6 +3,7 @@
|
||||
namespace App\Services;
|
||||
|
||||
use App\Amqp\Producer\AssignPharmacistProducer;
|
||||
use App\Amqp\Producer\AutoFinishInquiryDelayDirectProducer;
|
||||
use App\Constants\DoctorTitleCode;
|
||||
use App\Constants\HttpEnumCode;
|
||||
use App\Exception\BusinessException;
|
||||
@ -1712,6 +1713,18 @@ class UserDoctorService extends BaseService
|
||||
$MessagePush = new MessagePush($user_info['user_id'],$order_inquiry['order_inquiry_id']);
|
||||
$MessagePush->finishInquiryToDoctor();
|
||||
|
||||
// 添加自动完成队列
|
||||
$data = array();
|
||||
$data['order_inquiry_id'] = $order_inquiry['order_inquiry_id'];
|
||||
|
||||
$message = new AutoFinishInquiryDelayDirectProducer($data);
|
||||
$message->setDelayMs(1000 * 60 * 1);
|
||||
$producer = $this->container->get(Producer::class);
|
||||
$res = $producer->produce($message);
|
||||
if (!$res) {
|
||||
Db::rollBack();
|
||||
return fail(HttpEnumCode::SERVER_ERROR, "订单创建失败");
|
||||
}
|
||||
Db::commit();
|
||||
} catch (\Exception $e) {
|
||||
Db::rollBack();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user