Browse Source

注册用户安排网体,订单计划任务算业绩

lizhen_gitee 1 year ago
parent
commit
502493ad44
2 changed files with 59 additions and 3 deletions
  1. 45 2
      application/common/library/Auth.php
  2. 14 1
      application/index/controller/Plantask.php

+ 45 - 2
application/common/library/Auth.php

@@ -189,6 +189,19 @@ class Auth
 //        $params['password'] = $this->getEncryptPassword($password, $params['salt']);
 //        $params['password'] = $this->getEncryptPassword($password, $params['salt']);
         $params = array_merge($params, $extend);
         $params = array_merge($params, $extend);
 
 
+        //安排关系网体
+        if(!empty($extend['intro_uid'])){
+            $intro = Db::name('user')->where(['id' => $extend['intro_uid']])->field('id,intro_level,intro_uid,intro_ids')->find();
+
+            $params['intro_ids'] = $intro['intro_ids'] ? ($intro['intro_ids'].','.$intro['id']) : $intro['id']; //所有上级
+            if(!empty($params['intro_ids'])) {
+                $params['intro_ids_new'] = ','.$params['intro_ids'].','; //便于查询所有下级
+            }
+            $params['intro_level'] = $intro['intro_level'] + 1; //推荐网层数
+            //更新直推数和团队数
+            $this->addIntroNum($intro['id'], 1, 1);
+        }
+
         //账号注册时需要开启事务,避免出现垃圾数据
         //账号注册时需要开启事务,避免出现垃圾数据
         Db::startTrans();
         Db::startTrans();
         try {
         try {
@@ -209,9 +222,9 @@ class Auth
             Db::name('user_wallet')->insertGetId(['user_id'=>$user->id]);
             Db::name('user_wallet')->insertGetId(['user_id'=>$user->id]);
 
 
             //上级的直推人数+1
             //上级的直推人数+1
-            if($extend['intro_uid']){
+            /*if($extend['intro_uid']){
                 Db::name('user')->where('id',$extend['intro_uid'])->setInc('intro_num');
                 Db::name('user')->where('id',$extend['intro_uid'])->setInc('intro_num');
-            }
+            }*/
 
 
             //注册成功的事件
             //注册成功的事件
             Hook::listen("user_register_successed", $this->_user, $data);
             Hook::listen("user_register_successed", $this->_user, $data);
@@ -225,6 +238,36 @@ class Auth
     }
     }
 
 
     /**
     /**
+     * 更新邀请码数和推荐团队人数
+     * @param string $tjrname 用户id
+     * @param integer $num 直推增减人数
+     * @param integer $team 团队增减人数
+     */
+    public function addIntroNum($tjrname, $num, $team)
+    {
+        //更新直推人数
+        if($num < 0) {
+            Db::name('user')->where(['id' => $tjrname])->setDec('intro_num', abs($num));
+        } else {
+            Db::name('user')->where(['id' => $tjrname])->setInc('intro_num', $num);
+        }
+        //更新团队
+        $rstjr = Db::name('user')->where(['id' => $tjrname])->field('id,intro_ids')->find();
+        if($rstjr) {
+            $tjstr = $rstjr['intro_ids'] ? ($rstjr['intro_ids'] . ',' . $rstjr['id']) : $rstjr['id'];
+            $tjstr = trim($tjstr, ',');
+            $arr_intro = explode(',', $tjstr);
+
+            if($team < 0) {
+                Db::name('user')->where(['id' => ['in', $arr_intro]])->setDec('intro_num_all', abs($team));
+            } else {
+                Db::name('user')->where(['id' => ['in', $arr_intro]])->setInc('intro_num_all', $team);
+            }
+
+        }
+    }
+
+    /**
      * 用户登录
      * 用户登录
      *
      *
      * @param string $account  账号,用户名、邮箱、手机号
      * @param string $account  账号,用户名、邮箱、手机号

+ 14 - 1
application/index/controller/Plantask.php

@@ -241,7 +241,20 @@ class Plantask extends Controller
     }
     }
     //获取业绩
     //获取业绩
     private function jiesuan_yeji($user_id){
     private function jiesuan_yeji($user_id){
-        return 150000;
+        //找到所有下级
+        $user_ids = Db::name('user')->where('find_in_set(:intro_ids,intro_ids)', ['intro_ids' => $user_id])->column('id');
+
+        if(empty($user_ids)){
+            return 0;
+        }
+
+        $map = [
+            'status' => 1,
+            'have_paid' => ['gt',0],
+            'user_id' => ['IN',$user_ids],
+        ];
+        $yeji = Db::name('unishop_order')->where($map)->sum('order_price');
+        return $yeji;
     }
     }
 
 
     //确认代理等级及规则
     //确认代理等级及规则