任务功能提交-情侣任务

This commit is contained in:
2025-12-12 15:23:20 +08:00
parent a14df3b0e8
commit 378a1cf11b

View File

@@ -116,18 +116,20 @@ class Tasks extends Model
$v['is_time'] = 0;
//奖励详情
$v['reward_str'] = "";
$reward_info = db::name('vs_gift_bag_detail')->where('gift_bag_id',$v['tasks_bag_id'])->select();
foreach ($reward_info as $key => $value) {
if($value['type'] == 1){
$reward_name = $value['quantity'].$value['name'];
}elseif($value['type'] == 2){
$reward_name = $value['name'].'x'.$value['quantity'];
}elseif($value['type'] == 3){
$reward_name = $value['name'].'x'.$value['days'].'天';
}else{
$reward_name = $value['quantity'].$value['name'];
if($v['task_id'] != 1){
$reward_info = db::name('vs_gift_bag_detail')->where('gift_bag_id',$v['tasks_bag_id'])->select();
foreach ($reward_info as $key => $value) {
if($value['type'] == 1){
$reward_name = $value['quantity'].$value['name'];
}elseif($value['type'] == 2){
$reward_name = $value['name'].'x'.$value['quantity'];
}elseif($value['type'] == 3){
$reward_name = $value['name'].'x'.$value['days'].'天';
}else{
$reward_name = $value['quantity'].$value['name'];
}
$v['reward_str'] =$v['reward_str'].$reward_name." ";
}
$v['reward_str'] =$v['reward_str'].$reward_name." ";
}
if($v['task_type'] == 2){
//今日完成进度
@@ -188,7 +190,8 @@ class Tasks extends Model
$i++;
}
}
}elseif($v['task_id'] == 24){
}
if($v['task_id'] == 24){
//师徒任务
//师傅签约返还
$user_sign_task = Db::name('vs_user_sign_task')->where(['user_id'=>$user_id,'day'=>date('Y-m-d')])->find();
@@ -203,29 +206,25 @@ class Tasks extends Model
}else{
$progress = $user_sign_task['times']-1 ?? 0;
}
}elseif($v['task_id'] == 26){
}
if(in_array($v['task_id'],[26,27,28,29,30,31,32])){
$user_couple_times =[26=>1,27=>2,28=>3,29=>4,30=>5,31=>6,32=>7];
//情侣任务
$user_couple_task = Db::name('vs_user_cp_task')->where(['user_id'=>$user_id,'day'=>date('Y-m-d')])->find();
}
$progress = isset($user_daily_tasks['current_progress']) ? $user_daily_tasks['current_progress'] : 0;
$v['is_time'] = 0;
$quantity_str = "";
if($v['target_quantity']!=1){
$quantity_str= "({$progress}/{$v['target_quantity']})";
}
$v['task_name'] = $v['task_name'].$quantity_str;
//处理状态
$v['task_status'] = 1;
$v['task_type_str'] = "去完成";
if(isset($user_daily_tasks['is_completed']) && $user_daily_tasks['is_completed'] ==1){ //已完成
$v['task_status'] = 2;
$v['task_type_str'] = "领取奖励";
}
if(isset($user_daily_tasks['is_claimed']) && $user_daily_tasks['is_claimed'] ==1){ //已完成
$v['task_status'] = 3;
$v['task_type_str'] = "已领取";
}
if($v['task_id']==1){//每日签到处理
$user_couple_task = Db::name('vs_user_cp_task')->where(['user_id'=>$user_id,'times'=>$user_couple_times[$v['task_id']]])->find();
if(empty($user_couple_task)){
continue;
}
if($user_couple_task['status'] ==0 && $user_couple_task['day']==date('Y-m-d')){
$v['task_status'] = 1;
$v['task_type_str'] = "待完成";
}elseif($user_couple_task['status'] ==1){
$v['task_status'] = 2;
$v['task_type_str'] = "领取奖励";
}else{
$v['task_status'] = 3;
$v['task_type_str'] = "已领取";
}
}elseif($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'),'delete_time'=>0])->find();
if ($sign_in_info) {
$v['task_status'] =3;
@@ -234,7 +233,27 @@ class Tasks extends Model
$v['task_status'] = 1;
$v['task_type_str'] = "去签到";
}
}else{
//处理状态
$v['task_status'] = 1;
$v['task_type_str'] = "去完成";
if(isset($user_daily_tasks['is_completed']) && $user_daily_tasks['is_completed'] ==1){ //已完成
$v['task_status'] = 2;
$v['task_type_str'] = "领取奖励";
}
if(isset($user_daily_tasks['is_claimed']) && $user_daily_tasks['is_claimed'] ==1){ //已完成
$v['task_status'] = 3;
$v['task_type_str'] = "已领取";
}
}
if($v['task_id'] != 24) {
$progress = isset($user_daily_tasks['current_progress']) ? $user_daily_tasks['current_progress'] : 0;
}
$quantity_str = "";
if($v['target_quantity']!=1){
$quantity_str= "({$progress}/{$v['target_quantity']})";
}
$v['task_name'] = $v['task_name'].$quantity_str;
$v['jump_type_str'] = $this->jump_type[$v['jump_type']];
//返回任务列表
if($v['task_type']!=4){
@@ -371,6 +390,22 @@ class Tasks extends Model
}else{
return ['code' => 0, 'msg' => '任务不存在','data' => null];
}
}elseif(in_array($task_id,[26,27,28,29,30,31,32])){
$user_couple_times =[26=>1,27=>2,28=>3,29=>4,30=>5,31=>6,32=>7];
//情侣任务
$user_couple_task = Db::name('vs_user_cp_task')->where(['user_id'=>$user_id,'times'=>$user_couple_times[$task_id]])->find();
if (!$user_couple_task) {
return ['code' => 0, 'msg' => '任务不存在或已结束','data' => null];
}
if ($user_couple_task['status'] == 2) {
return ['code' => 0, 'msg' => '您已领取该奖励','data' => null];
}
if ($user_couple_task['status'] == 0) {
return ['code' => 0, 'msg' => '请先去完成该任务再领取','data' => null];
}
if($user_couple_task['day'] != date('Y-m-d')){
return ['code' => 0, 'msg' => '已过期或未到领取时间','data' => null];
}
}else{
if($task_info['task_type']==2){
$user_daily_tasks = Db::name('vs_tasks_user_daily')->where('user_id',$user_id)->where('task_id',$task_id)->whereTime('createtime', 'today')->find();
@@ -398,15 +433,19 @@ class Tasks extends Model
Db::rollback();
return ['code' => 0, 'msg' => '操作失败', 'data' => null];
}
}elseif(in_array($task_id,[21,22,23])){
$reslut = Db::name('vs_tasks_student')->where('id',$task_student['id'])->update([
}elseif(in_array($task_id,[21,22,23])) {
$reslut = Db::name('vs_tasks_student')->where('id', $task_student['id'])->update([
'status' => 2,
'updatetime' => time(),
]);
}elseif(in_array($task_id,[26,27,28,29,30,31,32])){
$reslut = Db::name('vs_user_cp_task')->where(['id'=>$user_couple_task['id']])->update([
'status' => 2,
'updatetime' => time(),
]);
} else{
$reslut = Db::name('vs_tasks_user_daily')->where('id',$user_daily_tasks['id'])->update([
'is_claimed' => 1,
'updatetime' => time(),
]);
if (!$reslut) {
Db::rollback();