| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134 |
- <?php
- namespace App\Lib\Biz\Game\Parse;
- /**
- * Created by PhpStorm.
- * User: admin
- * Date: 2017/11/30
- * Time: 16:42
- */
- class SfsixlotteryGameParse extends BaseParse {
- protected $game='sfsixlottery';
- protected $name='极速六合彩';
- //投注内容
- function packbet($data) {
- $game = $this->game;
- $this->name = trans('common.' . $game);
- //获取开奖号码
- if (!isset($data['prizes_code'])) {
- $data['prizes_code'] = $data['codes'];
- }
- $data['name'] = $this->name;
- $data['game'] = $this->game;
- //投注号码解析
- $data['bet_'] = '';
- if (isset($data['codes']) && !empty($data['codes'])) {
- $codes = json_decode($data['codes'], 1);
- if (is_array($codes) && count($codes) > 0) {
- foreach ($codes as $k => $v) {
- if (is_array($v) && count($v) > 0) {
- $data['bet_'] .= '<b>' . trans($this->game . '.' . $k) . '</b>:'; //玩法
- $flag = 1;
- foreach ($v as $ka => $va) {
- if($k=='join_born'){
- $ys = explode('_', $ka);
- $ka = $ys[0];
- $typeyn = (isset($ys[1]) && $ys[1]=='Y')?'中':'不中';
- if($flag==1){
- $data['bet_'] = $data['bet_'] . $typeyn . '(';
- }
- }
- $flag ++;
- if (is_numeric($ka) || preg_match("/^\d+_\d+$/", $ka)) {
- if($k=='sum_born'&&$ka==2){
- $ka='234';
- }
- $data['bet_'] .= $ka . ' ';
- } else {
- $data['bet_'] .= trans($this->game . '.' . $ka) . ' ';
- }
- }
- if($k=='join_born'){
- $data['bet_'] = $data['bet_'] . ')';
- }
- $data['bet_'] .= '<br/>';
- }
- }
- }
- }
- //中奖撤单未中奖状态的处理
- $data['ceshi'] = $data['game_status'];
- if (isset($data['game_status'])) {
- if ($data['status'] == 4) {
- $data['game_status'] = 4;
- }
- $lang = trans('status.money_buy.game_status');
- $data['game_status'] = $lang[$data['game_status']];
- }
- unset($data['status']);
- return $data;
- }
- /**
- * 单注可赢金额计算
- */
- function winMomey($data){
- //print_r($data);
- $winMoney=0;
- $betmoney = isset($data['money'])?$data['money']:0;
- $prizestatus='';
- $get_money = 0;
- /*if(!empty($data['prize'])){
- $prizetype=json_decode($data['prize'],1);
- foreach ($prizetype as $key => $value) {
- if($key=='seven_colorwave'&&$value[0]=='draw'){
- $prizestatus='和';
- }
- }
- }*/
- if(isset($data['codes'])){
- $data=json_decode($data['codes'],1);
- $grouptype = $this->groupType();
- foreach ($data as $k=>$v){
- if(in_array($k, $grouptype)){
- foreach ($v as $key=>$value){
- if(isset($value['settings']['multiple']['max'])){
- $winMoney=$betmoney*$value['settings']['multiple']['max'];
- }else{
- $winMoney=$betmoney*$value['settings']['multiple'];
- }
- break;
- }
- break;
- }
- if($k=='general_pass'){
- $settings = 1;
- foreach ($v as $key=>$value){
- if(isset($value['settings']['multiple']['max'])){
- $settings*=$value['settings']['multiple']['max'];
- }else{
- $settings*=$value['settings']['multiple'];
- }
- }
- $winMoney = $betmoney*$settings;
- break;
- }else if(is_array($v)&&count($v)>0){
- foreach ($v as $key=>$value){
- if(isset($value['settings']['multiple']['max'])){
- $winMoney+=$value[0]*$value['settings']['multiple']['max'];
- }else{
- $winMoney+=$value[0]*$value['settings']['multiple'];
- }
- if(isset($value['settings']['back'])){
- $get_money+=$value[0]*$value['settings']['back'];
- }
- }
- }
- }
- }
- return array('winmoney'=>$winMoney,'prizestatus'=>$prizestatus,'return_money'=>$get_money);
- }
- /**
- * 开奖号吗解析
- */
- function prizeParse($data,$game='') {
- //print_r($data);
- $game = $this->game;
- $this->name = trans('common.' . $game);
- $prize = json_decode($data['prizes'], 1);
- if (is_array($prize) && count($prize) > 0) {
- $prize = current($prize);
- if (is_array($prize) && count($prize) > 0) {
- foreach ($prize as $k => $v) {
- if (is_array($v) && count($v) > 0) {
- $data[$k] = '';
- foreach ($v as $key => $value) {
- if($k=='general_color'||$k=='special_colorwave'){
- $data[$k] .= $key . ' ';
- }else{
- $data[$k] .= trans($this->game . '.' . $k . '-' . $key) . '<br/>';
- }
- }
- }
- }
- }
- }
- unset($data['prizes']);
- //解析开奖补充号码
- if (isset($data['extra']) && !empty($data['extra'])) {
- $extra = json_decode($data['extra'], 1);
- if (is_array($extra) && count($extra) > 0) {
- foreach ($extra as $kq => $vq) {
- if (is_numeric($vq)) {
- //处理数字开奖号码
- if ($vq < 0) {
- //处理未开出奖
- $data[$kq] = '';
- } else {
- $data[$kq] = $vq;
- }
- } else {
- //非数字
- if (is_array($vq) && count($vq)) {
- $data[$kq] = '';
- foreach ($vq as $ka => $va) {
- if (is_array($va) && count($va)) {
- foreach ($va as $kw => $vw) {
- $data[$kq] .= trans($this->game . '.' . $kq . '-' . $vw);
- }
- } else {
- $data[$kq] .= trans($this->game . '.' . $va) . ' ';
- }
- }
- } else {
- $data[$kq] = trans($this->game . '.' . $vq);
- }
- }
- }
- if (isset($data['one'])) {
- $data['prizes_code'] = $data['one'] . '+' . $data['two'] . '+' . $data['three'] . '=' . $data['code'];
- } else if (isset($data['prizes_code'])) {
- $data['prizes_code'] = $data['prizes_code'];
- }
- }
- }
- if (!isset($data['prizes_code'])) {
- $data['prizes_code'] = $data['codes'];
- }
- $data['name'] = $this->name;
- $data['game'] = $this->game;
- //中奖撤单未中奖状态的处理
- if (isset($data['game_status'])) {
- if ($data['status'] == 4) {
- $data['game_status'] = 4;
- }
- $lang = trans('status.money_buy.game_status');
- $data['game_status'] = $lang[$data['game_status']];
- }
- unset($data['status']);
- return $data;
- }
- //赔率
- function getSettings() {
- $game = 'sfsixlottery';
- //权限检测
- $arrys = array(
- 'series_twospecial',//二中特
- 'series_threetwo-0',
- 'series_fiveend-0',
- 'series_fourend-0',
- 'series_threeend-0',
- 'series_twoend-0',
- 'series_twoborn-rate',
- 'series_twoborn-cattle',
- 'series_twoborn-tiger',
- 'series_twoborn-rabbit',
- 'series_twoborn-dragon',
- 'series_twoborn-snake',
- 'series_twoborn-horse',
- 'series_twoborn-sheep',
- 'series_twoborn-monkey',
- 'series_twoborn-chick',
- 'series_twoborn-dog',
- 'series_twoborn-pig',
- 'general_born'
- );
- if(!checkRriv('/odds/game/'.$game)){
- return responseToJson(array());
- }
- $db = new \App\Models\GameOdds();
- $data = $db->getOdds($game);
- if($data<0){
- return responseToJson($data);
- }
- $data = json_decode($data['odds'], 1);
- return $data;
- $array = array();
- $i = 0;
- foreach ($arrys as $v){
- $bs[$v]=$data[$v];
- }
- return $bs;
- }
- /**
- *
- */
- function betParse($data, $game = '') {
- $this->game = $game;
- $this->name = trans('common.' . $game);
- //获取开奖号码
- if (isset($data['extra']) && !empty($data['extra'])) {
- $extra = json_decode($data['extra'], 1);
- if (is_array($extra) && count($extra) > 0) {
- if (isset($extra['one'])) {
- $data['prizes_code'] = $extra['one'] . '+' . $extra['two'] . '+' . $extra['three'] . '=' . $extra['code'];
- } else if (isset($data['prizes_code'])) {
- $data['prizes_code'] = $data['prizes_code'];
- }
- }
- }
- if (!isset($data['prizes_code'])) {
- $data['prizes_code'] = $data['codes'];
- }
- $data['name'] = $this->name;
- $data['game'] = $this->game;
- //解析投注号码
- if (isset($data['extra']) && !empty($data['extra'])) {
- $codes = json_decode($data['codes'], 1);
- if (is_array($codes) && count($codes) > 0) {
- foreach ($codes as $k => $v) {
- if (is_array($v) && count($v) > 0) {
- $data[$k] = '';
- foreach ($v as $ka => $va) {
- $data[$k] .= trans($this->game . '.' . $k . '-' . $ka) . ' ';
- }
- }
- }
- }
- }
- //中奖撤单未中奖状态的处理
- if (isset($data['game_status'])) {
- if ($data['status'] == 4) {
- $data['game_status'] = 4;
- }
- $lang = trans('status.money_buy.game_status');
- $data['game_status'] = $lang[$data['game_status']];
- }
- unset($data['status']);
- return $data;
- }
- /**
- * 单注号码解析
- * @param $data 号码json
- * @param $game
- * @return array
- */
- function dataChange($data,$orderCode) {
- /*echo '<pre>';
- print_r($data);
- print_r($orderCode);*/
- $year = date('Y',strtotime($orderCode['open_time']));
- $month = date('m',strtotime($orderCode['open_time']));
- $day = date('d',strtotime($orderCode['open_time']));
- $lunar = new \App\Http\Controllers\Admin\LunarHandleController;
- $newdate=$lunar->convertSolarToLunar($year,$month,$day);
- $borrn=$newdate[6];
- $args = array();
- $buy_code = json_decode($data['codes'], 1); //该注购买号码
- $prize_code = json_decode($data['prize'], 1); //该注中奖号码(解析)
- $color_code = json_decode($orderCode['prizes'], 1); //该期开奖号码(解析)
- $prize_num = $orderCode['codes']; //该期开奖号码(未解析)
- //购买号码解析
- $color_codes=$color_code['data']['general_color'];
- $color_coded=$color_code['data']['seven_colorwave'];
- $general_born=$color_code['data']['general_born'];
- //正码1-6
- $asb=array(
- 'general_size',
- 'general_parity',
- 'general_sumsize',
- 'general_sumparity',
- 'general_endsize',
- );
- //两面1-6
- $assb=array(
- 'general_twofacesize',
- 'general_twofaceparity',
- 'generalsum_twofacesize',
- 'generalsum_twofaceparity',
- );
- //合肖、半波、半半波
- $asd =array(
- 'join_born',//合肖
- 'special_halfwave',//半波
- 'special_mixwave',//半半波
- );
- //特码混合
- $iop = array(
- // 特码A_大小、单双、半特(混合)
- 'special_size_a',
- 'special_parity_a',
- 'special_half_a',
- 'special_sumsize_a',
- 'special_sumparity_a',
- 'special_endsize_a',
- // 特码b_大小、单双、半特(混合)
- 'special_size_b',
- 'special_parity_b',
- 'special_half_b',
- 'special_sumsize_b',
- 'special_sumparity_b',
- 'special_endsize_b',
- //两面
- 'special_twofaceparity',
- 'specialsum_twofaceparity',
- 'special_twofacesize',
- 'specialsum_twofacesize'
- );
- //正码过关注单详情
- if(array_key_exists('general_pass', $buy_code)){
- return $this->sixGenPass($data);
- }
- $odds=$this->getSettings();//特殊玩法赔率获取
- $dataw=explode(',',$prize_num); //开奖号码转换
- //开奖号码尾数获取
- foreach ($dataw as $k=>$vv){
- $aa[$k]=$vv % 10;
- }
- $bb=array_unique($aa);
- //分组玩法号码分组对应投注金额及赔率
- $paramt = $this->CodesData($buy_code, 2);
- $paramt = ($paramt<0)?$buy_code:$paramt;
-
- if (is_array($paramt) && count($paramt) > 0) {
- $i = 0;
- $a="";
- foreach ($paramt as $k => $v) {
- if (is_array($v) && count($v) > 0) {
- foreach ($v as $k1 => $v1) {
- $name =trans($data['game_name'] . '.' . $k). '-' . trans($data['game_name'] . '.' . $k1);
- //var_dump($name,$data['game_name']);
- if(strpos($name,$data['game_name']) !== false){
- $datas=explode(',',$k1);
- foreach ($datas as $value){
- if ($value > 0 || strlen($value) == 1){
- $a.=$value.",";
- }else{
- $a.=trans($data['game_name'] . '.' . $value).",";
- }
- }
- $a= rtrim($a, ',');
- if($k=='sum_born' && $k1==2){
- $a = '234';
- }
- $args[$i] = array(
- 'gameType' => trans($data['game_name'] . '.' . $k),
- 'codes' => trans($data['game_name'] . '.' . $k). '-' . $a,
- 'money' => $v1[0],
- 'maybe' => $v1[0] * $v1['settings']['multiple'],
- 'play' => $k,
- 'p_code' => $k1,
- 'back' => empty($v1['settings']['back']) ? 0 : $v1['settings']['back'],
- );
- }else{
- $args[$i] = array(
- 'gameType' => trans($data['game_name'] . '.' . $k),
- 'codes' => trans($data['game_name'] . '.' . $k). '-' . trans($data['game_name'] . '.' . $k1),
- 'money' => $v1[0],
- 'maybe' => $v1[0] * $v1['settings']['multiple'],
- 'play' => $k,
- 'p_code' => $k1,
- 'back' => empty($v1['settings']['back']) ? 0 : $v1['settings']['back'],
- );
- }
- if (isset($v1['settings']['multiple']['max'])) {
- $args[$i]['odds'] = $v1['settings']['multiple']['max'];
- } else {
- $args[$i]['odds'] = $v1['settings']['multiple'];
- }
- if ($data['status'] == 4) {
- $args[$i]['prize_status'] = '撤单';
- $args[$i]['get_money']=0;
- } else if ($data['game_status'] == 0) {
- $args[$i]['prize_status'] = '待开奖';
- $args[$i]['back'] = $v1['settings']['back']*$v1[0];
- $args[$i]['get_money']=0;
- }elseif(in_array($k,$asd)) {
- $datas1 = explode(',', $prize_num);
- if (in_array(49, $datas1)) {
- $args[$i]['prize_status'] = '和';
- $args[$i]['back'] = $v1['settings']['back']*$v1[0];
- $args[$i]['get_money'] = $v1[0];
- $args[$i]['odds'] = 1;
- } else {
- $args[$i]['prize_status'] = '未中奖';
- $args[$i]['back'] = $v1['settings']['back']*$v1[0];
- $args[$i]['get_money'] = -$v1[0];
- }
- }else{
- $args[$i]['back'] = $v1['settings']['back']*$v1[0];
- $args[$i]['prize_status'] = '未中奖';
- $args[$i]['get_money'] =($v1['settings']['back']*$v1[0])-$v1[0];
- }
- $i++;
- $a="";
- }
- }
- }
- }
- /*echo '中奖号码';
- print_r($args);
- print_r($prize_code);*/
- $datauu = $dataw;
- if (is_array($prize_code) && count($prize_code)) {
- foreach ($prize_code as $kk => $vv) {
- $name = $kk; //玩法名称
- }
- foreach ($dataw as $k=>$vv){
- if ($vv > 9){
- $aa[$k]=$vv % 10;
- }
- $dataw=''.intval($vv).'';
- }
- $bb[$name]=array_unique($aa);
- $cc=array_unique($aa);
- $datass[$name] = $datauu;
- array_pop($datauu);
- $datd[$name] =$datauu;
- //中奖号码
- if (array_key_exists("series_twospecial", $prize_code)) {
- //二中特
- $paramt = $this->CodesDatas($datass, 2, 2, 1);
- } elseif (array_key_exists("series_four", $prize_code)) {
- //四全中
- $paramt = $this->CodesDatas($datd, 4, 4);
- } elseif (array_key_exists("series_three", $prize_code)) {
- //三全中
- $paramt = $this->CodesDatas($datd, 3, 3);
- } elseif (array_key_exists("series_specialmix", $prize_code)) {
- //特串
- $paramt = $this->CodesDatas($datass, 2, 2);
- } elseif (array_key_exists("series_two", $prize_code)) {
- //二全中
- $paramt = $this->CodesDatas($datd, 2, 2);
- } elseif (array_key_exists("series_threetwo", $prize_code)) {
- //三种二
- $paramt = $this->CodesDatas($datass, 3, 2);
- } elseif (array_key_exists("series_fiveborn", $prize_code)) {
- $paramt = $this->CodesDatas($prize_code, 5, 5, '');
- } elseif (array_key_exists("series_fourborn", $prize_code)) {
- $paramt = $this->CodesDatas($prize_code, 4, 4, '');
- } elseif (array_key_exists("series_threeborn", $prize_code)) {
- $paramt = $this->CodesDatas($prize_code, 3, 3, '');
- } elseif (array_key_exists("series_twoborn", $prize_code)) {
- $paramt = $this->CodesDatas($prize_code, 2, 2, '');
- } elseif (array_key_exists("series_fiveend", $prize_code)) {
- //五尾碰
- if (count($cc) >= 5){
- $paramt = $this->CodesDatas($bb, 5, 5);
- }else{
- $paramt = $this->CodesDatas($datass, 5, 5);
- }
- } elseif (array_key_exists("series_fourend", $prize_code)) {
- if (count($cc) >= 4){
- $paramt = $this->CodesDatas($bb, 4, 4);
- }else{
- $paramt = $this->CodesDatas($datass, 4, 4);
- }
- } elseif (array_key_exists("series_threeend", $prize_code)) {
- if (count($cc) >= 3){
- $paramt = $this->CodesDatas($bb, 3, 3);
- }else{
- $paramt = $this->CodesDatas($datass, 3, 3);
- }
- } elseif (array_key_exists("series_twoend", $prize_code)) {
- //二尾碰
- if (count($cc) >= 2){
- $paramt = $this->CodesDatas($bb, 2, 2);
- }else{
- $paramt = $this->CodesDatas($datass, 2, 2);
- }
- } elseif (array_key_exists("selfselect_fivelose", $buy_code)) {
- //五不中
- $paramt = $datass;
- } elseif (array_key_exists("selfselect_sevenlose", $buy_code)) {
- //七不中
- $paramt = $datass;
- } elseif (array_key_exists("selfselect_ninelose", $buy_code)) {
- //九不中
- $paramt = $datass;
- } elseif (array_key_exists("selfselect_sixlose", $buy_code)) {
- //六不中
- $paramt = $datass;
- } elseif (array_key_exists("selfselect_tenlose", $buy_code)) {
- //十不中
- $paramt = $datass;
- } elseif (array_key_exists("selfselect_twelvelose", $buy_code)) {
- //十二不中
- $paramt = $datass;
- } elseif (array_key_exists("selfselect_elevenlose", $buy_code)) {
- //十一不中
- $paramt = $datass;
- } elseif (array_key_exists("selfselect_eightlose", $buy_code)) {
- //八不中
- $paramt = $datass;
- } else {
- $paramt = $prize_code;
- }
- //print_r($paramt);
- //自选不中
- $arry = array(
- 'selfselect_eightlose',//八不中
- 'selfselect_elevenlose',
- 'selfselect_twelvelose',
- 'selfselect_tenlose',
- 'selfselect_sixlose',
- 'selfselect_ninelose',
- 'selfselect_sevenlose',
- 'selfselect_fivelose',//五不中
- );
- //连码
- $arrys = array(
- 'series_twospecial',//二中特
- 'series_threetwo'
- );
- //连尾
- $asse = array(
- '5'=>'series_fiveend',
- '4'=>'series_fourend',
- '3'=>'series_threeend',
- '2'=>'series_twoend',
- );
- // 连肖
- $assed = array(
- 'series_twoborn',
- 'series_threeborn',
- 'series_fourborn',
- 'series_fiveborn',
- );
- /*echo '<br>args:';
- print_r($args);
- echo 'borrn:'.$borrn;*/
- if ($data['status'] != 4) {
- foreach ($paramt as $p_k => $p_v) {
- //购买号码
- foreach ($args as $num => $v) {
- if ($v['play'] == $p_k) {
- if (is_array($p_v) && count($p_v) > 0) {
- if (in_array($p_k, $arry)) {
- $not_num = 2;
- foreach ($p_v as $p_k1 => $p_v2) {
- $datas = explode(',', $v['p_code']);
- foreach ($datas as $vss) {
- if ($vss == $p_v2) {
- $not_num = 1;
- break;
- }
- }
- }
- if ($not_num == 2) {
- $args[$num]['prize_status'] = '中奖';
- $args[$num]['get_money'] = ($v['money'] * $v['odds'] + $v['back']) - $v['money'];
- } else {
- $args[$num]['back'] = ($v['back'] * 100) . '%';
- $args[$num]['prize_status'] = '未中奖';
- }
- } elseif (in_array($p_k, $arrys)) {
- foreach ($p_v as $p_k1 => $p_v2) {
- $datass = explode(',', $p_v2);
- $datas2 = explode(',', $v['p_code']);
- foreach ($datass as $va) {
- $datas1[] = intval($va);
- }
- if (count($datas1) == 2) {
- if ($v['p_code'] == $p_v2) {
- $args[$num]['prize_status'] = '中奖';
- $args[$num]['get_money'] = ($v['money'] * $odds[$p_k]['settings']['multiple']['min'] + $v['back']) - $v['money'];
- $args[$num]['odds'] = $odds[$p_k]['settings']['multiple']['min'];
- $args[$num]['maybe'] = $odds[$p_k]['settings']['multiple']['min'] * $v['money'];
- }
- if ($v['p_code'] == $p_v2 && stripos($v['p_code'], $dataw) !== false) {
- $args[$num]['prize_status'] = '中奖';
- $args[$num]['odds'] = $odds[$p_k]['settings']['multiple']['max'];
- $args[$num]['get_money'] = ($v['money'] * $odds[$p_k]['settings']['multiple']['max'] + $v['back']) - $v['money'];
- $args[$num]['maybe'] = $odds[$p_k]['settings']['multiple']['max'] * $v['money'];
- }
- }
- if (count($datas1) == 3) {
- if ($v['p_code'] == $p_v2 && stripos($v['p_code'], $dataw) === false) {
- $args[$num]['prize_status'] = '中奖';
- $args[$num]['get_money'] = ($v['money'] * $odds[$p_k]['settings']['multiple']['min'] + $v['back']) - $v['money'];
- $args[$num]['odds'] = $odds[$p_k]['settings']['multiple']['min'];
- $args[$num]['maybe'] = $v['money'] * $odds[$p_k]['settings']['multiple']['min'];
- break;
- }
- $intersection = array_intersect($datas1, $datas2);
- if (count($intersection) == 2 && $v['p_code'] != $p_v2) {
- $args[$num]['prize_status'] = '中奖';
- $args[$num]['odds'] = $odds[$p_k]['settings']['multiple']['max'];
- $args[$num]['get_money'] = ($v['money'] * $odds[$p_k]['settings']['multiple']['max'] + $v['back']) - $v['money'];
- $args[$num]['maybe'] = $v['money'] * $odds[$p_k]['settings']['multiple']['max'];
- }
- }
- unset($datas1);
- }
- } elseif (in_array($p_k, $asd)) {
- $datas1 = explode(',', $prize_num);
- if (in_array(49, $datas1)) {
- $args[$num]['prize_status'] = '和';
- $args[$num]['odds'] = 1;
- $args[$num]['get_money'] = $v['money'];
- } else {
- foreach ($p_v as $p_k1 => $p_v2) {
- if ($v['p_code'] == $p_v2) {
- $args[$num]['prize_status'] = '中奖';
- $args[$num]['get_money'] = ($v['money'] * $v['odds'] + $v['back']) - $v['money'];
- break;
- } else {
- $args[$num]['prize_status'] = '未中奖';
- }
- }
- }
- }elseif (in_array($p_k, $iop)) {
- $datas1 = explode(',', $prize_num);
- $nums= count($datas1);
- if ($datas1[$nums-1] == "49") {
- $args[$num]['prize_status'] = '和';
- $args[$num]['odds'] = 1;
- $args[$num]['get_money'] = $v['money'];
- } else {
- foreach ($p_v as $p_k1 => $p_v2) {
- if ($v['p_code'] == $p_v2) {
- $args[$num]['prize_status'] = '中奖';
- $args[$num]['get_money'] = ($v['money'] * $v['odds'] + $v['back']) - $v['money'];
- }
- }
- }
- } elseif ($p_k == 'series_specialmix') {
- foreach ($p_v as $p_k1 => $p_v2) {
- if ($v['p_code'] == $p_v2 && stripos($v['p_code'], $dataw) !== false) {
- $args[$num]['prize_status'] = '中奖';
- $args[$num]['get_money'] = ($v['money'] * $v['odds'] + $v['back']) - $v['money'];
- break;
- } else {
- $args[$num]['prize_status'] = '未中奖';
- }
- }
- } elseif ($p_k == 'general_born') {
- $num_data = $general_born;
- foreach ($num_data as $p_k1 => $p_v2) {
- if ($v['p_code'] == $p_k1 && count($p_v2) > 1) {
- $args[$num]['prize_status'] = '中奖';
- $args[$num]['maybe'] = $v['money'] * $v['odds'] * count($p_v2) - $v['money'] . " (" . count($p_v2) . "倍)";
- $args[$num]['get_money'] = ($v['money'] * $v['odds'] - $v['money']) * count($p_v2) + $v['back'] . " (" . count($p_v2) . "倍)";
- break;
- } elseif ($v['p_code'] == $p_k1 && count($p_v2) == 1) {
- $args[$num]['prize_status'] = '中奖';
- $args[$num]['get_money'] = ($v['money'] * $v['odds'] + $v['back']) - $v['money'];
- break;
- } else {
- $args[$num]['prize_status'] = '未中奖';
- }
- }
- }elseif ($p_k == 'seven_colorwave') {
- foreach ($p_v as $p_k1 => $p_v2) {
- if ($v['p_code'] == $p_v2 && $v['p_code'] == 'draw') {
- $args[$num]['prize_status'] = '中奖';
- $args[$num]['get_money'] = ($v['money'] * $v['odds'] + $v['back']) - $v['money'];
- break;
- } else {
- $args[$num]['prize_status'] = '和';
- $args[$num]['get_money'] = 0;
- }
- if ($v['p_code'] == $p_v2 ) {
- $args[$num]['prize_status'] = '中奖';
- $args[$num]['get_money'] = ($v['money'] * $v['odds'] + $v['back']) - $v['money'];
- break;
- } else {
- $args[$num]['prize_status'] = '未中奖';
- }
- }
- } elseif (in_array($p_k, $asb)) {
- $datas1 = explode(',', $prize_num);
- $datrr = explode('_', $v['p_code']);
- foreach ($datas1 as $k1 => $v1) {
- foreach ($datrr as $k2 => $v2) {
- if ((string)$k1 + 1 == $v2 && $v1 == "49") {
- $args[$num]['prize_status'] = '和';
- $args[$num]['get_money'] = $v['money'];
- $args[$num]['odds'] = 1;
- } else {
- foreach ($p_v as $p_k1 => $p_v2) {
- if ($v['p_code'] == $p_v2) {
- $args[$num]['prize_status'] = '中奖';
- $args[$num]['get_money'] = ($v['money'] * $v['odds'] + $v['back']) - $v['money'];
- }
- }
- }
- }
- }
- } elseif (in_array($p_k, $assb)) {
- $datas1 = explode(',', $prize_num);
- $datrr = explode('_', $v['p_code']);
- foreach ($datas1 as $k1 => $v1) {
- foreach ($datrr as $k2 => $v2) {
- if ((string)$k1 + 1 == $v2 && $v1 == "49") {
- $args[$num]['prize_status'] = '和';
- $args[$num]['get_money'] = $v['money'];
- $args[$num]['odds'] = 1;
- } else {
- foreach ($p_v as $p_k1 => $p_v2) {
- if ($v['p_code'] == $p_v2) {
- $args[$num]['prize_status'] = '中奖';
- $args[$num]['get_money'] = ($v['money'] * $v['odds'] + $v['back']) - $v['money'];
- }
- }
- }
- }
- }
- } elseif (in_array($p_k, $asse)) {
- foreach ($asse as $kk => $vv) {
- if (count($bb) < $kk) {
- $args[$num]['prize_status'] = '未中奖';
- }
- }
- foreach ($p_v as $p_k1 => $p_v2) {
- if ($v['p_code'] == $p_v2) {
- if (stripos($p_v2, '0') !== false) {
- $args[$num]['prize_status'] = '中奖';
- $args[$num]['odds'] = $odds[$p_k . '-' . '0']['settings']['multiple']['max'];
- $args[$num]['get_money'] = $v['money'] * $odds[$p_k . '-' . '0']['settings']['multiple']['max'] + $v['back'] - $v['money'];
- $args[$num]['maybe'] = $v['money'] * $odds[$p_k . '-' . '0']['settings']['multiple']['max'];
- break;
- } else {
- $args[$num]['prize_status'] = '中奖';
- $args[$num]['get_money'] = ($v['money'] * $v['odds'] + $v['back']) - $v['money'];
- break;
- }
- } else {
- $args[$num]['prize_status'] = '未中奖';
- }
- }
- } elseif (in_array($p_k, $assed)) {
- foreach ($p_v as $p_k1 => $p_v2) {
- //echo '<br>'.$v['p_code'].'p-v2:'.$p_v2;
- if ($v['p_code'] == $p_v2) {
- if (stripos($p_v2, $borrn) !== false) {
- $args[$num]['prize_status'] = '中奖';
- $args[$num]['odds'] = $odds[$p_k . '-' . $borrn]['settings']['multiple']['max'];
- $args[$num]['get_money'] = $v['money'] * $odds[$p_k . '-' . $borrn]['settings']['multiple']['max'] + $v['back'] - $v['money'];
- $args[$num]['maybe'] = $v['money'] * $odds[$p_k . '-' . $borrn]['settings']['multiple']['max'];
- break;
- } else {
- $args[$num]['prize_status'] = '中奖';
- $args[$num]['get_money'] = ($v['money'] * $v['odds'] + $v['back']) - $v['money'];
- break;
- }
- } else {
- $args[$num]['prize_status'] = '未中奖';
- }
- }
- } else {
- foreach ($p_v as $p_k1 => $p_v2) {
- if ($v['p_code'] == $p_v2) {
- $args[$num]['prize_status'] = '中奖';
- $args[$num]['get_money'] = ($v['money'] * $v['odds'] + $v['back']) - $v['money'];
- break;
- } else {
- $args[$num]['prize_status'] = '未中奖';
- }
- }
- }
- }
- }
- }
- }
- }
- }
- //echo '</pre>';
- return $args;
- }
- //购买号码
- function buyCodes($data, $game) {
- }
- private function groupTypedata($type){
- $codegroup = array(
- 'series_twospecial'=>array(2,2,1),//二中特
- 'series_four' => array(4,4),//四全中
- 'series_three' => array(3,3),//三全中
- 'series_specialmix' => array(2,2),//特串
- 'series_two' => array(2,2),//二全中
- 'series_threetwo' => array(3,2),//三中二
- 'series_fiveborn' => array(5,5,''),//五连肖
- 'series_fourborn' => array(4,4,''),//四连肖
- 'series_threeborn' => array(3,3,''),//三连肖
- 'series_twoborn' => array(2,2,''),//二连肖
- 'series_fiveend' => array(5,5,''),//五尾碰
- 'series_fourend' => array(4,4,''),//四尾碰
- 'series_threeend' => array(3,3,''),//三尾碰
- 'series_twoend' => array(2,2,''),//二尾碰
- 'selfselect_fivelose' => array(5,5),//五不中
- 'selfselect_sixlose' => array(6,6),//六不中
- 'selfselect_sevenlose' => array(7,7),//七不中
- 'selfselect_eightlose' => array(8,8),//八不中
- 'selfselect_ninelose' => array(9,9),//九不中
- 'selfselect_tenlose' => array(10,10),//十不中
- 'selfselect_elevenlose' => array(11,11),//十一不中
- 'selfselect_twelvelose' => array(12,12),//十二不中
- );
- if(isset($codegroup[$type])){
- return $codegroup[$type];
- }else{
- return -1;
- }
- }
- function CodesData($data, $num, $is_prize = '', $is_str = '', $game = '')
- {
- $codes = array();
- foreach ($data as $k => $v) {
- $groupinfo = $this->groupTypedata($k);
- $type = $k;
- if (is_array($v) && count($v) > 0) {
- foreach ($v as $k1 => $v1) {
- $money = $v[$k1][0];
- if ($k == 'series_twospecial'){
- $codes[]= str_replace('g_','',$k1);
- }else{
- $codes[] = $k1;
- }
- }
- }
- }
- if($groupinfo<0){
- return $groupinfo;
- }
- $num = $groupinfo[0];
- $datas=array();
- $datad=array();
- sort($codes);
- if(count($codes) >= $num){
- $a = $this->Isniu($codes, $num);
- }else{
- $nums = count($codes);
- $a = $this->Isniu($codes, $nums);
- }
- foreach ($data as $val){
- foreach ($val as $value){
- foreach ($a as $k=>$v){
- $datas[$v]=$value;
- }
- }
- }
- $datad[$type]=$datas;
- return $datad;
- }
- function CodeData($data)
- {
- $codes = array();
- foreach ($data as $k => $v) {
- $type = $k;
- if (is_array($v) && count($v) > 0) {
- foreach ($v as $k1 => $v1) {
- $temp = explode('_', $k1);
- $money = $v[$k1][0];
- if (!array_key_exists($temp[0] - 1, $codes)) {
- $codes[$temp[0] - 1] = array();
- array_push($codes[$temp[0] - 1], intval($temp[1]));
- } else {
- array_push($codes[$temp[0] - 1], intval($temp[1]));
- }
- }
- }
- }
- $tempArr = $this->countNum($codes, $money, $type);
- return $tempArr;
- }
- function CodesDatas($data, $num, $is_prize = '', $is_str = '', $game = '')
- {
- $codes = array();
- foreach ($data as $k => $v) {
- $type = $k;
- if (is_array($v) && count($v) > 0) {
- foreach ($v as $k1 => $v1) {
- $money = $v[$k1][0];
- $codes[] = is_numeric($v1)?intval($v1):$v1;
- }
- }
- }
- $datas=array();
- $datad=array();
- sort($codes);
- $a = $this->Isniu($codes, $num);
- foreach ($a as $k=>$v){
- $datas[$k]=$v;
- }
- $datad[$type]=$datas;
- return $datad;
- }
- function getCombinationToString($arr, $m)
- {
- $result = array();
- if ($m == 1) {
- return $arr;
- }
- if ($m == count($arr)) {
- $result[] = implode(',', $arr);
- return $result;
- }
- $temp_firstelement = $arr[0];
- unset($arr[0]);
- $arr = array_values($arr);
- $temp_list1 = $this->getCombinationToString($arr, ($m - 1));
- foreach ($temp_list1 as $s) {
- $s = $temp_firstelement . ',' . $s;
- $result[] = $s;
- }
- unset($temp_list1);
- $temp_list2 = $this->getCombinationToString($arr, $m);
- foreach ($temp_list2 as $s) {
- $result[] = $s;
- }
- unset($temp_list2);
- return $result;
- }
- function Isniu($codes, $num)
- {
- $r = $this->getCombinationToString($codes, $num);
- return $r;
- }
- function CodesDatasd($data, $num, $game_name)
- {
- $codes = array();
- foreach ($data as $k => $v) {
- $type = $k;
- if (is_array($v) && count($v) > 0) {
- foreach ($v as $k1 => $v1) {
- $money = $v[$k1][0];
- $codes[] = $k1;
- }
- }
- }
- // dump($codes);
- foreach ($codes as $v) {
- $coded[] = lang($game_name)->get($v);
- }
- // dump($coded);
- if(count($codes) >= $num){
- $a = $this->Isniu($codes, $num);
- }else{
- $nums = count($codes);
- $a = $this->Isniu($codes, $nums);
- }
- // dump($a);
- foreach ($a as $k => $v) {
- $codelists[$k]['codes'] = $v;
- $codelists[$k]['money'] = $money;
- $codelists[$k]['codeDate'] = $type;
- }
- // dump($codelists);
- return $codelists;
- }
- //六合彩正码过关解析
- function sixGenPass($data){
- $buy_code = json_decode($data['codes'], 1); //该注购买号码
- $prize_code = json_decode($data['prize'], 1); //改注中奖号码
- $game=$data['game_name'];
- if (is_array($buy_code) && count($buy_code) > 0) {
- $return_data=array();
- //投注数组
- foreach ($buy_code as $k=>$v){
- $return_data['gameType']=trans($game. '.' . $k);//玩法
- if (is_array($v) && count($v) > 0) {
- $codes_content='';//号码
- $money=0;//投注金额
- $maybe=0;//可赢金额
- $odds=1;//倍率
- foreach ($v as $ka => $va) {
- $codes_content.=trans($game . '.' . $ka).' ';//号码
- $money+=$va[0];
- $maybe += $va[0] * $va['settings']['multiple'];
- $back = empty($va['settings']['back']) ? 0 : $va['settings']['back'];
- $return_data['play'] = $k;
- $return_data['p_code'] = $ka;
- if (isset($va['settings']['multiple']['max'])) {
- $odds *= $va['settings']['multiple']['max'];
- } else {
- $odds *= $va['settings']['multiple'];
- }
- }
- //中奖状态
- if ($data['status'] == 4) {
- $return_data['prize_status'] = '撤单';
- } else if ($data['game_status'] == 0) {
- $return_data['prize_status'] = '待开奖';
- }else if ($data['game_status'] == 1){
- $return_data['prize_status']='中奖';
- $odds=round($data['prize_money']/$data['money'],2);
- } else if ($data['game_status'] == 2){
- $return_data['prize_status']='未中奖';
- }
- $maybe=$odds*$data['money'];
- $return_data['codes']=$codes_content;
- $return_data['money']=round($data['money'],2);
- $return_data['maybe']=round($maybe,2);
- $return_data['odds']=round($odds,2);
- $return_data['get_money']=round($data['get_money'],2);
- }
- $res_data[]=$return_data;
- }
- }
- return $res_data;
- }
- //六合彩组合类型
- private function groupType(){
- return array('series_threetwo','series_three','series_two','series_four','series_twospecial','series_specialmix','selfselect_fivelose','selfselect_sixlose','selfselect_sevenlose','selfselect_eightlose','selfselect_ninelose','selfselect_tenlose','selfselect_elevenlose','selfselect_twelvelose','join_born','series_twoborn','series_threeborn','series_fourborn','series_fiveborn','series_twoend','series_threeend','series_fourend','series_fiveend','join_born');
- }
- }
|