user
parent
83ac611971
commit
cf537656bd
|
|
@ -50,9 +50,9 @@ class BalanceForm extends Form implements LazyRenderable
|
|||
public function form()
|
||||
{
|
||||
$this->display('balance');
|
||||
$this->number('amount', '数量')->help('正数为增加, 负数为减少')->default(0)->required();
|
||||
$this->text('cate', '分类')->required();
|
||||
$this->text('description', '描述')->required();
|
||||
$this->number('amount', __('dcat-admin-user::user-balance.fields.amount'))->help('正数为增加, 负数为减少')->default(0)->required();
|
||||
$this->text('cate', __('dcat-admin-user::user-balance.fields.cate'))->required();
|
||||
$this->text('description', __('dcat-admin-user::user-balance.fields.description'))->required();
|
||||
}
|
||||
|
||||
public function default()
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@ use Dcat\Admin\Widgets\Table;
|
|||
use Illuminate\Http\Request;
|
||||
use Illuminate\Validation\Rule;
|
||||
use Peidikeji\User\Models\User;
|
||||
use Peidikeji\User\Models\UserSocialite;
|
||||
use Illuminate\Support\Str;
|
||||
use Peidikeji\User\Action\ShowBalance;
|
||||
use Peidikeji\User\Action\ShowPassword;
|
||||
|
|
@ -104,6 +103,12 @@ class UserController extends AdminController
|
|||
$form->hidden('inviter_path');
|
||||
$form->hidden('invite_code');
|
||||
|
||||
$form->disableCreatingCheck();
|
||||
$form->disableEditingCheck();
|
||||
$form->disableViewCheck();
|
||||
$form->disableDeleteButton();
|
||||
$form->disableViewButton();
|
||||
|
||||
$form->saving(function (Form $form) {
|
||||
$form->inviter_path = $form->inviter_id ? User::where('id', $form->inviter_id)->value('inviter_path') . $form->inviter_id.'-' : '-';
|
||||
if ($form->isCreating() && !$form->invite_code) {
|
||||
|
|
@ -117,18 +122,35 @@ class UserController extends AdminController
|
|||
$form->deleting(function (Form $form) {
|
||||
$data = $form->model()->toArray();
|
||||
$ids = array_column($data, 'id');
|
||||
// 删除用户的登录信息
|
||||
UserSocialite::whereIn('user_id', $ids)->delete();
|
||||
foreach($ids as $id) {
|
||||
$current = User::findOrFail($id);
|
||||
// 删除用户的邀请信息
|
||||
// 用户订单
|
||||
if (method_exists($current, 'orders') && $current->orders()->count() > 0) {
|
||||
return $form->response()->error('请先删除用户的订单');
|
||||
}
|
||||
// 用户优惠券
|
||||
if (method_exists($current, 'coupons') && $current->coupons()->effective()->count() > 0) {
|
||||
return $form->response()->error('请先删除用户的优惠券');
|
||||
}
|
||||
// 用户收货地址
|
||||
$current->addresses()->delete();
|
||||
// 用户余额流水
|
||||
if ($current->balance > 0) {
|
||||
return $form->response()->error('用户余额不为0, 无法删除');
|
||||
}
|
||||
$current->balanceLogs()->delete();
|
||||
// 用户邀请记录
|
||||
$users = User::where('inviter_path', 'like', '%-'.$id.'-%')->get();
|
||||
foreach($users as $user) {
|
||||
$user->inviter_path = str_replace('-'.$id.'-', '-', $user->inviter_path);
|
||||
$ids = explode('-', $user->inviter_path);
|
||||
$user->inviter_id = count($ids) > 2 ? $ids[count($ids) - 2] : null;
|
||||
$inviteIds = explode('-', $user->inviter_path);
|
||||
$user->inviter_id = count($inviteIds) > 2 ? $inviteIds[count($ids) - 2] : null;
|
||||
$user->save();
|
||||
}
|
||||
// 用户第三方登录信息
|
||||
$current->socialites()->delete();
|
||||
// 用户登录授权记录
|
||||
$current->tokens()->delete();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in New Issue