Browse Source

后台,答主,咨询记录,旁听记录

lizhen_gitee 3 weeks ago
parent
commit
13abadb172

+ 131 - 0
app/Admin/Controllers/Ask/AskOrderController.php

@@ -0,0 +1,131 @@
+<?php
+
+namespace App\Admin\Controllers\Ask;
+
+use App\Admin\Repositories\Ask\Askorder;
+use App\Wen\Utils\Settings;
+use Dcat\Admin\Form;
+use Dcat\Admin\Grid;
+use Dcat\Admin\Show;
+use Dcat\Admin\Http\Controllers\AdminController;
+use Illuminate\Http\Request;
+
+class AskOrderController extends AdminController
+{
+    public function askorder(Request $request)
+    {
+        $q = $request->get('q');
+        return \App\Models\Ask\Askorder::where('title', 'like', "%$q%")->paginate(null, ['id', 'title as text']);
+    }
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        return Grid::make(new Askorder(), function (Grid $grid) {
+            $grid->simplePaginate();
+            $grid->model()->orderBy('id', 'desc');
+            $grid->quickSearch(['user_id', 'blogger_user_id','question'])->placeholder('搜索咨询用户ID,答主用户ID');
+
+            $grid->column('id');
+            $grid->column('user_id');
+            $grid->column('blogger_user_id');
+//            $grid->column('question');
+            $grid->column('images')->image('',50);
+
+            $grid->column('ask_price');
+            $grid->column('sit_price');
+            $grid->column('ask_minute');
+            $grid->column('is_hidden')->using([
+                0=>'非匿名',
+                1=>'匿名',
+            ]);
+            $grid->column('is_public')->using([
+                0=>'不公开',
+                1=>'公开',
+            ]);
+            $grid->column('eva_score');
+            $grid->column('sit_number');
+            $grid->column('status')->using([
+                0 =>'待支付',
+                10=>'已支付',
+                20=>'已结束',
+            ]);
+            $grid->column('createtime');
+
+            $grid->filter(function (Grid\Filter $filter) {
+                $filter->like('question');
+            });
+
+            // 禁用新增按钮
+            $grid->disableCreateButton();
+            // 禁用编辑按钮
+            $grid->disableEditButton();
+            // 禁用详情按钮
+//            $grid->disableViewButton();
+            // 禁用删除按钮
+            $grid->disableDeleteButton();
+        });
+    }
+
+    /**
+     * Make a show builder.
+     *
+     * @param mixed $id
+     *
+     * @return Show
+     */
+    protected function detail($id)
+    {
+        return Show::make($id, new Askorder(), function (Show $show) {
+            $show->field('id');
+            $show->field('user_id');
+            $show->field('blogger_user_id');
+            $show->field('question');
+//            $show->field('images');
+            $show->field('ask_price');
+            $show->field('sit_price');
+            $show->field('ask_minute');
+//            $show->field('is_hidden');
+//            $show->field('is_public');
+            $show->field('good_number');
+            $show->field('eva_score');
+            $show->field('eva_content');
+//            $show->field('eva_time');
+            $show->field('sit_number');
+//            $show->field('status');
+//            $show->field('createtime');
+//            $show->field('paytime');
+//            $show->field('finish_time');
+//            $show->field('countdown_time');
+            $show->field('blogger_rate');
+            $show->field('blogger_price');
+        });
+    }
+
+    /**
+     * Make a form builder.
+     *
+     * @return Form
+     */
+    protected function form()
+    {
+        /*return Form::make(new Askorder(), function (Form $form) {
+            $form->display('id');
+            $form->text('title')->required();
+            $form->image('image')->url('files/uploads')->autoUpload()->required();
+            $form->number('sort')->default(0);
+
+
+            $form->deleting(function (Form $form){
+                global $__MINI_GLOBAL_TENANT_ID__;
+                if($__MINI_GLOBAL_TENANT_ID__ > 0){
+                    return $form->response()->error('权限不足,不可以删除其他分站对象');
+                }
+            });
+
+        });*/
+    }
+}

+ 106 - 0
app/Admin/Controllers/Ask/AskSitOrderController.php

