Bläddra i källkod

测试订单10日结算,完成

lizhen_gitee 1 år sedan
förälder
incheckning
00a2e112ad
1 ändrade filer med 19 tillägg och 6 borttagningar
  1. 19 6
      application/index/controller/Plantask.php

+ 19 - 6
application/index/controller/Plantask.php

@@ -158,6 +158,7 @@ class Plantask extends Controller
         }
 
         $tendays_ago = $this->jiesuan_tendays_ago();
+//        echo $tendays_ago;exit;
         //
         Db::startTrans();
         $order_map = [
@@ -166,11 +167,17 @@ class Plantask extends Controller
             'jiesuantime' => 0,
         ];
         $order = Db::name('unishop_order')->where($order_map)->where('have_paid','gt',0)->order('id asc')->lock(true)->find();
+        if(empty($order)){
+            echo '没有数据';
+            Db::rollback();
+            exit;
+        }
+//        dump($order);
 
         //为上级做贡献,找到上级
         $intro_uid = Db::name('user')->where('id',$order['user_id'])->value('intro_uid');
         if(empty($intro_uid)){
-            //没有上级,结束
+            echo '没有上级,结束';
             Db::name('unishop_order')->where('id',$order['id'])->update(['jiesuantime'=>time()]);
             Db::commit();
             exit;
@@ -178,23 +185,26 @@ class Plantask extends Controller
 
         //获取直推人数
         $intro_number = Db::name('user')->where('intro_uid',$intro_uid)->count();
-
+//        dump($intro_number);
         //获取业绩
         $yeji = $this->jiesuan_yeji($intro_uid);
+//        dump($yeji);
 
         //确定代理商等级,拿对应比例
         $rule = $this->jiesuan_daili_level($intro_number,$yeji);
         if($rule['bili'] == 0){
-            //达不到第一级
+            echo '达不到第一级,结束';
             Db::name('unishop_order')->where('id',$order['id'])->update(['jiesuantime'=>time()]);
             Db::commit();
             exit;
         }
+//        dump($rule);
 
         //给直推
         $score = bcdiv(bcmul($order['order_shouyi'],$rule['bili'],2),100,2);
+//        dump($score);
         if($score > 0){
-            $rs_wallet = model('wallet')->lockChangeAccountRemain($intro_uid,'score',$score,6,$rule['level'].'级代理','unishop_order',$order['id']);
+            $rs_wallet = model('wallet')->lockChangeAccountRemain($intro_uid,'score',$score,6,$rule['level'].'级代理','unishop_order',$order['id'],$order['user_id']);
             if($rs_wallet['status'] === false){
                 echo $rs_wallet['msg'];
                 Db::rollback();
@@ -211,7 +221,7 @@ class Plantask extends Controller
                 if($two_intro_count >= $rule['intronum']){//也要五个,且业绩不高于15万(极差)。这里很矛盾
                     $score_2 = $score;//目前是一样的,不再次计算了
                     if($score_2 > 0){
-                        $rs_wallet = model('wallet')->lockChangeAccountRemain($two_intro_uid,'score',$score_2,7,$rule['level'].'级代理(间推)','unishop_order',$order['id']);
+                        $rs_wallet = model('wallet')->lockChangeAccountRemain($two_intro_uid,'score',$score_2,7,$rule['level'].'级代理(间推)','unishop_order',$order['id'],$order['user_id']);
                         if($rs_wallet['status'] === false){
                             echo $rs_wallet['msg'];
                             Db::rollback();
@@ -239,11 +249,13 @@ class Plantask extends Controller
         }
 
         Db::commit();
+        echo '完成'.$order['id'];
     }
     //获取业绩
     private function jiesuan_yeji($user_id){
         //找到所有下级
         $user_ids = Db::name('user')->where('find_in_set(:intro_ids,intro_ids)', ['intro_ids' => $user_id])->column('id');
+//        dump($user_ids);
 
         if(empty($user_ids)){
             return 0;
@@ -262,10 +274,11 @@ class Plantask extends Controller
     private function jiesuan_daili_level($intronum,$yeji){
 
         $data = Db::name('zongdai')->order('id asc')->select();
+//        dump($data);
 
         $return = $data[0]; //默认第0个
         foreach($data as $key => $rule){
-            if($intronum >= $rule['intronum'] && $yeji >= $rule['bili']){
+            if($intronum >= $rule['intronum'] && $yeji >= $rule['yeji']){
                 $return = $rule;
             }
         }