فهرست منبع

Merge branch 'master' of ssh://git.9026.com:2212/swdz-WangHaijun/BaoMa

whj 4 سال پیش
والد
کامیت
67b97dd29b

+ 77 - 0
app/Admin/Controllers/ArticleController.php

xqd
@@ -0,0 +1,77 @@
+<?php
+
+namespace App\Admin\Controllers;
+
+use App\Models\Article;
+use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Form;
+use Encore\Admin\Grid;
+use Encore\Admin\Show;
+
+class ArticleController extends AdminController
+{
+    /**
+     * Title for current resource.
+     *
+     * @var string
+     */
+    protected $title = 'Article';
+
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        $grid = new Grid(new Article());
+
+        $grid->column('id', __('Id'));
+        $grid->column('type', __('分类'));
+        $grid->column('title', __('标题'))->limit(10,'...')->width(100);
+        $grid->column('content', __('内容'))->limit(20,'...')->width(200);
+        $grid->column('banner_url', __('图片'))->image('',50,50);
+        $grid->column('created_at', __('创建时间'));
+        $grid->column('updated_at', __('更新时间'));
+
+        return $grid;
+    }
+
+    /**
+     * Make a show builder.
+     *
+     * @param mixed $id
+     * @return Show
+     */
+    protected function detail($id)
+    {
+        $show = new Show(Article::findOrFail($id));
+
+        $show->field('id', __('Id'));
+        $show->field('type', __('分类'));
+        $show->field('title', __('标题'));
+        $show->field('content', __('内容'));
+        $show->field('banner_url', __('图片'))->image('',100,100);
+        $show->field('created_at', __('Created at'));
+        $show->field('updated_at', __('Updated at'));
+
+        return $show;
+    }
+
+    /**
+     * Make a form builder.
+     *
+     * @return Form
+     */
+    protected function form()
+    {
+        $form = new Form(new Article());
+
+        $form->select('type', __('分类'))->options(Article::$_post_type)->default(1);
+        $form->text('title', __('标题'))->rules('required|min:3|max:255',['required'=>'请填写标题','min'=>'标题字符不能少于3个','max'=>'标题长度过长']);
+        $form->textarea('content', __('内容'))->rules('required|min:3',['required'=>'请填写标题','min'=>'标题字符不能少于3个']);
+        $form->image('banner_url', __('图片'))->rules('required' ,['required'=>'请选择图片!']);
+
+        return $form;
+    }
+}

+ 95 - 0
app/Admin/Controllers/BannerController.php

xqd
@@ -0,0 +1,95 @@
+<?php
+
+namespace App\Admin\Controllers;
+
+use App\Models\Banner;
+use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Form;
+use Encore\Admin\Grid;
+use Encore\Admin\Show;
+
+class BannerController extends AdminController
+{
+    /**
+     * Title for current resource.
+     *
+     * @var string
+     */
+    protected $title = 'Banner';
+
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        $grid = new Grid(new Banner());
+
+        $grid->column('id', __('Id'));
+        $grid->column('image', __('图片'))->image('',100,100);
+        $grid->column('type','类型')->using([1=>'用户端',2=>'医生端']);
+        $grid->column('url', __('链接'));
+        $states = [
+            'on'  => ['value' => 1, 'text' => '启用', 'color' => 'success'],
+            'off' => ['value' => 0, 'text' => '禁用', 'color' => 'danger'],
+        ];
+        $grid->column('status','状态')->switch($states);
+        $grid->column('created_at', __('创建时间'));
+        $grid->column('updated_at', __('更新时间'));
+        $grid->filter(function($filter){
+
+            // Remove the default id filter
+            $filter->disableIdFilter();
+
+            // Add a column filter
+            $type = [''=>'全部'];
+            $type = array_merge($type,Banner::$_post_type);
+            $filter->equal('type', '类别')->select(Banner::$_post_type);
+
+        });
+
+        return $grid;
+    }
+
+    /**
+     * Make a show builder.
+     *
+     * @param mixed $id
+     * @return Show
+     */
+    protected function detail($id)
+    {
+        $show = new Show(Banner::findOrFail($id));
+
+        $show->field('id', __('Id'));
+        $show->field('image', __('Image'))->image('',100,100);
+        $show->field('url', __('Url'));
+        $show->field('status', __('Status'));
+        $show->field('updated_at', __('Updated at'));
+        $show->field('created_at', __('Created at'));
+
+        return $show;
+    }
+
+    /**
+     * Make a form builder.
+     *
+     * @return Form
+     */
+    protected function form()
+    {
+        $form = new Form(new Banner());
+
+        $form->select('type' ,__('分类'))->options(Banner::$_post_type)->default('1');
+        $form->image('image', __('图片'))->rules('required' ,['required'=>'请选择图片!']);
+        $form->text('url', __('链接'));
+        $states = [
+            'off' => ['value' => 0, 'text' => '禁用', 'color' => 'danger'],
+            'on'  => ['value' => 1, 'text' => '启用', 'color' => 'success'],
+        ];
+        $form->switch('status','状态')->states($states);
+
+        return $form;
+    }
+}

+ 82 - 0
app/Admin/Controllers/ServebannerController.php

