WIN-2308041133\Administrator 6 months ago
parent
commit
a5c59252f8
1 changed files with 71 additions and 50 deletions
  1. 71 50
      application/api/controller/Pay.php

+ 71 - 50
application/api/controller/Pay.php

@@ -206,7 +206,7 @@ class Pay extends Api
                 $this->paywxh5($id, $number, $amount, $buytype);
             }
 
-        }else if ($data['paytype'] == '汇聚') {
+        } else if ($data['paytype'] == '汇聚') {
             $paid_price = 0;
 //            if ($recharId) {
 //                $data = SystemGroupData::getDateValue($recharId);
@@ -217,7 +217,7 @@ class Pay extends Api
 //                }
 //            }
 //            $rechargeOrder = UserRecharge::addRecharge($request->uid(), $price, 'huifu', $paid_price);
-            $recharge = Huifu::wxJsPay(session('openid'),$number,$price,$paid_price,'video_pay');
+            $recharge = Huifu::wxJsPay(session('openid'), $number, $price, $paid_price, 'video_pay');
 //            return app('json')->successful(['type' => $from, 'data' => $recharge]);
         }
     }
@@ -471,6 +471,7 @@ class Pay extends Api
         //$this->success(__('获取成功'),$response);
         echo $response;
     }
+
 //支付宝回调
     public function notify()
     {
@@ -623,7 +624,7 @@ class Pay extends Api
         $user_share = Db::name('videolist')->where('id', $vid)->value('share');
         $user_shares = $user_share - $num;
         if ($user_shares < 0) {
-            $this->error(__('该局总版权只剩下' .$user_share. '份'));
+            $this->error(__('该局总版权只剩下' . $user_share . '份'));
         }
 //        if($datavideo_order){
 //            if($datavideo_order['type']==2){
@@ -723,7 +724,7 @@ class Pay extends Api
             } else if ($wxlx == 'wxgzh') {
                 $buytype = '微信公众号';
                 $this->paywxh5($id, $number, $amount, $buytype);
-            }else if ($data['paytype'] == '汇聚') {
+            } else if ($data['paytype'] == '汇聚') {
                 $paid_price = 0;
 //            if ($recharId) {
 //                $data = SystemGroupData::getDateValue($recharId);
@@ -734,7 +735,7 @@ class Pay extends Api
 //                }
 //            }
 //            $rechargeOrder = UserRecharge::addRecharge($request->uid(), $price, 'huifu', $paid_price);
-                $recharge = Huifu::wxJsPay(session('openid'),$number,$price,$paid_price,'share_pay');
+                $recharge = Huifu::wxJsPay(session('openid'), $number, $price, $paid_price, 'share_pay');
 //            return app('json')->successful(['type' => $from, 'data' => $recharge]);
             }
 
@@ -751,7 +752,7 @@ class Pay extends Api
                 $user = Db::name('user')->where('id', $user['pid'])->find();  //上级用户信息
                 $grade = $user['grade'];
                 $video_user = Db::name('video_user')->where('uid', $user['id'])->where('vid', $order['vid'])->find();
