修复一些错误
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
namespace App\Http\Controllers\Order;
|
||||
|
||||
use App\Exceptions\RepositoryException;
|
||||
use App\Models\BillModel;
|
||||
use App\Models\NoticeModel;
|
||||
use App\Models\StoreOrderModel;
|
||||
use App\Models\UserModel;
|
||||
@@ -38,7 +39,8 @@ class StoreOrderController extends BaseController
|
||||
$query = StoreOrderModel::query()->with([
|
||||
'store:id,name,address,contact,phone',
|
||||
'items:id,order_id,product_id,product_name,product_spec,unit,price,quantity,amount,image_ids',
|
||||
'purchase:id,purchase_no,purchase_date,status'
|
||||
'purchase:id,purchase_no,purchase_date,status',
|
||||
'bill:id,bill_no,bill_date,total_amount,status,payment_id,paid_at',
|
||||
]);
|
||||
|
||||
// 按包含的商品名称搜索:任一明细品名包含关键字即命中
|
||||
@@ -65,6 +67,7 @@ class StoreOrderController extends BaseController
|
||||
// 明细封面图:从快照 image_ids 批量解析(不再关联商品档案表)
|
||||
foreach ($data['data'] as &$order) {
|
||||
app(ItemImageResolver::class)->resolve($order['items']);
|
||||
$this->appendBillPayState($order);
|
||||
}
|
||||
unset($order);
|
||||
|
||||
@@ -78,6 +81,7 @@ class StoreOrderController extends BaseController
|
||||
$order = StoreOrderModel::with([
|
||||
'store:id,name,address,contact,phone',
|
||||
'items' => static fn ($query) => $query->with('supplier:id,name'),
|
||||
'bill',
|
||||
])->find($id);
|
||||
if (empty($order)) {
|
||||
throw new RepositoryException('订单不存在');
|
||||
@@ -90,6 +94,8 @@ class StoreOrderController extends BaseController
|
||||
|
||||
// 明细首图
|
||||
app(ItemImageResolver::class)->resolve($data['items']);
|
||||
// 关联账单详情:补充支付进度
|
||||
$this->appendBillPayState($data);
|
||||
|
||||
return $this->success($data);
|
||||
}
|
||||
@@ -234,4 +240,21 @@ class StoreOrderController extends BaseController
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 订单输出数组的关联账单补充支付进度(待支付/审核中/已支付,与小程序端口径一致)
|
||||
*
|
||||
* @param array<string, mixed> $order 订单数组(引用修改)
|
||||
*/
|
||||
private function appendBillPayState(array &$order): void
|
||||
{
|
||||
if (! is_array($order['bill'] ?? null)) {
|
||||
return;
|
||||
}
|
||||
// 复用模型支付进度推导(已支付 > 审核中 > 待支付)
|
||||
$bill = new BillModel($order['bill']);
|
||||
$payState = $bill->payState();
|
||||
$order['bill']['pay_state'] = $payState;
|
||||
$order['bill']['pay_state_name'] = BillModel::PAY_STATE_NAMES[$payState];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user