where('pay_no', $payOn)->find(); if (empty($payTradeData)) { return false; } //已支付 if ($payTradeData['status'] == 1) { return false; } $userData = (new UserModel)->where('uid', $payTradeData['uid'])->find(); if(empty($userData)){ return false; } //处理支付成功 PayTrade::beginTrans(); try { (new PayTrade)->where('id', $payTradeData['id'])->update(['status' => 1, 'pay_time' => time(),'pay_json' => $payDataInfo]); //购买模板 if($payTradeData["type"]=="temp"){ $tempOrderData = (new ShowTemplateOrder)->where("id",$payTradeData['o_id'])->find(); if(empty($tempOrderData)){ PayTrade::rollbackTrans(); return false; } (new ShowTemplateOrder)->where("id",$payTradeData['o_id'])->update(['status' => 1, 'pay_time' => time()]); //验证并绑定当前模板 (new UserShowTemplate)->userBindTemp($tempOrderData["show_template_id"],$tempOrderData['uid']); //添加消费记录 if(in_array($payTradeData["pay_type"],["alipay","wxpay"])){ // (new UserDetailModel)->consumeLog($payTradeData['uid'],$payTradeData["money"],"show_temp_buy","购买名片模板"); } PayTrade::commitTrans(); return true; } //商城订单 if($payTradeData["type"]=="shop"){ (new Order)->where("id",$payTradeData['o_id'])->update(['status' => 1, 'pay_time' => time()]); PayTrade::commitTrans(); return true; } //商城积分支付订单 if($payTradeData["type"]=="shop_score"){ (new Order)->where("id",$payTradeData['o_id'])->update(['status' => 1, 'pay_time' => time()]); PayTrade::commitTrans(); return true; } //充值订单 if($payTradeData["type"]=="recharge"){ // 调用充值成功处理 // $rechargeController = new \app\api\controller\Recharge(); // $result = $rechargeController->paySuccess($payOn, $payTradeData['transaction_id'] ?? '', $payDataInfo); $result = (new RechargeOrder())->paySuccess($payOn, $payTradeData['transaction_id'] ?? '', $payDataInfo); if (!$result) { PayTrade::rollbackTrans(); return false; } PayTrade::commitTrans(); return true; } PayTrade::commitTrans(); } catch (DbException $dbException) { @file_put_contents('quanju.txt', $dbException->getLine() . $dbException->getMessage() . $dbException->getFile() . "-处理完成报错内容\r\n", 8); PayTrade::rollbackTrans(); return false; } //后台管理人员支付直接返回 if($payTradeData["pay_type"]=="system"){ return true; } return true; } }