调整订单发货

This commit is contained in:
liaofei 2023-06-19 11:22:27 +08:00
parent e2ae540c31
commit 5409048ff8
2 changed files with 67 additions and 20 deletions

View File

@ -34,6 +34,7 @@ use app\services\order\{OtherOrderServices,
StoreOrderInvoiceServices,
StoreOrderRefundServices,
StoreOrderServices,
StoreOrderStatusServices,
StoreOrderSuccessServices,
StoreOrderTakeServices
};
@ -814,11 +815,11 @@ class StoreOrderController
]);
if (md5(json_encode($data['data']) . $data['t']) != $data['sign']) {
return app('json')->fail();
return app('json')->fail('验签失败');
}
switch ($data['type']) {
case 'order_success':
case 'order_success'://下单成功
$update = [
'label' => $data['data']['label'] ?? '',
];
@ -829,6 +830,28 @@ class StoreOrderController
$this->services->update(['task_id' => $data['task_id']], $update);
}
break;
case 'order_take'://取件
if (isset($data['task_id'])) {
$orderInfo = $this->services->get(['task_id' => $data['task_id']]);
if (!$orderInfo) {
return app('json')->fail('订单不存在');
}
$this->services->transaction(function () use ($data, $orderInfo) {
$this->services->update(['task_id' => $data['task_id']], [
'status' => 1,
'is_stock_up' => 0
]);
/** @var StoreOrderStatusServices $services */
$services = app()->make(StoreOrderStatusServices::class);
$services->save([
'oid' => $orderInfo->id,
'change_time' => time(),
'change_type' => 'delivery_goods',
'change_message' => '已发货 快递公司:' . $orderInfo->delivery_name . ' 快递单号:' . $orderInfo->delivery_id
]);
});
}
break;
}
return app('json')->success();

View File

@ -593,24 +593,48 @@ class StoreOrderDeliveryServices extends BaseServices
}
$orderInfo->delivery_id = $data['delivery_id'];
}
$data['status'] = 1;
$orderInfo->delivery_type = $data['delivery_type'];
$orderInfo->delivery_name = $data['delivery_name'];
$orderInfo->status = $data['status'];
/** @var StoreOrderStatusServices $services */
$services = app()->make(StoreOrderStatusServices::class);
$this->transaction(function () use ($id, $data, $services) {
$res = $this->dao->update($id, $data);
$res = $res && $services->save([
'oid' => $id,
'change_time' => time(),
'change_type' => 'delivery_goods',
'change_message' => '已发货 快递公司:' . $data['delivery_name'] . ' 快递单号:' . $data['delivery_id']
]);
if (!$res) {
throw new AdminException(400529);
}
});
if ($data['express_record_type'] != 3) {
$data['status'] = 1;
$orderInfo->delivery_type = $data['delivery_type'];
$orderInfo->delivery_name = $data['delivery_name'];
$orderInfo->status = $data['status'];
/** @var StoreOrderStatusServices $services */
$services = app()->make(StoreOrderStatusServices::class);
$this->transaction(function () use ($id, $data, $services) {
$res = $this->dao->update($id, $data);
$res = $res && $services->save([
'oid' => $id,
'change_time' => time(),
'change_type' => 'delivery_goods',
'change_message' => '已发货 快递公司:' . $data['delivery_name'] . ' 快递单号:' . $data['delivery_id']
]);
if (!$res) {
throw new AdminException(400529);
}
});
} else {
$update = [
'is_stock_up' => 1,
'delivery_type' => $data['delivery_type'],
'delivery_name' => $data['delivery_name'],
];
/** @var StoreOrderStatusServices $services */
$services = app()->make(StoreOrderStatusServices::class);
$this->transaction(function () use ($id, $data, $services, $update) {
$res = $this->dao->update($id, $update);
$res = $res && $services->save([
'oid' => $id,
'change_time' => time(),
'change_type' => 'stock_up_goods',
'change_message' => '备货中 快递公司:' . $data['delivery_name'] . ' 快递单号:' . $data['delivery_id']
]);
if (!$res) {
throw new AdminException(400529);
}
});
}
return $dump;
}