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_'] .= '' . trans($this->game . '.' . $k) . ':'; //玩法 $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_'] .= '
'; } } } } //中奖撤单未中奖状态的处理 $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) . '
'; } } } } } } 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 '
';
        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 '
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 '
'.$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 '
'; 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'); } }