コード例 #1
0
ファイル: CtrController.php プロジェクト: haokuweb/myDemo
 /**
 * post:
 * btcs:
 * tm,tmds,tmdx,tmhsds,tmsb,tmwsdx,tmqs 
 * | zm,zhds,zhdx 
 * | lm 
 * | tx 
 * |bbds,bbdx 
 * | mx 六肖
 *  | sx,ws 
 *  sxl 
 *  wsl 
 *  bz 五不中 
 *   zt_0,zt_0_ds,zt_0_dx,zt_0_hsds,zt_0_sb,zt_0_wsdx,zt_0_qs正特1  
 *   zt_1,zt_1_ds,zt_1_dx,zt_1_hsds,zt_1_sb,zt_1_wsdx,zt_1_qs
 		lei	0 盘 ,0-A, 1-B
 		marChangeFlag	0
 		onliner	qq133
 		pan	2
 	get:
  marChangeFlag  第一次请求或 有改动,则为 -1
       oc
       btcs:{open, rate, bet }
 * @return unknown_type
 */
 public function actionRefreshJson()
 {
     $this->layout = false;
     header('Content-type: application/json');
     $refresh = array();
     //$site=Yii::app()->user->getState('site');
     $huo = $_POST['huo'];
     $lei = $_POST['lei'];
     //盘
     $roleid = Yii::app()->user->role;
     $userid = Yii::app()->user->id;
     $conn = Yii::app()->db;
     if ($_POST['marChangeFlag'] == -1) {
         $refresh['marChangeFlag'] = 0;
         $refresh['marMsg'] = implode(',', $conn->createCommand("select message from tbl_marquee where showMar=1 order by updatedTime desc")->queryColumn());
     }
     $conn->createCommand("delete from tbl_online_user where lasttime<sysdate()-INTERVAL 10 MINUTE")->execute();
     //$conn->createCommand("update tbl_online_user set lasttime=sysdate() where sessionid='".session_id()."'")->execute();
     if (Yii::app()->user->level >= 0) {
         $onlineN = $conn->createCommand("select count(*) from  tbl_online_user where sessionid='" . session_id() . "'")->queryRow(false);
         if ($onlineN[0] == 0) {
             echo "this.location.href='/main/login.do'";
             Yii::app()->end();
         } else {
             $conn->createCommand("update tbl_online_user set lasttime=sysdate() where sessionid='" . session_id() . "'")->execute();
         }
     }
     $onlinerRec = $conn->createCommand("select count(*) from tbl_online_user o left join tbl_user u on o.userid=u.id where u.parent_{$roleid}='{$userid}' or o.userid='{$userid}'")->queryRow(false);
     $refresh['oc'] = $onlinerRec[0];
     if ($huo == 2) {
         $huo = 0;
         $roleid = $roleid - 1;
         $userid = Yii::app()->user->parentId;
     }
     //$refresh['key']=session_id();
     $xuHuo = array("1", "1-prorate_4-prorate_3-prorate_2", "1-prorate_4-prorate_3", "1-prorate_4", "1");
     $sumHuo = $huo == 1 ? "*({$xuHuo[$roleid]})" : "*prorate_{$roleid}";
     $whereStatUser = "******" . $userid . "' and betUserId<>'" . $userid . "'";
     $ltrRec = $conn->createCommand("select resultDate,notTeAutoCloseTime,teAutoCloseTime from tbl_ltr where term='" . $this->term . "'")->queryRow();
     $notTeAutoRemainTime = strtotime($ltrRec['resultDate'] . ' ' . $ltrRec['notTeAutoCloseTime']) - time();
     $teAutoRemainTime = strtotime($ltrRec['resultDate'] . ' ' . $ltrRec['teAutoCloseTime']) - time();
     if (isset($_POST['btcs'])) {
         $pan = $_POST['pan'];
         //A 0, B 1,AB 2,AB+ 3 种类
         $btcs = array();
         $termStatus = CommonUtil::getCachedTermStatus();
         $sbs = array(0, 0, 1, 1, 2, 2, 0, 0, 1, 1, 2, 0, 0, 1, 1, 2, 2, 0, 0, 1, 2, 2, 0, 0, 1, 1, 2, 2, 0, 0, 1, 2, 2, 0, 0, 1, 1, 2, 2, 0, 1, 1, 2, 2, 0, 0, 1, 1, 2);
         $jqs = array(11, 7, 10, 6, 9, 1);
         $betCmd = $conn->createCommand("select ltrBtcId,ltrTypeId,sum(betSum" . $sumHuo . ") as bet,sum(-hyResult" . $sumHuo . ") as win,sum(betSum{$sumHuo}*(rate0+rebate/100-1)) as winSum,sum(betSum{$sumHuo}*(1-rebate/100)) as noWinSum,betCode,prorate_{$roleid} as prorate,rate0,rate1,rebate from tbl_bet where termid='" . $this->term . "' and `ltrBtcId` in ('" . str_replace(",", "','", $_POST['btcs']) . "') {$whereStatUser} group by ltrTypeId order by ltrTypeId");
         $selfBhCmd = $conn->createCommand("select ltrBtcId,ltrTypeId,sum(betSum) as bet,sum(-hyResult) as win,sum(betSum*(rate0+rebate/100-1)) as winSum,sum(betSum*(1-rebate/100)) as noWinSum,rate0,rate1,rebate from tbl_bet where termid='" . $this->term . "' and `ltrBtcId` in ('" . str_replace(",", "','", $_POST['btcs']) . "') and betUserId='" . $userid . "' group by ltrTypeId order by ltrTypeId");
         $btcsRec = $conn->createCommand("select t.*,(SELECT IF(r.open=0,0,t.open) FROM tbl_default_rate r WHERE r.id=t.type OR (r.id='txbx' AND t.type='tx' AND t.id='tx_1') OR (r.id='txfbx' AND t.type='tx' AND t.id<>'tx_1') OR (r.id='sxbx' AND t.type='sx' AND t.id='sx_1') OR (r.id='sxfbx' AND t.type='sx' AND t.id<>'sx_1') OR (r.id='ws0' AND t.type='ws' AND t.id='ws_0') OR (r.id='wsf0' AND t.type='ws' AND t.id<>'ws_0')) AS defaultopen from tbl_ltr_type t where t.`btc` in ('" . str_replace(",", "','", $_POST['btcs']) . "') order by btc,REPLACE(RIGHT(id, 2),'_','0')")->queryAll();
         foreach ($btcsRec as $btc) {
             if ($btc['btc'] == 'tm' || $btc['btc'] == 'zm') {
                 //if($pan==2||$pan==3) $pan=0;
                 // AB AB+ 都显示特码A赔率
                 //避免特码A B 重合,要么A赔率,要么B赔率
                 if ($btc['btc'] . '_' . ($pan == 1 ? 1 : 0) != substr($btc['id'], 0, strrpos($btc['id'], '_'))) {
                     continue;
                 }
             }
             $rate = floatval($btc['rate0' . $lei]);
             $rate1 = floatval($btc['rate1' . $lei]);
             if ($rate1 > 0) {
                 $rate = array($rate, $rate1);
             }
             //$openStatus=(strpos($btc['btc'],'tm')===false||strpos($btc['btc'],'tm')>0)?$termStatus['ftmstatus']:$termStatus['tmstatus'];('tm','tmds','tmdx','tmhsds','tmsb','tmwsdx','tmqs','tx','bbds','bbdx','mx')
             $openStatus = 0;
             if ($termStatus['status'] != 2) {
                 if (strpos("'tm','tmds','tmdx','tmhsds','tmsb','tmwsdx','tmqs','tx','bbds','bbdx','mx'", "'{$btc['btc']}'") !== false) {
                     if ($teAutoRemainTime > 0) {
                         $openStatus = intval($btc['defaultopen']);
                     }
                 } else {
                     if ($notTeAutoRemainTime > 0) {
                         $openStatus = intval($btc['defaultopen']);
                     }
                 }
             }
             $btcs[$btc['btc']]['open'][] = $openStatus;
             //$termStatus['status']==1?($openStatus==0?intval($btc['open']):($openStatus-1)):0;
             $btcs[$btc['btc']]['rate'][] = $rate;
             //tbl_stat,tbl_ltr_type[win,bet]  A B C ? 实货虚货?
             $btcs[$btc['btc']]['bet'][] = 0;
             $btcs[$btc['btc']]['win'][] = 0;
             $btcs[$btc['btc']]['bh'][] = 0;
             //$btcs[$btc['btc']]['adjRate'][]=$btc['adjRate'];
             //$btcs[$btc['btc']]['name'][]=$btc['adjRate'];
             //$btcs[$btc['btc']]['items'][]=$btc['adjRate'];
             //$btcs[$btc['btc']]['cbIdx']=
         }
         $adjRateReader = $conn->createCommand("select * from tbl_adjrate where `btc` in ('" . str_replace(",", "','", $_POST['btcs']) . "') order by btId,nameIdx")->query();
         while (($adjRate = $adjRateReader->read()) !== false) {
             if (isset($_POST['cbIdx']) && $_POST['cbIdx'] == $adjRate['idx']) {
                 $rate = floatval($adjRate['rate0' . $lei]);
                 $rate1 = floatval($adjRate['rate1' . $lei]);
                 if (is_array($btcs[$adjRate['btc']]['rate'][$adjRate['idx']])) {
                     $rate = array($rate, $rate1);
                 }
                 $btcs[$adjRate['btc']]['adjRates'][] = $rate;
             }
             if (!isset($btcs[$adjRate['btc']]['name'])) {
                 $btcs[$adjRate['btc']]['name'] = array();
             }
             if (!isset($btcs[$adjRate['btc']]['name'][$adjRate['nameIdx']])) {
                 $btcs[$adjRate['btc']]['name'][$adjRate['nameIdx']] = 0;
             }
             //$btcs[$adjRate['btc']]['name'][$adjRate['nameIdx']]+=$adjRate['bet'];
         }
         $selfBhReader = $selfBhCmd->query();
         $btcResultMap = array('tx' => 12, 'bbds' => 6, 'bbdx' => 6, 'zt_0' => 49, 'zt_1' => 49, 'zt_2' => 49, 'zt_3' => 49, 'zt_4' => 49, 'zt_5' => 49, 'qsb' => 4);
         $abBtc = array('tmds,tmdx,tmhsds,tmsb,tmwsdx,tmqs');
         while (($selftBh = $selfBhReader->read()) !== false) {
             if (($selftBh['ltrBtcId'] == 'tm' || $selftBh['ltrBtcId'] == 'zm') && ($pan == 0 || $pan == 1) && substr($selftBh['ltrTypeId'], 0, 4) != $selftBh['ltrBtcId'] . '_' . $pan) {
                 continue;
             }
             $betCbIdx = substr($selftBh['ltrTypeId'], strrpos($selftBh['ltrTypeId'], '_') + 1);
             $betResult = $selftBh['bet'];
             //-$btcs[$bet['ltrBtcId']]['bh'][$betCbIdx];
             $winSum = $selftBh['winSum'];
             //$betResult*$selftBh['rate0']-(1-$selftBh['rebate']/100)*$betResult;
             $noWinSum = $selftBh['noWinSum'];
             //(1-$selftBh['rebate']/100)*$betResult;
             if ($selftBh['ltrBtcId'] == 'tm') {
                 for ($i = 0; $i < 49; $i++) {
                     if ($i == $betCbIdx) {
                         $btcs[$selftBh['ltrBtcId']]['win'][$betCbIdx] += $winSum;
                     } else {
                         $btcs[$selftBh['ltrBtcId']]['win'][$i] -= $noWinSum;
                     }
                 }
                 //echo "result:".($selftBh['ltrTypeId'])." ".$betResult."\n";
             } elseif (isset($btcResultMap[$selftBh['ltrBtcId']])) {
                 for ($i = 0; $i < $btcResultMap[$selftBh['ltrBtcId']]; $i++) {
                     if ($i == $betCbIdx) {
                         $btcs[$selftBh['ltrBtcId']]['win'][$betCbIdx] += $winSum;
                     } else {
                         $btcs[$selftBh['ltrBtcId']]['win'][$i] -= $noWinSum;
                     }
                 }
             } elseif ($selftBh['ltrBtcId'] == 'zx') {
                 if ($betCbIdx == 4) {
                     $btcs[$selftBh['ltrBtcId']]['win'][4] += $winSum;
                     $btcs[$selftBh['ltrBtcId']]['win'][5] -= $noWinSum;
                 } elseif ($betCbIdx == 5) {
                     $btcs[$selftBh['ltrBtcId']]['win'][5] += $winSum;
                     $btcs[$selftBh['ltrBtcId']]['win'][4] -= $noWinSum;
                 } else {
                     for ($i = 0; $i < 4; $i++) {
                         if ($i == $betCbIdx) {
                             $btcs[$selftBh['ltrBtcId']]['win'][$betCbIdx] += $winSum;
                         } else {
                             $btcs[$selftBh['ltrBtcId']]['win'][$i] -= $noWinSum;
                         }
                     }
                 }
             } elseif (substr($selftBh['ltrBtcId'], 0, 3) == 'qm_') {
                 $qm_i = substr($selftBh['ltrBtcId'], 3, 1);
                 for ($i = 0; $i <= 7; $i++) {
                     if ($i == $qm_i) {
                         $btcs["qm_{$i}"]['win'][$betCbIdx] += $winSum;
                     } else {
                         $btcs["qm_{$i}"]['win'][$betCbIdx] -= $noWinSum;
                     }
                 }
             } elseif ($pan == 3) {
                 //特单:原来特码的盈亏+ 特单下注额*(1-退水)- 特单下注额*特单赔率
                 //非特单号码:原来特码的盈亏+ 特单下注额*(1-退水)
                 //tmds,tmdx,tmhsds,tmsb,tmwsdx,tmqs  zt_0_ds
                 $abBtc = substr($selftBh['ltrBtcId'], 0, 2);
                 if ($abBtc == 'zt') {
                     $abBtc = substr($selftBh['ltrBtcId'], 0, strrpos($selftBh['ltrBtcId'], '_'));
                     //zt_0
                 }
                 if ($selftBh['ltrBtcId'] == 'tmds' || substr($selftBh['ltrBtcId'], -3) == '_ds') {
                     //$betCbIdx=0 单
                     for ($i = 0; $i < 24; $i++) {
                         $btcs[$abBtc]['win'][2 * $i + $betCbIdx] += $winSum;
                         $btcs[$abBtc]['win'][2 * $i + 1 - $betCbIdx] -= $noWinSum;
                         $btcs[$abBtc]['bet'][2 * $i + $betCbIdx] -= $betResult / 24;
                     }
                 } elseif ($selftBh['ltrBtcId'] == 'tmdx' || substr($selftBh['ltrBtcId'], -3) == '_dx') {
                     for ($i = 0; $i < 24; $i++) {
                         $btcs[$abBtc]['win'][$i + (1 - $betCbIdx) * 24] += $winSum;
                         $btcs[$abBtc]['win'][$i + $betCbIdx * 24] -= $noWinSum;
                         $btcs[$abBtc]['bet'][$i + (1 - $betCbIdx) * 24] -= $betResult / 24;
                     }
                 } elseif ($selftBh['ltrBtcId'] == 'tmhsds' || substr($selftBh['ltrBtcId'], -3) == 'sds') {
                     for ($i = 0; $i < 48; $i++) {
                         $r = $i % 10 + floor($i / 10);
                         $btcs[$abBtc]['win'][$i] += $r % 2 == $betCbIdx ? $winSum : -$noWinSum;
                         $btcs[$abBtc]['bet'][$i] -= $r % 2 == $betCbIdx ? $betResult / 24 : 0;
                     }
                 } elseif ($selftBh['ltrBtcId'] == 'tmwsdx' || substr($selftBh['ltrBtcId'], -3) == 'sdx') {
                     for ($i = 0; $i < 48; $i++) {
                         $r = $i % 10;
                         $btcs[$abBtc]['win'][$i] += ($r > 3 ? 0 : 1) == $betCbIdx ? $winSum : -$noWinSum;
                         $btcs[$abBtc]['bet'][$i] -= ($r > 3 ? 0 : 1) == $betCbIdx ? $betResult / 24 : 0;
                     }
                 } elseif ($selftBh['ltrBtcId'] == 'tmsb' || substr($selftBh['ltrBtcId'], -3) == '_sb') {
                     for ($i = 0; $i < 49; $i++) {
                         $r = $sbs[$i];
                         $btcs[$abBtc]['win'][$i] += $r == $betCbIdx ? $winSum : -$noWinSum;
                         $btcs[$abBtc]['bet'][$i] -= $r == $betCbIdx ? $betResult / 12 : 0;
                     }
                 } elseif ($selftBh['ltrBtcId'] == 'tmqs' || substr($selftBh['ltrBtcId'], -3) == '_qs') {
                     for ($i = 0; $i < 48; $i++) {
                         $r = in_array($i, $jqs) ? 0 : 1;
                         $btcs[$abBtc]['win'][$i] += $r == $betCbIdx ? $winSum : -$noWinSum;
                         $btcs[$abBtc]['bet'][$i] -= $r == $betCbIdx ? $betResult / 24 : 0;
                     }
                 }
             }
             $btcs[$selftBh['ltrBtcId']]['bh'][$betCbIdx] += floatval($selftBh['bet']);
             $btcs[$selftBh['ltrBtcId']]['bet'][$betCbIdx] -= floatval($selftBh['bet']);
         }
         $betReader = $betCmd->query();
         while (($bet = $betReader->read()) !== false) {
             $betCbIdx = substr($bet['ltrTypeId'], strrpos($bet['ltrTypeId'], '_') + 1);
             /*if($bet['ltrBtcId']=='tm'||$bet['ltrBtcId']=='zm'){
             			// AB AB+ 都显示特码A赔率 
             			if($pan==0||$pan==1){
             				if(substr($bet['ltrTypeId'],0,4)!=$bet['ltrBtcId'].'_'.$pan){
             					//echo substr($bet['ltrBtcId'],0,4);
             					//echo $bet['ltrBtcId'].'_'.$pan;
             					continue;
             				}
             				$btcs[$bet['ltrBtcId']]['bet'][$betCbIdx]+=floatval($bet['bet']);
             				$btcs[$bet['ltrBtcId']]['win'][$betCbIdx]+=floatval($bet['win']);
             			}else{
             				$btcs[$bet['ltrBtcId']]['bet'][$betCbIdx]+=floatval($bet['bet']);
             				$btcs[$bet['ltrBtcId']]['win'][$betCbIdx]+=floatval($bet['win']);
             			}
             		}else{
             			$btcs[$bet['ltrBtcId']]['bet'][$betCbIdx]+=floatval($bet['bet']);
             			$btcs[$bet['ltrBtcId']]['win'][$betCbIdx]+=floatval($bet['win']);
             			
             			if($_POST['btcs']=='lm'||$_POST['btcs']=='dzy'||$_POST['btcs']=='mx'||$_POST['btcs']=='wsl'||$_POST['btcs']=='sxl'||$_POST['btcs']=='bz'){
             				if(intval($_POST['cbIdx'])==-1 || $_POST['cbIdx']==$betCbIdx){
             					$betCodes=split(',',$bet['betCode']);
             					//$betCodes is nameIdx
             					$codeLen=count($betCodes);
             					foreach($betCodes as $betCode){
             						$btcs[$bet['ltrBtcId']]['name'][$betCode]+=floatval($bet['bet']/$codeLen);
             					}
             				}
             			}
             		}*/
             $betResult = $bet['bet'];
             //-$btcs[$bet['ltrBtcId']]['bh'][$betCbIdx];
             $winSum = $bet['winSum'];
             //$betResult*$bet['rate0']-(1-$bet['rebate']/100)*$betResult;
             $noWinSum = $bet['noWinSum'];
             //(1-$bet['rebate']/100)*$betResult;
             //add for win
             if (($bet['ltrBtcId'] == 'tm' || $bet['ltrBtcId'] == 'zm') && ($pan == 0 || $pan == 1) && substr($bet['ltrTypeId'], 0, 4) != $bet['ltrBtcId'] . '_' . $pan) {
                 continue;
             }
             if ($bet['ltrBtcId'] == 'tm' || $bet['ltrBtcId'] == 'zx' || substr($bet['ltrBtcId'], 0, 3) == 'qm_' || isset($btcResultMap[$bet['ltrBtcId']])) {
                 if ($bet['ltrBtcId'] == 'tm') {
                     for ($i = 0; $i < 49; $i++) {
                         if ($i == $betCbIdx) {
                             $btcs[$bet['ltrBtcId']]['win'][$betCbIdx] -= $winSum;
                         } else {
                             $btcs[$bet['ltrBtcId']]['win'][$i] += $noWinSum;
                         }
                     }
                 } elseif ($bet['ltrBtcId'] == 'zx') {
                     if ($betCbIdx == 4) {
                         $btcs[$bet['ltrBtcId']]['win'][4] -= $winSum;
                         $btcs[$bet['ltrBtcId']]['win'][5] += $noWinSum;
                     } elseif ($betCbIdx == 5) {
                         $btcs[$bet['ltrBtcId']]['win'][5] -= $winSum;
                         $btcs[$bet['ltrBtcId']]['win'][4] += $noWinSum;
                     } else {
                         for ($i = 0; $i < 4; $i++) {
                             if ($i == $betCbIdx) {
                                 $btcs[$bet['ltrBtcId']]['win'][$betCbIdx] -= $winSum;
                             } else {
                                 $btcs[$bet['ltrBtcId']]['win'][$i] += $noWinSum;
                             }
                         }
                     }
                 } elseif (substr($bet['ltrBtcId'], 0, 3) == 'qm_') {
                     $qm_i = substr($bet['ltrBtcId'], 3, 1);
                     for ($i = 0; $i <= 7; $i++) {
                         if ($i == $qm_i) {
                             $btcs["qm_{$i}"]['win'][$betCbIdx] -= $winSum;
                         } else {
                             $btcs["qm_{$i}"]['win'][$betCbIdx] += $noWinSum;
                         }
                     }
                 } else {
                     //if(isset($btcResultMap[$bet['ltrBtcId']])){
                     for ($i = 0; $i < $btcResultMap[$bet['ltrBtcId']]; $i++) {
                         if ($i == $betCbIdx) {
                             $btcs[$bet['ltrBtcId']]['win'][$betCbIdx] -= $winSum;
                         } else {
                             $btcs[$bet['ltrBtcId']]['win'][$i] += $noWinSum;
                         }
                     }
                     //}
                 }
                 $btcs[$bet['ltrBtcId']]['bet'][$betCbIdx] += floatval($bet['bet']);
             } elseif ($pan == 3) {
                 //特单:原来特码的盈亏+ 特单下注额*(1-退水)- 特单下注额*特单赔率
                 //非特单号码:原来特码的盈亏+ 特单下注额*(1-退水)
                 //tmds,tmdx,tmhsds,tmsb,tmwsdx,tmqs  zt_0_ds
                 $abBtc = substr($bet['ltrBtcId'], 0, 2);
                 if ($abBtc == 'zt') {
                     $abBtc = substr($bet['ltrBtcId'], 0, strrpos($bet['ltrBtcId'], '_'));
                     //zt_0
                 }
                 if ($bet['ltrBtcId'] == 'tmds' || substr($bet['ltrBtcId'], -3) == '_ds') {
                     //$betCbIdx=0 单
                     for ($i = 0; $i < 24; $i++) {
                         $btcs[$abBtc]['win'][2 * $i + $betCbIdx] -= $winSum;
                         $btcs[$abBtc]['win'][2 * $i + 1 - $betCbIdx] += $noWinSum;
                         $btcs[$abBtc]['bet'][2 * $i + $betCbIdx] += $betResult / 24;
                     }
                 } elseif ($bet['ltrBtcId'] == 'tmdx' || substr($bet['ltrBtcId'], -3) == '_dx') {
                     for ($i = 0; $i < 24; $i++) {
                         $btcs[$abBtc]['win'][$i + (1 - $betCbIdx) * 24] -= $winSum;
                         $btcs[$abBtc]['win'][$i + $betCbIdx * 24] += $noWinSum;
                         $btcs[$abBtc]['bet'][$i + (1 - $betCbIdx) * 24] += $betResult / 24;
                     }
                 } elseif ($bet['ltrBtcId'] == 'tmhsds' || substr($bet['ltrBtcId'], -3) == 'sds') {
                     for ($i = 0; $i < 48; $i++) {
                         $r = $i % 10 + floor($i / 10);
                         $btcs[$abBtc]['win'][$i] -= $r % 2 == $betCbIdx ? $winSum : -$noWinSum;
                         $btcs[$abBtc]['bet'][$i] += $r % 2 == $betCbIdx ? $betResult / 24 : 0;
                     }
                 } elseif ($bet['ltrBtcId'] == 'tmwsdx' || substr($bet['ltrBtcId'], -3) == 'sdx') {
                     for ($i = 0; $i < 48; $i++) {
                         $r = $i % 10;
                         $btcs[$abBtc]['win'][$i] -= ($r > 3 ? 0 : 1) == $betCbIdx ? $winSum : -$noWinSum;
                         $btcs[$abBtc]['bet'][$i] += ($r > 3 ? 0 : 1) == $betCbIdx ? $betResult / 24 : 0;
                     }
                 } elseif ($bet['ltrBtcId'] == 'tmsb' || substr($bet['ltrBtcId'], -3) == '_sb') {
                     for ($i = 0; $i < 49; $i++) {
                         $r = $sbs[$i];
                         $btcs[$abBtc]['win'][$i] -= $r == $betCbIdx ? $winSum : -$noWinSum;
                         $btcs[$abBtc]['bet'][$i] += $r == $betCbIdx ? $betResult / 12 : 0;
                     }
                 } elseif ($bet['ltrBtcId'] == 'tmqs' || substr($bet['ltrBtcId'], -3) == '_qs') {
                     for ($i = 0; $i < 48; $i++) {
                         $r = CommonUtil::getSxCode($i + 1);
                         $r = in_array($i, $jqs) ? 0 : 1;
                         $btcs[$abBtc]['win'][$i] -= $r == $betCbIdx ? $winSum : -$noWinSum;
                         $btcs[$abBtc]['bet'][$i] += $r == $betCbIdx ? $betResult / 24 : 0;
                     }
                 }
                 $btcs[$bet['ltrBtcId']]['bet'][$betCbIdx] += floatval($bet['bet']);
                 $btcs[$bet['ltrBtcId']]['win'][$betCbIdx] += floatval($bet['win']);
             } else {
                 $btcs[$bet['ltrBtcId']]['bet'][$betCbIdx] += floatval($bet['bet']);
                 $btcs[$bet['ltrBtcId']]['win'][$betCbIdx] += floatval($bet['win']);
             }
         }
         //[ "id","cbType","names", "sum","flag" ]  "items":[[],[],[[48,0,"牛,虎,蛇,马,羊,狗",9.0,48]]]
         if ($_POST['btcs'] == 'lm' || $_POST['btcs'] == 'dzy' || $_POST['btcs'] == 'mx' || $_POST['btcs'] == 'wsl' || $_POST['btcs'] == 'sxl' || $_POST['btcs'] == 'bz') {
             $items = array();
             $cbIdx = intval($_POST['cbIdx']);
             $items[] = array();
             $items[] = array();
             //$items[]=$conn->createCommand("select id,SUBSTRING(ltrTypeId,instr(ltrTypeId,'_')+1),betType,betSum,SUBSTRING(ltrTypeId,instr(ltrTypeId,'_')+1) from tbl_bet where `ltrBtcId` ='{$_POST['btcs']}' order by ltrTypeId")->queryAll(false);
             $itemWhere = "";
             if ($cbIdx != -1) {
                 $itemWhere = "and `ltrTypeId` ='" . $_POST['btcs'] . "_" . $cbIdx . "'";
                 /*}else{
                 			$itemWhere="and `ltrBtcId` ='".$_POST['btcs']."'";
                 		}*/
                 $btcLen = strlen($_POST['btcs']) + 1 + 1;
                 $itemRec = $conn->createCommand("select id,substring(ltrTypeId,{$btcLen}),betCode,sum(betSum{$sumHuo}) as betSum,id from tbl_bet where termid='{$this->term}' {$itemWhere} {$whereStatUser} group by ltrTypeId,betCode order by betSum desc,REPLACE(REPLACE(REPLACE(REPLACE(CONCAT(',',betCode,','),',1,',',01,'),',2,',',02,'),',3,',',03,'),',4,',',04,') asc")->queryAll(false);
                 /*for($itemI=0;$itemI<count($itemRec);$itemI++){
                 			$itemCodes=split(',',$itemRec[$itemI][2]);
                 			for($itemJ=0;$itemJ<count($itemCodes);$itemJ++){
                 				$itemCodes[$itemJ]=str_pad($itemCodes[$itemJ]+1, 2, "0", STR_PAD_LEFT);
                 			}
                 			$itemRec[$itemI][2]=implode(',',$itemCodes);
                 		}*/
                 CommonUtil::metaData($itemRec, array('int', 'int', '', 'float', 'int'));
                 if (isset($_POST['itemIds']) && strlen($_POST['itemIds']) > 0) {
                     if (count($itemRec) == count(split(',', $_POST['itemIds']))) {
                         $items[] = array();
                     } else {
                         $items[] = $itemRec;
                     }
                 } else {
                     $items[] = $itemRec;
                 }
                 foreach ($itemRec as $itemI) {
                     $betCodes = split(',', $itemI[2]);
                     //$betCodes is nameIdx
                     $codeLen = count($betCodes);
                     foreach ($betCodes as $betCode) {
                         $btcs[$_POST['btcs']]['name'][$betCode] += floatval($itemI[3] / $codeLen);
                         //$btcs[$_POST['btcs']]['namev'][]="$betCode,$itemI[3],".floatval($itemI[3]/$codeLen);
                     }
                 }
             } else {
                 $items[] = array();
             }
             $btcs[$_POST['btcs']]['items'] = $items;
             $btcs[$_POST['btcs']]["minFlag"] = -1;
             $btcs[$_POST['btcs']]["maxFlag"] = 0;
             if ($cbIdx != -1) {
                 $btcs[$_POST['btcs']]["cbIdx"] = $cbIdx;
             }
             //if(!isset($btcs[$_POST['btcs']]['namev'])){
             //	$btcs[$_POST['btcs']]['namev']=array();
             //}
         }
         $refresh['btcs'] = $btcs;
     }
     if (Yii::app()->user->getState('countDown') === NULL) {
         Yii::app()->user->setState('countDown', true);
     }
     if (Yii::app()->user->getState('countDown') == true) {
         $refresh['remainTimes'] = array($notTeAutoRemainTime, $teAutoRemainTime);
     }
     $refresh['autoCloseTimes'] = array($ltrRec['notTeAutoCloseTime'], $ltrRec['teAutoCloseTime'], $ltrRec['teAutoCloseTime']);
     $refresh['term'] = $this->term;
     $code = $conn->createCommand("select zm1,zm2,zm3,zm4,zm5,zm6,tm from tbl_ltr_codes where term='{$this->term}'")->queryRow(false);
     $refresh['code'] = $code;
     $ztTypes = '';
     for ($i = 0; $i < 6; $i++) {
         $ztTypes .= ",zt_{$i},zt_{$i}_ds,zt_{$i}_dx,zt_{$i}_hsds,zt_{$i}_wsdx,zt_{$i}_qs,zt_{$i}_sb";
     }
     $ztTypes = substr($ztTypes, 1);
     $statTypes = array('tm,tmds,tmdx,tmhsds,tmwsdx,tmqs,tmsb', 'zm,zhds,zhdx', 'lm', 'tx', 'bbds,bbdx', 'mx', 'sx,ws', 'sxl,wsl', 'bz', $ztTypes, 'dzy', 'qsb', 'zx', 'qm_0,qm_1,qm_2,qm_3,qm_4,qm_5,qm_6,qm_7');
     foreach ($statTypes as $statType) {
         $statRec = $conn->createCommand("select sum(if(betuserid='" . $userid . "'," . ($huo == 1 ? "0" : "-betSum") . ",betSum" . $sumHuo . ")) as bet from tbl_bet where termid='" . $this->term . "' and `ltrBtcId` in ('" . str_replace(",", "','", $statType) . "') and statUser_{$roleid}='" . $userid . "'")->queryRow(false);
         $refresh['stat'][] = $statRec[0];
     }
     echo CJSON::encode($refresh);
     Yii::app()->end();
 }
