任务功能提交-情侣任务
This commit is contained in:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user