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("账号违规封禁
无法进行游戏"); 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); } }