diff --git a/Laravel/app/Http/Controllers/API/H5/ComboController.php b/Laravel/app/Http/Controllers/API/H5/ComboController.php index efccb2d..8ad28da 100644 --- a/Laravel/app/Http/Controllers/API/H5/ComboController.php +++ b/Laravel/app/Http/Controllers/API/H5/ComboController.php @@ -362,10 +362,12 @@ select combo_id as c_id,count(*) as sale_count from orders where status in(2,4) } } $items_info = false;//自选项目信息 + $zixuan_item=[]; if (isset($item_ids) and !empty($item_ids)) { $item_price = 0; $items_original_price = 0; $items = DB::table('items')->whereIn('item_id', $item_ids)->where(['status' => 1])->get(); + $zixuan_item=$items; $groupedData = []; foreach ($items as $item) { //判断套餐项目和自选项目是否冲突 @@ -454,6 +456,17 @@ select combo_id as c_id,count(*) as sale_count from orders where status in(2,4) } } $group_info[0]['items'] =array_merge($group_info[0]['items'],$Nx1_arrInfo); //合并多选一 + + foreach ($zixuan_item as $item) { + //判断团检套餐项目和自选项目是否冲突 + if (isset( $group_info[0]['items'])) { + foreach ( $group_info[0]['items'] as $group_info_item) { + if ($group_info_item['id'] == $item->item_id) return \Yz::echoError1($item->name . "已经存在,不可重复选择"); + } + } + } + + // return \Yz::Return(true,"",$group_info[0]['items']); $all_items = DB::table('items')->where(['status' => 1])->get(); $item_new = []; diff --git a/Laravel/app/Http/Controllers/API/H5/OrderController.php b/Laravel/app/Http/Controllers/API/H5/OrderController.php index 16b6e3a..2709207 100644 --- a/Laravel/app/Http/Controllers/API/H5/OrderController.php +++ b/Laravel/app/Http/Controllers/API/H5/OrderController.php @@ -335,7 +335,7 @@ class OrderController extends Controller $true_price = $true_price - ($jifen + $yucunkuan); if ($true_price < -1) return \Yz::echoError1("预抵扣金额超过订单金额,操作失败"); if ($true_price < 0) $true_price = 0; -//如果有二线号源,根据体检时间查询二线可用号源,区分上下午 +//如果有二线号源,根据体检时间查询二线可用号源,区分上下午,二线需预约体检时间1小时后 $plan_nmr_info=[]; if (isset($erxian_info) and !empty($erxian_info)) { foreach ($erxian_info as $erxian_item) { @@ -344,8 +344,11 @@ class OrderController extends Controller if($plan->time>"12:00") $end_time="23:59"; if(!isset($nmrPlans[$plan->date]) or empty($nmrPlans[$plan->date])) return \Yz::echoError1("二线号源不可用,请重新选则日期"); $temp_date=[]; + $planTime = new DateTime($plan->time); + $planTime->modify('+1 hour'); + $plan_time=$planTime->format('H:i'); foreach ($nmrPlans[$plan->date] as $nmp_p){ - if($nmp_p['Time']>=substr($plan->time,0,5) and $nmp_p['Time']<=$end_time and $nmp_p['keyong']==="0"){ + if($nmp_p['Time']>=$plan_time and $nmp_p['Time']<=$end_time and $nmp_p['keyong']==="0"){ $temp_date=[ "item_id"=>$erxian_item['item_id'], "name"=>$erxian_item['name'], @@ -424,6 +427,7 @@ class OrderController extends Controller 'wj_flag' => $wj_flag, 'youhuiquan' => $quanInfo === false ? '' : json_encode(['id' => $quanInfo['DZJID'], 'name' => $quanInfo['DZJLBMC']], JSON_UNESCAPED_UNICODE), 'created_at' => $now_datetime, + 'paycheck_time'=>$now_datetime ]; @@ -584,7 +588,7 @@ class OrderController extends Controller $up_doctor=DB::table('orders')->where('id', $orderid)->update(['doctor' => $doctor]); return \Yz::Return(true,"操作完成",[]); } - //如果有二线号源,根据体检时间查询二线可用号源,区分上下午 + //如果有二线号源,根据体检时间查询二线可用号源,区分上下午,二线需预约体检时间1小时后 $db_nmr_info=json_decode($orderInfo->erxian_appointment_info,true); $nmr_info=[]; if (isset($db_nmr_info) and !empty($db_nmr_info)) { @@ -594,8 +598,11 @@ class OrderController extends Controller if($planInfo->time>"12:00") $end_time="23:59"; if(!isset($nmrPlans[$planInfo->date]) or empty($nmrPlans[$planInfo->date])) return \Yz::echoError1("二线号源不可用,请重新选则日期"); $temp_date=[]; + $planTime = new DateTime($planInfo->time); + $planTime->modify('+1 hour'); + $plan_time=$planTime->format('H:i'); foreach ($nmrPlans[$planInfo->date] as $nmp_p){ - if($nmp_p['Time']>=substr($planInfo->time,0,5) and $nmp_p['Time']<=$end_time and $nmp_p['keyong']==="0"){ + if($nmp_p['Time']>=$plan_time and $nmp_p['Time']<=$end_time and $nmp_p['keyong']==="0"){ $temp_date=[ "item_id"=>$erxian_item['item_id'], "name"=>$erxian_item['name'], @@ -1039,13 +1046,18 @@ class OrderController extends Controller //判断如果支付成功,更改订单状态 if ($res['data']['trade_state'] === 'SUCCESS') { $order = DB::table('orders')->where(['order_number' => $order_number])->first(); - DB::table('orders')->where(['id' => $order->id])->update([ - 'status' => 2, - 'pay_time' => date('Y-m-d H:i:s'), - ]); - $Finish = new OrderController();//预约体检 - $Finish->Finish($order_number); - return \Yz::Return(true, "支付成功", ['id' => $order->id]); + if($order->status == 1){ + DB::table('orders')->where(['id' => $order->id])->update([ + 'status' => 2, + 'pay_time' => date('Y-m-d H:i:s'), + ]); + $Finish = new OrderController();//预约体检 + $Finish->Finish($order_number); + return \Yz::Return(true, "支付成功", ['id' => $order->id]); + }else{ + return \Yz::echoError1("状态非1无需执行。状态:".$order->status); + } + } else { return \Yz::echoError1("未支付" . $res['data']['trade_state']); } diff --git a/Laravel/app/Http/Controllers/API/H5/PayController.php b/Laravel/app/Http/Controllers/API/H5/PayController.php index 7686b36..71b73d7 100644 --- a/Laravel/app/Http/Controllers/API/H5/PayController.php +++ b/Laravel/app/Http/Controllers/API/H5/PayController.php @@ -87,12 +87,15 @@ class PayController extends Controller //判断如果支付成功,更改订单状态 if ($res['data']['trade_state'] === 'SUCCESS') { $order = DB::table('orders')->where(['order_number' => $order_number])->first(); - DB::table('orders')->where(['id' => $order->id])->update([ - 'status' => 2, - 'pay_time' => date('Y-m-d H:i:s'), - ]); - $Finish = new OrderController();//预约体检 - $Finish->Finish($order_number); + if($order->status == 1){ + DB::table('orders')->where(['id' => $order->id])->update([ + 'status' => 2, + 'pay_time' => date('Y-m-d H:i:s'), + ]); + $Finish = new OrderController();//预约体检 + $Finish->Finish($order_number); + } + return \Yz::Return(true, "支付成功", ['id' => $order->id]); } else { return \Yz::echoError1("支付失败" . $res['data']['trade_state']); diff --git a/Laravel/routes/web.php b/Laravel/routes/web.php index ac7f5b4..415fe36 100644 --- a/Laravel/routes/web.php +++ b/Laravel/routes/web.php @@ -72,7 +72,6 @@ Route::group(['middleware' => ['log'],'prefix' => 'api/H5'], function () { Route::post('/HunQianQuestionSubmit', 'App\Http\Controllers\API\H5\QuestionController@HunQianQuestionSubmit');//婚前问卷提交 Route::post('/hunjianBySFZ', 'App\Http\Controllers\API\H5\UserController@hunjianBySFZ');//根据身份证查询建档信息 Route::post('/CheckedSignIn', 'App\Http\Controllers\API\H5\OrderController@CheckedSignIn');//检后签到 - Route::post('/RoundPayCheck', 'App\Http\Controllers\API\H5\OrderController@RoundPayCheck');//检后签到 @@ -95,8 +94,9 @@ Route::any('/TJPushInfo', 'App\Http\Controllers\API\Internal\SiXinPushController Route::any('/TJCheck', 'App\Http\Controllers\API\Internal\OrderController@TJCheck')->middleware('log');//到检 Route::any('/OrderBatchCancel', 'App\Http\Controllers\API\H5\OrderController@BatchCancel');//批量取消 -Route::any('/GetH5Order', 'App\Http\Controllers\API\Internal\OrderController@GetH5Order')->middleware('log');;//获取已经预约未到检订单 -Route::any('/PlanList', 'App\Http\Controllers\API\Internal\PlanController@PlanList')->middleware('log');;//获取可用号源列表 -Route::any('/UsePlan', 'App\Http\Controllers\API\Internal\PlanController@UsePlan')->middleware('log');;//占用号源 -Route::any('/CancelUsePlan', 'App\Http\Controllers\API\Internal\PlanController@CancelUsePlan')->middleware('log');;//取消占用号源 +Route::any('/GetH5Order', 'App\Http\Controllers\API\Internal\OrderController@GetH5Order')->middleware('log');//获取已经预约未到检订单 +Route::any('/PlanList', 'App\Http\Controllers\API\Internal\PlanController@PlanList')->middleware('log');//获取可用号源列表 +Route::any('/UsePlan', 'App\Http\Controllers\API\Internal\PlanController@UsePlan')->middleware('log');//占用号源 +Route::any('/CancelUsePlan', 'App\Http\Controllers\API\Internal\PlanController@CancelUsePlan')->middleware('log');//取消占用号源 +Route::post('/RoundPayCheck', 'App\Http\Controllers\API\H5\OrderController@RoundPayCheck');//轮询支付检查 diff --git a/bot/bot/bot_payCheck.php b/bot/bot/bot_payCheck.php index 076d9f4..66111cd 100644 --- a/bot/bot/bot_payCheck.php +++ b/bot/bot/bot_payCheck.php @@ -9,7 +9,7 @@ $bot_loop->count = 1; $bot_loop->name = 'PayCheck'; function PayCheck($order_number) { - Tool::log('开始执行任务', 2); + Tool::log('开始执行PayCheck任务', 2); $url = Tool::ini('PAY_CHECK'); $res = Tool::post($url, [ 'order_number' => $order_number @@ -31,7 +31,7 @@ function PayCheckFunc() ]); PayCheck($pay_check['order_number']); } else { - Tool::log('未检测到任务'); + Tool::log('PayCheck未检测到任务'); } }