Pārlūkot izejas kodu

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

Swdz-WangHaiJun 4 gadi atpakaļ
vecāks
revīzija
285970cd68

+ 44 - 0
app/Admin/Actions/backstage/User/AddMoney.php

xqd
@@ -0,0 +1,44 @@
+<?php
+
+namespace App\Admin\Actions\backstage\User;
+
+use App\Models\UserBalanceLog;
+use App\User;
+use Encore\Admin\Actions\RowAction;
+use Encore\Admin\Auth\Permission;
+use Illuminate\Database\Eloquent\Model;
+use Illuminate\Http\Request;
+
+class AddMoney extends RowAction
+{
+    public $name = '后台充值金额';
+
+    public function handle(Model $model,Request $request)
+    {
+        // $model ...
+        $money = request('add_money');
+        $change_money = $money*100;
+        $after_money = $this->row->balance+$change_money;
+        $arr = [
+            'user_id' => $this->row->id,
+            'admin_user_id' => \Admin::user()->id,
+            'type' => 3,
+            'relation_id' => 0,
+            'before_balance' => $this->row->balance,
+            'change_balance' => '+'.$change_money,
+            'after_balance' => $after_money,
+            'remark' => '后台充值',
+            'created_at' => date('Y-m-d H:i:s',time()),
+            'updated_at' => date('Y-m-d H:i:s',time()),
+
+        ];
+//        dd($arr);
+        UserBalanceLog::create($arr);
+        User::where('id',$this->row->id)->update(['balance'=>$after_money]);
+        return $this->response()->success('后台充值成功')->refresh();
+    }
+    public function form(){
+        $this->text('add_money','充值金额');
+    }
+
+}

+ 35 - 29
app/Admin/Controllers/OrdersManagement/InsuranceListController.php

xqd xqd
@@ -25,35 +25,45 @@ class InsuranceListController extends AdminController
      */
     protected function grid()
     {
-        $grid = new Grid(new Order());
+        $grid = new Grid(new OrderPack());
+        $grid->model()->where(function ($query){
+            $query->whereHas('servicepacks',function ($query){
+                $query->where('is_need_insure','=',1);
+            });
+        });
         $grid->actions(function ($actions){
            $actions->disableView();
            $actions->disableDelete();
-           $need = OrderPack::where('order_id',$actions->row->id)->value('is_need_insurance');
-//           dd($need);
-           if ($actions->row->payment_status != 2 || $need == 0 )
-           {
-               $actions->disableEdit();
-           }
+        });
+        $grid->filter(function ($filter){
+            $filter->disableIdFilter();
+            $filter->like('pack_name','服务包名称');
+            $filter->like('orderpatients.name','患者姓名');
+            $filter->equal('users.phone','用户电话');
+            $filter->equal('is_need_insurance','是否包含保单')->select([0=>'否',1=>'是']);
         });
         $grid->disableCreateButton();
-        $grid->model()->wherein('product_type',[6]);
+        //实现只有服务包中包含保单的才显示进来
+
         $grid->model()->orderBy('id','desc');
-        $grid->column('id', __('订单id'))->sortable();
-        $grid->column('orderPack.pack_name', __('服务包名称'));
-        $grid->column('user.nickname', __('用户姓名'));
-        $grid->column('orderPatient.name', __('患者姓名'));
-        $grid->column('orderPatient.sex', __('性别'))->using([0=>'未知',1=>'男',2=>'女']);
-        $grid->column('orderPatient.relationship_type', __('与投保人的关系'))
+        $grid->column('order_id', __('订单id'))->sortable();
+        $grid->column('pack_name', __('服务包名称'));
+        $grid->column('orderpatients.name', __('患者姓名'));
+        $grid->column('orderpatients.guardian_name', __('监护人姓名'));
+        $grid->column('orderpatients.sex', __('性别'))->using([0=>'未知',1=>'男',2=>'女']);
+        $grid->column('orderpatients.relationship_type', __('与投保人的关系'))
             ->using([1=>'父亲',2=>'母亲',3=>'祖父',4=>'祖母',5=>'外祖父',6=>'外祖母',7=>'叔侄',8=>'其他']);
-        $grid->column('orderPatient.patient_id', __('患者id'))->hide();
-        $grid->column('user.phone', __('用户电话'));
-        //保单信息
-        $grid->column('orderPatient.birthday', __('出生日期'));
-        $grid->column('orderPatient.card_type', __('证件类型'))->using([1=>'身份证',2=>'护照']);
-        $grid->column('orderPatient.card_number', __('证件号码'));
-        $grid->column('orderPack.insurance_img_url', __('保单'))->link()->display(function ($url){
-            $img = OrderPack::where('order_id',$this->id)->value('insurance_img_url');
+        $grid->column('orderpatients.id', __('患者id'))->hide();
+        $grid->column('users.phone', __('用户电话'));
+//        //保单信息
+        $grid->column('orderpatients.birthday', __('出生日期'));
+        $grid->column('orderpatients.card_type', __('证件类型'))->using([1=>'身份证',2=>'护照']);
+        $grid->column('orderpatients.card_number', __('证件号码'));
+        $grid->column('is_need_insurance', __('是否需要保单'))->using([0=>'否',1=>'是']);
+        $grid->column('insurance_img_url', __('保单'))->link()->display(function (){
+//            dd($url);
+            $img = OrderPack::where('order_id',$this->order_id)->value('insurance_img_url');
+//            dd($img);
             if (empty($img))
             {
                 return '';
@@ -65,18 +75,14 @@ class InsuranceListController extends AdminController
                 return $url;
             }
         });
-        $grid->column('orderPatient.social_card_number', __('社保卡号'));
-        $grid->column('order_status', __('订单状态'))->using([1=>'未支付',2=>'待接单',3=>'进行中',4=>'已完成',5=>'已取消']);
-        $grid->column('payment_status', __('支付状态'))->using([1=>'待付款',2=>'已付款',3=>'退款中',4=>'已退款']);
-
-
+        $grid->column('order.order_status', __('订单状态'))->using([1=>'未支付',2=>'待接单',3=>'进行中',4=>'已完成',5=>'已取消']);
         return $grid;
     }
 
     protected function form()
     {
-        $form = new Form(new Order());
-        $form->file('orderPack.insurance_img_url','保单文件')->help('请上传pdf文件')->rules('required|mimes:pdf');
+        $form = new Form(new OrderPack());
+        $form->file('insurance_img_url','保单文件')->help('请上传pdf文件')->rules('required|mimes:pdf');
         return $form;
     }
 }

+ 0 - 6
app/Admin/Controllers/OrdersManagement/ServicePackOrderController.php

xqd
@@ -97,12 +97,6 @@ class ServicePackOrderController extends AdminController
         $grid->column('payment_time', __('支付时间'))->display(function ($time){
             return date('Y-m-d H:i:s',$time);
         });
-        $grid->column('receiving_time', __('接单时间'))->display(function ($time){
-            return date('Y-m-d H:i:s',$time);
-        });
-        $grid->column('end_time', __('订单完成时间'))->display(function ($time){
-            return date('Y-m-d H:i:s',$time);
-        });
         return $grid;
     }
 

