| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 | 
							- <?php
 
- /**
 
-  * @copyright   Copyright (c) 2017 https://www.sapixx.com All rights reserved.
 
-  * @license     Licensed (http://www.apache.org/licenses/LICENSE-2.0).
 
-  * @author      pillar<ltmn@qq.com>
 
-  * 招募
 
-  */
 
- namespace app\green\controller\api\v1;
 
- use app\common\controller\Api;
 
- use app\green\model\GreenSign;
 
- use app\green\model\GreenSignConfig;
 
- use app\green\model\GreenUser;
 
- use think\helper\Time;
 
- class Sign extends Api {
 
-     /**
 
-      * 签到数据
 
-      */
 
-     public function index(){
 
-         $param['sign'] = $this->request->param('sign');
 
-         $rel = $this->apiSign($param);
 
-         if($rel['code'] != 200){
 
-             return enjson(500,'签名验证失败');
 
-         }
 
-         list($start, $end) = Time::today();
 
-         $info   = GreenSign::where(['member_miniapp_id' => $this->miniapp_id,'uid' => $this->user->id])->where('signtime','>',$start)->where('signtime','<',$end)->find();
 
-         if(empty($info)){
 
-             list($start, $end) = Time::yesterday();
 
-             $info   = GreenSign::where(['member_miniapp_id' => $this->miniapp_id,'uid' => $this->user->id])->where('signtime','>',$start)->where('signtime','<',$end)->find();
 
-             if(empty($info)){
 
-                 return enjson(204,'empty');
 
-             }else{
 
-                 return enjson(202,'success', $info);
 
-             }
 
-         }
 
-         return enjson(200,'success', $info);
 
-     }
 
-     /**
 
-      * @return \think\response\Json
 
-      * 签到
 
-      */
 
-     public function add(){
 
-         $this->isUserAuth();
 
-         $param['sign'] = $this->request->param('sign');
 
-         $rel = $this->apiSign($param);
 
-         if($rel['code'] != 200){
 
-             return enjson($rel['code'],'签名验证失败');
 
-         }
 
-         list($start, $end) = Time::today();
 
-         $today   = GreenSign::where(['member_miniapp_id' => $this->miniapp_id,'uid' => $this->user->id])->where('signtime','>',$start)->where('signtime','<',$end)->find();
 
-         if($today){
 
-             return enjson(0,'已签到');
 
-         }
 
-         list($start, $end) = Time::yesterday();
 
-         $info   = GreenSign::where(['member_miniapp_id' => $this->miniapp_id,'uid' => $this->user->id])->where('signtime','>',$start)->where('signtime','<',$end)->find();
 
-         $greenUser = GreenUser::where(['member_miniapp_id' =>  $this->miniapp_id,'uid' => $this->user->id])->find();
 
-         if($info){
 
-             $days =  $info->days+1;
 
-             $config = GreenSignConfig::where(['member_miniapp_id' => $this->miniapp_id,'config_id' => $days])->find();
 
-             if($config){
 
-                 $sign                    = new GreenSign;
 
-                 $sign->member_miniapp_id = $this->miniapp_id;
 
-                 $sign->uid               = $this->user->id;
 
-                 $sign->startime          = $info->startime;
 
-                 $sign->signtime          = time();
 
-                 $sign->days              = $days;
 
-                 $sign->points            = $config->point;
 
-                 $sign->save();
 
-                 if($greenUser){
 
-                     GreenUser::where(['id' => $greenUser->id])->update(['points' => $greenUser->points + $config->point,'update_time' => time()]);
 
-                 }else{
 
-                     GreenUser::create(['member_miniapp_id' =>$this->miniapp_id,'uid' => $this->user->id,'points' =>$config->point,'weight' => 0,'create_time' => time(),'update_time' => time()]);
 
-                 }
 
-             }else{
 
-                 $config = GreenSignConfig::where(['member_miniapp_id' => $this->miniapp_id,'config_id' => 1])->find();
 
-                 if($config){
 
-                     $info                    = new GreenSign;
 
-                     $info->member_miniapp_id = $this->miniapp_id;
 
-                     $info->uid               = $this->user->id;
 
-                     $info->startime          = time();
 
-                     $info->signtime          = time();
 
-                     $info->days              = 1;
 
-                     $info->points            = $config->point;
 
-                     $info->save();
 
-                     if($greenUser){
 
-                         GreenUser::where(['id' => $greenUser->id])->update(['points' => $greenUser->points + $config->point,'update_time' => time()]);
 
-                     }else{
 
-                         GreenUser::create(['member_miniapp_id' =>$this->miniapp_id,'uid' => $this->user->id,'weight' => 0,'points' =>$config->point,'create_time' => time(),'update_time' => time()]);
 
-                     }
 
-                 }
 
-             }
 
-         }else{
 
-             $config = GreenSignConfig::where(['member_miniapp_id' => $this->miniapp_id,'config_id' => 1])->find();
 
-             if($config){
 
-                 $info                    = new GreenSign;
 
-                 $info->member_miniapp_id = $this->miniapp_id;
 
-                 $info->uid               = $this->user->id;
 
-                 $info->startime          = time();
 
-                 $info->signtime          = time();
 
-                 $info->days              = 1;
 
-                 $info->points            = $config->point;
 
-                 $info->save();
 
-                 if($greenUser){
 
-                     GreenUser::where(['id' => $greenUser->id])->update(['points' => $greenUser->points + $config->point,'update_time' => time()]);
 
-                 }else{
 
-                     GreenUser::create(['member_miniapp_id' =>$this->miniapp_id,'uid' => $this->user->id,'weight' => 0,'points' =>$config->point,'create_time' => time(),'update_time' => time()]);
 
-                 }
 
-             }
 
-         }
 
-         if($info){
 
-             return enjson(200,'成功',$info);
 
-         }else{
 
-             return enjson(0,'失败');
 
-         }
 
-     }
 
- }
 
 
  |