lizhen_gitee 1 tháng trước cách đây
mục cha
commit
67a2cf4ef9

+ 113 - 0
app/Http/Controllers/Api/AskController.php

@@ -4,9 +4,14 @@ namespace App\Http\Controllers\Api;
 use App\Http\Requests\Api\PostsRequests\AskRequest;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\DB;
+use App\Wen\Utils\Utils;
+use App\Models\WxOrder;
+use App\Models\User\WxUser;
+use App\Http\Controllers\Api\Traits\PayTrait;
 
 class AskController extends BaseController
 {
+    use PayTrait;
 
     //发起一个咨询
     public function createNew(AskRequest $request){
@@ -158,6 +163,114 @@ class AskController extends BaseController
 
     }
 
+    //付费咨询拉起订单
+    public function payAskOrder(Request $request)
+    {
+        $order_id = _empty_default_($request->order_id,0);
+        $uid = $request->uid;
+
+        $order = DB::table('ask_order')->where('id',$order_id)->where('user_id',$request->uid)->first();
+        if(empty($order)){
+            return $this->fail(200016,[],'没有找到该咨询');
+        }
+        if($order->status != 0){
+            return $this->fail(200016,[],'该咨询已经支付过了');
+        }
+
+        //
+        $body = '付费咨询';
+        $data['body'] = '付费咨询';
+        $total_fee = $order['ask_price'];
+        $orderSn = 'A' . Utils::getSn();
+
+        $parame = serialize($data);
+        // 创建订单
+        $this->createOrder($uid,101,$body,$total_fee,$total_fee,$orderSn,$parame,'ask_order',$order_id);
+
+        $openid = WxUser::where('id', $uid)->value('weixin_openid');
+        $appid = Settings::get('app_id');
+        $mch_id = Settings::get('mch_id');
+        $key = Settings::get('mch_secret');
+        $out_trade_no = $orderSn;
+        if(_empty_($openid)){
+            return $this->fail(200043, [
+                'title' => '未绑定微信',
+                'content' => '还没有获取到您的小程序openId,无法拉起支付',
+                'confirmText' => '去绑定',
+                'target_type' => 6,
+                'target_id' => '/pagesA/mine/editmine/accountbind'
+            ], '未绑定微信');
+        }
+
+        return $this->payHandler($uid, 'wxpay', 'mini', $total_fee, $data['body'], $out_trade_no, 1);
+
+    }
+
+    //付费咨询拉起订单
+    public function paySitOrder(Request $request)
+    {
+        $order_id = _empty_default_($request->order_id,0);
+        $uid = $request->uid;
+
+        $order = DB::table('ask_sit_order')->where('id',$order_id)->where('sit_user_id',$request->uid)->first();
+        if(empty($order)){
+            return $this->fail(200016,[],'没有找到该旁听');
+        }
+        if($order->status != 0){
+            return $this->fail(200016,[],'该旁听已经支付过了');
+        }
+
+        //
+        $body = '付费旁听';
+        $data['body'] = '付费旁听';
+        $total_fee = $order['sit_price'];
+        $orderSn = 'A' . Utils::getSn();
+
+        $parame = serialize($data);
+        // 创建订单
+        $this->createOrder($uid,102,$body,$total_fee,$total_fee,$orderSn,$parame,'sit_order',$order_id);
+
+        $openid = WxUser::where('id', $uid)->value('weixin_openid');
+        $appid = Settings::get('app_id');
+        $mch_id = Settings::get('mch_id');
+        $key = Settings::get('mch_secret');
+        $out_trade_no = $orderSn;
+        if(_empty_($openid)){
+            return $this->fail(200043, [
+                'title' => '未绑定微信',
+                'content' => '还没有获取到您的小程序openId,无法拉起支付',
+                'confirmText' => '去绑定',
+                'target_type' => 6,
+                'target_id' => '/pagesA/mine/editmine/accountbind'
+            ], '未绑定微信');
+        }
+
+        return $this->payHandler($uid, 'wxpay', 'mini', $total_fee, $data['body'], $out_trade_no, 1);
+
+    }
+
+    /**
+     * 创建订单
+     * $order_type = 101 咨询订单
+     * $order_type = 102 旁听订单
+     */
+    private function createOrder($user_id,$order_type,$order_information,$order_price,$order_pay_price,$order_number,$parame='',$table_name,$table_id)
+    {
+        $orderModel = new WxOrder();
+        $orderModel->user_id = $user_id;
+        $orderModel->order_type = $order_type;
+        $orderModel->order_information = $order_information;
+        $orderModel->order_price = $order_price;
+        $orderModel->order_pay_price = $order_pay_price;
+        $orderModel->order_number = $order_number;
+        $orderModel->parame = $parame;
+        $orderModel->table_name = $table_name;
+        $orderModel->table_id = $table_id;
+        $orderModel->save();
+        return $orderModel;
+    }
+
+
     //答主的主页
     //咨询首页
 

+ 1 - 1
vendor/composer/platform_check.php

@@ -5,7 +5,7 @@
 $issues = array();
 
 if (!(PHP_VERSION_ID >= 80012)) {
-    $issues[] = 'Your Composer dependencies require a PHP version ">= 8.0.12". You are running ' . PHP_VERSION . '.';
+   // $issues[] = 'Your Composer dependencies require a PHP version ">= 8.0.12". You are running ' . PHP_VERSION . '.';
 }
 
 if ($issues) {