|
@@ -48,8 +48,77 @@ class Usersign extends Api
|
|
$this->success('success',$data);
|
|
$this->success('success',$data);
|
|
}
|
|
}
|
|
|
|
|
|
- //签到
|
|
|
|
|
|
+ //签到 得配置金币和第七天vip
|
|
public function signin(){
|
|
public function signin(){
|
|
|
|
+ $uid = $this->auth->id;
|
|
|
|
+
|
|
|
|
+ //记录日志
|
|
|
|
+ $data = [
|
|
|
|
+ 'uid' => $uid,
|
|
|
|
+ 'times' => 1,
|
|
|
|
+ 'goldnum' => 0,
|
|
|
|
+ '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){
|
|
|
|
+ //今天只能签一次
|
|
|
|
+ if($check['createtime'] > $today_time){
|
|
|
|
+ $this->error('今天已经签过了');
|
|
|
|
+ }
|
|
|
|
+ if ($check['createtime'] >= $yesterday_time) {
|
|
|
|
+ $data['times'] = $check['times'] + 1; //连续签到次数
|
|
|
|
+ }else{
|
|
|
|
+ //没有连起来,默认1
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if($data['times'] > 7){
|
|
|
|
+ $data['times'] = 1;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //匹配对应金币数
|
|
|
|
+ $list = Db::name('signin')->order('id asc')->column('id,goldnum');
|
|
|
|
+ $data['goldnum'] = isset($list[$data['times']]) ? $list[$data['times']] : 0 ;
|
|
|
|
+
|
|
|
|
+ Db::startTrans();
|
|
|
|
+ //记录日志
|
|
|
|
+ $log_id = Db::name('user_sign')->insertGetId($data);
|
|
|
|
+ if(!$log_id){
|
|
|
|
+ Db::rollback();
|
|
|
|
+ $this->error('签到失败');
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //加钱
|
|
|
|
+ $rs = model('wallet')->lockChangeAccountRemain($this->auth->id,$data['goldnum'],'+',0,'签到奖励',16,'jewel');
|
|
|
|
+ if($rs['status'] === false){
|
|
|
|
+ Db::rollback();
|
|
|
|
+ $this->error($rs['msg']);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //第七天赠送vip
|
|
|
|
+ /*$vip_rs = false;
|
|
|
|
+ $user_sign_gift_vipdays = intval(config('site.user_sign_gift_vipdays'));
|
|
|
|
+ if($data['times'] == 7 && $user_sign_gift_vipdays > 0){
|
|
|
|
+
|
|
|
|
+ $vip_rs = $this->gift_vip($user_sign_gift_vipdays);
|
|
|
|
+ }*/
|
|
|
|
+
|
|
|
|
+ Db::commit();
|
|
|
|
+ $remark = '获得金币'.$data['goldnum'];
|
|
|
|
+ /*if($vip_rs){
|
|
|
|
+ $remark .= ',vip'.$user_sign_gift_vipdays.'天';
|
|
|
|
+ }*/
|
|
|
|
+ $this->success('签到成功',$remark);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //签到,得礼物与随机钻石
|
|
|
|
+ public function signin_bak(){
|
|
Db::startTrans();
|
|
Db::startTrans();
|
|
try {
|
|
try {
|
|
$uid = $this->auth->id;
|
|
$uid = $this->auth->id;
|
|
@@ -169,7 +238,7 @@ class Usersign extends Api
|
|
|
|
|
|
//第七天赠送vip
|
|
//第七天赠送vip
|
|
//找出最近七天的次数
|
|
//找出最近七天的次数
|
|
- /*private function gift_vip($user_sign_gift_vipdays){
|
|
|
|
|
|
+ private function gift_vip($user_sign_gift_vipdays){
|
|
$start = strtotime(date('Y-m-d')) - 518400;
|
|
$start = strtotime(date('Y-m-d')) - 518400;
|
|
$map = [
|
|
$map = [
|
|
'uid' => $this->auth->id,
|
|
'uid' => $this->auth->id,
|
|
@@ -177,7 +246,7 @@ class Usersign extends Api
|
|
];
|
|
];
|
|
$count = Db::name('user_sign')->where($map)->count();
|
|
$count = Db::name('user_sign')->where($map)->count();
|
|
|
|
|
|
- if($count >= 7){
|
|
|
|
|
|
+ if($count >= 7){ //七天内签到次数 >= 7
|
|
//赠送vip三天
|
|
//赠送vip三天
|
|
$add_time = 86400 * $user_sign_gift_vipdays;
|
|
$add_time = 86400 * $user_sign_gift_vipdays;
|
|
|
|
|
|
@@ -197,5 +266,5 @@ class Usersign extends Api
|
|
return true;
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
return false;
|
|
- }*/
|
|
|
|
|
|
+ }
|
|
}
|
|
}
|