ZqRule.php 102 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710
  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 coh($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 cog($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 coh_h($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 cog_h($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 gsb($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 gss($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 gsb_h($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 gss_h($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 ch($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 cg($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 cd($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 ch_h($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 cg_h($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 cd_h($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 flbfh($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 flbfg($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 flblh($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 flblg($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 flbn($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 B($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 TS($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 == "tss" || $model->odds_code == 'tsd') {
  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 == 'tss_h' || $model->odds_code == 'tsd_h') {
  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 TG($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 == "tg2") {
  562. if (4 <= $resulttod and $resulttod <= 6) {
  563. $results = 1;
  564. } else {
  565. $results = -1;
  566. }
  567. }
  568. if ($model->odds_code == "tg0") {
  569. if (0 <= $resulttod and $resulttod <= 1) {
  570. $results = 1;
  571. } else {
  572. $results = -1;
  573. }
  574. }
  575. if ($model->odds_code == "tg1") {
  576. if (2 <= $resulttod and $resulttod <= 3) {
  577. $results = 1;
  578. } else {
  579. $results = -1;
  580. }
  581. }
  582. if ($model->odds_code == "tg3") {
  583. if (7 <= $resulttod) {
  584. $results = 1;
  585. } else {
  586. $results = -1;
  587. }
  588. }
  589. if ($model->odds_code == "tg0_h") {
  590. if ($firsthalftod == 0) {
  591. $resultb = 1;
  592. } else {
  593. $resultb = -1;
  594. }
  595. }
  596. if ($model->odds_code == "tg1_h") {
  597. if ($firsthalftod == 1) {
  598. $resultb = 1;
  599. } else {
  600. $resultb = -1;
  601. }
  602. }
  603. if ($model->odds_code == "tg2_h") {
  604. if ($firsthalftod == 2) {
  605. $resultb = 1;
  606. } else {
  607. $resultb = -1;
  608. }
  609. }
  610. if ($model->odds_code == "tg3_h") {
  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 TB($model, $resultModels, $result_match_r = [])
  646. {
  647. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $result_match_r);
  648. if ($isgqwx) {
  649. return $isgqwx;
  650. }
  651. $resultModel = $resultModels['0'];
  652. $odds_code = trim($model->odds_code);
  653. $score_home = intval($resultModel->home_score);
  654. $score_guest = intval($resultModel->guest_score);
  655. $score_home_uhalf = intval($resultModel->u_home_score);
  656. $score_guest_uhalf = intval($resultModel->u_guest_score);
  657. switch ($odds_code) {
  658. case 'tbhb':
  659. $returnDatas['matchResult'] = $score_home . '-' . $score_guest . '(全场)';
  660. $returnDatas = $this->zq_inball_bigsmall($score_home, $model->condition, 2, $returnDatas['matchResult']);
  661. break;
  662. case 'tbhs':
  663. $returnDatas['matchResult'] = $score_home . '-' . $score_guest . '(全场)';
  664. $returnDatas = $this->zq_inball_bigsmall($score_home, $model->condition, 1, $returnDatas['matchResult']);
  665. break;
  666. case 'tbgb':
  667. $returnDatas['matchResult'] = $score_home . '-' . $score_guest . '(全场)';
  668. $returnDatas = $this->zq_inball_bigsmall($score_guest, $model->condition, 2, $returnDatas['matchResult']);
  669. break;
  670. case 'tbgs':
  671. $returnDatas['matchResult'] = $score_home . '-' . $score_guest . '(全场)';
  672. $returnDatas = $this->zq_inball_bigsmall($score_guest, $model->condition, 1, $returnDatas['matchResult']);
  673. break;
  674. case 'tbhb_h':
  675. $returnDatas['matchResult'] = $score_home_uhalf . '-' . $score_guest_uhalf . '(上半场)';
  676. $returnDatas = $this->zq_inball_bigsmall($score_home_uhalf, $model->condition, 2, $returnDatas['matchResult']);
  677. break;
  678. case 'tbhs_h':
  679. $returnDatas['matchResult'] = $score_home_uhalf . '-' . $score_guest_uhalf . '(上半场)';
  680. $returnDatas = $this->zq_inball_bigsmall($score_home_uhalf, $model->condition, 1, $returnDatas['matchResult']);
  681. break;
  682. case 'tbgb_h':
  683. $returnDatas['matchResult'] = $score_home_uhalf . '-' . $score_guest_uhalf . '(上半场)';
  684. $returnDatas = $this->zq_inball_bigsmall($score_guest_uhalf, $model->condition, 2, $returnDatas['matchResult']);
  685. break;
  686. case 'tbgs_h':
  687. $returnDatas['matchResult'] = $score_home_uhalf . '-' . $score_guest_uhalf . '(上半场)';
  688. $returnDatas = $this->zq_inball_bigsmall($score_guest_uhalf, $model->condition, 1, $returnDatas['matchResult']);
  689. break;
  690. }
  691. return $returnDatas;
  692. }
  693. /**
  694. * 半场/全场 投注规则
  695. * User: Tank
  696. * Date: 2019/5/13
  697. * Time: 10:19
  698. */
  699. public function HF($bet_match, $result_match, $result_match_r)
  700. {
  701. if (empty($bet_match) || empty($result_match)) return false;
  702. //获取父/子级赔率代码
  703. $p_code = $bet_match->p_code;
  704. $odds_code = $bet_match->odds_code;
  705. //==获取是否是滚球投注==
  706. $isgqwx = $this->GunqiuWeixian($bet_match, $result_match, $result_match_r);
  707. if ($isgqwx) {
  708. return $isgqwx;
  709. }
  710. //==end==
  711. //获取最终赛事数据
  712. $result_match = $this->getHalfData($result_match);
  713. //获取主客队上半场得分
  714. $half_home_score = $result_match->u_home_score;
  715. $half_guest_score = $result_match->u_guest_score;
  716. //获取主客队全场得分
  717. $full_home_score = $result_match->home_score;
  718. $full_guest_score = $result_match->guest_score;
  719. //半场/全场盘口
  720. if ($p_code != 'half_full') return false;
  721. //返回结果
  722. $data = [
  723. 'result' => 1,
  724. 'matchResult' => "$half_home_score-$half_guest_score(上半场);$full_home_score-$full_guest_score(全场)"
  725. ];
  726. switch ($odds_code) {
  727. case 'hfhh':// 主-主
  728. if ($half_home_score > $half_guest_score and $full_home_score > $full_guest_score) return $data;
  729. break;
  730. case 'hfhd':// 主-和
  731. if ($half_home_score > $half_guest_score and $full_home_score == $full_guest_score) return $data;
  732. break;
  733. case 'hfhg':// 主-客
  734. if ($half_home_score > $half_guest_score and $full_home_score < $full_guest_score) return $data;
  735. break;
  736. case 'hfdh':// 和-主
  737. if ($half_home_score == $half_guest_score and $full_home_score > $full_guest_score) return $data;
  738. break;
  739. case 'hfdd':// 和-和
  740. if ($half_home_score == $half_guest_score and $full_home_score == $full_guest_score) return $data;
  741. break;
  742. case 'hfdg':// 和-客
  743. if ($half_home_score == $half_guest_score and $full_home_score < $full_guest_score) return $data;
  744. break;
  745. case 'hfgh':// 客-主
  746. if ($half_home_score < $half_guest_score and $full_home_score > $full_guest_score) return $data;
  747. break;
  748. case 'hfgd':// 客-和
  749. if ($half_home_score < $half_guest_score and $full_home_score == $full_guest_score) return $data;
  750. break;
  751. case 'hfgg':// 客-客
  752. if ($half_home_score < $half_guest_score and $full_home_score < $full_guest_score) return $data;
  753. break;
  754. default:
  755. return false;
  756. }
  757. $data['result'] = -1;
  758. return $data;
  759. }
  760. /**
  761. * @param $result_match_r 赛事结果记录
  762. * @return mixed 返回最新一条上半场结果数据
  763. */
  764. public function getHalfData($result_match_r = [])
  765. {
  766. return $result_match_r['0'];
  767. if (empty($result_match_r)) return false;
  768. if (is_array($result_match_r)) {
  769. foreach ($result_match_r as $k => $v) {
  770. return $v;
  771. }
  772. }
  773. }
  774. /**bo
  775. * 冠军盘口投注
  776. * $bet_match 投注赛事数据
  777. * $result_match 联赛结果 数据 根据玩法代码查询一条
  778. * $result_match_r 无用参数
  779. */
  780. public function gj($bet_match, $result_match, $result_match_r)
  781. {
  782. // $bet_match = DB::table('money_buy_match')->where('match_id', 127317)->first();
  783. // $bet_match->odds_code = '巴西小组赛积分成绩';
  784. // $result_match = DB::table('st_zq_league_result')->where(['lg_id'=>27317,'game_name'=>$bet_match->odds_code])->first();
  785. //获取 赛事最终数据
  786. $result_match = $this->getHalfData($result_match);
  787. if (empty($bet_match) || empty($result_match)) return false;
  788. if ($bet_match->p_code != 'gj') return false;//冠军玩法
  789. if ($bet_match->odds_code == $result_match->game_name) {
  790. $condition = $bet_match->condition;
  791. //进球数判断
  792. if (strpos($bet_match->odds_code, '进球数') !== false) {
  793. //返回结果
  794. $data = [
  795. 'result' => 1,
  796. 'matchResult' => "$result_match->result(球队进球数)"
  797. ];
  798. //获取数值
  799. $bet = $this->findNum($condition);
  800. //以上/以下判断
  801. if (strpos($condition, '上') !== false) {
  802. if ($bet < $result_match->result) {
  803. return $data;
  804. }
  805. $data['result'] = -1;
  806. return $data;
  807. }
  808. if (strpos($condition, '下') !== false) {
  809. if ($bet > $result_match->result) {
  810. return $data;
  811. }
  812. $data['result'] = -1;
  813. return $data;
  814. }
  815. //大/小判断
  816. if (strpos($condition, '大') !== false) {
  817. if ($bet < $result_match->result) {
  818. return $data;
  819. }
  820. $data['result'] = -1;
  821. return $data;
  822. }
  823. if (strpos($condition, '小') !== false) {
  824. if ($bet > $result_match->result) {
  825. return $data;
  826. }
  827. $data['result'] = -1;
  828. return $data;
  829. }
  830. }
  831. //积分成绩判断
  832. if (strpos($bet_match->odds_code, '积分') !== false) {
  833. //返回结果
  834. $data = [
  835. 'result' => 1,
  836. 'matchResult' => "$result_match->result(球队积分)"
  837. ];
  838. $condition = $bet_match->condition;
  839. //获取数值
  840. $bet = $this->findNum($condition);
  841. if ($bet == $result_match->result) {
  842. return $data;
  843. }
  844. $data['result'] = -1;
  845. return $data;
  846. }
  847. //如果条件中没有数字,则获取球队/球员结果
  848. if ((preg_match('/\d+/', $condition)) == 0) {
  849. //返回结果
  850. $data = [
  851. 'result' => 1,
  852. 'matchResult' => "$result_match->result(晋级球队)"
  853. ];
  854. $result = $this->teamJudge($condition, $result_match->result);
  855. if ($result) {
  856. return $data;
  857. }
  858. $data['result'] = -1;
  859. return $data;
  860. };
  861. return false;
  862. }
  863. return false;
  864. }
  865. /**
  866. * 冠军盘口 球队/球员结果判断
  867. */
  868. public function teamJudge($condition, $result, $result_match_r = [])
  869. {
  870. //返回结果数组中是否包含该球队
  871. $result = in_array($condition, json_decode($result, true));
  872. return $result;
  873. }
  874. /**
  875. * @param string $str
  876. * @return string
  877. * 处理字符串中的数字
  878. */
  879. public function findNum($str = '')
  880. {
  881. $str = trim($str);
  882. if (empty($str)) {
  883. return '';
  884. }
  885. $result = '';
  886. for ($i = 0; $i < strlen($str); $i++) {
  887. if (is_numeric($str[$i]) || $str[$i] == '.') {
  888. $result .= $str[$i];
  889. }
  890. }
  891. //如果有小数点,返回浮点数
  892. if (strpos($result, '.')) return floatval($result);
  893. //返回整数
  894. return (int)$result;
  895. }
  896. /**
  897. * 角球相关--------->开始
  898. */
  899. public function CB($model, $resultModels, $result_match_r)
  900. {
  901. //如果是滚球投注,则进行危险球审核
  902. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $result_match_r);
  903. if ($isgqwx) {
  904. return $isgqwx;
  905. }
  906. //==end==
  907. $odds_code = $model->odds_code;
  908. $isHalf = strpos(strtolower($odds_code), 'half');
  909. if ($isHalf) {
  910. return $this->corner_ball_half($model, $resultModels, $result_match_r);
  911. } else {
  912. return $this->corner_ball_all($model, $resultModels, $result_match_r);
  913. }
  914. }
  915. public function corner_ball_all($model, $resultModels, $result_match_r)
  916. {
  917. $resultModel = $resultModels['0'];
  918. if ($resultModel->corner_ball == '') {
  919. $game_ret = json_decode(json_encode(['home' => 0, 'guest' => 0, 'home_half' => 0, 'guest_half' => 0]));
  920. } else {
  921. $game_ret = json_decode($resultModel->corner_ball);
  922. }
  923. $word = $game_ret->home . '-' . $game_ret->guest . "(全场)";
  924. $returnDatas = ['result' => -1, 'matchResult' => $word];
  925. $odds_code = $model->odds_code;
  926. switch ($odds_code) {
  927. case "cbcoh":
  928. $returnDatas = $this->zq_letball($game_ret->home - $game_ret->guest, $model->condition, $word);
  929. break;
  930. case "cbcog":
  931. $returnDatas = $this->zq_letball($game_ret->guest - $game_ret->home, $model->condition, $word);
  932. break;
  933. case "cbgb":
  934. $returnDatas = $this->zq_inball_bigsmall($game_ret->home - $game_ret->guest, $model->condition, 2, $word);
  935. break;
  936. case "cbgs":
  937. $returnDatas = $this->zq_inball_bigsmall($game_ret->guest - $game_ret->home, $model->condition, 1, $word);
  938. break;
  939. case "cbch":
  940. $returnDatas = $this->zq_duyingv2(1, 4, $resultModel, $word);
  941. break;
  942. case "cbcg":
  943. $returnDatas = $this->zq_duyingv2(2, 4, $resultModel, $word);
  944. break;
  945. case "cbcd":
  946. $returnDatas['result'] = ($game_ret->home == $game_ret->guest) ? 1 : -1;
  947. break;
  948. case "cbtss":
  949. $returnDatas = $this->zq_doublesing($game_ret->home + $game_ret->guest, $model->condition, $word);
  950. break;
  951. case "cbtsd":
  952. $returnDatas = $this->zq_doublesing($game_ret->home + $game_ret->guest, $model->condition, $word);
  953. break;
  954. default:
  955. $returnDatas = ['result' => 2, 'matchResult' => '(玩法无规则异常)-' . $odds_code];
  956. }
  957. return $returnDatas;
  958. }
  959. public function corner_ball_half($model, $resultModels, $result_match_r)
  960. {
  961. $resultModel = $resultModels['0'];
  962. if ($resultModel->corner_ball == '') {
  963. $game_ret = json_decode(json_encode(['home' => 0, 'guest' => 0, 'home_half' => 0, 'guest_half' => 0]));
  964. } else {
  965. $game_ret = json_decode($resultModel->corner_ball);
  966. }
  967. $word = $game_ret->home_half . '-' . $game_ret->guest_half . "(上半场)";
  968. $returnDatas = ['result' => -1, 'matchResult' => $word];
  969. $odds_code = $model->odds_code;
  970. switch ($odds_code) {
  971. case "cbcoh_h":
  972. $returnDatas = $this->zq_letball($game_ret->home_half - $game_ret->guest_half, $model->condition, $word);
  973. break;
  974. case "cbcog_h":
  975. $returnDatas = $this->zq_letball($game_ret->guest_half - $game_ret->home_half, $model->condition, $word);
  976. break;
  977. case "cbgb_h":
  978. $returnDatas = $this->zq_inball_bigsmall($game_ret->home_half - $game_ret->guest_half, $model->condition, 2, $word);
  979. break;
  980. case "cbgs_h":
  981. $returnDatas = $this->zq_inball_bigsmall($game_ret->guest_half - $game_ret->home_half, $model->condition, 1, $word);
  982. break;
  983. case "cbch_h":
  984. $returnDatas = $this->zq_duyingv2(1, 1, $resultModel, $word);
  985. break;
  986. case "cbcg_h":
  987. $returnDatas = $this->zq_duyingv2(2, 1, $resultModel, $word);
  988. break;
  989. case "cbcd_h":
  990. $returnDatas['result'] = ($game_ret->home_half == $game_ret->guest_half) ? 1 : -1;
  991. break;
  992. case "cbtss_h":
  993. $returnDatas = $this->zq_doublesing($game_ret->home_half + $game_ret->guest_half, $model->condition, $word);
  994. break;
  995. case "cbtsd_h":
  996. $returnDatas = $this->zq_doublesing($game_ret->home_half + $game_ret->guest_half, $model->condition, $word);
  997. break;
  998. default:
  999. $returnDatas = ['result' => 2, 'matchResult' => '(玩法无规则异常)-' . $odds_code];
  1000. }
  1001. return $returnDatas;
  1002. }
  1003. /**
  1004. * 角球相关--------->结束
  1005. */
  1006. //净胜球相关
  1007. public function GD($model, $resultModels, $result_match_r)
  1008. {
  1009. //如果是滚球投注,则进行危险球审核
  1010. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $result_match_r);
  1011. if ($isgqwx) {
  1012. return $isgqwx;
  1013. }
  1014. //==end==
  1015. $resultModel = $resultModels['0'];
  1016. $home = intval($resultModel->home_score);
  1017. $guest = intval($resultModel->guest_score);
  1018. $word = $home . '-' . $guest . '(全场)';
  1019. $game_odds = $model->odde_code;
  1020. switch ($game_odds) {
  1021. case 'gdh1':
  1022. $ret = $this->zq_jingshengqiu($home, $guest, 1, $word);
  1023. break;
  1024. case 'gdh2':
  1025. $ret = $this->zq_jingshengqiu($home, $guest, 2, $word);
  1026. break;
  1027. case 'gdh3':
  1028. $ret = $this->zq_jingshengqiu($home, $guest, 3, $word);
  1029. break;
  1030. case 'gdh4':
  1031. $ret = $this->zq_jingshengqiu($home, $guest, 4, $word);
  1032. break;
  1033. case 'gdg1':
  1034. $ret = $this->zq_jingshengqiu($guest, $home, 1, $word);
  1035. break;
  1036. case 'gdg2':
  1037. $ret = $this->zq_jingshengqiu($guest, $home, 2, $word);
  1038. break;
  1039. case 'gdg3':
  1040. $ret = $this->zq_jingshengqiu($guest, $home, 3, $word);
  1041. break;
  1042. case 'gdg4':
  1043. $ret = $this->zq_jingshengqiu($guest, $home, 4, $word);
  1044. break;
  1045. case 'gd0':
  1046. $ret = $this->zq_jingshengqiu($home, $guest, 0, $word);
  1047. break;
  1048. case 'gdd':
  1049. $ret = $this->zq_jingshengqiu($guest, $home, 99, $word);
  1050. break;
  1051. default:
  1052. $ret = $this->return_error;
  1053. break;
  1054. }
  1055. return $ret;
  1056. }
  1057. //足球净胜球胜负判断
  1058. private function zq_jingshengqiu($winScore, $loseScore, $condNum, $word)
  1059. {
  1060. if (in_array($condNum, [1, 2, 3])) {
  1061. if ($winScore - $loseScore = $condNum) {
  1062. return ['result' => 1, 'matchResult' => $word];
  1063. } else {
  1064. return ['result' => -1, 'matchResult' => $word];
  1065. }
  1066. }
  1067. if ($condNum == 4) {
  1068. if ($winScore - $loseScore >= 4) {
  1069. return ['result' => 1, 'matchResult' => $word];
  1070. } else {
  1071. return ['result' => -1, 'matchResult' => $word];
  1072. }
  1073. }
  1074. if ($condNum == 0) {
  1075. if ($winScore == 0 && $loseScore == 0) {
  1076. return ['result' => 1, 'matchResult' => $word];
  1077. } else {
  1078. return ['result' => -1, 'matchResult' => $word];
  1079. }
  1080. }
  1081. if ($condNum == 99) {
  1082. if ($winScore > 0 && $winScore == $loseScore) {
  1083. return ['result' => 1, 'matchResult' => $word];
  1084. } else {
  1085. return ['result' => -1, 'matchResult' => $word];
  1086. }
  1087. }
  1088. return $this->return_error;
  1089. }
  1090. /**
  1091. * 罚球相关 开始
  1092. */
  1093. public function PC($model, $resultModels, $result_match_r)
  1094. {
  1095. //==获取是否是滚球投注==
  1096. $is_rolling = $model->is_rolling;
  1097. //如果是滚球投注,则进行危险球审核
  1098. if ($is_rolling == 1) {
  1099. $ret = commonFunction::WARN_CHECK($model, $resultModels);
  1100. //如果审核不通过,则返回2 1赢 2平 -1输
  1101. if ($ret['code'] == -1) {
  1102. $data = [
  1103. 'result' => 2,
  1104. 'msg' => "滚球投注,危险球审核不通过",
  1105. 'warn_more' => $ret['warn_more']
  1106. ];
  1107. return $data;
  1108. }
  1109. }
  1110. //==end==
  1111. $odde_code = $model->odde_code;
  1112. $isHalf = strpos(strtolower($odde_code), 'half');
  1113. if ($isHalf) {
  1114. return $this->penalty_card_half($model, $resultModels, $result_match_r);
  1115. } else {
  1116. return $this->penalty_card_all($model, $resultModels, $result_match_r);
  1117. }
  1118. }
  1119. public function penalty_card_half($model, $resultModels, $result_match_r)
  1120. {
  1121. $resultModel = $resultModels['0'];
  1122. if ($resultModel->conner_ball == '') {
  1123. $game_ret = json_decode(json_encode(['home' => 0, 'guest' => 0, 'home_half' => 0, 'guest_half' => 0]));
  1124. } else {
  1125. $game_ret = json_decode($resultModel->penalty_card);
  1126. }
  1127. $word = $game_ret->home_half . '-' . $game_ret->guest_half . "(上半场)";
  1128. $returnDatas = ['result' => -1, 'matchResult' => $word];
  1129. $odds_code = $model->odds_code;
  1130. switch ($odds_code) {
  1131. case "pccoh_h":
  1132. $returnDatas = $this->zq_letball($game_ret->home_half - $game_ret->guest_half, $model->condition, $word);
  1133. break;
  1134. case "pccog_h":
  1135. $returnDatas = $this->zq_letball($game_ret->guest_half - $game_ret->home_half, $model->condition, $word);
  1136. break;
  1137. case "pcgb_h":
  1138. $returnDatas = $this->zq_inball_bigsmall($game_ret->home_half - $game_ret->guest_half, $model->condition, 2, $word);
  1139. break;
  1140. case "pcgs_h":
  1141. $returnDatas = $this->zq_inball_bigsmall($game_ret->guest_half - $game_ret->home_half, $model->condition, 1, $word);
  1142. break;
  1143. case "pcch_h":
  1144. $returnDatas = $this->zq_duyingv2(1, 1, $resultModel, $word);
  1145. break;
  1146. case "pccg_h":
  1147. $returnDatas = $this->zq_duyingv2(2, 1, $resultModel, $word);
  1148. break;
  1149. case "pccd_h":
  1150. $returnDatas['result'] = ($game_ret->home_half == $game_ret->guest_half) ? 1 : -1;
  1151. break;
  1152. case "pctss_h":
  1153. $returnDatas = $this->zq_doublesing($game_ret->home_half + $game_ret->guest_half, $model->condition, $word);
  1154. break;
  1155. case "pctsd_h":
  1156. $returnDatas = $this->zq_doublesing($game_ret->home_half + $game_ret->guest_half, $model->condition, $word);
  1157. break;
  1158. default:
  1159. $returnDatas = ['result' => 2, 'matchResult' => '(玩法无规则异常)-' . $odds_code];
  1160. }
  1161. return $returnDatas;
  1162. }
  1163. public function penalty_card_all($model, $resultModels, $result_match_r)
  1164. {
  1165. $resultModel = $resultModels['0'];
  1166. if ($resultModel->conner_ball == '') {
  1167. $game_ret = json_decode(json_encode(['home' => 0, 'guest' => 0, 'home_half' => 0, 'guest_half' => 0]));
  1168. } else {
  1169. $game_ret = json_decode($resultModel->penalty_card);
  1170. }
  1171. $word = $game_ret->home . '-' . $game_ret->guest . "(全场)";
  1172. $returnDatas = ['result' => -1, 'matchResult' => $word];
  1173. $odds_code = $model->odds_code;
  1174. switch ($odds_code) {
  1175. case "pccoh":
  1176. $returnDatas = $this->zq_letball($game_ret->home - $game_ret->guest, $model->condition, $word);
  1177. break;
  1178. case "pccog":
  1179. $returnDatas = $this->zq_letball($game_ret->guest - $game_ret->home, $model->condition, $word);
  1180. break;
  1181. case "pcgb":
  1182. $returnDatas = $this->zq_inball_bigsmall($game_ret->home - $game_ret->guest, $model->condition, 2, $word);
  1183. break;
  1184. case "pcgs":
  1185. $returnDatas = $this->zq_inball_bigsmall($game_ret->guest - $game_ret->home, $model->condition, 1, $word);
  1186. break;
  1187. case "pcch":
  1188. $returnDatas = $this->zq_duyingv2(1, 4, $resultModel, $word);
  1189. break;
  1190. case "pccg":
  1191. $returnDatas = $this->zq_duyingv2(2, 4, $resultModel, $word);
  1192. break;
  1193. case "pccd":
  1194. $returnDatas['result'] = ($game_ret->home == $game_ret->guest) ? 1 : -1;
  1195. break;
  1196. case "pctss":
  1197. $returnDatas = $this->zq_doublesing($game_ret->home + $game_ret->guest, $model->condition, $word);
  1198. break;
  1199. case "pctsd":
  1200. $returnDatas = $this->zq_doublesing($game_ret->home + $game_ret->guest, $model->condition, $word);
  1201. break;
  1202. default:
  1203. $returnDatas = ['result' => 2, 'matchResult' => '(玩法无规则异常)-' . $odds_code];
  1204. }
  1205. return $returnDatas;
  1206. }
  1207. /**
  1208. * 发球相关 结束
  1209. */
  1210. /*
  1211. * 双重机会
  1212. * User: Tank
  1213. * Date: 2019/6/28
  1214. * Time: 10:19
  1215. */
  1216. public function DO($bet_match = '', $result_match = [], $result_match_r = [])
  1217. {
  1218. if (empty($bet_match) || empty($result_match)) return false;
  1219. $isgqwx = $this->GunqiuWeixian($bet_match, $result_match, $result_match_r);
  1220. if ($isgqwx) {
  1221. return $isgqwx;
  1222. }
  1223. $result_match = $result_match['0'];
  1224. //获取父/子级赔率代码
  1225. $p_code = $bet_match->p_code;
  1226. $odds_code = $bet_match->odds_code;
  1227. //获取主客队全场得分
  1228. $full_home_score = $result_match->home_score;
  1229. $full_guest_score = $result_match->guest_score;
  1230. //双重机会
  1231. if ($p_code != 'sw_DC') return false;
  1232. //返回结果
  1233. $data = [
  1234. 'result' => 1,
  1235. 'matchResult' => "$full_home_score-$full_guest_score(全场)"
  1236. ];
  1237. switch ($odds_code) {
  1238. case 'dohd':// 主队/和局
  1239. if ($full_home_score > $full_guest_score || $full_home_score == $full_guest_score) return $data;
  1240. break;
  1241. case 'dogd':// 客队/和局
  1242. if ($full_home_score < $full_guest_score || $full_home_score == $full_guest_score) return $data;
  1243. break;
  1244. case 'dohg':// 主队/客队
  1245. if ($full_home_score > $full_guest_score || $full_home_score < $full_guest_score) return $data;
  1246. break;
  1247. default:
  1248. return false;
  1249. }
  1250. $data['result'] = -1;
  1251. return $data;
  1252. }
  1253. /*
  1254. * 三项让球投注
  1255. * User: Tank
  1256. * Date: 2019/6/28
  1257. * Time: 10:19
  1258. */
  1259. public function TLB($bet_match = '', $result_match = '', $result_match_r = [])
  1260. {
  1261. if (empty($bet_match) || empty($result_match)) return false;
  1262. $isgqwx = $this->GunqiuWeixian($bet_match, $result_match, $result_match_r);
  1263. if ($isgqwx) {
  1264. return $isgqwx;
  1265. }
  1266. $result_match = $result_match['0'];
  1267. //获取父/子级赔率代码
  1268. $p_code = $bet_match->p_code;
  1269. $odds_code = $bet_match->odds_code;
  1270. //获取主客队全场比分
  1271. $full_home_score = $result_match->home_score;
  1272. $full_guest_score = $result_match->guest_score;
  1273. //三项让球投注
  1274. if ($p_code != 'sw_W3') return false;
  1275. //返回结果
  1276. $data = [
  1277. 'result' => 1,
  1278. 'matchResult' => "$full_home_score-$full_guest_score(全场)"
  1279. ];
  1280. switch ($odds_code) {
  1281. case 'tlbcoh':// 让球|主队 +1
  1282. //如果 主队-客队 比分 > 1,则 赢
  1283. if (($full_home_score - $full_guest_score) > 1) return $data;
  1284. $data['result'] = 2;
  1285. //如果 主队-客队 比分 = 1,则 平
  1286. if (($full_home_score - $full_guest_score) == 1) return $data;
  1287. break;
  1288. case 'tlbcog':// 让球|客队 -1
  1289. $data['result'] = 2;
  1290. //如果 主队-客队 比分 = 1,则 平
  1291. if (($full_home_score - $full_guest_score) == 1) return $data;
  1292. break;
  1293. case 'tlbcod':// 让球|和局 +1
  1294. //如果 主队-客队 比分 = 1,则 赢
  1295. if (($full_home_score - $full_guest_score) == 1) return $data;
  1296. break;
  1297. default:
  1298. return false;
  1299. }
  1300. $data['result'] = -1;
  1301. return $data;
  1302. }
  1303. /*
  1304. * 零失球
  1305. * User: Tank
  1306. * Date: 2019/6/28
  1307. * Time: 10:19
  1308. */
  1309. public function NLB($bet_match = '', $result_match = '', $result_match_r = [])
  1310. {
  1311. if (empty($bet_match) || empty($result_match)) return false;
  1312. $isgqwx = $this->GunqiuWeixian($bet_match, $result_match, $result_match_r);
  1313. if ($isgqwx) {
  1314. return $isgqwx;
  1315. }
  1316. $result_match = $result_match['0'];
  1317. //获取父/子级赔率代码
  1318. $p_code = $bet_match->p_code;
  1319. $odds_code = $bet_match->odds_code;
  1320. //获取主客队全场比分
  1321. $full_home_score = $result_match->home_score;
  1322. $full_guest_score = $result_match->guest_score;
  1323. //零失球
  1324. if ($p_code != 'sw_CS') return false;
  1325. //返回结果
  1326. $data = [
  1327. 'result' => 1,
  1328. 'matchResult' => "$full_home_score-$full_guest_score(全场)"
  1329. ];
  1330. switch ($odds_code) {
  1331. case 'nlbh':// 零失球|主队
  1332. //客队 比分 为 0
  1333. if ($full_guest_score == 0) return $data;
  1334. break;
  1335. case 'nlbg':// 零失球|客队
  1336. //主队 比分 为 0
  1337. if ($full_home_score == 0) return $data;
  1338. break;
  1339. default:
  1340. return false;
  1341. }
  1342. $data['result'] = -1;
  1343. return $data;
  1344. }
  1345. /*
  1346. * 零失球获胜
  1347. * User: Tank
  1348. * Date: 2019/6/28
  1349. * Time: 10:19
  1350. */
  1351. public function NLW($bet_match = '', $result_match = '', $result_match_r = [])
  1352. {
  1353. if (empty($bet_match) || empty($result_match)) return false;
  1354. $isgqwx = $this->GunqiuWeixian($bet_match, $result_match, $result_match_r);
  1355. if ($isgqwx) {
  1356. return $isgqwx;
  1357. }
  1358. $result_match = $result_match['0'];
  1359. //获取父/子级赔率代码
  1360. $p_code = $bet_match->p_code;
  1361. $odds_code = $bet_match->odds_code;
  1362. //获取主客队全场比分
  1363. $full_home_score = $result_match->home_score;
  1364. $full_guest_score = $result_match->guest_score;
  1365. //零失球
  1366. if ($p_code != 'sw_WN') return false;
  1367. //返回结果
  1368. $data = [
  1369. 'result' => 1,
  1370. 'matchResult' => "$full_home_score-$full_guest_score(全场)"
  1371. ];
  1372. switch ($odds_code) {
  1373. case 'nlwh':// 零失球获胜|主队
  1374. //客队 比分 为 0 并且 主队 大于 客队
  1375. if ($full_home_score > $full_guest_score and $full_guest_score == 0) return $data;
  1376. break;
  1377. case 'nlwg':// 零失球获胜|客队
  1378. //主队 比分 为 0 并且 客队 大于 主队
  1379. if ($full_home_score < $full_guest_score || $full_home_score == 0) return $data;
  1380. break;
  1381. default:
  1382. return false;
  1383. }
  1384. $data['result'] = -1;
  1385. return $data;
  1386. }
  1387. /*
  1388. * 赢得所有半场
  1389. * User: Tank
  1390. * Date: 2019/6/28
  1391. * Time: 10:19
  1392. */
  1393. public function WAH($bet_match = '', $result_match = '', $result_match_r = [])
  1394. {
  1395. if (empty($bet_match) || empty($result_match)) return false;
  1396. $isgqwx = $this->GunqiuWeixian($bet_match, $result_match, $result_match_r);
  1397. if ($isgqwx) {
  1398. return $isgqwx;
  1399. }
  1400. $result_match = $result_match['0'];
  1401. //获取父/子级赔率代码
  1402. $p_code = $bet_match->p_code;
  1403. $odds_code = $bet_match->odds_code;
  1404. //获取主客队全场比分
  1405. $full_home_score = $result_match->home_score;
  1406. $full_guest_score = $result_match->guest_score;
  1407. //获取主客队上半场得分
  1408. $half_home_score = $result_match->u_home_score;
  1409. $half_guest_score = $result_match->u_guest_score;
  1410. //赢得所有半场
  1411. if ($p_code != 'sw_WB') return false;
  1412. //返回结果
  1413. $data = [
  1414. 'result' => 1,
  1415. 'matchResult' => "$full_home_score-$full_guest_score(全场)"
  1416. ];
  1417. switch ($odds_code) {
  1418. case 'wahh':// 赢得所有半场|主队
  1419. //上半场/下半场 都满足 主队 > 客队
  1420. if (($full_home_score - $half_home_score) > ($full_guest_score - $half_guest_score) and $half_home_score > $half_guest_score) return $data;
  1421. break;
  1422. case 'wahg':// 赢得所有半场|客队
  1423. //上半场/下半场 都满足 主队 < 客队
  1424. if (($full_home_score - $half_home_score) < ($full_guest_score - $half_guest_score) and $half_home_score < $half_guest_score) 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 WEH($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 != 'WEH') return false;
  1457. //返回结果
  1458. $data = [
  1459. 'result' => 1,
  1460. 'matchResult' => "$full_home_score-$full_guest_score(全场)"
  1461. ];
  1462. switch ($odds_code) {
  1463. case 'wehh':// 赢得任一半场|主队
  1464. //上半场/下半场 任一满足 主队 > 客队
  1465. if (($full_home_score - $half_home_score) > ($full_guest_score - $half_guest_score) || $half_home_score > $half_guest_score) return $data;
  1466. break;
  1467. case 'wehg':// 赢得任一半场|客队
  1468. //上半场/下半场 任一满足 主队 < 客队
  1469. if (($full_home_score - $half_home_score) < ($full_guest_score - $half_guest_score) || $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 DHG($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 != 'DHG') return false;
  1502. //返回结果
  1503. $data = [
  1504. 'result' => 1,
  1505. 'matchResult' => "$full_home_score-$full_guest_score(全场)"
  1506. ];
  1507. switch ($odds_code) {
  1508. case 'dhgh':// 双半场进球|主队
  1509. //上半场/下半场 主队都有 进球
  1510. if (($full_home_score - $half_home_score) > 0 and $half_home_score > 0) return $data;
  1511. break;
  1512. case 'ghgg':// 双半场进球|客队
  1513. //上半场/下半场 客队都有 进球
  1514. if (($full_guest_score - $half_guest_score) > 0 and $half_guest_score > 0) 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 MHG($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. $lower_home_score = $full_home_score - $half_home_score;
  1547. $lower_guest_score = $half_guest_score - $half_guest_score;
  1548. //最多进球半场
  1549. if ($p_code != 'MHG') return false;
  1550. //返回结果
  1551. $data = [
  1552. 'result' => 1,
  1553. 'matchResult' => "$full_home_score-$full_guest_score(全场)"
  1554. ];
  1555. switch ($odds_code) {
  1556. case 'mhgf':// 最多进球半场|上半场
  1557. //主队+客队上半场 > 主队+客队下半场
  1558. if (($half_home_score + $half_guest_score) > ($lower_home_score + $lower_guest_score)) return $data;
  1559. break;
  1560. case 'mhgs':// 最多进球半场|下半场
  1561. //主队+客队上半场 < 主队+客队下半场
  1562. if (($half_home_score + $half_guest_score) < ($lower_home_score + $lower_guest_score)) return $data;
  1563. break;
  1564. default:
  1565. return false;
  1566. }
  1567. $data['result'] = -1;
  1568. return $data;
  1569. }
  1570. /*
  1571. * 最多进球半场-独赢
  1572. * User: Tank
  1573. * Date: 2019/6/28
  1574. * Time: 10:19
  1575. */
  1576. public function MHGC($bet_match = '', $result_match = '', $result_match_r = [])
  1577. {
  1578. if (empty($bet_match) || empty($result_match)) return false;
  1579. $isgqwx = $this->GunqiuWeixian($bet_match, $result_match, $result_match_r);
  1580. if ($isgqwx) {
  1581. return $isgqwx;
  1582. }
  1583. $result_match = $result_match['0'];
  1584. //获取父/子级赔率代码
  1585. $p_code = $bet_match->p_code;
  1586. $odds_code = $bet_match->odds_code;
  1587. //获取主客队全场比分
  1588. $full_home_score = $result_match->home_score;
  1589. $full_guest_score = $result_match->guest_score;
  1590. //获取主客队上半场得分
  1591. $half_home_score = $result_match->u_home_score;
  1592. $half_guest_score = $result_match->u_guest_score;
  1593. //获取下半场得分
  1594. $lower_home_score = $full_home_score - $half_home_score;
  1595. $lower_guest_score = $half_guest_score - $half_guest_score;
  1596. //最多进球半场-独赢
  1597. if ($p_code != 'MHGC') return false;
  1598. //返回结果
  1599. $data = [
  1600. 'result' => 1,
  1601. 'matchResult' => "$full_home_score-$full_guest_score(全场)"
  1602. ];
  1603. switch ($odds_code) {
  1604. case 'mhgcf':// 最多进球半场-独赢|上半场
  1605. //主队+客队上半场 > 主队+客队下半场 and 主队 独赢
  1606. if (($half_home_score + $half_guest_score) > ($lower_home_score + $lower_guest_score) and $full_home_score > $full_guest_score) return $data;
  1607. break;
  1608. case 'mfgcs':// 最多进球半场-独赢|下半场
  1609. //主队+客队上半场 < 主队+客队下半场 and 主队 独赢
  1610. if (($half_home_score + $half_guest_score) < ($lower_home_score + $lower_guest_score) and $full_home_score > $full_guest_score) return $data;
  1611. break;
  1612. case 'mhgcd':// 最多进球半场-独赢|和局
  1613. //全场主队 == 全场客队
  1614. if ($full_home_score == $full_guest_score) return $data;
  1615. break;
  1616. default:
  1617. return false;
  1618. }
  1619. $data['result'] = -1;
  1620. return $data;
  1621. }
  1622. /*
  1623. * 首个进球时间
  1624. * User: Tank
  1625. * Date: 2019/6/28
  1626. * Time: 10:19
  1627. */
  1628. public function FGT($bet_match = '', $result_match = '', $result_match_r = [])
  1629. {
  1630. if (empty($bet_match) || empty($result_match)) return false;
  1631. $isgqwx = $this->GunqiuWeixian($bet_match, $result_match, $result_match_r);
  1632. if ($isgqwx) {
  1633. return $isgqwx;
  1634. }
  1635. $result_match = $result_match['0'];
  1636. //获取父/子级赔率代码
  1637. $p_code = $bet_match->p_code;
  1638. $odds_code = $bet_match->odds_code;
  1639. //获取 首进球 时间
  1640. $first_score = json_decode($result_match->first_score, true);
  1641. $first_time_int = $first_score['scoretime'];//$result_match;//{"teamscore":0,"scoretime":0,"scoretype":0}
  1642. // $first_time_int = 0;
  1643. // if($first_time_str) {
  1644. // $first_time_int = (int)substr($first_time_str,0,strpos($first_time_str, ':'));
  1645. // }
  1646. //首个进球时间
  1647. if ($p_code != 'FGT') return false;
  1648. //返回结果
  1649. $data = [
  1650. 'result' => 1,
  1651. 'matchResult' => "$first_time_int(首进球时间)"
  1652. ];
  1653. switch ($odds_code) {
  1654. case 'fgt15'://上半场开场-14:59分钟
  1655. if ($first_time_int < 15) return $data;
  1656. break;
  1657. case 'fgt30'://15:00分钟-29:59分钟
  1658. if (15 <= $first_time_int and $first_time_int < 30) return $data;
  1659. break;
  1660. case 'fgt45'://30:00分钟-半场
  1661. if (30 <= $first_time_int and $first_time_int < 45) return $data;
  1662. break;
  1663. case 'fgt60'://下半场开场-59:59分钟
  1664. if (45 <= $first_time_int and $first_time_int < 60) return $data;
  1665. break;
  1666. case 'fgt75'://60:00分钟-74:59分钟
  1667. if (60 <= $first_time_int and $first_time_int < 75) return $data;
  1668. break;
  1669. case 'fgt90'://75:00分钟-全场完场
  1670. if (75 <= $first_time_int and $first_time_int < 90) return $data;
  1671. break;
  1672. case 'fgtno'://无进球
  1673. $data['matchResult'] = '没有进球';
  1674. if ($first_time_int == 0) return $data;
  1675. break;
  1676. default:
  1677. return false;
  1678. }
  1679. $data['result'] = -1;
  1680. return $data;
  1681. }
  1682. /*
  1683. * 首个进球时间-3项
  1684. * User: Tank
  1685. * Date: 2019/6/28
  1686. * Time: 10:19
  1687. */
  1688. public function FGTT($bet_match = '', $result_match = '', $result_match_r = [])
  1689. {
  1690. if (empty($bet_match) || empty($result_match)) return false;
  1691. $isgqwx = $this->GunqiuWeixian($bet_match, $result_match, $result_match_r);
  1692. if ($isgqwx) {
  1693. return $isgqwx;
  1694. }
  1695. $result_match = $result_match['0'];
  1696. //获取父/子级赔率代码
  1697. $p_code = $bet_match->p_code;
  1698. $odds_code = $bet_match->odds_code;
  1699. //获取 首进球 时间
  1700. $first_score = json_decode($result_match->first_score, true);
  1701. $first_time_int = $first_score['scoretime'];//$result_match;//{"teamscore":0,"scoretime":0,"scoretype":0}
  1702. // $first_time_int = 0;
  1703. // if($first_time_str) {
  1704. // $first_time_int = (int)substr($first_time_str,0,strpos($first_time_str, ':'));
  1705. // }
  1706. //首个进球时间-3项
  1707. if ($p_code != 'FGTT') return false;
  1708. //返回结果
  1709. $data = [
  1710. 'result' => 1,
  1711. 'matchResult' => "$first_time_int(首进球时间)"
  1712. ];
  1713. switch ($odds_code) {
  1714. case 'fgtt26'://第26分钟或之前
  1715. if ($first_time_int <= 26) return $data;
  1716. break;
  1717. case 'fgtt27'://第27分钟或之后
  1718. if (27 <= $first_time_int) return $data;
  1719. break;
  1720. case 'fgttno'://无进球
  1721. $data['matchResult'] = '没有进球';
  1722. if ($first_time_int == 0) return $data;
  1723. break;
  1724. default:
  1725. return false;
  1726. }
  1727. $data['result'] = -1;
  1728. return $data;
  1729. }
  1730. /**
  1731. * 双方球队进球
  1732. * @param mixed $model 注单表数据
  1733. * @param mixed $resultModels 结果表数据
  1734. * @param mixed $resultRecords 结果记录表数据
  1735. * model--money_buy_match resultModels--st_zq_result resultRecords--st_zq_result_record
  1736. * @return string jimy start
  1737. */
  1738. public function BG($model, $resultModels, $resultRecords)
  1739. {
  1740. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  1741. if ($isgqwx) {
  1742. return $isgqwx;
  1743. }
  1744. $resultModel = $resultModels['0'];
  1745. $allword = $resultModel->home_score . '-' . $resultModel->guest_score . "(全场)";
  1746. $hlefword = $resultModel->u_home_score . '-' . $resultModel->u_guest_score . "(上半场)";
  1747. $odds_code = $model->odds_code;
  1748. switch ($odds_code) {
  1749. case "bgy":
  1750. $returnDatas = $this->isgoal($resultModel, $model, bgy, $allword);
  1751. break;
  1752. case "bgn":
  1753. $returnDatas = $this->isgoal($resultModel, $model, bgn, $allword);
  1754. break;
  1755. case "bgy_h":
  1756. $returnDatas = $this->isgoal($resultModel, $model, bgy_h, $hlefword);
  1757. break;
  1758. case "bgn_h":
  1759. $returnDatas = $this->isgoal($resultModel, $model, bgn_h, $hlefword);
  1760. break;
  1761. default:
  1762. $returnDatas = ['result' => 2, 'matchResult' => '(玩法无规则异常)-' . $odds_code];
  1763. }
  1764. return $returnDatas;
  1765. }
  1766. /**
  1767. * 独赢&进球大小
  1768. * @param mixed $model 注单表数据
  1769. * @param mixed $resultModels 结果表数据
  1770. * @param mixed $resultRecords 结果记录表数据
  1771. * model--money_buy_match resultModels--st_zq_result resultRecords--st_zq_result_record
  1772. * @return string
  1773. * 注:大1.5|和局 主队-客队大于1.5 并且为和局 小1.5|和局 主队-客队小于1.5 并且为和局
  1774. */
  1775. public function CGS($model, $resultModels, $resultRecords)
  1776. {
  1777. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  1778. if ($isgqwx) {
  1779. return $isgqwx;
  1780. }
  1781. $resultModel = $resultModels['0'];
  1782. $allword = $resultModel->home_score . '-' . $resultModel->guest_score . "(主队全场-客队全场)";
  1783. $odds_code = $model->odds_code;
  1784. switch ($odds_code) {
  1785. case "cgsh1b": //大1.5|主队
  1786. $returnDatas = $this->isonlysize($resultModel, $model, cgsh1b, $allword);
  1787. break;
  1788. case "cgsh1s": //小1.5|主队
  1789. $returnDatas = $this->isonlysize($resultModel, $model, cgsh1s, $allword);
  1790. break;
  1791. case "cgsg1b": //大1.5|客队
  1792. $returnDatas = $this->isonlysize($resultModel, $model, cgsg1b, $allword);
  1793. break;
  1794. case "cgsg1s": //小1.5|客队
  1795. $returnDatas = $this->isonlysize($resultModel, $model, cgsg1s, $allword);
  1796. break;
  1797. case "cgsd1b": //大1.5|和局
  1798. $returnDatas = $this->isonlysize($resultModel, $model, cgsd1b, $allword);
  1799. break;
  1800. case "cgsd1s": //小1.5|和局
  1801. $returnDatas = $this->isonlysize($resultModel, $model, cgsd1s, $allword);
  1802. break;
  1803. case "cgsh2b": //大2.5|主队
  1804. $returnDatas = $this->isonlysize($resultModel, $model, cgsh2b, $allword);
  1805. break;
  1806. case "cgsh2s": //小2.5|主队
  1807. $returnDatas = $this->isonlysize($resultModel, $model, cgsh2s, $allword);
  1808. break;
  1809. case "cgsg2b": //大2.5|客队
  1810. $returnDatas = $this->isonlysize($resultModel, $model, cgsg2b, $allword);
  1811. break;
  1812. case "cgsg2s": //小2.5|主队
  1813. $returnDatas = $this->isonlysize($resultModel, $model, cgsg2s, $allword);
  1814. break;
  1815. case "cgsd2b": //大2.5|和局
  1816. $returnDatas = $this->isonlysize($resultModel, $model, cgsd2b, $allword);
  1817. break;
  1818. case "cgsd3s": //小2.5|和局
  1819. $returnDatas = $this->isonlysize($resultModel, $model, cgsd3s, $allword);
  1820. break;
  1821. case "cgsh3b": //大3.5|主队
  1822. $returnDatas = $this->isonlysize($resultModel, $model, cgsh3b, $allword);
  1823. break;
  1824. case "cgsh3s": //小3.5|主队
  1825. $returnDatas = $this->isonlysize($resultModel, $model, cgsh3s, $allword);
  1826. break;
  1827. case "cgsg3b": //大3.5|客队
  1828. $returnDatas = $this->isonlysize($resultModel, $model, cgsg3b, $allword);
  1829. break;
  1830. case "cgsg3s": //小3.5|客队
  1831. $returnDatas = $this->isonlysize($resultModel, $model, cgsg3s, $allword);
  1832. break;
  1833. case "cgsd3b": //大3.5|和局
  1834. $returnDatas = $this->isonlysize($resultModel, $model, cgsd3b, $allword);
  1835. break;
  1836. case "cgsd3s": //小3.5|和局
  1837. $returnDatas = $this->isonlysize($resultModel, $model, cgsd3s, $allword);
  1838. break;
  1839. case "cgsh4b": //大4.5|主队
  1840. $returnDatas = $this->isonlysize($resultModel, $model, cgsh4b, $allword);
  1841. break;
  1842. case "cgsh4s": //小4.5|主队
  1843. $returnDatas = $this->isonlysize($resultModel, $model, cgsh4s, $allword);
  1844. break;
  1845. case "cgsg4b": //大4.5|客队
  1846. $returnDatas = $this->isonlysize($resultModel, $model, cgsg4b, $allword);
  1847. break;
  1848. case "cgsg4s": //小4.5|主队
  1849. $returnDatas = $this->isonlysize($resultModel, $model, cgsg4s, $allword);
  1850. break;
  1851. case "cgsd4b": //大4.5|和局
  1852. $returnDatas = $this->isonlysize($resultModel, $model, cgsd4b, $allword);
  1853. break;
  1854. case "cgsd4s": //小4.5|和局
  1855. $returnDatas = $this->isonlysize($resultModel, $model, cgsd4s, $allword);
  1856. break;
  1857. default:
  1858. $returnDatas = ['result' => 2, 'matchResult' => '(玩法无规则异常)-' . $odds_code];
  1859. }
  1860. return $returnDatas;
  1861. }
  1862. /**
  1863. * 独赢&双方球队进球
  1864. * @param mixed $model 注单表数据
  1865. * @param mixed $resultModels 结果表数据
  1866. * @param mixed $resultRecords 结果记录表数据
  1867. * model--money_buy_match resultModels--st_zq_result resultRecords--st_zq_result_record
  1868. * @return string
  1869. */
  1870. public function CBG($model, $resultModels, $resultRecords)
  1871. {
  1872. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  1873. if ($isgqwx) {
  1874. return $isgqwx;
  1875. }
  1876. $resultModel = $resultModels['0'];
  1877. $homeword = $resultModel->home_score . "(主队全场)";
  1878. $guestword = $resultModel->guest_score . "(客队全场)";
  1879. $allword = $resultModel->home_score . '-' . $resultModel->guest_score . "(全场)";
  1880. $odds_code = $model->odds_code;
  1881. switch ($odds_code) {
  1882. case "cbghy": //独赢&双方球队进球|主队|是
  1883. $returnDatas = $this->ishvgoal($resultModel, $model, cbghy, $homeword);
  1884. break;
  1885. case "cbghn": //独赢&双方球队进球|主队|否
  1886. $returnDatas = $this->ishvgoal($resultModel, $model, cbghn, $homeword);
  1887. break;
  1888. case "cbggy": //独赢&双方球队进球|客队|是
  1889. $returnDatas = $this->ishvgoal($resultModel, $model, cbggy, $guestword);
  1890. break;
  1891. case "cbggn": //独赢&双方球队进球|客队|否
  1892. $returnDatas = $this->ishvgoal($resultModel, $model, cbggn, $guestword);
  1893. break;
  1894. case "cbgdy": //独赢&双方球队进球|和局|是
  1895. $returnDatas = $this->ishvgoal($resultModel, $model, cbgdy, $allword);
  1896. break;
  1897. case "cbgdn": //独赢&双方球队进球|和局|否
  1898. $returnDatas = $this->ishvgoal($resultModel, $model, cbgdn, $allword);
  1899. break;
  1900. default:
  1901. $returnDatas = ['result' => 2, 'matchResult' => '(玩法无规则异常)-' . $odds_code];
  1902. }
  1903. return $returnDatas;
  1904. }
  1905. /**
  1906. * 进球大/小&双方球队进球
  1907. * @param mixed $model 注单表数据
  1908. * @param mixed $resultModels 结果表数据
  1909. * @param mixed $resultRecords 结果记录表数据
  1910. * model--money_buy_match resultModels--st_zq_result resultRecords--st_zq_result_record
  1911. * @return string
  1912. */
  1913. public function TBBG($model, $resultModels, $resultRecords)
  1914. {
  1915. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  1916. if ($isgqwx) {
  1917. return $isgqwx;
  1918. }
  1919. $resultModel = $resultModels['0'];
  1920. $homeword = $resultModel->home_score . "(主队全场)";
  1921. $guestword = $resultModel->guest_score . "(客队全场)";
  1922. $allword = $resultModel->home_score . '-' . $resultModel->guest_score . "(全场)";
  1923. $odds_code = $model->odds_code;
  1924. switch ($odds_code) {
  1925. case "tbbgb1y": //大1.5|主队|是
  1926. $returnDatas = $this->goalsize($resultModel, $model, tbbgb1y, $homeword);
  1927. break;
  1928. case "tbbgs1y": //小1.5|主队|不是
  1929. $returnDatas = $this->goalsize($resultModel, $model, tbbgs1y, $homeword);
  1930. break;
  1931. case "tbbgb1n": //大1.5|客队|是
  1932. $returnDatas = $this->goalsize($resultModel, $model, tbbgb1n, $guestword);
  1933. break;
  1934. case "tbbgs1n": //小1.5|客队|不是
  1935. $returnDatas = $this->goalsize($resultModel, $model, tbbgs1n, $guestword);
  1936. break;
  1937. case "tbbgb2y": //大2.5|主队|是
  1938. $returnDatas = $this->goalsize($resultModel, $model, tbbgb2y, $allword);
  1939. break;
  1940. case "tbbgs2y": //小2.5|主队|不是
  1941. $returnDatas = $this->goalsize($resultModel, $model, tbbgs2y, $allword);
  1942. break;
  1943. case "tbbgb2n": //大2.5|客队|是
  1944. $returnDatas = $this->goalsize($resultModel, $model, tbbgb2n, $homeword);
  1945. break;
  1946. case "tbbgs2n": //小2.5|客队|不是
  1947. $returnDatas = $this->goalsize($resultModel, $model, tbbgs2n, $homeword);
  1948. break;
  1949. case "tbbgb3y": //大3.5|主队|是
  1950. $returnDatas = $this->goalsize($resultModel, $model, tbbgb3y, $guestword);
  1951. break;
  1952. case "tbbgs3y": //小3.5|主队|不是
  1953. $returnDatas = $this->goalsize($resultModel, $model, tbbgs3y, $guestword);
  1954. break;
  1955. case "tbbgb3n": //大3.5|客队|是
  1956. $returnDatas = $this->goalsize($resultModel, $model, tbbgb3n, $allword);
  1957. break;
  1958. case "tbbgs3n": //小3.5|客队|不是
  1959. $returnDatas = $this->goalsize($resultModel, $model, tbbgs3n, $allword);
  1960. break;
  1961. case "tbbgb4y": //大4.5|主队|是
  1962. $returnDatas = $this->goalsize($resultModel, $model, tbbgb4y, $homeword);
  1963. break;
  1964. case "tbbgs4y": //小4.5|主队|不是
  1965. $returnDatas = $this->goalsize($resultModel, $model, tbbgs4y, $homeword);
  1966. break;
  1967. case "tbbgb4n": //大4.5|客队|是
  1968. $returnDatas = $this->goalsize($resultModel, $model, tbbgb4n, $guestword);
  1969. break;
  1970. case "tbbgs4n": //小4.5|客队|不是
  1971. $returnDatas = $this->goalsize($resultModel, $model, tbbgs4n, $guestword);
  1972. break;
  1973. default:
  1974. $returnDatas = ['result' => 2, 'matchResult' => '(玩法无规则异常)-' . $odds_code];
  1975. }
  1976. }
  1977. /**
  1978. * 独赢 & 最先进球
  1979. * @param mixed $model 注单表数据
  1980. * @param mixed $resultModels 结果表数据
  1981. * @param mixed $resultRecords 结果记录表数据
  1982. * model--money_buy_match resultModels--st_zq_result resultRecords--st_zq_result_record
  1983. * @return string ???
  1984. */
  1985. public function CFB($model, $resultModels, $resultRecords)
  1986. {
  1987. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  1988. if ($isgqwx) {
  1989. return $isgqwx;
  1990. }
  1991. $resultModel = $resultModels['0'];
  1992. $allword = array(
  1993. 'score' => $resultModel->home_score . '-' . $resultModel->guest_score . "(全场)",
  1994. 'one_score' => $resultModel->first_score,//首进球
  1995. );
  1996. $odds_code = $model->odds_code;
  1997. switch ($odds_code) {
  1998. case "cfbchh": ///主队最先进球|主队
  1999. $returnDatas = $this->firstball($resultModel, $model, cfbchh, $allword);
  2000. break;
  2001. case "cfbchg": //客队最先进球|主队
  2002. $returnDatas = $this->firstball($resultModel, $model, cfbchg, $allword);
  2003. break;
  2004. case "cfbcgh": //主队最先进球|客队
  2005. $returnDatas = $this->firstball($resultModel, $model, cfbcgh, $allword);
  2006. break;
  2007. case "cfbcgg": //客队最先进球|客队
  2008. $returnDatas = $this->firstball($resultModel, $model, cfbcgg, $allword);
  2009. break;
  2010. case "cfbcdh": //主队最先进球|和局
  2011. $returnDatas = $this->firstball($resultModel, $model, cfbcdh, $allword);
  2012. break;
  2013. case "cfbcdg": //客队最先进球|和局
  2014. $returnDatas = $this->firstball($resultModel, $model, cfbcdg, $allword);
  2015. break;
  2016. // case "ior_F2GH":
  2017. // $returnDatas = $this->firstball($resultModel, $model, ior_F2GH, $allword);
  2018. // break;
  2019. // case "ior_F3GH":
  2020. // $returnDatas = $this->firstball($resultModel, $model, ior_F3GH, $allword);
  2021. // break;
  2022. // case "ior_F3GC":
  2023. // $returnDatas = $this->firstball($resultModel, $model, ior_F3GC, $allword);
  2024. // break;
  2025. default:
  2026. $returnDatas = ['result' => 2, 'matchResult' => '(玩法无规则异常)-' . $odds_code];
  2027. }
  2028. }
  2029. /**
  2030. * 首个进球方式
  2031. * @param mixed $model 注单表数据
  2032. * @param mixed $resultModels 结果表数据
  2033. * @param mixed $resultRecords 结果记录表数据
  2034. * model--money_buy_match resultModels--st_zq_result resultRecords--st_zq_result_record
  2035. * @return string
  2036. */
  2037. public function FGW($model, $resultModels, $resultRecords)
  2038. {
  2039. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  2040. if ($isgqwx) {
  2041. return $isgqwx;
  2042. }
  2043. $resultModels = $resultModels['0'];
  2044. $word = json_decode($resultModels->first_score, true)['scoretype'] . "(首个进球方式)";
  2045. $odds_code = $model->odds_code;
  2046. switch ($odds_code) {
  2047. case "fgws": //射门
  2048. $returnDatas = $this->onewaygoal($resultModels, $model, fgws, $word);
  2049. break;
  2050. case "fgwh": //头球
  2051. $returnDatas = $this->onewaygoal($resultModels, $model, fgwh, $word);
  2052. break;
  2053. case "fgwn": //无进球
  2054. $returnDatas = $this->onewaygoal($resultModels, $model, fgwn, $word);
  2055. break;
  2056. case "fgwp": //点球
  2057. $returnDatas = $this->onewaygoal($resultModels, $model, fgwp, $word);
  2058. break;
  2059. case "fgwa": //任意球
  2060. $returnDatas = $this->onewaygoal($resultModels, $model, fgwa, $word);
  2061. break;
  2062. case "fgwo": //乌龙球
  2063. $returnDatas = $this->onewaygoal($resultModels, $model, fgwo, $word);
  2064. break;
  2065. default:
  2066. $returnDatas = ['result' => 2, 'matchResult' => '(玩法无规则异常)-' . $odds_code];
  2067. }
  2068. }
  2069. /**
  2070. * 双重机会&进球大/小
  2071. * @param mixed $model 注单表数据
  2072. * @param mixed $resultModels 结果表数据
  2073. * @param mixed $resultRecords 结果记录表数据
  2074. * model--money_buy_match resultModels--st_zq_result resultRecords--st_zq_result_record
  2075. * @return string
  2076. */
  2077. public function DOGS($model, $resultModels, $resultRecords)
  2078. {
  2079. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  2080. if ($isgqwx) {
  2081. return $isgqwx;
  2082. }
  2083. $resultModels = $resultModels['0'];
  2084. $homeword = $resultModels->home_score . "(主队全场)";
  2085. $guestword = $resultModels->guest_score . "(客队全场)";
  2086. $allword = $resultModels->home_score . '-' . $resultModels->guest_score . "(全场)";
  2087. $odds_code = $model->odds_code;
  2088. switch ($odds_code) {
  2089. case "dogsb1_cohd": //大1.5|主队|和局
  2090. $returnDatas = $this->twosize($resultModels, $model, dogsb1_cohd, $homeword);
  2091. break;
  2092. case "dogss1_cohd": //小1.5|主队|和局
  2093. $returnDatas = $this->twosize($resultModels, $model, dogss1_cohd, $homeword);
  2094. break;
  2095. case "dogsb1_cogd": //大1.5|客队|和局
  2096. $returnDatas = $this->twosize($resultModels, $model, dogsb1_cogd, $guestword);
  2097. break;
  2098. case "dogss1_cogd": //小1.5|客队|和局
  2099. $returnDatas = $this->twosize($resultModels, $model, dogss1_cogd, $guestword);
  2100. break;
  2101. case "dogsb1_cohg": //大1.5|主队|客队
  2102. $returnDatas = $this->twosize($resultModels, $model, dogsb1_cohg, $allword);
  2103. break;
  2104. case "dogss1_cohg": //小1.5|主队|客队
  2105. $returnDatas = $this->twosize($resultModels, $model, dogss1_cohg, $allword);
  2106. break;
  2107. case "dogsb2_cohd": //大2.5|主队|和局
  2108. $returnDatas = $this->twosize($resultModels, $model, dogsb2_cohd, $homeword);
  2109. break;
  2110. case "dogss2_cohd": //小2.5|主队|和局
  2111. $returnDatas = $this->twosize($resultModels, $model, dogss2_cohd, $homeword);
  2112. break;
  2113. case "dogsb2_cogd": //大2.5|客队|和局
  2114. $returnDatas = $this->twosize($resultModels, $model, dogsb2_cogd, $guestword);
  2115. break;
  2116. case "dogss2_cogd": //小2.5|客队|和局
  2117. $returnDatas = $this->twosize($resultModels, $model, dogss2_cogd, $guestword);
  2118. break;
  2119. case "dogsb2_cohg": //大2.5|主队|客队
  2120. $returnDatas = $this->twosize($resultModels, $model, dogsb2_cohg, $allword);
  2121. break;
  2122. case "dogss2_cohg": //小2.5|主队|客队
  2123. $returnDatas = $this->twosize($resultModels, $model, dogss2_cohg, $allword);
  2124. break;
  2125. case "dogsb3_cohd": //大3.5|主队|和局
  2126. $returnDatas = $this->twosize($resultModels, $model, dogsb3_cohd, $homeword);
  2127. break;
  2128. case "dogss3_cohd": //小3.5|主队|和局
  2129. $returnDatas = $this->twosize($resultModels, $model, dogss3_cohd, $homeword);
  2130. break;
  2131. case "dogsb3_cogd": //大3.5|客队|和局
  2132. $returnDatas = $this->twosize($resultModels, $model, dogsb3_cogd, $guestword);
  2133. break;
  2134. case "dogss3_cogd": //小3.5|客队|和局
  2135. $returnDatas = $this->twosize($resultModels, $model, dogss3_cogd, $guestword);
  2136. break;
  2137. case "dogsb3_cohg": //大3.5|主队|客队
  2138. $returnDatas = $this->twosize($resultModels, $model, dogsb3_cohg, $allword);
  2139. break;
  2140. case "dogss3_cohg": //小3.5|主队|客队
  2141. $returnDatas = $this->twosize($resultModels, $model, dogss3_cohg, $allword);
  2142. break;
  2143. case "dogsb4_cohd": //大4.5|主队|和局
  2144. $returnDatas = $this->twosize($resultModels, $model, dogsb4_cohd, $homeword);
  2145. break;
  2146. case "dogss4_cohd": //小4.5|主队|和局
  2147. $returnDatas = $this->twosize($resultModels, $model, dogss4_cohd, $homeword);
  2148. break;
  2149. case "dogsb4_cogd": //大4.5|客队|和局
  2150. $returnDatas = $this->twosize($resultModels, $model, dogsb4_cogd, $guestword);
  2151. break;
  2152. case "dogss4_cogd": //小4.5|客队|和局
  2153. $returnDatas = $this->twosize($resultModels, $model, dogss4_cogd, $guestword);
  2154. break;
  2155. case "dogsb4_cohg": //大4.5|主队|客队
  2156. $returnDatas = $this->twosize($resultModels, $model, dogsb4_cohg, $allword);
  2157. break;
  2158. case "dogss4_cohg": //小4.5|主队|客队
  2159. $returnDatas = $this->twosize($resultModels, $model, dogss4_cohg, $allword);
  2160. break;
  2161. default:
  2162. $returnDatas = ['result' => 2, 'matchResult' => '(玩法无规则异常)-' . $odds_code];
  2163. }
  2164. }
  2165. /**
  2166. * 双重机会&双方球队进球
  2167. * @param mixed $model 注单表数据
  2168. * @param mixed $resultModels 结果表数据
  2169. * @param mixed $resultRecords 结果记录表数据
  2170. * model--money_buy_match resultModels--st_zq_result resultRecords--st_zq_result_record
  2171. * @return string
  2172. */
  2173. public function DOBG($model, $resultModels, $resultRecords)
  2174. {
  2175. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  2176. if ($isgqwx) {
  2177. return $isgqwx;
  2178. }
  2179. $resultModels = $resultModels['0'];
  2180. $homeword = $resultModels->home_score . "(主队全场)";
  2181. $guestword = $resultModels->guest_score . "(客队全场)";
  2182. $allword = $resultModels->home_score . '-' . $resultModels->guest_score . "(全场)";
  2183. $odds_code = $model->odds_code;
  2184. switch ($odds_code) {
  2185. case "dobgy_cohd": //主队/和局|是
  2186. $returnDatas = $this->allgoals($resultModels, $model, dobgy_cohd, $allword);
  2187. break;
  2188. case "dobgn_cohd": //主队/和局|不是
  2189. $returnDatas = $this->allgoals($resultModels, $model, dobgn_cohd, $allword);
  2190. break;
  2191. case "dobgy_cogd": //客队/和局|是
  2192. $returnDatas = $this->allgoals($resultModels, $model, dobgy_cogd, $allword);
  2193. break;
  2194. case "dobgn_cogd": //客队/和局|不是
  2195. $returnDatas = $this->allgoals($resultModels, $model, dobgn_cogd, $allword);
  2196. break;
  2197. case "dobgy_cohg": //主队/客队|是
  2198. $returnDatas = $this->allgoals($resultModels, $model, dobgy_cohg, $allword);
  2199. break;
  2200. case "dobgn_cohg": //主队/客队|不是
  2201. $returnDatas = $this->allgoals($resultModels, $model, dobgn_cohg, $allword);
  2202. break;
  2203. default:
  2204. $returnDatas = ['result' => 2, 'matchResult' => '(玩法无规则异常)-' . $odds_code];
  2205. }
  2206. }
  2207. /**
  2208. * 双重机会&最先进球
  2209. * @param mixed $model 注单表数据
  2210. * @param mixed $resultModels 结果表数据
  2211. * @param mixed $resultRecords 结果记录表数据
  2212. * model--money_buy_match resultModels--st_zq_result resultRecords--st_zq_result_record
  2213. * @return string
  2214. */
  2215. public function DOFB($model, $resultModels, $resultRecords)
  2216. {
  2217. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  2218. if ($isgqwx) {
  2219. return $isgqwx;
  2220. }
  2221. $resultModels = $resultModels['0'];
  2222. $word = array(
  2223. 'home' => $resultModels->home_score . "(主队全场)",
  2224. 'guest' => $resultModels->guest_score . "(客队全场)",
  2225. 'firstscore' => $resultModels->first_score . "(最先进球)",
  2226. );
  2227. $odds_code = $model->odds_code;
  2228. switch ($odds_code) {
  2229. case "dofgh_cohd": //主队最先进球(主队/和局)
  2230. $returnDatas = $this->oneball($resultModels, $model, dofgh_cohd, $word);
  2231. break;
  2232. case "dofbg_cohd": //客队最先进球(主队/和局)
  2233. $returnDatas = $this->oneball($resultModels, $model, dofbg_cohd, $word);
  2234. break;
  2235. case "dofbh_cogd": //主队最先进球(主队/和局)
  2236. $returnDatas = $this->oneball($resultModels, $model, dofbh_cogd, $word);
  2237. break;
  2238. case "dofbg_cogd": //客队最先进球(主队/和局)
  2239. $returnDatas = $this->oneball($resultModels, $model, dofbg_cogd, $word);
  2240. break;
  2241. case "dofbh_cohg": //主队最先进球(主队/和局)
  2242. $returnDatas = $this->oneball($resultModels, $model, dofbh_cohg, $word);
  2243. break;
  2244. case "dofbg_cohg": //客队最先进球(主队/和局)
  2245. $returnDatas = $this->oneball($resultModels, $model, dofbg_cohg, $word);
  2246. break;
  2247. default:
  2248. $returnDatas = ['result' => 2, 'matchResult' => '(玩法无规则异常)-' . $odds_code];
  2249. }
  2250. }
  2251. /**
  2252. * 进球大/小&进球单/双
  2253. * @param mixed $model 注单表数据
  2254. * @param mixed $resultModels 结果表数据
  2255. * @param mixed $resultRecords 结果记录表数据
  2256. * model--money_buy_match resultModels--st_zq_result resultRecords--st_zq_result_record
  2257. * @return string
  2258. */
  2259. public function GSTS($model, $resultModels, $resultRecords)
  2260. {
  2261. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  2262. if ($isgqwx) {
  2263. return $isgqwx;
  2264. }
  2265. $resultModels = $resultModels['0'];
  2266. $allword = $resultModels->home_score . '-' . $resultModels->guest_score . "(全场)";
  2267. $odds_code = $model->odds_code;
  2268. switch ($odds_code) {
  2269. case "gstsb1s": //大1.5|单
  2270. $returnDatas = $this->sizesd($resultModels, $model, gstsb1s, $allword);
  2271. break;
  2272. case "gstss1s": //小1.5|单
  2273. $returnDatas = $this->sizesd($resultModels, $model, gstss1s, $allword);
  2274. break;
  2275. case "gstsb1d": //大1.5|双
  2276. $returnDatas = $this->sizesd($resultModels, $model, gstsb1d, $allword);
  2277. break;
  2278. case "gstss1d": //小1.5|双
  2279. $returnDatas = $this->sizesd($resultModels, $model, gstss1d, $allword);
  2280. break;
  2281. case "gstsb2s": //大2.5|单
  2282. $returnDatas = $this->sizesd($resultModels, $model, gstsb2s, $allword);
  2283. break;
  2284. case "gstss2s": //小2.5|单
  2285. $returnDatas = $this->sizesd($resultModels, $model, gstss2s, $allword);
  2286. break;
  2287. case "gstsb2d": //大2.5|双
  2288. $returnDatas = $this->sizesd($resultModels, $model, gstsb2d, $allword);
  2289. break;
  2290. case "gstss2d": //小2.5|双
  2291. $returnDatas = $this->sizesd($resultModels, $model, gstss2d, $allword);
  2292. break;
  2293. case "gstsb3s": //大3.5|单
  2294. $returnDatas = $this->sizesd($resultModels, $model, gstsb3s, $allword);
  2295. break;
  2296. case "gstss3s": //小3.5|单
  2297. $returnDatas = $this->sizesd($resultModels, $model, gstss3s, $allword);
  2298. break;
  2299. case "gstsb3d": //大3.5|双
  2300. $returnDatas = $this->sizesd($resultModels, $model, gstsb3d, $allword);
  2301. break;
  2302. case "gstss3d": //小3.5|双
  2303. $returnDatas = $this->sizesd($resultModels, $model, gstss3d, $allword);
  2304. break;
  2305. case "gstsb4s": //大4.5|单
  2306. $returnDatas = $this->sizesd($resultModels, $model, gstsb4s, $allword);
  2307. break;
  2308. case "gstss4s": //小4.5|单
  2309. $returnDatas = $this->sizesd($resultModels, $model, gstss4s, $allword);
  2310. break;
  2311. case "gstsb4d": //大4.5|双
  2312. $returnDatas = $this->sizesd($resultModels, $model, gstsb4d, $allword);
  2313. break;
  2314. case "gstss4d": //小4.5|双
  2315. $returnDatas = $this->sizesd($resultModels, $model, gstss4d, $allword);
  2316. break;
  2317. default:
  2318. $returnDatas = ['result' => 2, 'matchResult' => '(玩法无规则异常)-' . $odds_code];
  2319. }
  2320. }
  2321. /**
  2322. * 进球大/小&最先进球
  2323. * @param mixed $model 注单表数据
  2324. * @param mixed $resultModels 结果表数据
  2325. * @param mixed $resultRecords 结果记录表数据
  2326. * model--money_buy_match resultModels--st_zq_result resultRecords--st_zq_result_record
  2327. * @return string
  2328. */
  2329. public function GSFB($model, $resultModels, $resultRecords)
  2330. {
  2331. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  2332. if ($isgqwx) {
  2333. return $isgqwx;
  2334. }
  2335. $resultModels = $resultModels['0'];
  2336. $allword = array(
  2337. 'score' => $resultModels->home_score . '-' . $resultModels->guest_score . "(全场)",
  2338. 'firstscore' => $resultModels->first_score,
  2339. );
  2340. $odds_code = $model->odds_code;
  2341. switch ($odds_code) {
  2342. case "gsfbb1h": //大1.5|主队最先进球
  2343. $returnDatas = $this->sizeone($resultModels, $model, gsfbb1h, $allword);
  2344. break;
  2345. case "gsfbs1h": //小1.5|主队最先进球
  2346. $returnDatas = $this->sizeone($resultModels, $model, gsfbs1h, $allword);
  2347. break;
  2348. case "gsfbb1g": //大1.5|客队最先进球
  2349. $returnDatas = $this->sizeone($resultModels, $model, gsfbb1g, $allword);
  2350. break;
  2351. case "gsfbs1g": //小1.5|客队最先进球
  2352. $returnDatas = $this->sizeone($resultModels, $model, gsfbs1g, $allword);
  2353. break;
  2354. case "gsfbb2h": //大2.5|主队最先进球
  2355. $returnDatas = $this->sizeone($resultModels, $model, gsfbb2h, $allword);
  2356. break;
  2357. case "gsfbs2h": //小2.5|主队最先进球
  2358. $returnDatas = $this->sizeone($resultModels, $model, gsfbs2h, $allword);
  2359. break;
  2360. case "gsfbb2g": //大2.5|客队最先进球
  2361. $returnDatas = $this->sizeone($resultModels, $model, gsfbb2g, $allword);
  2362. break;
  2363. case "gsfbs2g": //小2.5|客队最先进球
  2364. $returnDatas = $this->sizeone($resultModels, $model, gsfbs2g, $allword);
  2365. break;
  2366. case "gsfbb3h": //大3.5|主队最先进球
  2367. $returnDatas = $this->sizeone($resultModels, $model, gsfbb3h, $allword);
  2368. break;
  2369. case "gsfbs3h": //小3.5|主队最先进球
  2370. $returnDatas = $this->sizeone($resultModels, $model, gsfbs3h, $allword);
  2371. break;
  2372. case "gsfbb3g": //大3.5|客队最先进球
  2373. $returnDatas = $this->sizeone($resultModels, $model, gsfbb3g, $allword);
  2374. break;
  2375. case "gsfbs3g": //小3.5|客队最先进球
  2376. $returnDatas = $this->sizeone($resultModels, $model, gsfbs3g, $allword);
  2377. break;
  2378. case "gsfbb4h": //大4.5|主队最先进球
  2379. $returnDatas = $this->sizeone($resultModels, $model, gsfbb4h, $allword);
  2380. break;
  2381. case "gsfbs4h": //小4.5|主队最先进球
  2382. $returnDatas = $this->sizeone($resultModels, $model, gsfbs4h, $allword);
  2383. break;
  2384. case "gsfbb4g": //大4.5|客队最先进球
  2385. $returnDatas = $this->sizeone($resultModels, $model, gsfbb4g, $allword);
  2386. break;
  2387. case "gsfbs4g": //小4.5|客队最先进球
  2388. $returnDatas = $this->sizeone($resultModels, $model, gsfbs4g, $allword);
  2389. break;
  2390. default:
  2391. $returnDatas = ['result' => 2, 'matchResult' => '(玩法无规则异常)-' . $odds_code];
  2392. }
  2393. }
  2394. /**
  2395. * 落后反超获胜
  2396. * @param mixed $model 注单表数据
  2397. * @param mixed $resultModels 结果表数据
  2398. * @param mixed $resultRecords 结果记录表数据
  2399. * model--money_buy_match resultModels--st_zq_result resultRecords--st_zq_result_record
  2400. * @return string jimy end ???
  2401. */
  2402. public function FW($model, $resultModels, $resultRecords)
  2403. {
  2404. $isgqwx = $this->GunqiuWeixian($model, $resultModels, $resultRecords);
  2405. if ($isgqwx) {
  2406. return $isgqwx;
  2407. }
  2408. $resultModels = $resultModels['0'];
  2409. $homeword = $resultModels->home_score . "(主队全场)";
  2410. $guestword = $resultModels->guest_score . "(客队全场)";
  2411. $allword = $resultModels->home_score . '-' . $resultModels->guest_score . "(全场)";
  2412. $odds_code = $model->odds_code;
  2413. switch ($odds_code) {
  2414. case "fwh": //主队
  2415. $returnDatas = $this->backwardwins($resultModels, $model, fwh, $homeword);
  2416. break;
  2417. case "fwg": //客队
  2418. $returnDatas = $this->backwardwins($resultModels, $model, fwg, $homeword);
  2419. break;
  2420. default:
  2421. $returnDatas = ['result' => 2, 'matchResult' => '(玩法无规则异常)-' . $odds_code];
  2422. }
  2423. }
  2424. //滚球危险球判断处理
  2425. public function GunqiuWeixian($model, $resultModels, $resultRecords)
  2426. {
  2427. //==获取是否是滚球投注==
  2428. $is_rolling = $model->is_rolling;
  2429. //如果是滚球投注,则进行危险球审核
  2430. if ($is_rolling == 1) {
  2431. $ret = commonFunction::WARN_CHECK($model, $resultModels);
  2432. //如果审核不通过,则返回2 1赢 2平 -1输
  2433. if ($ret['code'] == -1) {
  2434. $data = [
  2435. 'result' => 2,
  2436. 'matchResult' => "滚球投注,危险球审核不通过",
  2437. 'warn_more' => $ret['warn_more']
  2438. ];
  2439. return $data;
  2440. }
  2441. }
  2442. return false;
  2443. }
  2444. }