xiaogang 4 年之前
父节点
当前提交
2c4c2fb757

+ 104 - 0
app/Admin/Controllers/VipConfigController.php

xqd
@@ -0,0 +1,104 @@
+<?php
+
+namespace App\Admin\Controllers;
+
+use App\Models\VipConfig;
+use Dcat\Admin\Form;
+use Dcat\Admin\Grid;
+use Dcat\Admin\Show;
+use Dcat\Admin\Http\Controllers\AdminController;
+
+class VipConfigController extends AdminController
+{
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        return Grid::make(new VipConfig(), function (Grid $grid) {
+            $grid->column('id')->sortable();
+            $grid->column('title','会员名称');
+            $grid->column('rights','VIP权益')->display(function ($res){
+                $config = config("filesystems.disks.oss");
+                $res = json_decode($res,true);
+                $str = '<div style="display: flex">';
+                foreach ($res as $k=>$v){
+                    $v['img_url'] = "https://".$config['bucket'].'.'.$config['endpoint'].'/'.$v['img_url'];
+                    $str.="<div style='margin-right:10px;text-align: center'>";
+                    $str.='<img data-action="preview-img" src="'.$v['img_url'].'" style="max-width:50px;max-height:50px;cursor:pointer" class="img img-thumbnail">';
+                    $str.='<p style="margin-top: 5px">'.$v['title'].'</p>';
+                    $str.="</div>";
+                }
+                $str .= '</div>';
+                return $str;
+
+            });
+            $grid->column('weixin','解锁微信(次)');
+            $grid->column('chat','聊天人数(人)');
+            $grid->column('dynamic','每天动态数量(条)');
+            $grid->column('is_destroy','阅后即焚')->using([0=>'否',1=>'是'])->label(['gray','primary']);
+            $grid->column('identity','身份标识')->using([0=>'无',1=>'有'])->label(['gray','primary']);
+            $grid->column('invisible','隐身状态')->using([0=>'否',1=>'是'])->label(['gray','primary']);
+
+
+            $grid->filter(function (Grid\Filter $filter) {
+                $filter->equal('id');
+
+            });
+
+            $grid->disableCreateButton();
+            //操作管理
+            $grid->actions(function (Grid\Displayers\Actions $actions) {
+                $actions->disableView();
+                $actions->disableDelete();
+            });
+
+            //批量操作
+            $grid->batchActions(function (Grid\Tools\BatchActions $batch) {
+                $batch->disableDelete();
+            });
+        });
+    }
+
+    /**
+     * Make a show builder.
+     *
+     * @param mixed $id
+     *
+     * @return Show
+     */
+    protected function detail($id)
+    {
+        return Show::make($id, new VipConfig(), function (Show $show) {
+            $show->field('id');
+            $show->field('title');
+            $show->field('value');
+        });
+    }
+
+    /**
+     * Make a form builder.
+     *
+     * @return Form
+     */
+    protected function form()
+    {
+        return Form::make(new VipConfig(), function (Form $form) {
+            $form->display('id');
+            $form->text('title','名称');
+            $form->number('weixin','解锁微信(次)');
+            $form->number('chat','聊天人数(人)');
+            $form->number('dynamic','每天动态数量(条)');
+            $form->switch('is_destroy','阅后即焚')->default(1);
+            $form->switch('identity','身份标识')->default(1);
+            $form->switch('invisible','隐身状态')->default(1);
+            $form->array('rights', function ($form) {
+                $form->image('img_url','权益图片');
+                $form->text('title','权益名称');
+            })->saveAsJson()->label('VIP权益');
+
+        });
+    }
+}

+ 0 - 8
app/Admin/Controllers/VipController.php

xqd xqd xqd
@@ -24,9 +24,6 @@ class VipController extends AdminController
             $grid->column('price');
             $grid->column('day');
             $grid->column('day_price');
-            $grid->column('rights')->display(function ($res){
-
-            });
             $grid->filter(function (Grid\Filter $filter) {
                 $filter->equal('id');
 
@@ -49,7 +46,6 @@ class VipController extends AdminController
             $show->field('price');
             $show->field('day');
             $show->field('day_price');
-            $show->field('rights');
         });
     }
 
@@ -66,10 +62,6 @@ class VipController extends AdminController
             $form->text('price');
             $form->text('day');
             $form->text('day_price');
-            $form->array('rights', function ($form) {
-                $form->image('img_url','权益图片');
-                $form->text('title','权益名称');
-            })->saveAsJson();
         });
     }
 }

+ 1 - 0
app/Admin/routes.php

xqd
@@ -18,4 +18,5 @@ Route::group([
     $router->resource('/dynamic', 'DynamicController');
     $router->resource('/dynamic-tag', 'DynamicTagController');
     $router->resource('/vip', 'VipController');
+    $router->resource('/vip-set', 'VipConfigController');
 });