@@ -0,0 +1,106 @@
+<?php
+
+namespace App\Admin\Controllers\Ask;
+
+use App\Admin\Repositories\Ask\AskSitOrder;
+use App\Wen\Utils\Settings;
+use Dcat\Admin\Form;
+use Dcat\Admin\Grid;
+use Dcat\Admin\Show;
+use Dcat\Admin\Http\Controllers\AdminController;
+use Illuminate\Http\Request;
+
+class AskSitOrderController extends AdminController
+{
+    public function asksitorder(Request $request)
+    {
+        return \App\Models\Ask\AskSitOrder::paginate();
+    }
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        return Grid::make(new AskSitOrder(), function (Grid $grid) {
+            $grid->simplePaginate();
+            $grid->model()->orderBy('id', 'desc');
+            $grid->quickSearch(['order_id','sit_user_id'])->placeholder('搜索咨询记录ID,旁听用户ID');
+            $grid->column('id');
+//            $grid->column('user_id');
+            $grid->column('order_id');
+            $grid->column('sit_user_id');
+            $grid->column('createtime');
+            $grid->column('sit_price');
+            $grid->column('status')->using([
+                0 =>'待支付',
+                10=>'已支付',
+            ]);
+            $grid->column('paytime');
+            $grid->column('user_rate');
+            $grid->column('user_price');
+
+            $grid->filter(function (Grid\Filter $filter) {
+//                $filter->like('title');
+            });
+
+            // 禁用新增按钮
+            $grid->disableCreateButton();
+            // 禁用编辑按钮
+            $grid->disableEditButton();
+            // 禁用详情按钮
+            $grid->disableViewButton();
+            // 禁用删除按钮
+            $grid->disableDeleteButton();
+
+        });
+    }
+
+    /**
+     * Make a show builder.
+     *
+     * @param mixed $id
+     *
+     * @return Show
+     */
+    protected function detail($id)
+    {
+        return Show::make($id, new AskSitOrder(), function (Show $show) {
+            $show->field('id');
+            $show->field('user_id');
+            $show->field('order_id');
+            $show->field('sit_user_id');
+            $show->field('createtime');
+            $show->field('sit_price');
+            $show->field('status');
+            $show->field('paytime');
+            $show->field('user_rate');
+            $show->field('user_price');
+        });
+    }
+
+    /**
+     * Make a form builder.
+     *
+     * @return Form
+     */
+    protected function form()
+    {
+        /*return Form::make(new AskSitOrder(), function (Form $form) {
+            $form->display('id');
+            $form->text('title')->required();
+            $form->image('image')->url('files/uploads')->autoUpload()->required();
+            $form->number('sort')->default(0);
+
+
+            $form->deleting(function (Form $form){
+                global $__MINI_GLOBAL_TENANT_ID__;
+                if($__MINI_GLOBAL_TENANT_ID__ > 0){
+                    return $form->response()->error('权限不足,不可以删除其他分站对象');
+                }
+            });
+
+        });*/
+    }
+}

+ 113 - 0
app/Admin/Controllers/Ask/BloggerController.php

