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; } }