66 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			66 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| 
								 | 
							
								<?php
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace app\common\library;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								use app\common\model\school\classes\VirtualHead;
							 | 
						||
| 
								 | 
							
								use app\common\model\school\classes\VirtualUser;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 *  虚拟数据工具类
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								class Virtual
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /** 获得虚拟昵称
							 | 
						||
| 
								 | 
							
								     * @return mixed|string
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public function getNickName(){
							 | 
						||
| 
								 | 
							
								        $str = config("site.virtual_nickname");
							 | 
						||
| 
								 | 
							
								        $arr = explode("##",$str);
							 | 
						||
| 
								 | 
							
								        $r = rand(0,sizeof($arr));
							 | 
						||
| 
								 | 
							
								        return $arr[$r];
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function getVirtualUser($num=10,$classes_lib_id = 0,$time=null,$set=false){
							 | 
						||
| 
								 | 
							
								        $users = [];
							 | 
						||
| 
								 | 
							
								        if(!$time)$time = time();
							 | 
						||
| 
								 | 
							
								        //mysql随机查询$num个数据
							 | 
						||
| 
								 | 
							
								        $virtualHead  = VirtualHead::orderRaw("rand()")->limit($num)->select();
							 | 
						||
| 
								 | 
							
								        //随机获得$num个虚拟用户昵称和头像
							 | 
						||
| 
								 | 
							
								        foreach($virtualHead as $v) {
							 | 
						||
| 
								 | 
							
								            $nickname = $this->getNickName();
							 | 
						||
| 
								 | 
							
								            $head = $v->head_image;
							 | 
						||
| 
								 | 
							
								            $r = rand(($time - 86400*7),$time);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            $users[] = [
							 | 
						||
| 
								 | 
							
								                "nickname"=>$nickname,
							 | 
						||
| 
								 | 
							
								                "head_image"=>$head,
							 | 
						||
| 
								 | 
							
								                "time"=>$r,
							 | 
						||
| 
								 | 
							
								                "jointype" => "1",
							 | 
						||
| 
								 | 
							
								                "havetype" => "".($r % 2)
							 | 
						||
| 
								 | 
							
								            ];
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        if(!$set){
							 | 
						||
| 
								 | 
							
								            return $users;
							 | 
						||
| 
								 | 
							
								        }else{
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            $user_data=[];
							 | 
						||
| 
								 | 
							
								            foreach($users as $user) {
							 | 
						||
| 
								 | 
							
								                $r = rand(($time - 86400*7),$time);
							 | 
						||
| 
								 | 
							
								                $user_data[] = [
							 | 
						||
| 
								 | 
							
								                    "nickname"=>$user["nickname"],
							 | 
						||
| 
								 | 
							
								                    "head_image"=>$user["head_image"],
							 | 
						||
| 
								 | 
							
								                    "classes_lib_id"=>$classes_lib_id,
							 | 
						||
| 
								 | 
							
								                    "time"=>$r,
							 | 
						||
| 
								 | 
							
								                    "jointype" => "1",
							 | 
						||
| 
								 | 
							
								                    "havetype" => "".($r % 2)
							 | 
						||
| 
								 | 
							
								                ];
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            (new VirtualUser)->saveAll($user_data);
							 | 
						||
| 
								 | 
							
								            return $user_data;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								}
							 |