From 4117d2ad9824970b5f8c3a8dc37873ca0aa2d62e Mon Sep 17 00:00:00 2001 From: TL Date: Mon, 4 Jul 2022 14:23:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8E=E5=8F=B0=E5=9C=B0=E5=9D=80=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Http/Controllers/AddressController.php | 30 +--------- .../Http/Controllers/CustomerController.php | 1 - beike/Admin/Services/AddressService.php | 57 +++++++++++++++++++ 3 files changed, 60 insertions(+), 28 deletions(-) create mode 100644 beike/Admin/Services/AddressService.php diff --git a/beike/Admin/Http/Controllers/AddressController.php b/beike/Admin/Http/Controllers/AddressController.php index fefd6326..6bf8b8d4 100644 --- a/beike/Admin/Http/Controllers/AddressController.php +++ b/beike/Admin/Http/Controllers/AddressController.php @@ -12,6 +12,7 @@ namespace Beike\Admin\Http\Controllers; use Beike\Admin\Http\Resources\AddressResource; +use Beike\Admin\Services\AddressService; use Beike\Repositories\AddressRepo; use Illuminate\Http\Request; @@ -29,38 +30,13 @@ class AddressController extends Controller public function store(Request $request, int $customerId) { - $data = [ - 'name' => $request->get('name', ''), - 'phone' => $request->get('phone', ''), - 'country_id' => (int)$request->get('country_id', 0), - 'zone_id' => (int)$request->get('zone_id', 0), - 'zone' => $request->get('zone', ''), - 'city_id' => (int)$request->get('city_id', 0), - 'city' => $request->get('city', ''), - 'zipcode' => $request->get('zipcode', ''), - 'address_1' => $request->get('address_1', ''), - 'address_2' => $request->get('address_2', ''), - ]; - $data['customer_id'] = $customerId; - $address = AddressRepo::create($data); + $address = AddressService::addForCustomer($customerId, $request->all()); return json_success("地址创建成功", $address); } public function update(Request $request, int $customerId, int $addressId) { - $data = [ - 'name' => $request->get('name', ''), - 'phone' => $request->get('phone', ''), - 'country_id' => (int)$request->get('country_id', 0), - 'zone_id' => (int)$request->get('zone_id', 0), - 'zone' => $request->get('zone', ''), - 'city_id' => (int)$request->get('city_id', 0), - 'city' => $request->get('city', ''), - 'zipcode' => $request->get('zipcode', ''), - 'address_1' => $request->get('address_1', ''), - 'address_2' => $request->get('address_2', ''), - ]; - $address = AddressRepo::update($addressId, $data); + $address = AddressService::update($addressId, $request->all()); return json_success("地址成功修改", $address); } diff --git a/beike/Admin/Http/Controllers/CustomerController.php b/beike/Admin/Http/Controllers/CustomerController.php index ba49e70e..a71cf212 100644 --- a/beike/Admin/Http/Controllers/CustomerController.php +++ b/beike/Admin/Http/Controllers/CustomerController.php @@ -24,7 +24,6 @@ use Illuminate\Http\Request; class CustomerController extends Controller { - protected string $defaultRoute = 'customers.index'; public function index(Request $request) { $customers = CustomerRepo::list($request->only(['name', 'email', 'status', 'from', 'customer_group_id'])); diff --git a/beike/Admin/Services/AddressService.php b/beike/Admin/Services/AddressService.php new file mode 100644 index 00000000..c0d6f929 --- /dev/null +++ b/beike/Admin/Services/AddressService.php @@ -0,0 +1,57 @@ + + * @created 2022-07-04 11:15:25 + * @modified 2022-07-04 11:15:25 + */ + +namespace Beike\Admin\Services; + +use Beike\Models\Category; +use Beike\Models\CategoryPath; +use Beike\Repositories\AddressRepo; +use Beike\Repositories\CustomerRepo; +use Illuminate\Support\Facades\DB; + +class AddressService +{ + public static function addForCustomer($customerId, $data) + { + $data = self::getParams($data); + $data['customer_id'] = $customerId; + $address = AddressRepo::create($data); + return $address; + } + + public static function update($addressId, $data) + { + $data = self::getParams($data); + $address = AddressRepo::update($addressId, $data); + return $address; + } + + /** + * @param $data + * @return array + */ + public static function getParams($data): array + { + $data = [ + 'name' => $data['name'] ?? '', + 'phone' => $data['phone'] ?? '', + 'country_id' => (int)$data['country_id'] ?? 0, + 'zone_id' => (int)$data['zone_id'] ?? 0, + 'zone' => $data['zone'] ?? '', + 'city_id' => (int)$data['city_id'] ?? 0, + 'city' => $data['city'] ?? '', + 'zipcode' => $data['zipcode'] ?? '', + 'address_1' => $data['address_1'] ?? '', + 'address_2' => $data['address_2'] ?? '', + ]; + return $data; + } +}