MoneyQuery.php 217 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883
  1. <?php
  2. namespace Biz\Money;
  3. use function GuzzleHttp\Psr7\str;
  4. /**
  5. * game query
  6. */
  7. //ini_set('display_errors', 1);
  8. //
  9. //error_reporting(E_ALL);
  10. class MoneyQuery
  11. {
  12. /**
  13. * 获取彩金详细
  14. */
  15. function CToDetail($data){
  16. $arr1 = [0=>'待审核',1=>'已通过',2=>'驳回'];
  17. $arr2 = ['sign'=>'签到彩金','first_save'=>'首冲彩金','upgrade'=>'晋级彩金'];
  18. $id_one = isset($data['account_identity']) ? $data['account_identity'] : '';
  19. $uid = isset($data['uid']) ? $data['uid'] : '';
  20. $money_type = isset($data['money_type']) ? $data['money_type'] : ''; //资金类型
  21. $data_codes = lm("lottery_money_log", "Commons")->where('account_identity', $id_one)->where('id', $uid)->first();
  22. $data_codes['vip_name'] = lm("dc_user_grade", "Commons")->where('grade', $data_codes['grade'])->first()['name'];
  23. $data_codes['list'] = lm("lottery_money_log", "Commons")->where('lottery_money_type', $money_type)->where('account_identity', $id_one)->select('lottery_money_type','create_time','status','id')->orderBy('create_time','desc')->get()->toArray();
  24. $data=$data_codes->toArray();
  25. $data['status_name']=$arr1[$data_codes['status']];
  26. $data['money_type_name']=$arr2[$data_codes['lottery_money_type']];
  27. foreach ($data['list'] as $key =>$value){
  28. $data['list'][$key]['lottery_money_type']=$arr2[$value['lottery_money_type']];
  29. $data['list'][$key]['status_name']=$arr1[$value['status']];
  30. $data['list'][$key]['status']=$value['status'];
  31. }
  32. return $data;
  33. }
  34. /**
  35. * cToUpgrade
  36. * @param $data
  37. * @return array
  38. * 由 ikeke 修改于2018-12-10 修改内容:数据输出时的结构对于 APP 端不友好解析不出来
  39. */
  40. function cToUpgrade($data){
  41. $obj_money_log=lm("lottery_money_log", "commons");
  42. $arr1 = [0=>'待审核',1=>'已通过',2=>'驳回'];
  43. $id_one = isset($data['account_identity']) ? $data['account_identity'] : ''; //用户唯一id
  44. $create_time = isset($data['create_time']) ? $data['create_time'] : '';
  45. $page = isset($data['page']) ? $data['page'] : '1';
  46. $where = '';
  47. $time = date("Y-m-d 00:00:00",strtotime($create_time));
  48. $timeday= date("Y-m-d 23:59:59",strtotime($create_time));
  49. $yesterday1= date("Y-m-d 00:00:00",strtotime("-1 day",strtotime($create_time)));
  50. $yesterday2= date("Y-m-d 23:59:59",strtotime("-1 day",strtotime($create_time)));
  51. $tomorrow1= date("Y-m-d 00:00:00",strtotime("1 day",strtotime($create_time)));
  52. $tomorrow2= date("Y-m-d 23:59:59",strtotime("1 day",strtotime($create_time)));
  53. if (preg_match('/^(\d{4}-\d{2}-\d{2})?$/',$create_time)){
  54. $where .="create_time >= '{$time}' and create_time <= '{$timeday}'";
  55. }else{
  56. return -5005;
  57. }
  58. $where .=" AND account_identity='{$id_one}'";
  59. $list = 10;
  60. $first = ($page - 1) * $list;
  61. $row =$obj_money_log->orderBy('create_time', 'desc')->whereRaw($where)->offset($first)->select('lottery_money_name','money','status','create_time','id','lottery_money_type')->limit($list)->get();
  62. if (!$row) {
  63. return -5004;
  64. }
  65. $rows['lists'] = $row->toArray();
  66. foreach($rows['lists'] as $key =>$value){
  67. $rows['lists'][$key]['status_name']=$arr1[$value['status']];
  68. }
  69. //前一天 和 后一天
  70. $yesterday ="account_identity='{$id_one}' AND create_time >'{$yesterday1}' AND create_time <= '{$yesterday2}'";
  71. $tomorrow="account_identity='{$id_one}' AND create_time >= '{$tomorrow1}' AND create_time <= '{$tomorrow2}'";
  72. //统计
  73. $where_s = "lottery_money_type ='sign' AND account_identity='{$id_one}' AND {$where}";
  74. $where_f = "lottery_money_type ='first_save' AND account_identity='{$id_one}' AND {$where}";
  75. $where_u = "lottery_money_type ='upgrade' AND account_identity='{$id_one}' AND {$where}";
  76. //前一天 和 后一天
  77. $rows['yesterdayCount']=$obj_money_log->whereRaw($yesterday)->sum('money');
  78. $rows['tomorrow']=$obj_money_log->whereRaw($tomorrow)->sum('money');
  79. $rows['countS']=$obj_money_log->whereRaw($where)->sum('money');
  80. $rows['signCount']=$obj_money_log->whereRaw($where_s)->sum('money');
  81. $rows['firstCount']=$obj_money_log->whereRaw($where_f)->sum('money');
  82. $rows['upgradeCount']=$obj_money_log->whereRaw($where_u)->sum('money');
  83. if ($rows['lists']){
  84. $rows['is_k']=1;
  85. }else{
  86. $rows['is_k']=0;
  87. }
  88. return $rows;
  89. }
  90. /*
  91. * 账号明细记录
  92. */
  93. function Winning($data)
  94. {
  95. $time = date("Y-m-d 00:00:00",time());
  96. $id_one = isset($data['account_identity']) ? $data['account_identity'] : ''; //用户唯一id
  97. $status = isset($data['status']) ? $data['status'] : ''; //资金状态
  98. $money_type = isset($data['trade_type']) ? $data['trade_type'] : ''; //资金类型
  99. $page = isset($data['page']) ? $data['page'] : '1'; //资金类型
  100. $money_time = isset($data['money_time']) ? $data['money_time'] : ''; //添加时间
  101. $field = isset($data['field']) ? $data['field'] : 'money_time'; //排序字段
  102. $orderby = isset($data['orderby']) ? $data['orderby'] : 'desc'; //排序
  103. if (empty($id_one)) {
  104. return -4010;
  105. }
  106. $arrmt = explode('|', $money_type);
  107. if(isset($arrmt[1])){
  108. $money_type = $arrmt[1];
  109. }
  110. $arr = [ //向数据库追加数组 然后循环出来
  111. 'trade_type' => $money_type,
  112. 'status' => $status,
  113. 'account_identity' => $id_one,
  114. ];
  115. $where = 'status = 1';
  116. $timeday= date("Y-m-d 23:59:59");
  117. $week=date("Y-m-d 23:59:59",strtotime("last week"));
  118. $month=date("Y-m-d 23:59:59",strtotime("last month"));
  119. $twomonth=date("Y-m-d 23:59:59",strtotime("-0 year -2 month -0 day"));
  120. $sixmonth=date("Y-m-d 23:59:59",strtotime("-0 year -6 month -0 day"));
  121. if(is_array($money_time) && count($money_time)==2){
  122. $time = date('Y-m-d 00:00:00',strtotime($money_time[0]));
  123. $timeday = date('Y-m-d 23:59:59',strtotime($money_time[1]));
  124. $where .=" AND money_time >='{$time}' AND money_time <= '{$timeday}'";
  125. }else if(is_array($money_time) && count($money_time)==1 && !empty($money_time[0])){
  126. $time = date('Y-m-d 00:00:00',strtotime($money_time[0]));
  127. $timeday = date('Y-m-d 23:59:59',strtotime($money_time[0]));
  128. $where .=" AND money_time >='{$time}' AND money_time <= '{$timeday}'";
  129. }else if (!empty($money_time)){
  130. switch ($money_time){
  131. case 1:
  132. $where .=" AND money_time >='{$time}' AND money_time < '{$timeday}'";
  133. break;
  134. case 2:
  135. $where .=" AND money_time >= '{$week}' and money_time < '{$time}'";
  136. break;
  137. case 3:
  138. $where .=" AND money_time >='{$month}' and money_time < '{$time}'";
  139. break;
  140. case 4:
  141. $where .=" AND money_time >='{$twomonth}' and money_time < '{$time}'";
  142. break;
  143. case 5:
  144. $where .=" AND money_time >='{$sixmonth}' and money_time < '{$time}'";
  145. break;
  146. default:
  147. break;
  148. }
  149. }
  150. foreach ($arr as $key => $value) {
  151. //循环数组
  152. if($key=='trade_type' && !empty($value)){
  153. $where .= " AND {$key} in ({$value}) "; //获取值
  154. }else if ($value != '' && $key != 'a.id' && $key != 'b.id') { //判断条件
  155. $where .= " AND {$key}='{$value}'"; //获取值
  156. }
  157. }
  158. $where = str_replace('19-1,19-2', '19', $where);
  159. $where = str_replace('19-1', '19', $where);
  160. $where = str_replace('19-2', '19', $where);
  161. $list = 20;
  162. //获取总页数
  163. //return $where;
  164. $count_list = lm("money_details", "commons")->whereRaw($where)->count();
  165. $count_page = ceil($count_list / $list);
  166. $first = ($page - 1) * $list;
  167. $rows = lm("money_details", "commons")
  168. ->orderBy('money_time', 'desc')->whereRaw($where)->offset($first)->limit($list)->orderby($field,$orderby)->get();
  169. if (!$rows) {
  170. return -5004;
  171. }
  172. $rows = $rows->toArray();
  173. $money_type = $this->GetMonetType();
  174. $Winning = $this->GetStatus();
  175. foreach ($Winning as $key => $v) {
  176. foreach ($rows as $k => $val) {
  177. if ($val['status'] == $key) {
  178. $val['is_status']=$val['status'];
  179. $val['status'] = lang()->get($v);
  180. $rowr[] = $val;
  181. }
  182. }
  183. }
  184. foreach ($rowr as $k => $v) {
  185. if(in_array($v['trade_type'], array(1,2,3))){
  186. $buyinfo = lm('Money_buy','Commons')->select('game_name')->where('order_id',$v['trade_id'])->first();
  187. if(!$buyinfo || count($buyinfo->toArray())<1){
  188. $buyinfo = lm('SixMoney_buy','Commons')->select('game_name')->where('order_id',$v['trade_id'])->first();
  189. if($buyinfo && isset($buyinfo->game_name))$v['gname'] = $buyinfo->game_name;
  190. }else{
  191. $v['gname'] = $buyinfo->game_name;
  192. }
  193. }
  194. foreach ($money_type as $key => $val) {
  195. if ($v['trade_type'] == $key) {
  196. $v['trade_type_id'] = $v['trade_type'];
  197. if($v['trade_type']==19){
  198. if($v['money_type']==1){
  199. $v['trade_type'] = '额度转入';
  200. }else{
  201. $v['trade_type'] = '额度转出';
  202. }
  203. }else{
  204. $v['trade_type'] = lang()->get($val['name']);
  205. }
  206. if($v['money_type']==1){
  207. $v['money'] = '+'. $v['money'];
  208. }else{
  209. $v['money'] = '-'. $v['money'];
  210. }
  211. $ro[] = $v;
  212. }
  213. }
  214. }
  215. return $ro;
  216. }
  217. /*统计账户分类总额*/
  218. public function AccountSum($data){
  219. $time = date("Y-m-d 00:00:00",time());
  220. $id_one = isset($data['account_identity']) ? $data['account_identity'] : ''; //用户唯一id
  221. $money_type = isset($data['trade_type']) ? $data['trade_type'] : ''; //资金类型
  222. $page = isset($data['page']) ? $data['page'] : '1'; //资金类型
  223. $money_time = isset($data['money_time']) ? $data['money_time'] : ''; //添加时间
  224. if (empty($id_one)) {
  225. return -4010;
  226. }
  227. $arrmt = explode('|', $money_type);
  228. if(isset($arrmt[1])){
  229. $money_type = $arrmt[1];
  230. }
  231. $arr = [ //向数据库追加数组 然后循环出来
  232. 'trade_type' => $money_type,
  233. 'account_identity' => $id_one,
  234. ];
  235. $where = 'status = 1';
  236. $timeday= date("Y-m-d 23:59:59");
  237. $week=date("Y-m-d 23:59:59",strtotime("last week"));
  238. $month=date("Y-m-d 23:59:59",strtotime("last month"));
  239. $twomonth=date("Y-m-d 23:59:59",strtotime("-0 year -2 month -0 day"));
  240. $sixmonth=date("Y-m-d 23:59:59",strtotime("-0 year -6 month -0 day"));
  241. if(is_array($money_time) && count($money_time)==2){
  242. $time = date('Y-m-d 00:00:00',strtotime($money_time[0]));
  243. $timeday = date('Y-m-d 23:59:59',strtotime($money_time[1]));
  244. $where .=" AND money_time >='{$time}' AND money_time <= '{$timeday}'";
  245. }else if (!empty($money_time) && !empty($money_time[0]) && !is_numeric($money_time[0])){
  246. $time = date('Y-m-d 00:00:00',strtotime($money_time[0]));
  247. $timeday = date('Y-m-d 23:59:59',strtotime($money_time[0]));
  248. $where .=" AND money_time >='{$time}' AND money_time <= '{$timeday}'";
  249. }else if (!empty($money_time)){
  250. switch ($money_time){
  251. case 1:
  252. $where .=" AND money_time >='{$time}' AND money_time < '{$timeday}'";
  253. break;
  254. case 2:
  255. $where .=" AND money_time >= '{$week}' and money_time < '{$time}'";
  256. break;
  257. case 3:
  258. $where .=" AND money_time >='{$month}' and money_time < '{$time}'";
  259. break;
  260. case 4:
  261. $where .=" AND money_time >='{$twomonth}' and money_time < '{$time}'";
  262. break;
  263. case 5:
  264. $where .=" AND money_time >='{$sixmonth}' and money_time < '{$time}'";
  265. break;
  266. default:
  267. break;
  268. }
  269. }
  270. foreach ($arr as $key => $value) {
  271. //循环数组
  272. if($key=='trade_type' && !empty($value)){
  273. $where .= " AND {$key} in ({$value}) "; //获取值
  274. }else if ($value != '' && $key != 'a.id' && $key != 'b.id') { //判断条件
  275. $where .= " AND {$key}='{$value}'"; //获取值
  276. }
  277. }
  278. $list = 10;
  279. $first = ($page - 1) * $list;
  280. //获取总页数
  281. $sql = "SELECT sum(money),trade_type,money_type FROM money_details where " . $where . " group by trade_type,money_type";
  282. $res = S ('DB')->select ($sql);
  283. $res = json_encode($res);
  284. $res = json_decode($res,1);
  285. $ttype = $this->Tradetype();
  286. $sum = array();
  287. for($i=1;$i<23;$i++){
  288. if($i==19){
  289. $sum['19-1']=0;
  290. $sum['19-2']=0;
  291. }else{
  292. $sum[$i]=0;
  293. }
  294. }
  295. foreach ($res as $k => $v) {
  296. if($v['trade_type']==22){
  297. if($v['money_type']==1){
  298. $sum[$v['trade_type']] += $v['sum'];
  299. }else{
  300. $sum[$v['trade_type']] -= $v['sum'];
  301. }
  302. }else if($v['trade_type']==19){
  303. $tk = $v['trade_type'] . '-' . $v['money_type'];
  304. $sum[$tk] = $v['sum'] + $sum[$tk];
  305. }else{
  306. $sum[$v['trade_type']] = $v['sum'] + $sum[$v['trade_type']];
  307. }
  308. }
  309. return $sum;
  310. }
  311. //交易类型
  312. private function Tradetype(){
  313. return array(
  314. '1' => '投注',
  315. '2' => '追号',
  316. '3' => '撤单',
  317. '4' => '中奖',
  318. '5' => '提现',
  319. '6' => '在线充值',
  320. '7' => '返水',
  321. '8' => '回水',
  322. '9' => '管理员扣款',
  323. '10' => '佣金提成',
  324. '11' => '后台充值',
  325. '12' => '活动',
  326. '13' => '充值赠送',
  327. '14' => '汇款',
  328. '15' => '冻结提现',
  329. '16' => '红包打赏',
  330. '19' => '额度转账',
  331. '19-1' => '额度转入',
  332. '19-2' => '额度转出',
  333. '22' => '代理代充',
  334. );
  335. }
  336. /***
  337. * 六合投注列表
  338. * @param $data
  339. * @return mixed
  340. */
  341. public function SixBettingRecord($data)
  342. {
  343. $id_one = isset($data['account_identity']) ? $data['account_identity'] : ''; //用户唯一id
  344. $status = isset($data['status']) ? $data['status'] : ''; //资金状态
  345. $order_id = isset($data['order_id']) ? $data['order_id'] : ''; //资金类型
  346. $game_status = isset($data['game_status']) ? $data['game_status'] : ''; //资金类型
  347. $page = isset($data['page']) ? $data['page'] : '1'; //资金类型
  348. //return $page;
  349. $play_num = "";
  350. if (empty($id_one)) {
  351. return -4010;
  352. }
  353. $arr = [ //向数据库追加数组 然后循环出来
  354. 'status' => $status,
  355. 'account_identity' => $id_one,
  356. 'order_id' => $order_id,
  357. 'game_status' => $game_status,
  358. ];
  359. $where = '1 = 1';
  360. foreach ($arr as $key => $value) {
  361. //循环数组
  362. if ($value != '' && $key != 'a.id' && $key != 'b.id') { //判断条件
  363. $where .= " AND {$key}='{$value}'"; //获取值
  364. }
  365. }
  366. $list = 10;
  367. //获取总页数
  368. $count_list = lm("sixMoney_buy", "commons")->whereRaw($where)->count();
  369. $count_page = ceil($count_list / $list);
  370. $first = ($page - 1) * $list;
  371. $code_data = lm("sixMoney_buy", "commons")
  372. ->whereRaw($where)->orderBy('money_time', 'desc')
  373. ->offset($first)->limit($list)->get();
  374. if (!$code_data) {
  375. return -5004;
  376. }
  377. $code_data = $code_data->toArray();
  378. foreach ($code_data as $k=>$v){
  379. $data_codes = lm($v['game_name'], "Commons")->select('status')->where('info_no', $v['game_no'])->first();
  380. if ($data_codes){
  381. $data_codes=$data_codes->toArray();
  382. $code_data[$k]['gamed_status']=$data_codes['status'];
  383. }
  384. }
  385. $Winning = $this->GetMoneyStatus();
  386. $Status = $this->GetWinStatus();
  387. foreach ($code_data as $k => $val) {
  388. $val['game_type'] = lang()->get($val['game_name']);
  389. foreach ($Winning as $key => $v) {
  390. //return $val['status'];
  391. if ($val['status'] == $key) {
  392. $val['status'] = lang()->get($v);
  393. $row[] = $val;
  394. }
  395. }
  396. }
  397. foreach ($Status as $key => $v) {
  398. foreach ($row as $k => $val) {
  399. if ($val['game_status'] == $key) {
  400. $val['game_status'] = lang()->get($v);
  401. $index = $val['id'];
  402. $rowy[$index] = $val;
  403. //$aa[]=$val;
  404. }
  405. }
  406. }
  407. rsort($rowy);
  408. return $rowy;
  409. }
  410. /*
  411. * 投注记录
  412. */
  413. public function BettingRecord($data)
  414. {
  415. $id_one = isset($data['account_identity']) ? $data['account_identity'] : ''; //用户唯一id
  416. $status = isset($data['status']) ? $data['status'] : ''; //资金状态
  417. $order_id = isset($data['order_id']) ? $data['order_id'] : ''; //资金类型
  418. $game_status = isset($data['game_status']) ? $data['game_status'] : ''; //资金类型
  419. $game_name = isset($data['game_name']) ? $data['game_name'] : ''; //资金类型
  420. $page = isset($data['page']) ? $data['page'] : '1'; //资金类型
  421. //return $page;
  422. $play_num = "";
  423. if (empty($id_one)) {
  424. return -4010;
  425. }
  426. $arr = [ //向数据库追加数组 然后循环出来
  427. 'status' => $status,
  428. 'account_identity' => $id_one,
  429. 'order_id' => $order_id,
  430. 'game_status' => $game_status,
  431. 'game_name' => $game_name,
  432. ];
  433. $account = lm("game_type", "commons");
  434. $game = $account->where("status", "=", "1")->get()->toArray();
  435. //return $game;
  436. $where = '1 = 1';
  437. foreach ($arr as $key => $value) {
  438. //循环数组
  439. if ($value != '' && $key != 'a.id' && $key != 'b.id') { //判断条件
  440. $where .= " AND {$key}='{$value}'"; //获取值
  441. }
  442. }
  443. //return $where;
  444. //$code_data = lm("money_buy", "commons")->whereRaw($where)->get();
  445. $list = 10;
  446. //获取总页数
  447. $count_list = lm("money_buy", "commons")->whereRaw($where)->count();
  448. $count_page = ceil($count_list / $list);
  449. $first = ($page - 1) * $list;
  450. //$code_datas = $accountd->orderBy('money_time', 'desc')->whereRaw($where)->offset($first)->limit($list)->get();
  451. $code_data = lm("money_buy", "commons")
  452. ->whereRaw($where)->orderBy('money_time', 'desc')
  453. ->offset($first)->limit($list)->get();
  454. if (!$code_data) {
  455. return -5004;
  456. }
  457. $code_data = $code_data->toArray();
  458. $Winning = $this->GetMoneyStatus();
  459. $Status = $this->GetWinStatus();
  460. foreach ($code_data as $k => $val) {
  461. $val['game_type'] = lang()->get($val['game_name']);
  462. foreach ($Winning as $key => $v) {
  463. //return $val['status'];
  464. if ($val['status'] == $key) {
  465. $val['status'] = lang()->get($v);
  466. $row[] = $val;
  467. }
  468. }
  469. }
  470. foreach ($Status as $key => $v) {
  471. foreach ($row as $k => $val) {
  472. if ($val['game_status'] == $key) {
  473. $val['game_status'] = lang()->get($v);
  474. $index = $val['id'];
  475. $rowy[$index] = $val;
  476. //$aa[]=$val;
  477. }
  478. }
  479. }
  480. rsort($rowy);
  481. return $rowy;
  482. }
  483. /*
  484. * 长龙近期投注记录
  485. */
  486. public function LongBetRecords($data)
  487. {
  488. $id_one = isset($data['account_identity']) ? $data['account_identity'] : ''; //用户唯一id
  489. $status = isset($data['status']) ? $data['status'] : ''; //资金状态
  490. $game_status = isset($data['game_status']) ? $data['game_status'] : ''; //资金类型
  491. $game_name = isset($data['game_name']) ? $data['game_name'] : ''; //资金类型
  492. $page = isset($data['page']) ? $data['page'] : '1'; //资金类型
  493. //return $page;
  494. $play_num = "";
  495. if (empty($id_one)) {
  496. return -4010;
  497. }
  498. $arr = [ //向数据库追加数组 然后循环出来
  499. 'status' => $status,
  500. 'account_identity' => $id_one,
  501. 'game_status' => $game_status,
  502. 'game_name' => $game_name,
  503. ];
  504. //$gamelist = lm("game_type", "commons")->select('name','table_name')->where("status", "=", "1")->get()->toArray();
  505. //print_r($gamelist);exit;
  506. $where = '1 = 1';
  507. foreach ($arr as $key => $value) {
  508. //循环数组
  509. if ($value != '' && $key != 'a.id' && $key != 'b.id') { //判断条件
  510. $where .= " AND {$key}='{$value}'"; //获取值
  511. }
  512. }
  513. $list = 10;
  514. //获取总页数
  515. $count_list = lm("money_buy", "commons")->whereRaw($where)->count();
  516. $count_page = ceil($count_list / $list);
  517. $first = ($page - 1) * $list;
  518. $code_data = lm("money_buy", "commons")->select('game_name','game_no','money','prize_money','game_status','order_id','money_time','status')
  519. ->whereRaw($where)->orderBy('money_time', 'desc')
  520. ->offset($first)->limit($list)->get();
  521. if (!$code_data) {
  522. return -5004;
  523. }
  524. $code_data = $code_data->toArray();
  525. //print_r($code_data);
  526. $Status = array("1" => "win", "2" => "notwin", "0" => "audit", "3" => "killorder");
  527. foreach ($code_data as $k => $val) {
  528. $code_data[$k]['game_type'] = lang()->get($val['game_name']);
  529. $code_data[$k]['game_status'] = $val['status']==4?'已撤单':lang()->get($Status[$val['game_status']]);
  530. }
  531. //rsort($code_data);
  532. return $code_data;
  533. }
  534. //即时开奖游戏记录
  535. public function CurBetRecord($data){
  536. $id_one = isset($data['account_identity']) ? $data['account_identity'] : ''; //用户唯一id
  537. $game_name = isset($data['game_name']) ? $data['game_name'] : ''; //资金状态
  538. if (empty($game_name)) {
  539. return "";
  540. }
  541. $play_num = "";
  542. if (empty($id_one)) {
  543. return -4010;
  544. }
  545. $code_data = lm($game_name, "commons")->orderBy('create_time', 'desc')->where('account_identity',$id_one)->get();
  546. if (empty($code_data)) {
  547. return "";
  548. } else {
  549. $code_data = $code_data->toArray();
  550. }
  551. return $code_data;
  552. }
  553. /*
  554. * 投注未开奖
  555. */
  556. public function NotBetRecord($data)
  557. {
  558. $id_one = isset($data['account_identity']) ? $data['account_identity'] : ''; //用户唯一id
  559. $game_name = isset($data['game_name']) ? $data['game_name'] : ''; //资金状态
  560. if (empty($game_name)) {
  561. return "";
  562. }
  563. $no = isset($data['no']) ? $data['no'] : ''; //资金类型
  564. $delstatus = isset($data['delstatus']) ? $data['delstatus'] : '1';
  565. $status = isset($data['status']) ? $data['status'] : '0';
  566. $play_num = "";
  567. if (empty($id_one)) {
  568. return -4010;
  569. }
  570. $game = new \Biz\Game\GameQuery;
  571. $no = $game->getNo($game_name);
  572. $arr = [ //向数据库追加数组 然后循环出来
  573. 'no' => $no,
  574. 'status' => $status,
  575. 'account_identity' => $id_one,
  576. 'delstatus' => $delstatus,
  577. ];
  578. $where = '1 = 1';
  579. foreach ($arr as $key => $value) {
  580. //循环数组
  581. if ($value != '' && $key != 'a.id' && $key != 'b.id') { //判断条件
  582. $where .= " AND {$key}='{$value}'"; //获取值
  583. }
  584. }
  585. $name = $game_name . "_buy";
  586. $code_data = lm($name, "commons")->orderBy('open_time', 'desc')->whereRaw($where)->get();
  587. if (empty($code_data)) {
  588. return "";
  589. } else {
  590. $code_data = lm($name, "commons")->orderBy('open_time', 'desc')->whereRaw($where)->get()->toArray();
  591. }
  592. //return $game_name;
  593. //var_dump($code_data);
  594. foreach ($code_data as $o => $v) {
  595. $tab_name = "bjpk10Parse";
  596. $nums = C()->get($tab_name);
  597. $data_paramt = json_decode($v['codes'], 1);
  598. //var_dump($data_paramt);
  599. //echo 1;
  600. if (array_key_exists("head_three", $data_paramt)) {
  601. $paramt = $this->CodeData($data_paramt,3,$game_name);
  602. } elseif (array_key_exists("head_two", $data_paramt)) {
  603. $paramt = $this->CodeData($data_paramt,2,$game_name);
  604. //return $data_paramt;
  605. } elseif (array_key_exists("specialthree", $data_paramt)) {
  606. $paramt = $this->CodesDatas($data_paramt,3,$game_name);
  607. } elseif (array_key_exists("fivestar", $data_paramt)) {
  608. $paramt = $this->CodesDatas($data_paramt,5,$game_name);
  609. } elseif (array_key_exists("fourstar", $data_paramt)) {
  610. $paramt = $this->CodesDatas($data_paramt,4,$game_name);
  611. //return $data_paramt;
  612. } elseif (array_key_exists("behindthreestar", $data_paramt)) {
  613. $paramt = $this->CodesDatas($data_paramt,3,$game_name);
  614. //return $data_paramt;
  615. } elseif (array_key_exists("frontthreestar", $data_paramt)) {
  616. $paramt = $this->CodesDatas($data_paramt,3,$game_name);
  617. //return $data_paramt;
  618. } elseif (array_key_exists("fronttwostar", $data_paramt)) {
  619. $paramt = $this->CodesDatas($data_paramt,2,$game_name);
  620. //return $data_paramt;
  621. } else {
  622. $datat = [
  623. 'codes' => $v['codes'],
  624. ];
  625. $paramt = $nums->change($datat,$game_name);
  626. }
  627. /*echo '<pre>';
  628. print_r($data_paramt);
  629. print_r($paramt);*/
  630. foreach ($paramt as $v) {
  631. //var_dump($v);
  632. $CodeDate = lang()->get($v['codeDate']);
  633. $play_num .= $v['codes'] . "(¥" . $v['money'] . ") ";
  634. }
  635. $code_data[$o]['num'] = count($paramt);
  636. $code_data[$o]['codeDate'] = $CodeDate;
  637. $code_data[$o]['coded'] = $play_num;
  638. $play_num = "";
  639. }
  640. return $code_data;
  641. }
  642. /*
  643. * 中奖记录
  644. */
  645. function Profit($data)
  646. {
  647. //$id_one = $_SESSION['uinfo']['account_identity'];
  648. //return 1111;
  649. $id_one = isset($data['account_identity']) ? $data['account_identity'] : ''; //用户唯一id
  650. if (empty($id_one)) {
  651. return -4010;
  652. }
  653. $arr = [ //向数据库追加数组 然后循环出来
  654. 'account_identity' => $id_one,
  655. ];
  656. $where = '1 = 1';
  657. foreach ($arr as $key => $value) {
  658. //循环数组
  659. if ($value != '' && $key != 'a.id' && $key != 'b.id') { //判断条件
  660. $where .= " AND {$key}='{$value}'"; //获取值
  661. }
  662. }
  663. $rows = lm("money_prize", "commons")->orderBy('money_time', 'desc')->whereRaw($where)->get();
  664. //return $rows;
  665. if (count($rows) != 0) {
  666. $rows = lm("money_prize", "commons")->orderBy('money_time', 'desc')->whereRaw($where)->get()->toArray();
  667. $account = lm("game_type", "commons");
  668. $game = $account->where("status", "=", "1")->get()->toArray();
  669. foreach ($rows as $k => $val) {
  670. foreach ($game as $v) {
  671. if ($v['name'] == $val['game_name']) {
  672. $tal_name = $v['table_name'] . "_buy";
  673. $dat = lm($tal_name, "commons")->where("order_id", $val['buy_identity'])->first();
  674. if (count($dat) != 0) {
  675. $dat = lm($tal_name, "commons")->where("order_id", $val['buy_identity'])->first()->toArray();
  676. $rows[$k]['no'] = $dat['no'];
  677. $rows[$k]['bet_money'] = "-" . $dat['money'];
  678. } else {
  679. $rows[$k]['no'] = 0;
  680. $rows[$k]['bet_money'] = 0;
  681. }
  682. }
  683. }
  684. }
  685. } else {
  686. return "";
  687. }
  688. $Winning = $this->GetStatus();
  689. foreach ($Winning as $key => $v) {
  690. foreach ($rows as $k => $val) {
  691. if ($val['status'] == $key) {
  692. $val['status'] = lang()->get($v);
  693. $val['trade_type'] = lang()->get("Winning");
  694. $val['money'] = "+" . $val['money'];
  695. $rowr[] = $val;
  696. }
  697. }
  698. }
  699. $len = count($rowr);
  700. for ($i = 0; $i < $len; $i++) {
  701. for ($j = $len; $j < $len - $i; $j--) {
  702. if ($rowr[$i]['money_time'] > $rowr[$j]['money_time']) {
  703. $temp = $rowr[$i];
  704. $rowr[$j] = $rowr[$i];
  705. $rowr[$i] = $temp;
  706. }
  707. }
  708. }
  709. return $rowr;
  710. }
  711. //资金流水订单详情
  712. function MorderDetail($order_id){
  713. $info = lm('money_details','Commons')->where('trade_id',$order_id)->first();
  714. if($info && count($info->toArray())>0){
  715. $info = $info->toArray();
  716. $ttype = $this->Tradetype();
  717. $info['tradename'] = $ttype[$info['trade_type']];
  718. $info['money_time'] = date('Y-m-d H:i:s',strtotime($info['money_time']));
  719. $td = explode('订单号', $info['trade_desc']);
  720. if($info['trade_type']==22){
  721. if($info['money_type'] == 2)$info['trade_desc'] = str_replace('代理'.$info['account_name'].'为下级', '您为', $td[0]);
  722. if($info['money_type'] == 1)$info['trade_desc'] = str_replace('下级会员'.$info['account_name'], '您', $td[0]);
  723. }else if($info['trade_type']==12){
  724. if($info['money_type']==1){
  725. $info['trade_desc'] = '系统为您添加活动金额:' . $info['money'] . '元。';
  726. }else{
  727. $info['trade_desc'] = '系统为您扣除活动金额:' . $info['money'] . '元。';
  728. }
  729. }else if($info['trade_type']==13){
  730. $info['trade_desc'] = '系统为您充值赠送:' . $info['money'] . '元。';
  731. }else if($info['trade_type']==14){
  732. $info['trade_desc'] = '您汇款充值:' . $info['money'] . '元。';
  733. }else if($info['trade_type']==11){
  734. $info['trade_desc'] = '系统为您添加金额' . $info['money'] . '元;';
  735. }else if($info['trade_type']==9){
  736. $info['trade_desc'] = '系统为您扣除金额' . $info['money'] . '元;';
  737. }else{
  738. $td[0] = str_replace($info['account_name'], '您', $td[0]);
  739. $td[0] = str_replace('反水', '返水', $td[0]);
  740. $info['trade_desc'] = $td[0];
  741. }
  742. return $info;
  743. }
  744. return -4047;
  745. }
  746. /*
  747. * 提现记录
  748. */
  749. function Recharge($data)
  750. {
  751. //$id_one = $_SESSION['uinfo']['account_identity'];
  752. $id_one = isset($data['account_identity']) ? $data['account_identity'] : ''; //用户唯一id
  753. //return $id_one;
  754. $status = isset($data['status']) ? $data['status'] : ''; //资金状态
  755. $order_id = isset($data['order_id']) ? $data['order_id'] : ''; //资金状态
  756. $page = isset($data['page']) ? $data['page'] : '1'; //资金类型
  757. if (empty($id_one)) {
  758. return -4010;
  759. }
  760. $arr = [ //向数据库追加数组 然后循环出来
  761. 'status' => $status,
  762. 'account_identity' => $id_one,
  763. 'order_id' => $order_id,
  764. ];
  765. $where = '1 = 1';
  766. foreach ($arr as $key => $value) {
  767. //循环数组
  768. if ($value != '' && $key != 'a.id' && $key != 'b.id') { //判断条件
  769. $where .= " AND {$key}='{$value}'"; //获取值
  770. }
  771. }
  772. $list = 30;
  773. //获取总页数
  774. $count_list = lm("money_recharge", "commons")->whereRaw($where)->count();
  775. $count_page = ceil($count_list / $list);
  776. $first = ($page - 1) * $list;
  777. //$code_datas = $accountd->orderBy('money_time', 'desc')->whereRaw($where)->offset($first)->limit($list)->get();
  778. $rows = lm("money_recharge", "commons")
  779. ->whereRaw($where)->orderBy('apply_time', 'desc')
  780. ->offset($first)->limit($list)->get();
  781. if (!$rows) {
  782. return -5004;
  783. }
  784. $rows = $rows->toArray();
  785. $Winning = $this->GetStatus();
  786. foreach ($Winning as $key => $v) {
  787. foreach ($rows as $k => $val) {
  788. if ($val['status'] == $key) {
  789. $val['statud'] = lang()->get($v);
  790. $val['trade_type'] = lang()->get("Recharge");
  791. $val['money'] = "+" . $val['money'];
  792. $index = strtotime($val['apply_time']);
  793. $rowr[$index] = $val;
  794. }
  795. }
  796. }
  797. rsort($rowr);
  798. return $rowr;
  799. }
  800. /*
  801. * 充值记录
  802. */
  803. function Withdrawals($data)
  804. {
  805. //$id_one = $_SESSION['uinfo']['account_identity'];
  806. $id_one = isset($data['account_identity']) ? $data['account_identity'] : ''; //用户唯一id
  807. $status = isset($data['status']) ? $data['status'] : ''; //资金状态
  808. $order_id = isset($data['order_id']) ? $data['order_id'] : ''; //资金状态
  809. $page = isset($data['page']) ? $data['page'] : '1'; //资金类型
  810. //return 1;
  811. if (empty($id_one)) {
  812. return -4010;
  813. }
  814. $arr = [ //向数据库追加数组 然后循环出来
  815. 'status' => $status,
  816. 'account_identity' => $id_one,
  817. 'order_id' => $order_id,
  818. ];
  819. $where = '1 = 1';
  820. foreach ($arr as $key => $value) {
  821. //循环数组
  822. if ($value != '' && $key != 'a.id' && $key != 'b.id') { //判断条件
  823. $where .= " AND {$key}='{$value}'"; //获取值
  824. }
  825. }
  826. $list = 30;
  827. //获取总页数
  828. $count_list = lm("money_take", "commons")->whereRaw($where)->count();
  829. $count_page = ceil($count_list / $list);
  830. $first = ($page - 1) * $list;
  831. //$code_datas = $accountd->orderBy('money_time', 'desc')->whereRaw($where)->offset($first)->limit($list)->get();
  832. $rows = lm("money_take", "commons")
  833. ->whereRaw($where)->orderBy('apply_time', 'desc')
  834. ->offset($first)->limit($list)->get();
  835. if (!$rows) {
  836. return -5004;
  837. }
  838. $rows = $rows->toArray();
  839. //return $rows;
  840. $Winning = $this->GetStatus();
  841. foreach ($Winning as $key => $v) {
  842. foreach ($rows as $k => $val) {
  843. if ($val['status'] == $key) {
  844. $val['status'] = lang()->get($v);
  845. $val['trade_type'] = lang()->get("Withdrawals");
  846. $val['money'] = "-" . $val['money'];
  847. $index = strtotime($val['apply_time']);
  848. $rowr[$index] = $val;
  849. }
  850. }
  851. }
  852. rsort($rowr);
  853. return $rowr;
  854. }
  855. //充值记录新
  856. public function saveMoneyRecord($data){
  857. //todo 建议按年计算数据
  858. $time = date("Y-m-d 00:00:00",time());
  859. //$id_one = $_SESSION['uinfo']['account_identity'];
  860. $id_one = isset($data['account_identity']) ? $data['account_identity'] : ''; //用户唯一id
  861. //return $id_one;
  862. $status = isset($data['status']) ? $data['status'] : ''; //资金状态
  863. $order_id = isset($data['order_id']) ? $data['order_id'] : ''; //资金状态
  864. $page = isset($data['page']) ? $data['page'] : '1'; //资金类型
  865. $money_time = isset($data['money_time']) ? $data['money_time'] : ''; //添加时间
  866. $time = isset($data['time']) ? $data['time'] : ''; //添加时间
  867. if (empty($id_one)) {
  868. return -4010;
  869. }
  870. if (!empty($time)) {//qtx 2018-12-20
  871. $newtime = explode('~',$time);
  872. if(count($newtime) ==2){
  873. $new_time1 = $newtime[0];
  874. $new_time2 = $newtime[1];
  875. }else{
  876. $new_time1 = $newtime[0];
  877. $new_time2 = $newtime[0];
  878. }
  879. }
  880. $arr = [ //向数据库追加数组 然后循环出来
  881. 'status' => $status,
  882. 'account_identity' => $id_one,
  883. 'order_id' => $order_id
  884. ];
  885. $where = '1 = 1';
  886. if(!empty($new_time1) && !empty($new_time2)){
  887. //$where .= " AND complete_time >= '".$new_time1." 00:00:00' AND complete_time <='".$new_time2." 23:59:59'"; //添加时间
  888. $where .= " AND apply_time >= '".$new_time1." 00:00:00' AND apply_time <='".$new_time2." 23:59:59' AND recharge_type in('汇款','汇款赠送','活动充值','后台充值','后台充值赠送','在线充值','在线充值赠送')"; //添加时间
  889. }
  890. //dump($where);
  891. $timeday= date("Y-m-d 23:59:59");
  892. $week=date("Y-m-d 23:59:59",strtotime("last week"));
  893. $month=date("Y-m-d 23:59:59",strtotime("last month"));
  894. $twomonth=date("Y-m-d 23:59:59",strtotime("-0 year -2 month -0 day"));
  895. $sixmonth=date("Y-m-d 23:59:59",strtotime("-0 year -6 month -0 day"));
  896. if (!empty($money_time)){
  897. switch ($money_time){
  898. case 1:
  899. $where .=" AND apply_time >='{$time}' AND apply_time < '{$timeday}'";
  900. break;
  901. case 2:
  902. $where .=" AND apply_time >= '{$week}' and apply_time < '{$time}'";
  903. break;
  904. case 3:
  905. $where .=" AND apply_time >='{$month}' and apply_time < '{$time}'";
  906. break;
  907. case 4:
  908. $where .=" AND apply_time >='{$twomonth}' and apply_time < '{$time}'";
  909. break;
  910. case 5:
  911. $where .=" AND apply_time >='{$sixmonth}' and apply_time < '{$time}'";
  912. break;
  913. default:
  914. break;
  915. }
  916. }
  917. foreach ($arr as $key => $value) {
  918. //循环数组
  919. if ($value != '' && $key != 'a.id' && $key != 'b.id') { //判断条件
  920. $where .= " AND {$key}='{$value}'"; //获取值
  921. }
  922. }
  923. $rows = lm("money_recharge", "commons")
  924. ->whereRaw($where)
  925. ->orderBy('apply_time', 'desc')
  926. ->get();
  927. if (!$rows) {
  928. return -5004;
  929. }
  930. $rows = $rows->toArray();
  931. $month = $total = 0;
  932. $year = 0;
  933. $ym = 0;
  934. //2019-1-1 anton liu 修改
  935. $months = [];
  936. $statusType = $this->GetStatus();
  937. foreach ($rows as $k => $v){
  938. $ym = date('Ym',strtotime($v['apply_time']));
  939. $month = date('m',strtotime($v['apply_time']));
  940. $year = date('Y',strtotime($v['apply_time']));
  941. if($v['status'] == 1){
  942. $months[$ym]['total'] +=$v['money'];
  943. }
  944. $months[$ym]['month'] = $month;
  945. $months[$ym]['year'] = $year;
  946. $months[$ym]['ym'] = $year . '年' . intval($month);
  947. $months[$ym]['sort'] = intval($ym);
  948. $v['is_status'] = $v['status'];
  949. $v['status'] = lang()-> get($statusType[$v['status']]);
  950. $v['trade_type'] = lang()-> get("Withdrawals");
  951. $v['pass_time'] = $v["apply_time"];
  952. $months[$ym]['info'][] =$v;
  953. }
  954. array_multisort(array_column($months,'sort'), SORT_DESC,$months);
  955. return $months;
  956. }
  957. //取款记录新
  958. public function takeMoneyRecord($data){
  959. $id_one = isset($data['account_identity']) ? $data['account_identity'] : ''; //用户唯一id
  960. $status = isset($data['status']) ? $data['status'] : ''; //资金状态
  961. $order_id = isset($data['order_id']) ? $data['order_id'] : ''; //资金状态
  962. $time = isset($data['time']) ? $data['time'] : ''; //添加时间
  963. if (empty($id_one)) {
  964. return -4010;
  965. }
  966. $arr = [ //向数据库追加数组 然后循环出来
  967. 'status' => $status,
  968. 'account_identity' => $id_one,
  969. 'order_id' => $order_id,
  970. ];
  971. if (!empty($time)) {//qtx 2018-12-20
  972. $newtime = explode('~',$time);
  973. if(count($newtime) ==2){
  974. $new_time1 = $newtime[0];
  975. $new_time2 = $newtime[1];
  976. }else{
  977. $new_time1 = $newtime[0];
  978. $new_time2 = $newtime[0];
  979. }
  980. }
  981. $where = '1 = 1';
  982. if(!empty($new_time1) && !empty($new_time2)){
  983. $where .= " AND apply_time >= '".$new_time1." 00:00:00' AND apply_time <'".$new_time2." 23:59:59'"; //添加时间
  984. }
  985. //$where = "apply_time > '".date('Y')."-01-01 00:00:00'";
  986. foreach ($arr as $key => $value) {
  987. //循环数组
  988. if ($value != '' && $key != 'a.id' && $key != 'b.id') { //判断条件
  989. $where .= " AND {$key}='{$value}'"; //获取值
  990. }
  991. }
  992. //todo 建议按年计算数据
  993. $rows = lm("money_take", "commons")->whereRaw($where)->orderBy('id', 'desc')->get();
  994. if (!$rows) {
  995. return -5004;
  996. }
  997. $rows = $rows->toArray();
  998. $month = $total = $status =0;
  999. $statusType = $this->GetStatus();
  1000. //分月
  1001. $res =[];
  1002. foreach($rows as $r){
  1003. //$m = $r['apply_time']?date('Y年n',strtotime($r['apply_time'])):date('Y年n',strtotime($r['apply_time']));
  1004. $m = $r['apply_time']?date('n',strtotime($r['apply_time'])):date('n',strtotime($r['apply_time']));
  1005. $res["$m "][]=$r;
  1006. }
  1007. $_data=[];
  1008. foreach ($res as $d=>$x){
  1009. $_data[$d]['month']=date('Y',strtotime($x[0]['apply_time'])).'年'.$d.'月';
  1010. foreach ($x as $r){
  1011. $_data[$d]['total'] +=$r['status']==1?$r['money']:0;
  1012. $r['is_status'] = $r['status'] ;
  1013. $r['status'] = lang()-> get($statusType[$r['status']]);
  1014. $r['trade_type'] = lang()-> get("Withdrawals");
  1015. $_data[$d]['info'][]=$r;
  1016. }
  1017. }
  1018. //
  1019. // foreach ($rows as $v){
  1020. // if($month==date('m',strtotime($v['pass_time']))&&$status==1){
  1021. // $total +=$v['money'];
  1022. // }else{
  1023. // $total =$v['money'];
  1024. // $month =$v['pass_time']?date('m',strtotime($v['pass_time'])):date('m',strtotime($v['apply_time']));
  1025. // $status = $v['status'];
  1026. // }
  1027. //
  1028. // $retarray[$month]['total'] = $total;
  1029. // $retarray[$month]['month'] = $month;
  1030. // $v['is_status'] = $v['status'] ;
  1031. // $v['status'] = lang()-> get($statusType[$v['status']]);
  1032. // $v['trade_type'] = lang()-> get("Withdrawals");
  1033. // $v['pass_time'] = $v["pass_time"];
  1034. // $retarray[$month]['info'][] =$v;
  1035. // }
  1036. //
  1037. // rsort($retarray);
  1038. if(count($_data)>0){
  1039. return $_data;
  1040. }else{
  1041. //Render('',-5004);
  1042. return -5004;
  1043. }
  1044. }
  1045. /*
  1046. * 回水记录
  1047. */
  1048. function Backwater($data)
  1049. {
  1050. //$id_one = $_SESSION['uinfo']['account_identity'];
  1051. $id_one = isset($data['account_identity']) ? $data['account_identity'] : ''; //用户唯一id
  1052. $status = isset($data['status']) ? $data['status'] : ''; //资金状态
  1053. if (empty($id_one)) {
  1054. return -4010;
  1055. }
  1056. $arr = [ //向数据库追加数组 然后循环出来
  1057. 'status' => $status,
  1058. 'account_identity' => $id_one,
  1059. ];
  1060. $where = '1 = 1';
  1061. foreach ($arr as $key => $value) {
  1062. //循环数组
  1063. if ($value != '' && $key != 'a.id' && $key != 'b.id') { //判断条件
  1064. $where .= " AND {$key}='{$value}'"; //获取值
  1065. }
  1066. }
  1067. $rows = lm("money_return", "commons")->whereRaw($where)->get();
  1068. if (count($rows) != 0) {
  1069. $rows = lm("money_return", "commons")->whereRaw($where)->get()->toArray();
  1070. } else {
  1071. return "";
  1072. }
  1073. $Winning = $this->GetStatus();
  1074. foreach ($Winning as $key => $v) {
  1075. foreach ($rows as $k => $val) {
  1076. if ($val['status'] == $key) {
  1077. $val['status'] = lang()->get($v);
  1078. $val['trade_type'] = lang()->get("backwater");
  1079. $val['money'] = "+" . $val['money'];
  1080. $rowr[] = $val;
  1081. }
  1082. }
  1083. }
  1084. return $rowr;
  1085. }
  1086. /*
  1087. * 投注详情显示
  1088. */
  1089. function Details($data)
  1090. {
  1091. $play_num = "";
  1092. $order_id = isset($data['order_id']) ? $data['order_id'] : '';
  1093. $game_name = isset($data['game_name']) ? $data['game_name'] : '';
  1094. if (empty($order_id)) {
  1095. return -2001;
  1096. }
  1097. if($game_name=='zbdetail'){
  1098. $dinfo = lm('Money_buy','Commons')->where('order_id',$order_id)->first();
  1099. if(!$dinfo || count($dinfo->toArray())<1){
  1100. $dinfo = lm('SixMoney_buy','Commons')->where('order_id',$order_id)->first();
  1101. }
  1102. if(!$dinfo || count($dinfo->toArray())<1)return -2138;
  1103. $game_name = $dinfo->game_name;
  1104. }
  1105. $account = lm("game_type", "commons");
  1106. $game = $account->where("status", "=", "1")->get()->toArray();
  1107. foreach ($game as $v) {
  1108. if ($v['table_name'] == $game_name) {
  1109. //注单信息
  1110. $account = lm($v['table_name'] . "_buy", "commons");
  1111. $identity_no = $account->where("order_id", $order_id)->first();//投注表当前订单信息
  1112. if (count($identity_no) != 0) {
  1113. $identity_no = $identity_no->toArray();
  1114. } else {
  1115. return "";
  1116. }
  1117. //当期游戏信息
  1118. $value_no = lm($v['table_name'], "commons")->where("identity", $identity_no['game_identity'])->first();
  1119. if($value_no){
  1120. $value_no=$value_no->toArray();
  1121. }
  1122. $value_no['name'] = $v['table_name'];
  1123. $value_no['betstatus'] = $identity_no['status'];
  1124. if ($identity_no['status'] != '0') {
  1125. if($v['table_name'] == 'sixlottery' || $v['table_name'] == 'sfsixlottery'){
  1126. $dat = lm('sixMoney_buy', "commons")->where('order_id', $identity_no['order_id'])->first();
  1127. }else{
  1128. $dat = lm('money_buy', "commons")->where('order_id', $identity_no['order_id'])->first();
  1129. }
  1130. if (count($dat) != 0) {
  1131. $dat = $dat->toArray();
  1132. $value_no['win_money'] = $dat['prize_money'];
  1133. } else {
  1134. $value_no['win_money'] = 0;
  1135. }
  1136. }
  1137. $data_codes = lm('Sixlottery', "Commons")->select('status')->where('info_no', $identity_no['no'])->first();
  1138. if ($data_codes){
  1139. $data_codes=$data_codes->toArray();
  1140. $value_no['gamed_status']=$data_codes['status'];
  1141. }
  1142. $sfsixdata_codes = lm('Sfsixlottery', "Commons")->select('status')->where('info_no', $identity_no['no'])->first();
  1143. if ($sfsixdata_codes){
  1144. $sfsixdata_codes=$sfsixdata_codes->toArray();
  1145. $value_no['gamed_status']=$sfsixdata_codes['status'];
  1146. }
  1147. //print_r($dat);
  1148. $Winning = $this->GetWinStatus();
  1149. foreach ($Winning as $k => $t) {
  1150. if ($identity_no['delstatus'] == 1) {
  1151. if ($identity_no['status'] == $k) {
  1152. //return $t;
  1153. $value_no['whetherwin'] = lang()->get($t);
  1154. }
  1155. } else {
  1156. $value_no['whetherwin'] = lang()->get($Winning[3]);
  1157. }
  1158. }
  1159. $back = lm('money_back', "Commons")->where('buy_identity', $order_id)->first();
  1160. if (!empty($back)) {
  1161. $back = lm('money_back', "Commons")->where('buy_identity', $order_id)->first()->toArray();
  1162. $value_no['back_money'] = $back['money'];
  1163. }
  1164. $value_no['icon'] = $v['icon'];
  1165. $value_no['link'] = $v['link'];
  1166. $value_no['game_type'] = $v['name'];
  1167. $value_no['order_id'] = $identity_no['order_id'];
  1168. $value_no['money'] = $identity_no['money'];
  1169. $value_no['open_time'] = $identity_no['open_time'];
  1170. $tab_name = "bjpk10Parse";
  1171. $nums = C()->get($tab_name);
  1172. //print_r($dat);
  1173. // print_r($value_no);
  1174. $prizecodes = (isset($dat['prize']))?json_decode($dat['prize'],1):'';//开奖号码
  1175. $data_paramt = json_decode($identity_no['codes'], 1);//投注号码
  1176. //计算可重复号码组合注数
  1177. $regrouptype = $this->reGrouptype();
  1178. $grouparr = array();
  1179. foreach ($data_paramt as $key => $value) {
  1180. if(in_array($key, $regrouptype)){
  1181. foreach ($value as $sk => $sv) {
  1182. $seatarr = explode('_',$sk);
  1183. $val2=$sv;
  1184. if(isset($val2['settings'])){
  1185. unset($val2['settings']);
  1186. }
  1187. if(isset($grouparr[$seatarr[0]])){
  1188. $grouparr[$seatarr[0]] += count(val2);
  1189. }else{
  1190. $grouparr[$seatarr[0]] = count(val2);
  1191. }
  1192. }
  1193. }
  1194. foreach ($value as $ke => $val) {
  1195. foreach ($val as $k => $v) {
  1196. if($k ==='settings'){
  1197. $value_no['multiple'] = $v['multiple'];
  1198. }
  1199. }
  1200. }
  1201. }
  1202. $pgarr = array();
  1203. if(!empty($prizecodes)){
  1204. foreach ($prizecodes as $key => $value) {
  1205. if(in_array($key, $regrouptype)){
  1206. foreach ($value as $sk => $sv) {
  1207. $seatarr = explode('_',$sk);
  1208. $val2 = $sv;
  1209. if (isset($val2['settings'])) {
  1210. unset($val2['settings']);
  1211. }
  1212. if(isset($pgarr[$seatarr[0]])){
  1213. $pgarr[$seatarr[0]] += count(val2);
  1214. }else{
  1215. $pgarr[$seatarr[0]] = count(val2);
  1216. }
  1217. }
  1218. }
  1219. }
  1220. }
  1221. $paramt = $this->CodesDetails($data_paramt,$game_name,$identity_no);
  1222. //玩法分类注单金额
  1223. $ptmoney = array();
  1224. $prize_amt = $this->PrizeDetails($prizecodes,$game_name);
  1225. $parr = array();
  1226. if(is_array($prize_amt) && count($prize_amt)>0){
  1227. foreach ($prize_amt as $k => $v) {
  1228. $parr[$v['codeDate']][] = $v['codes'];
  1229. }
  1230. }
  1231. if (is_array($paramt)){
  1232. foreach ($paramt as $k=>$v){
  1233. $ptmoney[$v['codeDate']] = (isset($ptmoney[$v['codeDate']]))?($ptmoney[$v['codeDate']]+$v['money']):$v['money'];
  1234. if(in_array($v['codes'], $parr[$v['codeDate']])){
  1235. $paramt[$k]['isp'] = '中奖';
  1236. }else if($dat['game_status']==0){
  1237. $paramt[$k]['isp'] = '待开奖';
  1238. }else{
  1239. $paramt[$k]['isp'] = '未中奖';
  1240. }
  1241. if ($v['codeDate'] == 'series_twoborn' || $v['codeDate'] == 'series_fiveborn' || $v['codeDate'] == 'series_fourborn' || $v['codeDate'] == 'series_threeborn') {
  1242. $paramt[$k]['codes']=rtrim($v['codes'], ',');
  1243. }
  1244. }
  1245. $error_game_arr = ['ssc','pk10'];
  1246. $right_lang = ['mix'=>'大小单双'];
  1247. $listdata = [];
  1248. foreach ($paramt as $i=>$v) {
  1249. $listdata[$i]=$v;
  1250. $chcodes = $this->ChangeLan($game_name,$v['codes']);
  1251. $chcodes = empty($chcodes)?$v['codes']:$chcodes;
  1252. $play_num .= $chcodes . "(¥" . $v['money'] . ")" . ' ' . $v['isp'] . '<br/>';
  1253. $CodeDate = $v['codeDate'];
  1254. $CodeDates = lang($game_name)->get($v['codeDate']);
  1255. //语言包修正---blues
  1256. foreach ($error_game_arr as $e){
  1257. if(strpos($game_name,$e)!==false){
  1258. $CodeDates = $right_lang[$v['codeDate']]??$CodeDates;
  1259. }
  1260. }
  1261. $value_no['ptypename'] = $CodeDates;
  1262. if (empty($value_no['CodeDates'])) {
  1263. $n = explode('-',$chcodes);
  1264. if(empty($n[0])){
  1265. $value_no['CodeDates'] =$chcodes;
  1266. }else{
  1267. $value_no['CodeDates'] = $n[0];
  1268. }
  1269. }
  1270. }
  1271. }else{
  1272. $CodeDate='';
  1273. $CodeDates='';
  1274. }
  1275. if (array_key_exists("general_pass", $data_paramt) || array_key_exists("join_born", $data_paramt)) {
  1276. $value_no['num'] = 1;
  1277. }else{
  1278. if(empty($grouparr)){
  1279. $value_no['num'] = count($paramt);
  1280. }else{
  1281. $value_no['num'] = 1;
  1282. foreach($grouparr as $k=>$v){
  1283. $value_no['num'] *= $v;
  1284. }
  1285. }
  1286. }
  1287. if(count($data_paramt) > 1){
  1288. $value_no['ptypename'] = '混合';
  1289. $value_no['CodeDates'] = '混合';
  1290. }
  1291. $value_no['details'] = $play_num;
  1292. $value_no['showlist'] = $listdata;
  1293. $value_no['opencodes'] = $data_paramt;
  1294. $value_no['CodeDate'] = $CodeDate;
  1295. //$value_no['CodeDates'] = $CodeDates;
  1296. }
  1297. }
  1298. $value_no['ptmoney'] = $ptmoney;
  1299. unset($value_no['prizes']);
  1300. return $value_no;
  1301. }
  1302. private function ChangeLan($gamename,$codes){
  1303. $codes = is_array($codes)?$codes:explode(',', $codes);
  1304. $res = array();
  1305. foreach ($codes as $value) {
  1306. $res[] = is_numeric($value)?$value:lang($gamename)->get($value);
  1307. }
  1308. return implode(',', $res);
  1309. }
  1310. //可重复号码玩法组合
  1311. private function reGrouptype(){
  1312. return array(
  1313. 'fronttwostar',
  1314. 'fourstar',
  1315. 'frontthreestar',
  1316. 'behindthreestar',
  1317. 'fivestar'
  1318. );
  1319. }
  1320. /*
  1321. * PC投注记录
  1322. */
  1323. public function PcBettingRecord($data,$c=-1)
  1324. {
  1325. $id_one = isset($data['account_identity']) ? $data['account_identity'] : ''; //用户唯一id
  1326. $time1 = isset($data['time1']) ? $data['time1'] : ''; //资金状态
  1327. $time2 = isset($data['time2']) ? $data['time2'] : ''; //资金类型
  1328. $no = isset($data['no']) ? $data['no'] : ''; //资金类型
  1329. //return $no;
  1330. $game_type = isset($data['game']) ? $data['game'] : ''; //资金类型
  1331. $status = isset($data['status']) ? $data['status'] : '';
  1332. $money_time = isset($data['money_time']) ? $data['money_time'] : '';
  1333. $id = isset($data['id']) ? $data['id'] : '';
  1334. $order_id = isset($data['order_id']) ? $data['order_id'] : '';
  1335. $page = isset($data['page']) ? $data['page'] : 2;
  1336. $arrd = [ //向数据库追加数组 然后循环出来
  1337. 'a.open_time' => $time1,
  1338. 'b.open_time' => $time2,
  1339. 'game_no' => $no,
  1340. 'id' => $id,
  1341. 'order_id' => $order_id,
  1342. 'account_identity' => $id_one,
  1343. 'status' => $status,
  1344. 'game_name' => $game_type,
  1345. 'money_time' => $money_time,
  1346. ];
  1347. if (empty($id_one)) {
  1348. return -4010;
  1349. }
  1350. // $account = lm("game_type", "commons");
  1351. // $game = $account->where("status", "1")->get()->toArray();
  1352. //return $game;
  1353. $play_num = "";
  1354. $where = '1 = 1';
  1355. $accountd = lm('money_buy', "commons");
  1356. foreach ($arrd as $key => $value) {
  1357. //循环数组
  1358. if ($value != '' && $key != 'a.open_time' && $key != 'b.open_time') { //判断条件
  1359. $where .= " AND {$key}='{$value}'"; //获取值
  1360. }
  1361. if ($value != '' && $key == 'a.open_time') {
  1362. $where .= " AND money_time>='{$time1}'";
  1363. }
  1364. if ($value != '' && $key == 'b.open_time') {
  1365. $where .= " AND money_time<='{$time2}'";
  1366. }
  1367. }
  1368. //return $where;
  1369. $list = 10;
  1370. //统计总额
  1371. $total = $accountd->whereRaw($where)->sum('money');
  1372. if($c==1){
  1373. $countMoney = empty($total)?0:$total;
  1374. return $countMoney;
  1375. }
  1376. //获取总页数
  1377. $count_list = $accountd->whereRaw($where)->count();
  1378. $count_page = ceil($count_list / $list);
  1379. $first = ($page - 1) * $list;
  1380. $code_datas = $accountd->orderBy('money_time', 'desc')->whereRaw($where)->offset($first)->limit($list)->get();//注单信息
  1381. if (!empty($code_datas)) {
  1382. $code_data = $code_datas->toArray();
  1383. } else {
  1384. return "";
  1385. }
  1386. //return $code_data;
  1387. foreach ($code_data as $k => $v) {
  1388. $data_codes = lm($v['game_name'], "Commons")->select('status','codes', 'extra')->where('info_no', $v['game_no'])->first();
  1389. $v['game_type'] = lang()->get($v['game_name']);
  1390. if (!empty($data_codes)) {
  1391. //开奖派奖号码
  1392. if ($v['game_name'] == "xy28" || $v['game_name'] == "jnd28"|| $v['game_name'] == "gpxy28" || $v['game_name'] == "gpjnd28" || $v['game_name'] == "xjp28" || $v['game_name'] == "hs28" || $v['game_name'] == "tw28" || $v['game_name'] == "dj28"|| $v['game_name'] == "one28") {
  1393. $v['wing_codes'] = $data_codes->extra;
  1394. } else {
  1395. $v['wing_codes'] = $data_codes->codes;//
  1396. }
  1397. $v['gamed_status'] = $data_codes->status;
  1398. }
  1399. $datu[] = $v;
  1400. }
  1401. if (empty($datu)) {
  1402. return "";
  1403. }
  1404. foreach ($datu as $key => $val) {
  1405. if ($val['game_name'] == "xy28" || $val['game_name'] == "jnd28" || $val['game_name'] == 'hs28' || $val['game_name'] == "gpxy28" || $val['game_name'] == "gpjnd28" || $val['game_name'] == "tw28" || $val['game_name'] == "dj28" || $val['game_name'] == "xjp28"|| $val['game_name'] == "one28") {
  1406. $params = json_decode($val['wing_codes'], 1);
  1407. $datu[$key]['wing_codes'] = $params['code'];
  1408. }
  1409. }
  1410. foreach ($datu as $val){
  1411. $rowt[]=$this->dataChange($val,$game_type);
  1412. }
  1413. $dat = [
  1414. 'total'=> $total,
  1415. 'data' => $rowt,
  1416. 'count_page' => $count_page,
  1417. 'page' => $page,
  1418. //'where' => $datu,
  1419. ];
  1420. return $dat;
  1421. // return 1;
  1422. }
  1423. /*
  1424. * PC六合投注记录
  1425. */
  1426. public function PcSixlotteryRecord($data)
  1427. {
  1428. $id_one = isset($data['account_identity']) ? $data['account_identity'] : ''; //用户唯一id
  1429. $time1 = isset($data['time1']) ? $data['time1'] : ''; //资金状态
  1430. $time2 = isset($data['time2']) ? $data['time2'] : ''; //资金类型
  1431. $no = isset($data['no']) ? $data['no'] : ''; //资金类型
  1432. //return $no;
  1433. $game_type = isset($data['game']) ? $data['game'] : ''; //资金类型
  1434. $status = isset($data['status']) ? $data['status'] : '';
  1435. $money_time = isset($data['money_time']) ? $data['money_time'] : '';
  1436. $id = isset($data['id']) ? $data['id'] : '';
  1437. $order_id = isset($data['order_id']) ? $data['order_id'] : '';
  1438. $page = isset($data['page']) ? $data['page'] : 2;
  1439. $arrd = [ //向数据库追加数组 然后循环出来
  1440. 'a.open_time' => $time1,
  1441. 'b.open_time' => $time2,
  1442. 'game_no' => $no,
  1443. 'id' => $id,
  1444. 'order_id' => $order_id,
  1445. 'account_identity' => $id_one,
  1446. 'status' => $status,
  1447. 'game_name' => $game_type,
  1448. 'money_time' => $money_time,
  1449. ];
  1450. if (empty($id_one)) {
  1451. return -4010;
  1452. }
  1453. // $account = lm("game_type", "commons");
  1454. // $game = $account->where("status", "1")->get()->toArray();
  1455. //return $game;
  1456. $play_num = "";
  1457. $where = '1 = 1';
  1458. $accountd = lm('SixMoney_buy', "commons");
  1459. foreach ($arrd as $key => $value) {
  1460. //循环数组
  1461. if ($value != '' && $key != 'a.open_time' && $key != 'b.open_time') { //判断条件
  1462. $where .= " AND {$key}='{$value}'"; //获取值
  1463. }
  1464. if ($value != '' && $key == 'a.open_time') {
  1465. $where .= " AND money_time>='{$time1}'";
  1466. }
  1467. if ($value != '' && $key == 'b.open_time') {
  1468. $where .= " AND money_time<='{$time2}'";
  1469. }
  1470. }
  1471. //return $where;
  1472. $list = 10;
  1473. //获取总页数
  1474. $count_list = $accountd->whereRaw($where)->count();
  1475. $count_page = ceil($count_list / $list);
  1476. $first = ($page - 1) * $list;
  1477. $code_datas = $accountd->orderBy('money_time', 'desc')->whereRaw($where)->offset($first)->limit($list)->get();//注单信息
  1478. if (!empty($code_datas)) {
  1479. $code_data = $code_datas->toArray();
  1480. } else {
  1481. return "";
  1482. }
  1483. //return $code_data;
  1484. foreach ($code_data as $k => $v) {
  1485. $data_codes = lm($v['game_name'], "Commons")->select('status','codes', 'extra')->where('info_no', $v['game_no'])->first();
  1486. $v['game_type'] = lang()->get($v['game_name']);
  1487. if (!empty($data_codes)) {
  1488. //开奖派奖号码
  1489. $v['wing_codes'] = $data_codes->codes;//
  1490. $v['gamed_status'] = $data_codes->status;
  1491. }
  1492. $datu[] = $v;
  1493. }
  1494. if (empty($datu)) {
  1495. return "";
  1496. }
  1497. foreach ($datu as $val){
  1498. $rowt[]=$this->dataChange($val,$game_type);
  1499. }
  1500. $dat = [
  1501. 'data' => $rowt,
  1502. 'count_page' => $count_page,
  1503. 'page' => $page,
  1504. //'where' => $datu,
  1505. ];
  1506. return $dat;
  1507. // return 1;
  1508. }
  1509. /*
  1510. * pc投注详情
  1511. */
  1512. public function PcBettingDetails($data)
  1513. {
  1514. $id_one = isset($data['account_identity']) ? $data['account_identity'] : ''; //用户唯一id
  1515. $time1 = isset($data['time1']) ? $data['time1'] : ''; //资金状态
  1516. $time2 = isset($data['time2']) ? $data['time2'] : ''; //资金类型
  1517. $no = isset($data['no']) ? $data['no'] : ''; //资金类型
  1518. //return $no;
  1519. $game_type = isset($data['game']) ? $data['game'] : ''; //资金类型
  1520. $status = isset($data['status']) ? $data['status'] : '';
  1521. $money_time = isset($data['money_time']) ? $data['money_time'] : '';
  1522. $id = isset($data['id']) ? $data['id'] : '';
  1523. $order_id = isset($data['order_id']) ? $data['order_id'] : '';
  1524. $page = isset($data['page']) ? $data['page'] : 2;
  1525. $arrd = [ //向数据库追加数组 然后循环出来
  1526. 'a.open_time' => $time1,
  1527. 'b.open_time' => $time2,
  1528. 'game_no' => $no,
  1529. 'id' => $id,
  1530. 'order_id' => $order_id,
  1531. 'account_identity' => $id_one,
  1532. 'status' => $status,
  1533. 'game_name' => $game_type,
  1534. 'money_time' => $money_time,
  1535. ];
  1536. if (empty($id_one)) {
  1537. return -4010;
  1538. }
  1539. // $account = lm("game_type", "commons");
  1540. // $game = $account->where("status", "1")->get()->toArray();
  1541. //return $game;
  1542. $play_num = "";
  1543. $where = '1 = 1';
  1544. $accountd = lm('money_buy', "commons");
  1545. foreach ($arrd as $key => $value) {
  1546. //循环数组
  1547. if ($value != '' && $key != 'a.open_time' && $key != 'b.open_time') { //判断条件
  1548. $where .= " AND {$key}='{$value}'"; //获取值
  1549. }
  1550. if ($value != '' && $key == 'a.open_time') {
  1551. $where .= " AND money_time>='{$time1}'";
  1552. }
  1553. if ($value != '' && $key == 'b.open_time') {
  1554. $where .= " AND money_time<='{$time2}'";
  1555. }
  1556. }
  1557. //return $where;
  1558. $list = 10;
  1559. //获取总页数
  1560. $count_list = $accountd->whereRaw($where)->count();
  1561. $count_page = ceil($count_list / $list);
  1562. $first = ($page - 1) * $list;
  1563. $code_datas = $accountd->orderBy('money_time', 'desc')->whereRaw($where)->offset($first)->limit($list)->get();//注单信息
  1564. if (!empty($code_datas)) {
  1565. $code_data = $code_datas->toArray();
  1566. } else {
  1567. return "";
  1568. }
  1569. //return $code_data;
  1570. foreach ($code_data as $k => $v) {
  1571. $data_codes = lm($v['game_name'], "Commons")->select('status','codes', 'extra')->where('info_no', $v['game_no'])->first();
  1572. $v['game_type'] = lang()->get($v['game_name']);
  1573. if (!empty($data_codes)) {
  1574. //开奖派奖号码
  1575. if ($v['game_name'] == "xy28" || $v['game_name'] == "jnd28" || $v['game_name'] == "gpxy28" || $v['game_name'] == "gpjnd28" || $v['game_name'] == "tw28" || $v['game_name'] == "xjp28" || $v['game_name'] == "dj28" || $v['game_name'] == "hs28") {
  1576. $v['wing_codes'] = $data_codes->extra;
  1577. } else {
  1578. $v['wing_codes'] = $data_codes->codes;//
  1579. }
  1580. $v['gamed_status'] = $data_codes->status;//
  1581. }
  1582. $datu = $v;
  1583. }
  1584. if ($datu['game_name'] == "xy28" || $datu['game_name'] == "jnd28" || $datu['game_name'] == 'hs28' || $datu['game_name'] == "gpxy28" || $datu['game_name'] == "gpjnd28" || $datu['game_name'] == "xjp28" || $datu['game_name'] == "tw28" || $datu['game_name'] == "dj28" ) {
  1585. $params = json_decode($datu['wing_codes'], 1);
  1586. $datu['wing_codes'] = $params['code'];
  1587. }
  1588. if (empty($datu)) {
  1589. return "";
  1590. }
  1591. return $datu;
  1592. }
  1593. /*
  1594. * pc六合投注详情PcSixlotteryRecord
  1595. */
  1596. public function PcSixlotteryDetails($data)
  1597. {
  1598. $id_one = isset($data['account_identity']) ? $data['account_identity'] : ''; //用户唯一id
  1599. $time1 = isset($data['time1']) ? $data['time1'] : ''; //资金状态
  1600. $time2 = isset($data['time2']) ? $data['time2'] : ''; //资金类型
  1601. $no = isset($data['no']) ? $data['no'] : ''; //资金类型
  1602. //return $no;
  1603. $game_type = isset($data['game']) ? $data['game'] : ''; //资金类型
  1604. $status = isset($data['status']) ? $data['status'] : '';
  1605. $money_time = isset($data['money_time']) ? $data['money_time'] : '';
  1606. $id = isset($data['id']) ? $data['id'] : '';
  1607. $order_id = isset($data['order_id']) ? $data['order_id'] : '';
  1608. $page = isset($data['page']) ? $data['page'] : 2;
  1609. $arrd = [ //向数据库追加数组 然后循环出来
  1610. 'a.open_time' => $time1,
  1611. 'b.open_time' => $time2,
  1612. 'game_no' => $no,
  1613. 'id' => $id,
  1614. 'order_id' => $order_id,
  1615. 'account_identity' => $id_one,
  1616. 'status' => $status,
  1617. 'game_name' => $game_type,
  1618. 'money_time' => $money_time,
  1619. ];
  1620. if (empty($id_one)) {
  1621. return -4010;
  1622. }
  1623. // $account = lm("game_type", "commons");
  1624. // $game = $account->where("status", "1")->get()->toArray();
  1625. //return $game;
  1626. $play_num = "";
  1627. $where = '1 = 1';
  1628. $accountd = lm('SixMoney_buy', "commons");
  1629. foreach ($arrd as $key => $value) {
  1630. //循环数组
  1631. if ($value != '' && $key != 'a.open_time' && $key != 'b.open_time') { //判断条件
  1632. $where .= " AND {$key}='{$value}'"; //获取值
  1633. }
  1634. if ($value != '' && $key == 'a.open_time') {
  1635. $where .= " AND money_time>='{$time1}'";
  1636. }
  1637. if ($value != '' && $key == 'b.open_time') {
  1638. $where .= " AND money_time<='{$time2}'";
  1639. }
  1640. }
  1641. //return $where;
  1642. $list = 10;
  1643. //获取总页数
  1644. $count_list = $accountd->whereRaw($where)->count();
  1645. $count_page = ceil($count_list / $list);
  1646. $first = ($page - 1) * $list;
  1647. $code_datas = $accountd->orderBy('money_time', 'desc')->whereRaw($where)->offset($first)->limit($list)->get();//注单信息
  1648. if (!empty($code_datas)) {
  1649. $code_data = $code_datas->toArray();
  1650. } else {
  1651. return "";
  1652. }
  1653. //return $code_data;
  1654. foreach ($code_data as $k => $v) {
  1655. $data_codes = lm($v['game_name'], "Commons")->select('status','codes', 'extra')->where('info_no', $v['game_no'])->first();
  1656. $v['game_type'] = lang()->get($v['game_name']);
  1657. if (!empty($data_codes)) {
  1658. $v['wing_codes'] = $data_codes->codes;//
  1659. $v['gamed_status'] = $data_codes->status;//
  1660. }
  1661. $datu = $v;
  1662. }
  1663. if (empty($datu)) {
  1664. return "";
  1665. }
  1666. return $datu;
  1667. }
  1668. public function dataChange($data,$game='sixlottery') {
  1669. $args = array();
  1670. $buy_code = json_decode($data['codes'], 1); //该注购买号码
  1671. //$color_code = json_decode($data['prizes'], 1); //该注购买号码
  1672. $prize_code = json_decode($data['prize'], 1); //改注中奖号码
  1673. $prize_num = $data['wing_codes']; //改注中奖号码
  1674. $asb=array(
  1675. //正码1-6
  1676. 'general_size',
  1677. 'general_parity',
  1678. 'general_sumsize',
  1679. 'general_sumparity',
  1680. 'general_endsize',
  1681. );
  1682. $asd =array(
  1683. // 特码A_大小、单双、半特(混合)
  1684. 'special_size_a',
  1685. 'special_parity_a',
  1686. 'special_half_a',
  1687. 'special_sumsize_a',
  1688. 'special_sumparity_a',
  1689. 'special_endsize_a',
  1690. // 特码b_大小、单双、半特(混合)
  1691. 'special_size_b',
  1692. 'special_parity_b',
  1693. 'special_half_b',
  1694. 'special_sumsize_b',
  1695. 'special_sumparity_b',
  1696. 'special_endsize_b',
  1697. //合肖
  1698. 'join_born',
  1699. //半波
  1700. 'special_halfwave',
  1701. //半半波
  1702. 'special_mixwave',
  1703. //两面
  1704. 'special_twofaceparity',
  1705. 'specialsum_twofaceparity',
  1706. 'special_twofacesize',
  1707. 'specialsum_twofacesize'
  1708. );
  1709. $unmdata=array(
  1710. 'special_halfwave',
  1711. 'special_mixwave',
  1712. 'poscode',
  1713. 'fronttwostar',
  1714. 'fivestar',
  1715. 'fourstar',
  1716. 'behindthreestar',
  1717. 'fronttwostar',
  1718. 'zhixuan',
  1719. 'frontthreestar',
  1720. 'bulls',
  1721. 'size',
  1722. 'mix',
  1723. 'possize',
  1724. 'dragon',
  1725. 'join_born',
  1726. 'general_parity',
  1727. 'general_pass',
  1728. 'general_twofacesize',
  1729. 'general_size',
  1730. 'generalsum_twofaceparity',
  1731. 'twosided',
  1732. );
  1733. $paramt = $this->PccodeDetails($buy_code);
  1734. $odds=$this->getSettings($data['game_name']);
  1735. if (is_array($paramt) && count($paramt) > 0) {
  1736. $i = 0;
  1737. $a = "";
  1738. $s = 1;
  1739. $daa = 0;
  1740. foreach ($paramt as $k => $v) {
  1741. if (is_array($v) && count($v) > 0) {
  1742. foreach ($v as $k1 => $v1) {
  1743. $datas = explode(',', $k1);
  1744. $datrr = explode('_', $k1);
  1745. if (in_array($k, $unmdata)) {
  1746. $a = lang($data['game_name'])->get($k . '-' . $k1);
  1747. } elseif (!empty($datrr) && count($datas) == 1) {
  1748. foreach ($datrr as $value) {
  1749. if ($value > 0 || strlen($value) == 1) {
  1750. $a .= lang($data['game_name'])->get($k) . '-' . $value . "_";
  1751. } else {
  1752. $a .= lang($data['game_name'])->get($k . '-' . $value) . "_";
  1753. }
  1754. }
  1755. } elseif (!empty($datas)) {
  1756. foreach ($datas as $value) {
  1757. if ($value > 0 || strlen($value) == 1) {
  1758. $a .= lang($data['game_name'])->get($k) . '-' . $value . "_";
  1759. } else {
  1760. $a .= lang($data['game_name'])->get($k . '-' . $value) . "_";
  1761. }
  1762. }
  1763. } else {
  1764. $a = $k1;
  1765. }
  1766. $a = rtrim($a, '_');
  1767. $args[$i] = array(
  1768. 'gameType' => lang($data['game_name'])->get($k),
  1769. 'codes' => lang($data['game_name'])->get($k) . '-' . $a,
  1770. 'money' => $v1[0],
  1771. 'maybe' => $v1[0] * $v1['settings']['multiple'],
  1772. 'play' => $k,
  1773. 'p_codes' => $a,
  1774. 'p_code' => $k1,
  1775. 'back' => empty($v1['settings']['back']) ? 0 : $v1['settings']['back'],
  1776. );
  1777. if (isset($v1['settings']['multiple']['max'])) {
  1778. $args[$i]['odds'] = $v1['settings']['multiple']['max'];
  1779. } else {
  1780. $args[$i]['odds'] = $v1['settings']['multiple'];
  1781. } if ($data['gamed_status'] == 3) {
  1782. $args[$i]['prize_status'] = '开奖中';
  1783. $args[$i]['get_money'] = 0;
  1784. }else if ($data['status'] == 4) {
  1785. $args[$i]['prize_status'] = '撤单';
  1786. $args[$i]['get_money'] = 0;
  1787. } else if ($data['game_status'] == 0) {
  1788. $args[$i]['prize_status'] = '待开奖';
  1789. $args[$i]['get_money'] = 0;
  1790. } elseif (in_array($k, $asd)) {
  1791. $datas1 = explode(',', $prize_num);
  1792. if (in_array(49, $datas1)) {
  1793. $args[$i]['prize_status'] = '和';
  1794. $args[$i]['get_money'] = $v1[0];
  1795. $args[$i]['odds'] = 1;
  1796. } else {
  1797. $args[$i]['prize_status'] = '未中奖';
  1798. $args[$i]['get_money'] = -$v1[0];
  1799. }
  1800. } elseif (stripos($data['game_name'], '11x5') !== false) {
  1801. if ($k == 'total') {
  1802. $datas1 = explode(',', $prize_num);
  1803. foreach ($datas1 as $r) {
  1804. $daa += $r;
  1805. }
  1806. if ($k1 == 'big' || $k1 == 'small') {
  1807. if ($daa == 30) {
  1808. $args[$i]['prize_status'] = '和';
  1809. $args[$i]['get_money'] = $v1[0];
  1810. $args[$i]['odds'] = 1;
  1811. }else{
  1812. $args[$i]['prize_status'] = '未中奖';
  1813. $args[$i]['get_money'] = -$v1[0];
  1814. }
  1815. } else {
  1816. $args[$i]['prize_status'] = '未中奖';
  1817. $args[$i]['get_money'] = -$v1[0];
  1818. }
  1819. $daa = 0;
  1820. }elseif ($k == 'dragon') {
  1821. $datas1 = explode(',', $prize_num);
  1822. if ($k1 == 'big' || $k1 == 'small') {
  1823. if ($datas1[0] == $datas1[4]) {
  1824. $args[$i]['prize_status'] = '和';
  1825. $args[$i]['get_money'] = $v1[0];
  1826. $args[$i]['odds'] = 1;
  1827. }
  1828. } else {
  1829. $args[$i]['prize_status'] = '未中奖';
  1830. $args[$i]['get_money'] = -$v1[0];
  1831. }
  1832. }else{
  1833. $args[$i]['prize_status'] = '未中奖';
  1834. $args[$i]['get_money'] = -$v1[0];
  1835. }
  1836. } elseif (in_array($k, $asb)) {
  1837. $datas1 = explode(',', $prize_num);
  1838. foreach ($datas1 as $k1 => $v1) {
  1839. foreach ($datrr as $k2 => $v2) {
  1840. if ((string)$k1 + 1 == $v2 && $v1 == "49") {
  1841. $args[$i]['prize_status'] = '和';
  1842. $args[$i]['get_money'] = $v1[0];
  1843. $args[$i]['odds'] = 1;
  1844. }
  1845. }
  1846. }
  1847. } else {
  1848. $args[$i]['prize_status'] = '未中奖';
  1849. $args[$i]['get_money'] = -$v1[0];
  1850. }
  1851. $i++;
  1852. $a = "";
  1853. }
  1854. }
  1855. }
  1856. }
  1857. //中奖判断
  1858. $datauu=explode(',',$prize_num);
  1859. $dataw=explode(',',$prize_num);
  1860. if (is_array($prize_code) && count($prize_code) && $data['gamed_status'] == 2) {
  1861. foreach ($prize_code as $kk => $vv) {
  1862. $name = $k;
  1863. }
  1864. foreach ($dataw as $k=>$vv){
  1865. if ($vv > 9){
  1866. $aa[$k]=$vv % 10;
  1867. }else{
  1868. $aa[$k]=$vv;
  1869. }
  1870. }
  1871. $bb[$name]=array_unique($aa);
  1872. $cc=array_unique($aa);
  1873. $datass[$name] = $datauu;
  1874. array_pop($datauu);
  1875. $datd[$name] =$datauu;
  1876. //中奖号码
  1877. $paramt = $this->PcWincodeDetails($prize_code,$datass,$datd,$cc,$bb,$buy_code);
  1878. $arry = array(
  1879. 'selfselect_eightlose',//八不中
  1880. 'selfselect_elevenlose',
  1881. 'selfselect_twelvelose',
  1882. 'selfselect_tenlose',
  1883. 'selfselect_sixlose',
  1884. 'selfselect_ninelose',
  1885. 'selfselect_sevenlose',
  1886. 'selfselect_fivelose',//五不中
  1887. );
  1888. $arrys = array(
  1889. 'series_twospecial',//二中特
  1890. 'series_threetwo'
  1891. );
  1892. $asse = array(
  1893. '5'=>'series_fiveend',
  1894. '4'=>'series_fourend',
  1895. '3'=>'series_threeend',
  1896. '2'=>'series_twoend',
  1897. );
  1898. $xy28= array(
  1899. 'specialthree'
  1900. );
  1901. foreach ($paramt as $p_k => $p_v) {
  1902. //购买号码
  1903. foreach ($args as $num => $v) {
  1904. if ($v['play'] == $p_k) {
  1905. if (is_array($p_v) && count($p_v) > 0) {
  1906. if ($data['game_name'] == 'sixlottery' || $data['game_name'] == 'sfsixlottery'){
  1907. $args=$this->Win($args,$p_k,$p_v,$v,$arry,$num,$arrys,$odds,$dataw,$asd,$prize_num,$asse,$bb,$asb);
  1908. }
  1909. elseif(stripos($data['game_name'], '11x5') !== false){
  1910. if( ($v['play'] == 'total' || $v['play'] == 'dragon') && ($v['p_code'] == 'big' || $v['p_code'] == 'small')) {
  1911. if ($v['prize_status'] != '和') {
  1912. foreach ($p_v as $p_k1 => $p_v2) {
  1913. if ($v['p_code'] == $p_v2) {
  1914. $args[$num]['prize_status'] = '中奖';
  1915. $args[$num]['get_money'] = $v['money'] * $v['odds'] - $v['money'];
  1916. break;
  1917. } else {
  1918. $args[$num]['prize_status'] = '未中奖';
  1919. $args[$num]['get_money'] = -$v['money'];
  1920. }
  1921. }
  1922. }
  1923. }else{
  1924. foreach ($p_v as $p_k1 => $p_v2) {
  1925. if ($v['p_code'] == $p_v2) {
  1926. $args[$num]['prize_status'] = '中奖';
  1927. $args[$num]['get_money'] = $v['money'] * $v['odds'] - $v['money'];
  1928. break;
  1929. } else {
  1930. $args[$num]['prize_status'] = '未中奖';
  1931. $args[$num]['get_money'] = -$v['money'];
  1932. }
  1933. }
  1934. }
  1935. }elseif(in_array($p_k, $xy28)) {
  1936. foreach ($p_v as $p_k1 => $p_v2) {
  1937. intval($p_v2);
  1938. settype($p_v2, "string");
  1939. if (stripos($v['p_code'],$p_v2) !== false) {
  1940. $args[$num]['prize_status'] = '中奖';
  1941. $args[$num]['get_money'] = $v['money'] * $v['odds'] - $v['money'];
  1942. break;
  1943. } else {
  1944. $args[$num]['prize_status'] = '未中奖';
  1945. $args[$num]['get_money'] = -$v['money'];
  1946. }
  1947. }
  1948. }else {
  1949. foreach ($p_v as $p_k1 => $p_v2) {
  1950. if ($v['p_code'] == $p_v2) {
  1951. $args[$num]['prize_status'] = '中奖';
  1952. $args[$num]['get_money'] = $v['money'] * $v['odds'] - $v['money'];
  1953. break;
  1954. } else {
  1955. $args[$num]['prize_status'] = '未中奖';
  1956. $args[$num]['get_money'] = -$v['money'];
  1957. }
  1958. }
  1959. }
  1960. }
  1961. }
  1962. }
  1963. }
  1964. }
  1965. if(is_array($args) && count($args) > 0){
  1966. foreach ($args as $k=>$v){
  1967. if (isset($v['prize_status'])){
  1968. $argss[$k]['codes'] = $v['p_codes']."-".$v['prize_status'];
  1969. }else{
  1970. $argss[$k]['codes'] = $v['p_codes']."-未中奖";
  1971. }
  1972. $argss[$k]['codeDate'] = $v['gameType'];
  1973. $argss[$k]['money'] = $v['money'];
  1974. }
  1975. if (count($args) >= 2){
  1976. $codeds =$argss[0]['codes'].$argss[1]['codes'];
  1977. }else{
  1978. $codeds =$argss[0]['codes'];
  1979. }
  1980. $game_type=$args[0]['gameType'];
  1981. }else{
  1982. $game_type="";
  1983. $codeds='';
  1984. $argss='';
  1985. }
  1986. if ($data['status'] == 4){
  1987. $game_status='撤单';
  1988. }elseif ($data['game_status'] == 0){
  1989. $game_status='待开奖';
  1990. }elseif ($data['game_status'] == 1){
  1991. $game_status='中奖';
  1992. }elseif ($data['game_status'] == 2){
  1993. $game_status='未中奖';
  1994. }
  1995. if ($data['wing_codes'] == '-1'){
  1996. $data['wing_codes']="";
  1997. }
  1998. $da_args['order_id']=$data['order_id'];
  1999. $da_args['wing_codes'] = $data['wing_codes'];
  2000. $da_args['get_money'] = $data['get_money']-$data['money'];
  2001. $da_args['game_no'] = $data['game_no'];
  2002. $da_args['get_money'] = $data['get_money'];
  2003. $da_args['game_type'] = $data['game_type'];
  2004. $da_args['money'] = $data['money'];
  2005. $da_args['codes'] = $data['codes'];
  2006. $da_args['game_name'] = $data['game_name'];
  2007. $da_args['codeDate'] = $game_type;
  2008. $da_args['codet'] = $argss;
  2009. $da_args['coded'] = $codeds;
  2010. $da_args['money_time'] = $data['money_time'];
  2011. $da_args['id'] = $data['id'];
  2012. $da_args['game_status'] = $game_status;
  2013. $da_args['gamed_status'] = $data['gamed_status'];
  2014. return $da_args;
  2015. }
  2016. /*
  2017. * pc账户明细
  2018. */
  2019. function PcWinning($data)
  2020. {
  2021. $id_one = isset($data['account_identity']) ? $data['account_identity'] : ''; //用户唯一id
  2022. $id = isset($data['id']) ? $data['id'] : '';
  2023. $page = isset($data['page']) ? $data['page'] : 1;
  2024. $num1 = isset($data['num1']) ? $data['num1'] : '';
  2025. $num2 = isset($data['num2']) ? $data['num2'] : '';
  2026. $new_time = isset($data['time']) ? $data['time'] : '';
  2027. $trade_type = isset($data['trade_type']) ? $data['trade_type'] : ''; //资金状态
  2028. if (empty($id_one)) {
  2029. return -4010;
  2030. }
  2031. if ($num2 > $num1) {
  2032. $bb = $num1;
  2033. $num1 = $num2;
  2034. $num2 = $bb;
  2035. }
  2036. if (!empty($new_time)) {
  2037. $new_time1 = $new_time;
  2038. $new_time2 = date("Y-m-d", strtotime("+1 day", strtotime($new_time)));
  2039. $arr = [ //向数据库追加数组 然后循环出来
  2040. 'a.id' => $num1,
  2041. 'b.id' => $num2,
  2042. 'id' => $id,
  2043. 'trade_type' => $trade_type,
  2044. 'a.money_time' => $new_time1,
  2045. 'b.money_time' => $new_time2,
  2046. "account_identity" => $id_one,
  2047. ];
  2048. }else{
  2049. $arr = [ //向数据库追加数组 然后循环出来
  2050. 'a.id' => $num1,
  2051. 'b.id' => $num2,
  2052. 'id' => $id,
  2053. 'trade_type' => $trade_type,
  2054. "account_identity" => $id_one,
  2055. ];
  2056. }
  2057. //var_dump($new_time1,$new_time2);
  2058. //return ;
  2059. $where = '1 = 1';
  2060. foreach ($arr as $key => $value) {
  2061. //循环数组
  2062. if ($value != '' && $key != 'a.id' && $key != 'b.id' && $key != 'a.money_time' && $key != 'b.money_time') { //判断条件
  2063. $where .= " AND {$key}='{$value}'"; //获取值
  2064. }
  2065. if ($value != '' && $key == 'a.id') {
  2066. //$time1 = date('Y-m-d 00:00:00', strtotime($time1));
  2067. $where .= " AND id<='{$num1}'";
  2068. }
  2069. if ($value != '' && $key == 'b.id') {
  2070. //$time2 = date('Y-m-d H:i:s', (strtotime($time2) + 24 * 60 * 60 - 1));
  2071. $where .= " AND id>='{$num2}'";
  2072. }
  2073. if ($value != '' && $key == 'a.money_time') {
  2074. //$time1 = date('Y-m-d 00:00:00', strtotime($time1));
  2075. $where .= " AND money_time>='{$new_time1}'";
  2076. }
  2077. if ($value != '' && $key == 'b.money_time') {
  2078. //$time2 = date('Y-m-d H:i:s', (strtotime($time2) + 24 * 60 * 60 - 1));
  2079. $where .= " AND money_time<'{$new_time2}'";
  2080. }
  2081. }
  2082. //return $where;
  2083. $rows = lm("money_details", "commons")->whereRaw($where)->get();
  2084. // return $rows;
  2085. if (count($rows) != 0) {
  2086. $list = 10;
  2087. //获取总页数
  2088. $count_list = lm("money_details", "commons")->whereRaw($where)->count();
  2089. $count_page = ceil($count_list / $list);
  2090. $first = ($page - 1) * $list;
  2091. $rows = lm("money_details", "commons")->orderBy('money_time', 'desc')->whereRaw($where)->offset($first)->limit($list)->get()->toArray();
  2092. // return $rows;
  2093. //$rows=lm("money_details","commons")->whereRaw($where)->get()->toArray();
  2094. } else {
  2095. return "";
  2096. }
  2097. foreach ($rows as $k => $v) {
  2098. if ($v['money_type'] == "1" && $v['status'] == '1') {
  2099. $rows[$k]['old_money'] = sprintf("%.1f", $v['money_cash'] - $v['money']);
  2100. } elseif ($v['money_type'] == "2" && $v['status'] == '1') {
  2101. $rows[$k]['old_money'] = sprintf("%.1f", $v['money_cash'] + $v['money']);
  2102. } else {
  2103. $rows[$k]['old_money'] = $v['money_cash'];
  2104. }
  2105. }
  2106. // $status=$this->GetStatus();
  2107. $money_type = $this->GetMonetType();
  2108. $Winning = $this->GetStatut();
  2109. foreach ($rows as $k => $val) {
  2110. foreach ($money_type as $key => $v) {
  2111. if ($val['trade_type'] == $key) {
  2112. $val['trade_type'] = lang()->get($v['name']);
  2113. $val['money'] = $val['money'];
  2114. $row[] = $val;
  2115. }
  2116. }
  2117. }
  2118. //return $row;
  2119. foreach ($Winning as $key => $v) {
  2120. foreach ($row as $k => $val) {
  2121. if ($val['status'] == $key) {
  2122. $val['status'] = lang()->get($v);
  2123. $rowt[] = $val;
  2124. }
  2125. }
  2126. }
  2127. $len = count($rowt);
  2128. for ($i = 0; $i < $len; $i++) {
  2129. for ($j = $len; $j < $len - $i; $j--) {
  2130. if ($rowt[$i]['money_time'] > $rowt[$j]['money_time']) {
  2131. $temp = $rowt[$i];
  2132. $rowt[$j] = $rowt[$i];
  2133. $rowt[$i] = $temp;
  2134. }
  2135. }
  2136. }
  2137. $dat = [
  2138. 'data' => $rowt,
  2139. 'count_page' => $count_page,
  2140. 'page' => $page,
  2141. ];
  2142. return $dat;
  2143. }
  2144. /*
  2145. * 账号盈亏
  2146. */
  2147. public function Personals($data)
  2148. {
  2149. $id_one = isset($data['account_identity']) ? $data['account_identity'] : ''; //用户唯一id
  2150. $now_times = isset($data['now_times']) ? $data['now_times'] : ''; //用户唯一id
  2151. // return $now_times;
  2152. if ($now_times == "当天") {
  2153. // return 1;
  2154. $now_time_old = date("Y-m-d", strtotime("+1 day"));
  2155. $now_time = date('Y-m-d', time());
  2156. for ($i = 1; $i <= 10; $i++) {
  2157. if ($i == '5' || $i == '6') {
  2158. } else {
  2159. $datas[] = lm("money_details", "commons")->where("account_identity", $id_one)
  2160. ->where("trade_type", "$i")
  2161. ->where("money_time", ">", $now_time)
  2162. ->where("money_time", "<", $now_time_old)
  2163. ->get()->toArray();
  2164. }
  2165. }
  2166. } elseif ($now_times == "一周") {
  2167. $now_time_old = date("Y-m-d", strtotime("-7 day"));
  2168. $week_time = date("Y-m-d", strtotime("+1 day"));
  2169. for ($i = 1; $i <= 10; $i++) {
  2170. if ($i == '5' || $i == '6') {
  2171. } else {
  2172. $datas[] = lm("money_details", "commons")->where("account_identity", $id_one)
  2173. ->where("trade_type", "$i")
  2174. ->where("money_time", "<", $week_time)
  2175. ->where("money_time", ">", $now_time_old)
  2176. ->get()->toArray();
  2177. }
  2178. }
  2179. } else {
  2180. for ($i = 1; $i <= 10; $i++) {
  2181. if ($i == '5' || $i == '6') {
  2182. } else {
  2183. $datas[] = lm("money_details", "commons")->where("account_identity", $id_one)
  2184. ->where("trade_type", "$i")
  2185. ->get()->toArray();
  2186. }
  2187. }
  2188. }
  2189. foreach ($datas as $key => $val) {
  2190. if (empty($val)) {
  2191. continue;
  2192. }
  2193. $arr[] = $val;
  2194. }
  2195. // return $arr;
  2196. if (empty($arr)) {
  2197. @$arrs['eart'] = 0;
  2198. @$arrs['koukuan'] = 0;
  2199. @$arrs['defection'] = 0;
  2200. @$arrs['balance'] = 0;
  2201. @$arrs['open_times'] = 0;
  2202. @$arrs['money_time'] = 0;
  2203. } else {
  2204. foreach ($arr as $v) {
  2205. foreach ($v as $val) {
  2206. $arrs[] = $val;
  2207. }
  2208. }
  2209. foreach ($arrs as $k => $v) {
  2210. $arrs[$k]['money_time'] = date("m", strtotime($v['money_time']));
  2211. }
  2212. }
  2213. // return $arrs;
  2214. $date = [
  2215. '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12',
  2216. ];
  2217. $datq = array();
  2218. $eart = 0;
  2219. $expenditure = "";
  2220. foreach ($date as $k => $val) {
  2221. foreach ($arrs as $v) {
  2222. if ($val == $v['money_time']) {
  2223. if ($v['trade_type'] == "1" || $v['trade_type'] == "2" || $v['trade_type'] == "9") {
  2224. @$expenditure += $v['money'];
  2225. }
  2226. if ($v['trade_type'] == "3" || $v['trade_type'] == "4" || $v['trade_type'] == "7" || $v['trade_type'] == "8" || $v['trade_type'] == "10") {
  2227. @$eart += $v['money'];
  2228. }
  2229. $balance = $eart - $expenditure;
  2230. //return $balance;
  2231. }
  2232. }
  2233. @$datq[$k]['eart'] = $eart;
  2234. @$datq[$k]['balance'] = $balance;
  2235. @$datq[$k]['expenditure'] = $expenditure;
  2236. @$datq[$k]['time'] = $val;
  2237. //return $datq;
  2238. $eart = 0;
  2239. $balance = 0;
  2240. $expenditure = 0;
  2241. }
  2242. return $datq;
  2243. //echo json_encode($datq);
  2244. }
  2245. //盈亏
  2246. public function Personal($data)
  2247. {
  2248. $id_one = isset($data['account_identity']) ? $data['account_identity'] : ''; //用户唯一id
  2249. $now_times = isset($data['now_times']) ? $data['now_times'] : ''; //用户唯一id
  2250. // return $now_times;
  2251. if ($now_times == "当天") {
  2252. // return 1;
  2253. $now_time_old = date("Y-m-d", strtotime("+1 day"));
  2254. $now_time = date('Y-m-d', time());
  2255. $datas = lm("money_buy", "commons")
  2256. ->where("account_identity", $id_one)
  2257. ->where("status",'!=', "4")
  2258. ->orWhere("status", "2")
  2259. ->where("money_time", ">", $now_time)
  2260. ->where("money_time", "<", $now_time_old)
  2261. ->get();
  2262. if ($datas){
  2263. $datas=$datas->toArray();
  2264. }
  2265. } elseif ($now_times == "一周") {
  2266. $now_time_old = date("Y-m-d", strtotime("-7 day"));
  2267. $week_time = date("Y-m-d", strtotime("+1 day"));
  2268. $datas = lm("money_buy", "commons")->where("account_identity", $id_one)
  2269. ->where("status",'!=', "4")
  2270. ->where("money_time", "<", $week_time)
  2271. ->where("money_time", ">", $now_time_old)
  2272. ->get();
  2273. if ($datas){
  2274. $datas=$datas->toArray();
  2275. }
  2276. } else {
  2277. $datas = lm("money_buy", "commons")
  2278. ->where("account_identity", $id_one)
  2279. ->where("status",'!=', "4")
  2280. ->get();
  2281. if ($datas){
  2282. $datas=$datas->toArray();
  2283. }
  2284. }
  2285. foreach ($datas as $key => $val) {
  2286. if (empty($val)) {
  2287. continue;
  2288. }
  2289. $arr[] = $val;
  2290. }
  2291. $date = [
  2292. '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12',
  2293. ];
  2294. $datq = array();
  2295. $eart = 0;
  2296. $balance = 0;
  2297. $expenditure = "";
  2298. foreach ($date as $k => $val) {
  2299. foreach ($arr as $v) {
  2300. if ($val == date("m", strtotime($v['money_time']))) {
  2301. @$eart += $v['prize_money'];
  2302. @$expenditure += $v['money'];
  2303. @$balance += $v['get_money'];
  2304. }
  2305. }
  2306. @$datq[$k]['eart'] = $eart;
  2307. @$datq[$k]['balance'] = $balance;
  2308. @$datq[$k]['expenditure'] = $expenditure;
  2309. @$datq[$k]['time'] = $val;
  2310. //return $datq;
  2311. $eart = 0;
  2312. $balance = 0;
  2313. $expenditure = 0;
  2314. }
  2315. $sixnum=$this->sixPersonal($id_one,$now_times);
  2316. foreach ($sixnum as $v){
  2317. foreach ($datq as $k=>$val){
  2318. if ($v['time'] == $val['time']){
  2319. $datq[$k]['eart']=$v['eart']+$val['eart'];
  2320. $datq[$k]['balance']=$v['balance']+$val['balance'];
  2321. $datq[$k]['expenditure']=$v['expenditure']+$val['expenditure'];
  2322. }
  2323. }
  2324. }
  2325. return $datq;
  2326. //echo json_encode($datq);
  2327. }
  2328. public function sixPersonal($id_one,$now_times)
  2329. {
  2330. if ($now_times == "当天") {
  2331. $now_time_old = date("Y-m-d", strtotime("+1 day"));
  2332. $now_time = date('Y-m-d', time());
  2333. $datas = lm("sixMoney_buy", "commons")->where("account_identity", $id_one)
  2334. ->where("status",'!=', "4")
  2335. ->where("money_time", ">", $now_time)
  2336. ->where("money_time", "<", $now_time_old)
  2337. ->get();
  2338. if ($datas){
  2339. $datas=$datas->toArray();
  2340. }
  2341. } elseif ($now_times == "一周") {
  2342. $now_time_old = date("Y-m-d", strtotime("-7 day"));
  2343. $week_time = date("Y-m-d", strtotime("+1 day"));
  2344. $datas = lm("sixMoney_buy", "commons")->where("account_identity", $id_one)
  2345. ->where("status",'!=', "4")
  2346. ->where("money_time", "<", $week_time)
  2347. ->where("money_time", ">", $now_time_old)
  2348. ->get();
  2349. if ($datas){
  2350. $datas=$datas->toArray();
  2351. }
  2352. } else {
  2353. $datas = lm("sixMoney_buy", "commons")->where("account_identity", $id_one)
  2354. ->where("status",'!=', "4")
  2355. ->get();
  2356. if ($datas){
  2357. $datas=$datas->toArray();
  2358. }
  2359. }
  2360. foreach ($datas as $key => $val) {
  2361. if (empty($val)) {
  2362. continue;
  2363. }
  2364. $arr[] = $val;
  2365. }
  2366. $date = [
  2367. '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12',
  2368. ];
  2369. $datq = array();
  2370. $eart = 0;
  2371. $balance = 0;
  2372. $expenditure = "";
  2373. foreach ($date as $k => $val) {
  2374. foreach ($arr as $v) {
  2375. if ($val == date("m", strtotime($v['money_time']))) {
  2376. @$eart += $v['prize_money'];
  2377. @$expenditure += $v['money'];
  2378. @$balance += $v['get_money'];
  2379. //return $balance;
  2380. }
  2381. }
  2382. @$datq[$k]['eart'] = $eart;
  2383. @$datq[$k]['balance'] = $balance;
  2384. @$datq[$k]['expenditure'] = $expenditure;
  2385. @$datq[$k]['time'] = $val;
  2386. //return $datq;
  2387. $eart = 0;
  2388. $balance = 0;
  2389. $expenditure = 0;
  2390. }
  2391. return $datq;
  2392. //echo json_encode($datq);
  2393. }
  2394. /*
  2395. * 充值记录
  2396. */
  2397. function PCRecharge($data,$c=-1)
  2398. {
  2399. $id_one = isset($data['account_identity']) ? $data['account_identity'] : ''; //用户唯一id
  2400. $id = isset($data['id']) ? $data['id'] : '';
  2401. $page = isset($data['page']) ? $data['page'] : 1;
  2402. $num1 = isset($data['num1']) ? $data['num1'] : '';
  2403. $num2 = isset($data['num2']) ? $data['num2'] : '';
  2404. $new_time = isset($data['time']) ? $data['time'] : '';
  2405. if (empty($id_one)) {
  2406. return -4010;
  2407. }
  2408. if ($num2 > $num1) {
  2409. $bb = $num1;
  2410. $num1 = $num2;
  2411. $num2 = $bb;
  2412. }
  2413. if (!empty($new_time)) {//qtx 2018-12-11
  2414. $newtime = explode('~',$new_time);
  2415. if(count($newtime) ==2){
  2416. $new_time1 = $newtime[0].' 00:00:00';
  2417. $new_time2 = $newtime[1].' 23:59:59';
  2418. }else{
  2419. $new_time1 = $new_time;
  2420. $new_time2 = date("Y-m-d", strtotime("+1 day", strtotime($new_time)));
  2421. }
  2422. $arr = [ //向数据库追加数组 然后循环出来
  2423. 'a.id' => $num1,
  2424. 'b.id' => $num2,
  2425. 'id' => $id,
  2426. 'a.apply_time' => $new_time1,
  2427. 'b.apply_time' => $new_time2,
  2428. "account_identity" => $id_one,
  2429. ];
  2430. }else{
  2431. $arr = [ //向数据库追加数组 然后循环出来
  2432. 'a.id' => $num1,
  2433. 'b.id' => $num2,
  2434. 'id' => $id,
  2435. "account_identity" => $id_one,
  2436. ];
  2437. }
  2438. $where = '1 = 1';
  2439. foreach ($arr as $key => $value) {
  2440. //循环数组
  2441. if ($value != '' && $key != 'a.id' && $key != 'b.id' && $key != 'a.apply_time' && $key != 'b.apply_time') { //判断条件
  2442. $where .= " AND {$key}='{$value}'"; //获取值
  2443. }
  2444. if ($value != '' && $key == 'a.id') {
  2445. //$time1 = date('Y-m-d 00:00:00', strtotime($time1));
  2446. $where .= " AND id<='{$num1}'";
  2447. }
  2448. if ($value != '' && $key == 'b.id') {
  2449. //$time2 = date('Y-m-d H:i:s', (strtotime($time2) + 24 * 60 * 60 - 1));
  2450. $where .= " AND id>='{$num2}'";
  2451. }
  2452. if ($value != '' && $key == 'a.apply_time') {
  2453. //$time1 = date('Y-m-d 00:00:00', strtotime($time1));
  2454. $where .= " AND apply_time>='{$new_time1}'";
  2455. }
  2456. if ($value != '' && $key == 'b.apply_time') {
  2457. //$time2 = date('Y-m-d H:i:s', (strtotime($time2) + 24 * 60 * 60 - 1));
  2458. $where .= " AND apply_time<'{$new_time2}'";
  2459. }
  2460. }
  2461. $rows = lm("money_recharge", "commons")->whereRaw($where)->get();
  2462. if($c==1){
  2463. $where .=" AND status=1";
  2464. $countMoney = $count_list = lm("money_recharge", "commons")->whereRaw($where)->sum('money');
  2465. $countMoney = empty($countMoney)?0:$countMoney;
  2466. return $countMoney;
  2467. }
  2468. if (count($rows) != 0) {
  2469. $list = 10;
  2470. //获取总页数
  2471. $count_list = lm("money_recharge", "commons")->whereRaw($where)->count();
  2472. $count_page = ceil($count_list / $list);
  2473. $first = ($page - 1) * $list;
  2474. $rows = lm("money_recharge", "commons")->orderBy('apply_time', 'desc')->whereRaw($where)->offset($first)->limit($list)->get()->toArray();
  2475. //$rows=lm("money_recharge","commons")->whereRaw($where)->get()->toArray();
  2476. //return $rows;
  2477. } else {
  2478. return "";
  2479. }
  2480. $Winning = $this->GetStatus();
  2481. foreach ($Winning as $key => $v) {
  2482. foreach ($rows as $k => $val) {
  2483. if ($val['status'] == $key) {
  2484. if ($val['status'] == '1') {
  2485. $val['old_money'] = ($val['money_cash'] - $val['money']);
  2486. } else {
  2487. $val['old_money'] = $val['money_cash'];
  2488. }
  2489. $val['statud'] = lang()->get($v);
  2490. $val['trade_type'] = lang()->get("Recharge");
  2491. $val['money'] = $val['money'];
  2492. $index = strtotime($val['apply_time']);
  2493. $rowr[$index] = $val;
  2494. //return $rowr;
  2495. }
  2496. }
  2497. }
  2498. rsort($rowr);
  2499. $dat = [
  2500. 'data' => $rowr,
  2501. 'count_page' => $count_page,
  2502. 'page' => $page,
  2503. ];
  2504. return $dat;
  2505. }
  2506. /*
  2507. * 提现记录
  2508. */
  2509. function PCWithdrawals($data,$c=-1)
  2510. {
  2511. //$id_one = $_SESSION['uinfo']['account_identity'];
  2512. $id_one = isset($data['account_identity']) ? $data['account_identity'] : ''; //用户唯一id
  2513. $id = isset($data['id']) ? $data['id'] : '';
  2514. $page = isset($data['page']) ? $data['page'] : 1;
  2515. $num1 = isset($data['num1']) ? $data['num1'] : '';
  2516. $num2 = isset($data['num2']) ? $data['num2'] : '';
  2517. $new_time = isset($data['time']) ? $data['time'] : '';
  2518. if (empty($id_one)) {
  2519. return -4010;
  2520. }
  2521. if ($num2 > $num1) {
  2522. $bb = $num1;
  2523. $num1 = $num2;
  2524. $num2 = $bb;
  2525. }
  2526. if (!empty($new_time)) {//qtx 2018-12-11
  2527. $newtime = explode('~',$new_time);
  2528. if(count($newtime) ==2){
  2529. $new_time1 = $newtime[0].' 00:00:00';
  2530. $new_time2 = $newtime[1].' 23:59:59';
  2531. }else{
  2532. $new_time1 = $new_time;
  2533. $new_time2 = date("Y-m-d", strtotime("+1 day", strtotime($new_time)));
  2534. }
  2535. $arr = [ //向数据库追加数组 然后循环出来
  2536. 'a.id' => $num1,
  2537. 'b.id' => $num2,
  2538. 'id' => $id,
  2539. 'a.apply_time' => $new_time1,
  2540. 'b.apply_time' => $new_time2,
  2541. "account_identity" => $id_one,
  2542. ];
  2543. }else{
  2544. $arr = [ //向数据库追加数组 然后循环出来
  2545. 'a.id' => $num1,
  2546. 'b.id' => $num2,
  2547. 'id' => $id,
  2548. "account_identity" => $id_one,
  2549. ];
  2550. }
  2551. $where = '1 = 1';
  2552. foreach ($arr as $key => $value) {
  2553. //循环数组
  2554. if ($value != '' && $key != 'a.id' && $key != 'b.id' && $key != 'a.apply_time' && $key != 'b.apply_time') { //判断条件
  2555. $where .= " AND {$key}='{$value}'"; //获取值
  2556. }
  2557. if ($value != '' && $key == 'a.id') {
  2558. //$time1 = date('Y-m-d 00:00:00', strtotime($time1));
  2559. $where .= " AND id<='{$num1}'";
  2560. }
  2561. if ($value != '' && $key == 'b.id') {
  2562. //$time2 = date('Y-m-d H:i:s', (strtotime($time2) + 24 * 60 * 60 - 1));
  2563. $where .= " AND id>='{$num2}'";
  2564. }
  2565. if ($value != '' && $key == 'a.apply_time') {
  2566. //$time1 = date('Y-m-d 00:00:00', strtotime($time1));
  2567. $where .= " AND apply_time>='{$new_time1}'";
  2568. }
  2569. if ($value != '' && $key == 'b.apply_time') {
  2570. //$time2 = date('Y-m-d H:i:s', (strtotime($time2) + 24 * 60 * 60 - 1));
  2571. $where .= " AND apply_time<'{$new_time2}'";
  2572. }
  2573. }
  2574. $rows = lm("money_take", "commons")->whereRaw($where)->get();
  2575. if($c==1){
  2576. $where .=" AND status=1";
  2577. $countMoney = lm("money_take", "commons")->whereRaw($where)->sum('money');
  2578. $countMoney = empty($countMoney)?0:$countMoney;
  2579. return $countMoney;
  2580. }
  2581. if (count($rows) != 0) {
  2582. $list = 10;
  2583. //获取总页数
  2584. $count_list = lm("money_take", "commons")->whereRaw($where)->count();
  2585. //return $count_list;
  2586. $count_page = ceil($count_list / $list);
  2587. $first = ($page - 1) * $list;
  2588. $rows = lm("money_take", "commons")->orderBy('apply_time', 'desc')->whereRaw($where)->offset($first)->limit($list)->get()->toArray();
  2589. } else {
  2590. return "";
  2591. }
  2592. $Winning = $this->GetStatus();
  2593. foreach ($Winning as $key => $v) {
  2594. foreach ($rows as $k => $val) {
  2595. if ($val['status'] == $key) {
  2596. if ($val['status'] == '1') {
  2597. $val['old_money'] = ($val['money_cash'] + $val['money']);
  2598. } else {
  2599. $val['old_money'] = $val['money_cash'];
  2600. }
  2601. $val['status'] = lang()->get($v);
  2602. $val['trade_type'] = lang()->get("Withdrawals");
  2603. $val['money'] = $val['money'];
  2604. $index = strtotime($val['apply_time']);
  2605. $rowr[$index] = $val;
  2606. }
  2607. }
  2608. }
  2609. rsort($rowr);
  2610. $dat = [
  2611. 'data' => $rowr,
  2612. 'count_page' => $count_page,
  2613. 'page' => $page,
  2614. ];
  2615. return $dat;
  2616. }
  2617. /*
  2618. * 投注详情
  2619. */
  2620. function Betting($data)
  2621. {
  2622. $id = isset($data['id']) ? $data['id'] : '11315';
  2623. $game_name = isset($data['game_name']) ? $data['game_name'] : 'cqssc';
  2624. if ($game_name == 'jnd28' || $game_name == 'xy28') {
  2625. $tab_name = "SpecialCodeDataAccess";
  2626. } else {
  2627. $tab_name = "PoscodeDataAccess";
  2628. }
  2629. $cls = "\\Biz\\Game\\DataAccess\\" . ucfirst($game_name) . "\\" . $tab_name;
  2630. $settings = new $cls();
  2631. $number = $settings->getAttr();
  2632. $code_datas = lm('money_buy', "commons")->where('id', $id)->get();
  2633. if (!empty($code_datas)) {
  2634. $code_data = $code_datas->toArray();
  2635. } else {
  2636. return "";
  2637. }
  2638. foreach ($code_data as $o => $v) {
  2639. $tab_name = "bjpk10Parse";
  2640. $nums = C()->get($tab_name);
  2641. $data_paramt = json_decode($v['codes'], 1);
  2642. if (array_key_exists("head_three", $data_paramt)) {
  2643. $paramt = $this->CodeData($data_paramt);
  2644. } elseif (array_key_exists("head_two", $data_paramt)) {
  2645. $paramt = $this->CodeData($data_paramt);
  2646. } elseif (array_key_exists("fivestar", $data_paramt)) {
  2647. $paramt = $this->CQCodeData($data_paramt);
  2648. } elseif (array_key_exists("fourstar", $data_paramt)) {
  2649. $paramt = $this->CQCodeData($data_paramt);
  2650. } elseif (array_key_exists("behindthreestar", $data_paramt)) {
  2651. $paramt = $this->CQCodeData($data_paramt);
  2652. } elseif (array_key_exists("frontthreestar", $data_paramt)) {
  2653. $paramt = $this->CQCodeData($data_paramt);
  2654. } elseif (array_key_exists("fronttwostar", $data_paramt)) {
  2655. $paramt = $this->CQCodeData($data_paramt);
  2656. } else {
  2657. $datat = [
  2658. 'codes' => $v['codes'],
  2659. ];
  2660. $paramt = $nums->change($datat);
  2661. }
  2662. foreach ($paramt as $va) {
  2663. $CodeDate[] = $va['codes'];
  2664. }
  2665. if ($v['game_status'] == 1) {
  2666. $args = array();
  2667. $paramd = json_decode($v['prize'], 1);
  2668. $paramds = '';
  2669. if (empty($paramd)) {
  2670. $prize_code[] = "";
  2671. }
  2672. if (array_key_exists("head_three", $data_paramt)) {
  2673. foreach ($paramd as $v) {
  2674. foreach ($v as $ku => $val) {
  2675. $str = explode("_", $val);
  2676. $paramds .= $str[1] . ',';
  2677. $ast = substr($paramds, 0, strlen($paramds) - 1);
  2678. }
  2679. $args[]['codes'] = $ast;
  2680. }
  2681. foreach ($paramt as $kp => $vp) {
  2682. }
  2683. } elseif (array_key_exists("head_two", $data_paramt)) {
  2684. foreach ($paramd as $v) {
  2685. foreach ($v as $ku => $val) {
  2686. $str = explode("_", $val);
  2687. $paramds .= $str[1] . ',';
  2688. $ast = substr($paramds, 0, strlen($paramds) - 1);
  2689. }
  2690. $args[]['codes'] = $ast;
  2691. }
  2692. } elseif (array_key_exists("fivestar", $data_paramt)) {
  2693. foreach ($paramd as $v) {
  2694. foreach ($v as $ku => $val) {
  2695. $str = explode("_", $val);
  2696. $paramds .= $str[1] . ',';
  2697. $ast = substr($paramds, 0, strlen($paramds) - 1);
  2698. }
  2699. $args[]['codes'] = $ast;
  2700. }
  2701. } elseif (array_key_exists("fourstar", $data_paramt)) {
  2702. foreach ($paramd as $v) {
  2703. foreach ($v as $ku => $val) {
  2704. $str = explode("_", $val);
  2705. $paramds .= $str[1] . ',';
  2706. $ast = substr($paramds, 0, strlen($paramds) - 1);
  2707. }
  2708. $args[]['codes'] = $ast;
  2709. return $args;
  2710. }
  2711. } elseif (array_key_exists("behindthreestar", $data_paramt)) {
  2712. foreach ($paramd as $v) {
  2713. foreach ($v as $ku => $val) {
  2714. $str = explode("_", $val);
  2715. $paramds .= $str[1] . ',';
  2716. $ast = substr($paramds, 0, strlen($paramds) - 1);
  2717. }
  2718. $args[]['codes'] = $ast;
  2719. }
  2720. } elseif (array_key_exists("frontthreestar", $data_paramt)) {
  2721. foreach ($paramd as $v) {
  2722. foreach ($v as $ku => $val) {
  2723. $str = explode("_", $val);
  2724. $paramds .= $str[1] . ',';
  2725. $ast = substr($paramds, 0, strlen($paramds) - 1);
  2726. }
  2727. $args[]['codes'] = $ast;
  2728. }
  2729. } elseif (array_key_exists("fronttwostar", $data_paramt)) {
  2730. foreach ($paramd as $v) {
  2731. foreach ($v as $ku => $val) {
  2732. $str = explode("_", $val);
  2733. $paramds .= $str[1] . ',';
  2734. $ast = substr($paramds, 0, strlen($paramds) - 1);
  2735. }
  2736. $args[]['codes'] = $ast;
  2737. }
  2738. }
  2739. }
  2740. }
  2741. foreach ($paramt as $kp => $vp) {
  2742. foreach ($args as $ka => $va) {
  2743. if ($va['codes'] == $vp['codes']) {
  2744. $prize_code[] = $vp['codes'];
  2745. break;
  2746. }
  2747. }
  2748. }
  2749. $arr = [
  2750. 'title' => $game_name,
  2751. 'number' => $number,
  2752. 'buy_code' => $CodeDate,
  2753. 'prize_code' => $prize_code,
  2754. ];
  2755. dump($data_paramt);
  2756. exit;
  2757. }
  2758. //快乐赛宝投注记录
  2759. function DiceBettingDetails($data){
  2760. $account_identity = isset($data['account_identity']) ? $data['account_identity'] : '';
  2761. $data=lm('Dice','commons')->orderBy('create_time', 'desc')->where('master_identity',$account_identity)->orWhere('guster_identity',$account_identity)->limit(10)->get();
  2762. foreach ($data as $k=>$v){
  2763. if ($v['master_identity'] == $account_identity){
  2764. $data[$k]['name_id']=1;
  2765. }else{
  2766. $data[$k]['name_id']=2;
  2767. }
  2768. if ($v['winner_identity'] == $account_identity){
  2769. $data[$k]['name_win']=1;
  2770. }else{
  2771. $data[$k]['name_win']=2;
  2772. }
  2773. }
  2774. return $data;
  2775. }
  2776. //赔率
  2777. function getSettings($game='sixlottery') {
  2778. $game = empty($game)?'sixlottery':$game;
  2779. //权限检测
  2780. $arrys = array(
  2781. 'series_twospecial',//二中特
  2782. 'series_threetwo-0',
  2783. 'series_fiveend-0',
  2784. 'series_fourend-0',
  2785. 'series_threeend-0',
  2786. 'series_twoend-0',
  2787. 'series_twoborn-rate',
  2788. 'series_twoborn-cattle',
  2789. 'series_twoborn-tiger',
  2790. 'series_twoborn-rabbit',
  2791. 'series_twoborn-dragon',
  2792. 'series_twoborn-snake',
  2793. 'series_twoborn-horse',
  2794. 'series_twoborn-sheep',
  2795. 'series_twoborn-monkey',
  2796. 'series_twoborn-chick',
  2797. 'series_twoborn-dog',
  2798. 'series_twoborn-pig',
  2799. 'general_born'
  2800. );
  2801. $data = lm('Game_odds','Commons')->getOdds($game);
  2802. if($data<0){
  2803. return responseToJson($data);
  2804. }
  2805. $data = json_decode($data['odds'], 1);
  2806. return $data;
  2807. $array = array();
  2808. $i = 0;
  2809. foreach ($arrys as $v){
  2810. $bs[$v]=$data[$v];
  2811. }
  2812. return $bs;
  2813. }
  2814. /*
  2815. * PC塞子游戏投注记录
  2816. */
  2817. public function PcDiceBettingRecord($data)
  2818. {
  2819. $id_one = isset($data['account_identity']) ? $data['account_identity'] : ''; //用户唯一id
  2820. $time1 = isset($data['time1']) ? $data['time1'] : ''; //时间
  2821. $time2 = isset($data['time2']) ? $data['time2'] : ''; //时间
  2822. $game_type = isset($data['game'])&& !empty($data['game']) ? trim($data['game']) : 'diceone'; //游戏类型
  2823. $id = isset($data['id']) ? $data['id'] : '';
  2824. $page = isset($data['page']) ? $data['page'] : 2;
  2825. if ($game_type == 'diceone'){
  2826. $arrd = [ //向数据库追加数组 然后循环出来
  2827. 'a.create_time' => $time1,
  2828. 'b.create_time' => $time2,
  2829. 'id' => $id,
  2830. 'account_identity' => $id_one,
  2831. ];
  2832. }else{
  2833. $arrd = [ //向数据库追加数组 然后循环出来
  2834. 'a.create_time' => $time1,
  2835. 'b.create_time' => $time2,
  2836. 'id' => $id,
  2837. 'master_identity'=>$id_one,
  2838. 'guster_identity'=>$id_one,
  2839. ];
  2840. }
  2841. if (empty($id_one)) {
  2842. return -4010;
  2843. }
  2844. $where = '1 = 1';
  2845. $accountd = lm($game_type, "commons");
  2846. foreach ($arrd as $key => $value) {
  2847. //循环数组
  2848. if ($value != '' && $key != 'a.create_time' && $key != 'b.create_time' && $key != 'master_identity' && $key != 'guster_identity') { //判断条件
  2849. $where .= " AND {$key}='{$value}'"; //获取值
  2850. }
  2851. if ($value != '' && $key == 'a.create_time') {
  2852. $where .= " AND create_time>='{$time1}'";
  2853. }
  2854. if ($value != '' && $key == 'b.create_time') {
  2855. $where .= " AND create_time<='{$time2}'";
  2856. }
  2857. if ($value != '' && $key == 'master_identity') {
  2858. $where .= " AND master_identity='{$id_one}'";
  2859. }
  2860. if ($value != '' && $key == 'guster_identity') {
  2861. $where .= " or guster_identity='{$id_one}'";
  2862. }
  2863. }
  2864. //return $where;
  2865. $list = 10;
  2866. //获取总页数
  2867. $count_list = $accountd->whereRaw($where)->count();
  2868. $count_page = ceil($count_list / $list);
  2869. $first = ($page - 1) * $list;
  2870. $code_datas = $accountd->orderBy('create_time', 'desc')->whereRaw($where)->offset($first)->limit($list)->get();//注单信息
  2871. if (!empty($code_datas)) {
  2872. $code_data = $code_datas->toArray();
  2873. } else {
  2874. return "";
  2875. }
  2876. foreach ($code_data as $k => $val) {
  2877. if ($game_type == 'diceone'){
  2878. if ($val['winstatus'] == '1') {
  2879. $code_data[$k]['winstatus'] = '中奖';
  2880. }else{
  2881. $code_data[$k]['winstatus'] = '未中奖';
  2882. }
  2883. $code_data[$k]['game_name'] = '单人快乐骰宝';
  2884. }else{
  2885. if ($val['winner_identity'] == $id_one){
  2886. $code_data[$k]['winstatus'] = '中奖';
  2887. }else{
  2888. $code_data[$k]['winstatus'] = '未中奖';
  2889. }
  2890. if ($val['winner_identity'] == $val['master_identity']){
  2891. $code_data[$k]['codes'] = $val['master_num'];
  2892. $code_data[$k]['money'] = $val['master_money'];
  2893. }else{
  2894. $code_data[$k]['codes'] = $val['guster_num'];
  2895. $code_data[$k]['money'] = $val['guster_money'];
  2896. }
  2897. $code_data[$k]['game_name'] = '双人快乐骰宝';
  2898. }
  2899. $code_data[$k]['coded'] = '查看详情';
  2900. $code_data[$k]['game'] = $game_type;
  2901. }
  2902. $dat = [
  2903. 'data' => $code_data,
  2904. 'count_page' => $count_page,
  2905. 'page' => $page,
  2906. ];
  2907. return $dat;
  2908. }
  2909. //塞子投注详情
  2910. public function DicedataChange($data) {
  2911. $id = isset($data['id']) ? $data['id'] : '';
  2912. $game=isset($data['game']) ? $data['game'] : '';
  2913. $game_name=isset($data['game_name']) ? $data['game_name'] : '';
  2914. $accountd = lm($game, "commons")->where('id',$id)->first();
  2915. if (!empty($accountd)) {
  2916. $accountd = $accountd->toArray();
  2917. } else {
  2918. return "";
  2919. }
  2920. $args = array();
  2921. $buy_code = json_decode($accountd['buycodes'], 1); //该注购买号码
  2922. $prize_code = json_decode($accountd['prizes'], 1); //改注中奖号码
  2923. $paramt = $buy_code;
  2924. if (is_array($paramt) && count($paramt) > 0) {
  2925. $i = 0;
  2926. $a="";
  2927. $s=1;
  2928. foreach ($paramt as $k => $v) {
  2929. if (is_array($v) && count($v) > 0) {
  2930. foreach ($v as $k1 => $v1) {
  2931. $args[$i] = array(
  2932. 'gameType' => lang($game)->get($k),
  2933. 'codes' => lang($game)->get($k). '-' . lang($game)->get($k1),
  2934. 'money' => $v1[0],
  2935. 'maybe' => $v1[0] * $v1['settings']['multiple'],
  2936. 'play' => $k,
  2937. 'p_codes' => $a,
  2938. 'p_code' => $k1,
  2939. 'back' => empty($v1['settings']['back']) ? 0 : $v1['settings']['back'],
  2940. );
  2941. if (isset($v1['settings']['multiple']['max'])) {
  2942. $args[$i]['odds'] = $v1['settings']['multiple']['max'];
  2943. } else {
  2944. $args[$i]['odds'] = $v1['settings']['multiple'];
  2945. }
  2946. if ($data['betstatus'] == 2) {
  2947. $args[$i]['prize_status'] = '撤单';
  2948. $args[$i]['get_money']=0;
  2949. }else {
  2950. $args[$i]['prize_status'] = '未中奖';
  2951. $args[$i]['get_money'] = -$v1[0];
  2952. }
  2953. $i++;
  2954. $a="";
  2955. }
  2956. }
  2957. }
  2958. }
  2959. //中奖判断
  2960. if (is_array($prize_code) && count($prize_code)) {
  2961. //中奖号码
  2962. $paramt = $prize_code['data'];
  2963. foreach ($paramt as $p_k => $p_v) {
  2964. //购买号码
  2965. foreach ($args as $num => $v) {
  2966. if ($v['play'] == $p_k) {
  2967. if (is_array($p_v) && count($p_v) > 0) {
  2968. foreach ($p_v as $p_k1 => $p_v2) {
  2969. if ($v['p_code'] == $p_k1) {
  2970. $args[$num]['prize_status'] = '中奖';
  2971. $args[$num]['get_money'] = $v['money'] * $v['odds'] - $v['money'];
  2972. break;
  2973. } else {
  2974. $args[$num]['prize_status'] = '未中奖';
  2975. $args[$num]['get_money'] = -$v['money'];
  2976. }
  2977. }
  2978. }
  2979. }
  2980. }
  2981. }
  2982. }
  2983. foreach ($args as $k=>$v){
  2984. $argss[$k]['codes'] = $v['codes']."-".$v['prize_status'];
  2985. $argss[$k]['codeDate'] = $v['gameType'];
  2986. $argss[$k]['money'] = $v['money'];
  2987. }
  2988. if (count($args) >= 2){
  2989. $codeds =$argss[0]['codes'].$argss[1]['codes'];
  2990. }else{
  2991. $codeds =$argss[0]['codes'];
  2992. }
  2993. $da_args['wing_codes'] = $accountd['codes'];
  2994. $da_args['game_no'] = $accountd['id'];
  2995. $da_args['get_money'] = $accountd['winmoney']-$accountd['money'];;
  2996. $da_args['game_type'] = $game_name;;
  2997. $da_args['money'] = $accountd['money'];
  2998. $da_args['codes'] = $accountd['codes'];
  2999. $da_args['codeDate'] = $args[0]['gameType'];
  3000. $da_args['codet'] = $argss;
  3001. $da_args['coded'] = $codeds;
  3002. $da_args['id'] = $accountd['id'];
  3003. return $da_args;
  3004. }
  3005. //双人塞子投注详情
  3006. public function DiceSdataChange($data) {
  3007. $id_one = isset($data['account_identity']) ? $data['account_identity'] : ''; //用户唯一id
  3008. $id = isset($data['id']) ? $data['id'] : '';
  3009. $game=isset($data['game']) ? $data['game'] : '';
  3010. $game_name=isset($data['game_name']) ? $data['game_name'] : '';
  3011. $accountd = lm($game, "commons")->where('id',$id)->first();
  3012. if (!empty($accountd)) {
  3013. $accountd = $accountd->toArray();
  3014. } else {
  3015. return "";
  3016. }
  3017. foreach ($accountd as $k=>$v){
  3018. if ($v['winner_identity'] == $id_one){
  3019. $accountd[$k]['winner_type'] ='中奖';
  3020. }else{
  3021. $accountd[$k]['winner_type'] ='未中奖';
  3022. }
  3023. if ($v['winner_identity'] == $v['master_identity']){
  3024. $accountd[$k]['codes'] = $v['master_num'];
  3025. $accountd[$k]['money'] = $v['master_money'];
  3026. }else{
  3027. $accountd[$k]['codes'] = $v['guster_num'];
  3028. $accountd[$k]['money'] = $v['guster_money'];
  3029. }
  3030. }
  3031. foreach ($accountd as $k=>$v){
  3032. $argss[$k]['codeDate'] = '双人';
  3033. $argss[$k]['codes'] = $v['codes']."-".$v['winner_type'];
  3034. $argss[$k]['money'] = $v['money'];
  3035. }
  3036. $da_args['wing_codes'] = $accountd['codes'];
  3037. $da_args['game_no'] = $accountd['id'];
  3038. $da_args['get_money'] = $accountd['win_money']-$accountd['money'];;
  3039. $da_args['game_type'] = $game_name;;
  3040. $da_args['money'] = $accountd['money'];
  3041. $da_args['codet'] = $argss;
  3042. $da_args['id'] = $accountd['id'];
  3043. return $da_args;
  3044. }
  3045. /**
  3046. * 对象数组转为普通数组
  3047. *
  3048. * AJAX提交到后台的JSON字串经decode解码后为一个对象数组,
  3049. * 为此必须转为普通数组后才能进行后续处理,
  3050. * 此函数支持多维数组处理。
  3051. *
  3052. * @param array
  3053. * @return array
  3054. */
  3055. function ObjarrayToArray($obj)
  3056. {
  3057. $ret = array();
  3058. foreach ($obj as $key => $value) {
  3059. if (gettype($value) == "array" || gettype($value) == "object") {
  3060. $ret[$key] = $this->ObjarrayToArray($value);
  3061. } else {
  3062. $ret[$key] = $value;
  3063. }
  3064. }
  3065. return $ret;
  3066. }
  3067. public function getColorCodes()
  3068. {
  3069. return array(
  3070. 'coler' => array(
  3071. "code_type" => "coler",
  3072. "code_types" => "coler",
  3073. ),
  3074. 'code' => array(
  3075. "code_type" => "code",
  3076. "code_types" => "code",
  3077. ),
  3078. 'size_parity' => array(
  3079. "code_type" => "blend",
  3080. "code_types" => "size_parity",
  3081. ),
  3082. 'parity' => array(
  3083. "code_type" => "blend",
  3084. "code_types" => "parity",
  3085. ),
  3086. 'size' => array(
  3087. "code_type" => "blend",
  3088. "code_types" => "size",
  3089. ),
  3090. 'e_size' => array(
  3091. "code_type" => "blend",
  3092. "code_types" => "e_size",
  3093. ),
  3094. 'iden' => array(
  3095. "code_type" => "blend",
  3096. "code_types" => "iden",
  3097. ),
  3098. );
  3099. }
  3100. public function getMixCodes()
  3101. {
  3102. return array(
  3103. 'coler' => array(
  3104. '0' => 'green',
  3105. '1' => 'red',
  3106. '2' => 'blue',
  3107. ),
  3108. 'size_parity' => array(
  3109. '0' => 'Smalldouble',
  3110. '1' => 'Bigdouble',
  3111. '2' => 'Smallsingle',
  3112. '3' => 'Bigsingle',
  3113. ),
  3114. 'parity' => array(
  3115. '1' => 'double',
  3116. '2' => 'single',
  3117. ),
  3118. 'size' => array(
  3119. '0' => 'Small',
  3120. '1' => 'Big',
  3121. ),
  3122. 'e_size' => array(
  3123. '0' => 'Notnum',
  3124. '1' => 'VeryBig',
  3125. '2' => 'VerySmall',
  3126. ),
  3127. 'iden' => array(
  3128. '0' => 'NotWin',
  3129. '1' => 'Win',
  3130. ),
  3131. );
  3132. }
  3133. function GetWinStatus()
  3134. {
  3135. return array("1" => "win", "2" => "notwin", "0" => "audit", "3" => "killorder");
  3136. }
  3137. function GetStatus()
  3138. {
  3139. return array("1" => "success", "2" => "fail", "0" => "audits");
  3140. }
  3141. function GetStatut()
  3142. {
  3143. return array("1" => "success", "0" => "fail");
  3144. }
  3145. function GetBuyStatus()
  3146. {
  3147. return array("1" => "Betting", "2" => "Chase", "3" => "ChageOrder");
  3148. }
  3149. function GetMonetType()
  3150. {
  3151. return array(
  3152. "1" => array("name" => "Betting", "opt" => "-", "old" => "+"),
  3153. "2" => array("name" => "ChaseNumber", "opt" => "-", "old" => "+"),
  3154. "3" => array("name" => "killorder", "opt" => "+", "old" => "-"),
  3155. "4" => array("name" => "Winning", "opt" => "+", "old" => "-"),
  3156. "5" => array("name" => "Withdrawals", "opt" => "-", "old" => "+"),
  3157. "6" => array("name" => "Recharge", "opt" => "+", "old" => "-"),
  3158. "7" => array("name" => "Defection", "opt" => "+", "old" => "-"),
  3159. "8" => array("name" => "backwater", "opt" => "+", "old" => "-"),
  3160. "9" => array("name" => "DeductMoney", "opt" => "-", "old" => "-"),
  3161. "10" => array("name" => "Commission", "opt" => "+", "old" => "-"),
  3162. "11" => array("name" => "HandRecharge", "opt" => "+", "old" => "-"),
  3163. "12" => array("name" => "Active", "opt" => "+", "old" => "-"),
  3164. "13" => array("name" => "Give", "opt" => "+", "old" => "-"),
  3165. "14" => array("name" => "Remit", "opt" => "+", "old" => "-"),
  3166. "15" => array("name" => "NoWithdrawals", "opt" => "+", "old" => "-"),
  3167. "16" => array("name" => "redget", "opt" => "+", "old" => "-"),
  3168. "19" => array("name" => "changemoney", "opt" => "+", "old" => "-"),
  3169. "22" => array("name" => "agentrecharge", "opt" => "+", "old" => "-"),
  3170. );
  3171. }
  3172. function GetMoneyStatus()
  3173. {
  3174. return array("1" => "Betting", "2" => "ChaseNumber", '4' => 'ChageOrder', '5' => 'notWithdrawals');
  3175. }
  3176. /**
  3177. * 计算组数
  3178. * @param [type] $data [description]
  3179. * @return [type] [description]
  3180. */
  3181. function countNum($data, $money, $type,$multiple='',$game_name)
  3182. {
  3183. $hasNums = array_pop($data); //从数组中弹出最后一个数组
  3184. while (is_array($data) && count($data) > 0) {
  3185. $item = array_pop($data); //从数组中弹出最后一个
  3186. $nums = $hasNums;
  3187. $hasNums = [];
  3188. if (is_array($item) && count($item) > 0) {
  3189. foreach ($item as $k => $v) {
  3190. if (array_key_exists($k, $item)) {
  3191. $el = $item[$k]; //转存
  3192. foreach ($nums as $k2 => $v2) {
  3193. if (array_key_exists($k2, $nums)) {
  3194. $el2 = $nums[$k2];
  3195. if (gettype($el2) == 'string') {
  3196. $tmp = explode(',', $el2);
  3197. if ($this->checkExists($tmp, $el)) {
  3198. continue;
  3199. }
  3200. } else {
  3201. if ($el2 == $el) {
  3202. continue;
  3203. }
  3204. }
  3205. $str = $el . ',' . $el2;
  3206. array_push($hasNums, $str);
  3207. }
  3208. }
  3209. }
  3210. }
  3211. }
  3212. }
  3213. if (count($hasNums) > 1) {
  3214. foreach ($hasNums as $k => $v) {
  3215. if (array_key_exists($k, $hasNums)) {
  3216. $element = $hasNums[$k];
  3217. }
  3218. }
  3219. }
  3220. $hasNum = array();
  3221. foreach ($hasNums as $a => $b) {
  3222. $hasNum[$a]['codes'] = $b;
  3223. $hasNum[$a]['money'] = $money;
  3224. $hasNum[$a]['show_type'] = lang($game_name)->get($type);
  3225. $hasNum[$a]['show_nos'] = $b;
  3226. $hasNum[$a]['multiple'] = $multiple;
  3227. $hasNum[$a]['codeDate'] = $type;
  3228. }
  3229. return $hasNum;
  3230. }
  3231. function CQcountNum($data, $money, $type)
  3232. {
  3233. $hasNums = array_pop($data); //从数组中弹出最后一个数组
  3234. // dump($data);
  3235. while (is_array($data) && count($data) > 0) {
  3236. $item = array_pop($data); //从数组中弹出最后一个
  3237. $nums = $hasNums;
  3238. $hasNums = [];
  3239. if (is_array($item) && count($item) > 0) {
  3240. foreach ($item as $k => $v) {
  3241. if (array_key_exists($k, $item)) {
  3242. $el = $item[$k]; //转存
  3243. //dump($item);
  3244. foreach ($nums as $k2 => $v2) {
  3245. if (array_key_exists($k2, $nums)) {
  3246. $el2 = $nums[$k2];
  3247. //dump(gettype($el2));
  3248. if (gettype($el2) == 'string') {
  3249. $tmp = explode(',', $el2);
  3250. if ($this->checkExists($tmp, $el)) {
  3251. continue;
  3252. }
  3253. } else {
  3254. if ($el2 == $el) {
  3255. continue;
  3256. }
  3257. }
  3258. $str = $el . ',' . $el2;
  3259. array_push($hasNums, $str);
  3260. }
  3261. }
  3262. }
  3263. }
  3264. }
  3265. }
  3266. if (count($hasNums) > 1) {
  3267. foreach ($hasNums as $k => $v) {
  3268. if (array_key_exists($k, $hasNums)) {
  3269. $element = $hasNums[$k];
  3270. }
  3271. }
  3272. }
  3273. //dump($hasNums);
  3274. foreach ($hasNums as $a => $b) {
  3275. $as = explode(",", $b);
  3276. sort($as);
  3277. $arrs[] = $as;
  3278. }
  3279. foreach ($arrs as $v) {
  3280. $cc[] = implode(',', $v);
  3281. }
  3282. $asb = array_unique($cc);
  3283. foreach ($asb as $v) {
  3284. $adc[] = $v;
  3285. }
  3286. $hasNum = array();
  3287. foreach ($adc as $a => $b) {
  3288. $hasNum[$a]['codes'] = $b;
  3289. $hasNum[$a]['money'] = $money;
  3290. $hasNum[$a]['codeDate'] = $type;
  3291. }
  3292. return $hasNum;
  3293. }
  3294. function checkExists($data, $value)
  3295. {
  3296. foreach ($data as $k => $v) {
  3297. //判断键位是否存在
  3298. if (array_key_exists($k, $data)) {
  3299. $element = $data[$k];
  3300. if ($element == $value) {
  3301. return true;
  3302. }
  3303. }
  3304. }
  3305. return false;
  3306. }
  3307. function CodeData($data,$game_name)
  3308. {
  3309. $codes = array();
  3310. foreach ($data as $k => $v) {
  3311. $type = $k;
  3312. if (is_array($v) && count($v) > 0) {
  3313. foreach ($v as $k1 => $v1) {
  3314. $temp = explode('_', $k1);
  3315. $money = $v[$k1][0];
  3316. $multiple = $v[$k1]['settings']['multiple'];
  3317. if (!array_key_exists($temp[0] - 1, $codes)) {
  3318. $codes[$temp[0] - 1] = array();
  3319. array_push($codes[$temp[0] - 1], intval($temp[1]));
  3320. } else {
  3321. array_push($codes[$temp[0] - 1], intval($temp[1]));
  3322. }
  3323. }
  3324. }
  3325. }
  3326. $tempArr = $this->countNum($codes, $money, $type,$multiple,$game_name);
  3327. return $tempArr;
  3328. }
  3329. function CQCodeData($data, $num)
  3330. {
  3331. $codes = array();
  3332. foreach ($data as $k => $v) {
  3333. $type = $k;
  3334. if (is_array($v) && count($v) > 0) {
  3335. foreach ($v as $k1 => $v1) {
  3336. $temp = explode('_', $k1);
  3337. //var_dump($temp);
  3338. $money = $v[$k1][0];
  3339. if (!array_key_exists($temp[0] - 1, $codes)) {
  3340. $codes[] = $temp[1];
  3341. //array_push($codes[$temp[0] - 1], intval($temp[1]));
  3342. }
  3343. }
  3344. }
  3345. }
  3346. for ($i = 0; $i < $num; $i++) {
  3347. $bbb[] = array_slice($codes, $i * 1, $num);
  3348. }
  3349. $tempArr = $this->CQcountNum($bbb, $money, $type);
  3350. return $tempArr;
  3351. }
  3352. //号码组合解析排列 is_prtize匹配多少个算中奖,colse表示不中
  3353. /**
  3354. * @param $data
  3355. * @param $num
  3356. * @param string $is_prize 匹配多少个算中奖
  3357. * @param string $is_str 表示是字符串的号码
  3358. * @return mixed
  3359. */
  3360. function CodesData($data, $num, $is_prize = '', $is_str = '', $game = '')
  3361. {
  3362. $codes = array();
  3363. foreach ($data as $k => $v) {
  3364. $type = $k;
  3365. if (is_array($v) && count($v) > 0) {
  3366. foreach ($v as $k1 => $v1) {
  3367. $money = $v[$k1][0];
  3368. $multiple = $v[$k1]['settings']['multiple'];
  3369. if ($k == 'series_twospecial'){
  3370. $codes[]= str_replace('g_','',$k1);
  3371. }else{
  3372. $codes[] = $k1;
  3373. }
  3374. }
  3375. }
  3376. }
  3377. if(count($codes) >= $num){
  3378. $a = $this->Isniu($codes, $num);
  3379. }else{
  3380. $nums = count($codes);
  3381. $a = $this->Isniu($codes, $nums);
  3382. }
  3383. //语言包内容组合
  3384. $sixarr = array('sfsixlottery','sixlottery');
  3385. if (is_array($a)){
  3386. foreach ($a as $k => $v) {
  3387. $codelists[$k]['codes'] = $v;
  3388. $codelists[$k]['money'] = $money;
  3389. $codelists[$k]['multiple'] = $multiple;
  3390. $codelists[$k]['show_nos'] = in_array($game, $sixarr)?$this->ChangeLan($game,$v):$v;
  3391. $codelists[$k]['show_type'] =lang($game)->get($type);
  3392. $codelists[$k]['codeDate'] = $type;
  3393. if (!empty($is_prize)) {
  3394. $codelists[$k]['is_prize'] = $is_prize;
  3395. }
  3396. if (!empty($is_str)) {
  3397. $codelists[$k]['is_str'] = $is_str;
  3398. }
  3399. if (!empty($game)) {
  3400. $codelists[$k]['game'] = $game;
  3401. }
  3402. }
  3403. }else{
  3404. $codelists='';
  3405. }
  3406. return $codelists;
  3407. }
  3408. function CodesDataA($data, $num, $is_prize = '', $is_str = '', $game = '')
  3409. {
  3410. $codes = array();
  3411. foreach ($data as $k => $v) {
  3412. $type = $k;
  3413. if (is_array($v) && count($v) > 0) {
  3414. foreach ($v as $k1 => $v1) {
  3415. $money = $v[$k1][0];
  3416. if ($k == 'series_twospecial'){
  3417. $codes[]= str_replace('g_','',$k1);
  3418. }
  3419. // elseif($k == 'join_born'){
  3420. // $codes[]= str_replace('_N','',$k1);
  3421. // }
  3422. else{
  3423. $codes[] = $k1;
  3424. }
  3425. }
  3426. }
  3427. }
  3428. $datas=array();
  3429. $datad=array();
  3430. sort($codes);
  3431. if(count($codes) >= $num){
  3432. $a = $this->Isniu($codes, $num);
  3433. }else{
  3434. $nums = count($codes);
  3435. $a = $this->Isniu($codes, $nums);
  3436. }
  3437. foreach ($data as $val){
  3438. foreach ($val as $value){
  3439. if (is_array($a)){
  3440. foreach ($a as $k=>$v){
  3441. $datas[$v]=$value;
  3442. }
  3443. }
  3444. }
  3445. }
  3446. $datad[$type]=$datas;
  3447. return $datad;
  3448. }
  3449. function CodesDatasA($data, $num, $is_prize = '', $is_str = '', $game = '')
  3450. {
  3451. $codes = array();
  3452. foreach ($data as $k => $v) {
  3453. $type = $k;
  3454. if (is_array($v) && count($v) > 0) {
  3455. foreach ($v as $k1 => $v1) {
  3456. $money = $v[$k1][0];
  3457. $codes[] = $v1;
  3458. }
  3459. }
  3460. }
  3461. $datas=array();
  3462. $datad=array();
  3463. sort($codes);
  3464. if(count($codes) >= $num){
  3465. $a = $this->Isniu($codes, $num);
  3466. }else{
  3467. $nums = count($codes);
  3468. $a = $this->Isniu($codes, $nums);
  3469. }
  3470. foreach ($a as $k=>$v){
  3471. $datas[$k]=$v;
  3472. }
  3473. $datad[$type]=$datas;
  3474. return $datad;
  3475. }
  3476. function getCombinationToString($arr, $m)
  3477. {
  3478. $result = array();
  3479. if ($m == 1) {
  3480. return $arr;
  3481. }
  3482. if ($m == count($arr)) {
  3483. $result[] = implode(',', $arr);
  3484. return $result;
  3485. }
  3486. $temp_firstelement = $arr[0];
  3487. unset($arr[0]);
  3488. $arr = array_values($arr);
  3489. $temp_list1 = $this->getCombinationToString($arr, ($m - 1));
  3490. foreach ($temp_list1 as $s) {
  3491. $s = $temp_firstelement . ',' . $s;
  3492. $result[] = $s;
  3493. }
  3494. unset($temp_list1);
  3495. $temp_list2 = $this->getCombinationToString($arr, $m);
  3496. foreach ($temp_list2 as $s) {
  3497. $result[] = $s;
  3498. }
  3499. unset($temp_list2);
  3500. return $result;
  3501. }
  3502. function Isniu($codes, $num)
  3503. {
  3504. $r= $this->getCombinationToString($codes, $num);
  3505. $code_names=array();
  3506. return $r;
  3507. }
  3508. function CodesDatas($data, $num, $game_name)
  3509. {
  3510. $codes = array();
  3511. foreach ($data as $k => $v) {
  3512. $type = $k;
  3513. if (is_array($v) && count($v) > 0) {
  3514. foreach ($v as $k1 => $v1) {
  3515. $money = $v[$k1][0];
  3516. $multiple = $v[$k1]['settings']['multiple'];
  3517. $codes[] = $k1;
  3518. }
  3519. }
  3520. }
  3521. foreach ($codes as $v) {
  3522. $coded[] = lang($game_name)->get($v);
  3523. }
  3524. if(count(explode('_', $codes[0]))>1){
  3525. $a = $this->PositionGroup($codes,$num);
  3526. }else{
  3527. $a = $this->Isniu($codes, $num);
  3528. }
  3529. $sixarr = array('sfsixlottery','sixlottery');
  3530. foreach ($a as $k => $v) {
  3531. $codelists[$k]['codes'] = $v;
  3532. $codelists[$k]['money'] = $money;
  3533. $codelists[$k]['multiple'] = $multiple;
  3534. $codelists[$k]['show_nos'] = in_array($game_name, $sixarr)?$this->ChangeLan($game_name,$v):$v;
  3535. $codelists[$k]['show_type'] = in_array($game_name, $sixarr)? lang($game_name)->get($type):lang($game_name)->get($type);
  3536. $codelists[$k]['codeDate'] = $type;
  3537. }
  3538. return $codelists;
  3539. }
  3540. //按位置分组,不同位置号码可相同
  3541. private function PositionGroup($codes,$num){
  3542. $arr = array();
  3543. $tarr = array();
  3544. $tc = '';
  3545. $i = 0;
  3546. $j = 0;
  3547. foreach ($codes as $k => $v) {
  3548. $i = 0;
  3549. $cs = explode('_', $v);
  3550. if(!empty($tc) && $tc!=$cs[0]){
  3551. $j = 0;
  3552. $tarr = $arr;
  3553. $arr = array();
  3554. }
  3555. if(empty($tarr)){
  3556. $arr[][$cs[0]] = $v;
  3557. }else{
  3558. $arr = array_merge($arr,$tarr);
  3559. $n = count($arr);
  3560. $i = $j;
  3561. for($i=$j;$i<$n;$i++){
  3562. if(isset($arr[$i][$cs[0]]))break;
  3563. $arr[$i][$cs[0]] = $v;
  3564. $j++;
  3565. }
  3566. }
  3567. $tc = $cs[0];
  3568. }
  3569. foreach ($arr as $key => $value) {
  3570. $arr[$key] = implode(',', $value);
  3571. }
  3572. return $arr;
  3573. }
  3574. function currentTotalMoney($data, $money, $joins)
  3575. {
  3576. $codes = array();
  3577. $tempMoney = 0;
  3578. foreach ($data as $k => $v) {
  3579. $class = explode('-', $v['name']);
  3580. $class[0] = str_replace('_', '', $class[0]);
  3581. $obj = $joins[$class[0]];
  3582. if (!$obj) {
  3583. // toLog('-3223-' . "{$class[0]}");
  3584. return -3223;
  3585. }
  3586. if ($obj->getCalcRule() == 'spesc') {
  3587. $tempMoney = $tempMoney + $v['price'];
  3588. $one_price = $v['price'];
  3589. $temp = explode('_', $class[1]);
  3590. // $codes[$temp[0]] = array();
  3591. // array_push($codes[$temp[0]], $temp[1]);
  3592. if (!array_key_exists($temp[0] - 1, $codes)) {
  3593. $codes[$temp[0] - 1] = array();
  3594. }
  3595. array_push($codes[$temp[0] - 1], intval($temp[1]));
  3596. }
  3597. }
  3598. $countarr = $this->countNum($data, $obj->num);
  3599. $money_codes = $one_price * $countarr;
  3600. $truemoeny = ($money - $tempMoney) > 0 ? $money - $tempMoney : 0;
  3601. $num = $truemoeny + $money_codes;
  3602. // dump($num);
  3603. return $num;
  3604. }
  3605. function countNums($codes, $num)
  3606. {
  3607. $a = count($codes);//总号码数
  3608. if ($a < $num) {
  3609. return -2127;
  3610. }
  3611. $total = 1;
  3612. for ($i = $a; $i >= 1; $i--) {
  3613. if ($i > $a - $num) {
  3614. $total *= $i;
  3615. }
  3616. }
  3617. for ($i = $num; $i >= 1; $i--) {
  3618. $total /= $i;
  3619. }
  3620. //dump($a);
  3621. return $total;
  3622. }
  3623. function prizeChange($params,$gamename){
  3624. if (is_array($params) && count($params) > 0) {
  3625. foreach ($params as $k => $v) {
  3626. if (is_array($v) && count($v) > 0) {
  3627. foreach ($v as $k1 => $v1) {
  3628. $args[] = array('codes' => lang($gamename)->get($k . '-' . $v1), 'codeDate' => $k);
  3629. }
  3630. }else{
  3631. $args[] = array('codes' => lang($gamename)->get($k . '-' . $v), 'codeDate' => $k);
  3632. }
  3633. }
  3634. }
  3635. return $args;
  3636. }
  3637. function PrizeData($data)
  3638. {
  3639. $codes = array();
  3640. foreach ($data as $k => $v) {
  3641. $type = $k;
  3642. if (is_array($v) && count($v) > 0) {
  3643. foreach ($v as $k1 => $v1) {
  3644. $temp = explode('_', $v1);
  3645. if (!array_key_exists($temp[0] - 1, $codes)) {
  3646. $codes[$temp[0] - 1] = array();
  3647. array_push($codes[$temp[0] - 1], intval($temp[1]));
  3648. } else {
  3649. array_push($codes[$temp[0] - 1], intval($temp[1]));
  3650. }
  3651. }
  3652. }
  3653. }
  3654. $tempArr = $this->countNum($codes, 0, $type);
  3655. return $tempArr;
  3656. }
  3657. function PrizesDatas($data, $num, $game_name)
  3658. {
  3659. $codes = array();
  3660. foreach ($data as $k => $v) {
  3661. $type = $k;
  3662. if (is_array($v) && count($v) > 0) {
  3663. foreach ($v as $k1 => $v1) {
  3664. $codes[] = $v1;
  3665. }
  3666. }
  3667. }
  3668. foreach ($codes as $v) {
  3669. $coded[] = lang($game_name)->get($v);
  3670. }
  3671. $a = $this->Isniu($codes, $num);
  3672. foreach ($a as $k => $v) {
  3673. $codelists[$k]['codes'] = $v;
  3674. $codelists[$k]['codeDate'] = $type;
  3675. }
  3676. return $codelists;
  3677. }
  3678. /**
  3679. * @param $data
  3680. * @param $num
  3681. * @param string $is_prize 匹配多少个算中奖
  3682. * @param string $is_str 表示是字符串的号码
  3683. * @return mixed
  3684. */
  3685. function PrizesData($data, $num, $is_prize = '', $is_str = '', $game = '')
  3686. {
  3687. $codes = array();
  3688. foreach ($data as $k => $v) {
  3689. $type = $k;
  3690. if (is_array($v) && count($v) > 0) {
  3691. foreach ($v as $k1 => $v1) {
  3692. if ($k == 'series_twospecial'){
  3693. $codes[]= str_replace('g_','',$v1);
  3694. }else{
  3695. $codes[] = $v1;
  3696. }
  3697. }
  3698. }
  3699. }
  3700. if(count($codes) >= $num){
  3701. $a = $this->Isniu($codes, $num);
  3702. }else{
  3703. $nums = count($codes);
  3704. $a = $this->Isniu($codes, $nums);
  3705. }
  3706. //语言包内容组合
  3707. if (is_array($a)){
  3708. foreach ($a as $k => $v) {
  3709. $codelists[$k]['codes'] = $v;
  3710. $codelists[$k]['codeDate'] = $type;
  3711. if (!empty($is_prize)) {
  3712. $codelists[$k]['is_prize'] = $is_prize;
  3713. }
  3714. if (!empty($is_str)) {
  3715. $codelists[$k]['is_str'] = $is_str;
  3716. }
  3717. if (!empty($game)) {
  3718. $codelists[$k]['game'] = $game;
  3719. }
  3720. }
  3721. }else{
  3722. $codelists='';
  3723. }
  3724. return $codelists;
  3725. }
  3726. function PrizeDetails($data_paramt,$game_name){
  3727. if (array_key_exists("sum_born", $data_paramt)) {
  3728. $paramt = $this->prizeChange($data_paramt, $game_name);
  3729. foreach ($data_paramt as $k =>$v){
  3730. foreach ($v as $kk => $vv){
  3731. if ($vv == 2){
  3732. foreach ($paramt as $k=>$v){
  3733. $paramt[$k]['codes']='总肖-234';
  3734. }
  3735. }else{
  3736. $paramt=$this->prizeChange($datat, $game_name);
  3737. }
  3738. }
  3739. }
  3740. }elseif (array_key_exists("head_three", $data_paramt)) {
  3741. $paramt = $this->PrizeData($data_paramt);
  3742. } elseif (array_key_exists("head_two", $data_paramt)) {
  3743. $paramt = $this->PrizeData($data_paramt);
  3744. } elseif (array_key_exists("specialthree", $data_paramt)) {
  3745. //特码包3
  3746. $stdp['specialthree'] = $data_paramt['specialthree'];
  3747. $paramt = $this->PrizesData($stdp, 3, 1);
  3748. $paramt1 = $this->prizeChange($data_paramt, $game_name);
  3749. foreach ($paramt1 as $stk => $stv) {
  3750. if($stv['codeDate']!='specialthree'){
  3751. $paramt[] = $stv;
  3752. }
  3753. }
  3754. }elseif (array_key_exists("series_twospecial", $data_paramt)) {
  3755. //二中特
  3756. $paramt = $this->PrizesData($data_paramt, 2, 2, 1);
  3757. } elseif (array_key_exists("series_four", $data_paramt)) {
  3758. //4全中
  3759. $paramt = $this->PrizesData($data_paramt, 4, 4);
  3760. } elseif (array_key_exists("series_three", $data_paramt)) {
  3761. //三全中
  3762. $paramt = $this->PrizesData($data_paramt, 3, 3);
  3763. }elseif (array_key_exists("twodiffnum", $data_paramt)) {
  3764. //二不同号
  3765. $paramt = $this->PrizesData($data_paramt, 2, 2);
  3766. }elseif (array_key_exists("thdiffnum", $data_paramt)) {
  3767. //三不同号
  3768. $paramt = $this->PrizesData($data_paramt, 3, 3);
  3769. } elseif (array_key_exists("series_specialmix", $data_paramt)) {
  3770. $paramt = $this->PrizesData($data_paramt, 2);
  3771. } elseif (array_key_exists("series_two", $data_paramt)) {
  3772. //二全中
  3773. $paramt = $this->PrizesData($data_paramt, 2, 2);
  3774. } elseif (array_key_exists("series_threetwo", $data_paramt)) {
  3775. //三种二
  3776. $paramt = $this->PrizesData($data_paramt, 3, 2);
  3777. } elseif (array_key_exists("series_fiveborn", $data_paramt)) {
  3778. $paramt = $this->PrizesDatas($data_paramt, 5, $game_name);
  3779. } elseif (array_key_exists("series_fourborn", $data_paramt)) {
  3780. $paramt = $this->PrizesDatas($data_paramt, 4, $game_name);
  3781. } elseif (array_key_exists("series_threeborn", $data_paramt)) {
  3782. $paramt = $this->PrizesDatas($data_paramt, 3, $game_name);
  3783. } elseif (array_key_exists("series_twoborn", $data_paramt)) {
  3784. $paramt = $this->PrizesDatas($data_paramt, 2, $game_name);
  3785. } elseif (array_key_exists("series_fiveend", $data_paramt)) {
  3786. //
  3787. $paramt = $this->PrizesData($data_paramt, 5);
  3788. } elseif (array_key_exists("series_fourend", $data_paramt)) {
  3789. //4尾碰
  3790. $paramt = $this->PrizesData($data_paramt, 4);
  3791. } elseif (array_key_exists("series_threeend", $data_paramt)) {
  3792. //三尾碰
  3793. $paramt = $this->PrizesData($data_paramt, 3);
  3794. } elseif (array_key_exists("series_twoend", $data_paramt)) {
  3795. $paramt = $this->PrizesData($data_paramt, 2);
  3796. } elseif (array_key_exists("selfselect_fivelose", $data_paramt)) {
  3797. //五不中
  3798. $paramt = $this->PrizesData($data_paramt, 5, 5);
  3799. } elseif (array_key_exists("selfselect_sevenlose", $data_paramt)) {
  3800. //七不中
  3801. $paramt = $this->PrizesData($data_paramt, 7, 7);
  3802. } elseif (array_key_exists("selfselect_ninelose", $data_paramt)) {
  3803. //九不中
  3804. $paramt = $this->PrizesData($data_paramt, 9, 9);
  3805. } elseif (array_key_exists("selfselect_sixlose", $data_paramt)) {
  3806. //六不中
  3807. $paramt = $this->PrizesData($data_paramt, 6, 6);
  3808. } elseif (array_key_exists("selfselect_tenlose", $data_paramt)) {
  3809. //十不中
  3810. $paramt = $this->PrizesData($data_paramt, 10, 10);
  3811. } elseif (array_key_exists("selfselect_twelvelose", $data_paramt)) {
  3812. //十二不中
  3813. $paramt = $this->PrizesData($data_paramt, 12, 12);
  3814. } elseif (array_key_exists("selfselect_elevenlose", $data_paramt)) {
  3815. //十一不中
  3816. $paramt = $this->PrizesData($data_paramt, 11, 11);
  3817. } elseif (array_key_exists("selfselect_eightlose", $data_paramt)) {
  3818. $paramt = $this->PrizesData($data_paramt, 8, 8);
  3819. }else {
  3820. $paramt = $this->prizeChange($data_paramt, $game_name);
  3821. }
  3822. return $paramt;
  3823. }
  3824. function CodesDetails($data_paramt,$game_name,$identity_no){
  3825. $tab_name = "bjpk10Parse";
  3826. $nums = C()->get($tab_name);
  3827. if (array_key_exists("sum_born", $data_paramt)) {
  3828. $datat = [
  3829. 'codes' => $identity_no['codes'],
  3830. ];
  3831. $paramt = $nums->change($datat, $game_name);
  3832. foreach ($data_paramt as $k =>$v){
  3833. foreach ($v as $kk => $vv){
  3834. if ($kk == 2){
  3835. foreach ($paramt as $k=>$v){
  3836. $paramt[$k]['codes']='总肖-234';
  3837. }
  3838. }else{
  3839. $paramt=$nums->change($datat, $game_name);
  3840. }
  3841. }
  3842. }
  3843. }elseif (array_key_exists("head_three", $data_paramt)) {
  3844. $paramt = $this->CodeData($data_paramt,$game_name);
  3845. } elseif (array_key_exists("head_two", $data_paramt)) {
  3846. $paramt = $this->CodeData($data_paramt,$game_name);
  3847. } elseif (array_key_exists("specialthree", $data_paramt)) {
  3848. //特码包3
  3849. $stdp['specialthree'] = $data_paramt['specialthree'];
  3850. $paramt = $this->CodesData($stdp, 3, 1,'',$game_name);
  3851. $datat = [
  3852. 'codes' => $identity_no['codes'],
  3853. ];
  3854. $paramt1 = $nums->change($datat, $game_name);
  3855. foreach ($paramt1 as $stk => $stv) {
  3856. if($stv['codeDate']!='specialthree'){
  3857. $paramt[] = $stv;
  3858. }
  3859. }
  3860. }elseif (array_key_exists("series_twospecial", $data_paramt)) {
  3861. //二中特
  3862. $paramt = $this->CodesData($data_paramt, 2, 2, 1,$game_name);
  3863. } elseif (array_key_exists("series_four", $data_paramt)) {
  3864. //4全中
  3865. $paramt = $this->CodesData($data_paramt, 4, 4,'',$game_name);
  3866. } elseif (array_key_exists("series_three", $data_paramt)) {
  3867. //三全中
  3868. $paramt = $this->CodesData($data_paramt, 3, 3,'',$game_name);
  3869. }elseif (array_key_exists("twodiffnum", $data_paramt)) {
  3870. //二不同号
  3871. $paramt = $this->CodesData($data_paramt, 2, 2,'',$game_name);
  3872. }elseif (array_key_exists("thdiffnum", $data_paramt)) {
  3873. //三不同号
  3874. $paramt = $this->CodesData($data_paramt, 3, 3,'',$game_name);
  3875. } elseif (array_key_exists("series_specialmix", $data_paramt)) {
  3876. $paramt = $this->CodesData($data_paramt, 2,'','',$game_name);
  3877. } elseif (array_key_exists("series_two", $data_paramt)) {
  3878. //二全中
  3879. $paramt = $this->CodesData($data_paramt, 2, 2,'',$game_name);
  3880. } elseif (array_key_exists("series_threetwo", $data_paramt)) {
  3881. //三种二
  3882. $paramt = $this->CodesData($data_paramt, 3, 2,'',$game_name);
  3883. } elseif (array_key_exists("series_fiveborn", $data_paramt)) {
  3884. $paramt = $this->CodesDatas($data_paramt, 5, $game_name);
  3885. } elseif (array_key_exists("series_fourborn", $data_paramt)) {
  3886. $paramt = $this->CodesDatas($data_paramt, 4, $game_name);
  3887. } elseif (array_key_exists("series_threeborn", $data_paramt)) {
  3888. $paramt = $this->CodesDatas($data_paramt, 3, $game_name);
  3889. } elseif (array_key_exists("series_twoborn", $data_paramt)) {
  3890. $paramt = $this->CodesDatas($data_paramt, 2, $game_name);
  3891. } elseif (array_key_exists("series_fiveend", $data_paramt)) {
  3892. //
  3893. $paramt = $this->CodesData($data_paramt, 5,'','',$game_name);
  3894. } elseif (array_key_exists("series_fourend", $data_paramt)) {
  3895. //4尾碰
  3896. $paramt = $this->CodesData($data_paramt, 4,'','',$game_name);
  3897. } elseif (array_key_exists("series_threeend", $data_paramt)) {
  3898. //三尾碰
  3899. $paramt = $this->CodesData($data_paramt, 3,'','',$game_name);
  3900. } elseif (array_key_exists("series_twoend", $data_paramt)) {
  3901. $paramt = $this->CodesData($data_paramt, 2,'','',$game_name);
  3902. } elseif (array_key_exists("selfselect_fivelose", $data_paramt)) {
  3903. //五不中
  3904. $paramt = $this->CodesData($data_paramt, 5, 5,'',$game_name);
  3905. } elseif (array_key_exists("selfselect_sevenlose", $data_paramt)) {
  3906. //七不中
  3907. $paramt = $this->CodesData($data_paramt, 7, 7,'',$game_name);
  3908. } elseif (array_key_exists("selfselect_ninelose", $data_paramt)) {
  3909. //九不中
  3910. $paramt = $this->CodesData($data_paramt, 9, 9,'',$game_name);
  3911. } elseif (array_key_exists("selfselect_sixlose", $data_paramt)) {
  3912. //六不中
  3913. $paramt = $this->CodesData($data_paramt, 6, 6,'',$game_name);
  3914. } elseif (array_key_exists("selfselect_tenlose", $data_paramt)) {
  3915. //十不中
  3916. $paramt = $this->CodesData($data_paramt, 10, 10,'',$game_name);
  3917. } elseif (array_key_exists("selfselect_twelvelose", $data_paramt)) {
  3918. //十二不中
  3919. $paramt = $this->CodesData($data_paramt, 12, 12,'',$game_name);
  3920. } elseif (array_key_exists("selfselect_elevenlose", $data_paramt)) {
  3921. //十一不中
  3922. $paramt = $this->CodesData($data_paramt, 11, 11,'',$game_name);
  3923. } elseif (array_key_exists("selfselect_eightlose", $data_paramt)) {
  3924. $paramt = $this->CodesData($data_paramt, 8, 8,'',$game_name);
  3925. }else {
  3926. $datat = [
  3927. 'codes' => $identity_no['codes'],
  3928. ];
  3929. $paramt = $nums->change($datat, $game_name);
  3930. }
  3931. return $paramt;
  3932. }
  3933. function PccodeDetails($buy_code){
  3934. if (array_key_exists("sum_born", $buy_code)) {
  3935. foreach ($buy_code as $k =>$v){
  3936. $type = $k;
  3937. foreach ($v as $kk => $vv){
  3938. if ($kk == 2){
  3939. $param['234']=$vv;
  3940. }else{
  3941. $param[$kk]=$vv;
  3942. }
  3943. }
  3944. }
  3945. $paramt[$type] = $param;
  3946. } elseif (array_key_exists("specialthree", $buy_code)) {
  3947. $st_bcode['specialthree'] = $buy_code['specialthree'];
  3948. $paramt = $this->CodesDataA($st_bcode, 3, 1);
  3949. $buy_code['specialthree'] = $paramt['specialthree'];
  3950. $paramt = $buy_code;
  3951. }elseif (array_key_exists("series_twospecial", $buy_code)) {
  3952. //二中特
  3953. $paramt = $this->CodesDataA($buy_code, 2, 2, 1);
  3954. } elseif (array_key_exists("series_four", $buy_code)) {
  3955. //四全中
  3956. $paramt = $this->CodesDataA($buy_code, 4, 4);
  3957. } elseif (array_key_exists("series_three", $buy_code)) {
  3958. //三全中
  3959. $paramt = $this->CodesDataA($buy_code, 3, 3);
  3960. } elseif (array_key_exists("thdiffnum", $buy_code)) {
  3961. //三不同号
  3962. $paramt = $this->CodesDataA($buy_code, 3, 3);
  3963. } elseif (array_key_exists("twodiffnum", $buy_code)) {
  3964. //二不同号
  3965. $paramt = $this->CodesDataA($buy_code, 2, 2);
  3966. } elseif (array_key_exists("series_specialmix", $buy_code)) {
  3967. //特串
  3968. $paramt = $this->CodesDataA($buy_code, 2, 2);
  3969. } elseif (array_key_exists("series_two", $buy_code)) {
  3970. //二全中
  3971. $paramt = $this->CodesDataA($buy_code, 2, 2);
  3972. } elseif (array_key_exists("series_threetwo", $buy_code)) {
  3973. //三种二
  3974. $paramt = $this->CodesDataA($buy_code, 3, 2);
  3975. } elseif (array_key_exists("series_fiveborn", $buy_code)) {
  3976. $paramt = $this->CodesDataA($buy_code, 5, 5, '');
  3977. } elseif (array_key_exists("series_fourborn", $buy_code)) {
  3978. $paramt = $this->CodesDataA($buy_code, 4, 4, '');
  3979. } elseif (array_key_exists("series_threeborn", $buy_code)) {
  3980. $paramt = $this->CodesDataA($buy_code, 3, 3, '');
  3981. } elseif (array_key_exists("series_twoborn", $buy_code)) {
  3982. $paramt = $this->CodesDataA($buy_code, 2, 2, '');
  3983. } elseif (array_key_exists("series_fiveend", $buy_code)) {
  3984. //五尾碰
  3985. $paramt = $this->CodesDataA($buy_code, 5, 5);
  3986. } elseif (array_key_exists("series_fourend", $buy_code)) {
  3987. $paramt = $this->CodesDataA($buy_code, 4, 4);
  3988. } elseif (array_key_exists("series_threeend", $buy_code)) {
  3989. $paramt = $this->CodesDataA($buy_code, 3, 3);
  3990. } elseif (array_key_exists("series_twoend", $buy_code)) {
  3991. //二尾碰
  3992. $paramt = $this->CodesDataA($buy_code, 2, 2);
  3993. } elseif (array_key_exists("selfselect_fivelose", $buy_code)) {
  3994. //五不中
  3995. $paramt = $this->CodesDataA($buy_code, 5, 5);
  3996. } elseif (array_key_exists("selfselect_sevenlose", $buy_code)) {
  3997. //七不中
  3998. $paramt = $this->CodesDataA($buy_code, 7, 7);
  3999. } elseif (array_key_exists("selfselect_ninelose", $buy_code)) {
  4000. //九不中
  4001. $paramt = $this->CodesDataA($buy_code, 9, 9);
  4002. } elseif (array_key_exists("selfselect_sixlose", $buy_code)) {
  4003. //六不中
  4004. $paramt = $this->CodesDataA($buy_code, 6, 6);
  4005. } elseif (array_key_exists("selfselect_tenlose", $buy_code)) {
  4006. //十不中
  4007. $paramt = $this->CodesDataA($buy_code, 10, 10);
  4008. } elseif (array_key_exists("selfselect_twelvelose", $buy_code)) {
  4009. //十二不中
  4010. $paramt = $this->CodesDataA($buy_code, 12, 12);
  4011. } elseif (array_key_exists("selfselect_elevenlose", $buy_code)) {
  4012. //十一不中
  4013. $paramt = $this->CodesDataA($buy_code, 11, 11);
  4014. } elseif (array_key_exists("selfselect_eightlose", $buy_code)) {
  4015. //八不中
  4016. $paramt = $this->CodesDataA($buy_code, 8, 8);
  4017. }elseif (array_key_exists("join_born", $buy_code)) {
  4018. //八不中
  4019. $paramt = $this->CodesDataA($buy_code, 1, 1);
  4020. }else{
  4021. $paramt= $buy_code;
  4022. }
  4023. return $paramt;
  4024. }
  4025. function PcWincodeDetails($prize_code,$datass,$datd,$cc,$bb,$buy_code){
  4026. if (array_key_exists("head_three", $prize_code)) {
  4027. $paramt = $this->CodeData($prize_code);
  4028. } elseif (array_key_exists("head_two", $prize_code)) {
  4029. $paramt = $this->CodeData($prize_code);
  4030. }elseif (array_key_exists("series_twospecial", $prize_code)) {
  4031. //二中特
  4032. $paramt = $this->CodesDatasA($datass, 2, 2, 1);
  4033. } elseif (array_key_exists("series_four", $prize_code)) {
  4034. //四全中
  4035. $paramt = $this->CodesDatasA($datd, 4, 4);
  4036. } elseif (array_key_exists("series_three", $prize_code)) {
  4037. //三全中
  4038. $paramt = $this->CodesDatasA($datd, 3, 3);
  4039. }elseif (array_key_exists("thdiffnum", $prize_code)) {
  4040. //三不同号
  4041. $paramt = $this->CodesDatasA($prize_code, 3, 3);
  4042. }elseif (array_key_exists("twodiffnum", $prize_code)) {
  4043. //二不同号
  4044. $paramt = $this->CodesDatasA($prize_code, 2, 2);
  4045. } elseif (array_key_exists("series_specialmix", $prize_code)) {
  4046. //特串
  4047. $paramt = $this->CodesDatasA($datass, 2, 2);
  4048. } elseif (array_key_exists("series_two", $prize_code)) {
  4049. //二全中
  4050. $paramt = $this->CodesDatasA($datd, 2, 2);
  4051. } elseif (array_key_exists("series_threetwo", $prize_code)) {
  4052. //三种二
  4053. $paramt = $this->CodesDatasA($datass, 3, 2);
  4054. } elseif (array_key_exists("series_fiveborn", $prize_code)) {
  4055. $paramt = $this->CodesDatasA($prize_code, 5, 5, '');
  4056. } elseif (array_key_exists("series_fourborn", $prize_code)) {
  4057. $paramt = $this->CodesDatasA($prize_code, 4, 4, '');
  4058. } elseif (array_key_exists("series_threeborn", $prize_code)) {
  4059. $paramt = $this->CodesDatasA($prize_code, 3, 3, '');
  4060. } elseif (array_key_exists("series_twoborn", $prize_code)) {
  4061. $paramt = $this->CodesDatasA($prize_code, 2, 2, '');
  4062. } elseif (array_key_exists("series_fiveend", $prize_code)) {
  4063. //五尾碰
  4064. if (count($cc) >= 5){
  4065. $paramt = $this->CodesDatasA($bb, 5, 5);
  4066. }else{
  4067. $paramt = $this->CodesDatasA($datass, 5, 5);
  4068. }
  4069. } elseif (array_key_exists("series_fourend", $prize_code)) {
  4070. if (count($cc) >= 4){
  4071. $paramt = $this->CodesDatasA($bb, 4, 4);
  4072. }else{
  4073. $paramt = $this->CodesDatasA($datass, 4, 4);
  4074. }
  4075. } elseif (array_key_exists("series_threeend", $prize_code)) {
  4076. if (count($cc) >= 3){
  4077. $paramt = $this->CodesDatasA($bb, 3, 3);
  4078. }else{
  4079. $paramt = $this->CodesDatasA($datass, 3, 3);
  4080. }
  4081. } elseif (array_key_exists("series_twoend", $prize_code)) {
  4082. //二尾碰
  4083. if (count($cc) >= 2){
  4084. $paramt = $this->CodesDatasA($bb, 2, 2);
  4085. }else{
  4086. $paramt = $this->CodesDatasA($datass, 2, 2);
  4087. }
  4088. } elseif (array_key_exists("selfselect_fivelose", $buy_code)) {
  4089. //五不中
  4090. $paramt = $datass;
  4091. } elseif (array_key_exists("selfselect_sevenlose", $buy_code)) {
  4092. //七不中
  4093. $paramt = $datass;
  4094. } elseif (array_key_exists("selfselect_ninelose", $buy_code)) {
  4095. //九不中
  4096. $paramt = $datass;
  4097. } elseif (array_key_exists("selfselect_sixlose", $buy_code)) {
  4098. //六不中
  4099. $paramt = $datass;
  4100. } elseif (array_key_exists("selfselect_tenlose", $buy_code)) {
  4101. //十不中
  4102. $paramt = $datass;
  4103. } elseif (array_key_exists("selfselect_twelvelose", $buy_code)) {
  4104. //十二不中
  4105. $paramt = $datass;
  4106. } elseif (array_key_exists("selfselect_elevenlose", $buy_code)) {
  4107. //十一不中
  4108. $paramt = $datass;
  4109. } elseif (array_key_exists("selfselect_eightlose", $buy_code)) {
  4110. //八不中
  4111. $paramt = $datass;
  4112. }else{
  4113. $paramt= $prize_code;
  4114. }
  4115. return $paramt;
  4116. }
  4117. function Win($args,$p_k,$p_v,$v,$arry,$num,$arrys,$odds,$dataw,$asd,$prize_num,$asse,$bb,$asb){
  4118. if (in_array($p_k, $arry)) {
  4119. $not_num = 2;
  4120. foreach ($p_v as $p_k1 => $p_v2) {
  4121. $datas = explode(',', $v['p_code']);
  4122. foreach ($datas as $vss){
  4123. if ($vss == $p_v2){
  4124. $not_num =1;
  4125. break;
  4126. }
  4127. }
  4128. }
  4129. if ($not_num == 2){
  4130. $args[$num]['prize_status'] = '中奖';
  4131. $args[$num]['get_money'] = $v['money'] * $v['odds']- $v['money'];;
  4132. } else {
  4133. $args[$num]['prize_status'] = '未中奖';
  4134. $args[$num]['get_money'] = -$v['money'];
  4135. }
  4136. } elseif (in_array($p_k, $arrys)) {
  4137. foreach ($p_v as $p_k1 => $p_v2) {
  4138. $datass = explode(',', $p_v2);
  4139. $datas2 = explode(',', $v['p_code']);
  4140. // var_dump($datas1,$datas2);
  4141. foreach ($datass as $va) {
  4142. $datas1[] = intval($va);
  4143. }
  4144. if (count($datas1) == 2 ) {
  4145. if ($v['p_code'] == $p_v2){
  4146. // echo 1;
  4147. $args[$num]['prize_status'] = '中奖';
  4148. $args[$num]['get_money'] = $v['money'] * $odds[$p_k]['settings']['multiple']['max'] - $v['money'];
  4149. $args[$num]['odds'] = $odds[$p_k]['settings']['multiple']['max'];
  4150. }
  4151. if($v['p_code'] == $p_v2 && stripos($v['p_code'], $dataw[6]) !== false) {
  4152. $args[$num]['prize_status'] = '中奖';
  4153. $args[$num]['odds'] = $odds[$p_k]['settings']['multiple']['min'];
  4154. $args[$num]['get_money'] = $v['money'] * $odds[$p_k]['settings']['multiple']['min'] - $v['money'];
  4155. // break;
  4156. }
  4157. }
  4158. if (count($datas1) == 3 ) {
  4159. if ($v['p_code'] == $p_v2){
  4160. // echo 1;
  4161. $args[$num]['prize_status'] = '中奖';
  4162. $args[$num]['get_money'] = $v['money'] * $odds[$p_k]['settings']['multiple']['min'] - $v['money'];
  4163. $args[$num]['odds'] = $odds[$p_k]['settings']['multiple']['min'];
  4164. break;
  4165. }
  4166. $intersection = array_intersect($datas1, $datas2);
  4167. if(count($intersection) == 2 && $v['p_code'] != $p_v2) {
  4168. // var_dump($intersection);
  4169. $args[$num]['prize_status'] = '中奖';
  4170. $args[$num]['odds'] = $odds[$p_k]['settings']['multiple']['max'];
  4171. $args[$num]['get_money'] = $v['money'] * $odds[$p_k]['settings']['multiple']['max'] - $v['money'];
  4172. // break;
  4173. }
  4174. }
  4175. unset($datas1);
  4176. }
  4177. }elseif (in_array($p_k, $asd)) {
  4178. $datas1 = explode(',', $prize_num);
  4179. if (in_array(49, $datas1)) {
  4180. $args[$num]['prize_status'] = '和';
  4181. $args[$num]['odds'] = 1;
  4182. $args[$num]['get_money'] = $v['money'];
  4183. } else {
  4184. foreach ($p_v as $p_k1 => $p_v2) {
  4185. if ($v['p_code'] == $p_v2) {
  4186. $args[$num]['prize_status'] = '中奖';
  4187. $args[$num]['get_money'] = $v['money'] * $v['odds'] - $v['money'];
  4188. break;
  4189. } else {
  4190. $args[$num]['prize_status'] = '未中奖';
  4191. $args[$num]['get_money'] = -$v['money'];
  4192. }
  4193. }
  4194. }
  4195. }
  4196. elseif(in_array($p_k,$asse)){
  4197. foreach ($asse as $kk=> $vv){
  4198. if (count($bb) < $kk){
  4199. $args[$num]['prize_status'] = '未中奖';
  4200. $args[$num]['get_money'] = -$v['money'];
  4201. }
  4202. }
  4203. foreach ($p_v as $p_k1 => $p_v2) {
  4204. if ($v['p_code'] == $p_v2) {
  4205. $args[$num]['prize_status'] = '中奖';
  4206. $args[$num]['get_money'] = $v['money'] * $v['odds'] - $v['money'];
  4207. break;
  4208. } else {
  4209. $args[$num]['prize_status'] = '未中奖';
  4210. $args[$num]['get_money'] = -$v['money'];
  4211. }
  4212. }
  4213. }elseif ($p_k == 'series_specialmix') {
  4214. foreach ($p_v as $p_k1 => $p_v2) {
  4215. if ($v['p_code'] == $p_v2 && stripos($v['p_code'], $dataw[6]) !== false) {
  4216. $args[$num]['prize_status'] = '中奖';
  4217. $args[$num]['get_money'] = $v['money'] * $v['odds'] - $v['money'];
  4218. break;
  4219. } else {
  4220. $args[$num]['prize_status'] = '未中奖';
  4221. $args[$num]['get_money'] = -$v['money'];
  4222. }
  4223. }
  4224. }elseif ($p_k == 'specialthree') {
  4225. foreach ($p_v as $p_k1 => $p_v2) {
  4226. $stcodes = explode(',', $v['p_code']);
  4227. if(in_array($p_v2, $stcodes)){
  4228. $args[$num]['prize_status'] = ($p_v2==13 || $p_v2==14)?'和':'中奖';
  4229. $v['odds'] = ($p_v2==13 || $p_v2==14)?1:$v['odds'];
  4230. $args[$num]['get_money'] = $v['money'] * $v['odds'] - $v['money'];
  4231. break;
  4232. } else {
  4233. $args[$num]['prize_status'] = '未中奖';
  4234. $args[$num]['get_money'] = -$v['money'];
  4235. }
  4236. }
  4237. }elseif ($p_k == 'seven_colorwave') {
  4238. foreach ($p_v as $p_k1 => $p_v2) {
  4239. if ($v['p_code'] == $p_v2 && $v['p_code'] == 'draw') {
  4240. $args[$num]['prize_status'] = '中奖';
  4241. $args[$num]['get_money'] = ($v['money'] * $v['odds'] + $v['back']) - $v['money'];
  4242. break;
  4243. } else {
  4244. $args[$num]['prize_status'] = '和';
  4245. $args[$num]['get_money'] = 0;
  4246. }
  4247. if ($v['p_code'] == $p_v2 ) {
  4248. $args[$num]['prize_status'] = '中奖';
  4249. $args[$num]['get_money'] = ($v['money'] * $v['odds'] + $v['back']) - $v['money'];
  4250. break;
  4251. } else {
  4252. $args[$num]['prize_status'] = '未中奖';
  4253. }
  4254. }
  4255. }
  4256. elseif(in_array($p_k,$asb)){
  4257. if (isset($v['prize_status'])){
  4258. if ($v['prize_status'] == "和"){
  4259. $args[$num]['prize_status'] = '和';
  4260. $args[$num]['odds'] = 1;
  4261. $args[$num]['get_money'] = $v['money'];
  4262. }else{
  4263. foreach ($p_v as $p_k1 => $p_v2) {
  4264. if ($v['p_code'] == $p_v2) {
  4265. $args[$num]['prize_status'] = '中奖';
  4266. $args[$num]['get_money'] = $v['money'] * $v['odds'] - $v['money'];
  4267. break;
  4268. } else {
  4269. $args[$num]['prize_status'] = '未中奖';
  4270. $args[$num]['get_money'] = -$v['money'];
  4271. }
  4272. }
  4273. }
  4274. }else{
  4275. foreach ($p_v as $p_k1 => $p_v2) {
  4276. if ($v['p_code'] == $p_v2) {
  4277. $args[$num]['prize_status'] = '中奖';
  4278. $args[$num]['get_money'] = $v['money'] * $v['odds'] - $v['money'];
  4279. break;
  4280. } else {
  4281. $args[$num]['prize_status'] = '未中奖';
  4282. $args[$num]['get_money'] = -$v['money'];
  4283. }
  4284. }
  4285. }
  4286. }else {
  4287. foreach ($p_v as $p_k1 => $p_v2) {
  4288. if ($v['p_code'] == $p_v2) {
  4289. $args[$num]['prize_status'] = '中奖';
  4290. $args[$num]['get_money'] = $v['money'] * $v['odds'] - $v['money'];
  4291. break;
  4292. } else {
  4293. $args[$num]['prize_status'] = '未中奖';
  4294. $args[$num]['get_money'] = -$v['money'];
  4295. }
  4296. }
  4297. }
  4298. return $args;
  4299. }
  4300. /*
  4301. *提现限额
  4302. */
  4303. function recordWithdraw($type=1,$account_identity,$money=0,$donate_money,$percent=1,$remark=''){
  4304. //用户id
  4305. if(empty($account_identity)){
  4306. return -50020;
  4307. }
  4308. //本金
  4309. if($money < 0){
  4310. return -50021;
  4311. }
  4312. //彩金
  4313. if($donate_money < 0){
  4314. return -50022;
  4315. }
  4316. //倍数
  4317. if(empty($percent)){
  4318. return -50023;
  4319. }
  4320. $widthdraw = lm('WithDrawRule',"commons")->where('account_identity',$account_identity)->first();
  4321. $account = lm('Account_detailed',"commons")->where('account_identity',$account_identity)->first();
  4322. if(!empty($account)){
  4323. $account = $account->toArray();
  4324. }else{
  4325. return -50024;
  4326. }
  4327. $data['updated_at'] = date('Y-m-d H:i:s');
  4328. $total = $money+$donate_money;
  4329. if(!empty($widthdraw)){
  4330. $widthdraw = $widthdraw->toArray();
  4331. $data['needBettingMoney'] = $total*$percent+$widthdraw['needBettingMoney'];
  4332. if(empty($widthdraw['donate_start'])){
  4333. $data['donate_start'] = date('Y-m-d H:i:s');
  4334. }
  4335. $res=lm('WithDrawRule', 'commons')->where('account_identity', $account_identity)->update($data);
  4336. }else{
  4337. $data['bettingMoney'] = 0;
  4338. $data['needBettingMoney'] = $total*$percent;
  4339. $data['account_identity'] = $account_identity;
  4340. $data['created_at'] = date('Y-m-d H:i:s');
  4341. $data['start_time'] = time();
  4342. $data['donate_start'] = date('Y-m-d H:i:s');
  4343. $res=lm ('WithDrawRule', 'commons')->insert($data);
  4344. }
  4345. return $res;
  4346. }
  4347. //有效投注统计
  4348. function EffectiveBetting($data,$c=-1)
  4349. {
  4350. $id_one = isset($data['account_identity']) ? $data['account_identity'] : ''; //用户唯一id
  4351. $page = isset($data['page']) ? $data['page'] : 1;
  4352. //$start = isset($data['start']) ? $data['start'] : '';
  4353. //$end = isset($data['end']) ? $data['end'] : '';
  4354. $time = isset($data['time']) ? $data['time'] : '';
  4355. $start = '';
  4356. $end = '';
  4357. if(!empty($time)){//qtx 2018-12-11
  4358. $newtime = explode('~',$time);
  4359. if(count($newtime) ==2){
  4360. $start = $newtime[0].' 00:00:00';
  4361. $end = $newtime[1].' 23:59:59';
  4362. }else{
  4363. $start = $time;
  4364. $end = date("Y-m-d", strtotime("+1 day", strtotime($time)));
  4365. }
  4366. }
  4367. if (empty($id_one)) {
  4368. return -4010;
  4369. }
  4370. $where = "account_identity = '". $id_one ."' AND status < 4 AND game_status > 0";
  4371. $wheretwo = "account_identity = '". $id_one."'";
  4372. //时间段
  4373. if(!empty($start) && !empty($end))
  4374. {
  4375. $where .= " AND money_time >= '".$start."' AND money_time <= '".$end."'";
  4376. $wheretwo .= " AND money_time >= '".$start."' AND money_time <= '".$end."'";
  4377. }
  4378. //时间段,只有开始
  4379. if(!empty($start) && empty($end))
  4380. {
  4381. $where .= " AND money_time >= '".$start."'";
  4382. $wheretwo .= " AND money_time >= '".$start."'";
  4383. }
  4384. //时间段,只有结束
  4385. if(empty($start) && !empty($end))
  4386. {
  4387. $where .= " AND money_time <= '".$end."'";
  4388. $wheretwo .= " AND money_time <= '".$end."'";
  4389. }
  4390. //print_r($where); exit;
  4391. $filed = ['order_id','game_name','game_no','money','prize_money','game_status','money_time'];
  4392. //dump($where);
  4393. $rows = lm("money_buy", "commons")->whereRaw($where)->get($filed);
  4394. if($c==1){//qtx 2018-12-19
  4395. $countMoney = lm("money_buy", "commons")->whereRaw($where)->sum('money');
  4396. $winMoney = lm("money_buy", "commons")->whereRaw($where)->sum('prize_money');
  4397. $profitMoney = lm("money_buy", "commons")->whereRaw($where)->sum('get_money');
  4398. $sumbet = lm("money_buy", "commons")->whereRaw($wheretwo)->sum('money');//总投注
  4399. $wherethree[] = array('status','<',4);
  4400. $wherethree[] = array('game_status','=',0);
  4401. $noawardbet = lm("money_buy", "commons")->whereRaw($wheretwo)->where($wherethree)->sum('money');//未开奖投注
  4402. $cancelbet = lm("money_buy", "commons")->whereRaw($wheretwo)->where('status','=',4)->sum('money');//撤单投注
  4403. $sumbet = empty($sumbet)?0:$sumbet;
  4404. $noawardbet = empty($noawardbet)?0:$noawardbet;
  4405. $cancelbet = empty($cancelbet)?0:$cancelbet;
  4406. $countMoney = empty($countMoney)?0:$countMoney;
  4407. $winMoney = empty($winMoney)?0:$winMoney;
  4408. $profitMoney = empty($profitMoney)?0:$profitMoney;
  4409. $arrto['countMoney'] = $countMoney;
  4410. $arrto['winMoney'] = $winMoney;
  4411. $arrto['profitMoney'] = $profitMoney;
  4412. $arrto['sumbet'] = $sumbet;
  4413. $arrto['noawardbet'] = $noawardbet;
  4414. $arrto['cancelbet'] = $cancelbet;
  4415. return $arrto;
  4416. }
  4417. if (count($rows) != 0) {
  4418. $list = 20;
  4419. //获取总页数
  4420. $count_list = lm("money_buy", "commons")->whereRaw($where)->count();
  4421. $count_page = ceil($count_list / $list);
  4422. $first = ($page - 1) * $list;
  4423. $rows = lm("money_buy", "commons")
  4424. ->orderBy('money_time', 'desc')
  4425. ->whereRaw($where)
  4426. ->offset($first)
  4427. ->limit($list)
  4428. ->get($filed)
  4429. ->toArray();
  4430. //计算当前页总和
  4431. $sum = lm("money_buy", "commons")
  4432. ->orderBy('money_time', 'desc')
  4433. ->whereRaw($where)
  4434. ->offset($first)
  4435. ->limit($list)
  4436. ->get(['money']);
  4437. $current_total = $sum->sum('money');
  4438. //总投注额
  4439. $total_sum = lm("money_buy", "commons")
  4440. ->orderBy('money_time', 'desc')
  4441. ->whereRaw($where)->sum('money');
  4442. }else{
  4443. return ['type'=>1,'code' => -10009];
  4444. }
  4445. $game = lm('game_type','commons')->get(['name','table_name']);
  4446. $lang = [];
  4447. foreach ($game as $k=>$v)
  4448. {
  4449. $lang[$v['table_name']] = $v['name'];
  4450. }
  4451. $dat = [
  4452. 'type'=>1,
  4453. 'data' => $rows,
  4454. 'current_total' => $current_total,
  4455. 'total_sum' =>$total_sum,
  4456. 'count_page' => $count_page,
  4457. 'page' => $page,
  4458. 'lang' =>$lang,
  4459. ];
  4460. return $dat;
  4461. }
  4462. //六合投注统计
  4463. function EffectivesixBetting($data,$c=-1)//qtx 2018-12-19
  4464. {
  4465. $id_one = isset($data['account_identity']) ? $data['account_identity'] : ''; //用户唯一id
  4466. $page = isset($data['page']) ? $data['page'] : 1;
  4467. //$start = isset($data['start']) ? $data['start'] : '';
  4468. //$end = isset($data['end']) ? $data['end'] : '';
  4469. $time = isset($data['time']) ? $data['time'] : '';
  4470. $start = '';
  4471. $end = '';
  4472. if(!empty($time)){//qtx 2018-12-11
  4473. $newtime = explode('~',$time);
  4474. if(count($newtime) ==2){
  4475. $start = $newtime[0].' 00:00:00';
  4476. $end = $newtime[1].' 23:59:59';
  4477. }else{
  4478. $start = $time;
  4479. $end = date("Y-m-d", strtotime("+1 day", strtotime($time)));
  4480. }
  4481. }
  4482. if (empty($id_one)) {
  4483. return -4010;
  4484. }
  4485. $where = "account_identity = '". $id_one ."' AND status < 4 AND game_status > 0";
  4486. $wheretwo = "account_identity = '". $id_one."'";
  4487. //时间段
  4488. if(!empty($start) && !empty($end))
  4489. {
  4490. $where .= " AND money_time >= '".$start."' AND money_time <= '".$end."'";
  4491. $wheretwo .= " AND money_time >= '".$start."' AND money_time <= '".$end."'";
  4492. }
  4493. //时间段,只有开始
  4494. if(!empty($start) && empty($end))
  4495. {
  4496. $where .= " AND money_time >= '".$start."'";
  4497. $wheretwo .= " AND money_time >= '".$start."'";
  4498. }
  4499. //时间段,只有结束
  4500. if(empty($start) && !empty($end))
  4501. {
  4502. $where .= " AND money_time <= '".$end."'";
  4503. $wheretwo .= " AND money_time <= '".$end."'";
  4504. }
  4505. //print_r($where);
  4506. $filed = ['order_id','game_name','game_no','money','prize_money','game_status','money_time'];
  4507. $rows = lm("SixMoney_buy", "commons")->whereRaw($where)->get($filed);
  4508. if($c==1){//qtx 2018-12-19
  4509. $countMoney = lm("SixMoney_buy", "commons")->whereRaw($where)->sum('money');
  4510. $winMoney = lm("SixMoney_buy", "commons")->whereRaw($where)->sum('prize_money');
  4511. $profitMoney = lm("SixMoney_buy", "commons")->whereRaw($where)->sum('get_money');
  4512. $sumbet = lm("SixMoney_buy", "commons")->whereRaw($wheretwo)->sum('money');//总投注
  4513. $wherethree[] = array('status','<',4);
  4514. $wherethree[] = array('game_status','=',0);
  4515. $noawardbet = lm("SixMoney_buy", "commons")->whereRaw($wheretwo)->where($wherethree)->sum('money');//未开奖投注
  4516. $cancelbet = lm("SixMoney_buy", "commons")->whereRaw($wheretwo)->where('status','=',4)->sum('money');//撤单投注
  4517. $sumbet = empty($sumbet)?0:$sumbet;
  4518. $noawardbet = empty($noawardbet)?0:$noawardbet;
  4519. $cancelbet = empty($cancelbet)?0:$cancelbet;
  4520. $countMoney = empty($countMoney)?0:$countMoney;
  4521. $winMoney = empty($winMoney)?0:$winMoney;
  4522. $profitMoney = empty($profitMoney)?0:$profitMoney;
  4523. $arrto['sixcountMoney'] = $countMoney;
  4524. $arrto['sixwinMoney'] = $winMoney;
  4525. $arrto['sixprofitMoney'] = $profitMoney;
  4526. $arrto['sixsumbet'] = $sumbet;
  4527. $arrto['sixnoawardbet'] = $noawardbet;
  4528. $arrto['sixcancelbet'] = $cancelbet;
  4529. //dump($arrto);
  4530. return $arrto;
  4531. }
  4532. if (count($rows) != 0) {
  4533. $list = 20;
  4534. //获取总页数
  4535. $count_list = lm("SixMoney_buy", "commons")->whereRaw($where)->count();
  4536. $count_page = ceil($count_list / $list);
  4537. $first = ($page - 1) * $list;
  4538. $rows = lm("SixMoney_buy", "commons")
  4539. ->orderBy('money_time', 'desc')
  4540. ->whereRaw($where)
  4541. ->offset($first)
  4542. ->limit($list)
  4543. ->get($filed)
  4544. ->toArray();
  4545. //计算当前页总和
  4546. $sum = lm("SixMoney_buy", "commons")
  4547. ->orderBy('money_time', 'desc')
  4548. ->whereRaw($where)
  4549. ->offset($first)
  4550. ->limit($list)
  4551. ->get(['money']);
  4552. $current_total = $sum->sum('money');
  4553. //总投注额
  4554. $total_sum = lm("SixMoney_buy", "commons")
  4555. ->orderBy('money_time', 'desc')
  4556. ->whereRaw($where)->sum('money');
  4557. }else{
  4558. return ['type'=>1,'code' => -10009];
  4559. }
  4560. $game = lm('game_type','commons')->get(['name','table_name']);
  4561. $lang = [];
  4562. foreach ($game as $k=>$v)
  4563. {
  4564. $lang[$v['table_name']] = $v['name'];
  4565. }
  4566. $dat = [
  4567. 'type'=>1,
  4568. 'data' => $rows,
  4569. 'current_total' => $current_total,
  4570. 'total_sum' =>$total_sum,
  4571. 'count_page' => $count_page,
  4572. 'page' => $page,
  4573. 'lang' =>$lang,
  4574. ];
  4575. return $dat;
  4576. }
  4577. /*
  4578. *手机端记录
  4579. */
  4580. /*
  4581. *手机端记录
  4582. */
  4583. public function NewBettinglist($data)
  4584. {
  4585. $id_one = $data['account_identity'] ? $data['account_identity'] : ''; //用户唯一id
  4586. $status = $data['status'] ? $data['status'] : ''; //资金状态
  4587. $order_id = $data['order_id'] ? $data['order_id'] : ''; //资金类型
  4588. if($data['game_status'] != ''){
  4589. $game_status = $data['game_status'];
  4590. }
  4591. $game_name = $data['game_name'] ? $data['game_name'] : ''; //资金类型
  4592. $page = $data['page'] ? $data['page'] : '1'; //资金类型
  4593. $money_time = $data['time'] ? $data['time'] : date('Y-m-d'); //时间
  4594. $reorder = $data['reorder'] ? $data['reorder'] : 'money_time';
  4595. $updown = $data['updown'] ? $data['updown'] : 'desc';
  4596. if (!empty($money_time)) {//qtx 2018-12-11
  4597. $newtime = explode('~',$money_time);
  4598. if(count($newtime) ==2){
  4599. $start_time = $newtime[0];
  4600. $end_time = $newtime[1];
  4601. $beforetime = date("Y-m-d",strtotime("$start_time -1 day"));
  4602. $nexttime = date("Y-m-d",strtotime("$end_time +1 day"));
  4603. }else{
  4604. $beforetime = date("Y-m-d",strtotime("$money_time -1 day"));
  4605. $nexttime = date("Y-m-d",strtotime("$money_time +1 day"));
  4606. }
  4607. }
  4608. //$beforetime = date("Y-m-d",strtotime("$money_time -1 day"));
  4609. //$nexttime = date("Y-m-d",strtotime("$money_time +1 day"));
  4610. //return $page;
  4611. $play_num = "";
  4612. if (empty($id_one)) {
  4613. return -4010;
  4614. }
  4615. $arr = [ //向数据库追加数组 然后循环出来
  4616. 'status' => $status,
  4617. 'account_identity' => $id_one,
  4618. 'order_id' => $order_id,
  4619. 'game_status' => $game_status,
  4620. 'game_name' => $game_name,
  4621. 'money_time' => $money_time
  4622. ];
  4623. $account = lm("game_type", "commons");
  4624. $game = $account->where("status", "=", "1")->get()->toArray();
  4625. //return $game;
  4626. $where = '1 = 1';
  4627. $wheretwo = '2=2';
  4628. $wherethree = '3=3';
  4629. foreach ($arr as $key => $value) {
  4630. //循环数组
  4631. if($value != '' && $key =='money_time'){
  4632. if(count($newtime) ==2){
  4633. $where .= " AND money_time>='".$start_time." 00:00:00' AND money_time<='".$end_time." 23:59:59'";
  4634. }else{
  4635. $where .= " AND {$key}>='{$value} 00:00:00' AND {$key}<='{$value} 23:59:59'";
  4636. }
  4637. }else{
  4638. if ($value != '' && $key != 'a.id' && $key != 'b.id') { //判断条件
  4639. $where .= " AND {$key}='{$value}'"; //获取值
  4640. }
  4641. }
  4642. }
  4643. $arr['money_time'] = $beforetime;
  4644. /* foreach ($arr as $key => $value) {
  4645. if($value != '' && $key =='money_time'){
  4646. $wheretwo .= " AND {$key}>='{$value} 00:00:00' AND {$key}<='{$value} 23:59:59'";
  4647. }else{
  4648. if ($value != '' && $key != 'a.id' && $key != 'b.id') { //判断条件
  4649. $wheretwo .= " AND {$key}='{$value}'"; //获取值
  4650. }
  4651. }
  4652. }
  4653. $arr['money_time'] = $nexttime;
  4654. foreach ($arr as $key => $value) {
  4655. if($value != '' && $key =='money_time'){
  4656. $wherethree .= " AND {$key}>='{$value} 00:00:00' AND {$key}<='{$value} 23:59:59'";
  4657. }else{
  4658. if ($value != '' && $key != 'a.id' && $key != 'b.id') { //判断条件
  4659. $wherethree .= " AND {$key}='{$value}'"; //获取值
  4660. }
  4661. }
  4662. }*/
  4663. //$code_data = lm("money_buy", "commons")->whereRaw($where)->get();
  4664. $resultdata =array();
  4665. $list = 15;
  4666. //获取总页数
  4667. $count_list = lm("money_buy", "commons")->whereRaw($where)->count();
  4668. $count_page = ceil($count_list / $list);
  4669. $first = ($page - 1) * $list;
  4670. //$code_datas = $accountd->orderBy('money_time', 'desc')->whereRaw($where)->offset($first)->limit($list)->get();
  4671. /* $before_data = lm("money_buy", "commons")
  4672. ->whereRaw($wheretwo)->orderBy($reorder,$updown)
  4673. ->offset($first)->limit($list)->get();
  4674. $next_data = lm("money_buy", "commons")
  4675. ->whereRaw($wherethree)->orderBy($reorder,$updown)
  4676. ->offset($first)->limit($list)->get();
  4677. */
  4678. //2018-12-31 anton liu 添加六合彩追号记录 start
  4679. $game_data = lm("money_buy", "commons")
  4680. ->whereRaw($where)->orderBy($reorder,$updown)
  4681. ->offset($first)->limit($list)->orderby('id','desc')->get();
  4682. if (!$game_data) {
  4683. return -5004;
  4684. }
  4685. $game_data = $game_data->toArray();
  4686. //$before_data = '';
  4687. //$next_data = '';
  4688. $sixgame_data =[];
  4689. //新增获取六合彩追号记录 //2019-01-09 16:42 blues
  4690. if($status==2){
  4691. $sixgame_data = lm("SixMoney_buy", "commons")
  4692. ->whereRaw($where)->orderBy($reorder,$updown)
  4693. ->offset($first)->limit($list)->orderby('id','desc')->get();
  4694. if (!$sixgame_data) {
  4695. return -5004;
  4696. }
  4697. $sixgame_data = $sixgame_data->toArray();
  4698. }
  4699. $code_data = array_merge($game_data,$sixgame_data);
  4700. //end
  4701. $beforenum = 0;
  4702. $nextnum = 0;
  4703. $tonum = 0;
  4704. $rowy = array();
  4705. if(empty($before_data)){
  4706. $resultdata['beforeday'] = $beforenum;
  4707. }else{
  4708. $before_data = $before_data->toArray();
  4709. foreach ($before_data as $key => $value) {
  4710. $beforenum = $beforenum + floatval($value['get_money']);
  4711. }
  4712. $resultdata['beforeday'] = $beforenum;
  4713. }
  4714. if(empty($next_data)){
  4715. $resultdata['nextday'] = $nextnum;
  4716. }else{
  4717. $next_data = $next_data->toArray();
  4718. foreach ($next_data as $key => $value) {
  4719. $nextnum = $nextnum + floatval($value['get_money']);
  4720. }
  4721. $resultdata['nextday'] = $nextnum;
  4722. }
  4723. $Winning = $this->GetMoneyStatus();
  4724. $Status = $this->GetWinStatus();
  4725. foreach ($code_data as $k => $val) {
  4726. $val['game_type'] = lang()->get($val['game_name']);
  4727. $data_paramt =json_decode($val['codes'],true);
  4728. $regrouptype = $this->reGrouptype();
  4729. $grouparr = array();
  4730. foreach ($data_paramt as $key => $value) {
  4731. if(in_array($key, $regrouptype)){
  4732. foreach ($value as $sk => $sv) {
  4733. $seatarr = explode('_',$sk);
  4734. $val2=$sv;
  4735. if(isset($val2['settings'])){
  4736. unset($val2['settings']);
  4737. }
  4738. if(isset($grouparr[$seatarr[0]])){
  4739. $grouparr[$seatarr[0]] += count($val2);
  4740. }else{
  4741. $grouparr[$seatarr[0]] = count($val2);
  4742. }
  4743. }
  4744. }
  4745. }
  4746. $accounttwo = lm($val['game_name'] . "_buy", "commons");
  4747. $identity_no = $accounttwo->where("order_id", $val['order_id'])->first();
  4748. if (count($identity_no) != 0) {
  4749. $identity_no = $identity_no->toArray();
  4750. } else {
  4751. return "";
  4752. }
  4753. $paramt = $this->CodesDetails($data_paramt,$val['game_name'],$identity_no);
  4754. if (array_key_exists("general_pass", $data_paramt) || array_key_exists("join_born", $data_paramt)) {
  4755. $val['num'] = 1;
  4756. }else{
  4757. if(empty($grouparr)){
  4758. $val['num'] = count($paramt);
  4759. }else{
  4760. $val['num'] = 1;
  4761. foreach($grouparr as $k=>$v){
  4762. $val['num'] *= $v;
  4763. }
  4764. }
  4765. }
  4766. /* if($val['game_status'] > 0){
  4767. $tonum = $tonum+ floatval($val['get_money']);
  4768. }*/
  4769. $tonum = 0;
  4770. $val['timename'] = $this->time_tranx(strtotime($val['money_time']));
  4771. if($status == 4){
  4772. $wherecan['account_identity'] = $val['account_identity'];
  4773. $wherecan['out_order_id'] = $val['order_id'];
  4774. $cancel = lm("money_details", "commons")->where($wherecan)->first();
  4775. if(!empty($cancel)){
  4776. $cancel = $cancel->toArray();
  4777. $val['canceltime'] = $cancel['money_time'];
  4778. $val['canceltimename'] = $this->time_tranx(strtotime($cancel['money_time']));
  4779. }
  4780. }
  4781. foreach ($Winning as $key => $v) {
  4782. //return $val['status'];
  4783. if ($val['status'] == $key) {
  4784. $val['status'] = lang()->get($v);
  4785. $row[] = $val;
  4786. }
  4787. }
  4788. //$val['game_number'] = count($codes['specialCode']);
  4789. }
  4790. $resultdata['today'] = $tonum;
  4791. foreach ($Status as $key => $v) {
  4792. foreach ($row as $k => $val) {
  4793. if ($val['game_status'] == $key) {
  4794. $val['game_status'] = lang()->get($v);
  4795. $index = $val['id'];
  4796. $rowy[$index] = $val;
  4797. //$aa[]=$val;
  4798. }
  4799. }
  4800. }
  4801. rsort($rowy);
  4802. if($resultdata['today'] >= 0){
  4803. $resultdata['todayact'] = 1;
  4804. }else{
  4805. $resultdata['todayact'] = 0;
  4806. }
  4807. if($resultdata['beforeday'] >= 0){
  4808. $resultdata['beforedayact'] = 1;
  4809. }else{
  4810. $resultdata['beforedayact'] = 0;
  4811. }
  4812. if($resultdata['nextday'] >= 0){
  4813. $resultdata['nextdayact'] = 1;
  4814. }else{
  4815. $resultdata['nextdayact'] = 0;
  4816. }
  4817. $resultdata['tolist'] = $rowy;
  4818. $resultdata['count_page'] = $count_page;
  4819. $resultdata['act_page'] = intval($page);
  4820. return $resultdata;
  4821. }
  4822. /***
  4823. * 六合投注列表
  4824. * @param $data
  4825. * @return mixed
  4826. */
  4827. public function newSixBettingRecord($data)
  4828. {
  4829. $id_one = $data['account_identity'] ? $data['account_identity'] : ''; //用户唯一id
  4830. $status = $data['status'] ? $data['status'] : ''; //资金状态
  4831. $order_id = $data['order_id'] ? $data['order_id'] : ''; //资金类型
  4832. $game_status = isset($data['game_status']) ? $data['game_status'] : ''; //资金类型
  4833. $game_name = $data['game_name'] ? $data['game_name'] : ''; //资金类型
  4834. $page = $data['page'] ? $data['page'] : '1'; //资金类型
  4835. $money_time = $data['time'] ? $data['time'] : date('Y-m-d'); //时间
  4836. $reorder = $data['reorder'] ? $data['reorder'] : 'money_time';
  4837. $updown = $data['updown'] ? $data['updown'] : 'desc';
  4838. if (!empty($money_time)) {//qtx 2018-12-11
  4839. $newtime = explode('~',$money_time);
  4840. if(count($newtime) ==2){
  4841. $start_time = $newtime[0];
  4842. $end_time = $newtime[1];
  4843. $beforetime = date("Y-m-d",strtotime("$start_time -1 day"));
  4844. $nexttime = date("Y-m-d",strtotime("$end_time +1 day"));
  4845. }else{
  4846. $beforetime = date("Y-m-d",strtotime("$money_time -1 day"));
  4847. $nexttime = date("Y-m-d",strtotime("$money_time +1 day"));
  4848. }
  4849. }
  4850. //return $page;
  4851. $play_num = "";
  4852. if (empty($id_one)) {
  4853. return -4010;
  4854. }
  4855. $arr = [ //向数据库追加数组 然后循环出来
  4856. 'status' => $status,
  4857. 'account_identity' => $id_one,
  4858. 'order_id' => $order_id,
  4859. 'game_status' => $game_status,
  4860. 'money_time' => $money_time
  4861. ];
  4862. $where = '1 = 1';
  4863. $wheretwo = '2=2';
  4864. $wherethree = '3=3';
  4865. foreach ($arr as $key => $value) {
  4866. //循环数组
  4867. if($value != '' && $key =='money_time'){
  4868. if(count($newtime) ==2){
  4869. $where .= " AND money_time>='".$start_time." 00:00:00' AND money_time<='".$end_time." 23:59:59'";
  4870. }else{
  4871. $where .= " AND {$key}>='{$value} 00:00:00' AND {$key}<='{$value} 23:59:59'";
  4872. }
  4873. }else{
  4874. if (($value != '' || $value===0) && $key != 'a.id' && $key != 'b.id') { //判断条件
  4875. $where .= " AND {$key}='{$value}'"; //获取值
  4876. }
  4877. }
  4878. }
  4879. $arr['money_time'] = $beforetime;
  4880. foreach ($arr as $key => $value) {
  4881. if($value != '' && $key =='money_time'){
  4882. $wheretwo .= " AND {$key}>='{$value} 00:00:00' AND {$key}<='{$value} 23:59:59'";
  4883. }else{
  4884. if (($value != '' || $value===0) && $key != 'a.id' && $key != 'b.id') { //判断条件
  4885. $wheretwo .= " AND {$key}='{$value}'"; //获取值
  4886. }
  4887. }
  4888. }
  4889. $arr['money_time'] = $nexttime;
  4890. foreach ($arr as $key => $value) {
  4891. if($value != '' && $key =='money_time'){
  4892. $wherethree .= " AND {$key}>='{$value} 00:00:00' AND {$key}<='{$value} 23:59:59'";
  4893. }else{
  4894. if (($value != '' || $value===0) && $key != 'a.id' && $key != 'b.id') { //判断条件
  4895. $wherethree .= " AND {$key}='{$value}'"; //获取值
  4896. }
  4897. }
  4898. }
  4899. $list = 15;
  4900. //获取总页数
  4901. $count_list = lm("sixMoney_buy", "commons")->whereRaw($where)->count();
  4902. $count_page = ceil($count_list / $list);
  4903. $first = ($page - 1) * $list;
  4904. $before_data = lm("sixMoney_buy", "commons")
  4905. ->whereRaw($wheretwo)->orderBy($reorder,$updown)
  4906. ->offset($first)->limit($list)->get();
  4907. $next_data = lm("sixMoney_buy", "commons")
  4908. ->whereRaw($wherethree)->orderBy($reorder,$updown)
  4909. ->offset($first)->limit($list)->get();
  4910. $code_data = lm("sixMoney_buy", "commons")
  4911. ->whereRaw($where)->orderBy($reorder,$updown)
  4912. ->offset($first)->limit($list)->get();
  4913. if (!$code_data) {
  4914. return -5004;
  4915. }
  4916. $beforenum = 0.00;
  4917. $nextnum = 0.00;
  4918. $tonum = 0.00;
  4919. $rowy = array();
  4920. if(empty($before_data)){
  4921. $resultdata['beforeday'] = $beforenum;
  4922. }else{
  4923. $before_data = $before_data->toArray();
  4924. foreach ($before_data as $key => $value) {
  4925. $beforenum = $beforenum + sprintf("%.2f",$value['get_money']);
  4926. }
  4927. $resultdata['beforeday'] = $beforenum;
  4928. }
  4929. if(empty($next_data)){
  4930. $resultdata['nextday'] = $nextnum;
  4931. }else{
  4932. $next_data = $next_data->toArray();
  4933. foreach ($next_data as $key => $value) {
  4934. $nextnum = $nextnum + sprintf("%.2f",$value['get_money']);
  4935. }
  4936. $resultdata['nextday'] = $nextnum;
  4937. }
  4938. $code_data = $code_data->toArray();
  4939. foreach ($code_data as $k=>$v){
  4940. $data_codes = lm($v['game_name'], "Commons")->select('status')->where('info_no', $v['game_no'])->first();
  4941. if ($data_codes){
  4942. $data_codes=$data_codes->toArray();
  4943. $code_data[$k]['gamed_status']=$data_codes['status'];
  4944. }
  4945. //$tonum = $tonum+ intval($v['get_money']);
  4946. }
  4947. //$resultdata['today'] = $tonum;
  4948. $Winning = $this->GetMoneyStatus();
  4949. $Status = $this->GetWinStatus();
  4950. foreach ($code_data as $k => $val) {
  4951. $val['game_type'] = lang()->get($val['game_name']);
  4952. $data_paramt =json_decode($val['codes'],true);
  4953. $regrouptype = $this->reGrouptype();
  4954. $grouparr = array();
  4955. foreach ($data_paramt as $key => $value) {
  4956. if(in_array($key, $regrouptype)){
  4957. foreach ($value as $sk => $sv) {
  4958. $seatarr = explode('_',$sk);
  4959. $val2=$sv;
  4960. if(isset($val2['settings'])){
  4961. unset($val2['settings']);
  4962. }
  4963. if(isset($grouparr[$seatarr[0]])){
  4964. $grouparr[$seatarr[0]] += count($val2);
  4965. }else{
  4966. $grouparr[$seatarr[0]] = count($val2);
  4967. }
  4968. }
  4969. }
  4970. }
  4971. $accounttwo = lm($val['game_name'] . "_buy", "commons");
  4972. $identity_no = $accounttwo->where("order_id", $val['order_id'])->first();
  4973. if (count($identity_no) != 0) {
  4974. $identity_no = $identity_no->toArray();
  4975. } else {
  4976. return "";
  4977. }
  4978. $paramt = $this->CodesDetails($data_paramt,$val['game_name'],$identity_no);
  4979. if (array_key_exists("general_pass", $data_paramt) || array_key_exists("join_born", $data_paramt)) {
  4980. $val['num'] = 1;
  4981. }else{
  4982. if(empty($grouparr)){
  4983. $val['num'] = count($paramt);
  4984. }else{
  4985. $val['num'] = 1;
  4986. foreach($grouparr as $k=>$v){
  4987. $val['num'] *= $v;
  4988. }
  4989. }
  4990. }
  4991. $tonum = $tonum + intval($val['get_money']);
  4992. $val['timename'] = $this->time_tranx(strtotime($val['money_time']));
  4993. if($status == 4){
  4994. $wherecan['account_identity'] = $val['account_identity'];
  4995. $wherecan['out_order_id'] = $val['order_id'];
  4996. $cancel = lm("money_details", "commons")->where($wherecan)->first();
  4997. if(!empty($cancel)){
  4998. $cancel = $cancel->toArray();
  4999. $val['canceltime'] = $cancel['money_time'];
  5000. $val['canceltimename'] = $this->time_tranx(strtotime($cancel['money_time']));
  5001. }
  5002. }
  5003. foreach ($Winning as $key => $v) {
  5004. //return $val['status'];
  5005. if ($val['status'] == $key) {
  5006. $val['status'] = lang()->get($v);
  5007. $row[] = $val;
  5008. }
  5009. }
  5010. }
  5011. $resultdata['today'] = $tonum;
  5012. foreach ($Status as $key => $v) {
  5013. foreach ($row as $k => $val) {
  5014. if ($val['game_status'] == $key) {
  5015. $val['game_status'] = lang()->get($v);
  5016. $index = $val['id'];
  5017. $rowy[$index] = $val;
  5018. //$aa[]=$val;
  5019. }
  5020. }
  5021. }
  5022. rsort($rowy);
  5023. if($resultdata['today'] >= 0){
  5024. $resultdata['todayact'] = 1;
  5025. }else{
  5026. $resultdata['todayact'] = 0;
  5027. }
  5028. if($resultdata['beforeday'] >= 0){
  5029. $resultdata['beforedayact'] = 1;
  5030. }else{
  5031. $resultdata['beforedayact'] = 0;
  5032. }
  5033. if($resultdata['nextday'] >= 0){
  5034. $resultdata['nextdayact'] = 1;
  5035. }else{
  5036. $resultdata['nextdayact'] = 0;
  5037. }
  5038. $resultdata['tolist'] = $rowy;
  5039. $resultdata['count_page'] = $count_page;
  5040. $resultdata['act_page'] = intval($page);
  5041. return $resultdata;
  5042. }
  5043. //时间函数
  5044. function time_tranx($the_time){
  5045. $dur = time() - $the_time;
  5046. if($dur < 0){
  5047. return $the_time;
  5048. }elseif($dur < 60){
  5049. return $dur.'秒前';
  5050. }elseif($dur < 3600){
  5051. return floor($dur/60).'分钟前';
  5052. }elseif($dur < 86400){
  5053. return floor($dur/3600).'小时前';
  5054. }elseif($dur < 259200){
  5055. return floor($dur/86400).'天前';
  5056. }else{
  5057. return '超过3天前';
  5058. }
  5059. }
  5060. /*
  5061. * 回水金额
  5062. */
  5063. public function backWaterMoney($data){
  5064. $id_one = $data['account_identity'] ? $data['account_identity'] : ''; //用户唯一id
  5065. $status = isset($data['status']) ? $data['status'] : '1'; //资金状态
  5066. $new_time = isset($data['time']) ? $data['time'] : '';
  5067. if (empty($id_one)) {
  5068. return -4010;
  5069. }
  5070. if(!empty($new_time)){//qtx 2018-12-11
  5071. $newtime = explode('~',$new_time);
  5072. if(count($newtime) ==2){
  5073. $new_time1 = $newtime[0];
  5074. $new_time2 = $newtime[1];
  5075. }else{
  5076. $new_time1 = $new_time;
  5077. $new_time2 = $new_time;
  5078. }
  5079. $where[] = array('processing_time','>=',$new_time1.' 00:00:00');
  5080. $where[] = array('processing_time','<=',$new_time2.' 23:59:59');
  5081. }
  5082. $where[] = array('account_identity','=',$id_one);
  5083. $where[] = array('status','=',$status);
  5084. $code_data = lm("money_return", "commons")->where($where)->sum('money');
  5085. if (!$code_data) {
  5086. return -5004;
  5087. }
  5088. return $code_data;
  5089. }
  5090. /*
  5091. * 返水金额
  5092. */
  5093. public function returnMoney($data){
  5094. $id_one = $data['account_identity'] ? $data['account_identity'] : ''; //用户唯一id
  5095. $status = isset($data['status']) ? $data['status'] : '3'; //资金状态
  5096. $new_time = isset($data['time']) ? $data['time'] : '';
  5097. if (empty($id_one)) {
  5098. return -4010;
  5099. }
  5100. if(!empty($new_time)){//qtx 2018-12-11
  5101. $newtime = explode('~',$new_time);
  5102. if(count($newtime) ==2){
  5103. $new_time1 = $newtime[0] ;
  5104. $new_time2 = $newtime[1];
  5105. }else{
  5106. $new_time1 = $new_time;
  5107. $new_time2 = $new_time;
  5108. }
  5109. $where[] = array('processing_time','>=',$new_time1.' 00:00:00');
  5110. $where[] = array('processing_time','<=',$new_time2.' 23:59:59');
  5111. }
  5112. $where[] = array('account_identity','=',$id_one);
  5113. $where[] = array('status','=',$status);
  5114. $code_data = lm("money_back", "commons")->where($where)->sum('money');
  5115. if (!$code_data) {
  5116. return -5004;
  5117. }
  5118. return $code_data;
  5119. }
  5120. /*
  5121. * 投注汇总结果
  5122. */
  5123. public function bettingsum($data){
  5124. $id_one = $data['account_identity'] ? $data['account_identity'] : ''; //用户唯一id
  5125. if (empty($id_one)) {
  5126. return -4010;
  5127. }
  5128. $time = $data['time'] ? $data['time'] : date('Y-m-d'); //时间
  5129. $where[] = array('account_identity','=',$id_one);
  5130. $where[] = array('status','<',4);
  5131. $where[] = array('game_status','>',0);
  5132. if (!empty($time)) {//qtx 2018-12-11
  5133. $newtime = explode('~',$time);
  5134. if(count($newtime) ==2){
  5135. $start_time = $newtime[0];
  5136. $end_time = $newtime[1];
  5137. $beforetime = date("Y-m-d",strtotime("$start_time -1 day"));
  5138. $nexttime = date("Y-m-d",strtotime("$end_time +1 day"));
  5139. $where[] = array('money_time','>=',$start_time.' 00:00:00');
  5140. $where[] = array('money_time','<=',$end_time.' 23:59:59');
  5141. }else{
  5142. $beforetime = date("Y-m-d",strtotime("$time -1 day"));
  5143. $nexttime = date("Y-m-d",strtotime("$time +1 day"));
  5144. $where[] = array('money_time','>=',$time.' 00:00:00');
  5145. $where[] = array('money_time','<=',$time.' 23:59:59');
  5146. }
  5147. }
  5148. $arr = array();
  5149. $arrdata = array();
  5150. $tablename = lm("game_type", "commons")->select('name','table_name','close_status')->where("status", "=", "1")->where("table_name","<>",'-1')->get()->toArray();
  5151. foreach ($tablename as $key => $value) {
  5152. $arr[$value['table_name']]=$value;
  5153. $arr[$value['table_name']]['money'] = 0;
  5154. $arr[$value['table_name']]['prize_money'] = 0;
  5155. $arr[$value['table_name']]['get_money'] = 0;
  5156. }
  5157. $codedata = lm("money_buy", "commons")->where($where)->get();
  5158. $six_codedata = lm("SixMoney_buy", "commons")->where($where)->get();
  5159. // $where[3] = array('money_time','>=',$beforetime.' 00:00:00');
  5160. // $where[4] = array('money_time','<=',$beforetime.' 23:59:59');
  5161. // $before_data = lm("money_buy", "commons")->where($where)->get();
  5162. //
  5163. // $where[3] = array('money_time','>=',$nexttime.' 00:00:00');
  5164. // $where[4] = array('money_time','<=',$nexttime.' 23:59:59');
  5165. // $next_data = lm("money_buy", "commons")->where($where)->get();
  5166. $codedata = $codedata->toArray();
  5167. $six_codedata =count($six_codedata)>0? $six_codedata->toArray():[];
  5168. // $before_data = $before_data->toArray();
  5169. // $next_data = $next_data->toArray();
  5170. $before_data ='';
  5171. $next_data ='';
  5172. if(empty($codedata)){
  5173. $arrdata['today'] = 0;
  5174. $arrdata['todayact'] = 0;
  5175. $arrdata['tolist'] ='';
  5176. }
  5177. if(empty($before_data)){
  5178. $arrdata['beforeday'] = 0;
  5179. $arrdata['beforedayact'] = 0;
  5180. }
  5181. if(empty($next_data)){
  5182. $arrdata['nextday'] = 0;
  5183. $arrdata['nextdayact'] = 0;
  5184. }
  5185. foreach ($before_data as $key => $value) {
  5186. $arrdata['beforeday'] += $value['get_money'];
  5187. }
  5188. foreach ($next_data as $key => $value) {
  5189. $arrdata['nextday'] += $value['get_money'];
  5190. }
  5191. $codedata = array_merge($six_codedata,$codedata);
  5192. foreach ($codedata as $key => $value) {
  5193. $arr[$value['game_name']]['money'] += $value['money'];
  5194. $arr[$value['game_name']]['prize_money'] += $value['prize_money'];
  5195. $arr[$value['game_name']]['get_money'] += $value['get_money'];
  5196. $arrdata['today'] += $value['get_money'];
  5197. }
  5198. if($arrdata['today'] >= 0){
  5199. $arrdata['todayact'] = 1;
  5200. }else{
  5201. $arrdata['todayact'] = 0;
  5202. }
  5203. if($arrdata['beforeday'] >= 0){
  5204. $arrdata['beforedayact'] = 1;
  5205. }else{
  5206. $arrdata['beforedayact'] = 0;
  5207. }
  5208. if($arrdata['nextday'] >= 0){
  5209. $arrdata['nextdayact'] = 1;
  5210. }else{
  5211. $arrdata['nextdayact'] = 0;
  5212. }
  5213. $arrdata['tolist'] = array_values($arr);
  5214. return $arrdata;
  5215. }
  5216. }