addHeaders(); //添加头部请求 $user_info = $this->checkUserIsExist($_POST['uid']); //检查用户 $uid = $user_info['id']; //用户id $month = date("Y-n"); $sign_list = M("game_user_sign") ->field("uid,month,day,CASE WHEN sign=0 AND day>= CURDATE() THEN 2 ELSE sign END AS sign,award") ->where("uid='$uid' AND month='$month'") ->order("id ASC") ->select(); if(empty($sign_list)) { //生成当月签到信息 $current_month_dasy = date("t");//当前月天数 $today = date("d"); $day_int = intval($today); $insert_arry = array(); for($i=1;$i<=$current_month_dasy;$i++) { $add_info['uid']=$uid; $add_info['month']=$month; $add_info['day']= $month.'-'.$i; $add_info['sign']=0; array_push($insert_arry,$add_info); if($day_int<=$i) { $add_info['sign']=2; } array_push($sign_list,$add_info); }//end for M("game_user_sign")->addAll($insert_arry); } $data['code'] = '200'; $data['message'] = 'ok'; $data['today'] = date("Y-n-j"); $data['data'] = $sign_list; echo json_encode($data); } /** * 签到 * @return void */ public function sign() { $this->addHeaders(); //添加头部请求 $user_info = $this->checkUserIsExist($_POST['uid']); //检查用户 $uid = $user_info['id']; //用户id $user_coins = $user_info['gold_coins_number']; $day = date("Y-n-j"); //$day = '2025-1-27'; $is_sign = M("game_user_sign")->where("uid='$uid' AND day='$day'")->getField("sign"); if($is_sign==1) { $this->returnDataAndSendMsg("重复签到"); die(); } $rs = M("game_user_sign")->where("uid='$uid' AND day='$day' AND sign=0")->setField("sign",1); if(!$rs) { $this->returnDataAndSendMsg("签到失败"); die(); } //累计7天+1金 //累计14天+2金 //累计28天+3金 $month = date("Y-n"); $days = M("game_user_sign")->field("id")->where("uid='$uid' AND month='$month' AND sign=1")->count(); $award = M("game_user_sign")->where("uid='$uid' AND month='$month'")->getField('award'); if($days>=7 && $award<1) { $rs = M("user_info")->where("id='$uid' AND gold_coins_number=$user_coins")->setInc("gold_coins_number",1); $rs = M("game_user_sign")->where("uid='$uid' AND month='$month'")->setField("award",1); }else if($days>=14 && $award<2) { $rs = M("user_info")->where("id='$uid' AND gold_coins_number=$user_coins")->setInc("gold_coins_number",2); $rs = M("game_user_sign")->where("uid='$uid' AND month='$month'")->setField("award",2); }else if($days>=28 && $award<3) { $rs = M("user_info")->where("id='$uid' AND gold_coins_number=$user_coins")->setInc("gold_coins_number",3); $rs = M("game_user_sign")->where("uid='$uid' AND month='$month'")->setField("award",3); } $data['code'] = '200'; $data['message'] = 'ok'; $data['data'] = $rs; echo json_encode($data); } /** * 领取2金币签到 * @return void */ public function draw_2_coins() { $this->addHeaders(); //添加头部请求 $user_info = $this->checkUserIsExist($_POST['uid']); //检查用户 $uid = $user_info['id']; //用户id $month = date("Y-m"); $check_info = M("game_user_sign")->field("id,sign,award")->where("uid='$uid' AND month='$month'")->find(); if(!empty($check_info) && $check_info['award']!=0) { $this->returnDataAndSendMsg("请勿重复领取"); die(); } $days = M("game_user_sign")->field("id")->where("uid='$uid' AND month='$month' AND sign=1")->count(); if($days<15) { $this->returnDataAndSendMsg("签到天数未满15天"); die(); } $rs = M("user_info")->where("id='$uid'")->setInc("gold_coins_number",2); if(!$rs) { $this->returnDataAndSendMsg("领取失败,请稍后重试"); die(); } $rs = M("game_user_sign")->where("uid='$uid' AND month='$month'")->setField("award",1); $data['code'] = '200'; $data['message'] = 'ok'; $data['data'] = $rs; echo json_encode($data); } /** * 领取所有 * @return void */ public function draw_all_coins() { $this->addHeaders(); //添加头部请求 $user_info = $this->checkUserIsExist($_POST['uid']); //检查用户 $uid = $user_info['id']; //用户id $month = date("Y-m"); $check_info = M("game_user_sign")->field("id,sign,award")->where("uid='$uid' AND month='$month'")->find(); if(!empty($check_info) && $check_info['award']==2) { $this->returnDataAndSendMsg("请勿重复领取"); die(); } $days = M("game_user_sign")->field("id")->where("uid='$uid' AND month='$month' AND sign=1")->count(); if($daysreturnDataAndSendMsg("签到天数未满当月天数"); die(); } $rs = M("user_info")->where("id='$uid'")->setInc("gold_coins_number",3); if(!$rs) { $this->returnDataAndSendMsg("领取失败,请稍后重试"); die(); } $rs = M("game_user_sign")->where("uid='$uid' AND month='$month'")->setField("award",2); $data['code'] = '200'; $data['message'] = 'ok'; $data['data'] = $rs; echo json_encode($data); } /** * 删除非当月数据 * @return void */ public function del_not_current_month() { $this->addHeaders(); //添加头部请求 $month = date("Y-n"); $rs = M("game_user_sign")->where("month!='$month'")->delete(); $data['code'] = '200'; $data['message'] = 'ok'; $data['data'] = $rs; echo json_encode($data); } }