jingyuzhi 4 年之前
父节点
当前提交
ef8c321667

+ 18 - 0
app/Admin/Actions/backstage/User/Suggests.php

xqd
@@ -0,0 +1,18 @@
+<?php
+
+namespace App\Admin\Actions\backstage\User;
+
+use Encore\Admin\Actions\RowAction;
+use Illuminate\Database\Eloquent\Model;
+
+class Suggests extends RowAction
+{
+    public $name = '病例意见单';
+
+    public function handle(Model $model)
+    {
+        // $model ...
+        return $this->response()->success('跳转病例意见单成功')->redirect('/admin/user_suggests?patient_id='.$this->row->id.'');
+    }
+
+}

+ 1 - 1
app/Admin/Actions/backstage/User/archives.php

xqd
@@ -8,7 +8,7 @@ use Illuminate\Database\Eloquent\Model;
 
 class archives extends RowAction
 {
-    public $name = '档案';
+    public $name = '查看患者档案';
 
     public function handle(Model $model)
     {

+ 19 - 0
app/Admin/Actions/backstage/User/coupons.php

xqd
@@ -0,0 +1,19 @@
+<?php
+
+namespace App\Admin\Actions\backstage\User;
+
+use Encore\Admin\Actions\RowAction;
+use Illuminate\Database\Eloquent\Model;
+
+class coupons extends RowAction
+{
+    public $name = '优惠券管理';
+
+    public function handle(Model $model)
+    {
+        // $model ...
+
+        return $this->response()->success('跳转优惠券库成功')->redirect('/admin/user_coupons?user_id='.$this->row->id.'');
+    }
+
+}

+ 2 - 3
app/Admin/Actions/backstage/User/service.php

xqd
@@ -7,13 +7,12 @@ use Illuminate\Database\Eloquent\Model;
 
 class service extends RowAction
 {
-    public $name = '服务包-保单';
+    public $name = '服务包';
 
     public function handle(Model $model)
     {
         // $model ...
-
-        return $this->response()->success('跳转订单库成功')->redirect('/admin/user_orders?user_id='.$this->row->id.'&product_type=6');
+        return $this->response()->success('跳转服务包库成功')->redirect('/admin/user_orders?patient_id='.$this->row->id.'&product_type=6');
 
     }
 

+ 1 - 1
app/Admin/Controllers/DoctorManagementController.php

xqd
@@ -47,7 +47,7 @@ class DoctorManagementController extends AdminController
 //        });
         $grid->column('teamdocter.team_id', __('团队id'));
 
-        $grid->column('label', __('标签'))->map('ucwords')->implode('-');
+        $grid->column('label', __('标签'))->label(info);
 
         return $grid;
     }

+ 97 - 0
app/Admin/Controllers/UserCouponsController.php

xqd
@@ -0,0 +1,97 @@
+<?php
+
+namespace App\Admin\Controllers;
+
+use App\Models\UserCoupon;
+use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Form;
+use Encore\Admin\Grid;
+use Encore\Admin\Show;
+
+class UserCouponsController extends AdminController
+{
+    /**
+     * Title for current resource.
+     *
+     * @var string
+     */
+    protected $title = '优惠券列表';
+
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        $grid = new Grid(new UserCoupon());
+        $uesr_id = \request('user_id');
+        $grid->filter(function ($filter){
+            $filter->disableIdFilter();
+            $filter->equal('user_id','用户id');
+        });
+        $grid->disableActions();
+        $grid->column('id', __('Id'));
+        $grid->column('user_id', __('用户ID'));
+        $grid->column('order_id', __('订单'));
+        $grid->column('coupon_id', __('优惠券ID'));
+        $grid->column('name', __('券名称'));
+        $grid->column('title', __('券标题'));
+        $grid->column('desc', __('使用说明'));
+        $grid->column('rules', __('使用规则'));
+        $grid->column('icon', __('券图标'))->image();
+        $grid->column('status', __('状态'))->using([1=>'可用',2=>'已用',3=>'已过期']);
+        $grid->column('type', __('类型'))->using([1=>'满减券',2=>'折扣券']);
+        $grid->column('usable_type', __('可用类型'))->using([1=>'全部产品通用',2=>'部分产品可用']);
+        $grid->column('money', __('满减券的优惠钱数'))->display(function ($money){
+            return $money/100;
+        });
+        $grid->column('discount', __('折扣'));
+        $grid->column('min_consume_amount', __('最低消费金额'))->display(function ($money){
+            return $money/100;
+        });
+        $grid->column('max_reduce_amount', __('折扣券的最大抵扣金额'))->display(function ($money){
+            return $money/100;
+        });
+        $grid->column('expire_type', __('过期类型'))->using([1=>'领取N天过期',2=>'设置固定过期时间']);
+        $grid->column('effective_days', __('有效天数'));
+        $grid->column('start_time', __('有效期开始时间'))->display(function ($time){
+            return date("Y-m-d H:i",$time);
+        });
+        $grid->column('end_time', __('有效期结束时间'))->display(function ($time){
+            return date("Y-m-d H:i",$time);
+        });
+        $grid->column('expire_time', __('过期时间'))->display(function ($time){
+            return date("Y-m-d H:i",$time);
+        });
+        $grid->column('use_time', __('使用时间'));
+        $grid->column('coupons_num', __('优惠券数'));
+        $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(UserCoupon::findOrFail($id));
+        return $show;
+    }
+
+    /**
+     * Make a form builder.
+     *
+     * @return Form
+     */
+    protected function form()
+    {
+        $form = new Form(new UserCoupon());
+        return $form;
+    }
+}

+ 2 - 3
app/Admin/Controllers/UserListController.php

xqd xqd xqd
@@ -6,7 +6,6 @@ use App\Admin\Actions\backstage\User\archives;
 use App\Admin\Actions\backstage\User\BalanceLog;
 use App\Admin\Actions\backstage\User\BlackList;
 use App\Admin\Actions\backstage\User\coupons;
-use App\Admin\Actions\backstage\User\service;
 use App\Models\Patient;
 use App\Models\User;
 use Encore\Admin\Controllers\AdminController;
@@ -39,7 +38,6 @@ class UserListController extends AdminController
             // 去掉查看
             $actions->disableView();
             $actions->add(new archives());
-            $actions->add(new service());
             $actions->add(new BalanceLog());
             $actions->add(new BlackList());
             $actions->add(new coupons());
@@ -75,7 +73,8 @@ class UserListController extends AdminController
             $grid->column('last_login_time', __('最后登录时间'))->display(function ($time){
                 return date("Y-m-d H:i",$time);
             });
-            $grid->column('patient', __('患者姓名'))->pluck('name')->map('ucwords')->implode(',');
+//            $grid->column('patient', __('患者姓名'))->pluck('name')->map('ucwords')->implode(',');
+            $grid->column('patient', __('患者姓名'))->pluck('name')->label('default');
         return $grid;
     }
 