-                if (empty($video_user)){ //如果上级没有购买过该视频版权
+                if (empty($video_user)) { //如果上级没有购买过该视频版权
                     $up = [
                         'vid' => $order['vid'],
                         'vname' => $order['vname'],
@@ -771,21 +772,21 @@ class Pay extends Api
                 switch ($user['grade']) {
                     case 0:
                         $contribution = 0.5 * $order['num'];
-                        if ($sell>=30){
+                        if ($sell >= 30) {
                             $check = 1;
                             $sell = $sell - 30;
                         }
                         break;
                     case 1:
                         $contribution = 0.2 * $order['num'];
-                        if ($sell>=300){
+                        if ($sell >= 300) {
                             $check = 1;
                             $sell = $sell - 300;
                         }
                         break;
                     case 2:
                         $contribution = 0.1 * $order['num'];
-                        if ($sell>=3000){
+                        if ($sell >= 3000) {
                             $check = 1;
                             $sell = $sell - 3000;
                         }
@@ -794,14 +795,14 @@ class Pay extends Api
                         $contribution = 0.05 * $order['num'];
                     default:
                 }
-                if ($check == 1){
+                if ($check == 1) {
 //                    $grade = $video_user['grade'] + 1;
                     $grade = $user['grade'] + 1;
                 }
                 $after = $video_user['contribution'] + $contribution;
 //                $res = Db::name('video_user')->where('uid', $user['id'])->where('vid', $order['vid'])->update(['sell' => $sell, 'contribution' => $after, 'grade' => $grade]);
                 $res = Db::name('video_user')->where('uid', $user['id'])->where('vid', $order['vid'])->update(['contribution' => $after]);
-                $res2 = Db::name('user')->where('id', $user['id'])->update(['grade'=>$grade,'sell' => $sell]);
+                $res2 = Db::name('user')->where('id', $user['id'])->update(['grade' => $grade, 'sell' => $sell]);
                 $up = [
                     'vid' => $order['vid'],
                     'vname' => $order['vname'],
@@ -818,12 +819,14 @@ class Pay extends Api
         }
 
     }
+
 //    添加贡献值记录                订单id
-    public function share_record($id){
+    public function share_record($id)
+    {
         $order = Db::name('video_share')->where('id', $id)->find();
-        if ($order){
+        if ($order) {
             $user = Db::name('video_user')->where('uid', $order['uid'])->where('vid', $order['vid'])->find();
-            $contribution = $order['num'] +$user['contribution'];
+            $contribution = $order['num'] + $user['contribution'];
             $up = [
                 'vid' => $order['vid'],
                 'vname' => $order['vname'],
@@ -838,9 +841,10 @@ class Pay extends Api
             $id = Db::name('VideoContributionRecord')->insertGetId($up);
             $share = $user['share'] + $order['num'];
 //          添加版权和贡献值
-            $res = Db::name('video_user')->where('uid', $user['uid'])->where('vid', $order['vid'])->update(['contribution' => $contribution,'share'=>$share]);
+            $res = Db::name('video_user')->where('uid', $user['uid'])->where('vid', $order['vid'])->update(['contribution' => $contribution, 'share' => $share]);
         }
     }
+
     public function shareyuepay($money, $user_id, $id)//版权余额支付
     {
         $user = $this->Usermodel::get($user_id);
@@ -860,7 +864,7 @@ class Pay extends Api
                     MoneyLog::create(['user_id' => $user_id, 'money' => $money, 'before' => $before, 'after' => $after, 'memo' => '用户消费']);
                     Db::name('video_share')->where('id', $id)->update(['type' => 2, 'paytype' => '余额', 'pay_time' => time()]);
                     $video_user = Db::name('video_user')->where('uid', $user_id)->where('vid', $data['vid'])->find();
-                    if (empty($video_user)){ //判断用户是否购买过该视频版权
+                    if (empty($video_user)) { //判断用户是否购买过该视频版权
                         $up = [
                             'vid' => $data['vid'],
                             'vname' => $data['vname'],
@@ -897,69 +901,86 @@ class Pay extends Api
             $this->error(__('金额不对'));
         }
     }
+
 //    u币充值(展示二维码)
-    public function recharge(){
+    public function recharge()
+    {
         $uid = input('uid');
         $recharge_type = input('type');
         $number = date('ymdh', time()) . rand(10000, 99999);//订单编号
         $user = Db::name('user')->where('id', $uid)->find();
-        if (empty($user)){
+        if (empty($user)) {
             $this->error(__('用户不存在'));
         }
-        $data = [
-            'order_id'=> $number,
-            'uid' => $uid,
-            'paid' => 0,
-            'add_time' => time()
-        ];
+//        $data = [
+//            'order_id'=> $number,
+//            'uid' => $uid,
+//            'paid' => 0,
+//            'add_time' => time()
+//        ];
         $return = [];
-        $address = Db::name('user_usdt_address')->where('uid',$uid)->find();
-        if ($recharge_type == 'trx'){
-            $data['recharge_type']='trx';
-            $return['address']= $address['trx_address'];
+        $address = Db::name('user_usdt_address')->where('uid', $uid)->find();
+        if ($recharge_type == 'trx') {
+//            $data['recharge_type']='trx';
+            $return['address'] = $address['trx_address'];
             $return['16_address'] = $address['trx_16_address'];
-        }elseif ($recharge_type == 'bsc'){
-            $data['recharge_type']='bsc';
+        } elseif ($recharge_type == 'bsc') {
+//            $data['recharge_type']='bsc';
             $return['address'] = $address['bsc_address'];
         }
-        Db::name('user_recharge')->insert($data);
+//        Db::name('user_recharge')->insert($data);
+        Db::name('user_usdt_address')->where('uid', $uid)->update(['last_recharge' => time()]);
         $this->success($return);
     }
+
     // 查询u币转账记录
-    public function search_recharge(){
+    public function search_recharge()
+    {
         $time = strtotime("-1 hours", time());
-        $list = Db::name('user_recharge')->where('paid',0)->where('add_time','>',$time)->select();
-        foreach ($list as $k => $v){
-            $user_address = Db::name('user_usdt_address')->where('id', $v['uid'])->find();
-            if ($v['recharge_type'] == 'trx'){
+        $user_address = Db::name('user_usdt_address')->where('last_recharge', '>', $time)->order('last_recharge desc')->select();
+        foreach ($user_address as $k => $v) {
+
+//            trx部分
                 $service = TronService::instance('usdt');
-                $info=$service->getTransfer($user_address['trx_address'], $user_address['last_time']);
+                $info = $service->getTransfer($user_address['trx_address'], $user_address['last_time']);
 
-            }elseif ($v['recharge_type'] == 'bsc'){
+//                bsc部分
                 $service = Web3Service::instance('bsc', 'usdt', '');
 //                $info =$service->getLastTransfer([], [$user_address['bsc_address']], $v['add_time']);
 //                $info =$service->getLastTransfer([], ['0x8f5f8daC38461E5b1A6b230D30433f8A593CCD57'], 1748315888);
-                $info =$service->getLastTransfer([], [$user_address['bsc_address']], $user_address['last_time']);
-                foreach ($info as $k2 => $v2){
+                $info = $service->getLastTransfer([], [$user_address['bsc_address']], $user_address['last_time']);
+                foreach ($info as $k2 => $v2) {
                     $value = $v2->params['value']->toString();  //金额
-                    $value2 = bcdiv($value, bcpow(10, get_token_info('bsc','USDT', 'decimal')), 12);
+                    $value2 = bcdiv($value, bcpow(10, get_token_info('bsc', 'USDT', 'decimal')), 12);
                     $transactionHash = $v->transactionHash;
-                    $be=DB::name('user_recharge')->where('hash',$transactionHash)->find();
-                    if ($be){  //hash重复
+                    $be = DB::name('user_recharge')->where('hash', $transactionHash)->find();
+                    if ($be) {  //hash重复
                         continue;
                     }
-                    Db::name('user_recharge')->where('id', $v['id'])->update(['paid' => 1,'price'=> $value2,'transactionHash' => $transactionHash]);
-
+                    $number = date('ymdh', time()) . rand(10000, 99999);//订单编号
+                    $data = [
+                        'order_id' => $number,
+                        'uid' => $v['uid'],
+                        'paid' => 1,
+                        'price' => $value2,
+                        'transactionHash' => $transactionHash,
+                        'pay_time' => time(),
+                        'add_time' => time()
+                    ];
+                    Db::name('user_recharge')->insert($data);
                 }
-            }
+            Db::name('user_usdt_address')->where('uid',$v['uid'])->update(['last_time' => time()]);
+
 
 
             sleep(60);
         }
     }
-    public function test(){
+
+    public function test()
+    {
         $service = Web3Service::instance('bsc', 'usdt', '');
-        $info =$service->getLastTransfer([], ['0xbfc3b2193653ebf94bfa3fe586627b9c01f26db9'],1748293200);
+        $info = $service->getLastTransfer([], ['0xbfc3b2193653ebf94bfa3fe586627b9c01f26db9'], 1748293200);
 
 // 使用函数
 //        $transfers = self::paginatedTransferQuery($service, '0xbfc3b2193653ebf94bfa3fe586627b9c01f26db9', 1748379600);
@@ -987,12 +1008,12 @@ class Pay extends Api
 //            echo "未找到符合条件的转账记录";
 //        }
 
-        foreach ($info as $k => $v){
+        foreach ($info as $k => $v) {
             $value = $v->params['value']->toString();
             var_dump($value);
             $transactionHash = $v->transactionHash;
             var_dump($transactionHash);
-            $value = bcdiv($value, bcpow(10, get_token_info('bsc','TUSD', 'decimal')), 12);  //把后面的0去掉
+            $value = bcdiv($value, bcpow(10, get_token_info('bsc', 'TUSD', 'decimal')), 12);  //把后面的0去掉
             var_dump($value);
         }