|
- <?php
-
- namespace App\Logics\Shop;
-
- use App\Exceptions\ParamException;
- use App\Models\HtpmsCustomer\Deposit\Deposit;
- use App\Models\HtpmsCustomer\Mst\Shop;
- use App\Models\User;
-
- class ShopLogic
- {
-
- private User|null $customerUser = null;
- private Shop|null $shop = null;
-
- public function create(User $customerUser, Shop $shop)
- {
- $this->customerUser = $customerUser;
- $this->shop = $shop;
-
- // チェック処理
- if (Shop::whereName($shop->name)->exists()) {
- ParamException::throw(Shop::COL_NAME_NAME, trans('validation.unique'));
- }
-
- $shop->save();
-
- // デポジット
- $deposit = new Deposit();
- $deposit->shop_id = $shop->id;
- $deposit->save();
-
- return $shop;
- }
-
- public function delete(Shop $shop)
- {
- $shop->delete();
-
- $users = $shop->users;
-
- if ($users !== null) {
- foreach ($shop->users as $user) {
- $user->delete();
- }
- }
- }
- }
|