Bladeren bron

后台会员,剧集相关功能

xiansin 2 jaren geleden
bovenliggende
commit
6671dbb352

+ 16 - 13
server/app/Admin/Controllers/EpisodeController.php

xqd xqd xqd xqd
@@ -3,6 +3,7 @@
 namespace App\Admin\Controllers;
 
 use App\Admin\Repositories\Episode;
+use App\Models\EpisodesCategory;
 use Dcat\Admin\Form;
 use Dcat\Admin\Grid;
 use Dcat\Admin\Show;
@@ -20,7 +21,7 @@ class EpisodeController extends AdminController
         return Grid::make(new Episode(), function (Grid $grid) {
             $grid->column('id')->sortable();
             $grid->column('name');
-            $grid->column('cover_img');
+            $grid->column('cover_img')->image();
             $grid->column('status');
             $grid->column('is_opend');
             $grid->column('sort');
@@ -29,11 +30,10 @@ class EpisodeController extends AdminController
             $grid->column('paid_episodes');
             $grid->column('episodes_price');
             $grid->column('created_at');
-            $grid->column('updated_at')->sortable();
-        
+
             $grid->filter(function (Grid\Filter $filter) {
                 $filter->equal('id');
-        
+
             });
         });
     }
@@ -72,16 +72,19 @@ class EpisodeController extends AdminController
     {
         return Form::make(new Episode(), function (Form $form) {
             $form->display('id');
-            $form->text('name');
-            $form->text('cover_img');
-            $form->text('status');
-            $form->text('is_opend');
+            $form->text('name')->required();
+            $categoryModel = app(\App\Models\EpisodesCategory::class);
+            $cates = $categoryModel::select(['id','name'])->get()->toArray();
+            $form->select('category_id')->options(array_column($cates,'name','id'))->required();
+            $form->image('cover_img')->uniqueName()->autoUpload()->required();
+            $form->switch('status')->default(0);
+            $form->switch('is_opend')->default(0);
             $form->text('sort');
-            $form->text('is_vip_watch');
-            $form->text('free_episodes');
-            $form->text('paid_episodes');
-            $form->text('episodes_price');
-        
+            $form->switch('is_vip_watch')->default(0);
+            $form->text('free_episodes')->required();
+            $form->text('paid_episodes')->required();
+            $form->text('episodes_price')->required();
+
             $form->display('created_at');
             $form->display('updated_at');
         });

+ 8 - 0
server/app/Admin/Controllers/EpisodesCategoryController.php

xqd xqd
@@ -7,6 +7,7 @@ use Dcat\Admin\Form;
 use Dcat\Admin\Grid;
 use Dcat\Admin\Show;
 use Dcat\Admin\Http\Controllers\AdminController;
+use Dingo\Api\Http\Request;
 
 class EpisodesCategoryController extends AdminController
 {
@@ -65,4 +66,11 @@ class EpisodesCategoryController extends AdminController
             $form->text('name');
         });
     }
+
+    public function options(Request $request)
+    {
+        $q = $request->get('q');
+        $categoryModel = app(\App\Models\EpisodesCategory::class);
+        return $categoryModel->where('name', 'like', "%$q%")->paginate(null, ['id', 'name as text']);
+    }
 }

+ 3 - 3
server/app/Admin/Controllers/UserConsumeRecordController.php

xqd xqd
@@ -27,10 +27,10 @@ class UserConsumeRecordController extends AdminController
             $grid->column('order_id');
             $grid->column('created_at');
             $grid->column('updated_at')->sortable();
-        
+
             $grid->filter(function (Grid\Filter $filter) {
                 $filter->equal('id');
-        
+                $filter->equal('created_at')->date();
             });
         });
     }
@@ -72,7 +72,7 @@ class UserConsumeRecordController extends AdminController
             $form->text('current');
             $form->text('remark');
             $form->text('order_id');
-        
+
             $form->display('created_at');
             $form->display('updated_at');
         });

+ 19 - 16
server/app/Admin/Controllers/UserController.php

