From 825a5e3adc4c24d61d524af562d296c2b970a33b Mon Sep 17 00:00:00 2001 From: yanzai Date: Fri, 13 Sep 2024 23:04:11 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9A=E4=B9=89=E5=B0=8F=E7=A8=8B=E5=BA=8F?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3=E6=96=B9=E6=B3=95=E3=80=81?= =?UTF-8?q?=E5=9B=A2=E6=A3=80=E7=99=BB=E8=AE=B0=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Http/Controllers/API/H5/PayController.php | 84 +++++++++++++++---- .../Controllers/API/H5/PersonController.php | 37 ++++++++ .../Controllers/API/PEISApiController.php | 1 + .../Http/Controllers/API/XCXApiController.php | 5 +- 4 files changed, 111 insertions(+), 16 deletions(-) create mode 100644 Laravel/app/Http/Controllers/API/H5/PersonController.php diff --git a/Laravel/app/Http/Controllers/API/H5/PayController.php b/Laravel/app/Http/Controllers/API/H5/PayController.php index 189c0cf..3e560b3 100644 --- a/Laravel/app/Http/Controllers/API/H5/PayController.php +++ b/Laravel/app/Http/Controllers/API/H5/PayController.php @@ -2,29 +2,85 @@ namespace App\Http\Controllers\API\H5; +use App\Http\Controllers\API\XCXApiController; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; class PayController extends Controller { - //支付回调 + //支付回调.弃用!!!! public function Notify() { - $order_num =request('order_num'); - $status =request('status'); - $pay_info =request('pay_info'); - if(!isset($order_num)) return \Yz::echoError1("订单号不能为空"); - $order=DB::table('orders')->where(['order_number'=>$order_num])->first(); - if(!$order) return \Yz::echoError1("订单不存在"); - if($status=='SUCCESS'){ - $u=DB::table('orders')->where(['order_number'=>$order_num])->update([ - 'status'=>2 - ]); - if($u){ - return \Yz::Return(true,"更新成功",['order_num'=>$order_num]); - } + $order_num = request('order_num'); + $status = request('status'); + $pay_info = request('pay_info'); + if (!isset($order_num)) return \Yz::echoError1("订单号不能为空"); + $order = DB::table('orders')->where(['order_number' => $order_num])->first(); + if (!$order) return \Yz::echoError1("订单不存在"); + if ($status == 'SUCCESS') { + $u = DB::table('orders')->where(['order_number' => $order_num])->update([ + 'status' => 2 + ]); + if ($u) { + return \Yz::Return(true, "更新成功", ['order_num' => $order_num]); + } } } + + public function StartPay() + { + $id = request('id'); + $orderInfo = DB::table('orders')->where(['id' => $id,])->first(); + if (!$orderInfo) return \Yz::echoError1("未找到有效订单"); + if ($orderInfo->status !== 1) return \Yz::echoError1("订单不是待支付状态不能支付。当前状态:" . $orderInfo->status); + $personInfo = DB::table('web_user_person')->where(['id' => $orderInfo->person_id, 'is_del' => 0])->first(); + if (!$personInfo) return \Yz::echoError1("就诊人异常"); + + $params = [ + 'appId' => "1111111111111111", + 'ghzid' => $personInfo->ghzid, + 'orderid' => $orderInfo->order_number, + 'order_desc' => $orderInfo->title, + 'amount' => $orderInfo->true_price * 100, + 'timestamp' => (string)time(), + 'nonce' => self::nonce(), + ]; + //签名规则? + $params['sign'] = ''; + $params['notify_url'] = ''; + $XCX = new XCXApiController(); + $data = $XCX::Post('订单支付', $params); + } + + //订单支付查询 + public function CheckPay() + { + $order_number= request('order_number'); + $XCX = new XCXApiController(); + $data = $XCX::Post('订单查询', ['orderid'=>$order_number]); + //判断如果支付成功,更改订单状态 + if($data['trade_state']==='SUCCESS'){ + DB::table('orders')->where(['order_number'=>$order_number])->update([ + 'status'=>2 + ]); + } + } + //退款 + public function Refund() + { + $order_number= request('order_number'); + } + + public static function nonce($l = 16) + { + $charts = "ABCDEFGHJKLMNPQRSTUVWXYZabcdefghjkmnpqrstuvwxyz0123456789"; + $max = strlen($charts) - 1; + $noncestr = ""; + for ($i = 0; $i < $l; $i++) { + $noncestr .= $charts[rand(0, $max)]; + } + return $noncestr; + } } diff --git a/Laravel/app/Http/Controllers/API/H5/PersonController.php b/Laravel/app/Http/Controllers/API/H5/PersonController.php new file mode 100644 index 0000000..7c39e71 --- /dev/null +++ b/Laravel/app/Http/Controllers/API/H5/PersonController.php @@ -0,0 +1,37 @@ + $datum['Id'], + 'name' => $datum['名称'], + ]; + } + } + return [ + 'name' => $group_info['姓名'], + 'id_number' => $group_info['证件号码'], + 'combo_name' => $group_info['套餐名称'], + 'combo_id' => $group_info['套餐Id'], + 'start_time' => $group_info['预约开始日期'], + 'end_time' => $group_info['预约结束日期'], + 'group_name' => $group_info['单位名称'] . ($group_info['部门名称']), + 'items' => $items, + 'appointment_number' => $group_info['预约Id'] + ]; + } +} diff --git a/Laravel/app/Http/Controllers/API/PEISApiController.php b/Laravel/app/Http/Controllers/API/PEISApiController.php index b627f26..e7c4b4b 100644 --- a/Laravel/app/Http/Controllers/API/PEISApiController.php +++ b/Laravel/app/Http/Controllers/API/PEISApiController.php @@ -18,6 +18,7 @@ class PEISApiController extends Controller $api['套餐详情查询'] = "{$url}/PEISCommon/QueryComboDetail/{$code}"; $api['自选项目查询'] = "{$url}/PEISCommon/QueryGroups/{$code}"; $api['套餐查询'] = "{$url}/PEISCommon/QueryCombos/{$code}"; + $api['团检登记查询'] = "{$url}/PEISCommon/QueryUnitAppointmentReg/{$code}"; return $api["{$url_code}"] ?? $url_code; } diff --git a/Laravel/app/Http/Controllers/API/XCXApiController.php b/Laravel/app/Http/Controllers/API/XCXApiController.php index 55d4e6d..3d3f02a 100644 --- a/Laravel/app/Http/Controllers/API/XCXApiController.php +++ b/Laravel/app/Http/Controllers/API/XCXApiController.php @@ -16,8 +16,9 @@ class XCXApiController extends Controller { $url = 'https://dqgatjzx-wx.sixinyun.com'; $api['就诊人列表'] = "{$url}/PEISCommon/QueryCombos/460107000001"; - $api['自选项目查询'] = "{$url}/PEISCommon/QueryGroups"; - $api['套餐查询'] = "{$url}/PEISCommon/QueryCombos"; + $api['订单支付'] = "{$url}/PEISCommon/QueryGroups"; + $api['订单查询'] = "{$url}/PEISCommon/QueryCombos"; + $api['订单退款'] = "{$url}/PEISCommon/QueryCombos"; return $api["{$url_code}"] ?? $url_code; } public static function Post($url_code, $data)