//签到 0(签到失败)1(签到成功)2(断签)3已签到
public function sign($id){
$connect=Yii::$app->db;
$arr_sign = $connect->createCommand("SELECT * FROM user where user_id=$id")->queryOne();
//当天凌晨0点
$timeToday = mktime('0','0','0',date('m'),date('d'),date('y'));
//当前时间
$time=time();
//当前时间差
$diff=$time-$timeToday;
//上一次签到与凌晨时间差
$lastdiff=$arr_sign['lasttime']-$timeToday;
//当前时间与上一次签到时间差
$newdiff=$time-$arr_sign['lasttime'];
// print_r(date('Y-m-d H:i:s',$timeToday));die;
// print_r($lastdiff);die;
//签到+1
$sign=$arr_sign['user_sign']+1;
//未签过到进行第一次签到
if($arr_sign['user_sign']==0){
$sql=" update user SET user_sign=$sign, lasttime=$time where user_id=$id ";
$arr=$connect->createCommand($sql)->execute();
return 1;
}else{
//判断是否连续签到或断签
if($lastdiff<=0 && $lastdiff>-86400){
$sql=" update user SET user_sign=$sign, lasttime=$time where user_id=$id ";
$arr=$connect->createCommand($sql)->execute();
return 1;
}elseif($lastdiff>0){
//已签到
return 3;
}elseif($lastdiff<-86400){
//断签
$sql=" update user SET user_sign=1, lasttime=$time where user_id=$id ";
$arr=$connect->createCommand($sql)->execute();
return 2;
}else{
return 0;
}
}