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; + } +}