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