From 41d684a0452ea515f78c8b826ce453993f32256e Mon Sep 17 00:00:00 2001 From: yanzai Date: Fri, 28 Feb 2025 23:54:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Http/Controllers/API/ApiMapController.php | 1 + .../Controllers/API/H5/ComboController.php | 2 +- .../Controllers/API/H5/FenzhenController.php | 3 ++ .../Controllers/API/H5/HomeController.php | 30 ++++++++++++ .../Controllers/API/H5/OrderController.php | 8 +++- .../Controllers/API/H5/OrderNewController.php | 6 +-- .../Http/Controllers/API/H5/PayController.php | 3 +- .../API/Internal/OrderController.php | 3 +- Laravel/app/Services/OrderService.php | 4 +- Laravel/public/tool/register.html | 2 + Laravel/routes/web.php | 1 + bot/bot/bot_payCheck.php | 2 +- h5/pages/buy/choose/sanfang.vue | 5 ++ h5/pages/main/combo/combo.vue | 7 +-- h5/pages/main/index/index.vue | 37 ++++++++++++++- h5/pages/main/tj/tjxq.vue | 2 +- h5/pages/main/yytjsj/yytjsj_new.vue | 46 ++++++++++++++++--- .../uni-easyinput/uni-easyinput.vue | 2 +- 18 files changed, 140 insertions(+), 24 deletions(-) diff --git a/Laravel/app/Http/Controllers/API/ApiMapController.php b/Laravel/app/Http/Controllers/API/ApiMapController.php index 1fad228..21b4a26 100644 --- a/Laravel/app/Http/Controllers/API/ApiMapController.php +++ b/Laravel/app/Http/Controllers/API/ApiMapController.php @@ -96,6 +96,7 @@ class ApiMapController extends Controller 'GetSanFangList' => $base_url . '/api/H5/GetSanFangList', // 获取三方机构列表 'GetSanFangCode' => $base_url . '/api/H5/GetSanFangCode', // 获取三方机构code 'HeXiaoSanFangCode' => $base_url . '/api/H5/HeXiaoSanFangCode', // 核销三方机构code + 'GetHomeNotice' => $base_url . '/api/H5/GetHomeNotice', // 首页消息通知 ]; } diff --git a/Laravel/app/Http/Controllers/API/H5/ComboController.php b/Laravel/app/Http/Controllers/API/H5/ComboController.php index 0089ca3..7bf572f 100644 --- a/Laravel/app/Http/Controllers/API/H5/ComboController.php +++ b/Laravel/app/Http/Controllers/API/H5/ComboController.php @@ -293,7 +293,7 @@ FROM combos;"); //获取套餐类型、适用人群 public function GetComboSort() { - $type = DB::table('combo_type')->get(); + $type = DB::table('combo_type')->where('name','<>','专家定制')->get(); $crowd = DB::table('combo_crowd')->get(); $sort_list = [ ["id" => 1, 'name' => '综合排序'], diff --git a/Laravel/app/Http/Controllers/API/H5/FenzhenController.php b/Laravel/app/Http/Controllers/API/H5/FenzhenController.php index e5fb378..0e3edf8 100644 --- a/Laravel/app/Http/Controllers/API/H5/FenzhenController.php +++ b/Laravel/app/Http/Controllers/API/H5/FenzhenController.php @@ -84,6 +84,9 @@ class FenzhenController extends Controller $id = request('id'); $info = DB::table('orders')->where(['id' => $id])->whereIn('status', [2, 4])->first(); if (!$info) return \Yz::echoError1("查询就诊人订单失败"); + if($info->check_read_status==1){ + DB::table('orders')->where('id', $id)->update(['check_read_status' => 2]); + } $end_time = date('H:i', strtotime($info->appointment_date . ' ' . $info->appointment_time) + (60 * 60 * 0.54)); $clinics = []; $order = new OrderService(); diff --git a/Laravel/app/Http/Controllers/API/H5/HomeController.php b/Laravel/app/Http/Controllers/API/H5/HomeController.php index b16b9a4..85e8dfb 100644 --- a/Laravel/app/Http/Controllers/API/H5/HomeController.php +++ b/Laravel/app/Http/Controllers/API/H5/HomeController.php @@ -169,6 +169,36 @@ class HomeController extends Controller ]; return \Yz::Return(true, "查询完成", ['list' => $list]); } + //获取首页相关信息通知 + public function GetHomeNotice() + { + $openid = request('openid'); + $person_id = request('person_id'); + $id_number = request('id_number'); + $user = DB::table('web_users')->where(['openid' => $openid, 'is_del' => 0])->first(); + if (!$user) return \Yz::echoError1("openid对应用户不存在"); + $order_count=0; + $tjyd_count=0;//体检引导 + $bgcx_count=0;//报告查询 + $order_count=DB::table('orders')->where(['web_user_id'=>$user->id,'status'=>2]) + ->where(function($query) { + $query->where('appointment_number', '=', '') + ->orWhereNull('appointment_number'); + })->count(); + if(isset($person_id)){ + $tjyd_count=DB::table('orders')->where(['person_id'=>$person_id,'status'=>4,'check_read_status'=>1])->count(); + } + if(isset($id_number)){ + $bgcx_count=DB::table('report_l1_records')->where(['证件号码'=>$id_number,'is_read'=>0])->whereIn('体检状态',['报告已出','总检完成'])->count(); + } + + $return_data=[ + ['label'=>'我的订单','value' => $order_count], + ['label'=>'体检引导','value' => $tjyd_count], + ['label'=>'报告查询','value' => $bgcx_count] + ]; + return \Yz::Return(true,"查询完成",$return_data); + } function getValueByLabel($items, $label) { diff --git a/Laravel/app/Http/Controllers/API/H5/OrderController.php b/Laravel/app/Http/Controllers/API/H5/OrderController.php index 4b67037..bccbf24 100644 --- a/Laravel/app/Http/Controllers/API/H5/OrderController.php +++ b/Laravel/app/Http/Controllers/API/H5/OrderController.php @@ -179,6 +179,7 @@ class OrderController extends Controller $Nx1_arrInfo = []; $TJ_Leixing_id = 1;//存储用体检类型 $checkup_type_id = false; //体检类型id + $cha_sanfang_code=false; if (isset($combo_id) and $combo_id <> 0) { $combo_info = DB::table('combos')->where(['combo_id' => $combo_id, 'status' => 1])->first(); if (!$combo_info) return \Yz::echoError1("套餐不存在"); @@ -214,7 +215,7 @@ class OrderController extends Controller $TJ_Leixing_id = $checkup_type_id; $price += $combo_info->price; //如果使用了第三方券 - $cha_sanfang_code=false; + if(isset($sanfang_code) and isset($sanfang_code['code_num'])){ if($sanfang_code['combo_id']<>$combo_id) return \Yz::echoError1("转赠码与套餐不匹配"); //校验有效性,临时抵消套餐价格 @@ -795,6 +796,11 @@ class OrderController extends Controller 'appointment_time' => $planInfo->time, 'doctor' => isset($doctor) ? $doctor : null, ]); + $is_sendMsg = DB::table('configs')->where(['label' => '预约完成短信通知'])->first(); + if (!!$is_sendMsg and $is_sendMsg->value == 1 and strlen($orderInfo->phone)>0) { + $asp = new AspNetZhuanController(); + $asp::SendMsg($orderInfo->hospital_id, $orderInfo->phone, $orderInfo->name, $planInfo->date . ' ' . substr($planInfo->time, 0, 5),$orderInfo->sex); + } } return \Yz::Return(true, "操作完成", []); } diff --git a/Laravel/app/Http/Controllers/API/H5/OrderNewController.php b/Laravel/app/Http/Controllers/API/H5/OrderNewController.php index f29590a..9f0a4be 100644 --- a/Laravel/app/Http/Controllers/API/H5/OrderNewController.php +++ b/Laravel/app/Http/Controllers/API/H5/OrderNewController.php @@ -28,7 +28,7 @@ class OrderNewController extends Controller $configs_youxiaoqi=DB::table('configs')->where(['label'=>"订单有效期"])->first(); $date = new DateTime(); - $date->modify('+'.$configs_youxiaoqi['value'].' days'); + $date->modify('+'.$configs_youxiaoqi->value.' days'); $youxiaoqi_end=$date->format('Y-m-d'); if (count($item_ids) != 0 and $item_ids[0] == "") { @@ -94,6 +94,7 @@ class OrderNewController extends Controller $Nx1_arrInfo = []; $TJ_Leixing_id = 1;//存储用体检类型 $checkup_type_id = false; //体检类型id + $cha_sanfang_code=false; if (isset($combo_id) and $combo_id <> 0) { $combo_info = DB::table('combos')->where(['combo_id' => $combo_id, 'status' => 1])->first(); if (!$combo_info) return \Yz::echoError1("套餐不存在"); @@ -132,7 +133,6 @@ class OrderNewController extends Controller $TJ_Leixing_id = $checkup_type_id; $price += $combo_info->price; //如果使用了第三方券 - $cha_sanfang_code=false; if(isset($sanfang_code) and isset($sanfang_code['code_num'])){ if($sanfang_code['combo_id']<>$combo_id) return \Yz::echoError1("转赠码与套餐不匹配"); //校验有效性,临时抵消套餐价格 @@ -188,7 +188,7 @@ class OrderNewController extends Controller // if (isset($wj_flag) and $wj_flag == 1) { // $item_price = $item_price * $wj_zhekou; // } - $item_price = $item_price *0.8; //所有自选项目打8折 + $item_price = $item_price * config('app.globals.ZiXuan_ZheKou'); //所有自选项目打8折 $price += $item_price; $missingIds = array_diff($item_ids, $existingIds); diff --git a/Laravel/app/Http/Controllers/API/H5/PayController.php b/Laravel/app/Http/Controllers/API/H5/PayController.php index 384142d..7e0fea7 100644 --- a/Laravel/app/Http/Controllers/API/H5/PayController.php +++ b/Laravel/app/Http/Controllers/API/H5/PayController.php @@ -86,6 +86,7 @@ class PayController extends Controller $XCX = new XCXApiController(); $res = $XCX::Post('订单查询', ['orderid' => $order_number]); //判断如果支付成功,更改订单状态 + $is_yuyue=false;//是否已经勾选号源 if ($res['data']['trade_state'] === 'SUCCESS') { $order = DB::table('orders')->where(['order_number' => $order_number])->first(); if($order->status == 1){ @@ -93,7 +94,7 @@ class PayController extends Controller 'status' => 2, 'pay_time' => date('Y-m-d H:i:s'), ]); - $is_yuyue=false;//是否已经勾选号源 + if(!!$order->plan_id){ $is_yuyue=true; $Finish = new OrderController();//预约体检 diff --git a/Laravel/app/Http/Controllers/API/Internal/OrderController.php b/Laravel/app/Http/Controllers/API/Internal/OrderController.php index 78fe3e2..95e05eb 100644 --- a/Laravel/app/Http/Controllers/API/Internal/OrderController.php +++ b/Laravel/app/Http/Controllers/API/Internal/OrderController.php @@ -38,7 +38,8 @@ class OrderController extends Controller // 'tj_number'=>$info['data'][0]['体检号'], 'tj_number' => $exam_id, 'check_status' => 2, - 'check_time' => date('Y-m-d H:i:s') + 'check_time' => date('Y-m-d H:i:s'), + 'check_read_status'=>1 ]); return \Yz::Return(true, "", ['id' => $orderInfo->id]); } else { diff --git a/Laravel/app/Services/OrderService.php b/Laravel/app/Services/OrderService.php index c4e3ae6..dd86aac 100644 --- a/Laravel/app/Services/OrderService.php +++ b/Laravel/app/Services/OrderService.php @@ -314,8 +314,8 @@ class OrderService if (!$newOrderInfo) return ['status'=>false,'msg'=>"id:".$NewOrderid.",未找到有效订单"]; if ($newOrderInfo->status!== 2) return ['status'=>false,'msg'=>"id:".$NewOrderid."订单状态异常。当前状态:". $newOrderInfo->status]; if (!empty($newOrderInfo->person_id)) return ['status'=>false,'msg'=>"id:".$NewOrderid."已被接收,禁止取消:"]; - if(strstr($newOrderInfo->from,"from")){ - $from=explode("from",$newOrderInfo->from); + if(strstr($newOrderInfo->source,"from")){ + $from=explode("from",$newOrderInfo->source); if(count($from)<>2) return ['status'=>false,'msg'=>"id:".$NewOrderid."接收转赠异常,无法取消"]; $oldOrderid=$from[1]; }else{ diff --git a/Laravel/public/tool/register.html b/Laravel/public/tool/register.html index f97e366..5cb5f2d 100644 --- a/Laravel/public/tool/register.html +++ b/Laravel/public/tool/register.html @@ -928,6 +928,8 @@ } const plan_list = ref([]) const getPlanList = async () => { + if(input_data.value.gender==='男') input_data.value.gender="1" + if(input_data.value.gender==='女') input_data.value.gender="2" const response = await axios.post($api("GetDayPlanList"), { hospital: input_data.value.hospital, openid: "", diff --git a/Laravel/routes/web.php b/Laravel/routes/web.php index 83cec03..0902cee 100644 --- a/Laravel/routes/web.php +++ b/Laravel/routes/web.php @@ -88,6 +88,7 @@ Route::group(['middleware' => ['log'],'prefix' => 'api/H5'], function () { Route::post('/GetSanFangList', 'App\Http\Controllers\API\H5\SanFangController@GetSanFangList');//获取三方机构列表 Route::post('/GetSanFangCode', 'App\Http\Controllers\API\H5\SanFangController@GetSanFangCode');//获取三方code Route::post('/HeXiaoSanFangCode', 'App\Http\Controllers\API\H5\SanFangController@HeXiaoSanFangCode');//核销三方code + Route::post('/GetHomeNotice', 'App\Http\Controllers\API\H5\HomeController@GetHomeNotice');//首页消息通知 diff --git a/bot/bot/bot_payCheck.php b/bot/bot/bot_payCheck.php index 66111cd..4640bb5 100644 --- a/bot/bot/bot_payCheck.php +++ b/bot/bot/bot_payCheck.php @@ -23,7 +23,7 @@ function PayCheckFunc() $pay_check = $db->getRow("select * from orders where status = ? and order_number is not null order by paycheck_time asc", [ 1, ]); - if (!!$pay_check ) { + if (!!$pay_check and strtotime($pay_check['paycheck_time'])>strtotime($pay_check['created_at']) + 60) { Db2::u($db, 'orders', [ 'paycheck_time' => date('Y-m-d H:i:s'), ], 'where id = ?', [ diff --git a/h5/pages/buy/choose/sanfang.vue b/h5/pages/buy/choose/sanfang.vue index 8d27642..04624e1 100644 --- a/h5/pages/buy/choose/sanfang.vue +++ b/h5/pages/buy/choose/sanfang.vue @@ -114,6 +114,11 @@ +