RulePlus.php 40 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942
  1. <?php
  2. namespace App\Lib\Settlement\Adapter;
  3. trait RulePlus
  4. {
  5. public $return_he = ['result' => '2', 'matchResult' => 'error无规则和'];
  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. $truleResult = $RecoedModel->is_correct ? json_decode($RecoedModel->manual_result,true) :json_decode($RecoedModel->inning,true);
  232. if (empty($truleResult)) {
  233. throw new \Exception("篮球结果数据不正确,( matchid= $imatch_id 主客结果)应该为4场的数组");
  234. return;
  235. }
  236. $return = [];
  237. for ($i = 1; $i <= 4; $i++) {
  238. $return[$i] = clone $RecoedModel;
  239. $return[$i]->home_score = intval($truleResult[$i]['home']);
  240. $return[$i]->guest_score = intval($truleResult[$i]['guest']);
  241. }
  242. if ($type == 4) {
  243. return $return;
  244. }
  245. if ($type == 1) {
  246. return $return[$sn];
  247. }
  248. if ($type == 2) {
  249. if ($sn == 1) {
  250. $ret = [
  251. $return[1],
  252. $return[2],
  253. ];
  254. } else {
  255. $ret = [
  256. $return[3],
  257. $return[4],
  258. ];
  259. }
  260. }
  261. return $ret;
  262. }
  263. public function lq_getResultBySn_old($recoreModesArray, $type = 4, $sn = 1)
  264. {
  265. if (!isset($recoreModesArray['0'])) {
  266. throw new \Exception("篮球结果不能为空");
  267. return;
  268. }
  269. $RecoedModel = $recoreModesArray['0'];
  270. $imatch_id = $RecoedModel->match_id;
  271. $home_all_datas = json_decode($RecoedModel->home_score, true);
  272. $guest_all_datas = json_decode($RecoedModel->guest_score, true);
  273. if (empty($home_all_datas) || count($home_all_datas) != 4 || empty($guest_all_datas) || count($guest_all_datas) != 4) {
  274. throw new \Exception("篮球结果数据不正确,( matchid= $imatch_id 主客结果)应该为4场的数组");
  275. return;
  276. }
  277. $return = [];
  278. for ($i = 1; $i <= 4; $i++) {
  279. $return[$i] = clone $RecoedModel;
  280. $return[$i]->home_score = intval($home_all_datas[$i]);
  281. $return[$i]->guest_score = intval($guest_all_datas[$i]);
  282. }
  283. if ($type == 4) {
  284. return $return;
  285. }
  286. if ($type == 1) {
  287. return $return[$sn];
  288. }
  289. if ($type == 2) {
  290. if ($sn == 1) {
  291. $ret = [
  292. $return[1],
  293. $return[2],
  294. ];
  295. } else {
  296. $ret = [
  297. $return[3],
  298. $return[4],
  299. ];
  300. }
  301. }
  302. return $ret;
  303. }
  304. //篮球比分数据汇总,以方便后面使用
  305. public function lq_scoreDatas($recoreModesArray)
  306. {
  307. $arr = $this->lq_getResultBySn($recoreModesArray);
  308. $return = [
  309. 'list' => $arr,
  310. 'all' => ['home' => 0, 'guest' => 0, 'home_rate' => 0, 'guest_rate' => 0],
  311. 'half' => ['home' => 0, 'guest' => 0, 'home_rate' => 0, 'guest_rate' => 0],
  312. 'half2' => ['home' => 0, 'guest' => 0, 'home_rate' => 0, 'guest_rate' => 0],
  313. ];
  314. $RecoedModel = $recoreModesArray['0'];
  315. $truleResult = $RecoedModel->is_correct ? json_decode($RecoedModel->manual_result,true) :json_decode($RecoedModel->inning,true);
  316. $return['all']['home'] = intval($truleResult['all']['home']);
  317. $return['all']['guest'] = intval($truleResult['all']['guest']);
  318. $return['half']['home'] = intval($truleResult['5']['home']);
  319. $return['half']['guest'] = intval($truleResult['5']['guest']);
  320. $return['half2']['home'] = intval($truleResult['6']['home']);
  321. $return['half2']['guest'] = intval($truleResult['6']['guest']);
  322. return $return;
  323. }
  324. //双方球队进球 是--进球 否--没进球 sw_TS
  325. public function isgoal($resultModels, $model, $type, $allword)
  326. {
  327. $goalnum = intval($resultModels->home_score) + intval($resultModels->guest_score);
  328. $goalhlefnum = intval($resultModels->u_home_score) + intval($resultModels->u_guest_score);
  329. if ($model->odds_code == $type) {
  330. if ($goalnum != 0)
  331. return ['result' => 1, 'matchResult' => $allword];
  332. } else if ($model->odds_code == $type) {
  333. if ($goalnum == 0)
  334. return ['result' => 1, 'matchResult' => $allword];
  335. } else if ($model->odds_code == $type) {
  336. if ($goalhlefnum != 0)
  337. return ['result' => 1, 'matchResult' => $allword];
  338. } else if ($model->odds_code == $type) {
  339. if ($goalhlefnum == 0)
  340. return ['result' => 1, 'matchResult' => $allword];
  341. } else {
  342. return ['result' => 100, 'matchResult' => "参数不存在"];
  343. }
  344. return ['result' => -1, 'matchResult' => $allword];
  345. }
  346. //独赢&进球大小 sw_MOU
  347. public function isonlysize($resultModels, $model, $type, $allword)
  348. {
  349. $homeda = intval($resultModels->home_score) - intval($resultModels->guest_score);//主队大
  350. $homexiao = intval($resultModels->guest_score) - intval($resultModels->home_score);//主队小
  351. $guestda = intval($resultModels->guest_score) - intval($resultModels->home_score);//客队大
  352. $guestxiao = intval($resultModels->home_score) - intval($resultModels->guest_score);//客队小
  353. $allt = intval($resultModels->home_score) + intval($resultModels->guest_score);//共进球
  354. $home = intval($resultModels->home_score);
  355. $guest = intval($resultModels->guest_score);
  356. if ($model->odds_code == $type) {
  357. if ($homeda > 1.5)
  358. return ['result' => 1, 'matchResult' => $allword];
  359. } else if ($model->odds_code == $type) {
  360. if ($homexiao > 1.5)
  361. return ['result' => 1, 'matchResult' => $allword];
  362. } else if ($model->odds_code == $type) {
  363. if ($guestda > 1.5)
  364. return ['result' => 1, 'matchResult' => $allword];
  365. } else if ($model->odds_code == $type) {
  366. if ($allt > 1.5 && $home == $guest)
  367. return ['result' => 1, 'matchResult' => $allword];
  368. } else if ($model->odds_code == $type) {
  369. if ($home == $guest && $allt < 1.5)
  370. return ['result' => 1, 'matchResult' => $allword];
  371. } else if ($model->odds_code == $type) {
  372. if ($homeda > 2.5)
  373. return ['result' => 1, 'matchResult' => $allword];
  374. } else if ($model->odds_code == $type) {
  375. if ($homexiao > 2.5)
  376. return ['result' => 1, 'matchResult' => $allword];
  377. } else if ($model->odds_code == $type) {
  378. if ($guestda > 2.5)
  379. return ['result' => 1, 'matchResult' => $allword];
  380. } else if ($model->odds_code == $type) {
  381. if ($homexiao > 2.5)
  382. return ['result' => 1, 'matchResult' => $allword];
  383. } else if ($model->odds_code == $type) {
  384. if ($allt > 2.5 && $home == $guest)
  385. return ['result' => 1, 'matchResult' => $allword];
  386. } else if ($model->odds_code == $type) {
  387. if ($allt < 2.5 && $home == $guest)
  388. return ['result' => 1, 'matchResult' => $allword];
  389. } else if ($model->odds_code == $type) {
  390. if ($allt < 2.5 && $home == $guest)
  391. return ['result' => 1, 'matchResult' => $allword];
  392. } else if ($model->odds_code == $type) {
  393. if ($homeda > 3.5)
  394. return ['result' => 1, 'matchResult' => $allword];
  395. } else if ($model->odds_code == $type) {
  396. if ($homexiao > 3.5)
  397. return ['result' => 1, 'matchResult' => $allword];
  398. } else if ($model->odds_code == $type) {
  399. if ($guestda > 3.5)
  400. return ['result' => 1, 'matchResult' => $allword];
  401. } else if ($model->odds_code == $type) {
  402. if ($guestxiao > 3.5)
  403. return ['result' => 1, 'matchResult' => $allword];
  404. } else if ($model->odds_code == $type) {
  405. if ($allt > 3.5 && $home == $guest)
  406. return ['result' => 1, 'matchResult' => $allword];
  407. } else if ($model->odds_code == $type) {
  408. if ($allt < 3.5 && $home == $guest)
  409. return ['result' => 1, 'matchResult' => $allword];
  410. } else if ($model->odds_code == $type) {
  411. if ($homeda > 4.5)
  412. return ['result' => 1, 'matchResult' => $allword];
  413. } else if ($model->odds_code == $type) {
  414. if ($homexiao > 4.5)
  415. return ['result' => 1, 'matchResult' => $allword];
  416. } else if ($model->odds_code == $type) {
  417. if ($guestda > 4.5)
  418. return ['result' => 1, 'matchResult' => $allword];
  419. } else if ($model->odds_code == $type) {
  420. if ($guestxiao > 4.5)
  421. return ['result' => 1, 'matchResult' => $allword];
  422. } else if ($model->odds_code == $type) {
  423. if ($allt > 4.5 && $home == $guest)
  424. return ['result' => 1, 'matchResult' => $allword];
  425. } else if ($model->odds_code == $type) {
  426. if ($allt < 4.5 && $home == $guest)
  427. return ['result' => 1, 'matchResult' => $allword];
  428. } else if ($model->odds_code == $type) {
  429. if ($guestxiao > 1.5)
  430. return ['result' => 1, 'matchResult' => $allword];
  431. } else {
  432. return ['result' => 100, 'matchResult' => "参数不存在"];
  433. }
  434. return ['result' => -1, 'matchResult' => $allword];
  435. }
  436. //判断 独赢&双方球队进球 是--进球 否--没进球 sw_MTS
  437. public function ishvgoal($resultModels, $model, $type, $allword)
  438. {
  439. $home = intval($resultModels->home_score);
  440. $guest = intval($resultModels->guest_score);
  441. if ($model->odds_code == $type) {
  442. if ($home != 0)
  443. return ['result' => 1, 'matchResult' => $allword];
  444. } else if ($model->odds_code == $type) {
  445. if ($home == 0)
  446. return ['result' => 1, 'matchResult' => $allword];
  447. } else if ($model->odds_code == $type) {
  448. if ($guest != 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 ($home == $guest)
  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 {
  460. return ['result' => 100, 'matchResult' => "参数不存在"];
  461. }
  462. return ['result' => -1, 'matchResult' => $allword];
  463. }
  464. //判断 进球大/小&双方球队进球 sw_OUT
  465. public function goalsize($resultModels, $model, $type, $allword)
  466. {
  467. $homeda = intval($resultModels->home_score) - intval($resultModels->guest_score);//主队大
  468. $homexiao = intval($resultModels->guest_score) - intval($resultModels->home_score);//主队小
  469. $guestda = intval($resultModels->guest_score) - intval($resultModels->home_score);//客队大
  470. $guestxiao = intval($resultModels->home_score) - intval($resultModels->guest_score);//客队小
  471. if ($model->odds_code == $type) {
  472. if ($homeda > 1.5)
  473. return ['result' => 1, 'matchResult' => $allword];
  474. } else if ($model->odds_code == $type) {
  475. if ($home == 0)
  476. return ['result' => 1, 'matchResult' => $allword];
  477. } else if ($model->odds_code == $type) {
  478. if ($guest != 0)
  479. return ['result' => 1, 'matchResult' => $allword];
  480. } else if ($model->odds_code == $type) {
  481. if ($guest == 0)
  482. return ['result' => 1, 'matchResult' => $allword];
  483. } else if ($model->odds_code == $type) {
  484. if ($home == $guest)
  485. return ['result' => 1, 'matchResult' => $allword];
  486. } else if ($model->odds_code == $type) {
  487. if ($home != $guest)
  488. return ['result' => 1, 'matchResult' => $allword];
  489. } else {
  490. return ['result' => 100, 'matchResult' => "参数不存在"];
  491. }
  492. return ['result' => -1, 'matchResult' => $allword];
  493. }
  494. //独赢 & 最先进球 ??? sw_MPG
  495. public function firstball($resultModels, $model, $type, $allword)
  496. {
  497. $firstscore = $resultModels->first_score;//最先进球
  498. $homename = $resultModels->home_team;//主队名
  499. $guestname = $resultModels->guest_team;//客队名
  500. $home = intval($resultModels->home_score);//主队得分
  501. $guest = intval($resultModels->guest_score);//客队得分
  502. if ($model->odds_code == $type) {
  503. if ($firstscore == $homename && $home > $guest)
  504. return ['result' => 1, 'matchResult' => $allword];
  505. } else if ($model->odds_code == $type) {
  506. if ($firstscore == $guestname && $home > $guest)
  507. return ['result' => 1, 'matchResult' => $allword];
  508. } else if ($model->odds_code == $type) {
  509. if ($firstscore == $homename && $home < $guest)
  510. return ['result' => 1, 'matchResult' => $allword];
  511. } else if ($model->odds_code == $type) {
  512. if ($firstscore == $guestname && $home < $guest)
  513. return ['result' => 1, 'matchResult' => $allword];
  514. } else if ($model->odds_code == $type) {
  515. if ($firstscore == $homename && $home == $guest)
  516. return ['result' => 1, 'matchResult' => $allword];
  517. } else if ($model->odds_code == $type) {
  518. if ($firstscore == $guestname && $home == $guest)
  519. return ['result' => 1, 'matchResult' => $allword];
  520. } else {
  521. return ['result' => 100, 'matchResult' => "参数不存在"];
  522. }
  523. return ['result' => -1, 'matchResult' => $allword];
  524. }
  525. //首个进球方式 sw_FG
  526. public function onewaygoal($resultModels, $model, $type, $allword)
  527. {
  528. $firststye = json_decode($resultModels->first_score, true)['scoretype'];//最先进球
  529. if ($model->odds_code == $type) {
  530. if ($firststye == "射门")
  531. return ['result' => 1, 'matchResult' => $allword];
  532. } else if ($model->odds_code == $type) {
  533. if ($firststye == "头球")
  534. return ['result' => 1, 'matchResult' => $allword];
  535. } else if ($model->odds_code == $type) {
  536. if ($firststye == "无进球")
  537. return ['result' => 1, 'matchResult' => $allword];
  538. } else if ($model->odds_code == $type) {
  539. if ($firststye == "点球")
  540. return ['result' => 1, 'matchResult' => $allword];
  541. } else if ($model->odds_code == $type) {
  542. if ($firststye == "任意球")
  543. return ['result' => 1, 'matchResult' => $allword];
  544. } else if ($model->odds_code == $type) {
  545. if ($firststye == "乌龙球")
  546. return ['result' => 1, 'matchResult' => $allword];
  547. } else {
  548. return ['result' => 100, 'matchResult' => "参数不存在"];
  549. }
  550. return ['result' => -1, 'matchResult' => $allword];
  551. }
  552. //双重机会&进球大/小 sw_DU
  553. public function twosize($resultModels, $model, $type, $allword)
  554. {
  555. $homescore = $resultModels->home_score;//主队名
  556. $guestscore = $resultModels->guest_score;//客队名
  557. $allscore = intval($resultModels->guest_score) + intval($resultModels->home_score);//客队得分
  558. if ($model->odds_code == $type) {
  559. if ($allscore > 1.5 && $homescore > $guestscore || $homescore == $guestscore)
  560. return ['result' => 1, 'matchResult' => $allword];
  561. } else if ($model->odds_code == $type) {
  562. if ($allscore < 1.5 && $homescore > $guestscore || $homescore == $guestscore)
  563. return ['result' => 1, 'matchResult' => $allword];
  564. } else if ($model->odds_code == $type) {
  565. if ($allscore > 1.5 && $homescore < $guestscore || $homescore == $guestscore)
  566. return ['result' => 1, 'matchResult' => $allword];
  567. } else if ($model->odds_code == $type) {
  568. if ($allscore > 1.5 && $homescore < $guestscore || $homescore == $guestscore)
  569. return ['result' => 1, 'matchResult' => $allword];
  570. } else if ($model->odds_code == $type) {
  571. if ($allscore > 1.5 && $homescore > $guestscore || $homescore < $guestscore)
  572. return ['result' => 1, 'matchResult' => $allword];
  573. } else if ($model->odds_code == $type) {
  574. if ($allscore < 1.5 && $homescore > $guestscore || $homescore < $guestscore)
  575. return ['result' => 1, 'matchResult' => $allword];
  576. } else if ($model->odds_code == $type) {
  577. if ($allscore > 2.5 && $homescore > $guestscore || $homescore == $guestscore)
  578. return ['result' => 1, 'matchResult' => $allword];
  579. } else if ($model->odds_code == $type) {
  580. if ($allscore < 2.5 && $homescore > $guestscore || $homescore == $guestscore)
  581. return ['result' => 1, 'matchResult' => $allword];
  582. } else if ($model->odds_code == $type) {
  583. if ($allscore > 2.5 && $homescore < $guestscore || $homescore == $guestscore)
  584. return ['result' => 1, 'matchResult' => $allword];
  585. } else if ($model->odds_code == $type) {
  586. if ($allscore < 2.5 && $homescore < $guestscore || $homescore == $guestscore)
  587. return ['result' => 1, 'matchResult' => $allword];
  588. } else if ($model->odds_code == $type) {
  589. if ($allscore > 2.5 && $homescore > $guestscore || $homescore < $guestscore)
  590. return ['result' => 1, 'matchResult' => $allword];
  591. } else if ($model->odds_code == $type) {
  592. if ($allscore < 2.5 && $homescore > $guestscore || $homescore < $guestscore)
  593. return ['result' => 1, 'matchResult' => $allword];
  594. } else if ($model->odds_code == $type) {
  595. if ($allscore > 3.5 && $homescore > $guestscore || $homescore == $guestscore)
  596. return ['result' => 1, 'matchResult' => $allword];
  597. } else if ($model->odds_code == $type) {
  598. if ($allscore < 3.5 && $homescore > $guestscore || $homescore == $guestscore)
  599. return ['result' => 1, 'matchResult' => $allword];
  600. } else if ($model->odds_code == $type) {
  601. if ($allscore > 3.5 && $homescore < $guestscore || $homescore == $guestscore)
  602. return ['result' => 1, 'matchResult' => $allword];
  603. } else if ($model->odds_code == $type) {
  604. if ($allscore < 3.5 && $homescore < $guestscore || $homescore == $guestscore)
  605. return ['result' => 1, 'matchResult' => $allword];
  606. } else if ($model->odds_code == $type) {
  607. if ($allscore > 3.5 && $homescore > $guestscore || $homescore < $guestscore)
  608. return ['result' => 1, 'matchResult' => $allword];
  609. } else if ($model->odds_code == $type) {
  610. if ($allscore < 3.5 && $homescore > $guestscore || $homescore == $guestscore)
  611. return ['result' => 1, 'matchResult' => $allword];
  612. } else if ($model->odds_code == $type) {
  613. if ($allscore > 4.5 && $homescore > $guestscore || $homescore == $guestscore)
  614. return ['result' => 1, 'matchResult' => $allword];
  615. } else if ($model->odds_code == $type) {
  616. if ($allscore < 4.5 && $homescore > $guestscore || $homescore == $guestscore)
  617. return ['result' => 1, 'matchResult' => $allword];
  618. } else if ($model->odds_code == $type) {
  619. if ($allscore > 4.5 && $homescore < $guestscore || $homescore == $guestscore)
  620. return ['result' => 1, 'matchResult' => $allword];
  621. } else if ($model->odds_code == $type) {
  622. if ($allscore < 4.5 && $homescore < $guestscore || $homescore == $guestscore)
  623. return ['result' => 1, 'matchResult' => $allword];
  624. } else if ($model->odds_code == $type) {
  625. if ($allscore > 4.5 && $homescore > $guestscore || $homescore < $guestscore)
  626. return ['result' => 1, 'matchResult' => $allword];
  627. } else if ($model->odds_code == $type) {
  628. if ($allscore < 4.5 && $homescore > $guestscore || $homescore < $guestscore)
  629. return ['result' => 1, 'matchResult' => $allword];
  630. } else {
  631. return ['result' => 100, 'matchResult' => "参数不存在"];
  632. }
  633. return ['result' => -1, 'matchResult' => $allword];
  634. }
  635. //双重机会&双方球队进球 sw_DS
  636. public function allgoals($resultModels, $model, $type, $allword)
  637. {
  638. $home = intval($resultModels->home_score);//主队得分
  639. $guest = intval($resultModels->guest_score);//客队得分
  640. if ($model->odds_code == $type) {
  641. if ($home > $guest || $home == $guest) {
  642. if ($home > 0 && $guest > 0) {
  643. return ['result' => 1, 'matchResult' => $allword];
  644. } else {
  645. return ['result' => -1, 'matchResult' => $allword];
  646. }
  647. } else {
  648. return ['result' => -1, 'matchResult' => $allword];
  649. }
  650. } else if ($model->odds_code == $type) {
  651. if ($home > $guest || $home == $guest) {
  652. if ($home > 0 || $guest > 0) {
  653. return ['result' => 1, 'matchResult' => $allword];
  654. } else {
  655. return ['result' => -1, 'matchResult' => $allword];
  656. }
  657. } else {
  658. return ['result' => -1, 'matchResult' => $allword];
  659. }
  660. } else if ($model->odds_code == $type) {
  661. if ($home < $guest || $home == $guest) {
  662. if ($home > 0 && $guest > 0) {
  663. return ['result' => 1, 'matchResult' => $allword];
  664. } else {
  665. return ['result' => -1, 'matchResult' => $allword];
  666. }
  667. } else {
  668. return ['result' => -1, 'matchResult' => $allword];
  669. }
  670. } else if ($model->odds_code == $type) {
  671. if ($home < $guest || $home == $guest) {
  672. if ($home > 0 || $guest > 0) {
  673. return ['result' => 1, 'matchResult' => $allword];
  674. } else {
  675. return ['result' => -1, 'matchResult' => $allword];
  676. }
  677. } else {
  678. return ['result' => -1, 'matchResult' => $allword];
  679. }
  680. } else if ($model->odds_code == $type) {
  681. if ($home < $guest || $home > $guest) {
  682. if ($home > 0 && $guest > 0) {
  683. return ['result' => 1, 'matchResult' => $allword];
  684. } else {
  685. return ['result' => -1, 'matchResult' => $allword];
  686. }
  687. } else {
  688. return ['result' => -1, 'matchResult' => $allword];
  689. }
  690. } else if ($model->odds_code == $type) {
  691. if ($home < $guest || $home > $guest) {
  692. if ($home > 0 || $guest > 0) {
  693. return ['result' => 1, 'matchResult' => $allword];
  694. } else {
  695. return ['result' => -1, 'matchResult' => $allword];
  696. }
  697. } else {
  698. return ['result' => -1, 'matchResult' => $allword];
  699. }
  700. } else {
  701. return ['result' => 100, 'matchResult' => "参数不存在"];
  702. }
  703. }
  704. //双重机会&最先进球 sw_DG
  705. public function oneball($resultModels, $model, $type, $allword)
  706. {
  707. $firstscore = $resultModels->first_score;//最先进球
  708. $home = intval($resultModels->home_score);//主队得分
  709. $guest = intval($resultModels->guest_score);//客队得分
  710. $homename = $resultModels->home_team;//主队
  711. $guestname = $resultModels->guest_team;//客队
  712. if ($model->odds_code == $type) {
  713. if ($firstscore == $homename && $home == $guest || $home > $guest)
  714. return ['result' => 1, 'matchResult' => $allword];
  715. } else if ($model->odds_code == $type) {
  716. if ($firstscore == $guestname && $home == $guest || $home > $guest)
  717. return ['result' => 1, 'matchResult' => $allword];
  718. } else if ($model->odds_code == $type) {
  719. if ($firstscore == $guestname && $home == $guest || $home < $guest)
  720. return ['result' => 1, 'matchResult' => $allword];
  721. } else if ($model->odds_code == $type) {
  722. if ($firstscore == $homename && $home < $guest || $home > $guest)
  723. return ['result' => 1, 'matchResult' => $allword];
  724. } else if ($model->odds_code == $type) {
  725. if ($firstscore == $guestname && $home < $guest || $home > $guest)
  726. return ['result' => 1, 'matchResult' => $allword];
  727. } else if ($model->odds_code == $type) {
  728. if ($firstscore == $homename && $home < $guest || $home == $guest)
  729. return ['result' => 1, 'matchResult' => $allword];
  730. } else {
  731. return ['result' => 100, 'matchResult' => "参数不存在"];
  732. }
  733. return ['result' => -1, 'matchResult' => $allword];
  734. }
  735. //进球大/小&进球单/双 sw_OUE
  736. public function sizesd($resultModels, $model, $type, $allword)
  737. {
  738. $homeda = intval($resultModels->home_score) - intval($resultModels->guest_score);
  739. $homexiao = intval($resultModels->guest_score) - intval($resultModels->home_score);
  740. $allnum = intval($resultModels->home_score) + intval($resultModels->guest_score);
  741. if ($allnum % 2 == 0) {
  742. $text = '双';
  743. } else {
  744. $text = '单';
  745. }
  746. if ($model->odds_code == $type) {
  747. if ($homeda > 1.5 && $text == "单")
  748. return ['result' => 1, 'matchResult' => $allword];
  749. } else if ($model->odds_code == $type) {
  750. if ($homexiao > 1.5 && $text == "单")
  751. return ['result' => 1, 'matchResult' => $allword];
  752. } else if ($model->odds_code == $type) {
  753. if ($homeda > 1.5 && $text == "双")
  754. return ['result' => 1, 'matchResult' => $allword];
  755. } else if ($model->odds_code == $type) {
  756. if ($homexiao > 1.5 && $text == "双")
  757. return ['result' => 1, 'matchResult' => $allword];
  758. } else if ($model->odds_code == $type) {
  759. if ($homeda > 2.5 && $text == "单")
  760. return ['result' => 1, 'matchResult' => $allword];
  761. } else if ($model->odds_code == $type) {
  762. if ($homexiao > 2.5 && $text == "单")
  763. return ['result' => 1, 'matchResult' => $allword];
  764. } else if ($model->odds_code == $type) {
  765. if ($homeda > 2.5 && $text == "双")
  766. return ['result' => 1, 'matchResult' => $allword];
  767. } else if ($model->odds_code == $type) {
  768. if ($homexiao > 2.5 && $text == "双")
  769. return ['result' => 1, 'matchResult' => $allword];
  770. } else if ($model->odds_code == $type) {
  771. if ($homeda > 3.5 && $text == "单")
  772. return ['result' => 1, 'matchResult' => $allword];
  773. } else if ($model->odds_code == $type) {
  774. if ($homexiao > 3.5 && $text == "单")
  775. return ['result' => 1, 'matchResult' => $allword];
  776. } else if ($model->odds_code == $type) {
  777. if ($homeda > 3.5 && $text == "双")
  778. return ['result' => 1, 'matchResult' => $allword];
  779. } else if ($model->odds_code == $type) {
  780. if ($homexiao > 3.5 && $text == "双")
  781. return ['result' => 1, 'matchResult' => $allword];
  782. } else if ($model->odds_code == $type) {
  783. if ($homeda > 4.5 && $text == "单")
  784. return ['result' => 1, 'matchResult' => $allword];
  785. } else if ($model->odds_code == $type) {
  786. if ($homexiao > 4.5 && $text == "单")
  787. return ['result' => 1, 'matchResult' => $allword];
  788. } else if ($model->odds_code == $type) {
  789. if ($homeda > 4.5 && $text == "双")
  790. return ['result' => 1, 'matchResult' => $allword];
  791. } else if ($model->odds_code == $type) {
  792. if ($homexiao > 4.5 && $text == "双")
  793. return ['result' => 1, 'matchResult' => $allword];
  794. } else {
  795. return ['result' => 100, 'matchResult' => "参数不存在"];
  796. }
  797. return ['result' => -1, 'matchResult' => $allword];
  798. }
  799. //进球大/小&最先进球 sw_OUP
  800. public function sizeone($resultModels, $model, $type, $allword)
  801. {
  802. $firstscore = $resultModels->first_score;
  803. $homename = $resultModels->home_team;
  804. $guestname = $resultModels->guest_team;
  805. $homeda = intval($resultModels->home_score) - intval($resultModels->guest_score);
  806. $homexiao = intval($resultModels->guest_score) - intval($resultModels->home_score);
  807. if ($model->odds_code == $type) {
  808. if ($homeda > 1.5 && $firstscore == $homename)
  809. return ['result' => 1, 'matchResult' => $allword];
  810. } else if ($model->odds_code == $type) {
  811. if ($homeda > 1.5 && $firstscore == $guestname)
  812. return ['result' => 1, 'matchResult' => $allword];
  813. } else if ($model->odds_code == $type) {
  814. if ($homeda > 2.5 && $firstscore == $homename)
  815. return ['result' => 1, 'matchResult' => $allword];
  816. } else if ($model->odds_code == $type) {
  817. if ($homeda > 2.5 && $firstscore == $guestname)
  818. return ['result' => 1, 'matchResult' => $allword];
  819. } else if ($model->odds_code == $type) {
  820. if ($homeda > 3.5 && $firstscore == $homename)
  821. return ['result' => 1, 'matchResult' => $allword];
  822. } else if ($model->odds_code == $type) {
  823. if ($homeda > 3.5 && $firstscore == $guestname)
  824. return ['result' => 1, 'matchResult' => $allword];
  825. } else if ($model->odds_code == $type) {
  826. if ($homexiao > 3.5 && $firstscore == $homename)
  827. return ['result' => 1, 'matchResult' => $allword];
  828. } else if ($model->odds_code == $type) {
  829. if ($homexiao > 2.5 && $firstscore == $guestname)
  830. return ['result' => 1, 'matchResult' => $allword];
  831. } else if ($model->odds_code == $type) {
  832. if ($homexiao > 2.5 && $firstscore == $homename)
  833. return ['result' => 1, 'matchResult' => $allword];
  834. } else if ($model->odds_code == $type) {
  835. if ($homexiao > 1.5 && $firstscore == $guestname)
  836. return ['result' => 1, 'matchResult' => $allword];
  837. } else if ($model->odds_code == $type) {
  838. if ($homexiao > 1.5 && $firstscore == $homename)
  839. return ['result' => 1, 'matchResult' => $allword];
  840. } else if ($model->odds_code == $type) {
  841. if ($homeda > 4.5 && $firstscore == $homename)
  842. return ['result' => 1, 'matchResult' => $allword];
  843. } else if ($model->odds_code == $type) {
  844. if ($homeda > 4.5 && $firstscore == $guestname)
  845. return ['result' => 1, 'matchResult' => $allword];
  846. } else if ($model->odds_code == $type) {
  847. if ($homexiao > 4.5 && $firstscore == $homename)
  848. return ['result' => 1, 'matchResult' => $allword];
  849. } else if ($model->odds_code == $type) {
  850. if ($homexiao > 4.5 && $firstscore == $guestname)
  851. return ['result' => 1, 'matchResult' => $allword];
  852. } else if ($model->odds_code == $type) {
  853. if ($homexiao > 3.5 && $firstscore == $guestname)
  854. return ['result' => 1, 'matchResult' => $allword];
  855. } else {
  856. return ['result' => 100, 'matchResult' => "参数不存在"];
  857. }
  858. return ['result' => -1, 'matchResult' => $allword];
  859. }
  860. //落后反超获胜 sw_BH
  861. public function backwardwins()
  862. {
  863. }
  864. private function doexchage(&$num1, &$num2)
  865. {
  866. $tmp = $num2;
  867. $num2 = $num1;
  868. $num1 = $tmp;
  869. }
  870. }