Jelajahi Sumber

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

zilong 4 tahun lalu
induk
melakukan
ab735a3e74

+ 1 - 0
app/Admin/Controllers/CouponManagement/CouponManagementController.php

xqd
@@ -90,6 +90,7 @@ class CouponManagementController extends AdminController
         $grid->column('discount', __('折扣'));
         $grid->column('position_type', __('发放平台'))->using([1=>'领券中心',2=>'后台发放']);
         $grid->column('num', __('数量'));
+        $grid->column('expire_type', __('过期时间'))->using([1=>'领取N天过期',2=>'设置固定时间']);
         $grid->column('effective_days', __('有效天数'));
         $grid->column('start_time', __('有效期开始时间'))->display(function ($time){
             if ($time ==0)

+ 19 - 14
app/Admin/Controllers/OrdersManagement/BookingOrderController.php

xqd xqd xqd xqd
@@ -39,18 +39,10 @@ class BookingOrderController extends AdminController
 
         $grid->filter(function ($filter){
             $filter->disableIdFilter();
-            $filter->column(1/3, function ($filter) {
+            $filter->column(1/2, function ($filter) {
                 $filter->like('user.nickname','用户姓名');
                 $filter->like('docter.name','医生姓名');
                 $filter->like('orderPatient.name','患者姓名');
-                $filter->timestampBetween('payment_time', "支付时间")->datetime();
-            });
-            $filter->column(1/3, function ($filter) {
-                $filter->equal('user_id', '用户id');
-                $filter->equal('docter_id', '医生id');
-                $filter->timestampBetween('receiving_time', "接单时间")->datetime();
-            });
-            $filter->column(1/3,function ($filter) {
                 $filter->equal('product_type','预约类型')->radio(
                     [
                         ''=>'不限',
@@ -59,6 +51,8 @@ class BookingOrderController extends AdminController
                         5=>'儿保预约'
                     ]
                 );
+            });
+            $filter->column(1/2, function ($filter) {
                 $filter->equal('order_status','订单状态')->radio(
                     [
                         ''=>'不限',
@@ -69,7 +63,9 @@ class BookingOrderController extends AdminController
                         5=>'已取消'
                     ]
                 );
+                $filter->timestampBetween('payment_time', "支付时间")->datetime();
                 $filter->timestampBetween('end_time', "订单完成时间")->datetime();
+
             });
         });
 
@@ -136,13 +132,22 @@ class BookingOrderController extends AdminController
             return $money/100;
         });
         $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);
+            if ($time == 0)
+            {
+                return '';
+            }else
+            {
+                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);
+            if ($time == 0)
+            {
+                return '';
+            }else
+            {
+                return date('Y-m-d H:i:s',$time);
+            }
         });
         return $grid;
     }

+ 33 - 20
app/Admin/Controllers/OrdersManagement/ConsultingOrdersController.php

