新需求:PK任务 提交
This commit is contained in:
@@ -291,6 +291,11 @@ class Tasks extends Model
|
||||
}
|
||||
$quantity_str= "({$progress}/{$v['target_quantity']})";
|
||||
}
|
||||
if($v['task_id'] == 35){
|
||||
//获胜数量
|
||||
$user_win_times = $user_daily_tasks['ext'] ?? 0;
|
||||
$quantity_str.= "胜:(".$user_win_times.")场";
|
||||
}
|
||||
$v['task_name'] = $v['task_name'].$quantity_str;
|
||||
$v['jump_type_str'] = $this->jump_type[$v['jump_type']];
|
||||
//返回任务列表
|
||||
@@ -463,6 +468,78 @@ class Tasks extends Model
|
||||
}
|
||||
}
|
||||
|
||||
//PK任务完成
|
||||
public function tasks_complete_pk($Victory_user_ids,$Failure_user_ids,$Draw_user_ids,$task_id=35){
|
||||
$current_progress =1;
|
||||
|
||||
//查询任务
|
||||
$task_info = Db::name('vs_tasks')->where('id',$task_id)->where('delete_time',0)->where('is_active',1)->find();
|
||||
if(empty($task_info)){
|
||||
return ['code' => 0, 'msg' => '任务不存在或已删除','data' => null];
|
||||
}
|
||||
|
||||
$Victory_user_ids = explode(',',$Victory_user_ids);
|
||||
$Failure_user_ids = explode(',',$Failure_user_ids);
|
||||
$Draw_user_ids = explode(',',$Draw_user_ids);
|
||||
if(empty($Draw_user_ids)){
|
||||
$user_ids = array_unique(array_merge($Victory_user_ids,$Failure_user_ids));
|
||||
}else{
|
||||
$user_ids = $Draw_user_ids;
|
||||
}
|
||||
$insert_data = [];
|
||||
foreach ($user_ids as $user_id) {
|
||||
$user_daily_tasks = Db::name('vs_tasks_user_daily')->where('user_id',$user_id)->where('task_id',$task_id)->whereTime('createtime', 'today')->find();
|
||||
if ($user_daily_tasks && $user_daily_tasks['is_completed'] == 1) {
|
||||
return ['code' => 0, 'msg' => '您已完成该任务','data' => null];
|
||||
}
|
||||
//本次是否获胜
|
||||
$ext = 0;
|
||||
if ($user_daily_tasks) {
|
||||
if(in_array($user_id,$Victory_user_ids)){
|
||||
//获胜数加1
|
||||
$ext = $user_daily_tasks['ext'] + 1;
|
||||
}
|
||||
$current_progress = $user_daily_tasks['current_progress'] +$current_progress;
|
||||
if($current_progress >= $task_info['target_quantity'] && $user_daily_tasks['ext']==1){
|
||||
$is_completed = 1;
|
||||
$completion_time = time();
|
||||
}else{
|
||||
$is_completed = 0;
|
||||
$completion_time = null;
|
||||
}
|
||||
$reslut = Db::name('vs_tasks_user_daily')->where('id',$user_daily_tasks['id'])->update([
|
||||
'current_progress' => $current_progress,
|
||||
'is_completed'=> $is_completed,
|
||||
'ext' => $ext,
|
||||
'completion_time' => $completion_time,
|
||||
'updatetime' => time(),
|
||||
]);
|
||||
}else{
|
||||
if(in_array($user_id,$Victory_user_ids)){
|
||||
$ext = 1;
|
||||
}
|
||||
$insert_data[] = [
|
||||
'user_id' => $user_id,
|
||||
'task_id' => $task_id,
|
||||
'current_progress' => $current_progress,
|
||||
'tasks_bag_id' => $task_info['tasks_bag_id'],
|
||||
'is_completed' => 1,
|
||||
'ext' => $ext,
|
||||
'createtime' => time(),
|
||||
];
|
||||
}
|
||||
}
|
||||
if (!empty($insert_data)) {
|
||||
$reslut = Db::name('vs_tasks_user_daily')->insert($insert_data);
|
||||
if ($reslut) {
|
||||
return ['code' => 1, 'msg' => '操作成功','data' => null];
|
||||
} else {
|
||||
return ['code' => 0, 'msg' => '操作失败','data' => null];
|
||||
}
|
||||
}
|
||||
return ['code' => 1, 'msg' => '操作成功','data' => null];
|
||||
}
|
||||
|
||||
//领取每日任务奖励
|
||||
public function daily_tasks_receive($user_id,$task_id,$student_id = 0){
|
||||
//查询是否实名认证
|
||||
|
||||
Reference in New Issue
Block a user