From f392b8c2ae94267fd2bfd5046b2c76e85dc8bef5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=8D=8E=E6=B8=85?= <18691022700@163.com> Date: Thu, 8 Jan 2026 16:27:34 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=85=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/api/model/Invited.php | 31 ++++-------------- application/common.php | 53 ++++++++++--------------------- extend/AliPayV2/AliPay.php | 4 +-- extend/WxPay/WxPay.php | 4 +-- 4 files changed, 28 insertions(+), 64 deletions(-) diff --git a/application/api/model/Invited.php b/application/api/model/Invited.php index afa76f99..481d2f90 100644 --- a/application/api/model/Invited.php +++ b/application/api/model/Invited.php @@ -57,7 +57,7 @@ class Invited extends Model } //下级充值推荐人收益计算 - public function invited_reward($sub_user_id,$money){ + public function invited_reward($sub_user_id,$money,$invited_user_id){ //查询下级用户充值总金额 $sub_user_all_money = db::name('vs_user_recharge') ->where('user_id', $sub_user_id) @@ -65,34 +65,17 @@ class Invited extends Model if($sub_user_all_money > 1000){ return ['code' => 1, 'msg' => "下级充值金额大于1000元不需返利", 'data' => null]; } - //查询上级 - $invited_user_id = $this->where('sub_user_id', $sub_user_id)->value('user_id'); - if(!$invited_user_id){ - return ['code' => 0, 'msg' => "未绑定上级用户", 'data' => null]; - } + $invited_draw_conf = get_system_config_value('invited_draw');//分成比例 $invited_draw = $invited_draw_conf / 100; $invited_draw_money = $money * $invited_draw; $invited_draw_money = $invited_draw_money / intval(get_system_config_value('rmb_coin_ratio')); //金币换算成钻石 - //修改用户资金 - $reslut = model('common/UserWallet')->change_user_money($invited_user_id, $invited_draw_money, model('common/UserWallet')::MONEYTYPEARNINGS, model('common/UserWallet')::OPERATION_INVITE_REBATE, '邀请用户充值返利'); - if($reslut['code'] == 1){ - //记录日志 - $data = []; - $data['user_id'] = $invited_user_id; - $data['sub_user_id'] = $sub_user_id; - $data['coin'] = $money; - $data['earnings'] = $invited_draw_money; - $data['proportion'] = $invited_draw_conf; - $data['createtime'] = time(); - $data['updatetime'] = time(); - $res = Db::name('vs_user_invited_income_log')->insert($data); - if ($res) { - return ['code' => 1, 'msg' => "操作成功", 'data' => null]; - } - }else{ - return ['code' => $reslut['code'], 'msg' => $reslut['code'], 'data' => null]; + //增加余额并记录日志 + $wallet_update = model('api/UserWallet')->change_user_cion_log($invited_user_id,$invited_draw_money,0,6,'邀请用户充值返利'); + if(!$wallet_update){ + return ['code' => 0, 'msg' => "邀请给上级返利失败", 'data' => null]; } + return ['code' => 1, 'msg' => "操作成功", 'data' => null]; } //账单明细 diff --git a/application/common.php b/application/common.php index 5dcd7f2f..af3aa842 100644 --- a/application/common.php +++ b/application/common.php @@ -1156,23 +1156,19 @@ function handelCharge($where,$data){ }else{//充值 db::startTrans(); try{ - $userModel = db::name('user_wallet')->where('user_id',$orderModel['user_id'])->find(); + $userModel = db::name('user_wallet_coin')->where('user_id',$orderModel['user_id'])->find(); if(!$userModel){ - return 0; - } - - //每天任意充值金额 - model('DailyTasks')->tasks_complete($orderModel['user_id'],4); - - //增加余额 - $res = db::name('user_wallet')->where('user_id',$orderModel['user_id'])->update([ - 'coin' => $userModel['coin'] + $orderModel['coin'], - 'updatetime' => time() - ]); - if(!$res){ db::rollback(); return 0; } + + //增加余额并记录日志 + $wallet_update = model('api/UserWallet')->change_user_cion_log($orderModel['user_id'],$orderModel['coin'],0,2,'充值'); + if(!$wallet_update){ + Db::rollback(); + return 0; + } + //修改订单状态 $res1 = db::name('vs_user_recharge')->where($where)->update([ 'pay_status' => 2, @@ -1184,38 +1180,23 @@ function handelCharge($where,$data){ db::rollback(); return 0; } - //查询是否首充 - $is_first_charge = db::name('vs_user_money_log')->where('user_id',$orderModel['user_id'])->where('change_type',2)->where('money_type',1)->where(['createtime'=>['>=',"1760666400"]])->count(); - //添加充值记录 - $res2 = db::name('vs_user_money_log')->insert([ - 'user_id' => $orderModel['user_id'], - 'change_type' => 2, - 'money_type' => 1, - 'change_value' => $orderModel['coin'], - 'from_id' => $orderModel['rid'], - 'remarks' => '充值', - 'createtime' => time() - ]); - if(!$res2){ - db::rollback(); - return 0; - } - - //给上级返佣 - //获取上级 + //给上级返佣 //获取上级 $invited_user_id = db::name('vs_user_invited')->where('sub_user_id', $orderModel['user_id'])->value('user_id'); if($invited_user_id){ - $re3 = model('Invited')->invited_reward($orderModel['user_id'],$orderModel['coin']); + $re3 = model('api/Invited')->invited_reward($orderModel['user_id'],$orderModel['coin'],$invited_user_id); if($re3['code'] != 1){ db::rollback(); return 0; } } + db::commit(); //充值任务 model('api/Tasks')->tasks_complete($orderModel['user_id'],12); - db::commit(); - //活动 + //查询是否首充 + $is_first_charge = db::name('vs_user_recharge') + ->where(['user_id' => $orderModel['user_id'],'pay_status' => 2]) + ->count(); //首充 if($is_first_charge == 0){ model('Activities')->first_charge_gift_send($orderModel['user_id'],$orderModel['money']); @@ -1235,12 +1216,12 @@ function handelCharge($where,$data){ //新人好礼 model('Activities')->new_charge_gift_send($orderModel['user_id'],$orderModel['money']); } - return 1; } catch (\Exception $e){ db::rollback(); return 0; } + } } diff --git a/extend/AliPayV2/AliPay.php b/extend/AliPayV2/AliPay.php index 2619c050..c854b5cc 100644 --- a/extend/AliPayV2/AliPay.php +++ b/extend/AliPayV2/AliPay.php @@ -31,8 +31,8 @@ class AliPay $this->appId = $configs['alipay_app_id']; $this->rsaPrivateKey = $configs['alipay_private_key']; $this->alipayPublicKey = $configs['alipay_public_key']; - // $this->notifyUrl = $configs['web_site']."/api/Payment/notify_ali"; - $this->notifyUrl = "http://vespa.qxyushen.top/api/Payment/notify_ali"; + $this->notifyUrl = $configs['web_site']."/api/Payment/notify_ali"; +// $this->notifyUrl = "http://vespa.qxyushen.top/api/Payment/notify_ali"; $aliPayPath = EXTEND_PATH.'/AliPayV2/alipay-sdk/aopV2/'; require_once $aliPayPath . 'AopCertClient.php'; diff --git a/extend/WxPay/WxPay.php b/extend/WxPay/WxPay.php index 5abdb982..b3c22b25 100644 --- a/extend/WxPay/WxPay.php +++ b/extend/WxPay/WxPay.php @@ -41,8 +41,8 @@ class WxPay $data ["out_trade_no"] = $d['order_sn']; $data ["total_fee"] = $total_fee; $data ["spbill_create_ip"] = $ip; - // $data ["notify_url"] = get_system_config_value("web_site")."/api/Payment/notify_wx"; - $data ["notify_url"] = "http://vespa.qxyushen.top/api/Payment/notify_wx"; + $data ["notify_url"] = get_system_config_value("web_site")."/api/Payment/notify_wx"; +// $data ["notify_url"] = "http://vespa.qxyushen.top/api/Payment/notify_wx"; $data ["trade_type"] = "APP"; $s = $this->getSign($data);