xqd xqd xqd xqd
@@ -37,22 +37,10 @@ class ConsultingOrdersController extends AdminController
         //筛选
         $grid->filter(function ($filter){
             $filter->disableIdFilter();
-            $filter->column(1/3, function ($filter) {
+            $filter->column(1/2, function ($filter) {
                 $filter->like('user.nickname','用户姓名');
-                $filter->equal('user_id', '用户id');
-                $filter->timestampBetween('payment_time', "支付时间")->datetime();
-                $filter->in('evaluate.score','评分')->checkbox([
-                    1    => 1,
-                    2    => 2,
-                    3    => 3,
-                    4    => 4,
-                    5    => 5,
-                ]);
-
-            });
-            $filter->column(1/3, function ($filter) {
                 $filter->like('docter.name','医生姓名');
-                $filter->equal('docter_id', '医生id');
+                $filter->like('orderPatient.name','患者姓名');
                 $filter->equal('product_type','产品类型')->radio(
                     [
                         ''=>'不限',
@@ -60,10 +48,15 @@ class ConsultingOrdersController extends AdminController
                         2=>'图文咨询',
                     ]
                 );
-                $filter->timestampBetween('receiving_time', "接单时间")->datetime();
+                $filter->in('evaluate.score','评分')->checkbox([
+                    1    => 1,
+                    2    => 2,
+                    3    => 3,
+                    4    => 4,
+                    5    => 5,
+                ]);
             });
-            $filter->column(1/3, function ($filter) {
-                $filter->like('orderPatient.name','患者姓名');
+            $filter->column(1/2, function ($filter) {
                 $filter->equal('order_status','订单状态')->radio(
                     [
                         ''=>'不限',
@@ -74,6 +67,8 @@ class ConsultingOrdersController extends AdminController
                         5=>'已取消'
                     ]
                 );
+                $filter->timestampBetween('payment_time', "支付时间")->datetime();
+                $filter->timestampBetween('receiving_time', "接单时间")->datetime();
                 $filter->timestampBetween('end_time', "订单完成时间")->datetime();
             });
         });
@@ -136,13 +131,31 @@ class ConsultingOrdersController extends AdminController
         });
         $grid->column('evaluate.score', __('订单评分'));
         $grid->column('payment_time', __('支付时间'))->display(function ($time){
-            return date('Y-m-d H:i:s',$time);
+            if ($time == 0)
+            {
+                return '';
+            }else
+            {
+                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);
+            if ($time == 0)
+            {
+                return '';
+            }else
+            {
+                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);
+            if ($time == 0)
+            {
+                return '';
+            }else
+            {
+                return date('Y-m-d H:i:s',$time);
+            }
         });
 
         return $grid;

+ 1 - 1
app/Admin/Controllers/OrdersManagement/InsuranceListController.php

xqd
@@ -16,7 +16,7 @@ class InsuranceListController extends AdminController
      *
      * @var string
      */
-    protected $title = '保信息列表';
+    protected $title = '保信息';
 
     /**
      * Make a grid builder.

+ 16 - 27
app/Admin/Controllers/OrdersManagement/RechargeOrderController.php

xqd xqd
@@ -31,29 +31,24 @@ class RechargeOrderController extends AdminController
         $grid->model()->wherein('product_type',[7]);
 
         //筛选
-
+        $grid->disableActions();
         $grid->filter(function ($filter){
             $filter->disableIdFilter();
-            $filter->column(1/2, function ($filter) {
-                $filter->like('user.nickname','用户姓名');
-                $filter->equal('user_id', '用户id');
-                $filter->equal('order_status','订单状态')->radio(
-                    [
-                        ''=>'不限',
-                        1=>'未支付',
-                        2=>'待接单',
-                        3=>'进行中',
-                        4=>'已完成',
-                        5=>'已取消'
-                    ]
-                );
-            });
-            $filter->column(1/2, function ($filter) {
-                $filter->timestampBetween('payment_time', "支付时间")->datetime();
-                $filter->timestampBetween('receiving_time', "接单时间")->datetime();
-                $filter->timestampBetween('end_time', "订单完成时间")->datetime();
-            });
-            });
+
+            $filter->like('user.nickname','用户姓名');
+            $filter->equal('user_id', '用户id');
+            $filter->equal('order_status','订单状态')->radio(
+                [
+                    ''=>'不限',
+                    1=>'未支付',
+                    2=>'待接单',
+                    3=>'进行中',
+                    4=>'已完成',
+                    5=>'已取消'
+                ]
+            );
+            $filter->timestampBetween('payment_time', "支付时间")->datetime();
+        });
 
         $grid->actions(function ($actions) {
             // 去掉删除
@@ -82,12 +77,6 @@ class RechargeOrderController 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;
     }
 

+ 2 - 2
app/Admin/Controllers/OrdersManagement/ServicePackDetailsController.php

xqd
@@ -30,9 +30,9 @@ class ServicePackDetailsController extends AdminController
         $grid->disableActions();
         $grid->filter(function ($filter){
             $filter->disableIdFilter();
-            $filter->equal('order_id','订单id');
+//            $filter->equal('order_id','订单id');
         });
-        $grid->model()->orderBy('id','desc');
+        $grid->model()->where('order_id',$order_id)->orderBy('id','desc');
         $grid->column('id', __('id'));
         $grid->column('order_id', __('订单id'));
         $grid->column('service_pack_id', __('服务包id'));

+ 3 - 12
app/Admin/Controllers/OrdersManagement/ServicePackOrderController.php

xqd xqd
@@ -36,14 +36,9 @@ class ServicePackOrderController extends AdminController
         //筛选
         $grid->filter(function ($filter){
             $filter->disableIdFilter();
-            $filter->column(1/3, function ($filter) {
+
                 $filter->like('user.nickname','用户姓名');
-                $filter->like('docter.name','医生姓名');
                 $filter->like('orderPatient.name','患者姓名');
-            });
-            $filter->column(1/3, function ($filter) {
-                $filter->equal('user_id', '用户id');
-                $filter->equal('docter_id', '医生id');
                 $filter->equal('order_status','订单状态')->radio(
                     [
                         ''=>'不限',
@@ -54,13 +49,9 @@ class ServicePackOrderController extends AdminController
                         5=>'已取消'
                     ]
                 );
-                $filter->column(1/3, function ($filter) {
-                    $filter->timestampBetween('payment_time', "支付时间")->datetime();
-                    $filter->timestampBetween('receiving_time', "接单时间")->datetime();
-                    $filter->timestampBetween('end_time', "订单完成时间")->datetime();
-                });
+                $filter->timestampBetween('payment_time', "支付时间")->datetime();
+
             });
-        });
         //操作
         $grid->actions(function ($actions) {
             // 去掉删除

+ 3 - 3
app/Admin/Controllers/OrdersManagement/ServicePackOrderListController.php

xqd
@@ -33,10 +33,10 @@ class ServicePackOrderListController extends AdminController
         
         $grid->filter(function ($filter){
             $filter->disableIdFilter();
-            $filter->equal('pay_order_pack_id','服务包id');
-            $filter->equal('patient_id','患者id');
+//            $filter->equal('pay_order_pack_id','服务包id');
+//            $filter->equal('patient_id','患者id');
         });
-        $grid->model()->orderBy('id','desc');
+        $grid->model()->where('pay_order_pack_id',$pack_id)->where('patient_id',$patient_id)->orderBy('id','desc');
         $grid->column('id', __('Id'))->sortable();
         $grid->column('user.nickname', __('用户姓名'));
         $grid->column('docter.name', __('医生姓名'));

+ 2 - 0
app/Admin/Controllers/OrganizationController.php

xqd xqd
@@ -53,6 +53,7 @@ class OrganizationController extends AdminController
         $grid->column('type', __('机构类型'))->using([1=>'公立医院',2=>'私立医院']);
         $grid->column('level', __('机构级别'))->using([0=>'未定级',1=>'一级',2=>'二级',3=>'三级']);
         $grid->column('name', __('名称'));
+        $grid->column('intro', __('机构简称'));
         $grid->column('province_id', __('省份'))->display(function ($id){
             return Area::where('id',$id)->value('name');
         });
@@ -134,6 +135,7 @@ class OrganizationController extends AdminController
             return Area::where(['level'=>3,'parent_id'=>$this->city_id])->pluck('name','id');
         })->required();
         $form->text('address', __('详细地址'))->required();
+        $form->text('intro','机构简称')->rules('required')->help('建议在六个中文字符以内');
         $form->editor('nurse_notice','门诊通告');
         $form->editor('vaccine_notice','计免通告');
         $form->latlong('latitude', 'longitude','经纬度');

+ 3 - 2
app/Admin/Controllers/ServiceManagement/ServiceController.php

xqd
@@ -74,8 +74,9 @@ class ServiceController extends AdminController
         $grid->column('updated_at', __('更新时间'))->sortable();
 
         $grid->filter(function ($filter){
-            $filter->equal('service_type','服务类型')->select([1 => '图文', 2 => '电话', 3 => '问诊']);
-            $filter->equal('status','服务类型')->select([1=>'待审核',2 =>'已通过 ',3=>'已拒绝']);
+            $filter->disableIdFilter();
+            $filter->equal('service_type','服务类别')->select([1 => '图文', 2 => '电话', 3 => '问诊']);
+            $filter->equal('status','状态')->select([1=>'待审核',2 =>'已通过 ',3=>'未开通']);
             $filter->equal('docterorganization.organization_id','机构')->select(Organization::pluck('name','id'));
         });
         $grid->actions(function ($actions) {

+ 3 - 2
app/Admin/Controllers/UserManagement/BmUser/UserBalanceLogController.php

xqd
@@ -30,11 +30,12 @@ class UserBalanceLogController extends AdminController
         $uesr_id = \request('user_id');
         $grid->filter(function ($filter){
             $filter->disableIdFilter();
-            $filter->equal('user_id','用户id');
+//            $filter->equal('user_id','用户id');
         });
         //关闭全部的操作
         $grid->disableActions();
-        $grid->model()->orderBy('id','desc');
+        $grid->disableBatchActions();
+        $grid->model()->where('user_id',$uesr_id)->orderBy('id','desc');
         $grid->column('id', __('Id'));
         $grid->column('user_id', __('用户ID'));
         $grid->column('user.nickname', __('用户名称'));

+ 38 - 27
app/Admin/Controllers/UserManagement/BmUser/UserCouponsController.php

xqd xqd xqd
@@ -2,11 +2,13 @@
 
 namespace App\Admin\Controllers\UserManagement\BmUser;
 
+use App\Models\CouponType;
 use App\Models\UserCoupon;
 use Encore\Admin\Controllers\AdminController;
 use Encore\Admin\Form;
 use Encore\Admin\Grid;
 use Encore\Admin\Show;
+use SebastianBergmann\CodeCoverage\TestFixture\C;
 
 class UserCouponsController extends AdminController
 {
@@ -29,10 +31,11 @@ class UserCouponsController extends AdminController
         $uesr_id = \request('user_id');
         $grid->filter(function ($filter){
             $filter->disableIdFilter();
-            $filter->equal('user_id','用户id');
+//            $filter->equal('user_id','用户id');
         });
         $grid->disableActions();
-        $grid->model()->orderBy('id','desc');
+        $grid->disableBatchActions();
+        $grid->model()->where('user_id',$uesr_id)->orderBy('id','desc');
         $grid->column('id', __('Id'));
         $grid->column('coupon_id', __('优惠券ID'));
         $grid->column('name', __('券名称'));
@@ -40,35 +43,43 @@ class UserCouponsController extends AdminController
         $grid->column('title', __('券标题'));
         $grid->column('type', __('类型'))->using([1=>'满减券',2=>'折扣券']);
         $grid->column('usable_type', __('可用类型'))->using([1=>'全部产品通用',2=>'部分产品可用']);
-        $grid->column('CouponType', __('可用产品'))->pluck('product_type','id')->display(function ($i){
+        $grid->column('CouponType', __('可用产品'))->pluck('product_type','id')->display(function (){
             $name = [];
-            foreach ($i as $value)
+            if ($this->usable_type != 1)
             {
-                switch ($value){
-                    case 1:
-                        array_push($name,'电话咨询');
-                        break;
-                    case 2:
-                        array_push($name,'图文咨询');
-                        break;
-                    case 3:
-                        array_push($name,'门诊咨询');
-                        break;
-                    case 4:
-                        array_push($name,'疫苗接种');
-                        break;
-                    case 5:
-                        array_push($name,'儿保预约');
-                        break;
-                    case 6:
-                        array_push($name,'服务包');
-                        break;
-                    case 7:
-                        array_push($name,'充值');
-                        break;
+                $coupon = CouponType::where('coupon_id',$this->coupon_id)->where('user_coupon_id',0)->pluck('product_type')->toArray();
+                $name = [];
+                foreach ($coupon as $value)
+                {
+                    switch ($value){
+                        case 1:
+                            array_push($name,'电话咨询');
+                            break;
+                        case 2:
+                            array_push($name,'图文咨询');
+                            break;
+                        case 3:
+                            array_push($name,'门诊咨询');
+                            break;
+                        case 4:
+                            array_push($name,'疫苗接种');
+                            break;
+                        case 5:
+                            array_push($name,'儿保预约');
+                            break;
+                        case 6:
+                            array_push($name,'服务包');
+                            break;
+                        case 7:
+                            array_push($name,'充值');
+                            break;
+                    }
                 }
+                return $name;
+            }else{
+                array_push($name,'全产品通用');
+                return $name;
             }
-            return $name;
         })->label('info');
         $grid->column('money', __('满减券的优惠钱数'))->display(function ($money){
             return $money/100;

+ 3 - 3
app/Admin/Controllers/UserManagement/BmUser/UserListController.php

xqd
@@ -55,15 +55,15 @@ class UserListController extends AdminController
             $filter->column(1/2, function ($filter) {
                 $filter->disableIdFilter();
                 $filter->equal('phone','手机')->mobile()->placeholder("请输入手机");
-                $filter->like('patient.name','患者姓名')->placeholder("请输入患者姓名");
                 $filter->like('nickname','昵称');
-            });
-            $filter->column(1/2, function ($filter) {
                 $filter->equal('status','用户状态')->radio([
                     ''   => '不限',
                     0    => '黑名单',
                     1    => '正常',
                 ]);
+            });
+            $filter->column(1/2, function ($filter) {
+
                 $filter->between('created_at', '注册时间')->datetime();
                 $filter->timestampBetween('last_login_time', "最后登录时间")->datetime();
             });

+ 19 - 4
app/Admin/Controllers/UserManagement/BmUser/UserOrdersController.php

xqd
@@ -29,20 +29,35 @@ class UserOrdersController extends AdminController
         $uesr_id = \request('user_id');
         $grid->filter(function ($filter){
             $filter->disableIdFilter();
-            $filter->equal('user_id','用户id');
+//            $filter->equal('user_id','用户id');
         });
         $grid->disableActions();
-        $grid->model()->orderBy('id','desc');
+        $grid->model()->where('user_id',$uesr_id)->orderBy('id','desc');
         $grid->column('id', __('Id'))->sortable();
+        $grid->column('user_id', __('用户id'))->sortable()->hide();
         $grid->column('user.nickname', __('用户姓名'));
         $grid->column('docter.name', __('医生姓名'));
         $grid->column('orderPatient.name', __('患者姓名'));
         $grid->column('orderPatient.patient_phone', __('患者电话'));
         $grid->column('orderPatient.appoint_start_time', __('预约日期'))->display(function ($time){
-            return date('Y-m-d H:i:s',$time);
+            if ($time == 0)
+            {
+                return '';
+            }else
+            {
+                return date('Y-m-d H:i:s',$time);
+
+            }
         });
         $grid->column('orderPatient.appoint_end_time', __('就诊日期'))->display(function ($time){
-            return date('Y-m-d H:i:s',$time);
+            if ($time == 0)
+            {
+                return '';
+            }else
+            {
+                return date('Y-m-d H:i:s',$time);
+
+            }
         });
         $grid->column('product_type', __('产品类型'))->using([1=>'电话咨询',2=>'图文咨询',3=>'门诊预约',4=>'疫苗接种预约',5=>'儿保预约',6=>'服务包',7=>'充值']);
         $grid->column('payment_type', __('支付方式'))->display(function ($payment_type){

+ 5 - 11
app/Admin/Controllers/UserManagement/BmUser/UserServiceController.php

xqd
@@ -33,18 +33,12 @@ class UserServiceController extends AdminController
         $uesr_id = \request('user_id');
         $grid->filter(function ($filter){
             $filter->disableIdFilter();
-            $filter->equal('user_id','用户id');
-            $filter->equal('product_type','订单类型');
+//            $filter->equal('user_id','用户id');
+//            $filter->equal('product_type','订单类型');
         });
-        $grid->actions(function ($actions) {
-
-            // 去掉删除
-            $actions->disableDelete();
-
-            // 去掉编辑
-            $actions->disableEdit();
-        });
-        $grid->model()->orderBy('id','desc');
+        $grid->disableBatchActions();
+        $grid->disableActions();
+        $grid->model()->where('user_id',$uesr_id)->where('product_type',6)->orderBy('id','desc');
         $grid->column('orderPack.id', __('Id'));
         $grid->column('orderPack.order_id', __('订单id'));
         $grid->column('patient_id', __('患者姓名'))->display(function ($id){

+ 22 - 13
app/Community/Controllers/ApiController.php

xqd xqd xqd xqd xqd xqd xqd
@@ -417,6 +417,11 @@ class ApiController extends Controller
         $schedule = Schedule::where(['docter_id' => $docterId, 'schedule_type' => $sType,'organization_id'=>$orgId])->where('schedule_date', '>=', date('Y-m-d', time()))
             ->distinct('schedule_date')->pluck('schedule_date', 'id')->toArray();
 
+        if($sType == 1){
+            $schedule = Schedule::where(['docter_id' => $docterId, 'schedule_type' => $sType,'organization_id'=>0])->where('schedule_date', '>=', date('Y-m-d', time()))
+                ->distinct('schedule_date')->pluck('schedule_date', 'id')->toArray();
+        }
+
         $allData = [];
         for ($tType = 1; $tType <= 3; $tType++) {
             foreach ($schedule as $id => $date) {
@@ -709,14 +714,8 @@ class ApiController extends Controller
                 //2.创建新时间段
                 self::makeTimePeriod($docter_id, $org_id, $sType, $c_r[$tType], $count, $serviceTime);
 
-                //检测时间段
-//                $timeCount = TimePeriod::where(['org_id' => $org_id, 'docter_id' => $docter_id])->count();
-//                if($timeCount == 0) return apiReturn(603,'请设置时间段');
-
                 $time_periods = TimePeriod::where(['org_id' => $org_id, 'docter_id' => $docter_id, 'type' => $sType])->whereBetween('end_time_period', $times[$tType])->pluck('id')->toArray();
-                $schedule = Schedule::where(['docter_id' => $docter_id, 'schedule_type' => $sType])->pluck('schedule_date', 'id')->toArray();
-//                $self_schedule = SelfSchedule::where(['docter_id' => 0, 'schedule_type' => $sType,'organization_id'=>$org_id,'type' =>$tType])->distinct('type')
-//                    ->orderBy('schedule_date')->where('schedule_date','>',$Today)->get(['schedule_date', 'type', 'week'])->toArray();
+
 
                 if ($sType == 1) {
                     $week_schedule = WeekSchedule::where(['docter_id' => $docter_id, 'type' => $tType, 'schedule_type' => $sType]);
@@ -727,7 +726,7 @@ class ApiController extends Controller
 
                 if ($week != 0) {
                     //3.以周模板添加2个月的数据
-                    self::makeSchedule($sType, $docter_id, $org_id, $tType, $schedule, $time_periods);
+                    self::makeSchedule($sType, $docter_id, $org_id, $tType, $time_periods);
                     //TODO 删除周排班,插入新周排班
                     self::changeWeekSchedule($docter_id, $org_id, $sType, $tType, $time_periods);
                 }
@@ -865,7 +864,7 @@ class ApiController extends Controller
     }
 
     //以周模板进行排班
-    public static function makeSchedule($sType, $docterId, $orgId, $tType, $schedule, $timePeriods)
+    public static function makeSchedule($sType, $docterId, $orgId, $tType, $timePeriods)
     {
 
 //        if(empty($schedule) || count($schedule) < 58){
@@ -880,6 +879,7 @@ class ApiController extends Controller
 
         for ($i = 1; $i < 60; $i++) {
             $todayTimer = $start + (($i - 1) * 86400);
+            $numDate = date('Ymd',$todayTimer);
             $date = date('Y-m-d', $todayTimer);
             $week = intval(date('N', strtotime($date)));
 
@@ -889,7 +889,12 @@ class ApiController extends Controller
             $mesure->delete();
             foreach ($timePeriods as $idt) {
                 if (!empty($mesureIds)) {
-                    $scheduleId = Schedule::where(['docter_id' => $docterId, 'schedule_type' => $sType,'organization_id'=>$orgId])->where('schedule_date', $date)->value('id');
+                    if($sType == 1) {
+                        $scheduleId = Schedule::where(['docter_id' => $docterId, 'schedule_type' => $sType,'organization_id'=>0])->where('schedule_day', $numDate)->value('id');
+                    } else {
+                        $scheduleId = Schedule::where(['docter_id' => $docterId, 'schedule_type' => $sType,'organization_id'=>$orgId])->where('schedule_day', $numDate)->value('id');
+                    }
+                    dump($scheduleId);
                     if (empty($scheduleId)) {
                         $numDate = date('Ymd', $todayTimer);
                         $scheduleData['docter_id'] = $docterId;
@@ -914,13 +919,17 @@ class ApiController extends Controller
             }
 
 
-//            echo '医生id '.$docterId.' 机构id '.$orgId.' 周几 '.$week;
+            echo '医生id '.$docterId.' 机构id '.$orgId.' 周几 '.$week;
             $real_id = WeekSchedule::where(['docter_id' => $docterId, 'organization_id' => $orgId, 'week' => $week, 'type' => $tType, 'schedule_type' => $sType])->first();
             if (!empty($real_id)) {
 
                 foreach ($timePeriods as $idt) {
-                    $scheduleId = Schedule::where(['docter_id' => $docterId, 'schedule_type' => $sType,'organization_id' => $orgId])->where('schedule_date', $date)->value('id');
-                    if ($scheduleId == 0) {
+                    if($sType == 1) {
+                        $scheduleId = Schedule::where(['docter_id' => $docterId, 'schedule_type' => $sType,'organization_id'=>0])->where('schedule_day', $numDate)->value('id');
+                    } else {
+                        $scheduleId = Schedule::where(['docter_id' => $docterId, 'schedule_type' => $sType,'organization_id'=>$orgId])->where('schedule_day', $numDate)->value('id');
+                    }
+                    if (empty($scheduleId)) {
                         $numDate = date('Ymd', $todayTimer);
                         $scheduleData['docter_id'] = $docterId;
                         $scheduleData['schedule_date'] = $date;

+ 3 - 0
app/Community/Controllers/SettingController.php

xqd xqd
@@ -59,6 +59,7 @@ class SettingController extends AdminController
         $grid->column('type', __('机构类型'))->using([1=>'公立医院',2=>'私立医院']);
         $grid->column('level', __('机构级别'))->using([0=>'未定级',1=>'一级',2=>'二级',3=>'三级']);
         $grid->column('name', __('名称'));
+        $grid->column('intro', __('机构简称'));
         $grid->column('province_id', __('省份'))->display(function ($id){
             return Area::where('id',$id)->value('name');
         });
@@ -126,6 +127,8 @@ class SettingController extends AdminController
             3=>'三级',
         ])->required();
         $form->text('name', __('名称'))->required();
+        $form->text('intro','机构简称')->rules('required')->help('建议在六个中文字符以内');
+
         $form->select('province_id', __('省份'))->options(function (){
             return Area::where('level',1)->pluck('name','id');
         })->load('city_id','/cdms/api/getCity')->required();

+ 48 - 18
app/Http/Controllers/Api/V1/CommonController.php

xqd xqd xqd
@@ -366,6 +366,7 @@ class CommonController extends Controller
         return out();
     }
 
+    //下单通知
     public function subscribe()
     {
         $msgType = request('type',3); //1公众号 2医生端小程序 3 用户端小程序
@@ -391,33 +392,62 @@ class CommonController extends Controller
             ],
         ] ;
 
-        //测试环境配置
-//        $config = [
-//           'app_id' => 'wx1c2357232cd25f65',
-//            'secret' => 'c8cab53e4e52234ed1bc2abbdeaba57d',
-//            'app_id' => 'wx13bedfcc62e9bab0',
-//            'secret' => '175e5518b6426dd12d3096f24ca68fb8',
-//            'response_type' => 'array'
-//            oVxTzvgYlGktIDZXwfLMLQ01Tr5s
-//        ];
+
         $order = Order::where(['id'=>$orderId])->first();
         if(empty($order)) return apiReturn(602,'无效订单');
         if(empty($order->user_id)) return apiReturn(602,'此订单用户不存在');
         $user = \App\User::where('id',$order->user_id)->first();
+        //获取unionid
         $uid = $user->unionid;
-        if(empty($user->unionid)) $uid = $user->openid;
+        if(empty($user)) return apiReturn(602,'此订单用户不存在');
+
+        $name = OrderPatient::where(['order_id'=>$orderId])->value('name');
+        $type_arr = [1=>'电话咨询',2=>'图文咨询',3=>'门诊预约',4=>'疫苗',5=>'儿保',6=>'服务包',7=>'充值'];
+        $order = Order::where(['id'=>$orderId])->first();
+        $orderType = $type_arr[$order->product_type];
 
+        //如果没有unionid 则用 openid
+        if(empty($user->unionid)) $uid = $user->openid;
 
         if($msgType ==1){
-            $app = Factory::officialAccount($config[1]);
-//            $app->user->get($uid);
-            apiReturn('200','发送功能在优化中');
+            $app = Factory::officialAccount($config[$msgType]);
+            $is_office = $app->user->get($uid);
+            $data = [
+                'touser' =>$uid,
+                'template_id' => 'IABFkUm4hoY_J44a767nADSSsGnsexUS4L-lEWJx2AA',
+//                'miniprogram' => [
+//                    'appid' => env('WECHAT_APPID'),
+//                    'pagepath' => '/pages/common_tools/my_consulting/consultingInfo?order_id='.$orderId,
+//                ],
+                'url'=>'https://wechat.fresherbaby.com/admin',
+                'data' => [
+                    'first' => '尊敬的客户,你有一笔'.$orderType.'订单已下单成功',
+                    'keyword1' => $order->order_sn,
+                    'keyword2' => ($order->total_amount/100).'元',
+                    'keyword3' => '余额支付',
+                    'remark' => '请耐心等待医生接单,如有疑问,请联系客服。',
+                ]
+            ];
+
+            if($is_office){
+                $app = Factory::officialAccount($config[3]);
+                $data = [
+                    'touser' =>'oYmUA5A1OIqtpA1XSrw35tbjtv1w',
+                    'template_id' => 'M9b6PPKtD7PEqLsSnQ453iTIHtIZZpixOBjUjax8YXU',
+                    'page' => '/pages/common_tools/my_consulting/consultingInfo?order_id='.$orderId,
+                    'data' => [
+                        'phrase1' => $orderType,
+                        'name3' => $name,
+                        'date4' => date('Y-m-d H:i:s'),
+                        'thing8' => '你有一笔'.$orderType.'订单已成功下单请耐心等待',
+                        'amount10' => ($order->total_amount/100).'元',
+                    ]
+                ];
+            }
+
+            $res = $app->template_message->send($data);
         } else {
             $app = Factory::miniProgram($config[$msgType]);
-            $name = OrderPatient::where(['order_id'=>$orderId])->value('name');
-            $type_arr = [1=>'电话咨询',2=>'图文咨询',3=>'门诊预约',4=>'疫苗接种预约',5=>'儿保预约',6=>'服务包',7=>'充值'];
-            $order = Order::where(['id'=>$orderId])->first();
-            $orderType = $type_arr[$order->product_type];
 
             $res = $app->subscribe_message->send([
                 'touser' =>'oYmUA5A1OIqtpA1XSrw35tbjtv1w',
@@ -427,7 +457,7 @@ class CommonController extends Controller
                     'phrase1' => $orderType,
                     'name3' => $name,
                     'date4' => date('Y-m-d H:i:s'),
-                    'thing8' => '你有一笔电话'.$orderType.'订单已成功下单请耐心等待',
+                    'thing8' => '你有一笔'.$orderType.'订单已成功下单,请耐心等待',
                     'amount10' => ($order->total_amount/100).'元',
                 ]
             ]);

+ 134 - 0
app/Http/Controllers/IndexController.php

xqd
@@ -0,0 +1,134 @@
+<?php
+
+namespace App\Http\Controllers;
+use App\Models\Order;
+use App\Models\OrderPatient;
+use App\User;
+use EasyWeChat\Factory;
+use Illuminate\Http\Request;
+
+class IndexController extends Controller
+{
+    public function test()
+    {
+        $msgType = request('type',3); //1公众号 2医生端小程序 3 用户端小程序
+        $orderId = request('order_id'); //订单id
+        if(empty($orderId)){
+            return apiReturn(601,'请输入参数');
+        }
+        $config = [
+            1=>[
+                'app_id' => env('OFFICE_APPID', 'wx92066f7587c34617'),
+                'secret' => env('OFFICE_APPSECRET', 'bd7849c5259b79c41ec158173c5fb1d6'),
+                'response_type' => 'array'
+            ],
+            2=>[
+                'app_id' => env('DOCTRER_WECHAT_APPID', 'wx92066f7587c34617'),
+                'secret' => env('DOCTRER_WECHAT_APPSECRET', 'bd7849c5259b79c41ec158173c5fb1d6'),
+                'response_type' => 'array'
+            ],
+            3=>[
+                'app_id' => env('WECHAT_APPID', 'wx6131f74e623bf6bf'),
+                'secret' => env('WECHAT_APPSECRET', 'b703596ab6cbcad5b74eb51fec2aeb0b'),
+                'response_type' => 'array'
+            ],
+        ] ;
+
+        //测试环境配置
+//        $config = [
+//           'app_id' => 'wx1c2357232cd25f65',
+//            'secret' => 'c8cab53e4e52234ed1bc2abbdeaba57d',
+//            'app_id' => 'wx13bedfcc62e9bab0',
+//            'secret' => '175e5518b6426dd12d3096f24ca68fb8',
+//            'response_type' => 'array'
+//            oVxTzvgYlGktIDZXwfLMLQ01Tr5s
+//        ];
+        $order = Order::where(['id'=>$orderId])->first();
+        if(empty($order)) return apiReturn(602,'无效订单');
+        if(empty($order->user_id)) return apiReturn(602,'此订单用户不存在');
+        $user = User::where('id',$order->user_id)->first();
+        $uid = $user->unionid;
+        $uid = 'oYmUA5A1OIqtpA1XSrw35tbjtv1w';
+        $name = OrderPatient::where(['order_id'=>$orderId])->value('name');
+        $type_arr = [1=>'电话咨询',2=>'图文咨询',3=>'门诊预约',4=>'疫苗',5=>'儿保',6=>'服务包',7=>'充值'];
+        $order = Order::where(['id'=>$orderId])->first();
+        $orderType = $type_arr[$order->product_type];
+
+
+        if(empty($user->unionid)) $uid = $user->openid;
+//        $uid = 'o832ywXSN6RbAfJTR7rhtUQLJIis';
+
+        if($msgType ==1){
+            $app = Factory::officialAccount($config[$msgType]);
+            $is_office = $app->user->get($uid);
+            $data = [
+                'touser' =>$uid,
+                'template_id' => 'IABFkUm4hoY_J44a767nADSSsGnsexUS4L-lEWJx2AA',
+//                'miniprogram' => [
+//                    'appid' => env('WECHAT_APPID'),
+//                    'pagepath' => '/pages/common_tools/my_consulting/consultingInfo?order_id='.$orderId,
+//                ],
+                'url'=>'https://wechat.fresherbaby.com/admin',
+                'data' => [
+                    'first' => '尊敬的客户,你有一笔'.$orderType.'订单已下单成功',
+                    'keyword1' => $order->order_sn,
+                    'keyword2' => ($order->total_amount/100).'元',
+                    'keyword3' => '余额支付',
+                    'remark' => '请耐心等待医生接单,如有疑问,请联系客服。',
+                ]
+            ];
+
+            if($is_office){
+                $app = Factory::officialAccount($config[3]);
+                $data = [
+                    'touser' =>'oYmUA5A1OIqtpA1XSrw35tbjtv1w',
+                    'template_id' => 'M9b6PPKtD7PEqLsSnQ453iTIHtIZZpixOBjUjax8YXU',
+                    'page' => '/pages/common_tools/my_consulting/consultingInfo?order_id='.$orderId,
+                    'data' => [
+                        'phrase1' => $orderType,
+                        'name3' => $name,
+                        'date4' => date('Y-m-d H:i:s'),
+                        'thing8' => '你有一笔'.$orderType.'订单已成功下单请耐心等待',
+                        'amount10' => ($order->total_amount/100).'元',
+                    ]
+                ];
+            }
+
+            $res = $app->template_message->send($data);
+        } else {
+            $app = Factory::miniProgram($config[$msgType]);
+
+            $data = [
+                'touser' =>'oYmUA5A1OIqtpA1XSrw35tbjtv1w',
+                'template_id' => 'M9b6PPKtD7PEqLsSnQ453iTIHtIZZpixOBjUjax8YXU',
+                'page' => '/pages/common_tools/my_consulting/consultingInfo?order_id='.$orderId,
+                'data' => [
+                    'phrase1' => $orderType,
+                    'name3' => $name,
+                    'date4' => date('Y-m-d H:i:s'),
+                    'thing8' => '你有一笔'.$orderType.'订单已成功下单请耐心等待',
+                    'amount10' => ($order->total_amount/100).'元',
+                ]
+            ];
+//            $list = $app->subscribe_message->getTemplates();
+            $res = $app->subscribe_message->send([
+                'touser' =>'oYmUA5A1OIqtpA1XSrw35tbjtv1w',
+                'template_id' => 'M9b6PPKtD7PEqLsSnQ453iTIHtIZZpixOBjUjax8YXU',
+                'page' => '/pages/common_tools/my_consulting/consultingInfo?order_id='.$orderId,
+                'data' => [
+                    'phrase1' => $orderType,
+                    'name3' => $name,
+                    'date4' => date('Y-m-d H:i:s'),
+                    'thing8' => '你有一笔'.$orderType.'订单已成功下单请耐心等待',
+                    'amount10' => ($order->total_amount/100).'元',
+                ]
+            ]);
+        }
+
+//        oVxTzvgYlGktIDZXwfLMLQ01Tr5s 自己 oVxTzvhu4gs4RyCt4kJDRWOgsUXw周璐 oVxTzvgu4XnI5F2aF7DcrbJIp5fI 间行 oVxTzvl8DYQblYmLCIK3UXW_8jAY 落雨桐
+//        $renyuan = ['o481Y5AtcbnOQef1vc4rL4TwYpDU', 'oVxTzvgYlGktIDZXwfLMLQ01Tr5s']; //周璐
+
+        if($res['errcode'] == 0) return apiReturn(200,'发送成功');
+        return apiReturn($res['errcode'],$res['errmsg']);
+    }
+}

+ 1 - 1
app/Models/UserCoupon.php

xqd
@@ -50,6 +50,6 @@ class UserCoupon extends BaseModel
 
     public function couponType()
     {
-        return $this->hasMany(CouponType::class);
+        return $this->hasMany(CouponType::class,'coupon_id','coupon_id');
     }
 }