Kirin 4 lat temu
rodzic
commit
752cff0612
3 zmienionych plików z 143 dodań i 122 usunięć
  1. 88 80
      app/models/store/StorePink.php
  2. 17 12
      app/models/user/User.php
  3. 38 30
      app/models/user/WechatUser.php

+ 88 - 80
app/models/store/StorePink.php

@@ -137,10 +137,10 @@ class StorePink extends BaseModel
         $model = $model->where("p.k_id={$id} or p.id={$id}");
 //        $model = $model->where('p.is_refund', 0);
 //        $model = $model->where('p.status!=3');
-        $model = $model->join('user u', 'u.uid = p.uid',"left");
-        $model = $model->join('store_order s', 's.order_id = p.order_id',"left");
+        $model = $model->join('user u', 'u.uid = p.uid', "left");
+        $model = $model->join('store_order s', 's.order_id = p.order_id', "left");
         $model = $model->order('p.id asc');
-        $rs =  $model->select();
+        $rs = $model->select();
         return $rs;
     }
 
@@ -456,11 +456,11 @@ class StorePink extends BaseModel
      */
     public static function createPink($order)
     {
-        @file_put_contents('zxr1.txt',json_encode($order));
+        @file_put_contents('zxr1.txt', json_encode($order));
         //获取一天最大的营业
-       // $top_num=sys_config('pink_suceess_num');
+        // $top_num=sys_config('pink_suceess_num');
         $order = StoreOrder::tidyOrder($order, true);
-        @file_put_contents('zxr.txt',$order['pink_id']);
+        @file_put_contents('zxr.txt', $order['pink_id']);
         //获取这个用户今日拼中几次
         //$user_pink_num=self::where('uid',$order['uid'])->where('status',2)->whereTime('add_time','today')->count();
         //if($user_pink_num>=$top_num) return false;
@@ -468,19 +468,19 @@ class StorePink extends BaseModel
         $routineOpenid = WechatUser::uidToOpenid($order['uid'], 'routine_openid');
         $product = StoreCombination::where('id', $order['combination_id'])->field('effective_time,title')->find();
         $people = StorePink::where("id", $order['pink_id'])->value('people');
-        $count=StorePink::where('k_id',$order['pink_id'])->count();
-        $count=$count+1;
-        if($count>=$people){
-            $order['pink_id']=0;
+        $count = StorePink::where('k_id', $order['pink_id'])->count();
+        $count = $count + 1;
+        if ($count >= $people) {
+            $order['pink_id'] = 0;
         }
-        if($order['pink_id']){
-            if(StorePink::getIsPinkUid( $order['pink_id'], $order['uid'])){
+        if ($order['pink_id']) {
+            if (StorePink::getIsPinkUid($order['pink_id'], $order['uid'])) {
                 return false;
             };
         }
         if ($product) {
             if ($order['pink_id']) {//拼团存在
-                @file_put_contents('zxc.txt',$order['pink_id']);
+                @file_put_contents('zxc.txt', $order['pink_id']);
                 $res = false;
                 $pink['uid'] = $order['uid'];//用户id
                 if (self::isPinkBe($pink, $order['pink_id'])) return false;
@@ -586,21 +586,21 @@ class StorePink extends BaseModel
             //$openid = WechatUser::uidToOpenid($order['uid'], 'openid');//
             //$routineOpenid = WechatUser::uidToOpenid($order['uid'], 'routine_openid');//
             //查找所有拼团正在进行中的
-            $all_pink=StorePink::where('is_refund',0)->where('status',1)->order('add_time asc')->select()->toArray();
-            @file_put_contents('qaz.txt',json_encode($all_pink));
-            $p=false;
+            $all_pink = StorePink::where('is_refund', 0)->where('status', 1)->order('add_time asc')->select()->toArray();
+            @file_put_contents('qaz.txt', json_encode($all_pink));
+            $p = false;
             //$arr=[];//又满足条件拼团
-            if($all_pink){
-                foreach ($all_pink as $value){
+            if ($all_pink) {
+                foreach ($all_pink as $value) {
                     $people = StorePink::where("id", $value['id'])->value('people');
-                    $count=StorePink::where('k_id',$value['id'])->count();
-                    $count=$count+1;
-                    if($people>$count){//表示没有拼满
-                        $data['pink_id']=$value['id'];
-                        @file_put_contents('qaq.txt',json_encode($data));
+                    $count = StorePink::where('k_id', $value['id'])->count();
+                    $count = $count + 1;
+                    if ($people > $count) {//表示没有拼满
+                        $data['pink_id'] = $value['id'];
+                        @file_put_contents('qaq.txt', json_encode($data));
                         StoreOrderModel::edit($data, $order['id']);
-                        $order=StoreOrderModel::where('id',$order['id'])->find();
-                        @file_put_contents('qaq1.txt',json_encode($data));
+                        $order = StoreOrderModel::where('id', $order['id'])->find();
+                        @file_put_contents('qaq1.txt', json_encode($data));
                         self::createPink($order);
                         break;
                     }
@@ -608,11 +608,11 @@ class StorePink extends BaseModel
                 }
                 return true;
             }
-            @file_put_contents('qae.txt',$p);
-            if($p==false){
-                $data['pink_id']=0;
+            @file_put_contents('qae.txt', $p);
+            if ($p == false) {
+                $data['pink_id'] = 0;
                 StoreOrderModel::edit($data, $order['id']);
-                $order=StoreOrderModel::where('id',$order['id'])->find();
+                $order = StoreOrderModel::where('id', $order['id'])->find();
                 self::createPink($order);
             }
             return true;
@@ -1163,19 +1163,19 @@ class StorePink extends BaseModel
 //        $prize_person_num = sys_config('pink_pay_person', 2);   //中奖人数
         $user_arr = []; //随机数组
         $n = 0;
-        $count = 0;$sum = 0;
-        foreach ($user as $v)
-        {
-            $sum += bcadd(100,$v['use_integral_pink'],0);
+        $count = 0;
+        $sum = 0;
+        foreach ($user as $v) {
+            $sum += bcadd(100, $v['use_integral_pink'], 0);
         }
         foreach ($user as $v) {
             $user_arr [$n] = [
                 'id' => $v['uid'],
                 "start" => $count,
-                "end" => $count + ($sum-bcadd(100,$v['use_integral_pink'],0)),
+                "end" => $count + ($sum - bcadd(100, $v['use_integral_pink'], 0)),
             ];
             $n++;
-            $count +=($sum-bcadd(100,$v['use_integral_pink'],0))+1;
+            $count += ($sum - bcadd(100, $v['use_integral_pink'], 0)) + 1;
         }
         $prize_arr = [];
         $n = $prize_person_num;   //中奖人数
@@ -1202,13 +1202,13 @@ class StorePink extends BaseModel
 
             $list = self::getPinkAllMember($k_id);//获取这个团所有的成员
             $list = $list->toArray();
-            $arrq=$list;
+            $arrq = $list;
 
             $pink_pay_person = Db::name('store_product')->where('id', '=', $list[0]['pid'])->value('pink_pay_person');  //拼团中奖人数
             $uids = self::getrand($list, $pink_pay_person); //获取所有中奖用户uid
             $pro = StoreProduct::where('id', $list[0]['pid'])->find();
-            foreach ($list as &$item){
-                $item['pink_num']=StoreOrder::where('id',$item['order_id_key'])->value('pink_num');
+            foreach ($list as &$item) {
+                $item['pink_num'] = StoreOrder::where('id', $item['order_id_key'])->value('pink_num');
             }
             Log::write("测试拼团1", 'error');
             //处理返现红包及退款
@@ -1222,21 +1222,21 @@ class StorePink extends BaseModel
                     }
                     Db::name('store_pink')->where('id', '=', $v['id'])->update(['is_refund' => 1]);
                     //拼团成功送wdc
-                    $wdc = $pro['fail_wdc']* $v['total_num'];
-                    WechatUser::failGiveWdc($v['uid'], $wdc );
+                    $wdc = $pro['fail_wdc'] * $v['total_num'];
+                    WechatUser::failGiveWdc($v['uid'], $wdc);
                     //拼中助力上级
                     WechatUser::OverLikeNum($v['uid']);
-                    @file_put_contents('aa2.txt',1111);
+                    @file_put_contents('aa2.txt', 1111);
                     Log::write("未中奖退款" . $v['id'], 'error');
                 } else {
                     //拼团成功送wdc
                     //$product = StoreOrderModel::get($v['order_id_key']);
-                    $data['is_ok']=1;
-                    $data['pink_num']=0;
+                    $data['is_ok'] = 1;
+                    $data['pink_num'] = 0;
                     StoreOrderModel::edit($data, $v['order_id_key']);
-                    $wdc = $pro['success_wdc']* $v['total_num'];
-                    WechatUser::successGiveWdc($v['uid'], $wdc );
-                    @file_put_contents('aa3.txt',33333);
+                    $wdc = $pro['success_wdc'] * $v['total_num'];
+                    WechatUser::successGiveWdc($v['uid'], $wdc);
+                    @file_put_contents('aa3.txt', 33333);
                 }
                 Db::name('store_pink')->where('id', '=', $v['id'])->update(['status' => 2]);    //评团成功,状态是2
                 UserLevel::setLevelComplete($v['uid']);
@@ -1251,14 +1251,14 @@ class StorePink extends BaseModel
 //            $samelevel_reward_rate = 0; ///平级奖励
 //            $pink_zhitui_prize = 0; ///直推奖励
 //            $samelevelPerson = 0; ///平级中奖人数
-            $pid=self::where('id',$k_id)->value('pid');
-            $res=StoreProduct::where('id',$pid)->find();
-            $level1_reward_rate = $res['level1_reward_rate']>0 ? $res['level1_reward_rate']:0;
-            $level2_reward_rate = $res['level2_reward_rate']>0 ? $res['level2_reward_rate']:0;
-            $level3_reward_rate = $res['level3_reward_rate']>0 ? $res['level3_reward_rate']:0;
-            $samelevel_reward_rate = $res['samelevel_reward_rate']>0 ? $res['samelevel_reward_rate']:0;
-            $pink_zhitui_prize = $res['pink_zhitui_prize']>0 ? $res['pink_zhitui_prize']:0;
-            $samelevelPerson = $res['samelevel_prise_maxperson']>0 ? $res['samelevel_prise_maxperson']:0;
+            $pid = self::where('id', $k_id)->value('pid');
+            $res = StoreProduct::where('id', $pid)->find();
+            $level1_reward_rate = $res['level1_reward_rate'] > 0 ? $res['level1_reward_rate'] : 0;
+            $level2_reward_rate = $res['level2_reward_rate'] > 0 ? $res['level2_reward_rate'] : 0;
+            $level3_reward_rate = $res['level3_reward_rate'] > 0 ? $res['level3_reward_rate'] : 0;
+            $samelevel_reward_rate = $res['samelevel_reward_rate'] > 0 ? $res['samelevel_reward_rate'] : 0;
+            $pink_zhitui_prize = $res['pink_zhitui_prize'] > 0 ? $res['pink_zhitui_prize'] : 0;
+            $samelevelPerson = $res['samelevel_prise_maxperson'] > 0 ? $res['samelevel_prise_maxperson'] : 0;
 //            foreach ($list as $item) {
 //                if (in_array($item['uid'], $uids)) {    //计算中奖用户订单的利润
 //                    @file_put_contents('aa112.txt',json_encode($item['uid']));
@@ -1355,23 +1355,23 @@ class StorePink extends BaseModel
             Log::write("测试拼团4", 'error');
             //计算极差佣金
             $userList = User::select()->toArray();
-            $qwe=[];
-            $qww=[];
+            $qwe = [];
+            $qww = [];
             foreach ($arrq as $key => $item) {
-                $qwe[]=$item['uid'];
+                $qwe[] = $item['uid'];
                 $level = UserLevel::getUserLevel($item['uid']);
                 $level_id_origin = 0;   //中奖用户等级
                 if ($level !== false) {
                     $level_id_origin = UserLevel::getUserLevelInfo($level, 'grade');
                 }
-               // $profit = $profits[$key];
+                // $profit = $profits[$key];
                 $max_prize = max([$level1_reward_rate, $level2_reward_rate, $level3_reward_rate]);
                 $levelPrizeLeave = $max_prize;
                 $prevUser = null;
                 $pids = [];
                 UtilService::getparentid($userList, $item['uid'], $pids);
                 foreach ($pids as $k => $v) {
-                    $qww[]=$v;
+                    $qww[] = $v;
                     $user = User::where('uid', '=', $v)->find();
                     if (!$user)
                         continue;
@@ -1389,6 +1389,7 @@ class StorePink extends BaseModel
                         if ($level_id == 2) {
                             if ($level1_reward_rate > 0) {
                                 User::where('uid', $v)->inc('wdc', $level1_reward_rate)->update();
+                                User::where('uid', $v)->inc('all_wdc', $level1_reward_rate)->update();
                                 $balance = User::where('uid', $v)->value('wdc');
                                 //Log::write("a5:".$balance,'error');
                                 UserBill::income('开团成功,推广奖励', $v, 'wdc', 'wdc_brokerage', $level1_reward_rate, 0, $balance, '推广奖励', 1);
@@ -1398,18 +1399,20 @@ class StorePink extends BaseModel
                         } else if ($level_id == 3) {
                             if ($level2_reward_rate > 0) {
                                 User::where('uid', $v)->inc('wdc', $level2_reward_rate)->update();
+                                User::where('uid', $v)->inc('all_wdc', $level2_reward_rate)->update();
                                 $balance = User::where('uid', $v)->value('wdc');
                                 //Log::write("a6:".$balance,'error');
-                                UserBill::income('开团成功,推广奖励', $v, 'wdc', 'wdc_brokerage',$level2_reward_rate, 0, $balance, '推广奖励', 1);
+                                UserBill::income('开团成功,推广奖励', $v, 'wdc', 'wdc_brokerage', $level2_reward_rate, 0, $balance, '推广奖励', 1);
                                 $levelPrizeLeave = $max_prize - $level2_reward_rate;
                                 $user['prevPrize'] = $level2_reward_rate;
                             }
                         } else if ($level_id == 4) {
                             if ($level3_reward_rate > 0) {
                                 User::where('uid', $v)->inc('wdc', $level3_reward_rate)->update();
+                                User::where('uid', $v)->inc('all_wdc', $level3_reward_rate)->update();
                                 $balance = User::where('uid', $v)->value('wdc');
                                 //Log::write("a7:".$balance,'error');
-                                UserBill::income('开团成功,推广奖励', $v, 'wdc', 'wdc_brokerage',$level3_reward_rate, 0, $balance, '推广奖励', 1);
+                                UserBill::income('开团成功,推广奖励', $v, 'wdc', 'wdc_brokerage', $level3_reward_rate, 0, $balance, '推广奖励', 1);
                                 $levelPrizeLeave = $max_prize - $level3_reward_rate;
                                 $user['prevPrize'] = $level3_reward_rate;
                             }
@@ -1422,6 +1425,7 @@ class StorePink extends BaseModel
                                 if ($levelPrizeLeave > ($level2_reward_rate - $prevUser['prevPrize'])) {
                                     if (($level2_reward_rate - $prevUser['prevPrize']) > 0) {
                                         User::where('uid', $v)->inc('wdc', ($level2_reward_rate - $prevUser['prevPrize']))->update();
+                                        User::where('uid', $v)->inc('wdc_all', ($level2_reward_rate - $prevUser['prevPrize']))->update();
                                         $balance = User::where('uid', $v)->value('wdc');
                                         //Log::write("a10:".$balance,'error');
                                         UserBill::income('开团成功,推广奖励', $v, 'wdc', 'wdc_brokerage', ($level2_reward_rate - $prevUser['prevPrize']), 0, $balance, '推广奖励', 1);
@@ -1430,29 +1434,32 @@ class StorePink extends BaseModel
                                     }
                                 } else {
                                     if ($levelPrizeLeave > 0) {
-                                        User::where('uid', $v)->inc('wdc',$levelPrizeLeave)->update();
+                                        User::where('uid', $v)->inc('wdc', $levelPrizeLeave)->update();
+                                        User::where('uid', $v)->inc('wdc_all', $levelPrizeLeave)->update();
                                         $balance = User::where('uid', $v)->value('wdc');
                                         //Log::write("a11:".$balance,'error');
-                                        UserBill::income('开团成功,推广奖励', $v, 'wdc', 'wdc_brokerage',$levelPrizeLeave , 0, $balance, '推广奖励', 1);
+                                        UserBill::income('开团成功,推广奖励', $v, 'wdc', 'wdc_brokerage', $levelPrizeLeave, 0, $balance, '推广奖励', 1);
                                         $levelPrizeLeave = 0;
                                     }
                                 }
                             } else if ($level_id == 4) {
                                 if ($levelPrizeLeave > ($level3_reward_rate - $prevUser['prevPrize'])) {
                                     if (($level3_reward_rate - $prevUser['prevPrize']) > 0) {
-                                        User::where('uid', $v)->inc('wdc',($level3_reward_rate - $prevUser['prevPrize']))->update();
+                                        User::where('uid', $v)->inc('wdc', ($level3_reward_rate - $prevUser['prevPrize']))->update();
+                                        User::where('uid', $v)->inc('wdc_all', ($level3_reward_rate - $prevUser['prevPrize']))->update();
                                         $balance = User::where('uid', $v)->value('wdc');
                                         //Log::write("a12:".$balance,'error');
-                                        UserBill::income('开团成功,推广奖励', $v, 'wdc', 'wdc_brokerage',($level3_reward_rate - $prevUser['prevPrize']), 0, $balance, '推广奖励', 1);
+                                        UserBill::income('开团成功,推广奖励', $v, 'wdc', 'wdc_brokerage', ($level3_reward_rate - $prevUser['prevPrize']), 0, $balance, '推广奖励', 1);
                                         $levelPrizeLeave -= ($level3_reward_rate - $prevUser['prevPrize']);
                                         $user['prevPrize'] = $level3_reward_rate;
                                     }
                                 } else {
                                     if ($levelPrizeLeave > 0) {
-                                        User::where('uid', $v)->inc('wdc',$levelPrizeLeave)->update();
+                                        User::where('uid', $v)->inc('wdc', $levelPrizeLeave)->update();
+                                        User::where('uid', $v)->inc('wdc_all', $levelPrizeLeave)->update();
                                         $balance = User::where('uid', $v)->value('wdc');
                                         //Log::write("a13:".$balance,'error');
-                                        UserBill::income('开团成功,推广奖励', $v, 'wdc', 'wdc_brokerage',$levelPrizeLeave , 0, $balance, '推广奖励', 1);
+                                        UserBill::income('开团成功,推广奖励', $v, 'wdc', 'wdc_brokerage', $levelPrizeLeave, 0, $balance, '推广奖励', 1);
                                         $levelPrizeLeave = 0;
                                     }
                                 }
@@ -1530,9 +1537,10 @@ class StorePink extends BaseModel
                             $samelevelPrize = bcdiv($samelevel_reward_rate, sizeof($samelevelPrizeArr), 2);
                             foreach ($samelevelPrizeArr as $v) {  //发放平级佣金
                                 User::where('uid', $v)->inc('wdc', $samelevelPrize)->update();
+                                User::where('uid', $v)->inc('wdc_all', $samelevelPrize)->update();
                                 $balance = User::where('uid', $v)->value('wdc');
                                 //Log::write("a14:".$balance,'error');
-                                UserBill::income('开团成功,平级奖励', $v, 'wdc', 'wdc_brokerage',$samelevelPrize, 0, $balance, '平级奖励', 1);
+                                UserBill::income('开团成功,平级奖励', $v, 'wdc', 'wdc_brokerage', $samelevelPrize, 0, $balance, '平级奖励', 1);
                             }
                         }
                     }
@@ -1613,19 +1621,19 @@ class StorePink extends BaseModel
             //if (!$data['refund_price']) return false;
             $refund_price = $data['refund_price'];
             $data['refund_price'] = bcadd($data['refund_price'], $product['refund_price'], 2);
-           // $bj = bccomp((float)$product['pay_price'], (float)$data['refund_price'], 2);
+            // $bj = bccomp((float)$product['pay_price'], (float)$data['refund_price'], 2);
             //if ($bj < 0) return false;
-            if($product['is_auto_pink'] && $product['pink_num']){
-                if($product['pink_num']>1){
-                    $data['type']=2;
-                    $data['pink_id']=0;
-                    $add=rand(120,240);
-                    $data['begin_time']=bcadd(time(),$add,2);
+            if ($product['is_auto_pink'] && $product['pink_num']) {
+                if ($product['pink_num'] > 1) {
+                    $data['type'] = 2;
+                    $data['pink_id'] = 0;
+                    $add = rand(120, 240);
+                    $data['begin_time'] = bcadd(time(), $add, 2);
                 }
             }
-            $data['pink_num']=$product['pink_num']-1;
-            if(!$data['pink_num']){
-                $data['is_ok']=1;
+            $data['pink_num'] = $product['pink_num'] - 1;
+            if (!$data['pink_num']) {
+                $data['is_ok'] = 1;
             }
             if ($data['type'] == 1) {
                 $data['refund_status'] = 2;
@@ -1636,8 +1644,8 @@ class StorePink extends BaseModel
             unset($data['type']);
             $refund_data['pay_price'] = $product['pay_price'];
             $refund_data['refund_price'] = $refund_price;
-            @file_put_contents('aa1.txt',json_encode($data));
-            if(!$data['pink_num']) {
+            @file_put_contents('aa1.txt', json_encode($data));
+            if (!$data['pink_num']) {
                 if ($product['pay_type'] == 'weixin') {
                     $order_refund = sys_config('order_refund');
                     if (intval($order_refund) == 0) {

+ 17 - 12
app/models/user/User.php

@@ -14,6 +14,7 @@ use crmeb\traits\ModelTrait;
 use crmeb\basic\BaseModel;
 use crmeb\traits\JwtAuthModelTrait;
 use app\models\store\StoreOrderCartInfo;
+
 /**
  * TODO 用户Model
  * Class User
@@ -270,7 +271,7 @@ class User extends BaseModel
             }
         } catch (\Exception $e) {
 //            Log::wirte($e->getMessage().'111', 'error');
-            @file_put_contents('msg.txt',$e->getMessage().'222');
+            @file_put_contents('msg.txt', $e->getMessage() . '222');
         }
 //        self::checkTrans($res);
         return $res2;
@@ -360,12 +361,13 @@ class User extends BaseModel
         $spreadUserInfo = User::getUserInfo($userInfo['spread_uid']);
         //TODO 上级推广员返佣之后的金额
         $balance = bcadd($spreadUserInfo['wdc'], $brokeragePrice, 2);
-        $mark = $userInfo['nickname'] . '成功消费' . floatval($orderInfo['pay_price']) . '元,奖励推广wdc' . floatval($brokeragePrice);
+        $mark = $userInfo['nickname'] . '成功消费' . floatval($orderInfo['pay_price']) . '元,奖励推广酒币' . floatval($brokeragePrice);
         $open && self::beginTrans();
         //TODO 添加推广记录
-        $res1 = UserBill::income('获得推广wdc', $userInfo['spread_uid'], 'wdc', 'wdc_brokerage', $brokeragePrice, $orderInfo['id'], $balance, $mark);
+        $res1 = UserBill::income('获得推广酒币', $userInfo['spread_uid'], 'wdc', 'wdc_brokerage', $brokeragePrice, $orderInfo['id'], $balance, $mark);
         //TODO 添加用户余额
         $res2 = self::bcInc($userInfo['spread_uid'], 'wdc', $brokeragePrice, 'uid');
+        $res2 = self::bcInc($userInfo['spread_uid'], 'wdc_all', $brokeragePrice, 'uid');
         //TODO 一级返佣成功 跳转二级返佣
         $res = $res1 && $res2;
         $open && self::checkTrans($res);
@@ -620,7 +622,7 @@ class User extends BaseModel
         $data['account'] = $account;
         $data['pwd'] = md5($password);
         $data['phone'] = $phone;
-        if(sys_config('spread_look')==0) {
+        if (sys_config('spread_look') == 0) {
             if ($spread) {
                 $data['spread_uid'] = $spread;
                 $data['spread_time'] = time();
@@ -650,7 +652,7 @@ class User extends BaseModel
         if ($res) {
             WechatUser::firstRegGiveIntegral($data['uid']); //首次注册送积分
         }
-        UserLevel::setUserLevel($res2->uid,1);
+        UserLevel::setUserLevel($res2->uid, 1);
         self::checkTrans($res);
         return $res;
     }
@@ -801,28 +803,30 @@ class User extends BaseModel
     {
         return self::where('uid', $uid)->value('level');
     }
+
     /**
      * 下单成功直接上级赠送wdc
      * @param $uid
      * @return int
      */
-    public static function directWdc($orderInfo){
+    public static function directWdc($orderInfo)
+    {
         //TODO 营销产品不返佣金
-        @file_put_contents('spread1.txt',json_encode($orderInfo));
+        @file_put_contents('spread1.txt', json_encode($orderInfo));
         if (isset($orderInfo['combination_id']) && $orderInfo['combination_id']) return true;
         if (isset($orderInfo['seckill_id']) && $orderInfo['seckill_id']) return true;
         if (isset($orderInfo['bargain_id']) && $orderInfo['bargain_id']) return true;
         if (isset($orderInfo['is_wdc']) && $orderInfo['is_wdc']) return true;
         $userInfo = User::getUserInfo($orderInfo['uid']);
-        @file_put_contents('spread2.txt',json_encode($userInfo));
+        @file_put_contents('spread2.txt', json_encode($userInfo));
         //TODO 当前用户不存在 没有上级 或者 当用用户上级时自己  直接返回
         if (!$userInfo || !$userInfo['spread_uid'] || $userInfo['spread_uid'] == $orderInfo['uid']) return true;
         //TODO 获取上级推广员信息
         $spreadUserInfo = User::getUserInfo($userInfo['spread_uid']);
-        $product_id=StoreOrderCartInfo::where('oid',$orderInfo['id'])->value('product_id');
-        $brokeragePrice=StoreProduct::where('id',$product_id)->value('pink_zhitui_prize');
-        $brokeragePrice=$brokeragePrice*$orderInfo['total_num'];
-        @file_put_contents('spread.txt',json_encode($spreadUserInfo));
+        $product_id = StoreOrderCartInfo::where('oid', $orderInfo['id'])->value('product_id');
+        $brokeragePrice = StoreProduct::where('id', $product_id)->value('pink_zhitui_prize');
+        $brokeragePrice = $brokeragePrice * $orderInfo['total_num'];
+        @file_put_contents('spread.txt', json_encode($spreadUserInfo));
         //TODO 上级推广员返佣之后的金额
         $balance = bcadd($spreadUserInfo['wdc'], $brokeragePrice, 2);
         $mark = $userInfo['nickname'] . '成功消费' . floatval($orderInfo['pay_price']) . '元,奖励推广wdc' . floatval($brokeragePrice);
@@ -831,6 +835,7 @@ class User extends BaseModel
         $res1 = UserBill::income('获得推广佣金', $userInfo['spread_uid'], 'wdc', 'direct', $brokeragePrice, $orderInfo['id'], $balance, $mark);
         //TODO 添加用户余额
         $res2 = self::bcInc($userInfo['spread_uid'], 'wdc', $brokeragePrice, 'uid');
+        $res2 = self::bcInc($userInfo['spread_uid'], 'wdc_all', $brokeragePrice, 'uid');
         //TODO 一级返佣成功 跳转二级返佣
         $res = $res1 && $res2;
         self::checkTrans($res);

+ 38 - 30
app/models/user/WechatUser.php

@@ -101,9 +101,12 @@ class WechatUser extends BaseModel
                 $isCOde = true;
             } else
                 $spid = $routine['spid'];
-        } else if ($routine['spid'])
-         {$spid = $routine['spid'];}
-         if(sys_config('spread_look')==1) {$spid=0;} 
+        } else if ($routine['spid']) {
+            $spid = $routine['spid'];
+        }
+        if (sys_config('spread_look') == 1) {
+            $spid = 0;
+        }
 
         //  判断unionid  存在根据unionid判断
         if ($routineInfo['unionid'] != '' && ($uid = self::where(['unionid' => $routineInfo['unionid']])->where('user_type', '<>', 'h5')->value('uid'))) {
@@ -112,7 +115,7 @@ class WechatUser extends BaseModel
             $routineInfo['isPromoter'] = $isCOde;
             if ($routine['login_type']) $routineInfo['login_type'] = $routine['login_type'];
             User::updateWechatUser($routineInfo, $uid);
-            if(sys_config('spread_look')==0) {
+            if (sys_config('spread_look') == 0) {
                 if (!User::where('uid', $uid)->value('spread_uid') && $spid && $uid > $spid) {  //绑定关系
                     Db::name('user')->where('uid', $spid)->inc('spread_count', 1)->update();
                     User::where('uid', $uid)->update([
@@ -127,7 +130,7 @@ class WechatUser extends BaseModel
             $routineInfo['isPromoter'] = $isCOde;
             if ($routine['login_type']) $routineInfo['login_type'] = $routine['login_type'];
             User::updateWechatUser($routineInfo, $uid);
-            if(sys_config('spread_look')==0) {
+            if (sys_config('spread_look') == 0) {
                 if (!User::where('uid', $uid)->value('spread_uid') && $spid && $uid > $spid) {  //绑定关系
                     Db::name('user')->where('uid', $spid)->inc('spread_count', 1)->update();
                     User::where('uid', $uid)->update([
@@ -142,9 +145,8 @@ class WechatUser extends BaseModel
             $res = User::setRoutineUser($routineInfo, $spid);
             $uid = $res->uid;
         }
-        if(intval(User::where('uid', $uid)->value('level'))==0)
-        {
-            UserLevel::setUserLevel($uid,1);
+        if (intval(User::where('uid', $uid)->value('level')) == 0) {
+            UserLevel::setUserLevel($uid, 1);
         }
         return $uid;
     }
@@ -202,9 +204,8 @@ class WechatUser extends BaseModel
         }
         self::commitTrans();
         self::userFirstSubGiveCoupon($openid);
-        if(intval(User::where('uid', $userInfo['uid'])->value('level'))==0)
-        {
-            UserLevel::setUserLevel($userInfo['uid'],1);
+        if (intval(User::where('uid', $userInfo['uid'])->value('level')) == 0) {
+            UserLevel::setUserLevel($userInfo['uid'], 1);
         }
         if (!UserBill::be(['uid' => $wechatUser['uid'], 'type' => 'focus_wechat', 'status' => 1]) && $wechatUser['subscribe'] == 1) {
             self::focusWechatGiveIntegral($wechatUser['uid']);  //关注送积分
@@ -279,6 +280,7 @@ class WechatUser extends BaseModel
 //        }
         return true;
     }
+
     /**
      * 中奖失败奖励WDC
      * @param array $pinkRegimental 成功的团长编号
@@ -288,33 +290,37 @@ class WechatUser extends BaseModel
     public static function failGiveWdc($uid, $wdc = 0)
     {
         BaseModel::beginTrans();
-        $userInfo=User::where('uid',$uid)->find();
+        $userInfo = User::where('uid', $uid)->find();
         $sum_wdc = bcadd($userInfo['wdc'], $wdc, 2);
         $res1 = false != User::where('uid', $userInfo['uid'])->update(['wdc' => $sum_wdc]);
-        $res2 = false != UserBill::income('未中奖赠送酒币',$uid, 'wdc', 'fail_give',$wdc,0, bcadd($userInfo['wdc'],$wdc, 2), '拼团未中奖赠送' . floatval($wdc) . 'wdc');
-        $res = $res1 && $res2;
+        $res3 = false != User::where('uid', $userInfo['uid'])->update(['wdc_all' => $sum_wdc]);
+        $res2 = false != UserBill::income('未中奖赠送酒币', $uid, 'wdc', 'fail_give', $wdc, 0, bcadd($userInfo['wdc'], $wdc, 2), '拼团未中奖赠送' . floatval($wdc) . 'wdc');
+        $res = $res1 && $res2 && $res3;
         BaseModel::checkTrans($res);
         return $res;
     }
+
     //拼中上级增加一次排队结束机会
-    public static function  OverLikeNum($uid){
+    public static function OverLikeNum($uid)
+    {
         BaseModel::beginTrans();
-        $res=true;
-        $userInfo=User::where('uid',$uid)->find();
-        if($userInfo['spread_uid ']){
-            $res1=User::bcInc($userInfo['spread_uid '], 'over_like_num',1, 'uid');
-            $spreadInfo=User::where('uid',$userInfo['spread_uid '])->find();
-           if($spreadInfo['over_like_num']==sys_config('invite_num_pd')){
-               $res2=User::bcInc($userInfo['spread_uid '], '	over_num',1, 'uid');
-               $res3=User::bcDec($userInfo['spread_uid '], '	over_like_num',sys_config('invite_num_pd'), 'uid');
-               $res=$res1 && $res2 && $res3;
-           }else{
-               $res=$res1;
-           }
+        $res = true;
+        $userInfo = User::where('uid', $uid)->find();
+        if ($userInfo['spread_uid ']) {
+            $res1 = User::bcInc($userInfo['spread_uid '], 'over_like_num', 1, 'uid');
+            $spreadInfo = User::where('uid', $userInfo['spread_uid '])->find();
+            if ($spreadInfo['over_like_num'] == sys_config('invite_num_pd')) {
+                $res2 = User::bcInc($userInfo['spread_uid '], '	over_num', 1, 'uid');
+                $res3 = User::bcDec($userInfo['spread_uid '], '	over_like_num', sys_config('invite_num_pd'), 'uid');
+                $res = $res1 && $res2 && $res3;
+            } else {
+                $res = $res1;
+            }
         }
         BaseModel::checkTrans($res);
         return $res;
     }
+
     /**
      * 中奖奖励WDC
      * @param array $pinkRegimental 成功的团长编号
@@ -324,14 +330,16 @@ class WechatUser extends BaseModel
     public static function successGiveWdc($uid, $wdc = 0)
     {
         BaseModel::beginTrans();
-        $userInfo=User::where('uid',$uid)->find();
+        $userInfo = User::where('uid', $uid)->find();
         $sum_wdc = bcadd($userInfo['wdc'], $wdc, 2);
         $res1 = false != User::where('uid', $userInfo['uid'])->update(['wdc' => $sum_wdc]);
-        $res2 = false != UserBill::income('中奖赠送酒币',$uid, 'wdc', 'success_give',$wdc,0, bcadd($userInfo['wdc'],$wdc, 2), '拼团中奖赠送' . floatval($wdc) . 'wdc');
-        $res = $res1 && $res2;
+        $res3 = false != User::where('uid', $userInfo['uid'])->update(['wdc_all' => $sum_wdc]);
+        $res2 = false != UserBill::income('中奖赠送酒币', $uid, 'wdc', 'success_give', $wdc, 0, bcadd($userInfo['wdc'], $wdc, 2), '拼团中奖赠送' . floatval($wdc) . 'wdc');
+        $res = $res1 && $res2 && $res3;
         BaseModel::checkTrans($res);
         return $res;
     }
+
     /**
      * 成功发展下线送积分
      * @param $uid