@@ -0,0 +1,113 @@
+<?php
+
+namespace App\Admin\Controllers\Ask;
+
+use App\Admin\Repositories\Ask\Blogger;
+use App\Wen\Utils\Settings;
+use Dcat\Admin\Form;
+use Dcat\Admin\Grid;
+use Dcat\Admin\Show;
+use Dcat\Admin\Http\Controllers\AdminController;
+use Illuminate\Http\Request;
+use App\Models\User as WxUser;
+
+class BloggerController extends AdminController
+{
+    public function blogger(Request $request)
+    {
+        $q = $request->get('q');
+        return \App\Models\Ask\Blogger::where('info', 'like', "%$q%")->paginate(null, ['id', 'info as text']);
+    }
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        return Grid::make(new Blogger(), function (Grid $grid) {
+            $grid->simplePaginate();
+            $grid->model()->orderBy('user_id', 'desc');
+            $grid->quickSearch(['user_id', 'info'])->placeholder('搜索用户ID,详细介绍');
+            $grid->column('user_id');
+            $grid->column('ask_price');
+            $grid->column('sit_price');
+            $grid->column('ask_minute');
+            $grid->column('ask_status')->using([
+                0=>'暂停咨询',
+                1=>'接受咨询',
+            ]);
+            $grid->column('status')->using([
+                0=>'未认证',
+                1=>'已认证',
+            ]);
+            $grid->column('order_number');
+            $grid->column('order_eva_score');
+//            $grid->column('type_ids');
+            $grid->column('info');
+
+            $grid->filter(function (Grid\Filter $filter) {
+                $filter->like('info');
+            });
+        });
+    }
+
+    /**
+     * Make a show builder.
+     *
+     * @param mixed $id
+     *
+     * @return Show
+     */
+    protected function detail($id)
+    {
+        return Show::make($id, new Blogger(), function (Show $show) {
+            $show->field('user_id');
+            $show->field('ask_price');
+            $show->field('sit_price');
+            $show->field('ask_minute');
+            $show->field('ask_status');
+            $show->field('status');
+            $show->field('order_number');
+            $show->field('order_eva_score');
+            $show->field('type_ids');
+            $show->field('info');
+        });
+    }
+
+    /**
+     * Make a form builder.
+     *
+     * @return Form
+     */
+    protected function form()
+    {
+        return Form::make(new Blogger(), function (Form $form) {
+            $form->display('id');
+            $form->text('user_id')->required();
+            $form->number('ask_price')->default(0);
+            $form->number('sit_price')->default(0);
+            $form->number('ask_minute')->default(0);
+            $form->radio('ask_status')->options([
+                0=>'暂停咨询',
+                1=>'接受咨询',
+            ]);
+            $form->radio('status')->options([
+                0=>'未认证',
+                1=>'已认证',
+            ]);
+            $form->text('type_ids');
+                        /*$form->select('type_ids','选择类型')
+                ->options(WxUser::limit(10)->pluck('name','id'));*/
+            $form->text('info');
+
+            $form->deleting(function (Form $form){
+                global $__MINI_GLOBAL_TENANT_ID__;
+                if($__MINI_GLOBAL_TENANT_ID__ > 0){
+                    return $form->response()->error('权限不足,不可以删除其他分站对象');
+                }
+            });
+
+        });
+    }
+}

+ 16 - 0
app/Admin/Repositories/Ask/AskOrder.php

@@ -0,0 +1,16 @@
+<?php
+
+namespace App\Admin\Repositories\Ask;
+
+use App\Models\Ask\AskOrder as Model;
+use Dcat\Admin\Repositories\EloquentRepository;
+
+class AskOrder extends EloquentRepository
+{
+    /**
+     * Model.
+     *
+     * @var string
+     */
+    protected $eloquentClass = Model::class;
+}

+ 16 - 0
app/Admin/Repositories/Ask/AskSitOrder.php

@@ -0,0 +1,16 @@
+<?php
+
+namespace App\Admin\Repositories\Ask;
+
+use App\Models\Ask\AskSitOrder as Model;
+use Dcat\Admin\Repositories\EloquentRepository;
+
+class AskSitOrder extends EloquentRepository
+{
+    /**
+     * Model.
+     *
+     * @var string
+     */
+    protected $eloquentClass = Model::class;
+}

+ 16 - 0
app/Admin/Repositories/Ask/Blogger.php

@@ -0,0 +1,16 @@
+<?php
+
+namespace App\Admin\Repositories\Ask;
+
+use App\Models\Ask\Blogger as Model;
+use Dcat\Admin\Repositories\EloquentRepository;
+
+class Blogger extends EloquentRepository
+{
+    /**
+     * Model.
+     *
+     * @var string
+     */
+    protected $eloquentClass = Model::class;
+}

+ 6 - 0
app/Admin/routes.php

