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()]); //验证用户是否已经购买过当前模板 $count = (new UserShowTemplate)->where("uid",$userData['uid'])->where("show_template_id",$tempOrderData["show_template_id"])->count(); if($count<=0){ (new UserShowTemplate)->insert([ "uid" => $tempOrderData["uid"], "show_template_id" => $tempOrderData["show_template_id"], "start_time" => time(), "end_time" => time()+100*365*24*60*60,//100年 "is_default" => 0, ]); } //添加消费记录 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; } PayTrade::commitTrans(); } catch (DbException $dbException) { PayTrade::rollbackTrans(); return false; } //后台管理人员支付直接返回 if($payTradeData["pay_type"]=="system"){ return true; } return true; } }