123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213 |
- <?php
- namespace bibidd\Controller;
- use Bibidd\Controller\CommonBaseController;
- /**
- * 游戏签到
- */
- class GameSignController extends CommonBaseController
- {
- /**
- * 获取签到月签到
- * @return void
- */
- public function get_month_sign_list()
- {
- $this->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($days<date("t"))
- {
- $this->returnDataAndSendMsg("签到天数未满当月天数");
- 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);
- }
- }
|