You've already forked qlg.tsgz.moe
							
							
		
			
				
	
	
		
			82 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
| <?php
 | |
| namespace wstmart\common\model;
 | |
| use Think\Db;
 | |
| /**
 | |
|  * ============================================================================
 | |
|  * 惠宝业务处理器
 | |
|  */
 | |
| class UserScores extends Base{
 | |
|      /**
 | |
|       * 获取列表
 | |
|       */
 | |
|       public function pageQuery($userId){
 | |
|       	  $type = (int)input('post.type');
 | |
|           $where = ['userId'=>(int)$userId];
 | |
|           if($type!=-1)$where['scoreType'] = $type;
 | |
|           $page = $this->where($where)->order('scoreId desc')->paginate()->toArray();
 | |
|           foreach ($page['Rows'] as $key => $v){
 | |
|           	  $page['Rows'][$key]['dataSrc'] = WSTLangScore($v['dataSrc']);
 | |
|           }
 | |
|           return $page;
 | |
|       }
 | |
| 
 | |
|       /**
 | |
|        * 新增记录
 | |
|        */
 | |
|       public function add($score,$isAddTotal = false){
 | |
|           $score['createTime'] = date('Y-m-d H:i:s');
 | |
|           $this->create($score);
 | |
|           $user = model('common/users')->get($score['userId']);
 | |
|           if($score['scoreType']==1){//收入
 | |
|              $user->userScore = $user->userScore + $score['score'];
 | |
|              if($isAddTotal)$user->userTotalScore = $user->userTotalScore+$score['score'];
 | |
|           }else{
 | |
|              $user->userScore = $user->userScore - $score['score'];
 | |
|           }
 | |
|     	  $userinfo = session('WST_USER');
 | |
|     	  $userinfo['userScore'] = $user->userScore;
 | |
|     	  session('WST_USER',$userinfo);
 | |
|           $user->save();
 | |
|       }
 | |
|       
 | |
|       /**
 | |
|        *签到获得惠宝
 | |
|        */
 | |
|       public function signScore($userId){
 | |
|       	$time = date('Y-m-d');
 | |
|       	$frontTime = date("Y-m-d",strtotime("-1 day"));
 | |
|       	if(WSTConf('CONF.signScoreSwitch')==0)return WSTReturn("签到失败");
 | |
|       	$userscores = $this->where(["userId"=>$userId,"dataSrc"=>5,])->order('createTime desc')->find();
 | |
|       	if(!$userscores || date("Y-m-d",strtotime($userscores['createTime']))!=$time){//没签过或最后一次签到不是今天
 | |
|       		$rs = Db::name('users')->where(["userId"=>$userId])->field('userScore')->find();
 | |
|       		$days = $score = 0;
 | |
|       		$days = (date("Y-m-d",strtotime($userscores['createTime']))==$frontTime)?($userscores['dataId']==30)?$userscores['dataId']:$userscores['dataId']+1:1;//是昨天签到的,第30天,返回天数,不然返回天数+1,不是昨天签到的,返回第一天
 | |
|       		$signScore = explode(",",WSTConf('CONF.signScore'));//返回天数每天的惠宝
 | |
|       		if($signScore[0]!=0){
 | |
|       			$score = $signScore[$days-1];//天数对应的惠宝
 | |
|       		}
 | |
|       		$data['totalScore'] = $rs['userScore'] + $score;//用户惠宝+签到送的分
 | |
|       		$data['score'] = $score;
 | |
|       		if($score>0){
 | |
|       			//添加
 | |
|       			$userinfo = session('WST_USER');
 | |
|       			$userinfo['signScoreTime'] = $time;
 | |
|       			session('WST_USER',$userinfo);
 | |
|       			$uscore = [];
 | |
|       			$uscore['userId'] = $userId;
 | |
|       			$uscore['score'] = $score;
 | |
|       			$uscore['dataSrc'] = 5;
 | |
|       			$uscore['dataId'] = $days;
 | |
|       			$uscore['dataRemarks'] = "连续".$days."天签到,获得惠宝".$score."个";
 | |
|       			$uscore['scoreType'] = 1;
 | |
|       			$this->add($uscore,true);
 | |
|       			return WSTReturn("签到第".$days."天,获得".$score."个惠宝",1,$data);
 | |
|       		}else{
 | |
|       			return WSTReturn("签到失败");
 | |
|       		}
 | |
|       	}else{
 | |
|       		return WSTReturn("已签到,明天再来");
 | |
|       	}
 | |
|       }
 | |
| }
 |