| 
					
				 | 
			
			
				@@ -10,7 +10,7 @@ use think\Db; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 class Usersign extends Api 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    protected $noNeedLogin = ['config']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    protected $noNeedLogin = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     protected $noNeedRight = ['*']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -19,7 +19,32 @@ class Usersign extends Api 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public function config() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $list = Db::name('signin')->order('id asc')->select(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $this->success('success',$list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //连续签到次数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $user_sign = Db::name('user_sign')->where(['uid' => $this->auth->id])->order('id desc')->find(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $yesterday_time = strtotime('yesterday'); //昨天0点时间戳 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $today_time = $yesterday_time + 86400; //今日0点时间戳 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if ($user_sign) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if ($user_sign['createtime'] >= $yesterday_time) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                $data['sign_times'] = $user_sign['times']; //连续签到天数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                $data['sign_times'] = 0;//昨天没签到,归零 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if ($user_sign['createtime'] >= $today_time) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                $data['is_sign'] = 1; //今日是否签到: 1已签到 0未签到 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                $data['is_sign'] = 0; //今日是否签到: 1已签到 0未签到 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $data['sign_times'] = 0; //连续签到天数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $data['is_sign'] = 0; //今日是否签到: 1已签到 0未签到 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $data['sign_round_times'] = $data['sign_times'] % 7; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $data['list'] = $list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $this->success('success',$data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //签到 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -34,15 +59,20 @@ class Usersign extends Api 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             'createtime' => time(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $yesterday_time = strtotime('yesterday'); //昨天0点时间戳 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $today_time = $yesterday_time + 86400; //今日0点时间戳 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //修正当前次数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $check = Db::name('user_sign')->where('uid',$uid)->order('id desc')->find(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if($check){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            $data['times'] = $check['times'] + 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //今天只能签一次 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if($check['createtime'] > strtotime(date('Y-m-d'))){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if($check['createtime'] > $today_time){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 $this->error('今天已经签过了'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if ($check['createtime'] >= $yesterday_time) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                $data['times'] = $check['times'] + 1; //连续签到次数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if($data['times'] > 7){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -62,7 +92,7 @@ class Usersign extends Api 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //加钱 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $rs = model('wallet')->lockChangeAccountRemain($this->auth->id,'gold',$data['goldnum'],41,'','user_sign',$log_id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $rs = model('wallet')->lockChangeAccountRemain($this->auth->id,'gold',$data['goldnum'],41,'签到奖励','user_sign',$log_id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if($rs['status'] === false){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Db::rollback(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             $this->error($rs['msg']); 
			 |