阶段更新
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\User\Http\Controllers\Admin\Actions;
|
||||
|
||||
use Encore\Admin\Actions\Response;
|
||||
use Encore\Admin\Actions\RowAction;
|
||||
use Encore\Admin\Facades\Admin;
|
||||
use Illuminate\Http\Request;
|
||||
use Modules\User\Models\User;
|
||||
|
||||
class AddUserRemark extends RowAction
|
||||
{
|
||||
|
||||
public $name = '增加备注';
|
||||
|
||||
public function handle(User $user, Request $request): Response
|
||||
{
|
||||
try {
|
||||
$user->addLog(Admin::user(), $request->remark);
|
||||
|
||||
return $this->response()->success('添加备注成功')->refresh();
|
||||
} catch (\Exception $exception) {
|
||||
return $this->response()->error($exception->getMessage())->refresh();
|
||||
}
|
||||
}
|
||||
|
||||
public function form(User $user)
|
||||
{
|
||||
$this->textarea('remark', '备注')->required();
|
||||
}
|
||||
|
||||
}
|
||||
75
modules/User/Http/Controllers/Admin/Actions/AllotCard.php
Normal file
75
modules/User/Http/Controllers/Admin/Actions/AllotCard.php
Normal file
@@ -0,0 +1,75 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\User\Http\Controllers\Admin\Actions;
|
||||
|
||||
use Encore\Admin\Actions\Action;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Modules\User\Models\User;
|
||||
use Modules\User\Models\UserInvite;
|
||||
|
||||
class AllotCard extends Action
|
||||
{
|
||||
protected $selector = '.report-posts';
|
||||
|
||||
public function handle(Request $request)
|
||||
{
|
||||
$request->validate([
|
||||
'startNum' => 'required|integer|min:1|lte:endNum',
|
||||
'endNum' => 'required|integer|min:1',
|
||||
], [
|
||||
'startNum.required' => '开始号码必须填写',
|
||||
'startNum.integer' => '开始号码必须是整数',
|
||||
'startNum.min' => '开始号码最小为1',
|
||||
'startNum.lte' => '开始号码要小于结束号码',
|
||||
'endNum.required' => '结束号码必须填写',
|
||||
'endNum.integer' => '结束号码必须是整数',
|
||||
'endNum.min' => '结束号码最小为1',
|
||||
]);
|
||||
|
||||
$response = $this->response();
|
||||
$startNum = $request->startNum ?: 0;
|
||||
$endNum = $request->endNum ?: 0;
|
||||
$user_id = $request->user_id;
|
||||
|
||||
|
||||
// $startNum = sprintf("%'.08d", $startNum);
|
||||
// $endNum = sprintf("%'.08d", $endNum++);
|
||||
|
||||
|
||||
$isActive = UserInvite::whereBetween('id', [$startNum, $endNum])->where('status', '!=', 1)->value('code');
|
||||
if ($isActive) {
|
||||
$response->status = false;
|
||||
return $response->error($isActive.'不可分配');
|
||||
}
|
||||
|
||||
UserInvite::whereBetween('id', [$startNum, $endNum])->update([
|
||||
'user_id' => $user_id,
|
||||
'status' => UserInvite::STATUS_ALLOT,
|
||||
]);
|
||||
|
||||
return $response->success('卡分配完毕')->refresh();
|
||||
}
|
||||
|
||||
public function form()
|
||||
{
|
||||
$users = User::leftJoin('user_infos as info', 'users.id', '=', 'info.user_id')
|
||||
// ->whereHas('identities', function ($q) {
|
||||
// $q->where('id', 6);
|
||||
// })
|
||||
->select('id', DB::raw('CONCAT(username, " [", info.nickname, "]") as text'))
|
||||
->pluck('text', 'id');
|
||||
|
||||
$this->select('user_id', '会员')
|
||||
->options($users)
|
||||
->required();
|
||||
$this->text('startNum', '开始')->rules('required|integer|min:1');
|
||||
$this->text('endNum', '结束')->rules('required|integer|min:1');
|
||||
|
||||
}
|
||||
|
||||
public function html()
|
||||
{
|
||||
return "<a class='report-posts btn btn-sm btn-danger'><i class='fa fa-info-circle'></i>分配激活码</a>";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\User\Http\Controllers\Admin\Actions\Certification;
|
||||
|
||||
use Encore\Admin\Actions\RowAction;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Modules\User\Models\UserCertificationConfig;
|
||||
|
||||
class ConfigPublish extends RowAction
|
||||
{
|
||||
public $name = '使用配置';
|
||||
|
||||
public function handle(Model $model)
|
||||
{
|
||||
UserCertificationConfig::where('id', '<>', $model->id)->update(['status' => 0]);
|
||||
$model->status = 1;
|
||||
$model->save();
|
||||
|
||||
return $this->response()->success('发布配置完成')->refresh();
|
||||
}
|
||||
|
||||
public function dialog()
|
||||
{
|
||||
$this->confirm('确定使用配置么?');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\User\Http\Controllers\Admin\Actions\Certification;
|
||||
|
||||
use Encore\Admin\Actions\RowAction;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class Replicate extends RowAction
|
||||
{
|
||||
public $name = '复制配置';
|
||||
|
||||
public function handle(Model $model)
|
||||
{
|
||||
try {
|
||||
DB::transaction(function () use ($model) {
|
||||
$new = $model->replicate();
|
||||
|
||||
$new->status = 0;
|
||||
$new->save();
|
||||
});
|
||||
|
||||
return $this->response()->success('复制菜单完成')->refresh();
|
||||
} catch (\Exception $exception) {
|
||||
return $this->response()->error('复制菜单出错了')->refresh();
|
||||
}
|
||||
}
|
||||
|
||||
public function dialog()
|
||||
{
|
||||
$this->confirm('确定复制配置么?');
|
||||
}
|
||||
}
|
||||
70
modules/User/Http/Controllers/Admin/Actions/JoinIdentity.php
Normal file
70
modules/User/Http/Controllers/Admin/Actions/JoinIdentity.php
Normal file
@@ -0,0 +1,70 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\User\Http\Controllers\Admin\Actions;
|
||||
|
||||
use Encore\Admin\Actions\Response;
|
||||
use Encore\Admin\Actions\RowAction;
|
||||
use Exception;
|
||||
use Illuminate\Http\Request;
|
||||
use Modules\User\Models\Identity;
|
||||
use Modules\User\Models\Order;
|
||||
use Modules\User\Models\User;
|
||||
|
||||
class JoinIdentity extends RowAction
|
||||
{
|
||||
|
||||
public $name = '加入身份';
|
||||
|
||||
public function handle(User $user, Request $request): Response
|
||||
{
|
||||
try {
|
||||
$identity_id = $request->join_identity_id;
|
||||
$remark = $request->remark;
|
||||
$identity = Identity::find($identity_id);
|
||||
$price = $identity->getCondition('price', '0');
|
||||
|
||||
$data = [
|
||||
'user_id' => $user->id,
|
||||
'identity_id' => $identity_id,
|
||||
'year' => 1,
|
||||
'type' => 1,
|
||||
'stock' => $identity->stock,
|
||||
'name' => '',
|
||||
'card_no' => '',
|
||||
'cover' => '',
|
||||
'state' => Order::STATE_INIT,
|
||||
'price' => $price,
|
||||
];
|
||||
|
||||
$order = Order::create($data);
|
||||
$order->pay();
|
||||
|
||||
//
|
||||
// $user->joinIdentity($identity_id, 'System', [
|
||||
// 'remark' => $remark,
|
||||
// ]);
|
||||
|
||||
return $this->response()->success('加入身份成功')->refresh();
|
||||
} catch (Exception $e) {
|
||||
return $this->response()->error($e->getMessage())->refresh();
|
||||
}
|
||||
}
|
||||
|
||||
public function form(User $user)
|
||||
{
|
||||
$userIdentity = $user->identityFirst();
|
||||
if (empty($userIdentity)) {
|
||||
$identities = Identity::whereIn('order', [2, 3, 4, 5])->pluck('name', 'id');
|
||||
} elseif ($userIdentity->job == Identity::JOB_YK) {
|
||||
$identities = Identity::whereIn('order', [2, 3, 4, 5])->pluck('name', 'id');
|
||||
} else {
|
||||
$identities = Identity::where('order', '>', $userIdentity->order)->pluck('name', 'id');
|
||||
}
|
||||
$this->select('join_identity_id', '加入身份')
|
||||
->options($identities)
|
||||
->required();
|
||||
$this->text('remark', '加入备注');
|
||||
$this->confirm('确认加入该身份?');
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\User\Http\Controllers\Admin\Actions;
|
||||
|
||||
use Encore\Admin\Actions\RowAction;
|
||||
|
||||
class LinkJoinCsVip extends RowAction
|
||||
{
|
||||
|
||||
public $name = '开通初始会员';
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function href(): string
|
||||
{
|
||||
return admin_url('user/'.$this->row->id.'/join');
|
||||
}
|
||||
|
||||
}
|
||||
25
modules/User/Http/Controllers/Admin/Actions/Pay.php
Normal file
25
modules/User/Http/Controllers/Admin/Actions/Pay.php
Normal file
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\User\Http\Controllers\Admin\Actions;
|
||||
|
||||
use Encore\Admin\Actions\Response;
|
||||
use Encore\Admin\Actions\RowAction;
|
||||
use Modules\User\Models\Order;
|
||||
|
||||
class Pay extends RowAction
|
||||
{
|
||||
|
||||
public $name = '已支付';
|
||||
|
||||
public function handle(Order $order): Response
|
||||
{
|
||||
try {
|
||||
$order->pay();
|
||||
|
||||
return $this->response()->success('支付状态调整成功')->refresh();
|
||||
} catch (\Exception $exception) {
|
||||
return $this->response()->error($exception->getMessage())->refresh();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
25
modules/User/Http/Controllers/Admin/Actions/Refund.php
Normal file
25
modules/User/Http/Controllers/Admin/Actions/Refund.php
Normal file
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\User\Http\Controllers\Admin\Actions;
|
||||
|
||||
use Encore\Admin\Actions\Response;
|
||||
use Encore\Admin\Actions\RowAction;
|
||||
use Modules\User\Models\Order;
|
||||
|
||||
class Refund extends RowAction
|
||||
{
|
||||
|
||||
public $name = '退款';
|
||||
|
||||
public function handle(Order $order): Response
|
||||
{
|
||||
try {
|
||||
$order->refund();
|
||||
|
||||
return $this->response()->success('退款成功')->refresh();
|
||||
} catch (\Exception $exception) {
|
||||
return $this->response()->error($exception->getMessage())->refresh();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\User\Http\Controllers\Admin\Actions;
|
||||
|
||||
use Encore\Admin\Actions\Response;
|
||||
use Encore\Admin\Actions\RowAction;
|
||||
use Exception;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Http\Request;
|
||||
use Modules\User\Models\Identity;
|
||||
use Modules\User\Models\IdentityLog;
|
||||
|
||||
class RemoveIdentity extends RowAction
|
||||
{
|
||||
|
||||
public $name = '移除身份';
|
||||
|
||||
public function handle(Model $user, Request $request): Response
|
||||
{
|
||||
try {
|
||||
$identity_id = $request->remove_identity_id;
|
||||
$remark = $request->remark;
|
||||
$user->removeIdentity($identity_id, 'System', [
|
||||
'remark' => $remark,
|
||||
]);
|
||||
|
||||
$defaultIdentity = Identity::where('default', 1)->first();
|
||||
if ($defaultIdentity) {
|
||||
$user->joinIdentity($defaultIdentity->id, IdentityLog::CHANNEL_SYSTEM);
|
||||
}
|
||||
|
||||
return $this->response()->success('移除身份成功')->refresh();
|
||||
} catch (Exception $e) {
|
||||
return $this->response()->error($e->getMessage())->refresh();
|
||||
}
|
||||
}
|
||||
|
||||
public function form(Model $model)
|
||||
{
|
||||
$this->select('remove_identity_id', '移除身份')
|
||||
->options(Identity::whereIn('id', $model->identities()->get()->pluck('id'))
|
||||
->pluck('name', 'id'))
|
||||
->required();
|
||||
$this->text('remark', '移除说明');
|
||||
$this->confirm('确认移除该身份?');
|
||||
}
|
||||
|
||||
}
|
||||
41
modules/User/Http/Controllers/Admin/Actions/SetTag.php
Normal file
41
modules/User/Http/Controllers/Admin/Actions/SetTag.php
Normal file
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\User\Http\Controllers\Admin\Actions;
|
||||
|
||||
use Encore\Admin\Actions\Response;
|
||||
use Encore\Admin\Actions\RowAction;
|
||||
use Exception;
|
||||
use Illuminate\Http\Request;
|
||||
use Modules\User\Models\Identity;
|
||||
use Modules\User\Models\Order;
|
||||
use Modules\User\Models\User;
|
||||
|
||||
class SetTag extends RowAction
|
||||
{
|
||||
|
||||
public $name = '设置标签';
|
||||
|
||||
public function handle(User $user, Request $request): Response
|
||||
{
|
||||
try {
|
||||
$tag = $request->tag;
|
||||
|
||||
$user->update([
|
||||
'tag' => $tag
|
||||
]);
|
||||
|
||||
return $this->response()->success('加入标签成功')->refresh();
|
||||
} catch (Exception $e) {
|
||||
return $this->response()->error($e->getMessage())->refresh();
|
||||
}
|
||||
}
|
||||
|
||||
public function form(User $user)
|
||||
{
|
||||
$this->select('tag', '标签')
|
||||
->options(User::TAGS)
|
||||
->required();
|
||||
$this->confirm('确认加入该标签?');
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\User\Http\Controllers\Admin\Actions;
|
||||
|
||||
use Encore\Admin\Actions\Response;
|
||||
use Encore\Admin\Actions\RowAction;
|
||||
use Exception;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class UpdateRelation extends RowAction
|
||||
{
|
||||
|
||||
public $name = '变更隶属';
|
||||
|
||||
public function handle(Model $model, Request $request): Response
|
||||
{
|
||||
try {
|
||||
if ($model->updateParent($request->parent_id)) {
|
||||
return $this->response()->success('变更成功')->refresh();
|
||||
} else {
|
||||
return $this->response()->error('变更失败')->refresh();
|
||||
}
|
||||
} catch (Exception $exception) {
|
||||
return $this->response()->error($exception->getMessage())->refresh();
|
||||
}
|
||||
}
|
||||
|
||||
public function form()
|
||||
{
|
||||
$this->text('parent_id', '目标ID');
|
||||
$this->confirm('确认变更隶属?');
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\User\Http\Controllers\Admin\Actions;
|
||||
|
||||
use Encore\Admin\Actions\Response;
|
||||
use Encore\Admin\Actions\RowAction;
|
||||
use Modules\User\Models\User;
|
||||
|
||||
class UserStatusInit extends RowAction
|
||||
{
|
||||
|
||||
public $name = '正常';
|
||||
|
||||
public function handle(User $user): Response
|
||||
{
|
||||
try {
|
||||
$user->update([
|
||||
'status' => User::STATUS_INIT
|
||||
]);
|
||||
|
||||
return $this->response()->success('设置成功')->refresh();
|
||||
} catch (\Exception $exception) {
|
||||
return $this->response()->error($exception->getMessage())->refresh();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\User\Http\Controllers\Admin\Actions;
|
||||
|
||||
use Encore\Admin\Actions\Response;
|
||||
use Encore\Admin\Actions\RowAction;
|
||||
use Modules\User\Models\User;
|
||||
|
||||
class UserStatusRefund extends RowAction
|
||||
{
|
||||
|
||||
public $name = '已退费';
|
||||
|
||||
public function handle(User $user): Response
|
||||
{
|
||||
try {
|
||||
$user->update([
|
||||
'status' => User::STATUS_REFUND
|
||||
]);
|
||||
|
||||
return $this->response()->success('设置成功')->refresh();
|
||||
} catch (\Exception $exception) {
|
||||
return $this->response()->error($exception->getMessage())->refresh();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user