新增退款充实次数
This commit is contained in:
parent
cf9d3ff424
commit
b65f822618
@ -8,11 +8,13 @@ use App\Model\OrderInquiry;
|
|||||||
use App\Services\InquiryService;
|
use App\Services\InquiryService;
|
||||||
use App\Services\UserDoctorService;
|
use App\Services\UserDoctorService;
|
||||||
use App\Utils\Log;
|
use App\Utils\Log;
|
||||||
|
use Extend\Wechat\WechatPay;
|
||||||
use Hyperf\Amqp\Result;
|
use Hyperf\Amqp\Result;
|
||||||
use Hyperf\Amqp\Annotation\Consumer;
|
use Hyperf\Amqp\Annotation\Consumer;
|
||||||
use Hyperf\Amqp\Message\ConsumerMessage;
|
use Hyperf\Amqp\Message\ConsumerMessage;
|
||||||
use Hyperf\DbConnection\Db;
|
use Hyperf\DbConnection\Db;
|
||||||
use Hyperf\Redis\Redis;
|
use Hyperf\Redis\Redis;
|
||||||
|
use Hyperf\Snowflake\IdGeneratorInterface;
|
||||||
use PhpAmqpLib\Message\AMQPMessage;
|
use PhpAmqpLib\Message\AMQPMessage;
|
||||||
use Psr\Container\ContainerExceptionInterface;
|
use Psr\Container\ContainerExceptionInterface;
|
||||||
use Psr\Container\NotFoundExceptionInterface;
|
use Psr\Container\NotFoundExceptionInterface;
|
||||||
@ -92,30 +94,40 @@ class AssignDoctorConsumer extends ConsumerMessage
|
|||||||
return Result::DROP;// 销毁
|
return Result::DROP;// 销毁
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$redis = $this->container->get(Redis::class);
|
||||||
|
|
||||||
if ($diff_time > 300){
|
if ($diff_time > 300){
|
||||||
try {
|
// 超出5分钟,执行退款
|
||||||
// 超出5分钟,执行退款
|
Log::getInstance()->info("超出5分钟,执行退款");
|
||||||
Log::getInstance()->info("超出5分钟,执行退款");
|
|
||||||
$InquiryService = new InquiryService();
|
|
||||||
$InquiryService->inquiryRefund($order_inquiry['order_inquiry_id'],"分配医生失败");
|
|
||||||
|
|
||||||
// 退款成功
|
$redis_key = "inquiryRefund" . $order_inquiry['order_inquiry_id'];
|
||||||
Db::commit();
|
$redis_value = $redis->get($redis_key);
|
||||||
Log::getInstance()->info("订单已退款");
|
if (!empty($redis_value)){
|
||||||
|
// 判断退款次数
|
||||||
|
if ($redis_value >= 3){
|
||||||
|
Log::getInstance()->info("退款取消,退款失败次数过多");
|
||||||
|
|
||||||
// 加入消息通知队列
|
// 加入短信队列
|
||||||
|
|
||||||
return Result::ACK;
|
return Result::DROP;// 销毁
|
||||||
} catch (\Exception $e) {
|
}
|
||||||
Db::rollBack();
|
|
||||||
Log::getInstance()->error("队列执行失败原因:" . "执行退款失败" . $e->getMessage());
|
$redis_value = $redis_value + 1;
|
||||||
return Result::REQUEUE; // 重回队列
|
}else{
|
||||||
|
$redis_value = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
try {
|
||||||
|
$InquiryService = new InquiryService();
|
||||||
|
$InquiryService->inquiryRefund($order_inquiry['order_inquiry_id'],"暂无医生接诊");
|
||||||
|
|
||||||
$redis = $this->container->get(Redis::class);
|
$redis->set($redis_key,$redis_value);
|
||||||
$redis_key = $order_inquiry['order_inquiry_id'];
|
} catch (\Exception $e) {
|
||||||
|
Db::rollBack();
|
||||||
|
Log::getInstance()->error("队列执行失败原因:退款失败,原因:" . $e->getMessage());
|
||||||
|
return Result::REQUEUE; // 重回队列
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 分配医生
|
// 分配医生
|
||||||
$UserDoctorService = new UserDoctorService();
|
$UserDoctorService = new UserDoctorService();
|
||||||
@ -123,6 +135,8 @@ class AssignDoctorConsumer extends ConsumerMessage
|
|||||||
if (empty($doctor_id)){
|
if (empty($doctor_id)){
|
||||||
Db::rollBack();
|
Db::rollBack();
|
||||||
Log::getInstance()->error("重回队列,目前没有合适医生");
|
Log::getInstance()->error("重回队列,目前没有合适医生");
|
||||||
|
|
||||||
|
$redis_key = "AssignDoctor" . $order_inquiry['order_inquiry_id'];
|
||||||
$redis_value = $redis->get($redis_key);
|
$redis_value = $redis->get($redis_key);
|
||||||
if (!empty($redis_value)){
|
if (!empty($redis_value)){
|
||||||
$redis_value = $redis_value + 1;
|
$redis_value = $redis_value + 1;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user