xqd xqd
@@ -19,23 +19,26 @@ class UserController extends AdminController
     {
         return Grid::make(new User(), function (Grid $grid) {
             $grid->column('id')->sortable();
-            $grid->column('nickname');
-            $grid->column('avatar');
-            $grid->column('password');
-            $grid->column('email');
-            $grid->column('mobile');
-            $grid->column('open_id');
-            $grid->column('union_id');
-            $grid->column('status');
-            $grid->column('email_verified_at');
-            $grid->column('remember_token');
-            $grid->column('created_at');
-            $grid->column('updated_at')->sortable();
-        
+            $grid->column('nickname','昵称');
+            $grid->column('avatar','头像')->image('',50,50);
+            $grid->column('is_vip','是否会员')->display(function (){
+                return $this->info->is_vip?'是':'否';
+            });
+            $grid->column('mobile','手机号');
+            $grid->column('integral','金币余额');
+            $grid->column('created_at','注册时间');
+
             $grid->filter(function (Grid\Filter $filter) {
-                $filter->equal('id');
-        
+                $filter->equal('id','ID');
+                $filter->equal('nickname','昵称');
+                $filter->equal('mobile','手机号');
+                $filter->equal('is_vip','是否会员')->select(function (){
+                    return ['否','是'];
+                });
+
             });
+
+            $grid->disableCreateButton();
         });
     }
 
@@ -84,7 +87,7 @@ class UserController extends AdminController
             $form->text('status');
             $form->text('email_verified_at');
             $form->text('remember_token');
-        
+
             $form->display('created_at');
             $form->display('updated_at');
         });

+ 9 - 5
server/app/Admin/Controllers/UserEpisodesRecordController.php

xqd xqd
@@ -25,12 +25,16 @@ class UserEpisodesRecordController extends AdminController
             $grid->column('price');
             $grid->column('discount');
             $grid->column('created_at');
-            $grid->column('updated_at')->sortable();
-        
+
             $grid->filter(function (Grid\Filter $filter) {
-                $filter->equal('id');
-        
+                $filter->equal('user_id');
+                $filter->equal('price');
+                $filter->equal('created_at')->date();
+
             });
+
+            $grid->disableDeleteButton();
+            $grid->disableCreateButton();
         });
     }
 
@@ -69,7 +73,7 @@ class UserEpisodesRecordController extends AdminController
             $form->text('list_id');
             $form->text('price');
             $form->text('discount');
-        
+
             $form->display('created_at');
             $form->display('updated_at');
         });

+ 15 - 7
server/app/Admin/Controllers/UserRechargeRecordController.php

xqd xqd xqd
@@ -2,7 +2,7 @@
 
 namespace App\Admin\Controllers;
 
-use App\Admin\Repositories\UserRechargeRecord;
+use App\Models\UserRechargeRecord;
 use Dcat\Admin\Form;
 use Dcat\Admin\Grid;
 use Dcat\Admin\Show;
@@ -19,18 +19,26 @@ class UserRechargeRecordController extends AdminController
     {
         return Grid::make(new UserRechargeRecord(), function (Grid $grid) {
             $grid->column('id')->sortable();
-            $grid->column('user_id');
-            $grid->column('combo_id');
+            $grid->column('user_id')->display(function (){
+                return $this->user->nickname;
+            });
+            $grid->column('combo_id')->display(function (){
+                return $this->combo->name;
+            });
             $grid->column('price');
             $grid->column('gift');
             $grid->column('pay_id');
             $grid->column('created_at');
             $grid->column('updated_at')->sortable();
-        
+
             $grid->filter(function (Grid\Filter $filter) {
-                $filter->equal('id');
-        
+                $filter->equal('user_id');
+                $filter->equal('price');
+                $filter->equal('created_at')->date();
             });
+
+            $grid->disableCreateButton();
+            $grid->disableDeleteButton();
         });
     }
 
@@ -69,7 +77,7 @@ class UserRechargeRecordController extends AdminController
             $form->text('price');
             $form->text('gift');
             $form->text('pay_id');
-        
+
             $form->display('created_at');
             $form->display('updated_at');
         });

+ 5 - 0
server/app/Admin/routes.php

xqd
@@ -27,4 +27,9 @@ Route::group([
     // 剧集分类
     $router->resource('/episodes/category','EpisodesCategoryController');
 
+
+    $router->get('/api/category','EpisodesCategoryController@options');
+
+
+
 });

+ 8 - 0
server/app/Models/User.php

xqd xqd
@@ -46,6 +46,9 @@ use PHPOpenSourceSaver\JWTAuth\Contracts\JWTSubject;
  * @method static \Illuminate\Database\Query\Builder|User withTrashed()
  * @method static \Illuminate\Database\Query\Builder|User withoutTrashed()
  * @mixin \Eloquent
