ZqRule.php 101 KB

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