$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(); } }