2026-03-21 02:55:24 +08:00
|
|
|
<?php
|
|
|
|
|
// +----------------------------------------------------------------------
|
2026-03-29 11:22:52 +08:00
|
|
|
// | Author: ScottPan Team
|
2026-03-21 02:55:24 +08:00
|
|
|
// +----------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
namespace app\jobs\order;
|
|
|
|
|
|
|
|
|
|
use app\services\erp\OrderServices;
|
|
|
|
|
use crmeb\basic\BaseJobs;
|
|
|
|
|
use crmeb\traits\QueueTrait;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Class OrderSyncJob
|
|
|
|
|
* @package app\jobs\order
|
|
|
|
|
*/
|
|
|
|
|
class OrderSyncJob extends BaseJobs
|
|
|
|
|
{
|
|
|
|
|
use QueueTrait;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @return mixed
|
|
|
|
|
*/
|
|
|
|
|
public static function queueName()
|
|
|
|
|
{
|
|
|
|
|
return 'CRMEB_PRO_ERP';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 同步订单
|
|
|
|
|
* @param int $oid
|
|
|
|
|
* @return bool
|
|
|
|
|
*/
|
|
|
|
|
public function syncOrder(int $oid): bool
|
|
|
|
|
{
|
|
|
|
|
try {
|
|
|
|
|
/** @var OrderServices $orderServices */
|
|
|
|
|
$orderServices = app()->make(OrderServices::class);
|
|
|
|
|
$orderServices->upload($oid);
|
|
|
|
|
} catch (\Exception $e) {
|
|
|
|
|
response_log_write([
|
|
|
|
|
'message' => '订单信息同步失败,原因:' . $e->getMessage(),
|
|
|
|
|
'file' => $e->getFile(),
|
|
|
|
|
'line' => $e->getLine()
|
|
|
|
|
]);
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 更新订单信息
|
|
|
|
|
* @param string $orderId
|
|
|
|
|
* @param string $erpOrderId
|
|
|
|
|
* @param int $oid
|
|
|
|
|
* @return bool
|
|
|
|
|
*/
|
|
|
|
|
public function reorderOrder(string $orderId, array $erpOrderId = [], int $oid = 0): bool
|
|
|
|
|
{
|
|
|
|
|
try {
|
|
|
|
|
/** @var OrderServices $orderServices */
|
|
|
|
|
$orderServices = app()->make(OrderServices::class);
|
|
|
|
|
$cancelRes = $orderServices->cancelOrder($orderId, $erpOrderId);
|
|
|
|
|
if ($cancelRes && $oid > 0) {
|
|
|
|
|
$orderServices->upload($oid);
|
|
|
|
|
}
|
|
|
|
|
} catch (\Exception $e) {
|
|
|
|
|
response_log_write([
|
|
|
|
|
'message' => '订单信息更新失败,原因:' . $e->getMessage(),
|
|
|
|
|
'file' => $e->getFile(),
|
|
|
|
|
'line' => $e->getLine()
|
|
|
|
|
]);
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 回调取消
|
|
|
|
|
* @param array $data
|
|
|
|
|
* @return bool
|
|
|
|
|
*/
|
|
|
|
|
public function refundOrder(array $data): bool
|
|
|
|
|
{
|
|
|
|
|
try {
|
|
|
|
|
/** @var OrderServices $orderServices */
|
|
|
|
|
$orderServices = app()->make(OrderServices::class);
|
|
|
|
|
$orderServices->refundOrder($data);
|
|
|
|
|
} catch (\Exception $e) {
|
|
|
|
|
response_log_write([
|
|
|
|
|
'message' => '回调订单取消同步失败,原因:' . $e->getMessage(),
|
|
|
|
|
'file' => $e->getFile(),
|
|
|
|
|
'line' => $e->getLine()
|
|
|
|
|
]);
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 同步退货单
|
|
|
|
|
* @param int $refundId
|
|
|
|
|
* @return bool
|
|
|
|
|
*/
|
|
|
|
|
public function refundOrderUpload(int $refundId): bool
|
|
|
|
|
{
|
|
|
|
|
try {
|
|
|
|
|
/** @var OrderServices $orderServices */
|
|
|
|
|
$orderServices = app()->make(OrderServices::class);
|
|
|
|
|
$orderServices->refundOrderUpload([$refundId]);
|
|
|
|
|
} catch (\Exception $e) {
|
|
|
|
|
response_log_write([
|
|
|
|
|
'message' => '同步退货单信息失败,原因:' . $e->getMessage(),
|
|
|
|
|
'file' => $e->getFile(),
|
|
|
|
|
'line' => $e->getLine()
|
|
|
|
|
]);
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|