+ 8 - 1
app/Admin/Controllers/UserPatientsController.php

xqd xqd
@@ -2,8 +2,10 @@
 
 namespace App\Admin\Controllers;
 
+use App\Admin\Actions\backstage\User\Suggests;
 use App\Models\Patient;
 use Encore\Admin\Controllers\AdminController;
+use App\Admin\Actions\backstage\User\service;
 use Illuminate\Http\Request;
 use Encore\Admin\Form;
 use Encore\Admin\Grid;
@@ -36,10 +38,15 @@ class UserPatientsController extends AdminController
             $actions->disableDelete();
             // 去掉编辑
             $actions->disableEdit();
+            //服务包
+            $actions->add(new service());
+            //病例意见单
+            $actions->add(new Suggests());
+
         });
         $grid->column('id', __('档案id'));
         $grid->column('user_id', __('用户id'));
-        $grid->column('name', __('姓名'));
+        $grid->column('name', __('患者姓名'));
         $grid->column('sex', __('性别'))->using([0=>'未知',1=>'男',2=>'女',]);
         $grid->column('avatar', __('头像'))->image("",100,100);
         $grid->column('age', __('年龄'));

+ 5 - 3
app/Admin/Controllers/UserServiceController.php

xqd xqd xqd
@@ -4,6 +4,7 @@ namespace App\Admin\Controllers;
 
 use App\Models\Order;
 use App\Models\OrderPack;
+use App\Models\Patient;
 use Encore\Admin\Controllers\AdminController;
 use Encore\Admin\Form;
 use Encore\Admin\Grid;