+ 4 - 4
app/Http/Controllers/Api/UserController.php

xqd xqd xqd
@@ -6,6 +6,7 @@ use App\Http\Params\ProblemParam;
 use App\Models\User;
 use App\Models\UserInfoModel;
 use App\Models\UserVipLogModel;
+use App\Models\VipConfig;
 use App\Models\VipModel;
 use App\Services\UserService;
 use Illuminate\Http\Request;
@@ -226,10 +227,8 @@ class UserController extends Controller
      */
     public function get_vip(){
         try {
-            $res = VipModel::query()->orderBy('id','asc')->get();
-            foreach ($res as $k=>$v){
-                $res[$k]['rights'] = json_decode($v['rights'],true);
-            }
+            $res['list'] = VipModel::query()->orderBy('id','asc')->get();
+            $res['rights'] = json_decode(VipConfig::query()->where(['id'=>2])->value('rights'),true);
         }catch (\Exception $exception){
             return $this->response->errorForbidden($exception->getMessage());
         }
@@ -254,6 +253,7 @@ class UserController extends Controller
             }else{
                 $res['end_day'] = "";
             }
+
         }catch (\Exception $exception){
             return $this->response->errorForbidden($exception->getMessage());
         }

+ 15 - 0
app/Models/VipConfig.php

xqd
@@ -0,0 +1,15 @@
+<?php
+
+namespace App\Models;
+
+use Dcat\Admin\Traits\HasDateTimeFormatter;
+
+use Illuminate\Database\Eloquent\Model;
+
+class VipConfig extends Model
+{
+	use HasDateTimeFormatter;
+    protected $table = 'vip_config';
+    public $timestamps = false;
+
+}

+ 0 - 1
app/Services/HomeService.php

xqd
@@ -81,7 +81,6 @@ class HomeService
 
         $userinfo->is_like = $is_like;
 
-
         //查询评价
         $userinfo->is_comment = $is_comment;
         //评价星级

+ 20 - 0
dcat_admin_ide_helper.php

xqd xqd xqd xqd
@@ -129,6 +129,11 @@ namespace Dcat\Admin {
      * @property Grid\Column|Collection end_day
      * @property Grid\Column|Collection day_price
      * @property Grid\Column|Collection rights
+     * @property Grid\Column|Collection chat
+     * @property Grid\Column|Collection destroy
+     * @property Grid\Column|Collection identity
+     * @property Grid\Column|Collection invisible
+     * @property Grid\Column|Collection dynamic
      *
      * @method Grid\Column|Collection id(string $label = null)
      * @method Grid\Column|Collection log_name(string $label = null)
@@ -248,6 +253,11 @@ namespace Dcat\Admin {
      * @method Grid\Column|Collection end_day(string $label = null)
      * @method Grid\Column|Collection day_price(string $label = null)
      * @method Grid\Column|Collection rights(string $label = null)
+     * @method Grid\Column|Collection chat(string $label = null)
+     * @method Grid\Column|Collection destroy(string $label = null)
+     * @method Grid\Column|Collection identity(string $label = null)
+     * @method Grid\Column|Collection invisible(string $label = null)
+     * @method Grid\Column|Collection dynamic(string $label = null)
      */
     class Grid {}
 
@@ -372,6 +382,11 @@ namespace Dcat\Admin {
      * @property Show\Field|Collection end_day
      * @property Show\Field|Collection day_price
      * @property Show\Field|Collection rights
+     * @property Show\Field|Collection chat
+     * @property Show\Field|Collection destroy
+     * @property Show\Field|Collection identity
+     * @property Show\Field|Collection invisible
+     * @property Show\Field|Collection dynamic
      *
      * @method Show\Field|Collection id(string $label = null)
      * @method Show\Field|Collection log_name(string $label = null)
@@ -491,6 +506,11 @@ namespace Dcat\Admin {
      * @method Show\Field|Collection end_day(string $label = null)
      * @method Show\Field|Collection day_price(string $label = null)
      * @method Show\Field|Collection rights(string $label = null)
+     * @method Show\Field|Collection chat(string $label = null)
+     * @method Show\Field|Collection destroy(string $label = null)
+     * @method Show\Field|Collection identity(string $label = null)
+     * @method Show\Field|Collection invisible(string $label = null)
+     * @method Show\Field|Collection dynamic(string $label = null)
      */
     class Show {}
 

+ 13 - 0
resources/lang/zh_CN/vip-config.php

xqd
@@ -0,0 +1,13 @@
+<?php 
+return [
+    'labels' => [
+        'VipConfig' => 'VIP配置',
+        'vip-config' => 'VIP配置',
+    ],
+    'fields' => [
+        'title' => 'title',
+        'value' => 'value',
+    ],
+    'options' => [
+    ],
+];