@@ -300,6 +300,12 @@ Route::group([
     $router->resource('tags', 'Posts\WxTagController');
     // 答主分类
     $router->resource('bloggertype', 'Ask\BloggerTypeController');
+    // 答主
+    $router->resource('blogger', 'Ask\BloggerController');
+    // 咨询记录
+    $router->resource('askorder', 'Ask\AskOrderController');
+    // 旁听记录
+    $router->resource('asksitorder', 'Ask\AskSitOrderController');
     // 投票
     $router->resource('vote', 'Posts\WxPostsVoteController');
     // 私信

+ 16 - 0
app/Models/Ask/AskOrder.php

@@ -0,0 +1,16 @@
+<?php
+
+namespace App\Models\Ask;
+
+use Dcat\Admin\Traits\HasDateTimeFormatter;
+use Illuminate\Database\Eloquent\Model;
+
+class AskOrder extends Model
+{
+
+    use HasDateTimeFormatter;
+    protected $table = 'ask_order';
+
+
+
+}

+ 14 - 0
app/Models/Ask/AskSitOrder.php

@@ -0,0 +1,14 @@
+<?php
+
+namespace App\Models\Ask;
+
+use Illuminate\Database\Eloquent\Model;
+
+class AskSitOrder extends Model
+{
+
+    protected $table = 'ask_sit_order';
+
+
+
+}

+ 14 - 0
app/Models/Ask/Blogger.php

@@ -0,0 +1,14 @@
+<?php
+
+namespace App\Models\Ask;
+
+use Illuminate\Database\Eloquent\Model;
+
+class Blogger extends Model
+{
+
+    protected $table = 'blogger';
+
+
+
+}

+ 35 - 0
resources/lang/zh_CN/ask-order.php

@@ -0,0 +1,35 @@
+<?php
+return [
+    'labels' => [
+        'AskOrder' => '咨询记录',
+        'ask-order' => '咨询记录',
+    ],
+    'fields' => [
+        'id'                 => 'ID',
+        'user_id'            => '咨询用户id',
+        'blogger_user_id'    => '答主用户id',
+        'question'           => '问题',
+        'images'             => '问题图片',
+        'ask_price'          => '咨询价格',
+        'sit_price'          => '旁听价格',
+        'ask_minute'         => '咨询时长(分钟)',
+        'is_hidden'          => '是否匿名',
+        'is_public'          => '结束后公开',
+        'good_number'        => '点赞数量',
+        'eva_score'          => '咨询者评分',
+        'eva_content'        => '咨询者评价',
+        'eva_time'           => '评价时间',
+        'sit_number'         => '旁听数量',
+        'status'             => '订单状态',
+        'createtime'         => '提问时间',
+        'paytime'            => '支付时间',
+        'finish_time'        => '结束时间',
+        'countdown_time'     => '倒计时时间',
+        'blogger_rate'       => '答主收益比例',
+        'blogger_price'      => '答主收益',
+        'created_at'         => '时间',
+        'updated_at'         => '时间',
+    ],
+    'options' => [
+    ],
+];

+ 21 - 0
resources/lang/zh_CN/ask-sit-order.php

@@ -0,0 +1,21 @@
+<?php
+return [
+    'labels' => [
+        'AskSitOrder' => '旁听记录',
+        'ask-sit-order' => '旁听记录',
+    ],
+    'fields' => [
+        'id'          => 'ID',
+        'user_id'     => '咨询用户id',
+        'order_id'    => '咨询记录id',
+        'sit_user_id' => '旁听用户id',
+        'createtime'  => '创建时间',
+        'sit_price'   => '旁听价格',
+        'status'      => '订单状态',
+        'paytime'     => '支付时间',
+        'user_rate'   => '咨询者旁听收益比例',
+        'user_price'  => '咨询者旁听收益',
+    ],
+    'options' => [
+    ],
+];

+ 21 - 0
resources/lang/zh_CN/blogger.php

@@ -0,0 +1,21 @@
+<?php
+return [
+    'labels' => [
+        'Blogger' => '答主',
+        'blogger' => '答主',
+    ],
+    'fields' => [
+        'user_id'          => '用户ID',
+        'ask_price'        => '咨询价格',
+        'sit_price'        => '旁听价格',
+        'ask_minute'       => '咨询时长(分钟)',
+        'ask_status'       => '咨询状态',
+        'status'           => '答主状态',
+        'order_number'     => '总计咨询次数',
+        'order_eva_score'  => '平均咨询评分',
+        'type_ids'         => '答主类型',
+        'info'             => '详细介绍',
+    ],
+    'options' => [
+    ],
+];