RulePlus.php 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910
  1. <?php
  2. namespace App\Lib\Settlement\Adapter;
  3. trait RulePlus
  4. {
  5. public $return_he = ['result' => '2', 'matchResult' => '无规则和'];
  6. public $return_fail = ['result' => '-1', 'matchResult' => ''];
  7. public $return_error = ['result' => '100', 'matchResult' => '无胜负判断规则'];
  8. //足球让球 $scoreDiff比分差 $condition条件 $matchResultWord匹配文字(原样输出)
  9. //$condition 可能 1 +1 -1 +1.5/2 -1.5/2 这样
  10. public function zq_letball($scoreDiff, $condition, $matchResultWord)
  11. {
  12. $scoreDiff = intval($scoreDiff);
  13. $returnDatas['matchResult'] = $matchResultWord;
  14. $hasFH = in_array(substr($condition, 0, 1), ['+', '-']);
  15. if ($hasFH) {
  16. $condArr = explode("/", substr($condition, 1));
  17. $condArr = array_map(function ($i) {
  18. return (strpos($i, '.') === false) ? intval($i) : floatval($i);
  19. }, $condArr);
  20. $FH = substr($condition, 0, 1);
  21. } else {
  22. $condArr = explode("/", $condition);
  23. $condArr = array_map(function ($i) {
  24. return (strpos($i, '.') === false) ? intval($i) : floatval($i);
  25. }, $condArr);
  26. $FH = '+';
  27. }
  28. if (count($condArr) == 1) {
  29. $smin = $scoreDiff + ($FH == '+' ? 1 : -1) * $condArr['0'];
  30. if ($smin > 0) {
  31. $returnDatas['result'] = 1;
  32. } elseif ($smin == 0) {
  33. $returnDatas['result'] = 2;
  34. } else {
  35. $returnDatas['result'] = -1;
  36. }
  37. return $returnDatas;
  38. }
  39. $smin = $scoreDiff + ($FH == "+" ? 1 : -1) * $condArr[0];
  40. $smax = $scoreDiff + ($FH == "+" ? 1 : -1) * $condArr[1];
  41. if ($smin > $smax) {
  42. $this->doexchage($smin, $smax);
  43. }
  44. if ($smin < 0 && $smax < 0) {
  45. $returnDatas['result'] = -1;
  46. return $returnDatas;
  47. }
  48. if ($smin > 0 && $smax > 0) {
  49. $returnDatas['result'] = 1;
  50. return $returnDatas;
  51. }
  52. if ($smin + $smax > 0) {
  53. $returnDatas['result'] = 3;
  54. return $returnDatas;
  55. }
  56. $returnDatas['result'] = 4;
  57. return $returnDatas;
  58. }
  59. //足球进球大小 $score进球数 type:2大 1小 $matchResultWord匹配文字原样输出
  60. //$condition 0.5/1 2/2.5 2 这样的
  61. /**
  62. * 条件 大/小 进球数 输赢
  63. * 1/1.5 大 0 $min=-1.5,$max=-1 -1
  64. * 1/1.5 大 1 $min=-0.5,$max=0 4
  65. * 1/1.5 大 2 $min=0.5,$max=1 1
  66. * 1/1.5 大 3 $min=1.5,$max=2 1
  67. *
  68. * 1.5/2 大 0 $min=-2,$max=-1.5 -1
  69. * 1.5/2 大 1 $min=-1,$max=-0.5 -1
  70. * 1.5/2 大 2 $min=0,$max=0.5 3
  71. * 1.5/2 大 3 $min=1,$max=1.5 1
  72. * --------------------------------------------------
  73. * 1/1.5 小 0 $min=-1.5,$max=-1 1
  74. * 1/1.5 小 1 $min=-0.5,$max=0 3
  75. * 1/1.5 小 2 $min=0.5,$max=1 -1
  76. * 1/1.5 小 3 $min=1.5,$max=2 -1
  77. *
  78. * 1.5/2 小 0 $min=-2,$max=-1.5 1
  79. * 1.5/2 小 1 $min=-1,$max=-0.5 1
  80. * 1.5/2 小 2 $min=0,$max=0.5 4
  81. * 1.5/2 小 3 $min=1,$max=1.5 -1
  82. */
  83. public function zq_inball_bigsmall($score, $condition, $type, $matchResultWord)
  84. {
  85. $score = intval($score);
  86. $returnDatas['matchResult'] = $matchResultWord;
  87. $condArr = explode("/", $condition);
  88. $condArr = array_map(function ($i) {
  89. return (strpos($i, '.') === false) ? intval($i) : floatval($i);
  90. }, $condArr);
  91. if (count($condArr) == 1) {
  92. if ($score == $condArr['0']) {
  93. $returnDatas['result'] = 2;
  94. } else {
  95. if ($type == 2) {
  96. if ($score > $condArr['0']) {
  97. $returnDatas['result'] = 1;
  98. } else {
  99. $returnDatas['result'] = -1;
  100. }
  101. } else {
  102. if ($score < $condArr['0']) {
  103. $returnDatas['result'] = 1;
  104. } else {
  105. $returnDatas['result'] = -1;
  106. }
  107. }
  108. }
  109. return $returnDatas;
  110. }
  111. $smin = $score - $condArr['0'];
  112. $smax = $score - $condArr['1'];
  113. if ($smin > $smax) {
  114. $this->doexchage($smin, $smax);
  115. }
  116. if ($type == 2) {
  117. if ($smin > 0 && $smax > 0) {
  118. $returnDatas['result'] = 1;
  119. } elseif ($smin < 0 && $smax < 0) {
  120. $returnDatas['result'] = -1;
  121. } else {
  122. if ($smax > 0) {
  123. $returnDatas['result'] = 3;
  124. } else {
  125. $returnDatas['result'] = 4;
  126. }
  127. }
  128. } else {
  129. if ($smin > 0 && $smax > 0) {
  130. $returnDatas['result'] = -1;
  131. } elseif ($smin < 0 && $smax < 0) {
  132. $returnDatas['result'] = 1;
  133. } else {
  134. if ($smin < 0) {
  135. $returnDatas['result'] = 3;
  136. } else {
  137. $returnDatas['result'] = 4;
  138. }
  139. }
  140. }
  141. return $returnDatas;
  142. }
  143. //独赢
  144. public function zq_duying($score, $condition, $matchResultWord)
  145. {
  146. $fen = (strtolower($condition) != 'x') ? intval($condition) : 0;
  147. $smin = $score - $fen;
  148. $returnDatas['matchResult'] = $matchResultWord;
  149. if ($smin > 0) {
  150. $returnDatas['result'] = 1;
  151. } elseif ($smin == 0) {
  152. $returnDatas['result'] = 2;
  153. } else {
  154. $returnDatas['result'] = -1;
  155. }
  156. return $returnDatas;
  157. }
  158. //独赢 $halftype 1上半场 4全场 $homeguest=1主队 2客队 $homeguest 1主队赢 2客队赢 3平
  159. public function zq_duyingv2($homeguest, $halfalltype, $resultModel, $matchResultWord)
  160. {
  161. $home_score = intval($resultModel->home_score);
  162. $guest_score = intval($resultModel->guest_score);
  163. $home_score_half = intval($resultModel->u_home_score);
  164. $guest_score_half = intval($resultModel->u_guest_score);
  165. $returnDatas['matchResult'] = $matchResultWord;
  166. if ($halfalltype == 4) {
  167. if ($homeguest == 1) {
  168. if ($home_score > $guest_score) {
  169. $returnDatas['result'] = 1;
  170. } else {
  171. $returnDatas['result'] = -1;
  172. }
  173. } elseif ($homeguest == 2) {
  174. if ($guest_score > $home_score) {
  175. $returnDatas['result'] = 1;
  176. } else {
  177. $returnDatas['result'] = -1;
  178. }
  179. } else {
  180. if ($guest_score == $home_score) {
  181. $returnDatas['result'] = 1;
  182. } else {
  183. $returnDatas['result'] = -1;
  184. }
  185. }
  186. } else {
  187. if ($homeguest == 1) {
  188. if ($home_score_half > $guest_score_half) {
  189. $returnDatas['result'] = 1;
  190. } else {
  191. $returnDatas['result'] = -1;
  192. }
  193. } elseif ($homeguest == 2) {
  194. if ($guest_score_half > $home_score_half) {
  195. $returnDatas['result'] = 1;
  196. } else {
  197. $returnDatas['result'] = -1;
  198. }
  199. } else {
  200. if ($guest_score_half == $home_score_half) {
  201. $returnDatas['result'] = 1;
  202. } else {
  203. $returnDatas['result'] = -1;
  204. }
  205. }
  206. }
  207. return $returnDatas;
  208. }
  209. //单双判断 $type 1单 2双
  210. public function zq_doublesing($score, $condition, $matchResultWord)
  211. {
  212. $returnDatas['matchResult'] = $matchResultWord;
  213. $condition = trim($condition);
  214. $gret = (($score % 2) == 0) ? '双' : '单';
  215. if ($gret == $condition) {
  216. $returnDatas['result'] = 1;
  217. } else {
  218. $returnDatas['result'] = -1;
  219. }
  220. return $returnDatas;
  221. }
  222. //type ==1 返回第$sn节 ==2返回上下节,sn=1上半场,sn=2下半场 type==4全部按节数的数组
  223. public function lq_getResultBySn($recoreModesArray, $type = 4, $sn = 1)
  224. {
  225. if (!isset($recoreModesArray['0'])) {
  226. throw new \Exception("篮球结果不能为空");
  227. return;
  228. }
  229. $RecoedModel = $recoreModesArray['0'];
  230. $imatch_id = $RecoedModel->match_id;
  231. $home_all_datas = json_decode($RecoedModel->home_score, true);
  232. $guest_all_datas = json_decode($RecoedModel->guest_score, true);
  233. if (empty($home_all_datas) || count($home_all_datas) != 4 || empty($guest_all_datas) || count($guest_all_datas) != 4) {
  234. throw new \Exception("篮球结果数据不正确,( matchid= $imatch_id 主客结果)应该为4场的数组");
  235. return;
  236. }
  237. $return = [];
  238. for ($i = 1; $i <= 4; $i++) {
  239. $return[$i] = clone $RecoedModel;
  240. $return[$i]->home_score = intval($home_all_datas[$i]);
  241. $return[$i]->guest_score = intval($guest_all_datas[$i]);
  242. }
  243. if ($type == 4) {
  244. return $return;
  245. }
  246. if ($type == 1) {
  247. return $return[$sn];
  248. }
  249. if ($type == 2) {
  250. if ($sn == 1) {
  251. $ret = [
  252. $return[1],
  253. $return[2],
  254. ];
  255. } else {
  256. $ret = [
  257. $return[3],
  258. $return[4],
  259. ];
  260. }
  261. }
  262. return $ret;
  263. }
  264. //篮球比分数据汇总,以方便后面使用
  265. public function lq_scoreDatas($recoreModesArray)
  266. {
  267. $arr = $this->lq_getResultBySn($recoreModesArray);
  268. $return = [
  269. 'list' => $arr,
  270. 'all' => ['home' => 0, 'guest' => 0, 'home_rate' => 0, 'guest_rate' => 0],
  271. 'half' => ['home' => 0, 'guest' => 0, 'home_rate' => 0, 'guest_rate' => 0],
  272. 'half2' => ['home' => 0, 'guest' => 0, 'home_rate' => 0, 'guest_rate' => 0],
  273. ];
  274. foreach ($arr as $key => $val) {
  275. $tmp_home = intval($val->home_score);
  276. $tmp_guest = intval($val->guest_score);
  277. $tmp_home_rate = intval($val->home_rate);
  278. $tmp_guest_rate = intval($val->guest_rate);
  279. $return['all']['home'] += $tmp_home;
  280. $return['all']['guest'] += $tmp_guest;
  281. $return['all']['home_rate'] += $tmp_home_rate;
  282. $return['all']['guest_rate'] += $tmp_guest_rate;
  283. if ($key == 1 || $key == 2) {
  284. $return['half']['home'] += $tmp_home;
  285. $return['half']['guest'] += $tmp_guest;
  286. $return['half']['home_rate'] += $tmp_home_rate;
  287. $return['half']['guest_rate'] += $tmp_guest_rate;
  288. } else {
  289. $return['half2']['home'] += $tmp_home;
  290. $return['half2']['guest'] += $tmp_guest;
  291. $return['half2']['home_rate'] += $tmp_home_rate;
  292. $return['half2']['guest_rate'] += $tmp_guest_rate;
  293. }
  294. }
  295. return $return;
  296. }
  297. //双方球队进球 是--进球 否--没进球 sw_TS
  298. public function isgoal($resultModels, $model, $type, $allword)
  299. {
  300. $goalnum = intval($resultModels->home_score) + intval($resultModels->guest_score);
  301. $goalhlefnum = intval($resultModels->u_home_score) + intval($resultModels->u_guest_score);
  302. if ($model->odds_code == $type) {
  303. if ($goalnum != 0)
  304. return ['result' => 1, 'matchResult' => $allword];
  305. } else if ($model->odds_code == $type) {
  306. if ($goalnum == 0)
  307. return ['result' => 1, 'matchResult' => $allword];
  308. } else if ($model->odds_code == $type) {
  309. if ($goalhlefnum != 0)
  310. return ['result' => 1, 'matchResult' => $allword];
  311. } else if ($model->odds_code == $type) {
  312. if ($goalhlefnum == 0)
  313. return ['result' => 1, 'matchResult' => $allword];
  314. } else {
  315. return ['result' => 100, 'matchResult' => "参数不存在"];
  316. }
  317. return ['result' => -1, 'matchResult' => $allword];
  318. }
  319. //独赢&进球大小 sw_MOU
  320. public function isonlysize($resultModels, $model, $type, $allword)
  321. {
  322. $homeda = intval($resultModels->home_score) - intval($resultModels->guest_score);//主队大
  323. $homexiao = intval($resultModels->guest_score) - intval($resultModels->home_score);//主队小
  324. $guestda = intval($resultModels->guest_score) - intval($resultModels->home_score);//客队大
  325. $guestxiao = intval($resultModels->home_score) - intval($resultModels->guest_score);//客队小
  326. $allt = intval($resultModels->home_score) + intval($resultModels->guest_score);//共进球
  327. $home = intval($resultModels->home_score);
  328. $guest = intval($resultModels->guest_score);
  329. if ($model->odds_code == $type) {
  330. if ($homeda > 1.5)
  331. return ['result' => 1, 'matchResult' => $allword];
  332. } else if ($model->odds_code == $type) {
  333. if ($homexiao > 1.5)
  334. return ['result' => 1, 'matchResult' => $allword];
  335. } else if ($model->odds_code == $type) {
  336. if ($guestda > 1.5)
  337. return ['result' => 1, 'matchResult' => $allword];
  338. } else if ($model->odds_code == $type) {
  339. if ($allt > 1.5 && $home == $guest)
  340. return ['result' => 1, 'matchResult' => $allword];
  341. } else if ($model->odds_code == $type) {
  342. if ($home == $guest && $allt < 1.5)
  343. return ['result' => 1, 'matchResult' => $allword];
  344. } else if ($model->odds_code == $type) {
  345. if ($homeda > 2.5)
  346. return ['result' => 1, 'matchResult' => $allword];
  347. } else if ($model->odds_code == $type) {
  348. if ($homexiao > 2.5)
  349. return ['result' => 1, 'matchResult' => $allword];
  350. } else if ($model->odds_code == $type) {
  351. if ($guestda > 2.5)
  352. return ['result' => 1, 'matchResult' => $allword];
  353. } else if ($model->odds_code == $type) {
  354. if ($homexiao > 2.5)
  355. return ['result' => 1, 'matchResult' => $allword];
  356. } else if ($model->odds_code == $type) {
  357. if ($allt > 2.5 && $home == $guest)
  358. return ['result' => 1, 'matchResult' => $allword];
  359. } else if ($model->odds_code == $type) {
  360. if ($allt < 2.5 && $home == $guest)
  361. return ['result' => 1, 'matchResult' => $allword];
  362. } else if ($model->odds_code == $type) {
  363. if ($allt < 2.5 && $home == $guest)
  364. return ['result' => 1, 'matchResult' => $allword];
  365. } else if ($model->odds_code == $type) {
  366. if ($homeda > 3.5)
  367. return ['result' => 1, 'matchResult' => $allword];
  368. } else if ($model->odds_code == $type) {
  369. if ($homexiao > 3.5)
  370. return ['result' => 1, 'matchResult' => $allword];
  371. } else if ($model->odds_code == $type) {
  372. if ($guestda > 3.5)
  373. return ['result' => 1, 'matchResult' => $allword];
  374. } else if ($model->odds_code == $type) {
  375. if ($guestxiao > 3.5)
  376. return ['result' => 1, 'matchResult' => $allword];
  377. } else if ($model->odds_code == $type) {
  378. if ($allt > 3.5 && $home == $guest)
  379. return ['result' => 1, 'matchResult' => $allword];
  380. } else if ($model->odds_code == $type) {
  381. if ($allt < 3.5 && $home == $guest)
  382. return ['result' => 1, 'matchResult' => $allword];
  383. } else if ($model->odds_code == $type) {
  384. if ($homeda > 4.5)
  385. return ['result' => 1, 'matchResult' => $allword];
  386. } else if ($model->odds_code == $type) {
  387. if ($homexiao > 4.5)
  388. return ['result' => 1, 'matchResult' => $allword];
  389. } else if ($model->odds_code == $type) {
  390. if ($guestda > 4.5)
  391. return ['result' => 1, 'matchResult' => $allword];
  392. } else if ($model->odds_code == $type) {
  393. if ($guestxiao > 4.5)
  394. return ['result' => 1, 'matchResult' => $allword];
  395. } else if ($model->odds_code == $type) {
  396. if ($allt > 4.5 && $home == $guest)
  397. return ['result' => 1, 'matchResult' => $allword];
  398. } else if ($model->odds_code == $type) {
  399. if ($allt < 4.5 && $home == $guest)
  400. return ['result' => 1, 'matchResult' => $allword];
  401. } else if ($model->odds_code == $type) {
  402. if ($guestxiao > 1.5)
  403. return ['result' => 1, 'matchResult' => $allword];
  404. } else {
  405. return ['result' => 100, 'matchResult' => "参数不存在"];
  406. }
  407. return ['result' => -1, 'matchResult' => $allword];
  408. }
  409. //判断 独赢&双方球队进球 是--进球 否--没进球 sw_MTS
  410. public function ishvgoal($resultModels, $model, $type, $allword)
  411. {
  412. $home = intval($resultModels->home_score);
  413. $guest = intval($resultModels->guest_score);
  414. if ($model->odds_code == $type) {
  415. if ($home != 0)
  416. return ['result' => 1, 'matchResult' => $allword];
  417. } else if ($model->odds_code == $type) {
  418. if ($home == 0)
  419. return ['result' => 1, 'matchResult' => $allword];
  420. } else if ($model->odds_code == $type) {
  421. if ($guest != 0)
  422. return ['result' => 1, 'matchResult' => $allword];
  423. } else if ($model->odds_code == $type) {
  424. if ($guest == 0)
  425. return ['result' => 1, 'matchResult' => $allword];
  426. } else if ($model->odds_code == $type) {
  427. if ($home == $guest)
  428. return ['result' => 1, 'matchResult' => $allword];
  429. } else if ($model->odds_code == $type) {
  430. if ($home != $guest)
  431. return ['result' => 1, 'matchResult' => $allword];
  432. } else {
  433. return ['result' => 100, 'matchResult' => "参数不存在"];
  434. }
  435. return ['result' => -1, 'matchResult' => $allword];
  436. }
  437. //判断 进球大/小&双方球队进球 sw_OUT
  438. public function goalsize($resultModels, $model, $type, $allword)
  439. {
  440. $homeda = intval($resultModels->home_score) - intval($resultModels->guest_score);//主队大
  441. $homexiao = intval($resultModels->guest_score) - intval($resultModels->home_score);//主队小
  442. $guestda = intval($resultModels->guest_score) - intval($resultModels->home_score);//客队大
  443. $guestxiao = intval($resultModels->home_score) - intval($resultModels->guest_score);//客队小
  444. if ($model->odds_code == $type) {
  445. if ($homeda > 1.5)
  446. return ['result' => 1, 'matchResult' => $allword];
  447. } else if ($model->odds_code == $type) {
  448. if ($home == 0)
  449. return ['result' => 1, 'matchResult' => $allword];
  450. } else if ($model->odds_code == $type) {
  451. if ($guest != 0)
  452. return ['result' => 1, 'matchResult' => $allword];
  453. } else if ($model->odds_code == $type) {
  454. if ($guest == 0)
  455. return ['result' => 1, 'matchResult' => $allword];
  456. } else if ($model->odds_code == $type) {
  457. if ($home == $guest)
  458. return ['result' => 1, 'matchResult' => $allword];
  459. } else if ($model->odds_code == $type) {
  460. if ($home != $guest)
  461. return ['result' => 1, 'matchResult' => $allword];
  462. } else {
  463. return ['result' => 100, 'matchResult' => "参数不存在"];
  464. }
  465. return ['result' => -1, 'matchResult' => $allword];
  466. }
  467. //独赢 & 最先进球 ??? sw_MPG
  468. public function firstball($resultModels, $model, $type, $allword)
  469. {
  470. $firstscore = $resultModels->first_score;//最先进球
  471. $homename = $resultModels->home_team;//主队名
  472. $guestname = $resultModels->guest_team;//客队名
  473. $home = intval($resultModels->home_score);//主队得分
  474. $guest = intval($resultModels->guest_score);//客队得分
  475. if ($model->odds_code == $type) {
  476. if ($firstscore == $homename && $home > $guest)
  477. return ['result' => 1, 'matchResult' => $allword];
  478. } else if ($model->odds_code == $type) {
  479. if ($firstscore == $guestname && $home > $guest)
  480. return ['result' => 1, 'matchResult' => $allword];
  481. } else if ($model->odds_code == $type) {
  482. if ($firstscore == $homename && $home < $guest)
  483. return ['result' => 1, 'matchResult' => $allword];
  484. } else if ($model->odds_code == $type) {
  485. if ($firstscore == $guestname && $home < $guest)
  486. return ['result' => 1, 'matchResult' => $allword];
  487. } else if ($model->odds_code == $type) {
  488. if ($firstscore == $homename && $home == $guest)
  489. return ['result' => 1, 'matchResult' => $allword];
  490. } else if ($model->odds_code == $type) {
  491. if ($firstscore == $guestname && $home == $guest)
  492. return ['result' => 1, 'matchResult' => $allword];
  493. } else {
  494. return ['result' => 100, 'matchResult' => "参数不存在"];
  495. }
  496. return ['result' => -1, 'matchResult' => $allword];
  497. }
  498. //首个进球方式 sw_FG
  499. public function onewaygoal($resultModels, $model, $type, $allword)
  500. {
  501. $firststye = json_decode($resultModels->first_score, true)['scoretype'];//最先进球
  502. if ($model->odds_code == $type) {
  503. if ($firststye == "射门")
  504. return ['result' => 1, 'matchResult' => $allword];
  505. } else if ($model->odds_code == $type) {
  506. if ($firststye == "头球")
  507. return ['result' => 1, 'matchResult' => $allword];
  508. } else if ($model->odds_code == $type) {
  509. if ($firststye == "无进球")
  510. return ['result' => 1, 'matchResult' => $allword];
  511. } else if ($model->odds_code == $type) {
  512. if ($firststye == "点球")
  513. return ['result' => 1, 'matchResult' => $allword];
  514. } else if ($model->odds_code == $type) {
  515. if ($firststye == "任意球")
  516. return ['result' => 1, 'matchResult' => $allword];
  517. } else if ($model->odds_code == $type) {
  518. if ($firststye == "乌龙球")
  519. return ['result' => 1, 'matchResult' => $allword];
  520. } else {
  521. return ['result' => 100, 'matchResult' => "参数不存在"];
  522. }
  523. return ['result' => -1, 'matchResult' => $allword];
  524. }
  525. //双重机会&进球大/小 sw_DU
  526. public function twosize($resultModels, $model, $type, $allword)
  527. {
  528. $homescore = $resultModels->home_score;//主队名
  529. $guestscore = $resultModels->guest_score;//客队名
  530. $allscore = intval($resultModels->guest_score) + intval($resultModels->home_score);//客队得分
  531. if ($model->odds_code == $type) {
  532. if ($allscore > 1.5 && $homescore > $guestscore || $homescore == $guestscore)
  533. return ['result' => 1, 'matchResult' => $allword];
  534. } else if ($model->odds_code == $type) {
  535. if ($allscore < 1.5 && $homescore > $guestscore || $homescore == $guestscore)
  536. return ['result' => 1, 'matchResult' => $allword];
  537. } else if ($model->odds_code == $type) {
  538. if ($allscore > 1.5 && $homescore < $guestscore || $homescore == $guestscore)
  539. return ['result' => 1, 'matchResult' => $allword];
  540. } else if ($model->odds_code == $type) {
  541. if ($allscore > 1.5 && $homescore < $guestscore || $homescore == $guestscore)
  542. return ['result' => 1, 'matchResult' => $allword];
  543. } else if ($model->odds_code == $type) {
  544. if ($allscore > 1.5 && $homescore > $guestscore || $homescore < $guestscore)
  545. return ['result' => 1, 'matchResult' => $allword];
  546. } else if ($model->odds_code == $type) {
  547. if ($allscore < 1.5 && $homescore > $guestscore || $homescore < $guestscore)
  548. return ['result' => 1, 'matchResult' => $allword];
  549. } else if ($model->odds_code == $type) {
  550. if ($allscore > 2.5 && $homescore > $guestscore || $homescore == $guestscore)
  551. return ['result' => 1, 'matchResult' => $allword];
  552. } else if ($model->odds_code == $type) {
  553. if ($allscore < 2.5 && $homescore > $guestscore || $homescore == $guestscore)
  554. return ['result' => 1, 'matchResult' => $allword];
  555. } else if ($model->odds_code == $type) {
  556. if ($allscore > 2.5 && $homescore < $guestscore || $homescore == $guestscore)
  557. return ['result' => 1, 'matchResult' => $allword];
  558. } else if ($model->odds_code == $type) {
  559. if ($allscore < 2.5 && $homescore < $guestscore || $homescore == $guestscore)
  560. return ['result' => 1, 'matchResult' => $allword];
  561. } else if ($model->odds_code == $type) {
  562. if ($allscore > 2.5 && $homescore > $guestscore || $homescore < $guestscore)
  563. return ['result' => 1, 'matchResult' => $allword];
  564. } else if ($model->odds_code == $type) {
  565. if ($allscore < 2.5 && $homescore > $guestscore || $homescore < $guestscore)
  566. return ['result' => 1, 'matchResult' => $allword];
  567. } else if ($model->odds_code == $type) {
  568. if ($allscore > 3.5 && $homescore > $guestscore || $homescore == $guestscore)
  569. return ['result' => 1, 'matchResult' => $allword];
  570. } else if ($model->odds_code == $type) {
  571. if ($allscore < 3.5 && $homescore > $guestscore || $homescore == $guestscore)
  572. return ['result' => 1, 'matchResult' => $allword];
  573. } else if ($model->odds_code == $type) {
  574. if ($allscore > 3.5 && $homescore < $guestscore || $homescore == $guestscore)
  575. return ['result' => 1, 'matchResult' => $allword];
  576. } else if ($model->odds_code == $type) {
  577. if ($allscore < 3.5 && $homescore < $guestscore || $homescore == $guestscore)
  578. return ['result' => 1, 'matchResult' => $allword];
  579. } else if ($model->odds_code == $type) {
  580. if ($allscore > 3.5 && $homescore > $guestscore || $homescore < $guestscore)
  581. return ['result' => 1, 'matchResult' => $allword];
  582. } else if ($model->odds_code == $type) {
  583. if ($allscore < 3.5 && $homescore > $guestscore || $homescore == $guestscore)
  584. return ['result' => 1, 'matchResult' => $allword];
  585. } else if ($model->odds_code == $type) {
  586. if ($allscore > 4.5 && $homescore > $guestscore || $homescore == $guestscore)
  587. return ['result' => 1, 'matchResult' => $allword];
  588. } else if ($model->odds_code == $type) {
  589. if ($allscore < 4.5 && $homescore > $guestscore || $homescore == $guestscore)
  590. return ['result' => 1, 'matchResult' => $allword];
  591. } else if ($model->odds_code == $type) {
  592. if ($allscore > 4.5 && $homescore < $guestscore || $homescore == $guestscore)
  593. return ['result' => 1, 'matchResult' => $allword];
  594. } else if ($model->odds_code == $type) {
  595. if ($allscore < 4.5 && $homescore < $guestscore || $homescore == $guestscore)
  596. return ['result' => 1, 'matchResult' => $allword];
  597. } else if ($model->odds_code == $type) {
  598. if ($allscore > 4.5 && $homescore > $guestscore || $homescore < $guestscore)
  599. return ['result' => 1, 'matchResult' => $allword];
  600. } else if ($model->odds_code == $type) {
  601. if ($allscore < 4.5 && $homescore > $guestscore || $homescore < $guestscore)
  602. return ['result' => 1, 'matchResult' => $allword];
  603. } else {
  604. return ['result' => 100, 'matchResult' => "参数不存在"];
  605. }
  606. return ['result' => -1, 'matchResult' => $allword];
  607. }
  608. //双重机会&双方球队进球 sw_DS
  609. public function allgoals($resultModels, $model, $type, $allword)
  610. {
  611. $home = intval($resultModels->home_score);//主队得分
  612. $guest = intval($resultModels->guest_score);//客队得分
  613. if ($model->odds_code == $type) {
  614. if ($home > $guest || $home == $guest) {
  615. if ($home > 0 && $guest > 0) {
  616. return ['result' => 1, 'matchResult' => $allword];
  617. } else {
  618. return ['result' => -1, 'matchResult' => $allword];
  619. }
  620. } else {
  621. return ['result' => -1, 'matchResult' => $allword];
  622. }
  623. } else if ($model->odds_code == $type) {
  624. if ($home > $guest || $home == $guest) {
  625. if ($home > 0 || $guest > 0) {
  626. return ['result' => 1, 'matchResult' => $allword];
  627. } else {
  628. return ['result' => -1, 'matchResult' => $allword];
  629. }
  630. } else {
  631. return ['result' => -1, 'matchResult' => $allword];
  632. }
  633. } else if ($model->odds_code == $type) {
  634. if ($home < $guest || $home == $guest) {
  635. if ($home > 0 && $guest > 0) {
  636. return ['result' => 1, 'matchResult' => $allword];
  637. } else {
  638. return ['result' => -1, 'matchResult' => $allword];
  639. }
  640. } else {
  641. return ['result' => -1, 'matchResult' => $allword];
  642. }
  643. } else if ($model->odds_code == $type) {
  644. if ($home < $guest || $home == $guest) {
  645. if ($home > 0 || $guest > 0) {
  646. return ['result' => 1, 'matchResult' => $allword];
  647. } else {
  648. return ['result' => -1, 'matchResult' => $allword];
  649. }
  650. } else {
  651. return ['result' => -1, 'matchResult' => $allword];
  652. }
  653. } else if ($model->odds_code == $type) {
  654. if ($home < $guest || $home > $guest) {
  655. if ($home > 0 && $guest > 0) {
  656. return ['result' => 1, 'matchResult' => $allword];
  657. } else {
  658. return ['result' => -1, 'matchResult' => $allword];
  659. }
  660. } else {
  661. return ['result' => -1, 'matchResult' => $allword];
  662. }
  663. } else if ($model->odds_code == $type) {
  664. if ($home < $guest || $home > $guest) {
  665. if ($home > 0 || $guest > 0) {
  666. return ['result' => 1, 'matchResult' => $allword];
  667. } else {
  668. return ['result' => -1, 'matchResult' => $allword];
  669. }
  670. } else {
  671. return ['result' => -1, 'matchResult' => $allword];
  672. }
  673. } else {
  674. return ['result' => 100, 'matchResult' => "参数不存在"];
  675. }
  676. }
  677. //双重机会&最先进球 sw_DG
  678. public function oneball($resultModels, $model, $type, $allword)
  679. {
  680. $firstscore = $resultModels->first_score;//最先进球
  681. $home = intval($resultModels->home_score);//主队得分
  682. $guest = intval($resultModels->guest_score);//客队得分
  683. $homename = $resultModels->home_team;//主队
  684. $guestname = $resultModels->guest_team;//客队
  685. if ($model->odds_code == $type) {
  686. if ($firstscore == $homename && $home == $guest || $home > $guest)
  687. return ['result' => 1, 'matchResult' => $allword];
  688. } else if ($model->odds_code == $type) {
  689. if ($firstscore == $guestname && $home == $guest || $home > $guest)
  690. return ['result' => 1, 'matchResult' => $allword];
  691. } else if ($model->odds_code == $type) {
  692. if ($firstscore == $guestname && $home == $guest || $home < $guest)
  693. return ['result' => 1, 'matchResult' => $allword];
  694. } else if ($model->odds_code == $type) {
  695. if ($firstscore == $homename && $home < $guest || $home > $guest)
  696. return ['result' => 1, 'matchResult' => $allword];
  697. } else if ($model->odds_code == $type) {
  698. if ($firstscore == $guestname && $home < $guest || $home > $guest)
  699. return ['result' => 1, 'matchResult' => $allword];
  700. } else if ($model->odds_code == $type) {
  701. if ($firstscore == $homename && $home < $guest || $home == $guest)
  702. return ['result' => 1, 'matchResult' => $allword];
  703. } else {
  704. return ['result' => 100, 'matchResult' => "参数不存在"];
  705. }
  706. return ['result' => -1, 'matchResult' => $allword];
  707. }
  708. //进球大/小&进球单/双 sw_OUE
  709. public function sizesd($resultModels, $model, $type, $allword)
  710. {
  711. $homeda = intval($resultModels->home_score) - intval($resultModels->guest_score);
  712. $homexiao = intval($resultModels->guest_score) - intval($resultModels->home_score);
  713. $allnum = intval($resultModels->home_score) + intval($resultModels->guest_score);
  714. if ($allnum % 2 == 0) {
  715. $text = '双';
  716. } else {
  717. $text = '单';
  718. }
  719. if ($model->odds_code == $type) {
  720. if ($homeda > 1.5 && $text == "单")
  721. return ['result' => 1, 'matchResult' => $allword];
  722. } else if ($model->odds_code == $type) {
  723. if ($homexiao > 1.5 && $text == "单")
  724. return ['result' => 1, 'matchResult' => $allword];
  725. } else if ($model->odds_code == $type) {
  726. if ($homeda > 1.5 && $text == "双")
  727. return ['result' => 1, 'matchResult' => $allword];
  728. } else if ($model->odds_code == $type) {
  729. if ($homexiao > 1.5 && $text == "双")
  730. return ['result' => 1, 'matchResult' => $allword];
  731. } else if ($model->odds_code == $type) {
  732. if ($homeda > 2.5 && $text == "单")
  733. return ['result' => 1, 'matchResult' => $allword];
  734. } else if ($model->odds_code == $type) {
  735. if ($homexiao > 2.5 && $text == "单")
  736. return ['result' => 1, 'matchResult' => $allword];
  737. } else if ($model->odds_code == $type) {
  738. if ($homeda > 2.5 && $text == "双")
  739. return ['result' => 1, 'matchResult' => $allword];
  740. } else if ($model->odds_code == $type) {
  741. if ($homexiao > 2.5 && $text == "双")
  742. return ['result' => 1, 'matchResult' => $allword];
  743. } else if ($model->odds_code == $type) {
  744. if ($homeda > 3.5 && $text == "单")
  745. return ['result' => 1, 'matchResult' => $allword];
  746. } else if ($model->odds_code == $type) {
  747. if ($homexiao > 3.5 && $text == "单")
  748. return ['result' => 1, 'matchResult' => $allword];
  749. } else if ($model->odds_code == $type) {
  750. if ($homeda > 3.5 && $text == "双")
  751. return ['result' => 1, 'matchResult' => $allword];
  752. } else if ($model->odds_code == $type) {
  753. if ($homexiao > 3.5 && $text == "双")
  754. return ['result' => 1, 'matchResult' => $allword];
  755. } else if ($model->odds_code == $type) {
  756. if ($homeda > 4.5 && $text == "单")
  757. return ['result' => 1, 'matchResult' => $allword];
  758. } else if ($model->odds_code == $type) {
  759. if ($homexiao > 4.5 && $text == "单")
  760. return ['result' => 1, 'matchResult' => $allword];
  761. } else if ($model->odds_code == $type) {
  762. if ($homeda > 4.5 && $text == "双")
  763. return ['result' => 1, 'matchResult' => $allword];
  764. } else if ($model->odds_code == $type) {
  765. if ($homexiao > 4.5 && $text == "双")
  766. return ['result' => 1, 'matchResult' => $allword];
  767. } else {
  768. return ['result' => 100, 'matchResult' => "参数不存在"];
  769. }
  770. return ['result' => -1, 'matchResult' => $allword];
  771. }
  772. //进球大/小&最先进球 sw_OUP
  773. public function sizeone($resultModels, $model, $type, $allword)
  774. {
  775. $firstscore = $resultModels->first_score;
  776. $homename = $resultModels->home_team;
  777. $guestname = $resultModels->guest_team;
  778. $homeda = intval($resultModels->home_score) - intval($resultModels->guest_score);
  779. $homexiao = intval($resultModels->guest_score) - intval($resultModels->home_score);
  780. if ($model->odds_code == $type) {
  781. if ($homeda > 1.5 && $firstscore == $homename)
  782. return ['result' => 1, 'matchResult' => $allword];
  783. } else if ($model->odds_code == $type) {
  784. if ($homeda > 1.5 && $firstscore == $guestname)
  785. return ['result' => 1, 'matchResult' => $allword];
  786. } else if ($model->odds_code == $type) {
  787. if ($homeda > 2.5 && $firstscore == $homename)
  788. return ['result' => 1, 'matchResult' => $allword];
  789. } else if ($model->odds_code == $type) {
  790. if ($homeda > 2.5 && $firstscore == $guestname)
  791. return ['result' => 1, 'matchResult' => $allword];
  792. } else if ($model->odds_code == $type) {
  793. if ($homeda > 3.5 && $firstscore == $homename)
  794. return ['result' => 1, 'matchResult' => $allword];
  795. } else if ($model->odds_code == $type) {
  796. if ($homeda > 3.5 && $firstscore == $guestname)
  797. return ['result' => 1, 'matchResult' => $allword];
  798. } else if ($model->odds_code == $type) {
  799. if ($homexiao > 3.5 && $firstscore == $homename)
  800. return ['result' => 1, 'matchResult' => $allword];
  801. } else if ($model->odds_code == $type) {
  802. if ($homexiao > 2.5 && $firstscore == $guestname)
  803. return ['result' => 1, 'matchResult' => $allword];
  804. } else if ($model->odds_code == $type) {
  805. if ($homexiao > 2.5 && $firstscore == $homename)
  806. return ['result' => 1, 'matchResult' => $allword];
  807. } else if ($model->odds_code == $type) {
  808. if ($homexiao > 1.5 && $firstscore == $guestname)
  809. return ['result' => 1, 'matchResult' => $allword];
  810. } else if ($model->odds_code == $type) {
  811. if ($homexiao > 1.5 && $firstscore == $homename)
  812. return ['result' => 1, 'matchResult' => $allword];
  813. } else if ($model->odds_code == $type) {
  814. if ($homeda > 4.5 && $firstscore == $homename)
  815. return ['result' => 1, 'matchResult' => $allword];
  816. } else if ($model->odds_code == $type) {
  817. if ($homeda > 4.5 && $firstscore == $guestname)
  818. return ['result' => 1, 'matchResult' => $allword];
  819. } else if ($model->odds_code == $type) {
  820. if ($homexiao > 4.5 && $firstscore == $homename)
  821. return ['result' => 1, 'matchResult' => $allword];
  822. } else if ($model->odds_code == $type) {
  823. if ($homexiao > 4.5 && $firstscore == $guestname)
  824. return ['result' => 1, 'matchResult' => $allword];
  825. } else if ($model->odds_code == $type) {
  826. if ($homexiao > 3.5 && $firstscore == $guestname)
  827. return ['result' => 1, 'matchResult' => $allword];
  828. } else {
  829. return ['result' => 100, 'matchResult' => "参数不存在"];
  830. }
  831. return ['result' => -1, 'matchResult' => $allword];
  832. }
  833. //落后反超获胜 sw_BH
  834. public function backwardwins()
  835. {
  836. }
  837. private function doexchage(&$num1, &$num2)
  838. {
  839. $tmp = $num2;
  840. $num2 = $num1;
  841. $num1 = $tmp;
  842. }
  843. }