first
This commit is contained in:
69
server-api/app/controller/admin/WarehousesController.php
Normal file
69
server-api/app/controller/admin/WarehousesController.php
Normal 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();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user