123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297 |
- <?php
- namespace bibidd\Controller;
- use Bibidd\Controller\CommonBaseController;
- /**
- * 快乐100
- * AdmincrontabController:add_luck_100_hui_dia
- */
- class GameLuck100Controller extends CommonBaseController
- {
- /**
- * 首页入口
- * @return void
- */
- public function get_pre_result()
- {
- $this->addHeaders(); //添加头部请求
- $uid = $_POST['uid'];
- $retun_info['current'] = M("game_luck_100_qishu")->field("id,bet_time,bet_amount,touzhu_renshu,bet_result")->where("bet_hit=0")->find();
- $pre_info = M("game_luck_100_qishu")->field("id,bet_time,bet_amount,touzhu_renshu,bet_result")->where("bet_hit=1")->find();
- $retun_info['pre'] = $pre_info;
- $data['isFen'] = 'no';
- $is_fen = M("game_user_fenjin")->where("uid = '$uid'")->getField("uid");
- if(!empty($is_fen))
- {
- $data['isFen'] = 'yes'; //被封禁
- }
- $data['code'] = '200';
- $data['message'] = 'ok';
- $data['data'] = $retun_info;
- echo json_encode($data);
- }
- /**
- * 期数列表
- * @return void
- */
- public function query_game_list()
- {
- $this->addHeaders(); //添加头部请求
- $user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
- $uid = $user_info['id']; //用户id
- $page = $_POST['page'];
- $one_size = empty($_POST['pageSize']) ? 30 : $_POST['pageSize']; //每頁30行記錄
- $page_one = ($page - 1) * $one_size;
- //期数列表
- $data_list = M("game_luck_100_qishu")->field("id,bet_time,bet_amount,touzhu_renshu,bet_result,bet_hit,bet_result")->order("bet_time DESC")->LIMIT($page_one, $one_size)->select();
- $data_list = $this->hand_touchu($data_list,$uid);
- $data['code'] = '200';
- $data['message'] = 'ok';
- $data['user_coin'] = $user_info['gold_coins_number'];
- $data['data'] = $data_list;
- $data['all_num'] = M("game_luck_100_qishu")->field("id")->count();
- echo json_encode($data);
- }
- private function hand_touchu($data_list,$uid)
- {
- foreach ($data_list as $key => $value) {
- $data_list[$key]['touzhu'] = null;//添加动态字段,存储投注列表
- $qishu_id = $value['id'];
- $user_touzhu = M("game_luck_100_touzhu")->field("id,uid,qishu_id,tz_luck_number,base_coins,tz_beishu,tz_jin,tz_yingli,tz_time,shu_ying")->where("qishu_id='$qishu_id' AND uid='$uid'")->find();
- if (!empty($user_touzhu)) {
- $data_list[$key]['touzhu'] = $user_touzhu;
- }
- //填充中奖人数
- $win_user_touzhu = M("game_luck_100_touzhu")->field("id,qishu_id,uid,tz_yingli,tz_jin,tz_beishu")->where("qishu_id='$qishu_id' AND shu_ying=1")->select();
- foreach ($win_user_touzhu as $key1=>$value)
- {
- $uid= $value['uid'];
- $user_name = M("user_info")->where("id='$uid'")->getField("name");
- $win_user_touzhu[$key1]['user_name'] = $user_name;
- }
- $data_list[$key]['luck_users'] = $win_user_touzhu;
- }
- //判断数组数组有2个0,则把上一期标记为正在开奖,状态为 -99
- if(count($data_list)>=2 && $data_list[0]['bet_hit']=='0' && $data_list[1]['bet_hit']=='0')
- {
- $data_list[1]['bet_hit']="-99";
- }
- return $data_list;
- }
- /**
- * 投注列表
- * @return void
- */
- public function query_touzhu_list()
- {
- $this->addHeaders(); //添加头部请求
- $user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
- $uid = $user_info['id']; //用户id
- $page = $_POST['page'];
- $one_size = empty($_POST['pageSize']) ? 30 : $_POST['pageSize']; //每頁30行記錄
- $page_one = ($page - 1) * $one_size;
- //我投注的期数
- $tempList = M("game_luck_100_touzhu")->where("uid='$uid'")->distinct(true)->field('qishu_id')->select();
- $qishu_ids = array_column($tempList,'qishu_id');
- $sql_charu = "";
- foreach ($qishu_ids as $key1 => $value1) {
- $duifang_id = $value1;;
- $xianzhi_one = " or id='$duifang_id'";
- $sql_charu .= $xianzhi_one;
- }
- //期数列表
- $data_list = M("game_luck_100_qishu")
- ->field("id,bet_time,bet_amount,touzhu_renshu,bet_result,bet_hit,bet_result")
- ->where("id=0 $sql_charu")
- ->order("bet_time DESC")
- ->LIMIT($page_one, $one_size)
- ->select();
- $data_list = $this->hand_touchu($data_list,$uid);
- $data['code'] = '200';
- $data['message'] = 'ok';
- $data['user_coin'] = $user_info['gold_coins_number'];
- $data['data'] = $data_list;
- $data['all_num'] = M("game_luck_100_qishu")->field("id") ->where("id=0 $sql_charu")->count();
- echo json_encode($data);
- }
- /**
- * 投注
- * @return void
- */
- public function bet_on()
- {
- $this->addHeaders(); //添加头部请求
- $user_info = $this->checkUserIsExist($_POST['uid']); //检查用户
- $uid = $user_info['id']; //用户id
- $user_coins = $user_info['gold_coins_number']; //用户余额
- $qishu_id = $_POST['qishu_id']; //期数id
- $base_coins = empty($_POST['base_coins'])?5:intval($_POST['base_coins']); //每注金额
- $beishu = empty($_POST['beishu'])?1:intval($_POST['beishu']); //倍数,默认10倍
- $luck_number = $_POST['luck_number']; //幸运数字
- if(empty($qishu_id)
- || empty($base_coins)
- || empty($beishu)
- || empty($luck_number)
- || !is_int($base_coins)
- || !is_int($beishu)
- || $base_coins<0
- || $beishu<0
- || intval($luck_number)<0
- || intval($luck_number)>9999
- || $beishu>10
- )
- {
- $this->returnDataAndSendMsg("请求参数错误");
- die();
- }
- $is_fen = M("game_user_fenjin")->where("uid = '$uid'")->getField("uid");
- if(!empty($is_fen))
- {
- $this->returnDataAndSendMsg("账号违规封禁<br/>无法进行游戏");
- die();
- }
- //期数
- $qishu_info = M("game_luck_100_qishu")->field("id,touzhu_renshu,bet_amount,bet_jie_zhi")->where("id = '$qishu_id'")->find();
- if (empty($qishu_info)) {
- $this->returnDataAndSendMsg("非法操作");
- die();
- }
- $jiezhi_time = strtotime($qishu_info['bet_jie_zhi']);//截至投注时间
- $current_time =time();
- if ($current_time >= $jiezhi_time) {
- $this->returnDataAndSendMsg("投注时间已截止");
- die();
- }
- $check_info = M("game_luck_100_touzhu")->where("qishu_id = '$qishu_id' AND uid='$uid'")->find();
- if(!empty($check_info))
- {
- $this->returnDataAndSendMsg("重复投注");
- die();
- }
- //投注金额
- $touzhu_coins = $base_coins*$beishu;
- if($user_coins<$touzhu_coins)
- {
- $this->returnDataAndSendMsg("余额不足");
- die();
- }
- //添加统计
- $qishu_rs = $qishu_info['touzhu_renshu'];
- $qishu_jc = $qishu_info['bet_amount']; //奖池金额
- $up_tjInfo['touzhu_renshu'] = $qishu_rs+1;//人数+1
- $up_tjInfo['bet_amount'] = $qishu_jc+$touzhu_coins;//人数+1
- $rs = M("game_luck_100_qishu")->where("id = '$qishu_id' AND touzhu_renshu=$qishu_rs AND bet_amount=$qishu_jc")->save($up_tjInfo);
- if(!$rs)
- {
- $this->returnDataAndSendMsg("投注失败,请稍后再试");
- die();
- }
- //添加投注
- $add_info['qishu_id'] = $qishu_id;
- $add_info['uid'] = $uid;
- $add_info['tz_luck_number'] = $luck_number;
- $add_info['base_coins'] = $base_coins;
- $add_info['tz_beishu'] = $beishu;
- $add_info['tz_jin'] = $touzhu_coins;
- $add_info['tz_time'] = date('Y-m-d H:i:s');
- $add_info['u_ip'] = $this->getIp();
- $user_weizhi=$this->get_user_ip_info($add_info['u_ip']);
- if($user_weizhi['code']=="200" && !empty($user_weizhi['data']['region'])){
- $add_info['u_ip_addr']=$user_weizhi['data']['region']."省".$user_weizhi['data']['city']."市 ".$user_weizhi['data']['isp'];
- }else{
- $add_info['u_ip_addr']="暂无";
- }
- $rs = M("game_luck_100_touzhu")->add($add_info);
- if(!$rs)
- {
- $up_tjInfo['touzhu_renshu'] = $qishu_rs;//人数+1
- $up_tjInfo['bet_amount'] = $qishu_jc;//奖池
- $rs = M("game_luck_100_qishu")->where("id = '$qishu_id' AND touzhu_renshu=$qishu_rs AND $touzhu_coins=$qishu_jc")->save($up_tjInfo);
- $this->returnDataAndSendMsg("投注失败,请稍后再试");
- die();
- }
- //扣除用户金币
- $rs = M("user_info")->where("id = '$uid' AND gold_coins_number=$user_coins")->setDec("gold_coins_number",$touzhu_coins);
- $data['code'] = '200';
- $data['message'] = 'ok';
- $data['data'] =$rs;
- echo json_encode($data);
- //统计
- $this->touzhu_tongji_for_day($uid,$touzhu_coins,1);
- $this->xiaofei_detail($uid,"快乐100","期数[$qishu_id],幸运数字[$luck_number]",$touzhu_coins);
- }
- /**
- * 获取上一期,中奖用户
- * @return void
- */
- public function get_luck_users()
- {
- $this->addHeaders(); //添加头部请求
- //$time = date("Y-m-d 22:00:00");
- //2025-3-5 往期有中奖
- $qishi_id = M("game_luck_100_touzhu")->where("shu_ying=1")->order("id DESC")->getField("qishu_id");
- if(empty($qishi_id))
- {
- $data['code'] = '200';
- $data['message'] = 'ok';
- $data['data'] = array();
- echo json_encode($data);
- die();
- }
- //查询中间用户
- $win_user_touzhu = M("game_luck_100_touzhu")->field("id,uid,tz_yingli,tz_jin,tz_beishu")->where("qishu_id='$qishi_id' AND shu_ying='1'")->select();
- foreach ($win_user_touzhu as $key=>$value)
- {
- $uid= $value['uid'];
- $user_name = M("user_info")->where("id='$uid'")->getField("name");
- $win_user_touzhu[$key]['user_name'] = $user_name;
- }
- $data['code'] = '200';
- $data['message'] = 'ok';
- $data['jian_cions'] = M("game_luck_100_qishu")->where("id='$qishi_id'")->getField("bet_amount");
- $data['qi_shu'] = M("game_luck_100_qishu")->where("id='$qishi_id'")->getField("bet_time");
- $data['data'] =$win_user_touzhu;
- echo json_encode($data);
- }
- }
|