ZqRule.php 103 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Administrator
  5. * Date: 2019/4/25
  6. * Time: 14:10
  7. */
  8. namespace App\Lib\Settlement\Adapter;
  9. use Illuminate\Support\Facades\DB;
  10. use App\Lib\Biz\Sport\Common as commonFunction;
  11. class ZqRule
  12. {
  13. use RulePlus;
  14. /**
  15. * 全场|主队|让球
  16. * @param mixed $model 注单表数据
  17. * @param mixed $resultModel 结果表数据
  18. * @param mixed $resultRecords 结果记录表数据
  19. * @return string 1:赢 -1:输 2:平 3:赢半平半 4:输半平半
  20. */
  21. public function concede_home($model, $resultModels, $resultRecords)
  22. {
  23. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  24. if ($isgqwx) {
  25. return $isgqwx;
  26. }
  27. $resultModel = $resultModels['0'];
  28. $home = intval($resultModel->home_score);
  29. $guest = intval($resultModel->guest_score);
  30. $word = $home . '-' . $guest . '(全场)';
  31. $ret = $this->zq_letball($home - $guest, $model->condition, $word);
  32. return $ret;
  33. }
  34. /**
  35. * 全场|客队|让球
  36. * @param mixed $model 注单表数据
  37. * @param mixed $resultModel 结果表数据
  38. * @param mixed $resultRecords 结果记录表数据
  39. * @return string 1:赢 -1:输 2:平 3:赢半平半 4:输半平半
  40. */
  41. public function concede_guest($model, $resultModels, $resultRecords)
  42. {
  43. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  44. if ($isgqwx) {
  45. return $isgqwx;
  46. }
  47. $resultModel = $resultModels['0'];
  48. $home = intval($resultModel->home_score);
  49. $guest = intval($resultModel->guest_score);
  50. $word = $home . '-' . $guest . '(全场)';
  51. $ret = $this->zq_letball($guest - $home, $model->condition, $word);
  52. return $ret;
  53. }
  54. /**
  55. * 上半场|主队|让球
  56. * @param mixed $model 注单表数据
  57. * @param mixed $resultModel 结果表数据
  58. * @param mixed $resultRecords 结果记录表数据
  59. * @return string 1:赢 -1:输 2:平 3:赢半平半 4:输半平半
  60. */
  61. public function half_concede_home($model, $resultModels, $resultRecords)
  62. {
  63. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  64. if ($isgqwx) {
  65. return $isgqwx;
  66. }
  67. $resultModel = $resultModels['0'];
  68. $home = intval($resultModel->u_home_score);
  69. $guest = intval($resultModel->u_guest_score);
  70. $word = $home . '-' . $guest . '(上半场)';
  71. $ret = $this->zq_letball($home - $guest, $model->condition, $word);
  72. return $ret;
  73. }
  74. /**
  75. * 上半场|客队|让球
  76. * @param mixed $model 注单表数据
  77. * @param mixed $resultModel 结果表数据
  78. * @param mixed $resultRecords 结果记录表数据
  79. * @return string 1:赢 -1:输 2:平 3:赢半平半 4:输半平半
  80. */
  81. public function half_concede_guest($model, $resultModels, $resultRecords)
  82. {
  83. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  84. if ($isgqwx) {
  85. return $isgqwx;
  86. }
  87. $resultModel = $resultModels['0'];
  88. $home = intval($resultModel->u_home_score);
  89. $guest = intval($resultModel->u_guest_score);
  90. $word = $home . '-' . $guest . '(上半场)';
  91. $ret = $this->zq_letball($guest - $home, $model->condition, $word);
  92. return $ret;
  93. }
  94. /**
  95. * 进球|全场|大
  96. * @param mixed $model 注单表数据
  97. * @param mixed $resultModel 结果表数据
  98. * @param mixed $resultMgoal_size_smallodel 结果表数据
  99. * @param mixed $resultRecords 结果记录表数据
  100. * @return string 1:赢 -1:输 2:平 3:赢半平半 4:输半平半
  101. */
  102. public function goal_size_home($model, $resultModels, $resultRecords)
  103. {
  104. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  105. if ($isgqwx) {
  106. return $isgqwx;
  107. }
  108. $resultModel = $resultModels['0'];
  109. $home = intval($resultModel->u_home_score);
  110. $guest = intval($resultModel->u_guest_score);
  111. $total = $home + $guest;
  112. $word = $home . '-' . $guest . '(全场)';
  113. $ret = $this->zq_inball_bigsmall($total, $model->condition, 2, $word);
  114. return $ret;
  115. }
  116. /**
  117. * 进球|全场|小
  118. * @param mixed $model 注单表数据
  119. * @param mixed $resultModel 结果表数据
  120. * @param mixed $resultRecords 结果记录表数据
  121. * @return string 1:赢 -1:输 2:平 3:赢半平半 4:输半平半
  122. */
  123. public function goal_size_guest($model, $resultModels, $resultRecords)
  124. {
  125. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  126. if ($isgqwx) {
  127. return $isgqwx;
  128. }
  129. $resultModel = $resultModels['0'];
  130. $home = intval($resultModel->u_home_score);
  131. $guest = intval($resultModel->u_guest_score);
  132. $total = $home + $guest;
  133. $word = $home . '-' . $guest . '(全场)';
  134. $ret = $this->zq_inball_bigsmall($total, $model->condition, 1, $word);
  135. return $ret;
  136. }
  137. //全场|进球|大
  138. public function goal_size_big($model, $resultModels, $resultRecords)
  139. {
  140. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  141. if ($isgqwx) {
  142. return $isgqwx;
  143. }
  144. $resultModel = $resultModels['0'];
  145. $allscore = intval($resultModel->home_score) + intval($resultModel->guest_score);
  146. $word = $resultModel->home_score . '-' . $resultModel->guest_score . "(全场)";
  147. $returnDatas = $this->zq_inball_bigsmall($allscore, $model->condition, 2, $word);
  148. return $returnDatas;
  149. }
  150. //全场|进球|小
  151. public function goal_size_small($model, $resultModels, $resultRecords)
  152. {
  153. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  154. if ($isgqwx) {
  155. return $isgqwx;
  156. }
  157. $resultModel = $resultModels['0'];
  158. $allscore = intval($resultModel->home_score) + intval($resultModel->guest_score);
  159. $word = $resultModel->home_score . '-' . $resultModel->guest_score . "(全场)";
  160. $returnDatas = $this->zq_inball_bigsmall($allscore, $model->condition, 1, $word);
  161. return $returnDatas;
  162. }
  163. /**
  164. * 进球|上半场|大
  165. * @param mixed $model 注单表数据
  166. * @param mixed $resultModel 结果表数据
  167. * @param mixed $resultRecords 结果记录表数据
  168. * @return string 1:赢 -1:输 2:平 3:赢半平半 4:输半平半
  169. */
  170. public function half_goal_size_big($model, $resultModels, $resultRecords)
  171. {
  172. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  173. if ($isgqwx) {
  174. return $isgqwx;
  175. }
  176. $resultModel = $resultModels['0'];
  177. $score = intval($resultModel->u_home_score) + intval($resultModel->u_guest_score);
  178. return $this->zq_inball_bigsmall($score, $model->condition, 2, $resultModel->u_home_score . '-' . $resultModel->u_guest_score . '(上半场)');
  179. }
  180. /**
  181. * 进球|上半场|小
  182. * @param mixed $model 注单表数据
  183. * @param mixed $resultModel 结果表数据
  184. * @param mixed $resultRecords 结果记录表数据
  185. * @return string 1:赢 -1:输 2:平 3:赢半平半 4:输半平半
  186. */
  187. public function half_goal_size_small($model, $resultModels, $resultRecords)
  188. {
  189. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  190. if ($isgqwx) {
  191. return $isgqwx;
  192. }
  193. $resultModel = $resultModels['0'];
  194. $score = intval($resultModel->u_home_score) + intval($resultModel->u_guest_score);
  195. return $this->zq_inball_bigsmall($score, $model->condition, 1, $resultModel->u_home_score . '-' . $resultModel->u_guest_score . '(上半场)');
  196. }
  197. /**
  198. * 全场|主队|独赢
  199. * @param mixed $model 注单表数据
  200. * @param mixed $resultModel 结果表数据
  201. * @param mixed $resultRecords 结果记录表数据
  202. * @return string 1:赢 -1:输
  203. */
  204. public function capot_home($model, $resultModels, $resultRecords)
  205. {
  206. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  207. if ($isgqwx) {
  208. return $isgqwx;
  209. }
  210. $resultModel = $resultModels['0'];
  211. $home = intval($resultModel->home_score);
  212. $guest = intval($resultModel->guest_score);
  213. $word = $home . '-' . $guest . '(全场)';
  214. $ret = $this->zq_duyingv2(1, 4, $resultModel, $word);
  215. return $ret;
  216. }
  217. /**
  218. * 全场|客队|独赢
  219. * @param mixed $model 注单表数据
  220. * @param mixed $resultModel 结果表数据
  221. * @param mixed $resultRecords 结果记录表数据
  222. * @return string 1:赢 -1:输
  223. */
  224. public function capot_guest($model, $resultModels, $resultRecords)
  225. {
  226. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  227. if ($isgqwx) {
  228. return $isgqwx;
  229. }
  230. $resultModel = $resultModels['0'];
  231. $home = intval($resultModel->home_score);
  232. $guest = intval($resultModel->guest_score);
  233. $word = $home . '-' . $guest . '(全场)';
  234. $ret = $this->zq_duyingv2(2, 4, $resultModel, $word);
  235. return $ret;
  236. }
  237. /**
  238. * 全场|主客平|独赢
  239. * @param mixed $model 注单表数据
  240. * @param mixed $resultModel 结果表数据
  241. * @param mixed $resultRecords 结果记录表数据
  242. * @return string 1:赢 -1:输
  243. */
  244. public function capot_dogfall($model, $resultModels, $resultRecords)
  245. {
  246. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  247. if ($isgqwx) {
  248. return $isgqwx;
  249. }
  250. $resultModel = $resultModels['0'];
  251. $home = intval($resultModel->home_score);
  252. $guest = intval($resultModel->guest_score);
  253. $word = $home . '-' . $guest . '(全场)';
  254. if ($home == $guest) {
  255. $return['result'] = 1;
  256. } else {
  257. $return['result'] = -1;
  258. }
  259. $return['matchResult'] = $word;
  260. return $return;
  261. }
  262. /**
  263. * 上半场|主队|独赢
  264. * @param mixed $model 注单表数据
  265. * @param mixed $resultModel 结果表数据
  266. * @param mixed $resultRecords 结果记录表数据
  267. * @return string 1:赢 -1:输
  268. */
  269. public function half_capot_home($model, $resultModels, $resultRecords)
  270. {
  271. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  272. if ($isgqwx) {
  273. return $isgqwx;
  274. }
  275. $resultModel = $resultModels['0'];
  276. $word = $resultModel->u_home_score . '-' . $resultModel->u_guest_score . '(上半场)';
  277. return $this->zq_duyingv2(1, 1, $resultModel, $word);
  278. }
  279. /**
  280. * 上半场|客队|独赢
  281. * @param mixed $model 注单表数据
  282. * @param mixed $resultModel 结果表数据
  283. * @param mixed $resultRecords 结果记录表数据
  284. * @return string 1:赢 -1:输
  285. */
  286. public function half_capot_guest($model, $resultModels, $resultRecords)
  287. {
  288. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  289. if ($isgqwx) {
  290. return $isgqwx;
  291. }
  292. $resultModel = $resultModels['0'];
  293. $word = $resultModel->u_home_score . '-' . $resultModel->u_guest_score . '(上半场)';
  294. return $this->zq_duyingv2(2, 1, $resultModel, $word);
  295. }
  296. /**
  297. * 上半场|主客平|独赢
  298. * @param mixed $model 注单表数据
  299. * @param mixed $resultModel 结果表数据
  300. * @param mixed $resultRecords 结果记录表数据
  301. * @return string 1:赢 -1:输
  302. */
  303. public function half_capot_dogfall($model, $resultModels, $resultRecords)
  304. {
  305. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  306. if ($isgqwx) {
  307. return $isgqwx;
  308. }
  309. $resultModel = $resultModels['0'];
  310. $word = $resultModel->u_home_score . '-' . $resultModel->u_guest_score . '(上半场)';
  311. if ($resultModel->u_home_score == $resultModel->u_guest_score) {
  312. $result = 1;
  313. } else {
  314. $result = -1;
  315. }
  316. return ['result' => $result, 'matchResult' => $word];
  317. }
  318. // first_last_ball最先/最后进球 开始-----------------------
  319. //主队|最先进球
  320. public function first_ball_home($model, $resultModel, $resultRecords)
  321. {
  322. $return = ['result' => -1, 'matchResult' => ''];
  323. $resultModel = $resultModel['0'];
  324. $resArray = json_decode($resultModel->first_score, true);
  325. if ($resArray && isset($resArray['teamscore'])) {
  326. if ($resArray['teamscore'] == '') {
  327. $word = '0:0';
  328. $return['result'] = -1;
  329. } elseif ($resArray['teamscore'] == $resultModel->home_team) {
  330. $word = '1:0';
  331. $return['result'] = 1;
  332. } else {
  333. $word = '0:1';
  334. $return['result'] = -1;
  335. }
  336. } else {
  337. $word = '0:0';
  338. $return['result'] = -1;
  339. }
  340. $return['matchResult'] = $word;
  341. return $return;
  342. }
  343. //客队|最先进球
  344. public function first_ball_guest($model, $resultModel, $resultRecords)
  345. {
  346. $return = ['result' => -1, 'matchResult' => ''];
  347. $resultModel = $resultModel['0'];
  348. $resArray = json_decode($resultModel->first_score, true);
  349. if ($resArray && isset($resArray['teamscore'])) {
  350. if ($resArray['teamscore'] == '') {
  351. $word = '0:0';
  352. $return['result'] = -1;
  353. } elseif ($resArray['teamscore'] == $resultModel->guest_team) {
  354. $word = '0:1';
  355. $return['result'] = 1;
  356. } else {
  357. $word = '1:0';
  358. $return['result'] = -1;
  359. }
  360. } else {
  361. $word = '0:0';
  362. $return['result'] = -1;
  363. }
  364. $return['matchResult'] = $word;
  365. return $return;
  366. }
  367. //主队|最后进球
  368. public function last_ball_home($model, $resultModel, $resultRecords)
  369. {
  370. $isgqwx = $this->GunqiuWeixian($model, $resultModel, $resultRecords);
  371. if ($isgqwx) {
  372. return $isgqwx;
  373. }
  374. $resultModel = $resultModel['0'];
  375. $word = ($resultModel->last_score != '') ? (($resultModel->last_score == $model->home_team) ? '1:0' : '0:1') : '0:0';
  376. $word .= '(主客)';
  377. if (trim($resultModel->last_score) == trim($resultModel->home_team)) {
  378. return ['result' => 1, 'matchResult' => $word];
  379. } else {
  380. return ['result' => -1, 'matchResult' => $word];
  381. }
  382. }
  383. //客队|最后进球
  384. public function last_ball_guest($model, $resultModel, $resultRecords)
  385. {
  386. $isgqwx = $this->GunqiuWeixian($model, $resultModel, $resultRecords);
  387. if ($isgqwx) {
  388. return $isgqwx;
  389. }
  390. $resultModel = $resultModel['0'];
  391. $word = ($resultModel->last_score != '') ? (($resultModel->last_score == $model->guest_team) ? '0:1' : '1:0') : '0:0';
  392. $word .= '(主客)';
  393. if (trim($resultModel->last_score) == trim($resultModel->guest_team)) {
  394. return ['result' => 1, 'matchResult' => $word];
  395. } else {
  396. return ['result' => -1, 'matchResult' => $word];
  397. }
  398. }
  399. //没有进球
  400. public function not_ball($model, $resultModel, $resultRecords)
  401. {
  402. $isgqwx = $this->GunqiuWeixian($model, $resultModel, $resultRecords);
  403. if ($isgqwx) {
  404. return $isgqwx;
  405. }
  406. $resultModel = $resultModel['0'];
  407. $home = intval($resultModel->home_score);
  408. $guest = intval($resultModel->guest_score);
  409. $all_score = $home + $guest;
  410. $word = ($home > 0 ? 1 : 0) . '-' . ($guest > 0 ? 1 : 0) . '(主客)';
  411. if ($all_score <= 0) {
  412. return ['result' => 1, 'matchResult' => $word];
  413. } else {
  414. return ['result' => -1, 'matchResult' => $word];
  415. }
  416. }
  417. ////////// first_last_ball最先/最后进球 结束-----------------------
  418. /**
  419. * 足球波胆 规则
  420. * @param $bet_match 投注赛事数据
  421. * @param $result_match 最终结果
  422. * @param $result_match_r 结果记录
  423. * User: Tank
  424. * Date: 2019/5/13
  425. * Time: 10:19
  426. */
  427. public function bodan($bet_match, $result_match, $result_match_r)
  428. {
  429. // $bet_match = DB::table('money_buy_match')->where(['match_id'=> 3219925,'p_code'=>'bodan'])->first();
  430. // $result_match = DB::table('st_zq_result')->where('match_id', 3224833)->limit(10)->get();
  431. // select * from st_zq_result where id=1317823 order by id desc limit 10 ;
  432. // $result_match_r = DB::table('st_zq_result_record')->where('match_id', 3150765)->get()->toArray();
  433. //获取父/子级赔率代码
  434. $p_code = $bet_match->p_code;
  435. $odds_code = $bet_match->odds_code;
  436. //==获取是否是滚球投注==
  437. $is_rolling = $bet_match->is_rolling;
  438. //如果是滚球投注,则进行危险球审核
  439. if ($is_rolling == 1) {
  440. $ret = commonFunction::WARN_CHECK($bet_match, $result_match);
  441. //如果审核不通过,则返回2 1赢 2平 -1输
  442. if ($ret['code'] == -1) {
  443. $data = [
  444. 'result' => 2,
  445. 'msg' => "滚球投注,危险球审核不通过",
  446. 'warn_more' => $ret['warn_more']
  447. ];
  448. return $data;
  449. }
  450. }
  451. //==end==
  452. //获取主客队投注比分
  453. $bet_score = explode('-', $bet_match->condition);
  454. $bet_home_score = (int)$bet_score[0];
  455. $bet_guest_score = isset($bet_score[1]) ? intval($bet_score[1]) : 0;
  456. if ($p_code != 'bodan') return false;
  457. //获取赛事最终结果数据
  458. $result_match = $this->getHalfData($result_match);
  459. if (strstr($odds_code, "half")) {//上半场
  460. //获取主客队上半场得分
  461. $home_score = $result_match->u_home_score;
  462. $guest_score = $result_match->u_guest_score;
  463. //返回结果
  464. $data = [
  465. 'result' => 1,
  466. 'matchResult' => "$home_score-$guest_score(上半场)"
  467. ];
  468. if (strstr($bet_match->condition, "其他")) {
  469. if (($home_score > 3) || ($guest_score > 3)) {
  470. return $data;
  471. }
  472. }
  473. //判断结果
  474. if ($bet_home_score == $home_score and $bet_guest_score == $guest_score) {
  475. return $data;
  476. }
  477. $data['result'] = -1;
  478. return $data;
  479. } else {//全场
  480. //获取主客队全场得分
  481. $home_score = $result_match->home_score;
  482. $guest_score = $result_match->guest_score;
  483. //返回结果
  484. $data = [
  485. 'result' => 1,
  486. 'matchResult' => "$home_score-$guest_score(全场)"
  487. ];
  488. if (strstr($bet_match->condition, "其他")) {
  489. if (($home_score > 4) || ($guest_score > 4)) {
  490. return $data;
  491. }
  492. }
  493. //判断结果
  494. if ($bet_home_score == $home_score and $bet_guest_score == $guest_score) {
  495. return $data;
  496. }
  497. $data['result'] = -1;
  498. return $data;
  499. }
  500. }
  501. //结果单/双 home_score 主队进球数 guest_score 客队进球数 home_rate 主队让球 guest_rate 客队让球 u_home_score 上半场主队进球 u_guest_score 上半场-客队进球数 two_sides_single 全场单 two_sides_double 全场双 half_two_sides_single 上半场单 half_two_sides_double 上半场双
  502. public function two_sides($model, $resultModels, $resultRecords)
  503. {
  504. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  505. if ($isgqwx) {
  506. return $isgqwx;
  507. }
  508. $resultModel = $resultModels['0'];
  509. $resulttod = intval($resultModel->home_score) + intval($resultModel->guest_score);//全场
  510. $score_home = intval($resultModel->home_score);
  511. $guest_home = intval($resultModel->guest_score);
  512. $word_all = $score_home . '-' . $guest_home . '(全场)';
  513. $score_home_half = intval($resultModel->u_home_score);
  514. $guest_home_half = intval($resultModel->u_guest_score);
  515. $word_all_half = $score_home_half . '-' . $guest_home_half . '(半场)';
  516. if ($resulttod % 2 == 0) {
  517. $text = '双';
  518. } else {
  519. $text = '单';
  520. }
  521. if ($model->odds_code == "two_sides_single" || $model->odds_code == 'two_sides_double') {
  522. if ($text == $model->condition) {
  523. $dsresult = 1;
  524. } else {
  525. $dsresult = -1;
  526. }
  527. return ['result' => $dsresult, 'matchResult' => $word_all];
  528. } elseif ($model->odds_code == 'half_two_sides_single' || $model->odds_code == 'half_two_sides_double') {
  529. $hafs = intval($resultModel->u_home_score) + intval($resultModel->u_guest_score);
  530. $text = ($hafs % 2 == 0) ? '双' : '单';
  531. $dsresult = ($text == $model->condition) ? 1 : -1;
  532. return ['result' => $dsresult, 'matchResult' => $word_all_half];
  533. } else {
  534. $data = [
  535. 'result' => 100,
  536. 'matchResult' => "参数不存在",
  537. ];
  538. return $data;
  539. }
  540. }
  541. //结果总数 home_score 主队进球数 guest_score 客队进球数 home_rate 主队让球 guest_rate 客队让球 u_home_score 上半场-主队进球数 u_guest_score 上半场-客队进球数
  542. public function total_goal($model, $resultModels, $resultRecords)
  543. {
  544. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  545. if ($isgqwx) {
  546. return $isgqwx;
  547. }
  548. $resultModel = $resultModels['0'];
  549. //全场总进球数
  550. $resulttod = intval($resultModel->home_score) + intval($resultModel->guest_score);
  551. $score_home = intval($resultModel->home_score);
  552. $guest_home = intval($resultModel->guest_score);
  553. $word_all = $score_home . '-' . $guest_home . '(全场)';
  554. $score_home_half = intval($resultModel->u_home_score);
  555. $guest_home_half = intval($resultModel->u_guest_score);
  556. $word_all_half = $score_home_half . '-' . $guest_home_half . '(半场)';
  557. //上半场总进球数
  558. $firsthalftod = intval($resultModel->u_home_score) + intval($resultModel->u_guest_score);
  559. $results = 0;
  560. $resultb = 0;
  561. if ($model->odds_code == "total_goal_four") {
  562. if (4 <= $resulttod and $resulttod <= 6) {
  563. $results = 1;
  564. } else {
  565. $results = -1;
  566. }
  567. }
  568. if ($model->odds_code == "total_goal_zero") {
  569. if (0 <= $resulttod and $resulttod <= 1) {
  570. $results = 1;
  571. } else {
  572. $results = -1;
  573. }
  574. }
  575. if ($model->odds_code == "total_goal_two") {
  576. if (2 <= $resulttod and $resulttod <= 3) {
  577. $results = 1;
  578. } else {
  579. $results = -1;
  580. }
  581. }
  582. if ($model->odds_code == "total_goal_seven") {
  583. if (7 <= $resulttod) {
  584. $results = 1;
  585. } else {
  586. $results = -1;
  587. }
  588. }
  589. if ($model->odds_code == "half_total_goal_zero") {
  590. if ($firsthalftod == 0) {
  591. $resultb = 1;
  592. } else {
  593. $resultb = -1;
  594. }
  595. }
  596. if ($model->odds_code == "half_total_goal_one") {
  597. if ($firsthalftod == 1) {
  598. $resultb = 1;
  599. } else {
  600. $resultb = -1;
  601. }
  602. }
  603. if ($model->odds_code == "half_total_goal_two") {
  604. if ($firsthalftod == 2) {
  605. $resultb = 1;
  606. } else {
  607. $resultb = -1;
  608. }
  609. }
  610. if ($model->odds_code == "half_total_goal_three") {
  611. if ($firsthalftod == 3) {
  612. $resultb = 1;
  613. } else {
  614. $resultb = -1;
  615. }
  616. }
  617. if ($results == 1) {
  618. $data = [
  619. 'result' => 1,
  620. 'matchResult' => $word_all,
  621. ];
  622. }
  623. if ($results == -1) {
  624. $data = [
  625. 'result' => -1,
  626. 'matchResult' => $word_all,
  627. ];
  628. }
  629. if ($resultb == 1) {
  630. $data = [
  631. 'result' => 1,
  632. 'matchResult' => $word_all_half,
  633. ];
  634. }
  635. if ($resultb == -1) {
  636. $data = [
  637. 'result' => -1,
  638. 'matchResult' => $word_all_half,
  639. ];
  640. }
  641. return $data;
  642. }
  643. //球队进球数:大/小
  644. //condition 0.5 或 0.5/1 这种
  645. public function tema_ball($model, $resultModels, $result_match_r = [])
  646. {
  647. //==获取是否是滚球投注==
  648. $is_rolling = $model->is_rolling;
  649. //如果是滚球投注,则进行危险球审核
  650. if ($is_rolling == 1) {
  651. $ret = commonFunction::WARN_CHECK($model, $resultModels);
  652. //如果审核不通过,则返回2 1赢 2平 -1输
  653. if ($ret['code'] == -1) {
  654. $data = [
  655. 'result' => 2,
  656. 'msg' => "滚球投注,危险球审核不通过",
  657. 'warn_more' => $ret['warn_more']
  658. ];
  659. return $data;
  660. }
  661. }
  662. //==end==
  663. $resultModel = $resultModels['0'];
  664. $odds_code = trim($model->odds_code);
  665. $score_home = intval($resultModel->home_score);
  666. $score_guest = intval($resultModel->guest_score);
  667. $score_home_uhalf = intval($resultModel->u_home_score);
  668. $score_guest_uhalf = intval($resultModel->u_guest_score);
  669. switch ($odds_code) {
  670. case 'home_tema_ball_big':
  671. $returnDatas['matchResult'] = $score_home . '-' . $score_guest . '(全场)';
  672. $returnDatas = $this->zq_inball_bigsmall($score_home, $model->condition, 2, $returnDatas['matchResult']);
  673. break;
  674. case 'home_tema_ball_small':
  675. $returnDatas['matchResult'] = $score_home . '-' . $score_guest . '(全场)';
  676. $returnDatas = $this->zq_inball_bigsmall($score_home, $model->condition, 1, $returnDatas['matchResult']);
  677. break;
  678. case 'guest_tema_ball_big':
  679. $returnDatas['matchResult'] = $score_home . '-' . $score_guest . '(全场)';
  680. $returnDatas = $this->zq_inball_bigsmall($score_guest, $model->condition, 2, $returnDatas['matchResult']);
  681. break;
  682. case 'guest_tema_ball_small':
  683. $returnDatas['matchResult'] = $score_home . '-' . $score_guest . '(全场)';
  684. $returnDatas = $this->zq_inball_bigsmall($score_guest, $model->condition, 1, $returnDatas['matchResult']);
  685. break;
  686. case 'half_home_tema_ball_big':
  687. $returnDatas['matchResult'] = $score_home_uhalf . '-' . $score_guest_uhalf . '(上半场)';
  688. $returnDatas = $this->zq_inball_bigsmall($score_home_uhalf, $model->condition, 2, $returnDatas['matchResult']);
  689. break;
  690. case 'half_home_tema_ball_small':
  691. $returnDatas['matchResult'] = $score_home_uhalf . '-' . $score_guest_uhalf . '(上半场)';
  692. $returnDatas = $this->zq_inball_bigsmall($score_home_uhalf, $model->condition, 1, $returnDatas['matchResult']);
  693. break;
  694. case 'half_guest_tema_ball_big':
  695. $returnDatas['matchResult'] = $score_home_uhalf . '-' . $score_guest_uhalf . '(上半场)';
  696. $returnDatas = $this->zq_inball_bigsmall($score_guest_uhalf, $model->condition, 2, $returnDatas['matchResult']);
  697. break;
  698. case 'half_guest_tema_ball_small':
  699. $returnDatas['matchResult'] = $score_home_uhalf . '-' . $score_guest_uhalf . '(上半场)';
  700. $returnDatas = $this->zq_inball_bigsmall($score_guest_uhalf, $model->condition, 1, $returnDatas['matchResult']);
  701. break;
  702. }
  703. return $returnDatas;
  704. }
  705. /**
  706. * 半场/全场 投注规则
  707. * User: Tank
  708. * Date: 2019/5/13
  709. * Time: 10:19
  710. */
  711. public function half_full($bet_match, $result_match, $result_match_r)
  712. {
  713. // $bet_match = DB::table('money_buy_match')->where('match_id', 3210851)->first();
  714. // $result_match = DB::table('st_zq_result')->where('match_id', 3210851)->first();
  715. // $result_match_r = DB::table('st_zq_result_record')->where('match_id', 3210851)->get()->toArray();
  716. if (empty($bet_match) || empty($result_match)) return false;
  717. //获取父/子级赔率代码
  718. $p_code = $bet_match->p_code;
  719. $odds_code = $bet_match->odds_code;
  720. //==获取是否是滚球投注==
  721. $is_rolling = $bet_match->is_rolling;
  722. //如果是滚球投注,则进行危险球审核
  723. if ($is_rolling == 1) {
  724. $ret = commonFunction::WARN_CHECK($bet_match, $result_match);
  725. //如果审核不通过,则返回2 1赢 2平 -1输
  726. if ($ret['code'] == -1) {
  727. $data = [
  728. 'result' => 2,
  729. 'msg' => "滚球投注,危险球审核不通过",
  730. 'warn_more' => $ret['warn_more']
  731. ];
  732. return $data;
  733. }
  734. }
  735. //==end==
  736. //获取最终赛事数据
  737. $result_match = $this->getHalfData($result_match);
  738. //获取主客队上半场得分
  739. $half_home_score = $result_match->u_home_score;
  740. $half_guest_score = $result_match->u_guest_score;
  741. //获取主客队全场得分
  742. $full_home_score = $result_match->home_score;
  743. $full_guest_score = $result_match->guest_score;
  744. //半场/全场盘口
  745. if ($p_code != 'half_full') return false;
  746. //返回结果
  747. $data = [
  748. 'result' => 1,
  749. 'matchResult' => "$half_home_score-$half_guest_score(上半场);$full_home_score-$full_guest_score(全场)"
  750. ];
  751. switch ($odds_code) {
  752. case 'half_full_home_home':// 主-主
  753. if ($half_home_score > $half_guest_score and $full_home_score > $full_guest_score) return $data;
  754. break;
  755. case 'half_full_home_dogfall':// 主-和
  756. if ($half_home_score > $half_guest_score and $full_home_score == $full_guest_score) return $data;
  757. break;
  758. case 'half_full_home_guest':// 主-客
  759. if ($half_home_score > $half_guest_score and $full_home_score < $full_guest_score) return $data;
  760. break;
  761. case 'half_full_dogfall_home':// 和-主
  762. if ($half_home_score == $half_guest_score and $full_home_score > $full_guest_score) return $data;
  763. break;
  764. case 'half_full_dogfall_dogfall':// 和-和
  765. if ($half_home_score == $half_guest_score and $full_home_score == $full_guest_score) return $data;
  766. break;
  767. case 'half_full_dogfall_guest':// 和-客
  768. if ($half_home_score == $half_guest_score and $full_home_score < $full_guest_score) return $data;
  769. break;
  770. case 'half_full_guest_home':// 客-主
  771. if ($half_home_score < $half_guest_score and $full_home_score > $full_guest_score) return $data;
  772. break;
  773. case 'half_full_guest_dogfall':// 客-和
  774. if ($half_home_score < $half_guest_score and $full_home_score == $full_guest_score) return $data;
  775. break;
  776. case 'half_full_guest_guest':// 客-客
  777. if ($half_home_score < $half_guest_score and $full_home_score < $full_guest_score) return $data;
  778. break;
  779. default:
  780. return false;
  781. }
  782. $data['result'] = -1;
  783. return $data;
  784. }
  785. /**
  786. * @param $result_match_r 赛事结果记录
  787. * @return mixed 返回最新一条上半场结果数据
  788. */
  789. public function getHalfData($result_match_r = [])
  790. {
  791. return $result_match_r['0'];
  792. if (empty($result_match_r)) return false;
  793. if (is_array($result_match_r)) {
  794. foreach ($result_match_r as $k => $v) {
  795. return $v;
  796. }
  797. }
  798. }
  799. /**bo
  800. * 冠军盘口投注
  801. * $bet_match 投注赛事数据
  802. * $result_match 联赛结果 数据 根据玩法代码查询一条
  803. * $result_match_r 无用参数
  804. */
  805. public function gj($bet_match, $result_match, $result_match_r)
  806. {
  807. // $bet_match = DB::table('money_buy_match')->where('match_id', 127317)->first();
  808. // $bet_match->odds_code = '巴西小组赛积分成绩';
  809. // $result_match = DB::table('st_zq_league_result')->where(['lg_id'=>27317,'game_name'=>$bet_match->odds_code])->first();
  810. //获取 赛事最终数据
  811. $result_match = $this->getHalfData($result_match);
  812. if (empty($bet_match) || empty($result_match)) return false;
  813. if ($bet_match->p_code != 'gj') return false;//冠军玩法
  814. if ($bet_match->odds_code == $result_match->game_name) {
  815. $condition = $bet_match->condition;
  816. //进球数判断
  817. if (strpos($bet_match->odds_code, '进球数') !== false) {
  818. //返回结果
  819. $data = [
  820. 'result' => 1,
  821. 'matchResult' => "$result_match->result(球队进球数)"
  822. ];
  823. //获取数值
  824. $bet = $this->findNum($condition);
  825. //以上/以下判断
  826. if (strpos($condition, '上') !== false) {
  827. if ($bet < $result_match->result) {
  828. return $data;
  829. }
  830. $data['result'] = -1;
  831. return $data;
  832. }
  833. if (strpos($condition, '下') !== false) {
  834. if ($bet > $result_match->result) {
  835. return $data;
  836. }
  837. $data['result'] = -1;
  838. return $data;
  839. }
  840. //大/小判断
  841. if (strpos($condition, '大') !== false) {
  842. if ($bet < $result_match->result) {
  843. return $data;
  844. }
  845. $data['result'] = -1;
  846. return $data;
  847. }
  848. if (strpos($condition, '小') !== false) {
  849. if ($bet > $result_match->result) {
  850. return $data;
  851. }
  852. $data['result'] = -1;
  853. return $data;
  854. }
  855. }
  856. //积分成绩判断
  857. if (strpos($bet_match->odds_code, '积分') !== false) {
  858. //返回结果
  859. $data = [
  860. 'result' => 1,
  861. 'matchResult' => "$result_match->result(球队积分)"
  862. ];
  863. $condition = $bet_match->condition;
  864. //获取数值
  865. $bet = $this->findNum($condition);
  866. if ($bet == $result_match->result) {
  867. return $data;
  868. }
  869. $data['result'] = -1;
  870. return $data;
  871. }
  872. //如果条件中没有数字,则获取球队/球员结果
  873. if ((preg_match('/\d+/', $condition)) == 0) {
  874. //返回结果
  875. $data = [
  876. 'result' => 1,
  877. 'matchResult' => "$result_match->result(晋级球队)"
  878. ];
  879. $result = $this->teamJudge($condition, $result_match->result);
  880. if ($result) {
  881. return $data;
  882. }
  883. $data['result'] = -1;
  884. return $data;
  885. };
  886. return false;
  887. }
  888. return false;
  889. }
  890. /**
  891. * 冠军盘口 球队/球员结果判断
  892. */
  893. public function teamJudge($condition, $result)
  894. {
  895. //返回结果数组中是否包含该球队
  896. $result = in_array($condition, json_decode($result, true));
  897. return $result;
  898. }
  899. /**
  900. * @param string $str
  901. * @return string
  902. * 处理字符串中的数字
  903. */
  904. public function findNum($str = '')
  905. {
  906. $str = trim($str);
  907. if (empty($str)) {
  908. return '';
  909. }
  910. $result = '';
  911. for ($i = 0; $i < strlen($str); $i++) {
  912. if (is_numeric($str[$i]) || $str[$i] == '.') {
  913. $result .= $str[$i];
  914. }
  915. }
  916. //如果有小数点,返回浮点数
  917. if (strpos($result, '.')) return floatval($result);
  918. //返回整数
  919. return (int)$result;
  920. }
  921. /**
  922. * 角球相关--------->开始
  923. */
  924. public function corner_ball($model, $resultModels, $result_match_r)
  925. {
  926. //==获取是否是滚球投注==
  927. $is_rolling = $model->is_rolling;
  928. //如果是滚球投注,则进行危险球审核
  929. if ($is_rolling == 1) {
  930. $ret = commonFunction::WARN_CHECK($model, $resultModels);
  931. //如果审核不通过,则返回2 1赢 2平 -1输
  932. if ($ret['code'] == -1) {
  933. $data = [
  934. 'result' => 2,
  935. 'msg' => "滚球投注,危险球审核不通过",
  936. 'warn_more' => $ret['warn_more']
  937. ];
  938. return $data;
  939. }
  940. }
  941. //==end==
  942. $odds_code = $model->odds_code;
  943. $isHalf = strpos(strtolower($odds_code), 'half');
  944. if ($isHalf) {
  945. return $this->corner_ball_half($model, $resultModels, $result_match_r);
  946. } else {
  947. return $this->corner_ball_all($model, $resultModels, $result_match_r);
  948. }
  949. }
  950. public function corner_ball_all($model, $resultModels, $result_match_r)
  951. {
  952. $resultModel = $resultModels['0'];
  953. if ($resultModel->corner_ball == '') {
  954. $game_ret = json_decode(json_encode(['home' => 0, 'guest' => 0, 'home_half' => 0, 'guest_half' => 0]));
  955. } else {
  956. $game_ret = json_decode($resultModel->corner_ball);
  957. }
  958. $word = $game_ret->home . '-' . $game_ret->guest . "(全场)";
  959. $returnDatas = ['result' => -1, 'matchResult' => $word];
  960. $odds_code = $model->odds_code;
  961. switch ($odds_code) {
  962. case "corner_concede_home":
  963. $returnDatas = $this->zq_letball($game_ret->home - $game_ret->guest, $model->condition, $word);
  964. break;
  965. case "corner_concede_guest":
  966. $returnDatas = $this->zq_letball($game_ret->guest - $game_ret->home, $model->condition, $word);
  967. break;
  968. case "corner_goal_size_home":
  969. $returnDatas = $this->zq_inball_bigsmall($game_ret->home - $game_ret->guest, $model->condition, 2, $word);
  970. break;
  971. case "corner_goal_size_guest":
  972. $returnDatas = $this->zq_inball_bigsmall($game_ret->guest - $game_ret->home, $model->condition, 1, $word);
  973. break;
  974. case "corner_capot_home":
  975. $returnDatas = $this->zq_duyingv2(1, 4, $resultModel, $word);
  976. break;
  977. case "corner_capot_guest":
  978. $returnDatas = $this->zq_duyingv2(2, 4, $resultModel, $word);
  979. break;
  980. case "corner_capot_dogfall":
  981. $returnDatas['result'] = ($game_ret->home == $game_ret->guest) ? 1 : -1;
  982. break;
  983. case "corner_two_sides_single":
  984. $returnDatas = $this->zq_doublesing($game_ret->home + $game_ret->guest, $model->condition, $word);
  985. break;
  986. case "corner_two_sides_double":
  987. $returnDatas = $this->zq_doublesing($game_ret->home + $game_ret->guest, $model->condition, $word);
  988. break;
  989. default:
  990. $returnDatas = ['result' => 2, 'matchResult' => '(玩法无规则异常)-' . $odds_code];
  991. }
  992. return $returnDatas;
  993. }
  994. public function corner_ball_half($model, $resultModels, $result_match_r)
  995. {
  996. $resultModel = $resultModels['0'];
  997. if ($resultModel->corner_ball == '') {
  998. $game_ret = json_decode(json_encode(['home' => 0, 'guest' => 0, 'home_half' => 0, 'guest_half' => 0]));
  999. } else {
  1000. $game_ret = json_decode($resultModel->corner_ball);
  1001. }
  1002. $word = $game_ret->home_half . '-' . $game_ret->guest_half . "(上半场)";
  1003. $returnDatas = ['result' => -1, 'matchResult' => $word];
  1004. $odds_code = $model->odds_code;
  1005. switch ($odds_code) {
  1006. case "corner_half_concede_home":
  1007. $returnDatas = $this->zq_letball($game_ret->home_half - $game_ret->guest_half, $model->condition, $word);
  1008. break;
  1009. case "corner_half_concede_guest":
  1010. $returnDatas = $this->zq_letball($game_ret->guest_half - $game_ret->home_half, $model->condition, $word);
  1011. break;
  1012. case "corner_half_goal_size_home":
  1013. $returnDatas = $this->zq_inball_bigsmall($game_ret->home_half - $game_ret->guest_half, $model->condition, 2, $word);
  1014. break;
  1015. case "corner_half_goal_size_guest":
  1016. $returnDatas = $this->zq_inball_bigsmall($game_ret->guest_half - $game_ret->home_half, $model->condition, 1, $word);
  1017. break;
  1018. case "corner_half_capot_home":
  1019. $returnDatas = $this->zq_duyingv2(1, 1, $resultModel, $word);
  1020. break;
  1021. case "corner_half_capot_guest":
  1022. $returnDatas = $this->zq_duyingv2(2, 1, $resultModel, $word);
  1023. break;
  1024. case "corner_half_capot_dogfall":
  1025. $returnDatas['result'] = ($game_ret->home_half == $game_ret->guest_half) ? 1 : -1;
  1026. break;
  1027. case "corner_half_two_sides_single":
  1028. $returnDatas = $this->zq_doublesing($game_ret->home_half + $game_ret->guest_half, $model->condition, $word);
  1029. break;
  1030. case "corner_half_two_sides_double":
  1031. $returnDatas = $this->zq_doublesing($game_ret->home_half + $game_ret->guest_half, $model->condition, $word);
  1032. break;
  1033. default:
  1034. $returnDatas = ['result' => 2, 'matchResult' => '(玩法无规则异常)-' . $odds_code];
  1035. }
  1036. return $returnDatas;
  1037. }
  1038. /**
  1039. * 角球相关--------->结束
  1040. */
  1041. //净胜球相关
  1042. public function sw_WM($model, $resultModels, $result_match_r)
  1043. {
  1044. //==获取是否是滚球投注==
  1045. $is_rolling = $model->is_rolling;
  1046. //如果是滚球投注,则进行危险球审核
  1047. if ($is_rolling == 1) {
  1048. $ret = commonFunction::WARN_CHECK($model, $resultModels);
  1049. //如果审核不通过,则返回2 1赢 2平 -1输
  1050. if ($ret['code'] == -1) {
  1051. $data = [
  1052. 'result' => 2,
  1053. 'msg' => "滚球投注,危险球审核不通过",
  1054. 'warn_more' => $ret['warn_more']
  1055. ];
  1056. return $data;
  1057. }
  1058. }
  1059. //==end==
  1060. $resultModel = $resultModels['0'];
  1061. $home = intval($resultModel->home_score);
  1062. $guest = intval($resultModel->guest_score);
  1063. $word = $home . '-' . $guest . '(全场)';
  1064. $game_odds = $model->odde_code;
  1065. switch ($game_odds) {
  1066. case 'ior_WMH1':
  1067. $ret = $this->zq_jingshengqiu($home, $guest, 1, $word);
  1068. break;
  1069. case 'ior_WMH2':
  1070. $ret = $this->zq_jingshengqiu($home, $guest, 2, $word);
  1071. break;
  1072. case 'ior_WMH3':
  1073. $ret = $this->zq_jingshengqiu($home, $guest, 3, $word);
  1074. break;
  1075. case 'ior_WMHOV':
  1076. $ret = $this->zq_jingshengqiu($home, $guest, 4, $word);
  1077. break;
  1078. case 'ior_WMC1':
  1079. $ret = $this->zq_jingshengqiu($guest, $home, 1, $word);
  1080. break;
  1081. case 'ior_WMC2':
  1082. $ret = $this->zq_jingshengqiu($guest, $home, 2, $word);
  1083. break;
  1084. case 'ior_WMC3':
  1085. $ret = $this->zq_jingshengqiu($guest, $home, 3, $word);
  1086. break;
  1087. case 'ior_WMCOV':
  1088. $ret = $this->zq_jingshengqiu($guest, $home, 4, $word);
  1089. break;
  1090. case 'ior_WM0':
  1091. $ret = $this->zq_jingshengqiu($home, $guest, 0, $word);
  1092. break;
  1093. case 'ior_WMN':
  1094. $ret = $this->zq_jingshengqiu($guest, $home, 99, $word);
  1095. break;
  1096. default:
  1097. $ret = $this->return_error;
  1098. break;
  1099. }
  1100. return $ret;
  1101. }
  1102. //足球净胜球胜负判断
  1103. private function zq_jingshengqiu($winScore, $loseScore, $condNum, $word)
  1104. {
  1105. if (in_array($condNum, [1, 2, 3])) {
  1106. if ($winScore - $loseScore = $condNum) {
  1107. return ['result' => 1, 'matchResult' => $word];
  1108. } else {
  1109. return ['result' => -1, 'matchResult' => $word];
  1110. }
  1111. }
  1112. if ($condNum == 4) {
  1113. if ($winScore - $loseScore >= 4) {
  1114. return ['result' => 1, 'matchResult' => $word];
  1115. } else {
  1116. return ['result' => -1, 'matchResult' => $word];
  1117. }
  1118. }
  1119. if ($condNum == 0) {
  1120. if ($winScore == 0 && $loseScore == 0) {
  1121. return ['result' => 1, 'matchResult' => $word];
  1122. } else {
  1123. return ['result' => -1, 'matchResult' => $word];
  1124. }
  1125. }
  1126. if ($condNum == 99) {
  1127. if ($winScore > 0 && $winScore == $loseScore) {
  1128. return ['result' => 1, 'matchResult' => $word];
  1129. } else {
  1130. return ['result' => -1, 'matchResult' => $word];
  1131. }
  1132. }
  1133. return $this->return_error;
  1134. }
  1135. /**
  1136. * 罚球相关 开始
  1137. */
  1138. public function penalty_card($model, $resultModels, $result_match_r)
  1139. {
  1140. //==获取是否是滚球投注==
  1141. $is_rolling = $model->is_rolling;
  1142. //如果是滚球投注,则进行危险球审核
  1143. if ($is_rolling == 1) {
  1144. $ret = commonFunction::WARN_CHECK($model, $resultModels);
  1145. //如果审核不通过,则返回2 1赢 2平 -1输
  1146. if ($ret['code'] == -1) {
  1147. $data = [
  1148. 'result' => 2,
  1149. 'msg' => "滚球投注,危险球审核不通过",
  1150. 'warn_more' => $ret['warn_more']
  1151. ];
  1152. return $data;
  1153. }
  1154. }
  1155. //==end==
  1156. $odde_code = $model->odde_code;
  1157. $isHalf = strpos(strtolower($odde_code), 'half');
  1158. if ($isHalf) {
  1159. return $this->penalty_card_half($model, $resultModels, $result_match_r);
  1160. } else {
  1161. return $this->penalty_card_all($model, $resultModels, $result_match_r);
  1162. }
  1163. }
  1164. public function penalty_card_half($model, $resultModels, $result_match_r)
  1165. {
  1166. $resultModel = $resultModels['0'];
  1167. if ($resultModel->conner_ball == '') {
  1168. $game_ret = json_decode(json_encode(['home' => 0, 'guest' => 0, 'home_half' => 0, 'guest_half' => 0]));
  1169. } else {
  1170. $game_ret = json_decode($resultModel->penalty_card);
  1171. }
  1172. $word = $game_ret->home_half . '-' . $game_ret->guest_half . "(上半场)";
  1173. $returnDatas = ['result' => -1, 'matchResult' => $word];
  1174. $odds_code = $model->odds_code;
  1175. switch ($odds_code) {
  1176. case "penalty_half_concede_home":
  1177. $returnDatas = $this->zq_letball($game_ret->home_half - $game_ret->guest_half, $model->condition, $word);
  1178. break;
  1179. case "penalty_half_concede_guest":
  1180. $returnDatas = $this->zq_letball($game_ret->guest_half - $game_ret->home_half, $model->condition, $word);
  1181. break;
  1182. case "penalty_half_goal_size_home":
  1183. $returnDatas = $this->zq_inball_bigsmall($game_ret->home_half - $game_ret->guest_half, $model->condition, 2, $word);
  1184. break;
  1185. case "penalty_half_goal_size_guest":
  1186. $returnDatas = $this->zq_inball_bigsmall($game_ret->guest_half - $game_ret->home_half, $model->condition, 1, $word);
  1187. break;
  1188. case "penalty_half_capot_home":
  1189. $returnDatas = $this->zq_duyingv2(1, 1, $resultModel, $word);
  1190. break;
  1191. case "penalty_half_capot_guest":
  1192. $returnDatas = $this->zq_duyingv2(2, 1, $resultModel, $word);
  1193. break;
  1194. case "penalty_half_capot_dogfall":
  1195. $returnDatas['result'] = ($game_ret->home_half == $game_ret->guest_half) ? 1 : -1;
  1196. break;
  1197. case "penalty_half_two_sides_single":
  1198. $returnDatas = $this->zq_doublesing($game_ret->home_half + $game_ret->guest_half, $model->condition, $word);
  1199. break;
  1200. case "penalty_half_two_sides_double":
  1201. $returnDatas = $this->zq_doublesing($game_ret->home_half + $game_ret->guest_half, $model->condition, $word);
  1202. break;
  1203. default:
  1204. $returnDatas = ['result' => 2, 'matchResult' => '(玩法无规则异常)-' . $odds_code];
  1205. }
  1206. return $returnDatas;
  1207. }
  1208. public function penalty_card_all($model, $resultModels, $result_match_r)
  1209. {
  1210. $resultModel = $resultModels['0'];
  1211. if ($resultModel->conner_ball == '') {
  1212. $game_ret = json_decode(json_encode(['home' => 0, 'guest' => 0, 'home_half' => 0, 'guest_half' => 0]));
  1213. } else {
  1214. $game_ret = json_decode($resultModel->penalty_card);
  1215. }
  1216. $word = $game_ret->home . '-' . $game_ret->guest . "(全场)";
  1217. $returnDatas = ['result' => -1, 'matchResult' => $word];
  1218. $odds_code = $model->odds_code;
  1219. switch ($odds_code) {
  1220. case "penalty_concede_home":
  1221. $returnDatas = $this->zq_letball($game_ret->home - $game_ret->guest, $model->condition, $word);
  1222. break;
  1223. case "penalty_concede_guest":
  1224. $returnDatas = $this->zq_letball($game_ret->guest - $game_ret->home, $model->condition, $word);
  1225. break;
  1226. case "penalty_goal_size_home":
  1227. $returnDatas = $this->zq_inball_bigsmall($game_ret->home - $game_ret->guest, $model->condition, 2, $word);
  1228. break;
  1229. case "penalty_goal_size_guest":
  1230. $returnDatas = $this->zq_inball_bigsmall($game_ret->guest - $game_ret->home, $model->condition, 1, $word);
  1231. break;
  1232. case "penalty_capot_home":
  1233. $returnDatas = $this->zq_duyingv2(1, 4, $resultModel, $word);
  1234. break;
  1235. case "penalty_capot_guest":
  1236. $returnDatas = $this->zq_duyingv2(2, 4, $resultModel, $word);
  1237. break;
  1238. case "penalty_capot_dogfall":
  1239. $returnDatas['result'] = ($game_ret->home == $game_ret->guest) ? 1 : -1;
  1240. break;
  1241. case "penalty_two_sides_single":
  1242. $returnDatas = $this->zq_doublesing($game_ret->home + $game_ret->guest, $model->condition, $word);
  1243. break;
  1244. case "penalty_two_sides_double":
  1245. $returnDatas = $this->zq_doublesing($game_ret->home + $game_ret->guest, $model->condition, $word);
  1246. break;
  1247. default:
  1248. $returnDatas = ['result' => 2, 'matchResult' => '(玩法无规则异常)-' . $odds_code];
  1249. }
  1250. return $returnDatas;
  1251. }
  1252. /**
  1253. * 发球相关 结束
  1254. */
  1255. /*
  1256. * 双重机会
  1257. * User: Tank
  1258. * Date: 2019/6/28
  1259. * Time: 10:19
  1260. */
  1261. public function sw_DC($bet_match = '', $result_match = [], $result_match_r = [])
  1262. {
  1263. if (empty($bet_match) || empty($result_match)) return false;
  1264. $isgqwx = $this->GunqiuWeixian($bet_match, $result_match, $result_match_r);
  1265. if ($isgqwx) {
  1266. return $isgqwx;
  1267. }
  1268. $result_match = $result_match['0'];
  1269. //获取父/子级赔率代码
  1270. $p_code = $bet_match->p_code;
  1271. $odds_code = $bet_match->odds_code;
  1272. //获取主客队全场得分
  1273. $full_home_score = $result_match->home_score;
  1274. $full_guest_score = $result_match->guest_score;
  1275. //双重机会
  1276. if ($p_code != 'sw_DC') return false;
  1277. //返回结果
  1278. $data = [
  1279. 'result' => 1,
  1280. 'matchResult' => "$full_home_score-$full_guest_score(全场)"
  1281. ];
  1282. switch ($odds_code) {
  1283. case 'ior_DCHN':// 主队/和局
  1284. if ($full_home_score > $full_guest_score || $full_home_score == $full_guest_score) return $data;
  1285. break;
  1286. case 'ior_DCCN':// 客队/和局
  1287. if ($full_home_score < $full_guest_score || $full_home_score == $full_guest_score) return $data;
  1288. break;
  1289. case 'ior_DCHC':// 主队/客队
  1290. if ($full_home_score > $full_guest_score || $full_home_score < $full_guest_score) return $data;
  1291. break;
  1292. default:
  1293. return false;
  1294. }
  1295. $data['result'] = -1;
  1296. return $data;
  1297. }
  1298. /*
  1299. * 三项让球投注
  1300. * User: Tank
  1301. * Date: 2019/6/28
  1302. * Time: 10:19
  1303. */
  1304. public function sw_W3($bet_match = '', $result_match = '', $result_match_r = [])
  1305. {
  1306. if (empty($bet_match) || empty($result_match)) return false;
  1307. $isgqwx = $this->GunqiuWeixian($bet_match, $result_match, $result_match_r);
  1308. if ($isgqwx) {
  1309. return $isgqwx;
  1310. }
  1311. $result_match = $result_match['0'];
  1312. //获取父/子级赔率代码
  1313. $p_code = $bet_match->p_code;
  1314. $odds_code = $bet_match->odds_code;
  1315. //获取主客队全场比分
  1316. $full_home_score = $result_match->home_score;
  1317. $full_guest_score = $result_match->guest_score;
  1318. //三项让球投注
  1319. if ($p_code != 'sw_W3') return false;
  1320. //返回结果
  1321. $data = [
  1322. 'result' => 1,
  1323. 'matchResult' => "$full_home_score-$full_guest_score(全场)"
  1324. ];
  1325. switch ($odds_code) {
  1326. case 'ior_W3H':// 让球|主队 +1
  1327. //如果 主队-客队 比分 > 1,则 赢
  1328. if (($full_home_score - $full_guest_score) > 1) return $data;
  1329. $data['result'] = 2;
  1330. //如果 主队-客队 比分 = 1,则 平
  1331. if (($full_home_score - $full_guest_score) == 1) return $data;
  1332. break;
  1333. case 'ior_W3C':// 让球|客队 -1
  1334. $data['result'] = 2;
  1335. //如果 主队-客队 比分 = 1,则 平
  1336. if (($full_home_score - $full_guest_score) == 1) return $data;
  1337. break;
  1338. case 'ior_W3N':// 让球|和局 +1
  1339. //如果 主队-客队 比分 = 1,则 赢
  1340. if (($full_home_score - $full_guest_score) == 1) return $data;
  1341. break;
  1342. default:
  1343. return false;
  1344. }
  1345. $data['result'] = -1;
  1346. return $data;
  1347. }
  1348. /*
  1349. * 零失球
  1350. * User: Tank
  1351. * Date: 2019/6/28
  1352. * Time: 10:19
  1353. */
  1354. public function sw_CS($bet_match = '', $result_match = '', $result_match_r = [])
  1355. {
  1356. if (empty($bet_match) || empty($result_match)) return false;
  1357. $isgqwx = $this->GunqiuWeixian($bet_match, $result_match, $result_match_r);
  1358. if ($isgqwx) {
  1359. return $isgqwx;
  1360. }
  1361. $result_match = $result_match['0'];
  1362. //获取父/子级赔率代码
  1363. $p_code = $bet_match->p_code;
  1364. $odds_code = $bet_match->odds_code;
  1365. //获取主客队全场比分
  1366. $full_home_score = $result_match->home_score;
  1367. $full_guest_score = $result_match->guest_score;
  1368. //零失球
  1369. if ($p_code != 'sw_CS') return false;
  1370. //返回结果
  1371. $data = [
  1372. 'result' => 1,
  1373. 'matchResult' => "$full_home_score-$full_guest_score(全场)"
  1374. ];
  1375. switch ($odds_code) {
  1376. case 'ior_CSH':// 零失球|主队
  1377. //客队 比分 为 0
  1378. if ($full_guest_score == 0) return $data;
  1379. break;
  1380. case 'ior_CSC':// 零失球|客队
  1381. //主队 比分 为 0
  1382. if ($full_home_score == 0) return $data;
  1383. break;
  1384. default:
  1385. return false;
  1386. }
  1387. $data['result'] = -1;
  1388. return $data;
  1389. }
  1390. /*
  1391. * 零失球获胜
  1392. * User: Tank
  1393. * Date: 2019/6/28
  1394. * Time: 10:19
  1395. */
  1396. public function sw_WN($bet_match = '', $result_match = '', $result_match_r = [])
  1397. {
  1398. if (empty($bet_match) || empty($result_match)) return false;
  1399. $isgqwx = $this->GunqiuWeixian($bet_match, $result_match, $result_match_r);
  1400. if ($isgqwx) {
  1401. return $isgqwx;
  1402. }
  1403. $result_match = $result_match['0'];
  1404. //获取父/子级赔率代码
  1405. $p_code = $bet_match->p_code;
  1406. $odds_code = $bet_match->odds_code;
  1407. //获取主客队全场比分
  1408. $full_home_score = $result_match->home_score;
  1409. $full_guest_score = $result_match->guest_score;
  1410. //零失球
  1411. if ($p_code != 'sw_WN') return false;
  1412. //返回结果
  1413. $data = [
  1414. 'result' => 1,
  1415. 'matchResult' => "$full_home_score-$full_guest_score(全场)"
  1416. ];
  1417. switch ($odds_code) {
  1418. case 'ior_WNH':// 零失球获胜|主队
  1419. //客队 比分 为 0 并且 主队 大于 客队
  1420. if ($full_home_score > $full_guest_score and $full_guest_score == 0) return $data;
  1421. break;
  1422. case 'ior_WNC':// 零失球获胜|客队
  1423. //主队 比分 为 0 并且 客队 大于 主队
  1424. if ($full_home_score < $full_guest_score || $full_home_score == 0) return $data;
  1425. break;
  1426. default:
  1427. return false;
  1428. }
  1429. $data['result'] = -1;
  1430. return $data;
  1431. }
  1432. /*
  1433. * 赢得所有半场
  1434. * User: Tank
  1435. * Date: 2019/6/28
  1436. * Time: 10:19
  1437. */
  1438. public function sw_WB($bet_match = '', $result_match = '', $result_match_r = [])
  1439. {
  1440. if (empty($bet_match) || empty($result_match)) return false;
  1441. $isgqwx = $this->GunqiuWeixian($bet_match, $result_match, $result_match_r);
  1442. if ($isgqwx) {
  1443. return $isgqwx;
  1444. }
  1445. $result_match = $result_match['0'];
  1446. //获取父/子级赔率代码
  1447. $p_code = $bet_match->p_code;
  1448. $odds_code = $bet_match->odds_code;
  1449. //获取主客队全场比分
  1450. $full_home_score = $result_match->home_score;
  1451. $full_guest_score = $result_match->guest_score;
  1452. //获取主客队上半场得分
  1453. $half_home_score = $result_match->u_home_score;
  1454. $half_guest_score = $result_match->u_guest_score;
  1455. //赢得所有半场
  1456. if ($p_code != 'sw_WB') return false;
  1457. //返回结果
  1458. $data = [
  1459. 'result' => 1,
  1460. 'matchResult' => "$full_home_score-$full_guest_score(全场)"
  1461. ];
  1462. switch ($odds_code) {
  1463. case 'ior_WBH':// 赢得所有半场|主队
  1464. //上半场/下半场 都满足 主队 > 客队
  1465. if (($full_home_score - $half_home_score) > ($full_guest_score - $half_guest_score) and $half_home_score > $half_guest_score) return $data;
  1466. break;
  1467. case 'ior_WBC':// 赢得所有半场|客队
  1468. //上半场/下半场 都满足 主队 < 客队
  1469. if (($full_home_score - $half_home_score) < ($full_guest_score - $half_guest_score) and $half_home_score < $half_guest_score) return $data;
  1470. break;
  1471. default:
  1472. return false;
  1473. }
  1474. $data['result'] = -1;
  1475. return $data;
  1476. }
  1477. /*
  1478. * 赢得任一半场
  1479. * User: Tank
  1480. * Date: 2019/6/28
  1481. * Time: 10:19
  1482. */
  1483. public function sw_WE($bet_match = '', $result_match = '', $result_match_r = [])
  1484. {
  1485. if (empty($bet_match) || empty($result_match)) return false;
  1486. $isgqwx = $this->GunqiuWeixian($bet_match, $result_match, $result_match_r);
  1487. if ($isgqwx) {
  1488. return $isgqwx;
  1489. }
  1490. $result_match = $result_match['0'];
  1491. //获取父/子级赔率代码
  1492. $p_code = $bet_match->p_code;
  1493. $odds_code = $bet_match->odds_code;
  1494. //获取主客队全场比分
  1495. $full_home_score = $result_match->home_score;
  1496. $full_guest_score = $result_match->guest_score;
  1497. //获取主客队上半场得分
  1498. $half_home_score = $result_match->u_home_score;
  1499. $half_guest_score = $result_match->u_guest_score;
  1500. //赢得任一半场
  1501. if ($p_code != 'sw_WE') return false;
  1502. //返回结果
  1503. $data = [
  1504. 'result' => 1,
  1505. 'matchResult' => "$full_home_score-$full_guest_score(全场)"
  1506. ];
  1507. switch ($odds_code) {
  1508. case 'ior_WEH':// 赢得任一半场|主队
  1509. //上半场/下半场 任一满足 主队 > 客队
  1510. if (($full_home_score - $half_home_score) > ($full_guest_score - $half_guest_score) || $half_home_score > $half_guest_score) return $data;
  1511. break;
  1512. case 'ior_WEC':// 赢得任一半场|客队
  1513. //上半场/下半场 任一满足 主队 < 客队
  1514. if (($full_home_score - $half_home_score) < ($full_guest_score - $half_guest_score) || $half_home_score < $half_guest_score) return $data;
  1515. break;
  1516. default:
  1517. return false;
  1518. }
  1519. $data['result'] = -1;
  1520. return $data;
  1521. }
  1522. /*
  1523. * 双半场进球
  1524. * User: Tank
  1525. * Date: 2019/6/28
  1526. * Time: 10:19
  1527. */
  1528. public function sw_SB($bet_match = '', $result_match = '', $result_match_r = [])
  1529. {
  1530. if (empty($bet_match) || empty($result_match)) return false;
  1531. $isgqwx = $this->GunqiuWeixian($bet_match, $result_match, $result_match_r);
  1532. if ($isgqwx) {
  1533. return $isgqwx;
  1534. }
  1535. $result_match = $result_match['0'];
  1536. //获取父/子级赔率代码
  1537. $p_code = $bet_match->p_code;
  1538. $odds_code = $bet_match->odds_code;
  1539. //获取主客队全场比分
  1540. $full_home_score = $result_match->home_score;
  1541. $full_guest_score = $result_match->guest_score;
  1542. //获取主客队上半场得分
  1543. $half_home_score = $result_match->u_home_score;
  1544. $half_guest_score = $result_match->u_guest_score;
  1545. //双半场进球
  1546. if ($p_code != 'sw_SB') return false;
  1547. //返回结果
  1548. $data = [
  1549. 'result' => 1,
  1550. 'matchResult' => "$full_home_score-$full_guest_score(全场)"
  1551. ];
  1552. switch ($odds_code) {
  1553. case 'ior_SBH':// 双半场进球|主队
  1554. //上半场/下半场 主队都有 进球
  1555. if (($full_home_score - $half_home_score) > 0 and $half_home_score > 0) return $data;
  1556. break;
  1557. case 'ior_SBC':// 双半场进球|客队
  1558. //上半场/下半场 客队都有 进球
  1559. if (($full_guest_score - $half_guest_score) > 0 and $half_guest_score > 0) return $data;
  1560. break;
  1561. default:
  1562. return false;
  1563. }
  1564. $data['result'] = -1;
  1565. return $data;
  1566. }
  1567. /*
  1568. * 最多进球半场
  1569. * User: Tank
  1570. * Date: 2019/6/28
  1571. * Time: 10:19
  1572. */
  1573. public function sw_HG($bet_match = '', $result_match = '', $result_match_r = [])
  1574. {
  1575. if (empty($bet_match) || empty($result_match)) return false;
  1576. $isgqwx = $this->GunqiuWeixian($bet_match, $result_match, $result_match_r);
  1577. if ($isgqwx) {
  1578. return $isgqwx;
  1579. }
  1580. $result_match = $result_match['0'];
  1581. //获取父/子级赔率代码
  1582. $p_code = $bet_match->p_code;
  1583. $odds_code = $bet_match->odds_code;
  1584. //获取主客队全场比分
  1585. $full_home_score = $result_match->home_score;
  1586. $full_guest_score = $result_match->guest_score;
  1587. //获取主客队上半场得分
  1588. $half_home_score = $result_match->u_home_score;
  1589. $half_guest_score = $result_match->u_guest_score;
  1590. //获取下半场得分
  1591. $lower_home_score = $full_home_score - $half_home_score;
  1592. $lower_guest_score = $half_guest_score - $half_guest_score;
  1593. //最多进球半场
  1594. if ($p_code != 'sw_HG') return false;
  1595. //返回结果
  1596. $data = [
  1597. 'result' => 1,
  1598. 'matchResult' => "$full_home_score-$full_guest_score(全场)"
  1599. ];
  1600. switch ($odds_code) {
  1601. case 'ior_HGH':// 最多进球半场|上半场
  1602. //主队+客队上半场 > 主队+客队下半场
  1603. if (($half_home_score + $half_guest_score) > ($lower_home_score + $lower_guest_score)) return $data;
  1604. break;
  1605. case 'ior_HGC':// 最多进球半场|下半场
  1606. //主队+客队上半场 < 主队+客队下半场
  1607. if (($half_home_score + $half_guest_score) < ($lower_home_score + $lower_guest_score)) return $data;
  1608. break;
  1609. default:
  1610. return false;
  1611. }
  1612. $data['result'] = -1;
  1613. return $data;
  1614. }
  1615. /*
  1616. * 最多进球半场-独赢
  1617. * User: Tank
  1618. * Date: 2019/6/28
  1619. * Time: 10:19
  1620. */
  1621. public function sw_MG($bet_match = '', $result_match = '', $result_match_r = [])
  1622. {
  1623. if (empty($bet_match) || empty($result_match)) return false;
  1624. $isgqwx = $this->GunqiuWeixian($bet_match, $result_match, $result_match_r);
  1625. if ($isgqwx) {
  1626. return $isgqwx;
  1627. }
  1628. $result_match = $result_match['0'];
  1629. //获取父/子级赔率代码
  1630. $p_code = $bet_match->p_code;
  1631. $odds_code = $bet_match->odds_code;
  1632. //获取主客队全场比分
  1633. $full_home_score = $result_match->home_score;
  1634. $full_guest_score = $result_match->guest_score;
  1635. //获取主客队上半场得分
  1636. $half_home_score = $result_match->u_home_score;
  1637. $half_guest_score = $result_match->u_guest_score;
  1638. //获取下半场得分
  1639. $lower_home_score = $full_home_score - $half_home_score;
  1640. $lower_guest_score = $half_guest_score - $half_guest_score;
  1641. //最多进球半场-独赢
  1642. if ($p_code != 'sw_MG') return false;
  1643. //返回结果
  1644. $data = [
  1645. 'result' => 1,
  1646. 'matchResult' => "$full_home_score-$full_guest_score(全场)"
  1647. ];
  1648. switch ($odds_code) {
  1649. case 'ior_MGH':// 最多进球半场-独赢|上半场
  1650. //主队+客队上半场 > 主队+客队下半场 and 主队 独赢
  1651. if (($half_home_score + $half_guest_score) > ($lower_home_score + $lower_guest_score) and $full_home_score > $full_guest_score) return $data;
  1652. break;
  1653. case 'ior_MGC':// 最多进球半场-独赢|下半场
  1654. //主队+客队上半场 < 主队+客队下半场 and 主队 独赢
  1655. if (($half_home_score + $half_guest_score) < ($lower_home_score + $lower_guest_score) and $full_home_score > $full_guest_score) return $data;
  1656. break;
  1657. case 'ior_MGN':// 最多进球半场-独赢|和局
  1658. //全场主队 == 全场客队
  1659. if ($full_home_score == $full_guest_score) return $data;
  1660. break;
  1661. default:
  1662. return false;
  1663. }
  1664. $data['result'] = -1;
  1665. return $data;
  1666. }
  1667. /*
  1668. * 首个进球时间
  1669. * User: Tank
  1670. * Date: 2019/6/28
  1671. * Time: 10:19
  1672. */
  1673. public function sw_T1G($bet_match = '', $result_match = '', $result_match_r = [])
  1674. {
  1675. if (empty($bet_match) || empty($result_match)) return false;
  1676. $isgqwx = $this->GunqiuWeixian($bet_match, $result_match, $result_match_r);
  1677. if ($isgqwx) {
  1678. return $isgqwx;
  1679. }
  1680. $result_match = $result_match['0'];
  1681. //获取父/子级赔率代码
  1682. $p_code = $bet_match->p_code;
  1683. $odds_code = $bet_match->odds_code;
  1684. //获取 首进球 时间
  1685. $first_score = json_decode($result_match->first_score, true);
  1686. $first_time_int = $first_score['scoretime'];//$result_match;//{"teamscore":0,"scoretime":0,"scoretype":0}
  1687. // $first_time_int = 0;
  1688. // if($first_time_str) {
  1689. // $first_time_int = (int)substr($first_time_str,0,strpos($first_time_str, ':'));
  1690. // }
  1691. //首个进球时间
  1692. if ($p_code != 'sw_T1G') return false;
  1693. //返回结果
  1694. $data = [
  1695. 'result' => 1,
  1696. 'matchResult' => "$first_time_int(首进球时间)"
  1697. ];
  1698. switch ($odds_code) {
  1699. case 'ior_T1G1'://上半场开场-14:59分钟
  1700. if ($first_time_int < 15) return $data;
  1701. break;
  1702. case 'ior_T1G2'://15:00分钟-29:59分钟
  1703. if (15 <= $first_time_int and $first_time_int < 30) return $data;
  1704. break;
  1705. case 'ior_T1G3'://30:00分钟-半场
  1706. if (30 <= $first_time_int and $first_time_int < 45) return $data;
  1707. break;
  1708. case 'ior_T1G4'://下半场开场-59:59分钟
  1709. if (45 <= $first_time_int and $first_time_int < 60) return $data;
  1710. break;
  1711. case 'ior_T1G5'://60:00分钟-74:59分钟
  1712. if (60 <= $first_time_int and $first_time_int < 75) return $data;
  1713. break;
  1714. case 'ior_T1G6'://75:00分钟-全场完场
  1715. if (75 <= $first_time_int and $first_time_int < 90) return $data;
  1716. break;
  1717. case 'ior_T1GN'://无进球
  1718. $data['matchResult'] = '没有进球';
  1719. if ($first_time_int == 0) return $data;
  1720. break;
  1721. default:
  1722. return false;
  1723. }
  1724. $data['result'] = -1;
  1725. return $data;
  1726. }
  1727. /*
  1728. * 首个进球时间-3项
  1729. * User: Tank
  1730. * Date: 2019/6/28
  1731. * Time: 10:19
  1732. */
  1733. public function sw_T3G($bet_match = '', $result_match = '', $result_match_r = [])
  1734. {
  1735. if (empty($bet_match) || empty($result_match)) return false;
  1736. $isgqwx = $this->GunqiuWeixian($bet_match, $result_match, $result_match_r);
  1737. if ($isgqwx) {
  1738. return $isgqwx;
  1739. }
  1740. $result_match = $result_match['0'];
  1741. //获取父/子级赔率代码
  1742. $p_code = $bet_match->p_code;
  1743. $odds_code = $bet_match->odds_code;
  1744. //获取 首进球 时间
  1745. $first_score = json_decode($result_match->first_score, true);
  1746. $first_time_int = $first_score['scoretime'];//$result_match;//{"teamscore":0,"scoretime":0,"scoretype":0}
  1747. // $first_time_int = 0;
  1748. // if($first_time_str) {
  1749. // $first_time_int = (int)substr($first_time_str,0,strpos($first_time_str, ':'));
  1750. // }
  1751. //首个进球时间-3项
  1752. if ($p_code != 'sw_T3G') return false;
  1753. //返回结果
  1754. $data = [
  1755. 'result' => 1,
  1756. 'matchResult' => "$first_time_int(首进球时间)"
  1757. ];
  1758. switch ($odds_code) {
  1759. case 'ior_T3G1'://第26分钟或之前
  1760. if ($first_time_int <= 26) return $data;
  1761. break;
  1762. case 'ior_T3G2'://第27分钟或之后
  1763. if (27 <= $first_time_int) return $data;
  1764. break;
  1765. case 'ior_T1GN'://无进球
  1766. $data['matchResult'] = '没有进球';
  1767. if ($first_time_int == 0) return $data;
  1768. break;
  1769. default:
  1770. return false;
  1771. }
  1772. $data['result'] = -1;
  1773. return $data;
  1774. }
  1775. /**
  1776. * 双方球队进球
  1777. * @param mixed $model 注单表数据
  1778. * @param mixed $resultModels 结果表数据
  1779. * @param mixed $resultRecords 结果记录表数据
  1780. * model--money_buy_match resultModels--st_zq_result resultRecords--st_zq_result_record
  1781. * @return string jimy start
  1782. */
  1783. public function sw_TS($model, $resultModels, $resultRecords)
  1784. {
  1785. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  1786. if ($isgqwx) {
  1787. return $isgqwx;
  1788. }
  1789. $resultModel = $resultModels['0'];
  1790. $allword = $resultModel->home_score . '-' . $resultModel->guest_score . "(全场)";
  1791. $hlefword = $resultModel->u_home_score . '-' . $resultModel->u_guest_score . "(上半场)";
  1792. $odds_code = $model->odds_code;
  1793. switch ($odds_code) {
  1794. case "ior_TSY":
  1795. $returnDatas = $this->isgoal($resultModel, $model, ior_TSY, $allword);
  1796. break;
  1797. case "ior_TSN":
  1798. $returnDatas = $this->isgoal($resultModel, $model, ior_TSN, $allword);
  1799. break;
  1800. case "ior_HTSY":
  1801. $returnDatas = $this->isgoal($resultModel, $model, ior_HTSY, $hlefword);
  1802. break;
  1803. case "ior_HTSN":
  1804. $returnDatas = $this->isgoal($resultModel, $model, ior_HTSN, $hlefword);
  1805. break;
  1806. default:
  1807. $returnDatas = ['result' => 2, 'matchResult' => '(玩法无规则异常)-' . $odds_code];
  1808. }
  1809. return $returnDatas;
  1810. }
  1811. /**
  1812. * 独赢&进球大小
  1813. * @param mixed $model 注单表数据
  1814. * @param mixed $resultModels 结果表数据
  1815. * @param mixed $resultRecords 结果记录表数据
  1816. * model--money_buy_match resultModels--st_zq_result resultRecords--st_zq_result_record
  1817. * @return string
  1818. * 注:大1.5|和局 主队-客队大于1.5 并且为和局 小1.5|和局 主队-客队小于1.5 并且为和局
  1819. */
  1820. public function sw_MOU($model, $resultModels, $resultRecords)
  1821. {
  1822. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  1823. if ($isgqwx) {
  1824. return $isgqwx;
  1825. }
  1826. $resultModel = $resultModels['0'];
  1827. $allword = $resultModel->home_score . '-' . $resultModel->guest_score . "(主队全场-客队全场)";
  1828. $odds_code = $model->odds_code;
  1829. switch ($odds_code) {
  1830. case "ior_MOUAHO":
  1831. $returnDatas = $this->isonlysize($resultModel, $model, ior_MOUAHO, $allword);
  1832. break;
  1833. case "ior_MOUAHU":
  1834. $returnDatas = $this->isonlysize($resultModel, $model, ior_MOUAHU, $allword);
  1835. break;
  1836. case "ior_MOUACO":
  1837. $returnDatas = $this->isonlysize($resultModel, $model, ior_MOUACO, $allword);
  1838. break;
  1839. case "ior_MOUACU":
  1840. $returnDatas = $this->isonlysize($resultModel, $model, ior_MOUACU, $allword);
  1841. break;
  1842. case "ior_MOUANO":
  1843. $returnDatas = $this->isonlysize($resultModel, $model, ior_MOUANO, $allword);
  1844. break;
  1845. case "ior_MOUANU":
  1846. $returnDatas = $this->isonlysize($resultModel, $model, ior_MOUANU, $allword);
  1847. break;
  1848. case "ior_MOUBHO":
  1849. $returnDatas = $this->isonlysize($resultModel, $model, ior_MOUBHO, $allword);
  1850. break;
  1851. case "ior_MOUBHU":
  1852. $returnDatas = $this->isonlysize($resultModel, $model, ior_MOUBHU, $allword);
  1853. break;
  1854. case "ior_MOUBCO":
  1855. $returnDatas = $this->isonlysize($resultModel, $model, ior_MOUBCO, $allword);
  1856. break;
  1857. case "ior_MOUBCU":
  1858. $returnDatas = $this->isonlysize($resultModel, $model, ior_MOUBCU, $allword);
  1859. break;
  1860. case "ior_MOUBNO":
  1861. $returnDatas = $this->isonlysize($resultModel, $model, ior_MOUBNO, $allword);
  1862. break;
  1863. case "ior_MOUBNU":
  1864. $returnDatas = $this->isonlysize($resultModel, $model, ior_MOUBNU, $allword);
  1865. break;
  1866. case "ior_MOUCHO":
  1867. $returnDatas = $this->isonlysize($resultModel, $model, ior_MOUCHO, $allword);
  1868. break;
  1869. case "ior_MOUCHU":
  1870. $returnDatas = $this->isonlysize($resultModel, $model, ior_MOUCHU, $allword);
  1871. break;
  1872. case "ior_MOUCCO":
  1873. $returnDatas = $this->isonlysize($resultModel, $model, ior_MOUCCO, $allword);
  1874. break;
  1875. case "ior_MOUCCU":
  1876. $returnDatas = $this->isonlysize($resultModel, $model, ior_MOUCCU, $allword);
  1877. break;
  1878. case "ior_MOUCNO":
  1879. $returnDatas = $this->isonlysize($resultModel, $model, ior_MOUCNO, $allword);
  1880. break;
  1881. case "ior_MOUCNU":
  1882. $returnDatas = $this->isonlysize($resultModel, $model, ior_MOUCNU, $allword);
  1883. break;
  1884. case "ior_MOUDHO":
  1885. $returnDatas = $this->isonlysize($resultModel, $model, ior_MOUDHO, $allword);
  1886. break;
  1887. case "ior_MOUDHU":
  1888. $returnDatas = $this->isonlysize($resultModel, $model, ior_MOUDHU, $allword);
  1889. break;
  1890. case "ior_MOUDCO":
  1891. $returnDatas = $this->isonlysize($resultModel, $model, ior_MOUDCO, $allword);
  1892. break;
  1893. case "ior_MOUDCU":
  1894. $returnDatas = $this->isonlysize($resultModel, $model, ior_MOUDCU, $allword);
  1895. break;
  1896. case "ior_MOUDNO":
  1897. $returnDatas = $this->isonlysize($resultModel, $model, ior_MOUDNO, $allword);
  1898. break;
  1899. case "ior_MOUDNU":
  1900. $returnDatas = $this->isonlysize($resultModel, $model, ior_MOUDNU, $allword);
  1901. break;
  1902. default:
  1903. $returnDatas = ['result' => 2, 'matchResult' => '(玩法无规则异常)-' . $odds_code];
  1904. }
  1905. return $returnDatas;
  1906. }
  1907. /**
  1908. * 独赢&双方球队进球
  1909. * @param mixed $model 注单表数据
  1910. * @param mixed $resultModels 结果表数据
  1911. * @param mixed $resultRecords 结果记录表数据
  1912. * model--money_buy_match resultModels--st_zq_result resultRecords--st_zq_result_record
  1913. * @return string
  1914. */
  1915. public function sw_MTS($model, $resultModels, $resultRecords)
  1916. {
  1917. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  1918. if ($isgqwx) {
  1919. return $isgqwx;
  1920. }
  1921. $resultModel = $resultModels['0'];
  1922. $homeword = $resultModel->home_score . "(主队全场)";
  1923. $guestword = $resultModel->guest_score . "(客队全场)";
  1924. $allword = $resultModel->home_score . '-' . $resultModel->guest_score . "(全场)";
  1925. $odds_code = $model->odds_code;
  1926. switch ($odds_code) {
  1927. case "ior_MTSHY":
  1928. $returnDatas = $this->ishvgoal($resultModel, $model, ior_MTSHY, $homeword);
  1929. break;
  1930. case "ior_MTSHN":
  1931. $returnDatas = $this->ishvgoal($resultModel, $model, ior_MTSHN, $homeword);
  1932. break;
  1933. case "ior_MTSCY":
  1934. $returnDatas = $this->ishvgoal($resultModel, $model, ior_MTSCY, $guestword);
  1935. break;
  1936. case "ior_MTSCN":
  1937. $returnDatas = $this->ishvgoal($resultModel, $model, ior_MTSCN, $guestword);
  1938. break;
  1939. case "ior_MTSNY":
  1940. $returnDatas = $this->ishvgoal($resultModel, $model, ior_MTSNY, $allword);
  1941. break;
  1942. case "ior_MTSNN":
  1943. $returnDatas = $this->ishvgoal($resultModel, $model, ior_MTSNN, $allword);
  1944. break;
  1945. default:
  1946. $returnDatas = ['result' => 2, 'matchResult' => '(玩法无规则异常)-' . $odds_code];
  1947. }
  1948. return $returnDatas;
  1949. }
  1950. /**
  1951. * 进球大/小&双方球队进球
  1952. * @param mixed $model 注单表数据
  1953. * @param mixed $resultModels 结果表数据
  1954. * @param mixed $resultRecords 结果记录表数据
  1955. * model--money_buy_match resultModels--st_zq_result resultRecords--st_zq_result_record
  1956. * @return string
  1957. */
  1958. public function sw_OUT($model, $resultModels, $resultRecords)
  1959. {
  1960. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  1961. if ($isgqwx) {
  1962. return $isgqwx;
  1963. }
  1964. $resultModel = $resultModels['0'];
  1965. $homeword = $resultModel->home_score . "(主队全场)";
  1966. $guestword = $resultModel->guest_score . "(客队全场)";
  1967. $allword = $resultModel->home_score . '-' . $resultModel->guest_score . "(全场)";
  1968. $odds_code = $model->odds_code;
  1969. switch ($odds_code) {
  1970. case "ior_OUTAOY":
  1971. $returnDatas = $this->goalsize($resultModel, $model, ior_OUTAOY, $homeword);
  1972. break;
  1973. case "ior_OUTAON":
  1974. $returnDatas = $this->goalsize($resultModel, $model, ior_OUTAON, $homeword);
  1975. break;
  1976. case "ior_OUTAUY":
  1977. $returnDatas = $this->goalsize($resultModel, $model, ior_OUTAUY, $guestword);
  1978. break;
  1979. case "ior_OUTAUN":
  1980. $returnDatas = $this->goalsize($resultModel, $model, ior_OUTAUN, $guestword);
  1981. break;
  1982. case "ior_OUTBOY":
  1983. $returnDatas = $this->goalsize($resultModel, $model, ior_OUTBOY, $allword);
  1984. break;
  1985. case "ior_OUTBON":
  1986. $returnDatas = $this->goalsize($resultModel, $model, ior_OUTBON, $allword);
  1987. break;
  1988. case "ior_OUTBUY":
  1989. $returnDatas = $this->goalsize($resultModel, $model, ior_OUTBUY, $homeword);
  1990. break;
  1991. case "ior_OUTBUN":
  1992. $returnDatas = $this->goalsize($resultModel, $model, ior_OUTBUN, $homeword);
  1993. break;
  1994. case "ior_OUTCOY":
  1995. $returnDatas = $this->goalsize($resultModel, $model, ior_OUTCOY, $guestword);
  1996. break;
  1997. case "ior_OUTCON":
  1998. $returnDatas = $this->goalsize($resultModel, $model, ior_OUTCON, $guestword);
  1999. break;
  2000. case "ior_OUTCUY":
  2001. $returnDatas = $this->goalsize($resultModel, $model, ior_OUTCUY, $allword);
  2002. break;
  2003. case "ior_OUTCUN":
  2004. $returnDatas = $this->goalsize($resultModel, $model, ior_OUTCUN, $allword);
  2005. break;
  2006. case "ior_OUTDOY":
  2007. $returnDatas = $this->goalsize($resultModel, $model, ior_OUTDOY, $homeword);
  2008. break;
  2009. case "ior_OUTDON":
  2010. $returnDatas = $this->goalsize($resultModel, $model, ior_OUTDON, $homeword);
  2011. break;
  2012. case "ior_OUTDUY":
  2013. $returnDatas = $this->goalsize($resultModel, $model, ior_OUTDUY, $guestword);
  2014. break;
  2015. case "ior_OUTDUN":
  2016. $returnDatas = $this->goalsize($resultModel, $model, ior_OUTDUN, $guestword);
  2017. break;
  2018. default:
  2019. $returnDatas = ['result' => 2, 'matchResult' => '(玩法无规则异常)-' . $odds_code];
  2020. }
  2021. }
  2022. /**
  2023. * 独赢 & 最先进球
  2024. * @param mixed $model 注单表数据
  2025. * @param mixed $resultModels 结果表数据
  2026. * @param mixed $resultRecords 结果记录表数据
  2027. * model--money_buy_match resultModels--st_zq_result resultRecords--st_zq_result_record
  2028. * @return string ???
  2029. */
  2030. public function sw_MPG($model, $resultModels, $resultRecords)
  2031. {
  2032. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  2033. if ($isgqwx) {
  2034. return $isgqwx;
  2035. }
  2036. $resultModel = $resultModels['0'];
  2037. $allword = array(
  2038. 'score' => $resultModel->home_score . '-' . $resultModel->guest_score . "(全场)",
  2039. 'one_score' => $resultModel->first_score,//首进球
  2040. );
  2041. $odds_code = $model->odds_code;
  2042. switch ($odds_code) {
  2043. case "ior_MPGHH":
  2044. $returnDatas = $this->firstball($resultModel, $model, ior_MPGHH, $allword);
  2045. break;
  2046. case "ior_MPGHC":
  2047. $returnDatas = $this->firstball($resultModel, $model, ior_MPGHC, $allword);
  2048. break;
  2049. case "ior_MPGCH":
  2050. $returnDatas = $this->firstball($resultModel, $model, ior_MPGCH, $allword);
  2051. break;
  2052. case "ior_MPGCC":
  2053. $returnDatas = $this->firstball($resultModel, $model, ior_MPGCC, $allword);
  2054. break;
  2055. case "ior_MPGNH":
  2056. $returnDatas = $this->firstball($resultModel, $model, ior_MPGNH, $allword);
  2057. break;
  2058. case "ior_MPGNC":
  2059. $returnDatas = $this->firstball($resultModel, $model, ior_MPGNC, $allword);
  2060. break;
  2061. // case "ior_F2GH":
  2062. // $returnDatas = $this->firstball($resultModel, $model, ior_F2GH, $allword);
  2063. // break;
  2064. // case "ior_F3GH":
  2065. // $returnDatas = $this->firstball($resultModel, $model, ior_F3GH, $allword);
  2066. // break;
  2067. // case "ior_F3GC":
  2068. // $returnDatas = $this->firstball($resultModel, $model, ior_F3GC, $allword);
  2069. // break;
  2070. default:
  2071. $returnDatas = ['result' => 2, 'matchResult' => '(玩法无规则异常)-' . $odds_code];
  2072. }
  2073. }
  2074. /**
  2075. * 首个进球方式
  2076. * @param mixed $model 注单表数据
  2077. * @param mixed $resultModels 结果表数据
  2078. * @param mixed $resultRecords 结果记录表数据
  2079. * model--money_buy_match resultModels--st_zq_result resultRecords--st_zq_result_record
  2080. * @return string
  2081. */
  2082. public function sw_FG($model, $resultModels, $resultRecords)
  2083. {
  2084. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  2085. if ($isgqwx) {
  2086. return $isgqwx;
  2087. }
  2088. $resultModels = $resultModels['0'];
  2089. $word = json_decode($resultModels->first_score, true)['scoretype'] . "(首个进球方式)";
  2090. $odds_code = $model->odds_code;
  2091. switch ($odds_code) {
  2092. case "ior_FGS":
  2093. $returnDatas = $this->onewaygoal($resultModels, $model, ior_FGS, $word);
  2094. break;
  2095. case "ior_FGH":
  2096. $returnDatas = $this->onewaygoal($resultModels, $model, ior_FGH, $word);
  2097. break;
  2098. case "ior_FGN":
  2099. $returnDatas = $this->onewaygoal($resultModels, $model, ior_FGN, $word);
  2100. break;
  2101. case "ior_FGP":
  2102. $returnDatas = $this->onewaygoal($resultModels, $model, ior_FGP, $word);
  2103. break;
  2104. case "ior_FGF":
  2105. $returnDatas = $this->onewaygoal($resultModels, $model, ior_FGF, $word);
  2106. break;
  2107. case "ior_FGO":
  2108. $returnDatas = $this->onewaygoal($resultModels, $model, ior_FGO, $word);
  2109. break;
  2110. default:
  2111. $returnDatas = ['result' => 2, 'matchResult' => '(玩法无规则异常)-' . $odds_code];
  2112. }
  2113. }
  2114. /**
  2115. * 双重机会&进球大/小
  2116. * @param mixed $model 注单表数据
  2117. * @param mixed $resultModels 结果表数据
  2118. * @param mixed $resultRecords 结果记录表数据
  2119. * model--money_buy_match resultModels--st_zq_result resultRecords--st_zq_result_record
  2120. * @return string
  2121. */
  2122. public function sw_DU($model, $resultModels, $resultRecords)
  2123. {
  2124. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  2125. if ($isgqwx) {
  2126. return $isgqwx;
  2127. }
  2128. $resultModels = $resultModels['0'];
  2129. $homeword = $resultModels->home_score . "(主队全场)";
  2130. $guestword = $resultModels->guest_score . "(客队全场)";
  2131. $allword = $resultModels->home_score . '-' . $resultModels->guest_score . "(全场)";
  2132. $odds_code = $model->odds_code;
  2133. switch ($odds_code) {
  2134. case "ior_DUAHO":
  2135. $returnDatas = $this->twosize($resultModels, $model, ior_DUAHO, $homeword);
  2136. break;
  2137. case "ior_DUAHU":
  2138. $returnDatas = $this->twosize($resultModels, $model, ior_DUAHU, $homeword);
  2139. break;
  2140. case "ior_DUACO":
  2141. $returnDatas = $this->twosize($resultModels, $model, ior_DUACO, $guestword);
  2142. break;
  2143. case "ior_DUACU":
  2144. $returnDatas = $this->twosize($resultModels, $model, ior_DUACU, $guestword);
  2145. break;
  2146. case "ior_DUASO":
  2147. $returnDatas = $this->twosize($resultModels, $model, ior_DUASO, $allword);
  2148. break;
  2149. case "ior_DUASU":
  2150. $returnDatas = $this->twosize($resultModels, $model, ior_DUASU, $allword);
  2151. break;
  2152. case "ior_DUBHO":
  2153. $returnDatas = $this->twosize($resultModels, $model, ior_DUBHO, $homeword);
  2154. break;
  2155. case "ior_DUBHU":
  2156. $returnDatas = $this->twosize($resultModels, $model, ior_DUBHU, $homeword);
  2157. break;
  2158. case "ior_DUBCO":
  2159. $returnDatas = $this->twosize($resultModels, $model, ior_DUBCO, $guestword);
  2160. break;
  2161. case "ior_DUBCU":
  2162. $returnDatas = $this->twosize($resultModels, $model, ior_DUBCU, $guestword);
  2163. break;
  2164. case "ior_DUBSO":
  2165. $returnDatas = $this->twosize($resultModels, $model, ior_DUBSO, $allword);
  2166. break;
  2167. case "ior_DUBSU":
  2168. $returnDatas = $this->twosize($resultModels, $model, ior_DUBSU, $allword);
  2169. break;
  2170. case "ior_DUCHO":
  2171. $returnDatas = $this->twosize($resultModels, $model, ior_DUCHO, $homeword);
  2172. break;
  2173. case "ior_DUCHU":
  2174. $returnDatas = $this->twosize($resultModels, $model, ior_DUCHU, $homeword);
  2175. break;
  2176. case "ior_DUCCO":
  2177. $returnDatas = $this->twosize($resultModels, $model, ior_DUCCO, $guestword);
  2178. break;
  2179. case "ior_DUCCU":
  2180. $returnDatas = $this->twosize($resultModels, $model, ior_DUCCU, $guestword);
  2181. break;
  2182. case "ior_DUCSO":
  2183. $returnDatas = $this->twosize($resultModels, $model, ior_DUCSO, $allword);
  2184. break;
  2185. case "ior_DUCSU":
  2186. $returnDatas = $this->twosize($resultModels, $model, ior_DUCSU, $allword);
  2187. break;
  2188. case "ior_DUDHO":
  2189. $returnDatas = $this->twosize($resultModels, $model, ior_DUDHO, $homeword);
  2190. break;
  2191. case "ior_DUDHU":
  2192. $returnDatas = $this->twosize($resultModels, $model, ior_DUDHU, $homeword);
  2193. break;
  2194. case "ior_DUDCO":
  2195. $returnDatas = $this->twosize($resultModels, $model, ior_DUDCO, $guestword);
  2196. break;
  2197. case "ior_DUDCU":
  2198. $returnDatas = $this->twosize($resultModels, $model, ior_DUDCU, $guestword);
  2199. break;
  2200. case "ior_DUDSO":
  2201. $returnDatas = $this->twosize($resultModels, $model, ior_DUDSO, $allword);
  2202. break;
  2203. case "ior_DUDSU":
  2204. $returnDatas = $this->twosize($resultModels, $model, ior_DUDSU, $allword);
  2205. break;
  2206. default:
  2207. $returnDatas = ['result' => 2, 'matchResult' => '(玩法无规则异常)-' . $odds_code];
  2208. }
  2209. }
  2210. /**
  2211. * 双重机会&双方球队进球
  2212. * @param mixed $model 注单表数据
  2213. * @param mixed $resultModels 结果表数据
  2214. * @param mixed $resultRecords 结果记录表数据
  2215. * model--money_buy_match resultModels--st_zq_result resultRecords--st_zq_result_record
  2216. * @return string
  2217. */
  2218. public function sw_DS($model, $resultModels, $resultRecords)
  2219. {
  2220. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  2221. if ($isgqwx) {
  2222. return $isgqwx;
  2223. }
  2224. $resultModels = $resultModels['0'];
  2225. $homeword = $resultModels->home_score . "(主队全场)";
  2226. $guestword = $resultModels->guest_score . "(客队全场)";
  2227. $allword = $resultModels->home_score . '-' . $resultModels->guest_score . "(全场)";
  2228. $odds_code = $model->odds_code;
  2229. switch ($odds_code) {
  2230. case "ior_DSHY":
  2231. $returnDatas = $this->allgoals($resultModels, $model, ior_DSHY, $allword);
  2232. break;
  2233. case "ior_DSHN":
  2234. $returnDatas = $this->allgoals($resultModels, $model, ior_DSHN, $allword);
  2235. break;
  2236. case "ior_DSCY":
  2237. $returnDatas = $this->allgoals($resultModels, $model, ior_DSCY, $allword);
  2238. break;
  2239. case "ior_DSCN":
  2240. $returnDatas = $this->allgoals($resultModels, $model, ior_DSCN, $allword);
  2241. break;
  2242. case "ior_DSSY":
  2243. $returnDatas = $this->allgoals($resultModels, $model, ior_DSSY, $allword);
  2244. break;
  2245. case "ior_DSSN":
  2246. $returnDatas = $this->allgoals($resultModels, $model, ior_DSSN, $allword);
  2247. break;
  2248. default:
  2249. $returnDatas = ['result' => 2, 'matchResult' => '(玩法无规则异常)-' . $odds_code];
  2250. }
  2251. }
  2252. /**
  2253. * 双重机会&最先进球
  2254. * @param mixed $model 注单表数据
  2255. * @param mixed $resultModels 结果表数据
  2256. * @param mixed $resultRecords 结果记录表数据
  2257. * model--money_buy_match resultModels--st_zq_result resultRecords--st_zq_result_record
  2258. * @return string
  2259. */
  2260. public function sw_DG($model, $resultModels, $resultRecords)
  2261. {
  2262. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  2263. if ($isgqwx) {
  2264. return $isgqwx;
  2265. }
  2266. $resultModels = $resultModels['0'];
  2267. $word = array(
  2268. 'home' => $resultModels->home_score . "(主队全场)",
  2269. 'guest' => $resultModels->guest_score . "(客队全场)",
  2270. 'firstscore' => $resultModels->first_score . "(最先进球)",
  2271. );
  2272. $odds_code = $model->odds_code;
  2273. switch ($odds_code) {
  2274. case "ior_DGHH":
  2275. $returnDatas = $this->oneball($resultModels, $model, ior_DGHH, $word);
  2276. break;
  2277. case "ior_DGHC":
  2278. $returnDatas = $this->oneball($resultModels, $model, ior_DGHC, $word);
  2279. break;
  2280. case "ior_DGCH":
  2281. $returnDatas = $this->oneball($resultModels, $model, ior_DGCH, $word);
  2282. break;
  2283. case "ior_DGCC":
  2284. $returnDatas = $this->oneball($resultModels, $model, ior_DGCC, $word);
  2285. break;
  2286. case "ior_DGSH":
  2287. $returnDatas = $this->oneball($resultModels, $model, ior_DGSH, $word);
  2288. break;
  2289. case "ior_DGSC":
  2290. $returnDatas = $this->oneball($resultModels, $model, ior_DGSC, $word);
  2291. break;
  2292. default:
  2293. $returnDatas = ['result' => 2, 'matchResult' => '(玩法无规则异常)-' . $odds_code];
  2294. }
  2295. }
  2296. /**
  2297. * 进球大/小&进球单/双
  2298. * @param mixed $model 注单表数据
  2299. * @param mixed $resultModels 结果表数据
  2300. * @param mixed $resultRecords 结果记录表数据
  2301. * model--money_buy_match resultModels--st_zq_result resultRecords--st_zq_result_record
  2302. * @return string
  2303. */
  2304. public function sw_OUE($model, $resultModels, $resultRecords)
  2305. {
  2306. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  2307. if ($isgqwx) {
  2308. return $isgqwx;
  2309. }
  2310. $resultModels = $resultModels['0'];
  2311. $allword = $resultModels->home_score . '-' . $resultModels->guest_score . "(全场)";
  2312. $odds_code = $model->odds_code;
  2313. switch ($odds_code) {
  2314. case "ior_OUEAOO":
  2315. $returnDatas = $this->sizesd($resultModels, $model, ior_OUEAOO, $allword);
  2316. break;
  2317. case "ior_OUEAOE":
  2318. $returnDatas = $this->sizesd($resultModels, $model, ior_OUEAOE, $allword);
  2319. break;
  2320. case "ior_OUEAUO":
  2321. $returnDatas = $this->sizesd($resultModels, $model, ior_OUEAUO, $allword);
  2322. break;
  2323. case "ior_OUEAUE":
  2324. $returnDatas = $this->sizesd($resultModels, $model, ior_OUEAUE, $allword);
  2325. break;
  2326. case "ior_OUEBOO":
  2327. $returnDatas = $this->sizesd($resultModels, $model, ior_OUEBOO, $allword);
  2328. break;
  2329. case "ior_OUEBOE":
  2330. $returnDatas = $this->sizesd($resultModels, $model, ior_OUEBOE, $allword);
  2331. break;
  2332. case "ior_OUEBUO":
  2333. $returnDatas = $this->sizesd($resultModels, $model, ior_OUEBUO, $allword);
  2334. break;
  2335. case "ior_OUEBUE":
  2336. $returnDatas = $this->sizesd($resultModels, $model, ior_OUEBUE, $allword);
  2337. break;
  2338. case "ior_OUECOO":
  2339. $returnDatas = $this->sizesd($resultModels, $model, ior_OUECOO, $allword);
  2340. break;
  2341. case "ior_OUECOE":
  2342. $returnDatas = $this->sizesd($resultModels, $model, ior_OUECOE, $allword);
  2343. break;
  2344. case "ior_OUECUO":
  2345. $returnDatas = $this->sizesd($resultModels, $model, ior_OUECUO, $allword);
  2346. break;
  2347. case "ior_OUECUE":
  2348. $returnDatas = $this->sizesd($resultModels, $model, ior_OUECUE, $allword);
  2349. break;
  2350. case "ior_OUEDOO":
  2351. $returnDatas = $this->sizesd($resultModels, $model, ior_OUEDOO, $allword);
  2352. break;
  2353. case "ior_OUEDOE":
  2354. $returnDatas = $this->sizesd($resultModels, $model, ior_OUEDOE, $allword);
  2355. break;
  2356. case "ior_OUEDUO":
  2357. $returnDatas = $this->sizesd($resultModels, $model, ior_OUEDUO, $allword);
  2358. break;
  2359. case "ior_OUEDUE":
  2360. $returnDatas = $this->sizesd($resultModels, $model, ior_OUEDUE, $allword);
  2361. break;
  2362. default:
  2363. $returnDatas = ['result' => 2, 'matchResult' => '(玩法无规则异常)-' . $odds_code];
  2364. }
  2365. }
  2366. /**
  2367. * 进球大/小&最先进球
  2368. * @param mixed $model 注单表数据
  2369. * @param mixed $resultModels 结果表数据
  2370. * @param mixed $resultRecords 结果记录表数据
  2371. * model--money_buy_match resultModels--st_zq_result resultRecords--st_zq_result_record
  2372. * @return string
  2373. */
  2374. public function sw_OUP($model, $resultModels, $resultRecords)
  2375. {
  2376. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  2377. if ($isgqwx) {
  2378. return $isgqwx;
  2379. }
  2380. $resultModels = $resultModels['0'];
  2381. $allword = array(
  2382. 'score' => $resultModels->home_score . '-' . $resultModels->guest_score . "(全场)",
  2383. 'firstscore' => $resultModels->first_score,
  2384. );
  2385. $odds_code = $model->odds_code;
  2386. switch ($odds_code) {
  2387. case "ior_OUPAOH":
  2388. $returnDatas = $this->sizeone($resultModels, $model, ior_OUPAOH, $allword);
  2389. break;
  2390. case "ior_OUPAOC":
  2391. $returnDatas = $this->sizeone($resultModels, $model, ior_OUPAOC, $allword);
  2392. break;
  2393. case "ior_OUPAUH":
  2394. $returnDatas = $this->sizeone($resultModels, $model, ior_OUPAUH, $allword);
  2395. break;
  2396. case "ior_OUPAUC":
  2397. $returnDatas = $this->sizeone($resultModels, $model, ior_OUPAUC, $allword);
  2398. break;
  2399. case "ior_OUPBOH":
  2400. $returnDatas = $this->sizeone($resultModels, $model, ior_OUPBOH, $allword);
  2401. break;
  2402. case "ior_OUPBOC":
  2403. $returnDatas = $this->sizeone($resultModels, $model, ior_OUPBOC, $allword);
  2404. break;
  2405. case "ior_OUPBUH":
  2406. $returnDatas = $this->sizeone($resultModels, $model, ior_OUPBUH, $allword);
  2407. break;
  2408. case "ior_OUPBUC":
  2409. $returnDatas = $this->sizeone($resultModels, $model, ior_OUPBUC, $allword);
  2410. break;
  2411. case "ior_OUPCOH":
  2412. $returnDatas = $this->sizeone($resultModels, $model, ior_OUPCOH, $allword);
  2413. break;
  2414. case "ior_OUPCOC":
  2415. $returnDatas = $this->sizeone($resultModels, $model, ior_OUPCOC, $allword);
  2416. break;
  2417. case "ior_OUPCUH":
  2418. $returnDatas = $this->sizeone($resultModels, $model, ior_OUPCUH, $allword);
  2419. break;
  2420. case "ior_OUPCUC":
  2421. $returnDatas = $this->sizeone($resultModels, $model, ior_OUPCUC, $allword);
  2422. break;
  2423. case "ior_OUPDOH":
  2424. $returnDatas = $this->sizeone($resultModels, $model, ior_OUPDOH, $allword);
  2425. break;
  2426. case "ior_OUPDOC":
  2427. $returnDatas = $this->sizeone($resultModels, $model, ior_OUPDOC, $allword);
  2428. break;
  2429. case "ior_OUPDUH":
  2430. $returnDatas = $this->sizeone($resultModels, $model, ior_OUPDUH, $allword);
  2431. break;
  2432. case "ior_OUPDUC":
  2433. $returnDatas = $this->sizeone($resultModels, $model, ior_OUPDUC, $allword);
  2434. break;
  2435. default:
  2436. $returnDatas = ['result' => 2, 'matchResult' => '(玩法无规则异常)-' . $odds_code];
  2437. }
  2438. }
  2439. /**
  2440. * 落后反超获胜
  2441. * @param mixed $model 注单表数据
  2442. * @param mixed $resultModels 结果表数据
  2443. * @param mixed $resultRecords 结果记录表数据
  2444. * model--money_buy_match resultModels--st_zq_result resultRecords--st_zq_result_record
  2445. * @return string jimy end ???
  2446. */
  2447. public function sw_BH($model, $resultModels, $resultRecords)
  2448. {
  2449. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  2450. if ($isgqwx) {
  2451. return $isgqwx;
  2452. }
  2453. $resultModels = $resultModels['0'];
  2454. $homeword = $resultModels->home_score . "(主队全场)";
  2455. $guestword = $resultModels->guest_score . "(客队全场)";
  2456. $allword = $resultModels->home_score . '-' . $resultModels->guest_score . "(全场)";
  2457. $odds_code = $model->odds_code;
  2458. switch ($odds_code) {
  2459. case "ior_BHH":
  2460. $returnDatas = $this->backwardwins($resultModels, $model, ior_BHH, $homeword);
  2461. break;
  2462. case "ior_BHC":
  2463. $returnDatas = $this->backwardwins($resultModels, $model, ior_BHC, $homeword);
  2464. break;
  2465. default:
  2466. $returnDatas = ['result' => 2, 'matchResult' => '(玩法无规则异常)-' . $odds_code];
  2467. }
  2468. }
  2469. //滚球危险球判断处理
  2470. public function GunqiuWeixian($model, $resultModels, $resultRecords)
  2471. {
  2472. //==获取是否是滚球投注==
  2473. $is_rolling = $model->is_rolling;
  2474. //如果是滚球投注,则进行危险球审核
  2475. if ($is_rolling == 1) {
  2476. $ret = commonFunction::WARN_CHECK($model, $resultModels);
  2477. //如果审核不通过,则返回2 1赢 2平 -1输
  2478. if ($ret['code'] == -1) {
  2479. $data = [
  2480. 'result' => 2,
  2481. 'matchResult' => "滚球投注,危险球审核不通过",
  2482. 'warn_more' => $ret['warn_more']
  2483. ];
  2484. return $data;
  2485. }
  2486. }
  2487. return false;
  2488. }
  2489. }