diff --git a/app/Admin/Controllers/CouponSendTaskController.php b/app/Admin/Controllers/CouponSendTaskController.php index e937438e..6e843c7f 100644 --- a/app/Admin/Controllers/CouponSendTaskController.php +++ b/app/Admin/Controllers/CouponSendTaskController.php @@ -3,10 +3,11 @@ namespace App\Admin\Controllers; use App\Admin\Repositories\CouponSendTask; +use Dcat\Admin\Admin; use Dcat\Admin\Form; use Dcat\Admin\Grid; -use Dcat\Admin\Show; use Dcat\Admin\Http\Controllers\AdminController; +use Dcat\Admin\Show; class CouponSendTaskController extends AdminController { @@ -17,20 +18,51 @@ class CouponSendTaskController extends AdminController */ protected function grid() { - return Grid::make(new CouponSendTask(), function (Grid $grid) { + $builder = CouponSendTask::with(['coupon', 'administrator']); + return Grid::make($builder, function (Grid $grid) { $grid->column('id')->sortable(); $grid->column('name'); - $grid->column('coupon_id'); + $grid->column('coupon.name'); $grid->column('num'); - $grid->column('administrator_id'); - $grid->column('type'); - $grid->column('status'); + $grid->column('administrator.name'); + $grid->column('type')->using([ + 1=>'指定用户', + 2=>'用户vip等级', + 3=>'所有用户', + 4=>'用户excel导入', + ])->label(); + $grid->column('status')->using([0=>'未开始', 1=>'初始化中', 2=>'执行中', 3=>'已完成', 4=>'失败']) + ->dot([ + 0 => '#b3b9bf', + 1 => 'primary', + 2 => 'primary', + 3 => 'success', + 4 => 'danger', + ]); $grid->column('created_at'); $grid->column('updated_at')->sortable(); - + //排序 + $grid->model()->orderBy('created_at', 'desc'); + + /** 操作 **/ + //新增 + if (Admin::user()->can('dcat.admin.coupon_send_tasks.create')) { + $grid->disableCreateButton(false); + $grid->enableDialogCreate(); + } + //修改 + $grid->showQuickEditButton(Admin::user()->can('dcat.admin.coupon_send_tasks.edit')); + //删除以及自定义操作 + $grid->actions(function (Grid\Displayers\Actions $actions) { + if ($actions->row->status == 0) { + $actions->disableDelete(Admin::user()->cannot('dcat.admin.coupon_send_tasks.destroy')); + } + }); + + /** 查询 **/ $grid->filter(function (Grid\Filter $filter) { - $filter->equal('id'); - + $filter->panel(); + $filter->like('name')->width(3); }); }); } @@ -72,7 +104,7 @@ class CouponSendTaskController extends AdminController $form->text('administrator_id'); $form->text('type'); $form->text('status'); - + $form->display('created_at'); $form->display('updated_at'); }); diff --git a/app/Admin/Controllers/CouponSendLogController.php b/app/Admin/Controllers/CouponTaskLogController.php similarity index 83% rename from app/Admin/Controllers/CouponSendLogController.php rename to app/Admin/Controllers/CouponTaskLogController.php index 33f47b4e..73283a76 100644 --- a/app/Admin/Controllers/CouponSendLogController.php +++ b/app/Admin/Controllers/CouponTaskLogController.php @@ -2,13 +2,13 @@ namespace App\Admin\Controllers; -use App\Admin\Repositories\CouponSendLog; +use App\Admin\Repositories\CouponTaskLog; use Dcat\Admin\Form; use Dcat\Admin\Grid; -use Dcat\Admin\Show; use Dcat\Admin\Http\Controllers\AdminController; +use Dcat\Admin\Show; -class CouponSendLogController extends AdminController +class CouponTaskLogController extends AdminController { /** * Make a grid builder. @@ -17,7 +17,7 @@ class CouponSendLogController extends AdminController */ protected function grid() { - return Grid::make(new CouponSendLog(), function (Grid $grid) { + return Grid::make(new CouponTaskLog(), function (Grid $grid) { $grid->column('id')->sortable(); $grid->column('task_id'); $grid->column('coupon_id'); @@ -26,10 +26,9 @@ class CouponSendLogController extends AdminController $grid->column('status'); $grid->column('created_at'); $grid->column('updated_at')->sortable(); - + $grid->filter(function (Grid\Filter $filter) { $filter->equal('id'); - }); }); } @@ -43,7 +42,7 @@ class CouponSendLogController extends AdminController */ protected function detail($id) { - return Show::make($id, new CouponSendLog(), function (Show $show) { + return Show::make($id, new CouponTaskLog(), function (Show $show) { $show->field('id'); $show->field('task_id'); $show->field('coupon_id'); @@ -62,14 +61,14 @@ class CouponSendLogController extends AdminController */ protected function form() { - return Form::make(new CouponSendLog(), function (Form $form) { + return Form::make(new CouponTaskLog(), function (Form $form) { $form->display('id'); $form->text('task_id'); $form->text('coupon_id'); $form->text('user_id'); $form->text('num'); $form->text('status'); - + $form->display('created_at'); $form->display('updated_at'); }); diff --git a/app/Admin/Repositories/CouponSendLog.php b/app/Admin/Repositories/CouponTaskLog.php similarity index 69% rename from app/Admin/Repositories/CouponSendLog.php rename to app/Admin/Repositories/CouponTaskLog.php index 4e8961db..6b7121c7 100644 --- a/app/Admin/Repositories/CouponSendLog.php +++ b/app/Admin/Repositories/CouponTaskLog.php @@ -2,10 +2,10 @@ namespace App\Admin\Repositories; -use App\Models\CouponSendLog as Model; +use App\Models\CouponTaskLog as Model; use Dcat\Admin\Repositories\EloquentRepository; -class CouponSendLog extends EloquentRepository +class CouponTaskLog extends EloquentRepository { /** * Model. diff --git a/app/Admin/routes.php b/app/Admin/routes.php index 8c58a717..50cdd2a2 100644 --- a/app/Admin/routes.php +++ b/app/Admin/routes.php @@ -75,9 +75,9 @@ Route::group([ ])->names('coupon_ranges'); $router->resource('coupon-send-tasks', 'CouponSendTaskController')->names('coupon_send_tasks'); - $router->resource('coupon-send-logs', 'CouponSendLogController')->only([ + $router->resource('coupon-task-logs', 'CouponTaskLogController')->only([ 'index', - ])->names('coupon_send_logs'); + ])->names('coupon_task_logs'); $router->resource('users', 'UserController'); diff --git a/app/Models/CouponSendLog.php b/app/Models/CouponTaskLog.php similarity index 81% rename from app/Models/CouponSendLog.php rename to app/Models/CouponTaskLog.php index 74dd3944..0aad24b5 100644 --- a/app/Models/CouponSendLog.php +++ b/app/Models/CouponTaskLog.php @@ -5,7 +5,7 @@ namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; -class CouponSendLog extends Model +class CouponTaskLog extends Model { use HasFactory; } diff --git a/database/migrations/2021_12_08_164534_create_coupon_send_tasks_table.php b/database/migrations/2021_12_08_164534_create_coupon_send_tasks_table.php index a68e1730..cd793812 100644 --- a/database/migrations/2021_12_08_164534_create_coupon_send_tasks_table.php +++ b/database/migrations/2021_12_08_164534_create_coupon_send_tasks_table.php @@ -19,7 +19,7 @@ class CreateCouponSendTasksTable extends Migration $table->unsignedBigInteger('coupon_id')->comment('优惠券ID'); $table->unsignedBigInteger('num')->default(1)->comment('张数'); $table->unsignedBigInteger('administrator_id')->comment('操作管理员ID'); - $table->unsignedTinyInteger('type')->comment('任务类型'); + $table->unsignedTinyInteger('type')->comment('任务类型:1指定用户,2用户vip等级,3所有用户,4用户excel导入'); $table->unsignedTinyInteger('status')->default(0)->comment('任务状态:0未开始,1初始化中,2执行中,3已完成'); $table->timestamps(); }); diff --git a/database/migrations/2021_12_08_164542_create_coupon_send_logs_table.php b/database/migrations/2021_12_08_164542_create_coupon_task_logs_table.php similarity index 84% rename from database/migrations/2021_12_08_164542_create_coupon_send_logs_table.php rename to database/migrations/2021_12_08_164542_create_coupon_task_logs_table.php index 3162f422..a0ff99da 100644 --- a/database/migrations/2021_12_08_164542_create_coupon_send_logs_table.php +++ b/database/migrations/2021_12_08_164542_create_coupon_task_logs_table.php @@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -class CreateCouponSendLogsTable extends Migration +class CreateCouponTaskLogsTable extends Migration { /** * Run the migrations. @@ -13,7 +13,7 @@ class CreateCouponSendLogsTable extends Migration */ public function up() { - Schema::create('coupon_send_logs', function (Blueprint $table) { + Schema::create('coupon_task_logs', function (Blueprint $table) { $table->id(); $table->unsignedBigInteger('task_id')->comment('任务ID'); $table->unsignedBigInteger('coupon_id')->comment('优惠券ID'); @@ -33,6 +33,6 @@ class CreateCouponSendLogsTable extends Migration */ public function down() { - Schema::dropIfExists('coupon_send_logs'); + Schema::dropIfExists('coupon_task_logs'); } } diff --git a/resources/lang/zh_CN/coupon-send-task.php b/resources/lang/zh_CN/coupon-send-task.php index aa15253c..7b403d49 100644 --- a/resources/lang/zh_CN/coupon-send-task.php +++ b/resources/lang/zh_CN/coupon-send-task.php @@ -1,8 +1,9 @@ - [ - 'CouponSendTask' => 'CouponSendTask', - 'coupon-send-task' => 'CouponSendTask', + 'CouponSendTask' => '优惠券发放任务', + 'coupon-send-tasks' => '优惠券发放任务', ], 'fields' => [ 'name' => '任务名称', diff --git a/resources/lang/zh_CN/coupon-send-log.php b/resources/lang/zh_CN/coupon-task-log.php similarity index 66% rename from resources/lang/zh_CN/coupon-send-log.php rename to resources/lang/zh_CN/coupon-task-log.php index 5ab69c85..86a4b29a 100644 --- a/resources/lang/zh_CN/coupon-send-log.php +++ b/resources/lang/zh_CN/coupon-task-log.php @@ -1,8 +1,9 @@ - [ - 'CouponSendLog' => 'CouponSendLog', - 'coupon-send-log' => 'CouponSendLog', + 'CouponTaskLog' => '优惠券任务发放日志', + 'coupon-task-logs' => '优惠券任务发放日志', ], 'fields' => [ 'task_id' => '任务名称',