xqd
@@ -0,0 +1,82 @@
+<?php
+
+namespace App\Admin\Controllers;
+
+use App\Models\Servebanner;
+use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Form;
+use Encore\Admin\Grid;
+use Encore\Admin\Show;
+
+class ServebannerController extends AdminController
+{
+    /**
+     * Title for current resource.
+     *
+     * @var string
+     */
+    protected $title = '服务包海报';
+
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        $grid = new Grid(new Servebanner());
+
+        $grid->column('id', __('Id'));
+        $grid->column('image', __('海报'))->image('',100,100);
+        $grid->column('url', __('链接'));
+        $states = [
+            'on'  => ['value' => 1, 'text' => '启用', 'color' => 'success'],
+            'off' => ['value' => 0, 'text' => '禁用', 'color' => 'danger'],
+        ];
+        $grid->column('status','状态')->switch($states);
+        $grid->column('created_at', __('创建时间'));
+        $grid->column('updated_at', __('更新时间'));
+
+        return $grid;
+    }
+
+    /**
+     * Make a show builder.
+     *
+     * @param mixed $id
+     * @return Show
+     */
+    protected function detail($id)
+    {
+        $show = new Show(Servebanner::findOrFail($id));
+
+        $show->field('id', __('Id'));
+        $show->field('image', __('Image'))->image('',100,100);
+        $show->field('url', __('Url'));
+        $show->field('status', __('Status'));
+        $show->field('updated_at', __('Updated at'));
+        $show->field('created_at', __('Created at'));
+
+        return $show;
+    }
+
+    /**
+     * Make a form builder.
+     *
+     * @return Form
+     */
+    protected function form()
+    {
+        $form = new Form(new Servebanner());
+
+        $form->image('image', __('海报'))->rules('required' ,['required'=>'请选择图片!']);
+        $form->text('url', __('链接'));
+        $states = [
+            'off' => ['value' => 0, 'text' => '禁用', 'color' => 'danger'],
+            'on'  => ['value' => 1, 'text' => '启用', 'color' => 'success'],
+        ];
+        $form->switch('status','状态')->states($states);
+
+        return $form;
+    }
+}

+ 4 - 0
app/Admin/routes.php

xqd
@@ -17,5 +17,9 @@ Route::group([
     $router->resource('/organizations', OrganizationController::class);
     $router->resource('/docters', DocterController::class);
     $router->resource('/qualifications', QualificationController::class);
+    $router->resource('banners', BannerController::class);
+    $router->resource('servebanners', ServebannerController::class);
+    $router->resource('articles', ArticleController::class);
+
 });
 

+ 3 - 2
app/Http/Controllers/Api/V1/UserController.php

xqd
@@ -78,9 +78,10 @@ class UserController extends AuthController
     {
         $user = $this->user;
 
-        $order_ids = Order::where('user_id', $user['id'])->whereIn('order_status', [2, 3])->where('docter_id', '>', 0)->pluck('docter_id')->toArray();
+        $docter_ids = Order::where('user_id', $user['id'])->whereIn('order_status', [2, 3])->where('docter_id', '>', 0)->pluck('docter_id')->toArray();
+        $docter_ids = array_values(array_unique($docter_ids));
 
-        $data = Order::with(['docter.office', 'docter.qualification', 'orderPatient'])->select(['id', 'docter_id'])->whereIn('docter_id', $order_ids)->paginate();
+        $data = Order::with(['docter.office', 'docter.qualification', 'orderPatient'])->select(['id', 'docter_id'])->whereIn('docter_id', $docter_ids)->paginate();
 
         return out($data);
     }

+ 11 - 5
app/Models/Article.php

xqd
@@ -11,14 +11,20 @@ namespace App\Models;
 class Article extends BaseModel
 {
     protected $appends = ['is_collect'];
-
+    protected $table = 'articles';
+    public static $_post_type = [
+        1=>'没',
+        2=>'有',
+        3=>'分',
+        4=>'类'
+    ];
     public function getIsCollectAttribute()
     {
         if (!empty(request()->header('token'))) {
-            $user = User::getUserByToken();
-            if (Collection::where('user_id', $user['id'])->where('article_id', $this->id)->exists()) {
-                return 1;
-            }
+                $user = User::getUserByToken();
+                if (Collection::where('user_id', $user['id'])->where('article_id', $this->id)->exists()) {
+                    return 1;
+                }
         }
 
         return 0;

+ 15 - 0
app/Models/Banner.php

xqd
@@ -0,0 +1,15 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Model;
+
+class Banner extends Model
+{
+    //
+    protected $table = 'banner';
+    public static $_post_type = [
+        1=>'用户端',
+        2=>'医生端'
+    ];
+}

+ 11 - 0
app/Models/Servebanner.php

xqd
@@ -0,0 +1,11 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Model;
+
+class Servebanner extends Model
+{
+    //
+    protected $table = 'servebanners';
+}

+ 37 - 0
database/migrations/2020_11_19_064648_bm_banner.php

xqd
@@ -0,0 +1,37 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class BmBanner extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        //
+        Schema::create('banner', function (Blueprint $table) {
+            $table->increments('id');
+            $table->integer('type')->comment('分类 1.用户 2.医生');
+            $table->string('image')->comment('图片地址');
+            $table->string('url')->comment('链接')->nullable();
+            $table->integer('status')->comment('状态');
+            $table->dateTime('created_at')->comment('创建时间');
+            $table->dateTime('updated_at')->comment('更新时间');
+        });
+    }
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        //
+        Schema::drop('banner');
+    }
+}

+ 37 - 0
database/migrations/2020_11_19_094540_bm_servebanners.php

xqd
@@ -0,0 +1,37 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class BmServebanners extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        //
+        Schema::create('servebanners', function (Blueprint $table) {
+            $table->increments('id');
+            $table->string('image')->comment('图片地址');
+            $table->string('url')->comment('链接')->nullable();
+            $table->integer('status')->comment('状态');
+            $table->dateTime('created_at')->comment('创建时间');
+            $table->dateTime('updated_at')->comment('更新时间');
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        //
+        Schema::drop('servebanners');
+    }
+}