コード例 #2
0
ファイル: BetService.php プロジェクト: haokuweb/myDemo
 public function settleType($term)
 {
     $conn = Yii::app()->db;
     $codes = $conn->createCommand("select zm1,zm2,zm3,zm4,zm5,zm6,tm from tbl_ltr_codes where term=:term")->queryRow(true, array(":term" => $term));
     $sql = "update tbl_ltr_type set bet=:bet,win=:win where btc=:btc";
     //$typeCmd=$conn->createCommand("update tbl_ltr_type set bet=:bet,win=:win where btc=:btc");
     $intCode = array();
     $sxCode = array();
     foreach ($codes as $k => $v) {
         $intCode[$k] = intval($v);
         $sxCode[$k] = CommonUtil::getSxCode(intval($v));
     }
     $btcArrs = array();
     //tm
     $r = $intCode['tm'] - 1;
     $conn->createCommand($sql . " and (id='tm_0_{$r}' or id='tm_1_{$r}')")->execute(array(":bet" => 0, ":win" => 1, "btc" => "tm"));
     $conn->createCommand($sql . " and (id<>'tm_0_{$r}' and id<>'tm_1_{$r}')")->execute(array(":bet" => 0, ":win" => 0, "btc" => "tm"));
     $btcArrs[] = "'tm'";
     //tmds
     if ($codes['tm'] == '49') {
         $conn->createCommand($sql)->execute(array(":bet" => 0, ":win" => 2, "btc" => "tmds"));
     } else {
         $r = $intCode['tm'] % 2;
         //48: 0  双: _1
         $conn->createCommand($sql . " and id='tmds_0'")->execute(array(":bet" => 0, ":win" => $r, "btc" => "tmds"));
         $conn->createCommand($sql . " and id='tmds_1'")->execute(array(":bet" => 0, ":win" => 1 - $r, "btc" => "tmds"));
     }
     $btcArrs[] = "'tmds'";
     //tmdx
     if ($codes['tm'] == '49') {
         $conn->createCommand($sql)->execute(array(":bet" => 0, ":win" => 2, "btc" => "tmdx"));
     } else {
         $r = $intCode['tm'] > 24 ? 1 : 0;
         //24
         $conn->createCommand($sql . " and id='tmdx_0'")->execute(array(":bet" => 0, ":win" => $r, "btc" => "tmdx"));
         $conn->createCommand($sql . " and id='tmdx_1'")->execute(array(":bet" => 0, ":win" => 1 - $r, "btc" => "tmdx"));
     }
     $btcArrs[] = "'tmdx'";
     //tmhsds
     if ($codes['tm'] == '49') {
         $conn->createCommand($sql)->execute(array(":bet" => 0, ":win" => 2, "btc" => "tmhsds"));
     } else {
         $r = substr($codes['tm'], 0, 1) + substr($codes['tm'], 1, 1);
         $r = $r % 2;
         //24
         $conn->createCommand($sql . " and id='tmhsds_0'")->execute(array(":bet" => 0, ":win" => $r, "btc" => "tmhsds"));
         $conn->createCommand($sql . " and id='tmhsds_1'")->execute(array(":bet" => 0, ":win" => 1 - $r, "btc" => "tmhsds"));
     }
     $btcArrs[] = "'tmhsds'";
     //tmwsdx
     if ($codes['tm'] == '49') {
         $conn->createCommand($sql)->execute(array(":bet" => 0, ":win" => 2, "btc" => "tmwsdx"));
     } else {
         $r = $intCode['tm'] % 10 > 4 ? 1 : 0;
         $conn->createCommand($sql . " and id='tmwsdx_0'")->execute(array(":bet" => 0, ":win" => $r, "btc" => "tmwsdx"));
         $conn->createCommand($sql . " and id='tmwsdx_1'")->execute(array(":bet" => 0, ":win" => 1 - $r, "btc" => "tmwsdx"));
     }
     $btcArrs[] = "'tmwsdx'";
     //tmqs
     //	  DECLARE t_sx_jq varchar(15) default '11,7,10,6,9,1';
     //DECLARE t_sx_ys varchar(15) default '0,8,4,3,2,5';
     $jqCodes = array(11, 7, 10, 6, 9, 1);
     if ($codes['tm'] == '49') {
         $conn->createCommand($sql)->execute(array(":bet" => 0, ":win" => 2, "btc" => "tmqs"));
     } else {
         $r = in_array($sxCode['tm'], $jqCodes) ? 1 : 0;
         $conn->createCommand($sql . " and id='tmqs_0'")->execute(array(":bet" => 0, ":win" => $r, "btc" => "tmqs"));
         $conn->createCommand($sql . " and id='tmqs_1'")->execute(array(":bet" => 0, ":win" => 1 - $r, "btc" => "tmqs"));
     }
     $btcArrs[] = "'tmqs'";
     //tmsb
     $sbs = array(0, 0, 1, 1, 2, 2, 0, 0, 1, 1, 2, 0, 0, 1, 1, 2, 2, 0, 0, 1, 2, 2, 0, 0, 1, 1, 2, 2, 0, 0, 1, 2, 2, 0, 0, 1, 1, 2, 2, 0, 1, 1, 2, 2, 0, 0, 1, 1, 2);
     $r = $sbs[$intCode['tm'] - 1];
     $conn->createCommand($sql . " and id='tmsb_{$r}'")->execute(array(":bet" => 0, ":win" => 1, "btc" => "tmsb"));
     $conn->createCommand($sql . " and id<>'tmsb_{$r}'")->execute(array(":bet" => 0, ":win" => 0, "btc" => "tmsb"));
     $btcArrs[] = "'tmsb'";
     //zm
     $r = array();
     for ($i = 1; $i <= 6; $i++) {
         $r[] = "'zm_0_" . ($intCode["zm{$i}"] - 1) . "'";
         $r[] = "'zm_1_" . ($intCode["zm{$i}"] - 1) . "'";
     }
     $r = join(',', $r);
     $conn->createCommand($sql . " and id in ( {$r} )")->execute(array(":bet" => 0, ":win" => 1, "btc" => "zm"));
     $conn->createCommand($sql . " and id not in ( {$r} )")->execute(array(":bet" => 0, ":win" => 0, "btc" => "zm"));
     $btcArrs[] = "'zm'";
     $zhsum = 0;
     for ($i = 1; $i <= 6; $i++) {
         $zhsum += intval($intCode["zm{$i}"]);
     }
     $zhsum += intval($intCode["tm"]);
     //zhds
     $r = $zhsum % 2;
     //48: 0  双: _1
     $conn->createCommand($sql . " and id='zhds_0'")->execute(array(":bet" => 0, ":win" => $r, "btc" => "zhds"));
     $conn->createCommand($sql . " and id='zhds_1'")->execute(array(":bet" => 0, ":win" => 1 - $r, "btc" => "zhds"));
     $btcArrs[] = "'zhds'";
     //zhdx
     $r = $zhsum > 174 ? 1 : 0;
     $conn->createCommand($sql . " and id='zhdx_0'")->execute(array(":bet" => 0, ":win" => $r, "btc" => "zhdx"));
     $conn->createCommand($sql . " and id='zhdx_1'")->execute(array(":bet" => 0, ":win" => 1 - $r, "btc" => "zhdx"));
     $btcArrs[] = "'zhdx'";
     //tx
     $r = $sxCode['tm'];
     $conn->createCommand($sql . " and id='tx_{$r}'")->execute(array(":bet" => 0, ":win" => 1, "btc" => "tx"));
     $conn->createCommand($sql . " and id<>'tx_{$r}'")->execute(array(":bet" => 0, ":win" => 0, "btc" => "tx"));
     $btcArrs[] = "'tx'";
     //bb
     if ($codes['tm'] == '49') {
         $conn->createCommand($sql)->execute(array(":bet" => 0, ":win" => 2, "btc" => "bbds"));
         $conn->createCommand($sql)->execute(array(":bet" => 0, ":win" => 2, "btc" => "bbdx"));
     } else {
         $r = $sbs[$intCode['tm'] - 1] * 2 + 1 - $intCode['tm'] % 2;
         $conn->createCommand($sql . " and id='bbds_{$r}'")->execute(array(":bet" => 0, ":win" => 1, "btc" => "bbds"));
         $conn->createCommand($sql . " and id<>'bbds_{$r}'")->execute(array(":bet" => 0, ":win" => 0, "btc" => "bbds"));
         $r = $sbs[$intCode['tm'] - 1] * 2 + $intCode['tm'] > 24 ? 0 : 1;
         $conn->createCommand($sql . " and id='bbdx_{$r}'")->execute(array(":bet" => 0, ":win" => 1, "btc" => "bbdx"));
         $conn->createCommand($sql . " and id<>'bbdx_{$r}'")->execute(array(":bet" => 0, ":win" => 0, "btc" => "bbdx"));
     }
     $btcArrs[] = "'bbds'";
     $btcArrs[] = "'bbdx'";
     //sx
     $r = array();
     foreach ($sxCode as $codeVal) {
         $r[] = "'sx_" . $codeVal . "'";
     }
     $r = join(',', $r);
     $conn->createCommand($sql . " and id in ( {$r} )")->execute(array(":bet" => 0, ":win" => 1, "btc" => "sx"));
     $conn->createCommand($sql . " and id not in ( {$r} )")->execute(array(":bet" => 0, ":win" => 0, "btc" => "sx"));
     $btcArrs[] = "'sx'";
     //ws
     $r = array();
     foreach ($intCode as $codeVal) {
         $r[] = "'ws_" . $codeVal % 10 . "'";
     }
     $r = join(',', $r);
     $conn->createCommand($sql . " and id in ( {$r} )")->execute(array(":bet" => 0, ":win" => 1, "btc" => "ws"));
     $conn->createCommand($sql . " and id not in ( {$r} )")->execute(array(":bet" => 0, ":win" => 0, "btc" => "ws"));
     $btcArrs[] = "'ws'";
     //zt_0...5
     for ($i = 0; $i <= 5; $i++) {
         $r = $intCode["zm" . ($i + 1)] - 1;
         $conn->createCommand($sql . " and id='zt_{$i}_{$r}'")->execute(array(":bet" => 0, ":win" => 1, "btc" => "zt_{$i}"));
         $conn->createCommand($sql . " and id<>'zt_{$i}_{$r}'")->execute(array(":bet" => 0, ":win" => 0, "btc" => "zt_{$i}"));
         $btcArrs[] = "'zt_{$i}'";
         //tmds
         if ($codes["zm" . ($i + 1)] == '49') {
             $conn->createCommand($sql)->execute(array(":bet" => 0, ":win" => 2, "btc" => "zt_{$i}_ds"));
         } else {
             $r = $intCode["zm" . ($i + 1)] % 2;
             //48: 0  双: _1
             $conn->createCommand($sql . " and id='zt_{$i}_ds_0'")->execute(array(":bet" => 0, ":win" => $r, "btc" => "zt_{$i}_ds"));
             $conn->createCommand($sql . " and id='zt_{$i}_ds_1'")->execute(array(":bet" => 0, ":win" => 1 - $r, "btc" => "zt_{$i}ds"));
         }
         $btcArrs[] = "'zt_{$i}_ds'";
         //tmdx
         if ($codes["zm" . ($i + 1)] == '49') {
             $conn->createCommand($sql)->execute(array(":bet" => 0, ":win" => 2, "btc" => "zt_{$i}_dx"));
         } else {
             $r = $intCode["zm" . ($i + 1)] > 24 ? 1 : 0;
             //24
             $conn->createCommand($sql . " and id='zt_{$i}_dx_0'")->execute(array(":bet" => 0, ":win" => $r, "btc" => "zt_{$i}_dx"));
             $conn->createCommand($sql . " and id='zt_{$i}_dx_1'")->execute(array(":bet" => 0, ":win" => 1 - $r, "btc" => "zt_{$i}_dx"));
         }
         $btcArrs[] = "'zt_{$i}_dx'";
         //tmhsds
         if ($codes["zm" . ($i + 1)] == '49') {
             $conn->createCommand($sql)->execute(array(":bet" => 0, ":win" => 2, "btc" => "zt_{$i}_hsds"));
         } else {
             $r = substr($codes["zm" . ($i + 1)], 0, 1) + substr($codes["zm" . ($i + 1)], 1, 1);
             $r = $r % 2;
             //24
             $conn->createCommand($sql . " and id='zt_{$i}_hsds_0'")->execute(array(":bet" => 0, ":win" => $r, "btc" => "zt_{$i}_hsds"));
             $conn->createCommand($sql . " and id='zt_{$i}_hsds_1'")->execute(array(":bet" => 0, ":win" => 1 - $r, "btc" => "zt_{$i}_hsds"));
         }
         $btcArrs[] = "'zt_{$i}_hsds'";
         //tmwsdx
         if ($codes["zm" . ($i + 1)] == '49') {
             $conn->createCommand($sql)->execute(array(":bet" => 0, ":win" => 2, "btc" => "zt_{$i}_wsdx"));
         } else {
             $r = $intCode["zm" . ($i + 1)] % 10 > 4 ? 1 : 0;
             $conn->createCommand($sql . " and id='zt_{$i}_wsdx_0'")->execute(array(":bet" => 0, ":win" => $r, "btc" => "zt_{$i}_wsdx"));
             $conn->createCommand($sql . " and id='zt_{$i}_wsdx_1'")->execute(array(":bet" => 0, ":win" => 1 - $r, "btc" => "zt_{$i}_wsdx"));
         }
         $btcArrs[] = "'zt_{$i}_wsdx'";
         //tmqs
         //	  DECLARE t_sx_jq varchar(15) default '11,7,10,6,9,1';
         //DECLARE t_sx_ys varchar(15) default '0,8,4,3,2,5';
         if ($codes["zm" . ($i + 1)] == '49') {
             $conn->createCommand($sql)->execute(array(":bet" => 0, ":win" => 2, "btc" => "zt_{$i}_qs"));
         } else {
             $r = in_array($sxCode["zm" . ($i + 1)], $jqCodes) ? 1 : 0;
             $conn->createCommand($sql . " and id='zt_{$i}_qs_0'")->execute(array(":bet" => 0, ":win" => $r, "btc" => "zt_{$i}_qs"));
             $conn->createCommand($sql . " and id='zt_{$i}_qs_1'")->execute(array(":bet" => 0, ":win" => 1 - $r, "btc" => "zt_{$i}_qs"));
         }
         $btcArrs[] = "'zt_{$i}_qs'";
         //tmsb
         $r = $sbs[$intCode["zm" . ($i + 1)] - 1];
         $conn->createCommand($sql . " and id='zt_{$i}_sb_{$r}'")->execute(array(":bet" => 0, ":win" => 1, "btc" => "zt_{$i}_sb"));
         $conn->createCommand($sql . " and id<>'zt_{$i}_sb_{$r}'")->execute(array(":bet" => 0, ":win" => 0, "btc" => "zt_{$i}_sb"));
         $btcArrs[] = "'zt_{$i}_sb'";
     }
     //qsb
     $sb = array(0, 0, 0);
     for ($i = 1; $i <= 6; $i++) {
         $sb[$sbs[$intCode['zm' . $i] - 1]] += 1;
     }
     $isHeju = false;
     foreach ($sb as $s) {
         if ($s == 0) {
             $isHeju = true;
             break;
         }
     }
     if ($isHeju) {
         $conn->createCommand($sql . " and id='qsb_3'")->execute(array(":bet" => 0, ":win" => 1, "btc" => "qsb"));
         $conn->createCommand($sql . " and id<>'qsb_3'")->execute(array(":bet" => 0, ":win" => 0, "btc" => "qsb"));
     } else {
         $sb[$sbs[$intCode['tm'] - 1]] += 1.5;
         $r = max($sb);
         for ($i = 0; $i < count($sb); $i++) {
             if ($r == $sb[$i]) {
                 $r = $i;
                 break;
             }
         }
         $conn->createCommand($sql . " and id='qsb_{$r}'")->execute(array(":bet" => 0, ":win" => 1, "btc" => "qsb"));
         $conn->createCommand($sql . " and id<>'qsb_{$r}'")->execute(array(":bet" => 0, ":win" => 0, "btc" => "qsb"));
     }
     $btcArrs[] = "'qsb'";
     //zx
     $zx = array();
     foreach ($intCode as $codeV) {
         if ($codeV != 49) {
             $zx[$codeV % 12] = 1;
         }
     }
     $zxN = count($zx);
     $r = -1;
     switch ($zxN) {
         case 0:
         case 1:
             $r = -1;
             break;
         case 2:
         case 3:
         case 4:
             $r = 0;
             break;
         case 5:
             $r = 1;
             break;
         case 6:
             $r = 2;
             break;
         case 7:
             $r = 3;
             break;
         default:
             $r = -1;
     }
     if ($r == -1) {
         $conn->createCommand($sql)->execute(array(":bet" => 0, ":win" => 0, "btc" => "zx"));
     } else {
         //1-2%2+4  zx_5 shuang
         $conn->createCommand($sql . " and (id='zx_{$r}' or id='zx_" . (1 - $zxN % 2 + 4) . "')")->execute(array(":bet" => 0, ":win" => 1, "btc" => "zx"));
         $conn->createCommand($sql . " and (id<>'zx_{$r}' and id<>'zx_" . (1 - $zxN % 2 + 4) . "')")->execute(array(":bet" => 0, ":win" => 0, "btc" => "zx"));
     }
     $btcArrs[] = "'zx'";
     //qm
     //有多少个单、双、大、小、合单、合双数
     $qm = array(0, 0, 0, 0, 0, 0);
     //vals:01234567
     foreach ($intCode as $codeV) {
         if ($codeV == 49) {
             continue;
         }
         $qm[1 - $codeV % 2] += 1;
         $qm[2 + ($codeV > 24 ? 0 : 1)] += 1;
         $r = $codeV % 10 + floor($codeV / 10);
         $qm[1 - $r % 2 + 4] += 1;
     }
     for ($i = 0; $i < 6; $i++) {
         $conn->createCommand($sql . " and id='qm_{$qm[$i]}_{$i}'")->execute(array(":bet" => 0, ":win" => 1, "btc" => "qm_{$qm[$i]}"));
     }
     for ($i = 0; $i < 8; $i++) {
         $btcArrs[] = "'qm_{$i}'";
     }
     //sx
     //$sxWin=array();
     foreach ($intCode as $codeV) {
         $r = CommonUtil::getSxCode($codeV);
         $conn->createCommand($sql . " and id='sx_{$r}'")->execute(array(":bet" => 0, ":win" => 1, "btc" => "sx"));
     }
     $btcArrs[] = "'sx'";
     //ws
     foreach ($intCode as $codeV) {
         $r = $codeV % 10;
         $conn->createCommand($sql . " and id='ws_{$r}'")->execute(array(":bet" => 0, ":win" => 1, "btc" => "ws"));
     }
     $btcArrs[] = "'ws'";
     $btcs = join(',', $btcArrs);
     $conn->createCommand("update tbl_bet b set b.victory=(select t.win from tbl_ltr_type t where t.id=b.ltrTypeId) where  termid='{$term}' and ltrBtcId in ({$btcs})")->execute();
     $conn->createCommand("update tbl_bet b set b.hyResult=if(victory=2,0,if(victory=1,betSum*rate0-(1-rebate/100)*betSum,-(1-rebate/100)*betSum)) where  termid='{$term}' and ltrBtcId in ({$btcs})")->execute();
     $conn->createCommand("call sp_settle('{$term}')")->execute();
     return '';
 }