You've already forked qlg.tsgz.moe
							
							终极提交~
This commit is contained in:
		| @@ -1,6 +1,8 @@ | ||||
| <?php | ||||
|  | ||||
| namespace wstmart\common\model; | ||||
| use think\Db; | ||||
|  | ||||
| /** | ||||
|  * | ||||
|  */ | ||||
| @@ -21,6 +23,56 @@ class UserTrees extends Base | ||||
|         return $this->where($where)->field($field)->find(); | ||||
|     } | ||||
|  | ||||
|     public static function getUpperId($userId){ | ||||
|         $data = self::where(["uid"=>$userId])->find(); | ||||
|         return (null == $data)?$data:$data->pid; | ||||
|  | ||||
|     } | ||||
|     public static function realGetMyChildren($myUserId, $users, $level = 1, &$data = []){ | ||||
|         $inUser = implode("','",$users); | ||||
|         $_childes = self::where("pid in('$inUser')")->select(); | ||||
|         $nextUsers = []; | ||||
|         foreach ($_childes as $_child){$nextUsers[] = $_child["uid"];} | ||||
|         $data[$level-1]["count"]=sizeof($_childes); | ||||
|         $data[$level-1]["total"]=self::realGetUsersHelpSaleNum($myUserId, $level); | ||||
|         if($level <= 10){$data[$level-1]["level"]=self::$level[$level];} | ||||
|         else{$data[$level-1]["level"]="第".$level."层";} | ||||
|         $data[$level-1]["level_no"]=$level; | ||||
|         return $level < (int)dataConf("helpSaleMaxLevel") ? self::realGetMyChildren($myUserId, $nextUsers, ++$level, $data) : $data; | ||||
|     } | ||||
|  | ||||
|     public static function checkUserCanDisplay($userId){ | ||||
|         if($userId == 1)return true; | ||||
|         $data = Db::name("user_vouchers_summary")->where(compact('userId'))->find(); | ||||
|         if($data===null){$userHelpGet=0;} | ||||
|         else{$userHelpGet = (float)$data['helpSaleNum'];} | ||||
|         return ($userHelpGet >= 0); | ||||
|     } | ||||
|  | ||||
|     public static function realGetUsersHelpSaleNum($fromUsers, $level){ | ||||
|         $count = DB::table("hyh_orders")->where("userId='$fromUsers' and helpUserLevel='$level' and orderStatus=2")->sum("helpGetCount"); | ||||
|         $count -= DB::table("hyh_orders")->where("helpUserId='$fromUsers' and helpUserLevel='$level' and orderStatus=2")->sum("helpGetCount2"); | ||||
|         return round($count, 2); | ||||
|     } | ||||
|  | ||||
|     public static function realGetLevelsDownBetween($fromUser, $toUser, $level=0){ | ||||
|         if($level === 0 && $fromUser == $toUser)return 0; | ||||
|         if(!is_array($fromUser))$fromUser=[$fromUser]; | ||||
|         if(sizeof($fromUser)==0)return 0; | ||||
|         if(is_array($toUser))$toUser=$toUser[0]; | ||||
|         $inUser = implode("','",$fromUser); | ||||
|         $_childes = self::where("pid in('$inUser')")->select(); | ||||
|         $nextUsers = []; | ||||
|         foreach ($_childes as $_child){$nextUsers[] = $_child["uid"];} | ||||
|         return in_array($toUser, $nextUsers) ? ++$level : self::realGetLevelsDownBetween($nextUsers, $toUser, ++$level); | ||||
|     } | ||||
|  | ||||
|     public static function realGetLevelsBetween($fromUser, $toUser, $level=0){ | ||||
|         if($level === 0 && $fromUser == $toUser)return 0; | ||||
|         $parent = self::where("uid = '$fromUser'")->find(); | ||||
|         $nextUsers = $parent->value("pid"); | ||||
|         return $nextUsers != null ? ($nextUsers == $toUser ? ++$level : self::realGetLevelsBetween($nextUsers, $toUser, ++$level)) : $level; | ||||
|     } | ||||
|     /** | ||||
|      * getMyLevel | ||||
|      * @RequestMapping("getMyLevel") | ||||
| @@ -49,7 +101,7 @@ class UserTrees extends Base | ||||
|         $levelArr[$level]['total'] = 0; | ||||
|         $level++; | ||||
|  | ||||
|         if ($level <= 10) { | ||||
|         if ($level <= (int)dataConf("helpSaleMaxLevel")) { | ||||
|             return self::getMyLevel(implode(',', $ids), $level, $levelArr); | ||||
|         } else { | ||||
|             return self::getMyProductNum($levelArr); | ||||
| @@ -79,8 +131,14 @@ class UserTrees extends Base | ||||
|             if(!$ids){ | ||||
|                 $ids = 0; | ||||
|             } | ||||
|             $levelArr[$key]['total'] += \wstmart\app\model\Users::where("userId in($ids)")->sum("productNum"); | ||||
|             $levelArr[$key]['level'] = self::$level[$key]; | ||||
|             // Fix Injection | ||||
|             $levelArr[$key]['total'] = DB::table("hyh_user_vouchers_summary")->where("userId in('$ids')")->sum("helpSaleNum"); | ||||
|             if($key>10){ | ||||
|                 $levelArr[$key]['level'] = "第".$key."层"; | ||||
|             }else{ | ||||
|                 $levelArr[$key]['level'] = self::$level[$key]; | ||||
|             } | ||||
|             $levelArr[$key]['level_id'] = $key; | ||||
|         } | ||||
|         return $levelArr; | ||||
|     } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user