diff --git a/beike/Admin/Http/Controllers/CustomerController.php b/beike/Admin/Http/Controllers/CustomerController.php index b929162e..4e7c7a07 100644 --- a/beike/Admin/Http/Controllers/CustomerController.php +++ b/beike/Admin/Http/Controllers/CustomerController.php @@ -13,6 +13,7 @@ namespace Beike\Admin\Http\Controllers; use Beike\Admin\Http\Resources\CustomerResource; use Beike\Models\Customer; +use Beike\Repositories\CustomerGroupRepo; use Beike\Repositories\CustomerRepo; use Illuminate\Http\Request; @@ -50,6 +51,7 @@ class CustomerController extends Controller { $data = [ 'customer' => $customer, + 'customer_groups' => CustomerGroupRepo::list(true), '_redirect' => $this->getRedirect(), ]; diff --git a/beike/Models/CustomerGroup.php b/beike/Models/CustomerGroup.php new file mode 100644 index 00000000..3f7783c9 --- /dev/null +++ b/beike/Models/CustomerGroup.php @@ -0,0 +1,16 @@ +find($id)->delete(); + $address = Address::query()->find($id); + if ($address) { + $address->delete(); + } } public static function listByCustomer($customer) diff --git a/beike/Repositories/CustomerGroupRepo.php b/beike/Repositories/CustomerGroupRepo.php new file mode 100644 index 00000000..7d628b20 --- /dev/null +++ b/beike/Repositories/CustomerGroupRepo.php @@ -0,0 +1,75 @@ + + * @created 2022-06-28 15:22:05 + * @modified 2022-06-28 15:22:05 + */ + +namespace Beike\Repositories; + +use Beike\Models\CustomerGroup; + +class CustomerGroupRepo +{ + /** + * 创建一个CustomerGroup记录 + * @param $data + * @return int + */ + public static function create($data) + { + $id = CustomerGroup::query()->insertGetId($data); + return self::find($id); + } + + /** + * @param $id + * @param $data + * @return bool|int + */ + public static function update($id, $data) + { + $group = CustomerGroup::query()->find($id); + if (!$group) { + throw new \Exception("Customer Group id {$id} 不存在"); + } + $group->update($data); + return $group; + } + + /** + * @param $id + * @return \Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Eloquent\Builder[]|\Illuminate\Database\Eloquent\Collection|\Illuminate\Database\Eloquent\Model|null + */ + public static function find($id) + { + return CustomerGroup::query()->find($id); + } + + /** + * @param $id + * @return void + */ + public static function delete($id) + { + $group = CustomerGroup::query()->find($id); + if ($group) { + $group->delete(); + } + } + + public static function list($onlyEnabled = false) + { + $builder = CustomerGroup::query(); + if ($onlyEnabled) { + $builder->where('stauts', 1); + } + $groups = $builder->get(); + + return $groups; + } +}