+ 13 - 6
app/Admin/Controllers/ServicePacksManagment/ServicePacksController.php

xqd xqd xqd xqd xqd
@@ -64,7 +64,8 @@ class ServicePacksController extends AdminController
         })->label('success');
 
         $grid->column('image','图片')->lightbox(['width' =>'', 'height' => 30]);
-        $grid->column('phone_minutes', __('电话次数(分钟)'));
+        $grid->column('is_need_insure', __('是否包含保险'))->using([0=>'不包含',1=>'包含']);
+        $grid->column('phone_minutes', __('电话次数'));
         $grid->column('chat_num', __('图文次数'));
         $grid->column('appoint_num', __('门诊次数'));
         $grid->column('vaccine_limit_amount', __('计免次数'));
@@ -83,16 +84,22 @@ class ServicePacksController extends AdminController
         protected function form()
     {
         $form = new Form(new ServicePack());
-
+        $form->editing(function ($f){
+           $f->model()->price /=100;
+        });
         $form->text('name', __('服务包名称'))->rules('required' ,['required'=>'请填写名称!']);
         $form->image('image','图片')->rules('required' ,['required'=>'请选择图片!']);
         $form->text('intro', __('简介'))->rules('required' ,['required'=>'请填写简介!']);;
         $form->editor('desc', __('详情内容'))->rules('required' ,['required'=>'请填写内容!']);;
         $form->number('price', __('价钱'))->default(0);
+        $form->radio('is_need_insure', __('服务包是否包含保险'))->options([
+            0=>'否',
+            1=>'是'
+        ])->rules('required',['required'=>'请选择是否包含保险']);;
         $form->radio('has_team','是否包含团队')->options([
            0=>'否',
            1=>'是'
-        ])->default(1)->when(0,function (Form $form){
+        ])->when(0,function (Form $form){
             $form->checkbox('label','服务类型')
                 ->options([
                     1 => '图文',
@@ -103,7 +110,7 @@ class ServicePacksController extends AdminController
                 ])->when('has',1,function (Form $form){
                     $form->number('chat_num', __('图文次数'))->default(0);
                 })->when('has',2,function (Form $form){
-                    $form->number('phone_minutes', __('电话分钟数'))->default(0);
+                    $form->number('phone_minutes', __('电话数'))->default(0);
                 })->when('has',3,function (Form $form){
                     $form->number('appoint_num', __('门诊次数'))->default(0);
                 })->when('has',4,function (Form $form){
@@ -125,7 +132,7 @@ class ServicePacksController extends AdminController
                 ])->when('has',1,function (Form $form){
                     $form->number('chat_num', __('图文次数'))->default(0);
                 })->when('has',2,function (Form $form){
-                    $form->number('phone_minutes', __('电话分钟数'))->default(0);
+                    $form->number('phone_minutes', __('电话数'))->default(0);
                 })->when('has',3,function (Form $form){
                     $form->number('appoint_num', __('门诊次数'))->default(0);
                 })->when('has',4,function (Form $form){
@@ -134,7 +141,7 @@ class ServicePacksController extends AdminController
                     $form->select('product', __('儿保项目'))->options(Nurse::where('type',$form->team_id)->pluck('name','id'));
                 })->rules('required',['required'=>'请选择服务类型']);
 
-        });
+        })->rules('required',['required'=>'请选择是否包含团队']);;
         $form->ignore('has_team');
         $form->text('effective_days', __('服务时长(天)'))->default(0);
         $form->saving(function (Form $form){

+ 2 - 0
app/Admin/Controllers/UserManagement/BmUser/UserListController.php

xqd xqd
@@ -3,6 +3,7 @@
 namespace App\Admin\Controllers\UserManagement\BmUser;
 
 
+use App\Admin\Actions\backstage\User\AddMoney;
 use App\Admin\Actions\backstage\User\archives;
 use App\Admin\Actions\backstage\User\BalanceLog;
 use App\Admin\Actions\backstage\User\BlackList;
@@ -47,6 +48,7 @@ class UserListController extends AdminController
         $actions->add(new coupons());
         $actions->add(new Orders());
         $actions->add(new service());
+        $actions->add(new AddMoney());
     });
         //筛选
         $grid->filter(function ($filter){

+ 3 - 1
app/Http/Controllers/Api/V1/CommonController.php

xqd xqd
@@ -53,6 +53,7 @@ class CommonController extends Controller
 
         $session_key = !empty($data['session_key']) ? $data['session_key'] : '';
         $user = User::select(['id', 'status', 'phone', 'nickname', 'avatar'])->where('openid', $data['openid'])->first();
+
         if (empty($user)){
             $add = [
                 'openid' => $data['openid'],
@@ -126,10 +127,11 @@ class CommonController extends Controller
             if (empty($decryptedData['phoneNumber'])) {
                 return out(null, 10002, '授权手机号错误');
             }
-
+            if(isset($decryptedData['unionId']))$data['unionid'] = $decryptedData['unionId'];
             if (!User::where('openid', $data['openid'])->exists()){
                 $user = User::create([
                     'openid' => $data['openid'],
+                    'unionid' => $data['unionid'],
                     'phone' => $decryptedData['phoneNumber'],
                     'session_key' => $data['session_key'],
                     'avatar' => request()->getScheme().'://'.request()->getHost().'/img/default-head.png',

+ 20 - 1
app/Http/Controllers/Api/V2/CommonController.php

xqd xqd xqd
@@ -190,7 +190,9 @@ class CommonController extends Controller
             DB::beginTransaction();
             try {
                 User::where('openid', $req['openid'])->update([
-                    'phone' => $decryptedData['phoneNumber'] ?? '','is_docter'=>1,
+                    'phone' => $decryptedData['phoneNumber'] ?? '',
+                    'unionid' => $decryptedData['unionId'] ?? '',
+                    'is_docter'=>1,
                 ]);
                 // 注册医生
                 $list = Docter::create($docter_list);
@@ -1049,6 +1051,7 @@ class CommonController extends Controller
      *
      */
     public function SecretReport(){
+
         $req = request()->post();
         $callids = CallLog::where('call_id',$req[0]['call_id'])->first();
         try {
@@ -1134,6 +1137,22 @@ class CommonController extends Controller
         }catch (\PDOException $e){
             ImMessage::create(['text'=>json_encode($e->getFile().'的第 '.$e->getLine().'行报错:'.$e->getMessage(),true)]);
         }
+    }
+
+    /**
+     * 删除图片
+     * @return \Illuminate\Http\JsonResponse
+     * @throws \Illuminate\Validation\ValidationException
+     */
+    public function delFile(){
+        $req = request()->post();
+        $this->validate(request(), [
+            'url' => 'required|url'
+        ]);
+        $tem = parse_url($req['url']);
+        $allPath = public_path().$tem['path'];
+        unlink($allPath);
+        return out();
 
     }
 }

+ 9 - 0
app/Models/OrderPack.php

xqd
@@ -107,4 +107,13 @@ class OrderPack extends BaseModel
 
         return true;
     }
+    public function orderpatients(){
+        return $this->hasOne(OrderPatient::class,'order_id','order_id');
+    }
+    public function users(){
+        return $this->hasOne(User::class,'id','user_id');
+    }
+    public function servicepacks(){
+        return $this->hasOne(ServicePack::class,'id','service_pack_id');
+    }
 }