@@ -30,7 +31,7 @@ class UserServiceController extends AdminController
         $uesr_id = \request('user_id');
         $grid->filter(function ($filter){
             $filter->disableIdFilter();
-            $filter->equal('user_id','用户id');
+            $filter->equal('patient_id','档案id');
             $filter->equal('product_type','订单类型');
         });
         $grid->actions(function ($actions) {
@@ -44,14 +45,15 @@ class UserServiceController extends AdminController
 
         $grid->column('orderPack.id', __('Id'));
         $grid->column('orderPack.order_id', __('订单id'));
+        $grid->column('patient_id', __('患者姓名'))->display(function ($id){
+            return Patient::where('id',$id)->value('name');
+        });
         $grid->column('orderPack.service_pack_id', __('服务包id'));
         $grid->column('orderPack.pack_name', __('服务包名称'));
         $grid->column('orderPack.pack_intro', __('服务包简介'));
         $grid->column('orderPack.pack_price', __('服务包价格'))->display(function ($price){
             return $price/100;
         });
-        $grid->column('orderPack.insurance_policy', __('保单名称'));
-        $grid->column('orderPack.insurance_img_url', __('	保单图片链接'));
         $grid->column('orderPack.team_id', __('医生团队ID'));
 
         $grid->column('orderPack.effective_days', __('有效天数'));

+ 94 - 0
app/Admin/Controllers/UserSuggestsController.php

xqd
@@ -0,0 +1,94 @@
+<?php
+
+namespace App\Admin\Controllers;
+
+use App\Models\Suggest;
+use App\Models\User;
+use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Form;
+use Encore\Admin\Grid;
+use Encore\Admin\Show;
+
+class UserSuggestsController extends AdminController
+{
+    /**
+     * Title for current resource.
+     *
+     * @var string
+     */
+    protected $title = '病例意见单';
+
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        $grid = new Grid(new Suggest());
+        $uesr_id = \request('patient_id');
+        $grid->filter(function ($filter){
+            $filter->disableIdFilter();
+            $filter->equal('patient_id','档案id');
+        });
+        $grid->column('id', __('Id'));
+        $grid->column('order_id', __('订单id'));
+        $grid->column('user_id', __('用户id'));
+        $grid->column('patient_id', __('档案id'));
+        $grid->column('symptoms', __('病症'))->limit(20,'...');
+        $grid->column('pathogen', __('病因'))->limit(20,'...');
+        $grid->column('suggest', __('结论建议'))->limit(20,'...');
+        $grid->column('supplement_reason', __('补充原因'))->limit(20,'...');
+        $grid->column('supplement_content', __('补充内容'))->limit(20,'...');
+        $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(Suggest::findOrFail($id));
+
+        $show->field('id', __('Id'));
+        $show->field('order_id', __('Order id'));
+        $show->field('user_id', __('User id'));
+        $show->field('patient_id', __('Patient id'));
+        $show->field('symptoms', __('Symptoms'));
+        $show->field('pathogen', __('Pathogen'));
+        $show->field('suggest', __('Suggest'));
+        $show->field('supplement_reason', __('Supplement reason'));
+        $show->field('supplement_content', __('Supplement content'));
+        $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 Suggest());
+
+        $form->number('order_id', __('Order id'));
+        $form->number('user_id', __('User id'));
+        $form->number('patient_id', __('Patient id'));
+        $form->text('symptoms', __('Symptoms'));
+        $form->text('pathogen', __('Pathogen'));
+        $form->text('suggest', __('Suggest'));
+        $form->text('supplement_reason', __('Supplement reason'));
+        $form->text('supplement_content', __('Supplement content'));
+
+        return $form;
+    }
+}

+ 2 - 0
app/Admin/routes.php

xqd
@@ -39,5 +39,7 @@ Route::group([
 
     //用户管理->优惠券管理
     $router->resource('user_coupons', UserCouponsController::class);
+    //用户管理->病例意见单
+    $router->resource('user_suggests', UserSuggestsController::class);
 });
 

+ 5 - 5
app/Helpers/functions.php

xqd xqd xqd
@@ -84,10 +84,10 @@ if (!function_exists('get_distance_field')) {
     function get_distance_field($latitude, $longitude)
     {
         if (empty($latitude) || empty($longitude)) {
-            return '999999999 distance';
+            return '未知 distance';
         }
 
-        return 'if(longitude=0 and latitude=0,999999999,round(6378.138*2*asin(sqrt(pow(sin( (' . $latitude . '*pi()/180-latitude*pi()/180)/2),2)+cos(' . $latitude . '*pi()/180)*cos(latitude*pi()/180)* pow(sin((' . $longitude . '*pi()/180-longitude*pi()/180)/2),2)))*1000)) distance';
+        return 'if(longitude=0 and latitude=0,未知,round(6378.138*2*asin(sqrt(pow(sin( (' . $latitude . '*pi()/180-latitude*pi()/180)/2),2)+cos(' . $latitude . '*pi()/180)*cos(latitude*pi()/180)* pow(sin((' . $longitude . '*pi()/180-longitude*pi()/180)/2),2)))*1000)) distance';
     }
 }
 
