where('pay_no', $payOn)->find(); if (empty($payTradeData)) { return false; } //已支付 if ($payTradeData['status'] == 1) { return false; } //处理支付成功 PayTrade::beginTrans(); $userData = (new UserModel)->where('uid', $payTradeData['uid'])->find(); try { (new PayTrade)->where('id', $payTradeData['id'])->update(['status' => 1, 'pay_time' => time(),'pay_json' => $payDataInfo]); if($payTradeData['type']=="activity"){ //活动报名 (new ActivityOrder)->where("id",$payTradeData['o_id'])->update(['status' => 1, 'pay_time' => time()]); PayTrade::commitTrans(); return true; }else{ //商城下单 (new Order)->where("id",$payTradeData['o_id'])->update(['status' => 1, 'pay_time' => time()]); } //商城下单普通商品增加积分 if ($payTradeData['type'] == 'pro') { $json = unserialize($payTradeData['d_json']); //添加购买用户的积分 if($json['give_score']>0){ (new UserScoreDetail)->incomeScore($payTradeData['uid'], $json['give_score'], $payOn,"income_score",["o_id"=>$payTradeData['o_id']]); } } PayTrade::commitTrans(); } catch (DbException $dbException) { PayTrade::rollbackTrans(); return false; } //后台管理人员支付直接返回 if($payTradeData["pay_type"]=="system"){ return true; } //判断普通商品购买如果商品已被买断则在此处计算收益 $memData = $userData; $orderData = (new Order)->where("id",$payTradeData['o_id'])->find(); $orderInfoData=null; $proData=null; if(!empty($orderData)){ $orderInfoData = (new OrderInfo)->where("o_id",$orderData['id'])->find()->toArray(); } if(!empty($orderInfoData)){ $proData = (new Goods)->where("id",$orderInfoData["p_id"])->find(); } //ip买断 if(!empty($proData) && $orderData["is_ip_buy"]==1 && empty($proData["uid"]) && $proData["is_ip"]==1){ (new Goods)->where("id",$proData["id"])->update(["uid"=>$memData["uid"],"uip"=>$memData["uip"]]); } // return true;//暂时关闭分成 //系统信息 $sysData = (new SysModel)->where("id",1)->find(); if($orderData["is_ip_buy"]==0){ //上级用户 if($memData["parent_uid"]>0){ //一级用户 $parentData = (new UserModel)->where("uid",$memData["parent_uid"])->where("status",1)->find(); if(!empty($parentData) && $sysData['tree_income_per']>0 && $sysData['tree_income_per']<=100){ $treepermono = "推广用户购买商品获得分成";//分成内容 $treePerMoney = $payTradeData["money"]*((int)$sysData['tree_income_per']/100);//分成收益金额 if($treePerMoney>0){ // return true;//暂时关闭分成 (new UserDetailModel)->goodsIncome($memData["parent_uid"],$treePerMoney,"tree_per_income",$treepermono,["cash_uid"=>$memData["uid"],"p_id"=>$proData["id"],"o_id"=>$orderData["id"]]); } } //二级用户 if(!empty($parentData) && $parentData["parent_uid"] > 0 && $sysData['tree_income_per_two']>0 && $sysData['tree_income_per_two']<=100){ $treepermonoTwo = "二级推广用户购买商品获得分成";//分成内容 $treePerMoneyTwo = $payTradeData["money"]*((int)$sysData['tree_income_per_two']/100);//分成收益金额 if($treePerMoneyTwo>0){ // return true;//暂时关闭分成 (new UserDetailModel)->goodsIncome($parentData["parent_uid"],$treePerMoneyTwo,"tree_per_income",$treepermonoTwo,["cash_uid"=>$memData["uid"],"p_id"=>$proData["id"],"o_id"=>$orderData["id"]]); } } } } //普通商品购买计算分成 if(!empty($proData) && $orderData["is_ip_buy"]==0 && !empty($proData["uid"]) && $proData["is_ip"]==1){ // $sysPer=$sysData['ip_income_per'];//分成比例,后台设置 $sysPer=$proData['ip_income_per'];//如果是单个商品则用这条 if($sysPer<=0 || $sysPer>100){ return true; } $money = $payTradeData["money"];//支付金额 $permono = "用户购买商品获得分成";//分成内容 $perMoney = $money*((int)$sysPer/100);//分成收益金额 //增加用户收益 if($perMoney>0){ (new UserDetailModel)->goodsIncome($proData["uid"],$perMoney,"per_income",$permono,["cash_uid"=>$memData["uid"],"p_id"=>$proData["id"],"o_id"=>$orderData["id"]]); } } return true; } }