Bläddra i källkod

签到改成连续签到

lizhen_gitee 1 år sedan
förälder
incheckning
58e133abff
2 ändrade filer med 37 tillägg och 7 borttagningar
  1. 36 6
      application/api/controller/Usersign.php
  2. 1 1
      application/extra/site.php

+ 36 - 6
application/api/controller/Usersign.php

@@ -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']);

+ 1 - 1
application/extra/site.php

@@ -44,7 +44,7 @@ return array (
   'ios_update_num' => '1',
   'ios_update_version' => '1.0',
   'money_to_gold' => '10',
-  'user_sign_gift_vipdays' => '0',
+  'user_sign_gift_vipdays' => '1',
   'gift_plat_scale' => '60',
   'unlock_like_me' => '30',
   'intro_man_money' => '1',