任务功能提交-每日签到功能开发
This commit is contained in:
@@ -109,7 +109,7 @@ class Tasks extends Model
|
||||
->field('id as task_id,icon,task_name,target_quantity,task_type,jump_type,tasks_bag_id')
|
||||
->where('delete_time',0)
|
||||
->where('is_active',1)
|
||||
->order('sort asc')->select();
|
||||
->order('sort desc,id asc')->select();
|
||||
foreach ($data as $k => $v) {
|
||||
//完成进度
|
||||
$v['from_id'] = 0;
|
||||
@@ -223,7 +223,7 @@ class Tasks extends Model
|
||||
$v['task_type_str'] = "已领取";
|
||||
}
|
||||
if($v['task_id']==1){//每日签到处理
|
||||
$sign_in_info = Db::name('vs_user_tasks_sign_in')->where(['user_id'=>$user_id,'sign_in_date'=>date('Y-m-d')])->find();
|
||||
$sign_in_info = Db::name('vs_user_tasks_sign_in')->where(['user_id'=>$user_id,'sign_in_date'=>date('Y-m-d'),'delete_time'=>0])->find();
|
||||
if ($sign_in_info) {
|
||||
$v['task_status'] =3;
|
||||
$v['task_type_str'] = "已签到";
|
||||
@@ -585,7 +585,7 @@ class Tasks extends Model
|
||||
* 用户签到
|
||||
*/
|
||||
public function sign_in($user_id){
|
||||
$sign_in_info = Db::name('vs_user_tasks_sign_in')->where(['user_id'=>$user_id,'sign_in_date'=>date('Y-m-d')])->find();
|
||||
$sign_in_info = Db::name('vs_user_tasks_sign_in')->where(['user_id'=>$user_id,'sign_in_date'=>date('Y-m-d'),'delete_time'=>0])->find();
|
||||
if ($sign_in_info) {
|
||||
return ['code' => 0, 'msg' => '今天已经签到过了','data' => null];
|
||||
}
|
||||
@@ -595,22 +595,17 @@ class Tasks extends Model
|
||||
$this->tasks_complete($user_id,1);
|
||||
//判断连续签到
|
||||
$continuous = 1;
|
||||
$sign_in_info = Db::name('vs_user_tasks_sign_in')->where(['user_id'=>$user_id])->order('id desc')->find();
|
||||
$sign_in_info = Db::name('vs_user_tasks_sign_in')->where(['user_id'=>$user_id,'delete_time'=>0])->order('id desc')->find();
|
||||
if ($sign_in_info) {
|
||||
if ($sign_in_info['sign_in_date'] == date('Y-m-d',strtotime('-1 day'))) {
|
||||
$continuous = $sign_in_info['continuous'] + 1;
|
||||
} else {
|
||||
db::name('vs_user_tasks_sign_in')->where(['user_id'=>$user_id,'delete_time'=>0])->update([
|
||||
'delete_time' => time()
|
||||
]);
|
||||
$continuous = 1;
|
||||
}
|
||||
}
|
||||
if($continuous>1){
|
||||
//连续签到任务送金币
|
||||
//连续签到7天 【完成任务】
|
||||
$this->tasks_complete($user_id,2);
|
||||
//连续签到任务抽礼包【完成任务】
|
||||
//连续签到7天 【完成任务】
|
||||
//$this->tasks_complete($user_id,7);
|
||||
}
|
||||
$reslut = Db::name('vs_user_tasks_sign_in')->insert([
|
||||
'user_id' => $user_id,
|
||||
'sign_in_date' => date('Y-m-d'),
|
||||
@@ -636,11 +631,28 @@ class Tasks extends Model
|
||||
* 今日签到状态
|
||||
*/
|
||||
public function daily_tasks_sign_in_status($user_id){
|
||||
$sign_in_info = Db::name('vs_user_tasks_sign_in')->where(['user_id'=>$user_id,'sign_in_date'=>date('Y-m-d')])->find();
|
||||
//礼包
|
||||
$detail = DB::name('vs_gift_bag_detail')->where(['gift_bag_id'=>18])->select();
|
||||
$detail_list = DB::name('vs_gift_bag_detail')->where(['gift_bag_id'=>18])->limit(7)->select();
|
||||
$list= [];
|
||||
foreach ($detail as $k=>$v){
|
||||
foreach ($detail_list as $k=>$v){
|
||||
$day = $k+1;
|
||||
$list[$k]['day'] = $day;
|
||||
$sign_in = Db::name('vs_user_tasks_sign_in')->where(['user_id'=>$user_id,'continuous'=>$day,'delete_time'=>0])->find();
|
||||
if($sign_in){
|
||||
$list[$k]['sign_in_date'] = $sign_in['sign_in_date'];
|
||||
$list[$k]['sign_in_status'] = 1;
|
||||
$list[$k]['sign_in_status_str'] = "已签到";
|
||||
}else{
|
||||
if($k==0){
|
||||
$list[$k]['sign_in_date'] = date('Y-m-d');
|
||||
}else{
|
||||
$list[$k]['sign_in_date'] = date('Y-m-d',strtotime($list[$k-1]['sign_in_date'])+86400);
|
||||
}
|
||||
$list[$k]['sign_in_status'] = 0;
|
||||
$list[$k]['sign_in_status_str'] = "未签到";
|
||||
}
|
||||
//是否是当天
|
||||
$list[$k]['is_today'] = $list[$k]['sign_in_date'] == date('Y-m-d') ? 1 : 0;
|
||||
if($v['type'] == 1){
|
||||
$list[$k]['gift_name'] = "金币";
|
||||
$list[$k]['num'] = $v['gold'];
|
||||
@@ -672,13 +684,6 @@ class Tasks extends Model
|
||||
}
|
||||
$result = [];
|
||||
$result['gift_bag'] = $list;
|
||||
if ($sign_in_info) {
|
||||
$result['status'] = 1;
|
||||
$result['status_str'] = "已签到";
|
||||
}else{
|
||||
$result['status'] = 0;
|
||||
$result['status_str'] = "未签到";
|
||||
}
|
||||
return ['code' => 1, 'msg' => '成功','data' => $result];
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user