From 89ad4b8d6a784eb6088235c05a9008b17ec1a1a4 Mon Sep 17 00:00:00 2001 From: xucong <850806214@qq.com> Date: Mon, 25 Nov 2024 16:31:37 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E8=A1=8C=E6=94=AF=E4=BB=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/controller/Gh.php | 114 ++++++++++++++++++++++---------------- 1 file changed, 67 insertions(+), 47 deletions(-) diff --git a/app/api/controller/Gh.php b/app/api/controller/Gh.php index 1b0884e3..00e1f406 100644 --- a/app/api/controller/Gh.php +++ b/app/api/controller/Gh.php @@ -167,7 +167,7 @@ class Gh extends Api return substr(md5("donglonghui".time().mt_rand(1,1000000)),8,13); } // 查询回调记录 - public function checkReturn($alog_id,$type=""){ + public function checkReturn($alog_id,$type="",$id){ $abutment = Db::name("abutment_log") ->where("alog_id",$alog_id) ->where("state",0) @@ -183,67 +183,84 @@ class Gh extends Api } $checkPay = $this->payReturnCheck($abutment['out_trade_no']); if($checkPay['return_msg'] === "SUCCESS"){ - // 解冻查询 - $r = json_decode($checkPay['order_submit_act_output'],true); - $jd = $this->jiedong($r); -// var_dump($jd); - if(!$jd){ - return JsonServer::error('解冻失败'); - } Db::name("abutment_log") ->where("seq_no",$abutment['seq_no']) ->update(['state'=>1]); Db::name("distribution_pay") ->where("alog_id",$alog_id) ->update(['pay_status'=>1]); - - }else{ + if($type == ""){ + Db::name("distribution_member_apply")->where("id",$id)->update(['alog_id'=>$alog_id]); + } + }else{ return JsonServer::error('支付失败'); } - $user = Db::name("user") - ->where('id',$abutment['user_id']) - ->where('disable',0) - ->where('del',0) + return JsonServer::success('回调成功'); + } + + //分销审核通过之后才会解冻分账或者确认收货 + public function CompleteAudit($id,$type=""){ + $dmemberApply = Db::name("distribution_member_apply") + ->where("id",$id) ->find(); - if($user == null){ - return JsonServer::error('用户不存在或被禁用'); - } - if($user['first_leader'] > 0){ - //获取配置比例 - $config = Db::name("config")->where("type","subsidy")->select()->toArray(); - $arr = array(); - $earnings_pecent = $earnings_electrodeless_pecent = 0; - foreach($config as $key=>$value){ - if($value['name'] == "distribution_user"){ - $earnings_pecent = $value['value']; - } - if($value['name'] == "distribution_electrodeless"){ - $earnings_electrodeless_pecent = $value['value']; - } - } - $earns = new Earnings(); - // 推广会员用户佣金 - $earnings = round($earnings_pecent*$distributionPay['order_amount']/100,2); - $distribution_user_earnings = AccountLog::distribution_user_earnings; - $earnings_result = $earns->userEarnings($earnings,$user['first_leader'],$distribution_user_earnings); - if(!$earnings_result){ - return JsonServer::error('支付失败'); - } - // 推广会员无极佣金 - if($user['divide_state']==1){ - if($user['divide_role_user_id'] > 0){ - $electrodeless = round($earnings_electrodeless_pecent*$distributionPay['order_amount']/100,2); - $distribution_user_electrodeless_earnings = AccountLog::distribution_user_electrodeless_earnings; - $earnings_result = $earns->userElectrodelessEarnings($electrodeless,$user['divide_role_user_id'],$distribution_user_electrodeless_earnings); + $alog_id = $dmemberApply['alog_id']; + $abutment = Db::name("abutment_log") + ->where("alog_id",$alog_id) + ->where("state",0) + ->find(); + $checkPay = $this->payReturnCheck($abutment['out_trade_no']); + if($checkPay['return_msg'] === "SUCCESS") { + $r = json_decode($checkPay['order_submit_act_output'], true); + $jd = $this->jiedong($r); +// var_dump($jd); + if (!$jd) { + return JsonServer::error('解冻失败'); + } + $user = Db::name("user") + ->where('id',$abutment['user_id']) + ->where('disable',0) + ->where('del',0) + ->find(); + if($user == null){ + return JsonServer::error('用户不存在或被禁用'); + } + if($user['first_leader'] > 0){ + //获取配置比例 + $config = Db::name("config")->where("type","subsidy")->select()->toArray(); + $arr = array(); + $earnings_pecent = $earnings_electrodeless_pecent = 0; + foreach($config as $key=>$value){ + if($value['name'] == "distribution_user"){ + $earnings_pecent = $value['value']; + } + if($value['name'] == "distribution_electrodeless"){ + $earnings_electrodeless_pecent = $value['value']; + } + } + $earns = new Earnings(); + // 推广会员用户佣金 + $earnings = round($earnings_pecent*$abutment['classify_amt']/100,2); + $distribution_user_earnings = AccountLog::distribution_user_earnings; + $earnings_result = $earns->userEarnings($earnings,$user['first_leader'],$distribution_user_earnings); if(!$earnings_result){ return JsonServer::error('支付失败'); } + // 推广会员无极佣金 + if($user['divide_state']==1){ + if($user['divide_role_user_id'] > 0){ + $electrodeless = round($earnings_electrodeless_pecent*$abutment['order_amount']/100,2); + $distribution_user_electrodeless_earnings = AccountLog::distribution_user_electrodeless_earnings; + $earnings_result = $earns->userElectrodelessEarnings($electrodeless,$user['divide_role_user_id'],$distribution_user_electrodeless_earnings); + if(!$earnings_result){ + return JsonServer::error('支付失败'); + } + } + } } - } } // 参与消费返补 $billions = new Billions(); - $order['order_amount'] = round($distributionPay['order_amount'],2); + $order['order_amount'] = round($abutment['order_amount'],2); $order['id'] = $alog_id; $order['type'] = 5; $type = "distribution"; @@ -251,8 +268,9 @@ class Gh extends Api if(!$billions_result){ return JsonServer::error('支付失败'); } - return JsonServer::success('回调成功'); + return JsonServer::success('操作成功'); } + // 用户账户 public function userAccount($user_id,$out,$money,$merchant,$user_msg){ $out4 = "dlh".time().$user_id."4"; @@ -446,4 +464,6 @@ class Gh extends Api } return true; } + + // 退款 } \ No newline at end of file