|
@@ -3,6 +3,7 @@
|
|
namespace App\Console\Commands;
|
|
namespace App\Console\Commands;
|
|
|
|
|
|
use App\Http\Controllers\Api\V2\PatientController;
|
|
use App\Http\Controllers\Api\V2\PatientController;
|
|
|
|
+use App\Models\Docter;
|
|
use App\Models\DocterOrganization;
|
|
use App\Models\DocterOrganization;
|
|
use App\Models\Order;
|
|
use App\Models\Order;
|
|
use App\Models\SystemConfig;
|
|
use App\Models\SystemConfig;
|
|
@@ -81,21 +82,30 @@ class overTimeOrder extends Command
|
|
public function AppointReminder($id=''){
|
|
public function AppointReminder($id=''){
|
|
if (!empty($id)){
|
|
if (!empty($id)){
|
|
// order_trace(['类型'=>'订单超时提醒','订单id'=>$id,'记录时间'=>date('Ymd His',time())],'info');
|
|
// order_trace(['类型'=>'订单超时提醒','订单id'=>$id,'记录时间'=>date('Ymd His',time())],'info');
|
|
-
|
|
|
|
- $Order = Order::with(['orderPatient','docter','user'])->where(['id'=>$id,'order_status'=>3,'payment_status'=>2])->first();
|
|
|
|
|
|
+ $Order = Order::with(['orderPatient','docter','user'])->where(['id'=>$id])->first();
|
|
$send = send_wechatSubscription_message('appoint_reminder',[$Order['docter']['openid'], "pages/index/index",$Order['order_sn'],$Order['user']['nickname'],$Order['user']['phone'],$Order['created_at']]);
|
|
$send = send_wechatSubscription_message('appoint_reminder',[$Order['docter']['openid'], "pages/index/index",$Order['order_sn'],$Order['user']['nickname'],$Order['user']['phone'],$Order['created_at']]);
|
|
}else{
|
|
}else{
|
|
- $beginToday=mktime(0,0,0,date('m'),date('d'),date('Y'));
|
|
|
|
- $endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;
|
|
|
|
- $Order = Order::with(['orderPatient','docter','user'])->where(['order_status'=>3,'payment_status'=>2,'product_type'=>3])->whereBetween('receiving_time',[$beginToday,$endToday])->get();
|
|
|
|
|
|
+ $menNewIds = [];
|
|
|
|
+// $beginToday=mktime(0,0,0,date('m'),date('d'),date('Y'));
|
|
|
|
+// $endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;
|
|
|
|
+ $Order = Order::with(['orderPatient','docter','user'])->where(['order_status'=>7,'payment_status'=>2])->orWhere(function ($query){
|
|
|
|
+ $query->where(['order_status'=>3,'payment_status'=>2]);
|
|
|
|
+ })->get();
|
|
foreach ($Order as $k=>$v){
|
|
foreach ($Order as $k=>$v){
|
|
- if ($v['docter']){
|
|
|
|
- if ($v['docter']['openid']){
|
|
|
|
-// order_trace(['类型'=>'订单超时提醒','订单id'=>$v['id'],'记录时间'=>date('Ymd His',time())],'info');
|
|
|
|
- $send = send_wechatSubscription_message('appoint_reminder',[$v['docter']['openid'], "pages/index/index",$v['order_sn'],$v['user']['nickname'],$v['user']['phone'],$v['created_at']]);
|
|
|
|
|
|
+ if($v['product_type']==3 || $v['product_type']==4 || $v['product_type']==5){
|
|
|
|
+ if (time() > $v['appoint_end_time']){
|
|
|
|
+ if ($v['docter']['openid']){
|
|
|
|
+ $menNewIds[$k] = $v['id'];
|
|
|
|
+ $send = send_wechatSubscription_message('appoint_reminder',[$v['docter']['openid'], "pages/index/index",$v['order_sn'],$v['user']['nickname'],$v['user']['phone'],$v['created_at']]);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ if ($menNewIds){
|
|
|
|
+ // 操作门诊订单为已超时
|
|
|
|
+ order_trace(['订单类型'=>'预约订单','订单id组'=>$menNewIds,'超时时间'=>date('Ymd His',time())],'info');
|
|
|
|
+ Order::whereIn('id',$menNewIds)->update(['order_status'=>6]);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -171,9 +181,6 @@ class overTimeOrder extends Command
|
|
* DateTime: 2021/3/4 17:44
|
|
* DateTime: 2021/3/4 17:44
|
|
*/
|
|
*/
|
|
public function timeOrdersComplete(){
|
|
public function timeOrdersComplete(){
|
|
-// $user = $this->user;
|
|
|
|
-// $docter_id = $user['id'];
|
|
|
|
-// $patient = new PatientController();
|
|
|
|
$config_chat = SystemConfig::get('docter_config','chat_complete_time');
|
|
$config_chat = SystemConfig::get('docter_config','chat_complete_time');
|
|
$config_phone = SystemConfig::get('docter_config','phone_complete_time');
|
|
$config_phone = SystemConfig::get('docter_config','phone_complete_time');
|
|
// 换算为秒
|
|
// 换算为秒
|
|
@@ -184,16 +191,17 @@ class overTimeOrder extends Command
|
|
foreach ($inOrder as $k=>$v){
|
|
foreach ($inOrder as $k=>$v){
|
|
if ($v['product_type']==1){
|
|
if ($v['product_type']==1){
|
|
if ((time()-$v['receiving_time'])>=$config_chat){
|
|
if ((time()-$v['receiving_time'])>=$config_chat){
|
|
|
|
+ Docter::where('id', '=', $v['docter_id'])->increment('service_persons');
|
|
$catNewIds[$k] = $v['id'];
|
|
$catNewIds[$k] = $v['id'];
|
|
$this->ReceivingReminderOK($v['id']);
|
|
$this->ReceivingReminderOK($v['id']);
|
|
}
|
|
}
|
|
}else if($v['product_type']==2){
|
|
}else if($v['product_type']==2){
|
|
if ((time()-$v['receiving_time'])>=$config_phone){
|
|
if ((time()-$v['receiving_time'])>=$config_phone){
|
|
|
|
+ Docter::where('id', '=', $v['docter_id'])->increment('service_persons');
|
|
$catNewIds[$k] = $v['id'];
|
|
$catNewIds[$k] = $v['id'];
|
|
$this->ReceivingReminderOK($v['id']);
|
|
$this->ReceivingReminderOK($v['id']);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
}
|
|
}
|
|
if ($catNewIds){
|
|
if ($catNewIds){
|
|
// 操作图文和电话订单为已完成
|
|
// 操作图文和电话订单为已完成
|
|
@@ -208,17 +216,17 @@ class overTimeOrder extends Command
|
|
* DateTime: 2021/3/4 17:48
|
|
* DateTime: 2021/3/4 17:48
|
|
*/
|
|
*/
|
|
public function clinicOverTimeOrders(){
|
|
public function clinicOverTimeOrders(){
|
|
- $inOrder = Order::with('orderPatient')->where(['order_status'=>7,'payment_status'=>2])->get();
|
|
|
|
|
|
+ $inOrder = Order::with('orderPatient')->where(['order_status'=>7,'payment_status'=>2])->orWhere(function ($query){
|
|
|
|
+ $query->where(['order_status'=>3,'payment_status'=>2]);
|
|
|
|
+ })->get();
|
|
$menNewIds = [];
|
|
$menNewIds = [];
|
|
-
|
|
|
|
foreach ($inOrder as $k=>$v){
|
|
foreach ($inOrder as $k=>$v){
|
|
if($v['product_type']==3 || $v['product_type']==4 || $v['product_type']==5){
|
|
if($v['product_type']==3 || $v['product_type']==4 || $v['product_type']==5){
|
|
-// if ((time()-$v['receiving_time'])>=(1*60*60*24)){
|
|
|
|
- $menNewIds[$k] = $v['id'];
|
|
|
|
- $this->AppointReminder($v['id']);
|
|
|
|
-// }
|
|
|
|
|
|
+ if (time() > $v['appoint_end_time']){
|
|
|
|
+ $menNewIds[$k] = $v['id'];
|
|
|
|
+ $this->AppointReminder($v['id']);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
-
|
|
|
|
}
|
|
}
|
|
if ($menNewIds){
|
|
if ($menNewIds){
|
|
// 操作门诊订单为已超时
|
|
// 操作门诊订单为已超时
|
|
@@ -320,6 +328,7 @@ class overTimeOrder extends Command
|
|
}elseif ($Order['product_type']==3){
|
|
}elseif ($Order['product_type']==3){
|
|
$type = '门诊预约';
|
|
$type = '门诊预约';
|
|
}
|
|
}
|
|
|
|
+
|
|
order_trace(['订单类型'=>$type,'订单id'=>$Order,'操作时间'=>date('Ymd His',time())],'info');
|
|
order_trace(['订单类型'=>$type,'订单id'=>$Order,'操作时间'=>date('Ymd His',time())],'info');
|
|
|
|
|
|
if ($Order){
|
|
if ($Order){
|