This commit is contained in:
wushumin
2026-05-11 15:28:27 +08:00
commit 9aac78b8da
289 changed files with 67193 additions and 0 deletions

View File

@@ -0,0 +1,69 @@
<?php
namespace app\controller\admin;
use app\support\WarehouseService;
use support\Request;
class WarehousesController
{
public function overview(Request $request)
{
return api_success([
'cards' => $this->service()->overviewCards(),
]);
}
public function index(Request $request)
{
return api_success([
'list' => $this->service()->list(),
'category_options' => array_map(static fn(array $item) => [
'id' => (int)$item['id'],
'name' => $item['name'],
], \support\think\Db::name('catalog_categories')->where('is_enabled', 1)->order('sort_order', 'asc')->select()->toArray()),
]);
}
public function save(Request $request)
{
$id = (int)$request->input('id', 0);
try {
$warehouseId = $this->service()->save([
'warehouse_name' => $request->input('warehouse_name', ''),
'warehouse_code' => $request->input('warehouse_code', ''),
'service_provider' => $request->input('service_provider', 'anxinyan'),
'receiver_name' => $request->input('receiver_name', ''),
'receiver_mobile' => $request->input('receiver_mobile', ''),
'province' => $request->input('province', ''),
'city' => $request->input('city', ''),
'district' => $request->input('district', ''),
'detail_address' => $request->input('detail_address', ''),
'service_time' => $request->input('service_time', ''),
'notice' => $request->input('notice', ''),
'supported_category_ids' => $request->input('supported_category_ids', []),
'service_area_provinces' => $request->input('service_area_provinces', []),
'service_area_cities' => $request->input('service_area_cities', []),
'status' => $request->input('status', 'enabled'),
'is_default' => $request->input('is_default', false),
'sort_order' => $request->input('sort_order', 0),
'remark' => $request->input('remark', ''),
], $id);
} catch (\RuntimeException $e) {
return api_error($e->getMessage(), 422);
} catch (\Throwable $e) {
return api_error('仓库保存失败', 500, [
'detail' => $e->getMessage(),
]);
}
return api_success([
'id' => $warehouseId,
], $id > 0 ? '仓库已更新' : '仓库已创建');
}
private function service(): WarehouseService
{
return new WarehouseService();
}
}