后台地址管理优化

This commit is contained in:
TL 2022-07-04 14:23:36 +08:00
parent 9417f09675
commit 4117d2ad98
3 changed files with 60 additions and 28 deletions

View File

@ -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);
}

View File

@ -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']));

View File

@ -0,0 +1,57 @@
<?php
/**
* AddressService.php
*
* @copyright 2022 opencart.cn - All Rights Reserved
* @link http://www.guangdawangluo.com
* @author TL <mengwb@opencart.cn>
* @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;
}
}