Browse Source

增加核销人员列表及user表中verifier字段改名为is_verify

dev
李可松 4 years ago
parent
commit
c42ad9bb0a
  1. 3
      MySQL_change.sql
  2. 3
      app/AdminAgent/Controllers/AgentProductController.php
  3. 21
      app/AdminAgent/Controllers/UserController.php
  4. 8
      app/AdminAgent/Renderable/SelectUser.php
  5. 1
      app/AdminAgent/routes.php
  6. 2
      app/Http/Controllers/Api/VerificationController.php
  7. 2
      resources/lang/zh_CN/user.php

3
MySQL_change.sql

@ -121,3 +121,6 @@ ENGINE=InnoDB;
# 12:39 2021/8/24
ALTER TABLE `notices`
ADD COLUMN `sort` SMALLINT NOT NULL DEFAULT '255' COMMENT '排序,越小越靠前' AFTER `content`;
ALTER TABLE `users`
CHANGE COLUMN `verifier` `is_verify` TINYINT(3) NOT NULL DEFAULT '0' COMMENT '是否是核销人员,1:是;0:否' AFTER `status`;

3
app/AdminAgent/Controllers/AgentProductController.php

@ -197,7 +197,7 @@ class AgentProductController extends AdminController
$form->selectTable('verifier')
->title('选择核销人员')
->dialogWidth('50%;min-width:600px;') //不起作用
->from(SelectUser::make())
->from(SelectUser::make(['is_verify' => 1]))
->model(User::class, 'id', 'nickname')
->customFormat(fn($v) => !$v ? '' : $v)
->required();
@ -240,6 +240,7 @@ class AgentProductController extends AdminController
$form->hidden(['agent_id', 'status']); //表单没有的字段,必须加这句才能够重写
$form->agent_id = $agent_id;
$form->status = $form->status == ProductStatus::ON_SALE ? ProductStatus::ON_SALE : ProductStatus::SOLD_OUT;
$form->guide_id = $form->guide_id ?? 0;
//不允许编辑的字段
$form->ignore(['id', 'agent_id', 'status', 'created_at', 'updated_at', 'deleted_at']);

21
app/AdminAgent/Controllers/UserController.php

@ -8,6 +8,7 @@ use Dcat\Admin\Form;
use Dcat\Admin\Grid;
use Dcat\Admin\Show;
use Dcat\Admin\Http\Controllers\AdminController;
use Illuminate\Support\Facades\Route;
class UserController extends AdminController
{
@ -25,6 +26,11 @@ class UserController extends AdminController
$grid->disableBatchDelete();
$grid->disableDeleteButton();
//如果是核销人员页面,多加where条件判断
if (strpos(Route::current()->uri, 'verifier')) {
$grid->model()->where('is_verify', 1);
}
$grid->model()->where('agent_id', Admin::user()->id);
$grid->column('id')->sortable();
@ -32,6 +38,7 @@ class UserController extends AdminController
$grid->column('mobile');
$grid->column('nickname');
$grid->column('status')->switch();
$grid->column('is_verify')->switch();
$grid->column('created_at');
$grid->filter(function (Grid\Filter $filter) {
@ -88,18 +95,24 @@ class UserController extends AdminController
$form->display('nickname');
$form->text('mobile');
$form->switch('status');
$form->switch('is_verify');
})->saving(function (Form $form) {
//不允许修改非自己的数据
if ($form->isEditing() && $form->model()->agent_id != Admin::user()->id) {
return $form->response()->error('数据不存在');
}
//不允许编辑的字段
$form->ignore(['id', 'agent_id', 'nickname', 'deleted_at']);
//处理特殊字段
$form->agent_id = Admin::user()->id;
$form->status = $form->status ? 1 : 0;
if (isset($form->status)) { //为防止行内编辑出错,此处需要加判断
$form->status = $form->status ? 1 : 0;
}
if (isset($form->is_verify)) { //为防止行内编辑出错,此处需要加判断
$form->is_verify = $form->is_verify ? 1 : 0;
}
//不允许编辑的字段
$form->ignore(['id', 'agent_id', 'nickname', 'deleted_at']);
})->deleting(function (Form $form) {
return $form->response()->error('禁止删除');
});

8
app/AdminAgent/Renderable/SelectUser.php

@ -24,7 +24,13 @@ class SelectUser extends LazyRenderable
$grid->disableBatchDelete();
$grid->disableBatchActions();
$grid->model()->where(['status' => UserStatus::NORMAL, 'agent_id' => Admin::user()->id]);
$where = ['status' => UserStatus::NORMAL, 'agent_id' => Admin::user()->id];
//核销人员选择
if ($this->is_verify !== null) {
$where['is_verify'] = $this->is_verify;
}
$grid->model()->where($where);
$grid->quickSearch(['mobile', 'nickname'])->placeholder('搜索手机号、用户昵称');
$grid->column('id');

1
app/AdminAgent/routes.php

@ -18,6 +18,7 @@ Route::group([
$router->resource('product/list', 'AgentProductController');
$router->resource('category/list', 'CategoryController');
$router->resource('user/list', 'UserController');
$router->resource('user/verifier', 'UserController');
$router->resource('order/list', 'OrderController');
$router->resource('slide/list', 'SlideController');
$router->resource('special/list', 'SpecialController');

2
app/Http/Controllers/Api/VerificationController.php

@ -28,7 +28,7 @@ class VerificationController extends Controller
}
$user = User::firstWhere(['id' => $this->user_id, 'status' => 1]);
if (!$user || $user->id != $order->agentProduct->verifier) {
if (!$user || $user->is_verify !=1 || $user->id != $order->agentProduct->verifier) {
return $this->error('对不起,你没有核销权限,请联系管理员');
}

2
resources/lang/zh_CN/user.php

@ -13,7 +13,7 @@ return [
'openid' => '微信openid',
'status' => '用户状态',
'unionid' => '微信unionid',
'verifier' => '是否核销人员',
'is_verify' => '是否核销人员',
'created_at' => '注册时间',
],
'options' => [

Loading…
Cancel
Save