新增创建检测订单

This commit is contained in:
wucongxing 2023-08-01 09:53:31 +08:00
parent 22620a3eb9
commit ac9c3dee38
2 changed files with 32 additions and 23 deletions

View File

@ -13,6 +13,7 @@ use App\Model\OrderProductItem;
use App\Model\Product;
use App\Model\ProductPlatformAmount;
use App\Model\UserCoupon;
use App\Services\DetectionService;
use App\Services\InquiryService;
use App\Services\OrderProductService;
use App\Utils\Log;
@ -48,7 +49,7 @@ class CancelUnpayOrdersDelayDirectConsumer extends ConsumerMessage
public function consumeMessage($data, AMQPMessage $message): string
{
Log::getInstance()->error("开始执行 取消未支付订单 队列:" . json_encode($data, JSON_UNESCAPED_UNICODE));
Log::getInstance("queue-CancelUnpayOrders")->error("开始执行 取消未支付订单 队列:" . json_encode($data, JSON_UNESCAPED_UNICODE));
Db::beginTransaction();
@ -63,27 +64,31 @@ class CancelUnpayOrdersDelayDirectConsumer extends ConsumerMessage
$OrderProductService = new OrderProductService();
$result = $OrderProductService->cancelUnpayProductOrder($data['order_no'], 3, "支付超时");
} elseif ($data['order_type'] == 3) {
// 检测订单取消
$DetectionService = new DetectionService();
$result = $DetectionService->cancelUnpayDetectionOrder($data['order_no'], 3, "支付超时");
} else {
Log::getInstance()->error("取消未支付订单失败order_type类型错误");
Log::getInstance("queue-CancelUnpayOrders")->error("取消未支付订单失败order_type类型错误");
return Result::DROP;// 销毁
}
if ($result['status'] == 0) {
Db::rollBack();
Log::getInstance()->error("取消未支付订单失败:" . $result['message']);
Log::getInstance("queue-CancelUnpayOrders")->error("取消未支付订单失败:" . $result['message']);
return Result::DROP;// 销毁
} elseif ($result['status'] == 2) {
Db::rollBack();
Log::getInstance()->info("取消未支付订单成功:" . $result['message']);
Log::getInstance("queue-CancelUnpayOrders")->info("取消未支付订单成功:" . $result['message']);
return Result::ACK;// 销毁
}
Db::commit();
Log::getInstance()->info("取消未支付订单 队列执行成功");
Log::getInstance("queue-CancelUnpayOrders")->info("取消未支付订单 队列执行成功");
return Result::ACK;
} catch (\Exception $e) {
Db::rollBack();
Log::getInstance()->error("取消未支付订单执行失败:" . $e->getMessage());
Log::getInstance("queue-CancelUnpayOrders")->error("取消未支付订单执行失败:" . $e->getMessage());
return Result::ACK; // 重回队列
}
}

View File

@ -393,9 +393,6 @@ class DetectionService extends BaseService
$detection_pay_channel = 2;
}
// 处理订单金额
Db::beginTransaction();
$generator = $this->container->get(IdGeneratorInterface::class);
@ -443,18 +440,18 @@ class DetectionService extends BaseService
}
// 增加至未支付取消订单延迟队列
// $data = array();
// $data['order_no'] = $order_detection['detection_no'];
// $data['order_type'] = 3;
//
// $message = new CancelUnpayOrdersDelayDirectProducer($data);
// $message->setDelayMs(1000 * 60 * 30);
// $producer = $this->container->get(Producer::class);
// $res = $producer->produce($message);
// if (!$res) {
// Db::rollBack();
// return fail(HttpEnumCode::SERVER_ERROR, "订单创建失败");
// }
$data = array();
$data['order_no'] = $order_detection['detection_no'];
$data['order_type'] = 3;
$message = new CancelUnpayOrdersDelayDirectProducer($data);
$message->setDelayMs(1000 * 60 * 30);
$producer = $this->container->get(Producer::class);
$res = $producer->produce($message);
if (!$res) {
Db::rollBack();
return fail(HttpEnumCode::SERVER_ERROR, "订单创建失败");
}
Db::commit();
}catch (\Exception $e){
@ -468,8 +465,15 @@ class DetectionService extends BaseService
return success($result);
}
// 取消未支付检测订单
public function cancelUnpayDetectionOrder(string|int $order_no, string|int $cancel_reason, string|int $cancel_remarks){
/**
* 取消未支付检测订单
* @param string|int $order_no 订单编号
* @param string|int $cancel_reason 取消订单原因1:主动取消 2:客服取消 3:支付超时)
* @param string|int $cancel_remarks 取消备注
* @return array
*/
public function cancelUnpayDetectionOrder(string|int $order_no, string|int $cancel_reason, string|int $cancel_remarks): array
{
$result = array();
$result['status'] = 1;
$result['message'] = "成功";