@@ -99,10 +99,10 @@ if (!function_exists('get_user_distance_field')) {
         $latitude = $coordinate['latitude'];
         $longitude = $coordinate['longitude'];
         if (empty($latitude) || empty($longitude)) {
-            return '999999999 distance';
+            return '"未知" distance';
         }
 
-        return 'if(longitude=0 and latitude=0,999999999,round(6378.138*2*asin(sqrt(pow(sin( (' . $latitude . '*pi()/180-latitude*pi()/180)/2),2)+cos(' . $latitude . '*pi()/180)*cos(latitude*pi()/180)* pow(sin((' . $longitude . '*pi()/180-longitude*pi()/180)/2),2)))*1000)) distance';
+        return 'if(longitude=0 and latitude=0,"未知",round(6378.138*2*asin(sqrt(pow(sin( (' . $latitude . '*pi()/180-latitude*pi()/180)/2),2)+cos(' . $latitude . '*pi()/180)*cos(latitude*pi()/180)* pow(sin((' . $longitude . '*pi()/180-longitude*pi()/180)/2),2)))*1000)) distance';
     }
 }
 
@@ -143,7 +143,7 @@ if (!function_exists('get_distance')) {
     function get_distance($lat1, $lng1, $lat2, $lng2)
     {
         if (empty($lat1) || empty($lng1) || empty($lat2) || empty($lng2)) {
-            return '999999999';
+            return '未知';
         }
         $earthRadius = 6378138;
         $lat1 = ($lat1 * pi()) / 180;

+ 15 - 3
app/Http/Controllers/Api/V1/OrderController.php

xqd xqd xqd xqd xqd xqd
@@ -40,7 +40,7 @@ class OrderController extends AuthController
             'phone_minutes' => 'required_if:product_type,1|integer',
             'symptoms' => 'required_if:product_type,2|max:2000',
             'medical_imgs' => 'required_if:product_type,2|json|max:3000',
-            'pay_password|支付密码' => 'required_if:payment_type,2|integer',
+            'pay_password|支付密码' => 'integer',
         ]);
         $user = $this->user;
 
@@ -61,6 +61,10 @@ class OrderController extends AuthController
         $payment_amount = $req['total_amount'] - $discount_amount;
         $payment_amount = $payment_amount < 0 ? 0 : $payment_amount;
 
+        if ($req['payment_type'] == 2 && $payment_amount > 0 && empty($req['pay_password'])) {
+            return out(null, 10011, '请输入支付密码');
+        }
+
         if ($req['payment_type'] == 2) {
             if ($user['balance'] < $payment_amount) {
                 return out(null, 601, '余额不足');
@@ -173,7 +177,7 @@ class OrderController extends AuthController
             'docter_id' => 'required_if:product_type,3|integer',
             'vaccine_id' => 'required_if:product_type,4|integer',
             'nurse_ids' => 'required_if:product_type,5|json',
-            'pay_password|支付密码' => 'required_if:payment_type,2|integer',
+            'pay_password|支付密码' => 'integer',
         ]);
         $user = $this->user;
 
@@ -205,6 +209,10 @@ class OrderController extends AuthController
         $payment_amount = $req['total_amount'] - $discount_amount;
         $payment_amount = $payment_amount < 0 ? 0 : $payment_amount;
 
+        if ($req['payment_type'] == 2 && $payment_amount > 0 && empty($req['pay_password'])) {
+            return out(null, 10011, '请输入支付密码');
+        }
+
         if ($req['payment_type'] == 2) {
             if ($user['balance'] < $payment_amount) {
                 return out(null, 601, '余额不足');
@@ -330,7 +338,7 @@ class OrderController extends AuthController
             'is_security' => 'required|in:0,1',
             'guardian_name' => 'required|max:50',
             'relationship_type' => 'required|integer',
-            'pay_password|支付密码' => 'required_if:payment_type,2|integer',
+            'pay_password|支付密码' => 'integer',
         ]);
         $user = $this->user;
 
@@ -357,6 +365,10 @@ class OrderController extends AuthController
         $payment_amount = $req['total_amount'] - $discount_amount;
         $payment_amount = $payment_amount < 0 ? 0 : $payment_amount;
 
+        if ($req['payment_type'] == 2 && $payment_amount > 0 && empty($req['pay_password'])) {
+            return out(null, 10011, '请输入支付密码');
+        }
+
         if ($req['payment_type'] == 2) {
             if ($user['balance'] < $payment_amount) {
                 return out(null, 601, '余额不足');