| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394 | 
							- <?php
 
- // +—————————————————————————————————————————————————————————————————————
 
- // | Created by Yunbao
 
- // +—————————————————————————————————————————————————————————————————————
 
- // | Copyright (c) 2013~2022 http://www.yunbaokj.com All rights reserved.
 
- // +—————————————————————————————————————————————————————————————————————
 
- // | Author: https://gitee.com/yunbaokeji
 
- // +—————————————————————————————————————————————————————————————————————
 
- // | Date: 2022-02-17
 
- // +—————————————————————————————————————————————————————————————————————
 
- class Model_User extends PhalApi_Model_NotORM {
 
- 	/* 用户全部信息 */
 
- 	public function getBaseInfo($uid) {
 
- 		$info=DI()->notorm->user
 
- 				->select("id,user_nicename,avatar,avatar_thumb,sex,signature,coin,votes,consumption,votestotal,province,city,birthday,location")
 
- 				->where('id=?  and user_type="2"',$uid)
 
- 				->fetchOne();
 
-         if($info){
 
-             $info['avatar']=get_upload_path($info['avatar']);
 
-             $info['avatar_thumb']=get_upload_path($info['avatar_thumb']);						
 
-             $info['level']=getLevel($info['consumption']);
 
-             $info['level_anchor']=getLevelAnchor($info['votestotal']);
 
-             $info['lives']=getLives($uid);
 
-            
 
-             
 
-           
 
-             
 
-             if($info['birthday']){
 
-                 $info['birthday']=date('Y-m-d',$info['birthday']);   
 
-             }else{
 
-                 $info['birthday']='';
 
-             }
 
-         }
 
- 					
 
- 		return $info;
 
- 	}
 
- 			
 
- 	/* 判断昵称是否重复 */
 
- 	public function checkName($uid,$name){
 
- 		$isexist=DI()->notorm->user
 
- 					->select('id')
 
- 					->where('id!=? and user_nicename=?',$uid,$name)
 
- 					->fetchOne();
 
- 		if($isexist){
 
- 			return 0;
 
- 		}else{
 
- 			return 1;
 
- 		}
 
- 	}
 
- 	
 
- 	/* 修改信息 */
 
- 	public function userUpdate($uid,$fields){
 
- 		/* 清除缓存 */
 
- 		delCache("userinfo_".$uid);
 
-         
 
-         if(!$fields){
 
-             return false;
 
-         }
 
- 		return DI()->notorm->user
 
- 					->where('id=?',$uid)
 
- 					->update($fields);
 
- 	}
 
- 	/* 修改密码 */
 
- 	public function updatePass($uid,$oldpass,$pass){
 
- 		$userinfo=DI()->notorm->user
 
- 					->select("user_pass")
 
- 					->where('id=?',$uid)
 
- 					->fetchOne();
 
- 		$oldpass=setPass($oldpass);							
 
- 		if($userinfo['user_pass']!=$oldpass){
 
- 			return 1003;
 
- 		}							
 
- 		$newpass=setPass($pass);
 
- 		return DI()->notorm->user
 
- 					->where('id=?',$uid)
 
- 					->update( array( "user_pass"=>$newpass ) );
 
- 	}
 
- 	
 
- 	/* 我的钻石 */
 
- 	public function getBalance($uid){
 
- 		if($uid<0){
 
- 			return array(
 
- 				'coin'=>0,
 
- 				'score'=>0
 
- 			);
 
- 		}
 
- 		return DI()->notorm->user
 
- 				->select("coin,score")
 
- 				->where('id=?',$uid)
 
- 				->fetchOne();
 
- 	}
 
- 	
 
- 	/* 充值规则 */
 
- 	public function getChargeRules(){
 
- 		$rules= DI()->notorm->charge_rules
 
- 				->select('id,coin,money,give')
 
- 				->order('list_order asc')
 
- 				->fetchAll();
 
- 		return 	$rules;
 
- 	}
 
-     
 
- 	/* 我的收益 */
 
- 	public function getProfit($uid){
 
- 		$info= DI()->notorm->user
 
- 				->select("votes,votestotal")
 
- 				->where('id=?',$uid)
 
- 				->fetchOne();
 
- 		$config=getConfigPri();
 
- 		
 
- 		//提现比例
 
- 		$cash_rate=$config['cash_rate'];
 
-         $cash_start=$config['cash_start'];
 
- 		$cash_end=$config['cash_end'];
 
- 		$cash_max_times=$config['cash_max_times'];
 
- 		$cash_take=$config['cash_take'];
 
- 		//剩余票数
 
- 		$votes=$info['votes'];
 
-         
 
- 		if(!$cash_rate){
 
- 			$total='0';
 
- 		}else{
 
- 			//总可提现数
 
- 			$total=(string)(floor($votes/$cash_rate)*(100-$cash_take)/100);
 
- 		}
 
-         if($cash_max_times){   
 
-             $tips='每月'.$cash_start.'-'.$cash_end.'号可进行提现申请,每月只可提现'.$cash_max_times.'次';
 
-         }else{
 
-             $tips='每月'.$cash_start.'-'.$cash_end.'号可进行提现申请';
 
-         }
 
-         
 
- 		$rs=array(
 
- 			"votes"=>$votes,
 
- 			"votestotal"=>$info['votestotal'],
 
- 			"total"=>$total,
 
- 			"cash_rate"=>$cash_rate,
 
- 			"cash_take"=>$cash_take,
 
- 			"tips"=>$tips,
 
- 		);
 
- 		return $rs;
 
- 	}	
 
- 	/* 提现  */
 
- 	public function setCash($data){
 
-         
 
-         $nowtime=time();
 
-         
 
-         $uid=$data['uid'];
 
-         $accountid=$data['accountid'];
 
-         $cashvote=$data['cashvote'];
 
-         
 
-         $config=getConfigPri();
 
-         $cash_start=$config['cash_start'];
 
-         $cash_end=$config['cash_end'];
 
-         $cash_max_times=$config['cash_max_times'];
 
-         
 
-         $day=(int)date("d",$nowtime);
 
-         
 
-         if($day < $cash_start || $day > $cash_end){
 
-             return 1005;
 
-         }
 
-         
 
-         //本月第一天
 
-         $month=date('Y-m-d',strtotime(date("Ym",$nowtime).'01'));
 
-         $month_start=strtotime(date("Ym",$nowtime).'01');
 
-         //本月最后一天
 
-         $month_end=strtotime("{$month} +1 month");
 
-         
 
-         if($cash_max_times){
 
-             $isexist=DI()->notorm->cash_record
 
-                     ->where('uid=? and addtime > ? and addtime < ?',$uid,$month_start,$month_end)
 
-                     ->count();
 
-             if($isexist >= $cash_max_times){
 
-                 return 1006;
 
-             }
 
-         }
 
-         
 
- 		$isrz=DI()->notorm->user_auth
 
- 				->select("status")
 
- 				->where('uid=?',$uid)
 
- 				->fetchOne();
 
- 		if(!$isrz || $isrz['status']!=1){
 
- 			return 1003;
 
- 		}
 
-         
 
-         /* 钱包信息 */
 
- 		$accountinfo=DI()->notorm->cash_account
 
- 				->select("*")
 
- 				->where('id=? and uid=?',$accountid,$uid)
 
- 				->fetchOne();
 
-         if(!$accountinfo){
 
-             return 1007;
 
-         }
 
-         
 
- 		//提现比例
 
- 		$cash_rate=$config['cash_rate'];
 
- 		
 
- 		/*提现抽成比例*/
 
- 		$cash_take=$config['cash_take'];
 
- 		
 
- 		/* 最低额度 */
 
- 		$cash_min=$config['cash_min'];
 
- 		
 
- 		//提现钱数
 
-         $money=floor($cashvote/$cash_rate);
 
- 		
 
- 		if($money < $cash_min){
 
- 			return 1004;
 
- 		}
 
- 		
 
- 		$cashvotes=$money*$cash_rate;
 
-         
 
-         
 
-         $ifok=DI()->notorm->user
 
-             ->where('id = ? and votes>=?', $uid,$cashvotes)
 
-             ->update(array('votes' => new NotORM_Literal("votes - {$cashvotes}")) );
 
-         if(!$ifok){
 
-             return 1001;
 
-         }
 
- 		
 
- 		//平台抽成后最终的钱数
 
- 		$money_take=$money*(1-$cash_take*0.01);
 
- 		$money=number_format($money_take,2,".","");
 
- 		
 
- 		$data=array(
 
- 			"uid"=>$uid,
 
- 			"money"=>$money,
 
- 			"votes"=>$cashvotes,
 
- 			"orderno"=>$uid.'_'.$nowtime.rand(100,999),
 
- 			"status"=>0,
 
- 			"addtime"=>$nowtime,
 
- 			"uptime"=>$nowtime,
 
- 			"type"=>$accountinfo['type'],
 
- 			"account_bank"=>$accountinfo['account_bank'],
 
- 			"account"=>$accountinfo['account'],
 
- 			"name"=>$accountinfo['name'],
 
- 		);
 
- 		
 
- 		$rs=DI()->notorm->cash_record->insert($data);
 
- 		if(!$rs){
 
-             return 1002;
 
- 		}	        
 
- 		return $rs;
 
- 	}
 
- 	
 
- 	
 
- 	/* 直播记录 */
 
- 	public function getLiverecord($touid,$p){
 
-         if($p<1){
 
-             $p=1;
 
-         }
 
- 		$pnum=50;
 
- 		$start=($p-1)*$pnum;
 
- 		$record=DI()->notorm->live_record
 
- 					->select("id,uid,nums,starttime,endtime,title,city")
 
- 					->where('uid=?',$touid)
 
- 					->order("id desc")
 
- 					->limit($start,$pnum)
 
- 					->fetchAll();
 
- 		foreach($record as $k=>$v){
 
- 			$record[$k]['datestarttime']=date("Y.m.d",$v['starttime']);
 
- 			$record[$k]['dateendtime']=date("Y.m.d",$v['endtime']);
 
-             $cha=$v['endtime']-$v['starttime'];
 
- 			$record[$k]['length']=getSeconds($cha);
 
- 		}						
 
- 		return $record;						
 
- 	}	
 
- 	
 
- 		/* 个人主页 */
 
- 	public function getUserHome($uid,$touid){
 
- 		$info=getUserInfo($touid);
 
- 		$user_status=$info['user_status'];
 
-         /* 直播状态 */
 
-         $islive='0';
 
-         $isexist=DI()->notorm->live
 
-                     ->select('uid')
 
- 					->where('uid=? and islive=1',$touid)
 
- 					->fetchOne();
 
-         if($isexist){
 
-             $islive='1';
 
-         }
 
- 		$info['islive']=$islive;
 
-         /* 直播数 */
 
-         $livenums=DI()->notorm->live_record
 
- 					->where('uid=?',$touid)
 
- 					->count();
 
-                     
 
-         $info['livenums']=$livenums;        
 
- 		/* 直播记录 */
 
- 		$record=array();
 
- 		$record=DI()->notorm->live_record
 
- 					->select("id,uid,nums,starttime,endtime,title,city")
 
- 					->where('uid=?',$touid)
 
- 					->order("id desc")
 
- 					->limit(0,50)
 
- 					->fetchAll();
 
- 		foreach($record as $k=>$v){
 
- 			$record[$k]['datestarttime']=date("Y.m.d",$v['starttime']);
 
- 			$record[$k]['dateendtime']=date("Y.m.d",$v['endtime']);
 
-             $cha=$v['endtime']-$v['starttime'];
 
-             $record[$k]['length']=getSeconds($cha);
 
- 		}		
 
- 		$info['liverecord']=$record;	
 
- 		return $info;
 
- 	}
 
-  
 
-     
 
-     /* 获取关于我们列表 */
 
-     public function getPerSetting(){
 
-         $rs=array();
 
-         
 
-         $list=DI()->notorm->portal_post
 
- 				->select("id,post_title")
 
-                 ->where("type='2'")
 
-                 ->order('list_order asc')
 
- 				->fetchAll();
 
-         foreach($list as $k=>$v){
 
-             
 
-             $rs[]=array('id'=>'0','name'=>$v['post_title'],'thumb'=>'' ,'href'=>get_upload_path("/portal/page/index?id={$v['id']}"));
 
-         }
 
-         
 
-         return $rs;
 
-     }
 
-     
 
-     /* 提现账号列表 */
 
-     public function getUserAccountList($uid){
 
-         
 
-         $list=DI()->notorm->cash_account
 
-                 ->select("*")
 
-                 ->where('uid=?',$uid)
 
-                 ->order("addtime desc")
 
-                 ->fetchAll();
 
-                 
 
-         return $list;
 
-     }
 
-     /* 账号信息 */
 
-     public function getUserAccount($where){
 
-         
 
-         $list=DI()->notorm->cash_account
 
-                 ->select("*")
 
-                 ->where($where)
 
-                 ->order("addtime desc")
 
-                 ->fetchAll();
 
-                 
 
-         return $list;
 
-     }
 
-     /* 设置提账号 */
 
-     public function setUserAccount($data){
 
-         
 
-         $rs=DI()->notorm->cash_account
 
-                 ->insert($data);
 
-                 
 
-         return $rs;
 
-     }
 
-     /* 删除提账号 */
 
-     public function delUserAccount($data){
 
-         
 
-         $rs=DI()->notorm->cash_account
 
-                 ->where($data)
 
-                 ->delete();
 
-                 
 
-         return $rs;
 
-     }
 
-  
 
-     //获取认证信息
 
-     public function getAuthInfo($uid){
 
-     	$info=DI()->notorm->user_auth
 
-     			->where("uid=? and status=1",$uid)
 
-     			->select("real_name,cer_no")
 
-     			->fetchOne();
 
-     	return $info;
 
-     }
 
- 	
 
- }
 
 
  |