提交代码
This commit is contained in:
69
app/Admin/Actions/UserUpgrade.php
Normal file
69
app/Admin/Actions/UserUpgrade.php
Normal file
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
|
||||
namespace App\Admin\Actions;
|
||||
|
||||
use App\Models\UpgradePayment;
|
||||
use Encore\Admin\Actions\RowAction;
|
||||
use Encore\Admin\Form;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Http\Request;
|
||||
use RuLong\Identity\Models\Identity;
|
||||
|
||||
class UserUpgrade extends RowAction
|
||||
{
|
||||
public $name = '空升';
|
||||
|
||||
public function handle(Model $model, Request $request)
|
||||
{
|
||||
$identity_id = $request->identity_id;
|
||||
$model->identityUpdate($identity_id, 'EmptyUp');
|
||||
if ($identity_id > 1 && !$model->activationd_at) {
|
||||
$model->activationd_at = now();
|
||||
$model->save();
|
||||
}
|
||||
$amount = $model->getIdentityPrice($identity_id);
|
||||
if ($amount) {
|
||||
$upgrade_payment = UpgradePayment::create([
|
||||
'user_id' => $model->id,
|
||||
'type' => 'agent',
|
||||
'pay_type' => 'ADMIN',
|
||||
'amount' => $amount,
|
||||
'total' => 0,
|
||||
'state' => 'SUCCESS',
|
||||
]);
|
||||
|
||||
if ($identity_id == 1) {
|
||||
\App\Bonus\DirectVip::settlement($upgrade_payment);
|
||||
|
||||
$source = [
|
||||
'user_id' => $upgrade_payment->user->id,
|
||||
'type' => 'UpgradeVip',
|
||||
'payment_id' => $upgrade_payment->id,
|
||||
];
|
||||
\App\Bonus\AddPerf::settlement($upgrade_payment->user, $upgrade_payment->amount, $source);
|
||||
} elseif ($identity_id > 1) {
|
||||
\App\Bonus\DirectAgency::settlement($upgrade_payment);
|
||||
|
||||
$source = [
|
||||
'user_id' => $upgrade_payment->user->id,
|
||||
'type' => 'UpgradeAgency',
|
||||
'payment_id' => $upgrade_payment->id,
|
||||
];
|
||||
\App\Bonus\AddPerf::settlement($upgrade_payment->user, $upgrade_payment->amount, $source);
|
||||
}
|
||||
}
|
||||
|
||||
return $this->response()->success('升级成功')->refresh();
|
||||
}
|
||||
|
||||
public function form(Model $model)
|
||||
{
|
||||
$identitys = Identity::where('id', '!=', $model->identity_id)->orderBy('id', 'asc')->pluck('title', 'id')->toArray();
|
||||
$identitys[0] = '普通用户';
|
||||
ksort($identitys);
|
||||
$this->text('用户名称')->value($model->info->nickname);
|
||||
$this->text('当前等级')->value($model->identity_text);
|
||||
$this->select('identity_id', '目标等级')->options($identitys);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user