+ * @property \Illuminate\Support\Carbon|null $deleted_at
+ * @property-read \App\Models\UserInfo|null $info
+ * @method static \Illuminate\Database\Eloquent\Builder|User whereDeletedAt($value)
  */
 class User extends Authenticatable implements JWTSubject
 {
@@ -95,4 +98,9 @@ class User extends Authenticatable implements JWTSubject
     {
         $this->attributes['password'] = bcrypt($value);
     }
+
+    public function info()
+    {
+        return $this->belongsTo(UserInfo::class,'user_id','id');
+    }
 }

+ 12 - 0
server/app/Models/UserRechargeRecord.php

xqd
@@ -30,8 +30,20 @@ use Illuminate\Database\Eloquent\Model;
  * @method static \Illuminate\Database\Eloquent\Builder|UserRechargeRecord whereUpdatedAt($value)
  * @method static \Illuminate\Database\Eloquent\Builder|UserRechargeRecord whereUserId($value)
  * @mixin \Eloquent
+ * @property-read \App\Models\VipCombo|null $combo
+ * @property-read \App\Models\User|null $user
  */
 class UserRechargeRecord extends Model
 {
     use HasFactory;
+
+    public function user()
+    {
+        return $this->belongsTo(User::class,'user_id','id');
+    }
+
+    public function combo()
+    {
+        return $this->belongsTo(VipCombo::class,'combo_id','id');
+    }
 }

+ 2 - 2
server/config/admin.php

xqd
@@ -254,8 +254,8 @@ return [
     'upload' => [
 
          // Disk in `config/filesystem.php`.
-        // 'disk' => 'admin',
-        'disk' => 'oss',
+         'disk' => 'admin',
+//        'disk' => 'oss',
 
         // Image and file upload path under the disk above.
         'directory' => [

BIN
server/public/uploads/golf/images/4ff92eec5b95c62a91422a32a56c5f3b.png


BIN
server/public/uploads/golf/images/d18e2b99354db24da488758161436a0a.png


+ 2 - 1
server/resources/lang/zh/episode.php

xqd
@@ -6,7 +6,8 @@ return [
     ],
     'fields' => [
         'name' => '名称',
-        'cover_img' => '名称',
+        'category_id' => '分类',
+        'cover_img' => '封面图',
         'status' => '状态', //  0-更新中 1-已完结
         'is_opend' => '上架状态', //  0-下架 1-上架
         'sort' => '排序',

+ 2 - 2
server/resources/lang/zh/user-consume-record.php

xqd
@@ -1,7 +1,7 @@
-<?php 
+<?php
 return [
     'labels' => [
-        'UserConsumeRecord' => 'UserConsumeRecord',
+        'UserConsumeRecord' => '充值记录',
         'user-consume-record' => 'UserConsumeRecord',
     ],
     'fields' => [

+ 6 - 6
server/resources/lang/zh/user-episodes-record.php

xqd
@@ -1,14 +1,14 @@
-<?php 
+<?php
 return [
     'labels' => [
-        'UserEpisodesRecord' => 'UserEpisodesRecord',
+        'UserEpisodesRecord' => '消费记录',
         'user-episodes-record' => 'UserEpisodesRecord',
     ],
     'fields' => [
-        'user_id' => 'user_id',
-        'episodes_id' => '剧集ID',
-        'list_id' => '具体多少集集ID',
-        'price' => '支付金额 1:1 金币',
+        'user_id' => '用户',
+        'episodes_id' => '剧集',
+        'list_id' => '具体多少集集',
+        'price' => '支付金额',
         'discount' => '折扣金币',
     ],
     'options' => [

+ 5 - 5
server/resources/lang/zh/user-recharge-record.php

xqd
@@ -1,13 +1,13 @@
-<?php 
+<?php
 return [
     'labels' => [
-        'UserRechargeRecord' => 'UserRechargeRecord',
+        'UserRechargeRecord' => '充值记录',
         'user-recharge-record' => 'UserRechargeRecord',
     ],
     'fields' => [
-        'user_id' => 'user_id',
-        'combo_id' => '套餐ID',
-        'price' => '支付金额 1:1 金币',
+        'user_id' => '用户姓名',
+        'combo_id' => '套餐',
+        'price' => '支付金额',
         'gift' => '赠送金币',
         'pay_id' => '支付ID',
     ],