| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066 |
- <?php
- namespace common\models\common;
- use addons\Agent\common\models\Agent;
- use addons\Agent\common\models\AgentLevel;
- use addons\CloudStock\common\models\CloudStockPriceDifferenceUserTeamStatistics;
- use addons\Distribution\common\enums\DistributionEnum;
- use addons\PremiumDistribution\common\enums\PremiumDistributionEnum;
- use addons\Distribution\common\models\Distribution;
- use addons\PremiumDistribution\common\models\PremiumDistribution;
- use addons\Distribution\common\models\DistributionUpgradeCount;
- use addons\PremiumDistribution\common\models\PremiumDistributionUpgradeCount;
- use addons\LuckyGroup\common\models\LuckyGroupOrder;
- use addons\LuckyGroup\common\models\LuckyGroupUser;
- use addons\ServeBonus\common\logic\ConditionUpgradeLogic;
- use addons\ServeBonus\common\models\ServeBonusUpgradeCount;
- use addons\Store\common\models\StoreOrderDetail;
- use addons\UpgradeGift\common\enums\GiftEnum;
- use addons\UpgradeGift\common\listeners\UpgradeGiftListener;
- use addons\ZaoDoubleCopy\common\models\ZaoDoubleCopyAchievement;
- use addons\ZaoDoubleCopy\common\models\ZaoDoubleCopyUser;
- use common\enums\AddonsEnum;
- use common\enums\OrderStatusEnum;
- use common\enums\PayTypeEnum;
- use common\enums\RabbitMqEnum;
- use common\enums\StatusEnum;
- use common\enums\LevelUpgradeLogEnum;
- use common\events\census\UserUpgradeAfterEvent;
- use common\helpers\ArrayHelper;
- use common\models\base\BaseActiveRecord;
- use common\models\goods\GoodsCate;
- use common\models\goods\GoodsCateRelate;
- use common\models\mall\MallAddons;
- use common\models\order\Order;
- use common\models\order\OrderDetail;
- use common\models\statistics\UserAchievementStatisticsTotal;
- use common\models\statistics\UserStatistics;
- use common\models\statistics\UserStatisticsTotal;
- use common\models\statistics\UserTeamAchievementStatistics;
- use common\models\user\User;
- use common\models\user\UserLevel;
- use common\models\user\UserLevelUpgradeLog;
- use common\models\user\UserPartitionRelationship;
- use common\models\common\RechargeOrders;
- use common\models\user\UserLevelExpired;
- use common\models\user\UserTeamStatistics;
- use PHPUnit\Util\Exception;
- use Yii;
- use yii\db\Expression;
- use yii\helpers\Json;
- use addons\CloudStock\common\models\CloudStockLevel;
- use addons\DoubleCopy\common\models\DoubleCopyLevel;
- use addons\DoubleCopy\common\models\DoubleCopyUser;
- use addons\CloudStock\common\enums\CloudStockEnum;
- use addons\CloudStock\common\models\CloudStockAgent;
- use addons\CloudStock\common\models\CloudStockIncreaseDetail;
- use addons\CloudStock\common\models\CloudStockFillOrder;
- use addons\BossWeightBonus\common\models\AddonsBoss;
- use addons\CloudStock\common\models\CloudStockBuyingOrder;
- use common\models\user\UserStatisticsTotalCopy1;
- use common\models\user\UserTeamProfitStatistics;
- /**
- * This is the model class for table "{{%upgrade_condition}}".
- *
- * @property int $id
- * @property int $mall_id
- * @property string $content 内容
- * @property string $remark 备注
- * @property int $type 类型1:input;2:select
- * @property int $status 状态[-1:删除;0:禁用;1启用]
- * @property int $created_at
- * @property int $updated_at
- */
- class UpgradeCondition extends BaseActiveRecord
- {
- public static $boss_condition_ids = [8, 9, 10, 11, 12, 18, 19, 20, 21, 49, 50, 55, 64, 96, 120, 121]; //股东升级条件可显示的条件id
- public static $boss_weight_condition_ids = [8, 9, 10, 11, 12, 18, 19, 20, 21, 65,119, 120, 121]; //股东加权升级条件可显示的条件id
- public static $user_condition_ids = [1, 2, 3, 4, 5, 6, 7, 8, 54, 56, 66, 67, 68, 70, 80, 75, 90, 91, 96, 500, 501,502, 102, 105, 609,118,119, 120, 121]; //会员升级条件可显示的条件id
- public static $agent_condition_ids = [8, 9, 10, 11, 12, 14, 15, 16, 17, 47, 50, 55, 56, 64, 65, 67, 68, 69, 72, 75, 90, 96, 500, 501,502, 102, 105, 609, 120, 121]; //经销商(团队分红)升级条件可显示的条件id
- public static $agent_base_condition_ids = [8, 9, 10, 11, 12, 16, 17, 50, 55, 56, 64, 90, 96, 97, 98, 99, 100, 101, 500, 609, 120]; //渠道业绩升级条件可显示的条件id
- public static $distribution_condition_ids = [8, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 53, 55, 56, 71, 11, 96, 500, 501, 102,54, 609, 120, 121]; //分销商升级条件可显示的条件id
- public static $permium_distribution_condition_ids = [8, 22, 106, 107, 108, 109, 27, 28, 29, 30, 110, 111, 112, 113, 114, 115, 116, 55, 56, 117, 11, 96, 500, 501, 102,54]; //特级分销商升级条件可显示的条件id
- public static $servebonus_condition_ids = [8, 9, 10, 11, 12, 21, 37, 38, 39, 52, 102, 700, 701, 704, 705, 120, 121]; //服务商分红升级条件可显示的条件id
- public static $achievement_condition_ids = [8, 10, 11, 12, 40, 48, 50, 95, 96, 120, 121]; //业绩奖励升级条件可显示的条件id
- public static $achievement_b_condition_ids = [8, 10, 11, 12, 40, 48, 50, 95, 96, 120, 121]; //业绩奖励升级条件可显示的条件id
- public static $lucky_group_condition_ids = [8, 41, 42, 43, 44, 45]; // 幸运拼团升级条件可显示的条件id
- public static $zao_double_copy_condition_ids = [61, 62, 63]; //藻知道二二复制增加 会员升级条件可显示的条件id
- public static $operation_center_condition_ids = [8, 9]; // 内容中心 会员升级条件可显示的条件id
- public static $boss_weight_bonus_ondition_ids = [8, 9, 10, 11, 12, 18, 19, 20, 21, 22, 23, 55, 56, 61,62,63,64, 65,74, 120, 121]; //股东加权分红升级条件可显示的条件id
- public static $stockholder_condition_ids = [500, 501, 5];
- public static $agent_dividend_condition_ids = [8, 9, 10, 11, 12, 16, 17, 50, 55, 56, 64, 65, 90, 96, 500, 501,502, 102, 105,550,551,702, 120, 121]; //代理分红升级条件可显示的条件id
- public static $cloud_stock_install_condition_ids = [703]; //安装云库存增加 会员升级条件可显示的条件id
- public static $yj_commission_condition_ids = [8]; //业绩提成 店长升级条件可显示的条件id
- public static $data = [
- 1 => [
- 'id' => 1,
- 'content' => '个人订单数量满____笔,个人订单满____元',
- 'remark' => '注意:当个人支付订单满N笔,且个人支付订单金额满N元即可,售后不影响等级。(此条件仅计算平台订单)',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'personal_order_number', 'default_val' => 0],
- ['type' => 'text', 'name' => 'personal_order_total_price', 'default_val' => 0],
- ]
- ],
- 2 => [
- 'id' => 2,
- 'content' => '一级客户人数满____个,一级客户订单数量满____笔,一级客户订单满____元',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'direct_user_num', 'default_val' => 0],
- ['type' => 'text', 'name' => 'direct_user_order_number', 'default_val' => 0],
- ['type' => 'text', 'name' => 'direct_user_order_total_price', 'default_val' => 0],
- ]
- ],
- 3 => [
- 'id' => 3,
- 'content' => '二级客户人数满____个,二级客户订单数量满____笔,二级客户订单满____元',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'indirect_user_num', 'default_val' => 0],
- ['type' => 'text', 'name' => 'indirect_user_order_number', 'default_val' => 0],
- ['type' => 'text', 'name' => 'indirect_user_order_total_price', 'default_val' => 0],
- ]
- ],
- 4 => [
- 'id' => 4,
- 'content' => '团队人数(直推和间推)满____个,团队人数(直推和间推)订单数量满____笔,团队人数(直推和间推)订单满____元',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'team_user_num', 'default_val' => 0],
- ['type' => 'text', 'name' => 'team_user_order_number', 'default_val' => 0],
- ['type' => 'text', 'name' => 'team_user_order_total_price', 'default_val' => 0],
- ]
- ],
- 5 => [
- 'id' => 5,
- 'content' => '直推会员等级>=____数量____个',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'direct_user_level', 'default_val' => 0, 'source' => ['class' => 'common\models\user\UserLevel', 'method' => 'getUserListByUpgrade', 'key' => 'source_list']],
- ['type' => 'text', 'name' => 'direct_user_level_num', 'default_val' => 0],
- ]
- ],
- 6 => [
- 'id' => 6,
- 'content' => '间推会员等级>=____数量____个',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'indirect_user_level', 'default_val' => 0, 'source' => ['class' => 'common\models\user\UserLevel', 'method' => 'getUserListByUpgrade', 'key' => 'source_list']],
- ['type' => 'text', 'name' => 'indirect_user_level_num', 'default_val' => 0],
- ]
- ],
- 7 => [
- 'id' => 7,
- 'content' => '团队人数(直推和间推)等级>=____数量____个',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'team_user_level', 'default_val' => 0, 'source' => ['class' => 'common\models\user\UserLevel', 'method' => 'getUserListByUpgrade', 'key' => 'source_list']],
- ['type' => 'text', 'name' => 'team_user_level_num', 'default_val' => 0],
- ]
- ],
- 8 => [
- 'id' => 8,
- 'content' => '购买商品升级',
- 'remark' => '',
- 'type' => 'buy_goods',
- 'setting' => []
- ],
- 9 => [
- 'id' => 9,
- 'content' => '直推客户消费满____元的人数满____个,间推客户消费满____元的人数满____个',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'direct_user_consume', 'default_val' => 0],
- ['type' => 'text', 'name' => 'direct_user_consume_num', 'default_val' => 0],
- ['type' => 'text', 'name' => 'indirect_user_consume', 'default_val' => 0],
- ['type' => 'text', 'name' => 'indirect_user_consume_num', 'default_val' => 0],
- ]
- ],
- 10 => [
- 'id' => 10,
- 'content' => '直推____人,并且直推中购买商品ID____的人数____个',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'direct_user_num', 'default_val' => 0],
- ['type' => 'text', 'name' => 'direct_user_buy_goods_id', 'default_val' => 0],
- ['type' => 'text', 'name' => 'direct_user_buy_goods_id_num', 'default_val' => 0],
- ]
- ],
- 11 => [
- 'id' => 11,
- 'content' => "个人业绩____元,所有下级业绩____元",
- 'remark' => '统计的业绩包含平台+多商户',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'personal_achievement', 'default_val' => 0],
- ['type' => 'text', 'name' => 'subordinates_achievement', 'default_val' => 0],
- ]
- ],
- 12 => [
- 'id' => 12,
- 'content' => '间推客户数量____个,间推客户订单金额____元',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'indirect_user_num', 'default_val' => 0],
- ['type' => 'text', 'name' => 'indirect_user_order_price', 'default_val' => 0],
- ]
- ],
- 13 => [
- 'id' => 13,
- 'content' => '经销商默认等级达到____人',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'default_level', 'default_val' => 0],
- ]
- ],
- 14 => [
- 'id' => 14,
- 'content' => '直推经销商等级>=____数量____个',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'direct_agent_level', 'default_val' => 0, 'source' => ['class' => 'addons\Agent\common\models\AgentLevel', 'method' => 'getAgentListByUpgrade', 'key' => 'source_list']],
- ['type' => 'text', 'name' => 'direct_agent_level_num', 'default_val' => 0],
- ]
- ],
- 15 => [
- 'id' => 15,
- 'content' => '所有下级经销商等级>=____数量____个',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'subordinates_agent_level', 'default_val' => 0, 'source' => ['class' => 'addons\Agent\common\models\AgentLevel', 'method' => 'getAgentListByUpgrade', 'key' => 'source_list']],
- ['type' => 'text', 'name' => 'subordinates_agent_level_num', 'default_val' => 0],
- ]
- ],
- 16 => [
- 'id' => 16,
- 'content' => '所有下级单量指标____单',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'subordinates_order_num', 'default_val' => 0],
- ]
- ],
- 17 => [
- 'id' => 17,
- 'content' => '直推团队单量大于____单',
- 'remark' => '(团队总单量-团队中最高单量>=N单)',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'direct_team_order_num', 'default_val' => 0],
- ]
- ],
- 18 => [
- 'id' => 18,
- 'content' => '直推股东等级>=____数量____个',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'direct_boss_level', 'default_val' => 0, 'source' => ['class' => 'addons\Boss\common\models\AddonsBossLevel', 'method' => 'getListByUpgrade', 'key' => 'source_list']],
- ['type' => 'text', 'name' => 'direct_boss_level_num', 'default_val' => 0],
- ]
- ],
- 19 => [
- 'id' => 19,
- 'content' => '间推股东等级>=____数量____个',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'indirect_boss_level', 'default_val' => 0, 'source' => ['class' => 'addons\Boss\common\models\AddonsBossLevel', 'method' => 'getListByUpgrade', 'key' => 'source_list']],
- ['type' => 'text', 'name' => 'indirect_boss_level_num', 'default_val' => 0],
- ]
- ],
- 20 => [
- 'id' => 20,
- 'content' => '团队股东等级>=____数量____个',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'team_boss_level', 'default_val' => 0, 'source' => ['class' => 'addons\Boss\common\models\AddonsBossLevel', 'method' => 'getListByUpgrade', 'key' => 'source_list']],
- ['type' => 'text', 'name' => 'team_boss_level_num', 'default_val' => 0],
- ]
- ],
- 21 => [
- 'id' => 21,
- 'content' => '直推客户消费满____元',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'direct_user_consume', 'default_val' => 0],
- ]
- ],
- 22 => [
- 'id' => 22,
- 'content' => '一级客户消费满____元的人数满____个',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'direct_user_consume', 'default_val' => 0],
- ['type' => 'text', 'name' => 'direct_user_consume_num', 'default_val' => 0],
- ]
- ],
- 23 => [
- 'id' => 23,
- 'content' => '分销佣金金额满____元',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'distribution_commission', 'default_val' => 0],
- ]
- ],
- 24 => [
- 'id' => 24,
- 'content' => '分销订单数量满____个',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'distribution_order_num', 'default_val' => 0],
- ]
- ],
- 25 => [
- 'id' => 25,
- 'content' => '一级分销佣金金额满____元',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'direct_user_distribution_commission', 'default_val' => 0],
- ]
- ],
- 26 => [
- 'id' => 26,
- 'content' => '一级分销订单数量满____个',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'direct_user_distribution_order_num', 'default_val' => 0],
- ]
- ],
- 27 => [
- 'id' => 27,
- 'content' => '自购订单金额满____元',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'self_purchase_order_total_price', 'default_val' => 0],
- ]
- ],
- 28 => [
- 'id' => 28,
- 'content' => '自购订单数量满____个',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'self_purchase_order_num', 'default_val' => 0],
- ]
- ],
- 29 => [
- 'id' => 29,
- 'content' => '粉丝人数满____人',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'fans_num', 'default_val' => 0],
- ]
- ],
- 30 => [
- 'id' => 30,
- 'content' => '一级粉丝人数满____人',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'direct_fans_num', 'default_val' => 0],
- ]
- ],
- 31 => [
- 'id' => 31,
- 'content' => '粉丝分销商人数满____人',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'fans_distribution_num', 'default_val' => 0],
- ]
- ],
- 32 => [
- 'id' => 32,
- 'content' => '一级粉丝分销商人数满____人',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'direct_fans_distribution_num', 'default_val' => 0],
- ]
- ],
- 33 => [
- 'id' => 33,
- 'content' => '分销结算佣金总额满____元',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'total_settlement_commission', 'default_val' => 0],
- ]
- ],
- 34 => [
- 'id' => 34,
- 'content' => '直推分销商等级>=____数量____个',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'direct_distribution_level', 'default_val' => 0, 'source' => ['class' => 'addons\Distribution\common\models\DistributionLevel', 'method' => 'getListByUpgrade', 'key' => 'source_list']],
- ['type' => 'text', 'name' => 'direct_distribution_level_num', 'default_val' => 0],
- ]
- ],
- 35 => [
- 'id' => 35,
- 'content' => '间推分销商等级>=____数量____个',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'indirect_distribution_level', 'default_val' => 0, 'source' => ['class' => 'addons\Distribution\common\models\DistributionLevel', 'method' => 'getListByUpgrade', 'key' => 'source_list']],
- ['type' => 'text', 'name' => 'indirect_distribution_level_num', 'default_val' => 0],
- ]
- ],
- 36 => [
- 'id' => 36,
- 'content' => '团队分销商(直推和间推)等级>=____数量____个',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'team_distribution_level', 'default_val' => 0, 'source' => ['class' => 'addons\Distribution\common\models\DistributionLevel', 'method' => 'getListByUpgrade', 'key' => 'source_list']],
- ['type' => 'text', 'name' => 'team_distribution_level_num', 'default_val' => 0],
- ]
- ],
- 37 => [
- 'id' => 37,
- 'content' => '直推服务商等级____数量____个',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'direct_servebonus_level', 'default_val' => 0, 'source' => ['class' => 'addons\ServeBonus\common\models\ServeBonusLevel', 'method' => 'getListByUpgrade', 'key' => 'source_list']],
- ['type' => 'text', 'name' => 'direct_servebonus_level_num', 'default_val' => 0],
- ]
- ],
- 38 => [
- 'id' => 38,
- 'content' => '间推服务商等级____数量____个',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'indirect_servebonus_level', 'default_val' => 0, 'source' => ['class' => 'addons\ServeBonus\common\models\ServeBonusLevel', 'method' => 'getListByUpgrade', 'key' => 'source_list']],
- ['type' => 'text', 'name' => 'indirect_servebonus_level_num', 'default_val' => 0],
- ]
- ],
- 39 => [
- 'id' => 39,
- 'content' => '团队服务商等级____数量____个',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'team_servebonus_level', 'default_val' => 0, 'source' => ['class' => 'addons\ServeBonus\common\models\ServeBonusLevel', 'method' => 'getListByUpgrade', 'key' => 'source_list']],
- ['type' => 'text', 'name' => 'team_servebonus_level_num', 'default_val' => 0],
- ]
- ],
- 40 => [
- 'id' => 40,
- 'content' => '直推客户消费满____元的人数满____个,团队客户消费满____元的人数满____个',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'direct_user_consume', 'default_val' => 0],
- ['type' => 'text', 'name' => 'direct_user_consume_num', 'default_val' => 0],
- ['type' => 'text', 'name' => 'team_user_consume', 'default_val' => 0],
- ['type' => 'text', 'name' => 'team_user_consume_num', 'default_val' => 0],
- ]
- ],
- 41 => [
- 'id' => 41,
- 'content' => '一级客户成功参团的人数满____个一级客户参团订单满____元',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- [ 'type' => 'text', 'name' => 'first_ca_people_numbers', 'default_val' => 0, 'source' => 'addons\LuckyGroup\common\models\LuckyGroupLevel', 'method' => 'getListByUpgrade', 'key' => 'source_list', ],
- [ 'type' => 'text', 'name' => 'first_ca_order_money', 'default_val' => 0, ],
- ],
- ],
- 42 => [
- 'id' => 42,
- 'content' => '二级客户成功参团的人数满____个二级客户参团订单满____元',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- [ 'type' => 'text', 'name' => 'second_ca_people_numbers', 'default_val' => 0, 'source' => 'addons\LuckyGroup\common\models\LuckyGroupLevel', 'method' => 'getListByUpgrade', 'key' => 'source_list', ],
- [ 'type' => 'text', 'name' => 'second_ca_order_money', 'default_val' => 0, ],
- ],
- ],
- 43 => [
- 'id' => 43,
- 'content' => '个人参团订单满____笔个人参团订单满____元',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- [ 'type' => 'text', 'name' => 'personal_ca_order_numbers', 'default_val' => 0, 'source' => 'addons\LuckyGroup\common\models\LuckyGroupLevel', 'method' => 'getListByUpgrade', 'key' => 'source_list', ],
- [ 'type' => 'text', 'name' => 'personal_ca_order_money', 'default_val' => 0, ],
- ],
- ],
- 44 => [
- 'id' => 44,
- 'content' => '直推拼团等级____数量____个',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'direct_level', 'default_val' => 0, 'source' => ['class' => 'addons\LuckyGroup\common\models\LuckyGroupLevel', 'method' => 'getListByUpgrade', 'key' => 'source_list']],
- [ 'type' => 'text', 'name' => 'direct_level_numbers', 'default_val' => 0, ],
- ],
- ],
- 45 => [
- 'id' => 45,
- 'content' => '间推拼团等级____数量____个',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'indirect_level', 'default_val' => 0, 'source' => ['class' => 'addons\LuckyGroup\common\models\LuckyGroupLevel', 'method' => 'getListByUpgrade', 'key' => 'source_list']],
- [ 'type' => 'text', 'name' => 'indirect_level_numbers', 'default_val' => 0, ],
- ],
- ],
- 47 => [
- 'id' => 47,
- 'content' => '团队下____条____个____等级',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'team_num', 'default_val' => 0],
- ['type' => 'text', 'name' => 'level_num', 'default_val' => 0],
- ['type' => 'select', 'name' => 'agent_level', 'default_val' => 0, 'source' => ['class' => 'addons\Agent\common\models\AgentLevel', 'method' => 'getAgentListByUpgrade', 'key' => 'source_list']],
- ]
- ],
- 48 => [
- 'id' => 48,
- 'content' => '直推____人是____团队等级',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'direct_push_number', 'default_val' => 0],
- ['type' => 'select', 'name' => 'agent_level', 'default_val' => 0, 'source' => ['class' => 'addons\Agent\common\models\AgentLevel', 'method' => 'getAgentListByUpgrade', 'key' => 'source_list']],
- ]
- ],
- 49 => [
- 'id' => 49,
- 'content' => '团队业绩满____元',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'total_team_money', 'default_val' => 0],
- ]
- ],
- 50 => [
- 'id' => 50,
- 'content' => '团队累计购买指定商品____件,去除团队买件数最多者的团队购买数量后,剩余所有人累计购买满____件,商品ID组____ ', //后面留空格
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'team_goods_buy_num', 'default_val' => 0],
- ['type' => 'text', 'name' => 'team_goods_buy_num_other', 'default_val' => 0],
- ['type' => 'selectGoods', 'name' => 'team_goods', 'default_val' => ''],
- ]
- ],
- 51 => [
- 'id' => 51,
- 'content' => '个人充值或消费满____元',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'used_total_price', 'default_val' => 0],
- ]
- ],
- 52 => [
- 'id' => 52,
- 'content' => '成为服务商后,好友人数____人,下级团队业绩达到____元',
- 'remark' => '注意:帮助用户升级到此等级的直推用户人数跟团队团队业绩(订单完成)都将不再进行统计',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'direct_num', 'default_val' => 0],
- ['type' => 'text', 'name' => 'team_achievement', 'default_val' => 0],
- ]
- ],
- 53 => [
- 'id' => 53,
- 'content' => '成为分销商后,好友人数____人,下级团队业绩达到____元',
- 'remark' => '注意:帮助用户升级到此等级的直推用户人数跟团队团队业绩(订单完成)都将不再进行统计',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'distribution_direct_num', 'default_val' => 0],
- ['type' => 'text', 'name' => 'distribution_team_achievement', 'default_val' => 0],
- ]
- ],
- 54 => [
- 'id' => 54,
- 'content' => '购买门店商品升级',
- 'remark' => '',
- 'type' => 'buy_store_goods',
- 'setting' => []
- ],
- 55 => [
- 'id' => 55,
- 'content' => '个人订单满____笔,个人订单满____元',
- 'remark' => '注意:当个人支付订单满N笔,且个人支付订单金额满N元即可,售后不影响等级。(此条件仅计算平台订单)',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'personal_order_num', 'default_val' => 0],
- ['type' => 'text', 'name' => 'personal_order_achievement', 'default_val' => 0],
- ]
- ],
- 56 => [
- 'id' => 56,
- 'content' => '个人订单满____笔,个人订单满____元
- <input type="checkbox" name="personal_order_checkbox_56[]" checked value="1">平台</input>
- <input type="checkbox" name="personal_order_checkbox_56[]" value="2">多商户</input>
- ',
- 'remark' => '注意:当个人支付订单满N笔,且个人支付订单金额满N元即可,售后不影响等级。',
- 'type' => 'default',
- 'is_html' => true,
- 'setting' => [
- ['type' => 'text', 'name' => 'personal_order_num_56', 'default_val' => 0],
- ['type' => 'text', 'name' => 'personal_order_achievement_56', 'default_val' => 0],
- [
- 'type' => 'checkbox', 'name' => 'personal_order_checkbox_56', 'is_checkbox' => true, 'default_val' => [1],
- 'source' => ['class' => self::class, 'method' => 'getPersonalCheckbox56', 'key' => 'personal_checkbox_56']
- ],
- ]
- ],
- 61 => [
- 'id' => 61,
- 'content' => '链动一二号市场总业绩达____元,且单个市场业绩达____元',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'achievement', 'default_val' => 0],
- ['type' => 'text', 'name' => 'single_market', 'default_val' => 0],
- ]
- ],
- 62 => [
- 'id' => 62,
- 'content' => '链动一二号市场购买链动商品订单数达____件,且单个市场订单数达____件',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'achievement_order_num', 'default_val' => 0],
- ['type' => 'text', 'name' => 'single_market_order_num', 'default_val' => 0],
- ]
- ],
- 63 => [
- 'id' => 63,
- 'content' => '链动团队除最大市场外(即业绩最高市场)的团队小市场业绩总和达(不含复购链动商品)达____元',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'achievement_small', 'default_val' => 0],
- ]
- ],
- 64 => [
- 'id' => 64,
- 'content' => '团队总业绩____达到____元,业绩最高的前____个部门,每个部门的业绩不能低于____元',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'achievement_type', 'default_val' => 0, 'source' => ['class' => 'common\models\common\UpgradeCondition', 'method' => 'getAchievementType', 'key' => 'achievement_type_list']],
- ['type' => 'text', 'name' => 'team_achievement', 'default_val' => 0],
- ['type' => 'text', 'name' => 'direct_num', 'default_val' => 0],
- ['type' => 'text', 'name' => 'direct_achievement', 'default_val' => 0],
- ]
- ],
- 65 => [
- 'id' => 65,
- 'content' => '直推____人,当中____个团队的订单大于等于____单,团队总订单____单,商品类目ID组',
- 'remark' => '指定商品类目中的订单且为支付后才会进行计算',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'team_achievement', 'default_val' => 0],
- ['type' => 'text', 'name' => 'team_achievement_people_num', 'default_val' => 0],
- ['type' => 'text', 'name' => 'team_achievement_order_num', 'default_val' => 0],
- ['type' => 'text', 'name' => 'team_total_order_num', 'default_val' => 0],
- ['type' => 'selectGoodsCats', 'name' => 'team_goods_cats', 'default_val' => ''],
- ]
- ],
- 66 => [
- 'id' => 66,
- 'content' => '所有下级会员等级>=____且数量达到____个',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'user_level', 'default_val' => '', 'source' => ['class' => 'common\models\user\UserLevel', 'method' => 'getUserListByUpgrade', 'key' => 'source_list']],
- ['type' => 'text', 'name' => 'user_num', 'default_val' => ''],
- ]
- ],
- 67 => [
- 'id' => 67,
- 'content' => '二二复制____等级直推____等级____人,团队产生____等级____人',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'self_level', 'default_val' => '', 'source' => ['class' => 'common\models\common\UpgradeCondition', 'method' => 'getDoubleCopyLevelList', 'key' => 'double_copy_level_list']],
- ['type' => 'select', 'name' => 'level', 'default_val' => '', 'source' => ['class' => 'common\models\common\UpgradeCondition', 'method' => 'getDoubleCopyLevelList', 'key' => 'double_copy_level_list']],
- ['type' => 'text', 'name' => 'nums', 'default_val' => 0],
- ['type' => 'select', 'name' => 'c_level', 'default_val' => '', 'source' => ['class' => 'common\models\common\UpgradeCondition', 'method' => 'getDoubleCopyLevelList', 'key' => 'double_copy_level_list']],
- ['type' => 'text', 'name' => 'c_nums', 'default_val' => 0],
- ]
- ],
- 68 => [
- 'id' => 68,
- 'content' => '直推____个云仓代理____,且补货指定商品____个,商品ID组____',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'direct_num', 'default_val' => 0],
- ['type' => 'select', 'name' => 'agent_level', 'default_val' => '', 'source' => ['class' => 'common\models\common\UpgradeCondition', 'method' => 'getCloudStockLevelList', 'key' => 'cloud_stock_level_list']],
- ['type' => 'text', 'name' => 'fill_num', 'default_val' => 0],
- ['type' => 'selectCloudStockGoods', 'name' => 'team_goods', 'default_val' => ''],
- ]
- ],
- 69 => [
- 'id' => 69,
- 'content' => '个人补货指定____商品____',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'condition_type', 'default_val' => '0', 'source' => ['class' => 'common\models\common\UpgradeCondition', 'method' => 'getConditionType', 'key' => 'cloud_stock_goods_list']],
- ['type' => 'selectCloudStockGoodsCondition', 'name' => 'team_goods', 'default_val' => []],
- ]
- ],
- 70 => [
- 'id' => 70,
- 'content' => "个人业绩____元,所有下级业绩____元",
- 'remark' => '统计的业绩包含平台+多商户',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'personal_achievement', 'default_val' => 0],
- ['type' => 'text', 'name' => 'subordinates_achievement', 'default_val' => 0],
- ]
- ],
- 121 => [
- 'id' => 121,
- 'content' => "个人业绩____元",
- 'remark' => '统计的业绩包含平台+多商户',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'personal_achievement', 'default_val' => 0],
- ]
- ],
- 80 => [
- 'id' => 80,
- 'content' => '____等级,直推____等级数量____个,同时直推业绩____元',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'user_level', 'default_val' => '', 'source' => ['class' => 'common\models\user\UserLevel', 'method' => 'getUserListByUpgrade', 'key' => 'source_list']],
- ['type' => 'select', 'name' => 'child_level', 'default_val' => '', 'source' => ['class' => 'common\models\user\UserLevel', 'method' => 'getUserListByUpgrade', 'key' => 'source_list']],
- ['type' => 'text', 'name' => 'rec_num', 'default_val' => 0],
- ['type' => 'text', 'name' => 'direct_performance', 'default_val' => 0],
- ]
- ],
- 71 => [
- 'id' => 71,
- 'content' => '____等级,直推____等级数量____个,同时直推业绩____元',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'user_level', 'default_val' => '', 'source' => ['class' => 'addons\Distribution\common\models\DistributionLevel', 'method' => 'getListByUpgrade', 'key' => 'source_list']],
- ['type' => 'select', 'name' => 'child_level', 'default_val' => '', 'source' => ['class' => 'addons\Distribution\common\models\DistributionLevel', 'method' => 'getListByUpgrade', 'key' => 'source_list']],
- ['type' => 'text', 'name' => 'rec_num', 'default_val' => 0],
- ['type' => 'text', 'name' => 'direct_performance', 'default_val' => 0],
- ]
- ],
- 72 => [
- 'id' => 72,
- 'content' => '____等级,直推____等级数量____个,同时直推业绩____元',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'user_level', 'default_val' => '', 'source' => ['class' => 'addons\Agent\common\models\AgentLevel', 'method' => 'getAgentListByUpgrade', 'key' => 'source_list']],
- ['type' => 'select', 'name' => 'child_level', 'default_val' => '', 'source' => ['class' => 'addons\Agent\common\models\AgentLevel', 'method' => 'getAgentListByUpgrade', 'key' => 'source_list']],
- ['type' => 'text', 'name' => 'rec_num', 'default_val' => 0],
- ['type' => 'text', 'name' => 'direct_performance', 'default_val' => 0],
- ]
- ],
- 74 => [
- 'id' => 74,
- 'content' => '____等级,直推____等级数量____个,同时直推业绩____元',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'user_level', 'default_val' => '', 'source' => ['class' => 'addons\BossWeightBonus\common\models\AddonsBossLevel', 'method' => 'getListByUpgrade', 'key' => 'source_list']],
- ['type' => 'select', 'name' => 'child_level', 'default_val' => '', 'source' => ['class' => 'addons\BossWeightBonus\common\models\AddonsBossLevel', 'method' => 'getListByUpgrade', 'key' => 'source_list']],
- ['type' => 'text', 'name' => 'rec_num', 'default_val' => 0],
- ['type' => 'text', 'name' => 'direct_performance', 'default_val' => 0],
- ]
- ],
- 75 => [
- 'id' => 75,
- 'content' => '间推经销商等级>=____数量____个',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'indirect_agent_level', 'default_val' => 0, 'source' => ['class' => 'addons\Agent\common\models\AgentLevel', 'method' => 'getAgentListByUpgrade', 'key' => 'source_list']],
- ['type' => 'text', 'name' => 'indirect_agent_level_num', 'default_val' => 0],
- ]
- ],
- 90 => [
- 'id' => 90,
- 'content' => '购买商品数量累计达到____件',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'buy_num', 'default_val' => 0],
- ]
- ],
- 91 => [
- 'id' => 91,
- 'content' => '购买指定商品,商品ID组____',
- 'remark' => '购买其中任意一个商品并且支付成功即可满足此条件',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'selectGoods', 'name' => 'goods_ids', 'default_val' => ''],
- ]
- ],
- 95 => [
- 'id' => 95,
- 'content' => '成为渠道分红等级会员',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- [
- 'type' => 'checkbox', 'name' => 'checked_level', 'default_val' => [],
- 'source' => ['class' => AgentLevel::class, 'method' => 'getLevelCheckbox', 'key' => 'source_list']
- ],
- ]
- ],
- 96 => [
- 'id' => 96,
- 'content' => "个人团队业绩-直推下级最高团队业绩 >= ____元",
- 'remark' => '统计的业绩包含平台+多商户',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'money', 'default_val' => 0],
- ]
- ],
- 97 => [
- 'id' => 97,
- 'content' => '直推经渠道等级>=____数量____个',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'direct_agent_level', 'default_val' => '', 'source' => ['class' => 'addons\AgentBase\common\models\AgentBaseLevel', 'method' => 'getAgentListByUpgrade', 'key' => 'source_list']],
- ['type' => 'text', 'name' => 'direct_agent_level_num', 'default_val' => 0],
- ]
- ],
- 98 => [
- 'id' => 98,
- 'content' => '所有下级渠道等级>=____数量____个',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'subordinates_agent_level', 'default_val' => '', 'source' => ['class' => 'addons\AgentBase\common\models\AgentBaseLevel', 'method' => 'getAgentListByUpgrade', 'key' => 'source_list']],
- ['type' => 'text', 'name' => 'subordinates_agent_level_num', 'default_val' => ''],
- ]
- ],
- 99 => [
- 'id' => 99,
- 'content' => '团队下____条____个____等级',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'team_num', 'default_val' => 0],
- ['type' => 'text', 'name' => 'level_num', 'default_val' => 0],
- ['type' => 'select', 'name' => 'agent_level', 'default_val' => '', 'source' => ['class' => 'addons\AgentBase\common\models\AgentBaseLevel', 'method' => 'getAgentListByUpgrade', 'key' => 'source_list']],
- ]
- ],
- 100 => [
- 'id' => 100,
- 'content' => '____等级,直推____等级数量____个,同时直推业绩____元',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'user_level', 'default_val' => '', 'source' => ['class' => 'addons\AgentBase\common\models\AgentBaseLevel', 'method' => 'getAgentListByUpgrade', 'key' => 'source_list']],
- ['type' => 'select', 'name' => 'child_level', 'default_val' => '', 'source' => ['class' => 'addons\AgentBase\common\models\AgentBaseLevel', 'method' => 'getAgentListByUpgrade', 'key' => 'source_list']],
- ['type' => 'text', 'name' => 'rec_num', 'default_val' => 0],
- ['type' => 'text', 'name' => 'direct_performance', 'default_val' => 0],
- ]
- ],
- 101 => [
- 'id' => 101,
- 'content' => '间推渠道等级>=____数量____个',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'indirect_agent_level', 'default_val' => '', 'source' => ['class' => 'addons\AgentBase\common\models\AgentBaseLevel', 'method' => 'getAgentListByUpgrade', 'key' => 'source_list']],
- ['type' => 'text', 'name' => 'indirect_agent_level_num', 'default_val' => 0],
- ]
- ],
- 102 => [
- 'id' => 102,
- 'content' => '指定商品ID____,并且单笔订单金额满____元',
- 'remark' => '注意:可填写多个商品每个商品间用英文逗号隔开,订单金额必须是订单完成的金额',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'goods_ids', 'default_val' => ''],
- ['type' => 'text', 'name' => 'finish_order_money', 'default_val' => 0],
- ]
- ],
- 105 => [
- 'id' => 105,
- 'content' => "群组(团队包含本人)商品售价业绩____达到____元",
- 'remark' => '统计的业绩包含平台+多商户',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'radio', 'name' => 'is_when_settlement', 'default_val' => 0, 'source' => ['class' => self::class, 'method' => 'getWhenSettlement', 'key' => 'radio_when_settlement_list']],
- ['type' => 'text', 'name' => 'money', 'default_val' => 0],
- ]
- ],
- 106 => [
- 'id' => 106,
- 'content' => '分销佣金金额满____元',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'distribution_commission', 'default_val' => 0],
- ]
- ],
- 107 => [
- 'id' => 107,
- 'content' => '分销订单数量满____个',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'distribution_order_num', 'default_val' => 0],
- ]
- ],
- 108 => [
- 'id' => 108,
- 'content' => '一级分销佣金金额满____元',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'direct_user_distribution_commission', 'default_val' => 0],
- ]
- ],
- 109 => [
- 'id' => 109,
- 'content' => '一级分销订单数量满____个',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'direct_user_distribution_order_num', 'default_val' => 0],
- ]
- ],
- 110 => [
- 'id' => 110,
- 'content' => '粉丝分销商人数满____人',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'fans_distribution_num', 'default_val' => 0],
- ]
- ],
- 111 => [
- 'id' => 111,
- 'content' => '一级粉丝分销商人数满____人',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'direct_fans_distribution_num', 'default_val' => 0],
- ]
- ],
- 112 => [
- 'id' => 112,
- 'content' => '分销结算佣金总额满____元',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'total_settlement_commission', 'default_val' => 0],
- ]
- ],
- 113 => [
- 'id' => 113,
- 'content' => '直推分销商等级>=____数量____个',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'direct_distribution_level', 'default_val' => 0, 'source' => ['class' => 'addons\Distribution\common\models\DistributionLevel', 'method' => 'getListByUpgrade', 'key' => 'source_list']],
- ['type' => 'text', 'name' => 'direct_distribution_level_num', 'default_val' => 0],
- ]
- ],
- 114 => [
- 'id' => 114,
- 'content' => '间推分销商等级>=____数量____个',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'indirect_distribution_level', 'default_val' => 0, 'source' => ['class' => 'addons\Distribution\common\models\DistributionLevel', 'method' => 'getListByUpgrade', 'key' => 'source_list']],
- ['type' => 'text', 'name' => 'indirect_distribution_level_num', 'default_val' => 0],
- ]
- ],
- 115 => [
- 'id' => 115,
- 'content' => '团队分销商(直推和间推)等级>=____数量____个',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'team_distribution_level', 'default_val' => 0, 'source' => ['class' => 'addons\Distribution\common\models\DistributionLevel', 'method' => 'getListByUpgrade', 'key' => 'source_list']],
- ['type' => 'text', 'name' => 'team_distribution_level_num', 'default_val' => 0],
- ]
- ],
- 116 => [
- 'id' => 116,
- 'content' => '成为分销商后,好友人数____人,下级团队业绩达到____元',
- 'remark' => '注意:帮助用户升级到此等级的直推用户人数跟团队团队业绩(订单完成)都将不再进行统计',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'distribution_direct_num', 'default_val' => 0],
- ['type' => 'text', 'name' => 'distribution_team_achievement', 'default_val' => 0],
- ]
- ],
- 117 => [
- 'id' => 117,
- 'content' => '____等级,直推____等级数量____个,同时直推业绩____元',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'user_level', 'default_val' => '', 'source' => ['class' => 'addons\PremiumDistribution\common\models\PremiumDistributionLevel', 'method' => 'getListByUpgrade', 'key' => 'source_list']],
- ['type' => 'select', 'name' => 'child_level', 'default_val' => '', 'source' => ['class' => 'addons\PremiumDistribution\common\models\PremiumDistributionLevel', 'method' => 'getListByUpgrade', 'key' => 'source_list']],
- ['type' => 'text', 'name' => 'rec_num', 'default_val' => 0],
- ['type' => 'text', 'name' => 'direct_performance', 'default_val' => 0],
- ]
- ],
- 500 => [
- 'id' => 500,
- 'content' => "指定商品<el-tooltip class='item' effect='dark' content='设置>订单设置>业绩设置。请根据以上指引路径进行设置' placement='top'>
- <i class='el-icon-info'></i></el-tooltip>,<span>总团队业绩</span>
- <span class='radio-inline' v-if='is_set_condition'>(<input type='radio' id='include_yourself_1' name='is_include_yourself' value='0'>
- <label for='include_yourself_1'>包含自己</label>
- <input type='radio' id='include_yourself_0' name='is_include_yourself' value='0' checked>
- <label for='include_yourself_0'>不包含自己</label>)</span><span style='display:none;'>____</span>
- <span>达到____元,大市场业绩达到____元,小市场业绩达到____元 <el-tooltip class='item' effect='dark' content='统计的业绩包含平台+多商户' placement='top'>
- <i class='el-icon-info'></i></el-tooltip> (</span>
- <span class='radio-inline' v-if='is_set_condition'><input type='radio' id='is_when_settlement_500_1' name='is_when_settlement_500' value='0'>
- <label for='is_when_settlement_500_1'>订单支付</label>
- <input type='radio' id='is_when_settlement_500_0' name='is_when_settlement_500' value='0' checked>
- <label for='is_when_settlement_500_0'>订单完成</label></span><span style='display:none;'>____</span>
- <span>) 业绩计算类型(</span>
- <span class='radio-inline' v-if='is_set_condition'><input type='radio' id='settle_achievement_500_0' name='settle_achievement_500' value='0' checked>
- <label for='settle_achievement_500_0'>商品利润</label>
- <input type='radio' id='settle_achievement_500_1' name='settle_achievement_500' value='0'>
- <label for='settle_achievement_500_1'>实付金额</label>)</span><span style='display:none;'>____</span>
- <span>)</span>",
- 'remark' => '',
- 'type' => 'default',
- 'is_html' => 1,
- 'setting' => [
- ['type' => 'radio', 'name' => 'is_include_yourself', 'default_val' => 0, 'source' => ['class' => self::class, 'method' => 'getIsIncludesSelf', 'key' => 'radio_includes_self_list']],
- ['type' => 'text', 'name' => 'total_performance', 'default_val' => 0],
- ['type' => 'text', 'name' => 'max_performance', 'default_val' => 0],
- ['type' => 'text', 'name' => 'min_performance', 'default_val' => 0],
- ['type' => 'radio', 'name' => 'is_when_settlement', 'default_val' => 0, 'source' => ['class' => self::class, 'method' => 'getWhenSettlement', 'key' => 'radio_when_settlement_list']],
- ['type' => 'radio', 'name' => 'settle_achievement', 'default_val' => 0, 'source' => ['class' => self::class, 'method' => 'getSettleAchievement', 'key' => 'radio_settle_achievement_list']],
- ]
- ],
- 501 => [
- 'id' => 501,
- 'content' => "<span>累积消费商品利润达到____元</span>
- <span class='radio-inline' v-if='is_set_condition'>(<input type='radio' id='is_when_settlement_501_1' name='is_when_settlement_501' value='0'>
- <label for='is_when_settlement_501_1'>订单支付</label>
- <input type='radio' id='is_when_settlement_501_0' name='is_when_settlement_501' value='0' checked>
- <label for='is_when_settlement_501_0'>订单完成</label>)</span><span style='display:none;'>____</span>",
- 'remark' => '',
- 'type' => 'default',
- 'is_html' => 1,
- 'setting' => [
- ['type' => 'text', 'name' => 'consume_amount', 'default_val' => 0],
- ['type' => 'radio', 'name' => 'is_when_settlement', 'default_val' => 0, 'source' => ['class' => self::class, 'method' => 'getWhenSettlement', 'key' => 'radio_when_settlement_list']],
- ]
- ],
- 502 => [
- 'id' => 502,
- 'content' => '自己+团队累计购买件数达到____件',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'self_team_order_goods_num', 'default_val' => 0],
- ]
- ],
- 550 => [
- 'id' => 550,
- 'content' => '直推经销商等级>=____数量____个',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'direct_agent_level', 'default_val' => 0, 'source' => ['class' => 'addons\AgentDividend\common\models\AgentLevel', 'method' => 'getAgentListByUpgrade', 'key' => 'source_list']],
- ['type' => 'text', 'name' => 'direct_agent_level_num', 'default_val' => 0],
- ]
- ],
- 551 => [
- 'id' => 551,
- 'content' => '所有下级经销商等级>=____数量____个',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'subordinates_agent_level', 'default_val' => 0, 'source' => ['class' => 'addons\AgentDividend\common\models\AgentLevel', 'method' => 'getAgentListByUpgrade', 'key' => 'source_list']],
- ['type' => 'text', 'name' => 'subordinates_agent_level_num', 'default_val' => 0],
- ]
- ],
- 609 => [
- 'id' => 609,
- 'content' => '购买指定商品,商品ID组____,且数量累计达到____件',
- 'remark' => '购买其中任意一个商品并且支付成功,且数量达到件数要求即可满足此条件',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'goods_ids', 'default_val' => ''],
- ['type' => 'text', 'name' => 'goods_num', 'default_val' => 0],
- ]
- ],
- 700 => [
- 'id' => 700,
- 'content' => '团队满足____条线内,达到____个成员,晋升____以上等级',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'num', 'default_val' => 0],
- ['type' => 'text', 'name' => 'member_num', 'default_val' => 0],
- ['type' => 'select', 'name' => 'servebonus_level', 'default_val' => 0, 'source' => ['class' => 'addons\ServeBonus\common\models\ServeBonusLevel', 'method' => 'getListByUpgrade', 'key' => 'source_list']],
- ]
- ],
- 701 => [
- 'id' => 701,
- 'content' => "<span>总团队业绩</span>
- <span class='radio-inline' v-if='is_set_condition'>(<input type='radio' id='include_yourself_1' name='is_include_yourself' value='0'>
- <label for='include_yourself_1'>包含自己</label>
- <input type='radio' id='include_yourself_0' name='is_include_yourself' value='0' checked>
- <label for='include_yourself_0'>不包含自己</label>)</span><span style='display:none;'>____</span>
- <span>达到____元,大市场业绩达到____元,小市场业绩达到____元</span>
- <span class='radio-inline' v-if='is_set_condition'>(<input type='radio' id='is_when_settlement_701_1' name='is_when_settlement_701' value='0'>
- <label for='is_when_settlement_701_1'>订单支付</label>
- <input type='radio' id='is_when_settlement_701_0' name='is_when_settlement_701' value='0' checked>
- <label for='is_when_settlement_701_0'>订单完成</label>)</span><span style='display:none;'>____</span>",
- 'remark' => '',
- 'type' => 'default',
- 'is_html' => 1,
- 'setting' => [
- ['type' => 'radio', 'name' => 'is_include_yourself', 'default_val' => 0, 'source' => ['class' => self::class, 'method' => 'getIsIncludesSelf', 'key' => 'radio_includes_self_list']],
- ['type' => 'text', 'name' => 'total_performance', 'default_val' => 0],
- ['type' => 'text', 'name' => 'max_performance', 'default_val' => 0],
- ['type' => 'text', 'name' => 'min_performance', 'default_val' => 0],
- ['type' => 'radio', 'name' => 'is_when_settlement', 'default_val' => 0, 'source' => ['class' => self::class, 'method' => 'getWhenSettlement', 'key' => 'radio_when_settlement_list']],
- ]
- ],
- 702 => [
- 'id' => 702,
- 'content' => '团队满足____条线内,达到____个成员,晋升____以上等级',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'num', 'default_val' => 0],
- ['type' => 'text', 'name' => 'member_num', 'default_val' => 0],
- ['type' => 'select', 'name' => 'servebonus_level', 'default_val' => 0, 'source' => ['class' => 'addons\AgentDividend\common\models\AgentLevel', 'method' => 'getAgentListByUpgrade', 'key' => 'source_list']],
- ]
- ],
- 703 => [
- 'id' => 703,
- 'content' => '所有云库存商品进货金额累计达到____元',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'num', 'default_val' => 0]
- ]
- ],
- 704 => [
- 'id' => 704,
- 'content' => '成为____云库存等级后,在____天内培养____条线都存在____云库存等级且团队业绩累积达到____万,最大分支业绩计算不超过____万(超出部分不计算升级业绩,其他分支正常计算)',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'cloud_stock_level', 'default_val' => '', 'source' => ['class' => 'addons\CloudStock\common\models\CloudStockLevel', 'method' => 'getListByUpgrade', 'key' => 'source_list1']],
- ['type' => 'text', 'name' => 'day_num', 'default_val' => 0],
- ['type' => 'text', 'name' => 'line_num', 'default_val' => 0],
- ['type' => 'select', 'name' => 'child_cloud_stock_level', 'default_val' => '', 'source' => ['class' => 'addons\CloudStock\common\models\CloudStockLevel', 'method' => 'getListByUpgrade', 'key' => 'source_list2']],
- ['type' => 'text', 'name' => 'accumulated_performance', 'default_val' => 0],
- ['type' => 'text', 'name' => 'max_accumulated_performance', 'default_val' => 0],
- ]
- ],
- 705 => [
- 'id' => 705,
- 'content' => '成为____云库存等级后,在____天内培养____条线都存在____服务商等级且团队业绩累积达到____万,最大分支业绩计算不超过____万(超出部分不计算升级业绩,其他分支正常计算)',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'select', 'name' => 'cloud_stock_level', 'default_val' => '', 'source' => ['class' => 'addons\CloudStock\common\models\CloudStockLevel', 'method' => 'getListByUpgrade', 'key' => 'source_list3']],
- ['type' => 'text', 'name' => 'day_num', 'default_val' => 0],
- ['type' => 'text', 'name' => 'line_num', 'default_val' => 0],
- ['type' => 'select', 'name' => 'serve_bonus_level', 'default_val' => '', 'source' => ['class' => 'addons\ServeBonus\common\models\ServeBonusLevel', 'method' => 'getListByUpgrade', 'key' => 'source_list4']],
- ['type' => 'text', 'name' => 'accumulated_performance', 'default_val' => 0],
- ['type' => 'text', 'name' => 'max_accumulated_performance', 'default_val' => 0],
- ]
- ],
- 118 => [
- 'id' => 118,
- 'content' => '团队____条线,出现____个____等级',
- 'remark' => '',
- 'type' => 'default',
- 'setting' => [
- ['type' => 'text', 'name' => 'team_num', 'default_val' => 0],
- ['type' => 'text', 'name' => 'level_num', 'default_val' => 0],
- ['type' => 'select', 'name' => 'agent_level', 'default_val' => 0, 'source' => ['class' => 'common\models\user\UserLevel', 'method' => 'getUserListByUpgrade', 'key' => 'source_list']],
- ]
- ],
- 119 => [
- 'id' => 119,
- 'content' => "指定商品<el-tooltip class='item' effect='dark' content='设置>订单设置>业绩设置。请根据以上指引路径进行设置' placement='top'>
- <i class='el-icon-info'></i></el-tooltip>,<span>总团队业绩</span>
- <span class='radio-inline' v-if='is_set_condition'>(<input type='radio' id='include_yourself_1' name='is_include_yourself' value='0'>
- <label for='include_yourself_1'>包含自己</label>
- <input type='radio' id='include_yourself_0' name='is_include_yourself' value='0' checked>
- <label for='include_yourself_0'>不包含自己</label>)</span><span style='display:none;'>____</span>
- <span>达到____元,大市场业绩达到____元,某一小市场业绩达到____元</span>
- <span class='radio-inline' v-if='is_set_condition'>(<input type='radio' id='is_when_settlement_119_1' name='is_when_settlement_119' value='0'>
- <label for='is_when_settlement_119_1'>订单支付</label>
- <input type='radio' id='is_when_settlement_119_0' name='is_when_settlement_119' value='0' checked>
- <label for='is_when_settlement_119_0'>订单完成</label>)</span><span style='display:none;'>____</span>",
- 'remark' => '',
- 'type' => 'default',
- 'is_html' => 1,
- 'setting' => [
- ['type' => 'radio', 'name' => 'is_include_yourself', 'default_val' => 0, 'source' => ['class' => self::class, 'method' => 'getIsIncludesSelf', 'key' => 'radio_includes_self_list']],
- ['type' => 'text', 'name' => 'total_performance', 'default_val' => 0],
- ['type' => 'text', 'name' => 'max_performance', 'default_val' => 0],
- ['type' => 'text', 'name' => 'min_performance', 'default_val' => 0],
- ['type' => 'radio', 'name' => 'is_when_settlement', 'default_val' => 0, 'source' => ['class' => self::class, 'method' => 'getWhenSettlement', 'key' => 'radio_when_settlement_list']],
- ]
- ],
- 120 => [
- 'id' => 120,
- 'content' => "指定商品<el-tooltip class='item' effect='dark' content='设置>订单设置>业绩设置。请根据以上指引路径进行设置' placement='top'>
- <i class='el-icon-info'></i></el-tooltip>,<span>个人累计达到____元,小区业绩达到____元</span>
- <span class='radio-inline' v-if='is_set_condition'>(<input type='radio' id='is_when_settlement_120_1' name='is_when_settlement_120' value='0' checked>
- <label for='settle_price_0'>实付金额</label>
- <input type='radio' id='settle_price_120_0' name='is_when_settlement_120' value='1' >
- <label for='settle_price_120_1'>商品售价</label>)</span>",
- 'remark' => '',
- 'type' => 'default',
- 'is_html' => 1,
- 'setting' => [
- ['type' => 'text', 'name' => 'personal_achievement', 'default_val' => 0],
- ['type' => 'text', 'name' => 'min_performance', 'default_val' => 0],
- ['type' => 'radio', 'name' => 'settle_price', 'default_val' => 0, 'source' => ['class' => self::class, 'method' => 'getSettlePrice', 'key' => 'getSettlePrice']],
- ]
- ],
- ];
- /**
- * {@inheritdoc}
- */
- public static function tableName()
- {
- return '{{%upgrade_condition}}';
- }
- /**
- * {@inheritdoc}
- */
- public function rules()
- {
- return [
- [['mall_id'], 'required'],
- [['mall_id', 'status', 'created_at', 'updated_at'], 'integer'],
- [['content'], 'string', 'max' => 1000],
- [['remark'], 'string', 'max' => 255],
- ];
- }
- /**
- * {@inheritdoc}
- */
- public function attributeLabels()
- {
- return [
- 'id' => 'ID',
- 'mall_id' => 'Mall ID',
- 'content' => '内容',
- 'remark' => '备注',
- 'status' => '状态[-1:删除;0:禁用;1启用]',
- 'created_at' => 'Created At',
- 'updated_at' => 'Updated At',
- ];
- }
- /**
- * 保存数据
- * @param array $params
- * @return bool|UpgradeCondition
- */
- public static function setData(array $params)
- {
- try {
- if (!empty($params['id'])) {
- $model = self::findOne(['id' => $params['id'], 'status' => [StatusEnum::ENABLED, StatusEnum::DISABLED]]);
- if (empty($model)) throw new Exception('服务不存在或已删除');
- } else {
- $model = new self();
- $model->loadDefaultValues();
- }
- isset($params['content']) && $model->content = $params['content'];
- isset($params['remark']) && $model->remark = $params['remark'];
- isset($params['status']) && $model->status = $params['status'];
- isset($params['mall_id']) && $model->mall_id = $params['mall_id'];
- $res = $model->save();
- if ($res === false) throw new Exception($model->getErrorMessage());
- return $model;
- } catch (Exception $e) {
- self::$static_error = $e->getMessage();
- return false;
- }
- }
- /**
- * 删除
- * @param $id
- * @param $status
- * @return bool
- */
- public static function del($id, $status)
- {
- try {
- $query = self::find()->where([
- 'and',
- ['id' => $id],
- ['<>', 'status', StatusEnum::DELETE]
- ]);
- $model = $query->one();
- $model->status = $status;
- $model->save();
- return true;
- } catch (\Exception $e) {
- return false;
- }
- }
- public static function getDataAttr()
- {
- return static::$data;
- }
- public static function getData($ids = [])
- {
- $rows = static::getDataAttr();
- $arr = [];
- if (empty($ids)) return $rows;
- foreach ($ids as $id) {
- if(isset($rows[$id]) == false) continue;
- $arr[] = $rows[$id];
- }
- $arr = array_values(ArrayHelper::arraySort($arr, 'id', 'asc'));
- return $arr;
- }
- /**
- * 获取升级条件模板数据
- * @param $obj
- * @param $mall_id
- * @param $rules
- * @param $source
- * @return array
- */
- public static function getUpgradeConditionData($obj, $mall_id, $rules, $source = '',$is_show_condition = 1,$ext_params = [])
- {
- $rule_list = [];
- $is_buy_goods = 0;
- $is_buy_store_goods = 0;
- $source_list = [];
- $key_arr = [];
- $enable_goods_protocol = $source == 'user_level' ? 1 : 0;
- $buy_store_goods_limit = $ext_params['buy_store_goods_limit'] ?? 20;
- $checkbox_list = [];
- foreach ($rules as $k => $item) {
- if ($item['type'] == 'buy_goods') {
- $is_buy_goods = 1;
- continue;
- }
- if ($item['type'] == 'buy_store_goods') {
- if(!MallAddons::isInstall($mall_id,'Store')) continue;
- $is_buy_store_goods = 1;
- continue;
- }
- if (!empty($item['setting'])) {
- foreach ($item['setting'] as &$sett) {
- if ($sett['type'] == 'selectGoodsCats') {
- $sett['default_val'] = empty($sett['default_val']) ? Json::encode([]) : $sett['default_val'];
- }
- }
- }
- $rule_list[] = $item;
- $row = [];
- $row['key'] = $item['id'];
- if($item['setting']){
- foreach ($item['setting'] as $value) {
- $row['value'][$value['name']] = '';
- if ($item['id'] == 95) {
- $row['value'][$value['name']] = [];
- }
- if ($value['is_checkbox']) {
- $row['value'][$value['name']] = [];
- if (!empty($value['default_val'])) {
- $row['value'][$value['name']] = $value['default_val'];
- }
- }
- if (!empty($value['source']['class']) && !empty($value['source']['method']) && class_exists($value['source']['class'])) {
- $class = $value['source']['class'];
- $method = $value['source']['method'];
- $rows = $class::$method(['mall_id' => $mall_id]);
- if ($value['type'] == 'checkbox') {
- $checkbox_list[$value['source']['key']] = $rows;
- } else {
- $source_list[$value['source']['key']] = $rows;
- }
- }
- }
- }
- $key_arr[] = $row;
- }
- $rule_list = array_values(array_filter($rule_list, function ($val) {
- return !empty($val);
- }));
- $source_list = json_encode($source_list, JSON_NUMERIC_CHECK);
- $checkbox_list = json_encode($checkbox_list, JSON_NUMERIC_CHECK);
- $key_arr = json_encode($key_arr, JSON_NUMERIC_CHECK);
- $cats = Json::encode(GoodsCate::getTreeCate(GoodsCate::lists([
- 'where' => [
- ['mall_id' => $mall_id],
- ['status' => StatusEnum::ENABLED]
- ],
- 'select'=> 'id, name, parent_id'
- ])));
- $key_arr = Json::decode($key_arr);
- $key_arr = array_values(array_filter($key_arr, function ($val) {
- return !empty($val['key']);
- }));
- $tpl = $obj->renderPartial('@backend/modules/mall/views/upgrade-condition/tpl/tpl.php', ['rules' => $rule_list,
- 'is_buy_goods' => $is_buy_goods,
- 'is_buy_store_goods' => $is_buy_store_goods,
- 'mall_id' => $mall_id,
- 'enable_goods_protocol' => $enable_goods_protocol,
- 'is_show_condition' => $is_show_condition,
- 'buy_store_goods_limit' => $buy_store_goods_limit,
- ]);
- return ['tpl' => $tpl, 'source_list' => $source_list, 'key_arr' => Json::encode($key_arr), 'cat_list' => $cats, 'checkbox_list' => $checkbox_list];
- }
- /**
- * @desc:校验
- * @Author: hua
- * @Date: 2021/10/19
- * @Time: 14:26
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $user_id
- * @param $agent_level_arr
- * @param $mall_id
- * @param int $order_id 订单ID
- * @return bool
- */
- public static function check($user_id, $agent_level_arr, $mall_id = 0, $upgrade_level = 0, $order_id = 0)
- {
- if (empty($agent_level_arr['condition_type'])) return false;
- $condition_type = $agent_level_arr['condition_type'];
- $keys_arr = json_decode($agent_level_arr['checked_condition_keys'], true);
- $values_arr = json_decode($agent_level_arr['checked_condition_values'], true);
- if (empty($values_arr)) return false;
- $arr = []; //升级条件
- foreach ($values_arr as $K => $v) {
- $arr[$v['key']] = $v;
- }
- $is_return = false;
- sort($keys_arr);
- foreach ($keys_arr as $id) {
- $function = 'condition' . $id;
- $params['condition_data'] = static::getDataAttr();
- $params['user_id'] = $user_id;
- $params['arr'] = $arr;
- $params['key'] = $id;
- $params['children_id_arr1'] = [];
- $params['children_id_arr2'] = [];
- $params['user_id_arr'] = [];
- $params['children_id_arr'] = [];
- $params['name1'] = '';
- $params['name2'] = '';
- $params['model_class'] = '';
- $params['data'] = [];
- $params['mall_id'] = $mall_id;
- $params['upgrade_level'] = $upgrade_level;
- $params['order_id'] = $order_id;
- if (!method_exists(static::class, $function)) continue;
- $is_bool = static::$function($params);
- //满足其一
- if ($condition_type == 1) {
- if ($is_bool) {
- $is_return = true;
- break;
- } else {
- $is_return = false;
- }
- }
- //满足所有
- if ($condition_type == 2) {
- if ($is_bool) {
- $is_return = true;
- } else {
- $is_return = false;
- break;
- }
- }
- }
- return $is_return;
- }
- /**
- * @desc:购买商品升级
- * @Author: hua
- * @Date: 2021/10/19
- * @Time: 14:51
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $user_id
- * @param $goods_type
- * @param $buy_goods_id
- * @param $goods_id_arr
- * @return bool
- */
- public static function buyGoods($goods_type, $buy_goods_id, $goods_id_arr, $extParams = [])
- {
- //任意商品
- if ($goods_type == 1) return true;
- //购买指定商品
- if ($goods_type == 2) {
- $is_custom_condition_num = $extParams['is_custom_condition_num'] ?? 0;
- if (!$is_custom_condition_num) {
- if (array_intersect($buy_goods_id, $goods_id_arr)) return true;
- } else {
- $buy_goods_type = $extParams['buy_goods_type'];
- $condition_num_map = $extParams['condition_num_map'];
- $mall_id = $extParams['mall_id'];
- $user_id = $extParams['user_id'];
- $where = [
- [
- 'mall_id' => $mall_id,
- 'user_id' => $user_id,
- 'status' => StatusEnum::ENABLED,
- 'goods_id' => $goods_id_arr,
- ]
- ];
- // 订单完成
- if (!$buy_goods_type) {
- $where[] = ['order_status' => OrderStatusEnum::ACCOMPLISH];
- } else { // 订单支付
- $where[] = ['>', 'order_status', OrderStatusEnum::NOT_PAY];
- }
-
- $orderDetailFind = OrderDetail::find();
- OrderDetail::paramPack([
- 'where' => $where,
- 'index' => 'goods_id',
- 'select' => new Expression('goods_id, SUM(num) num'),
- 'group' => 'goods_id',
- ], $orderDetailFind);
- $goodsNums = array_column($orderDetailFind->asArray()->all(), 'num', 'goods_id');
- foreach ($goods_id_arr as $goodsId) {
- if (!isset($goodsNums[$goodsId], $condition_num_map[$goodsId])) {
- continue;
- }
- if ($goodsNums[$goodsId] >= $condition_num_map[$goodsId]) {
- return true;
- }
- }
- }
- }
- return false;
- }
- /**
- * @desc:购买商品分类升级
- * @Author: hua
- * @Date: 2021/10/19
- * @Time: 14:51
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $buy_cate_id
- * @param $cate_id_arr
- * @return bool
- */
- public static function buyGoodsCate($buy_cate_id, $cate_id_arr)
- {
- if (array_intersect($buy_cate_id, $cate_id_arr)) return true;
- return false;
- }
- /**
- * @desc: 条件1
- * 个人订单数量满____笔,个人订单满____元
- * @Author: hua
- * @Date: 2021/10/19
- * @Time: 11:41
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition1($params)
- {
- $params['data'] = [];
- return static::upgrade1(
- $params,
- $params['user_id'],
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:条件2
- * 一级客户人数满____个,一级客户订单数量满____笔,一级客户订单满____元
- * @Author: hua
- * @Date: 2021/10/19
- * @Time: 11:43
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return false
- */
- protected static function condition2($params)
- {
- $children_id_arr = UserPartitionRelationship::getChildIdArr($params['user_id'], 1);
- return static::upgrade1($params, $children_id_arr, $params['arr'], $params['key']);
- }
- /**
- * @desc:条件3
- * 二级客户人数满____个,二级客户订单数量满____笔,二级客户订单满____元
- * @Author: hua
- * @Date: 2021/10/19
- * @Time: 14:26
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition3($params)
- {
- $children_id_arr = UserPartitionRelationship::getChildIdArr($params['user_id'], 2);
- return static::upgrade1($params, $children_id_arr, $params['arr'], $params['key']);
- }
- /**
- * @desc:条件4
- * 团队人数(直推和间推)满____个,团队人数(直推和间推)订单数量满____笔,团队人数(直推和间推)订单满____元
- * @Author: hua
- * @Date: 2021/10/19
- * @Time: 14:26
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition4($params)
- {
- $children_id_arr1 = UserPartitionRelationship::getChildIdArr($params['user_id'], 1);
- $children_id_arr2 = UserPartitionRelationship::getChildIdArr($params['user_id'], 2);
- $children_id_arr = array_merge($children_id_arr1, $children_id_arr2);
- return static::upgrade1($params, $children_id_arr, $params['arr'], $params['key']);
- }
- /**
- * @desc:条件5
- * 直推会员等级____数量____个
- * @Author: hua
- * @Date: 2021/10/19
- * @Time: 14:38
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition5($params)
- {
- $user_id_arr = UserPartitionRelationship::getChildIdArr($params['user_id'], 1);
- return static::upgrade5(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- $user_id_arr,
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:条件6
- * 间推会员等级____数量____个
- * @Author: hua
- * @Date: 2021/10/19
- * @Time: 14:39
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition6($params)
- {
- $user_id_arr = UserPartitionRelationship::getChildIdArr($params['user_id'], 2);
- return static::upgrade5(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- $user_id_arr,
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:条件7
- * 团队人数(直推和间推)等级____数量____个
- * @Author: hua
- * @Date: 2021/10/19
- * @Time: 14:43
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition7($params)
- {
- $children_id_arr1 = UserPartitionRelationship::getChildIdArr($params['user_id'], 1);
- $children_id_arr2 = UserPartitionRelationship::getChildIdArr($params['user_id'], 2);
- $user_id_arr = array_merge($children_id_arr1, $children_id_arr2);
- return static::upgrade5(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- $user_id_arr,
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:条件9
- * 直推客户消费满____元的人数满____个,间推客户消费满____元的人数满____个
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 11:37
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition9($params)
- {
- $children_id_arr1 = UserPartitionRelationship::getChildIdArr($params['user_id'], 1);
- $children_id_arr2 = UserPartitionRelationship::getChildIdArr($params['user_id'], 2);
- return static::upgrade9(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- $params['condition_data'][$params['key']]['setting'][2]['name'],
- $params['condition_data'][$params['key']]['setting'][3]['name'],
- $children_id_arr1,
- $children_id_arr2,
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:条件10
- * 直推____人,并且直推中购买商品ID____的人数____个
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 11:37
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition10($params)
- {
- $children_id_arr1 = UserPartitionRelationship::getChildIdArr($params['user_id'], 1);
- return static::upgrade10(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- $params['condition_data'][$params['key']]['setting'][2]['name'],
- $children_id_arr1,
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:条件11
- * 个人业绩____元,所有下级业绩____元
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 14:16
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition11($params)
- {
- return static::upgrade11(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- $params['user_id'],
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:条件12
- * 间推客户数量____个,间推客户订单金额____元
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 14:16
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition12($params)
- {
- $user_id_arr = UserPartitionRelationship::getChildIdArr($params['user_id'], 2);
- return static::upgrade12(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- $user_id_arr,
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:条件13
- * 经销商默认等级达到____人
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 14:16
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition13($params)
- {
- return static::upgrade13(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['user_id'],
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:条件14
- * 直推经销商等级____数量____个
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 14:16
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition14($params)
- {
- $user_id_arr = UserPartitionRelationship::getChildIdArr($params['user_id'], 1);
- return static::upgrade14(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- 'addons\Agent\common\models\Agent',
- $user_id_arr,
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:条件15
- * 所有下级经销商等级____数量____个
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 14:16
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition15($params)
- {
- return static::upgrade15(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- 'addons\Agent\common\models\Agent',
- $params['user_id'],
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:条件16
- * 所有下级单量指标____单
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 14:39
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition16($params)
- {
- return static::upgrade16(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['user_id'],
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:条件17
- * 团队单量大于____单
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 14:39
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition17($params)
- {
- return static::upgrade17(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['user_id'],
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:条件18
- * 直推股东等级____数量____个
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 14:16
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition18($params)
- {
- $user_id_arr = UserPartitionRelationship::getChildIdArr($params['user_id'], 1);
- return static::upgrade14(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- 'addons\Boss\common\models\AddonsBoss',
- $user_id_arr,
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:条件19
- * 间推股东等级____数量____个
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 14:16
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition19($params)
- {
- $user_id_arr = UserPartitionRelationship::getChildIdArr($params['user_id'], 2);
- return static::upgrade14(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- 'addons\Boss\common\models\AddonsBoss',
- $user_id_arr,
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:条件20
- * 团队股东等级____数量____个
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 14:16
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition20($params)
- {
- return static::upgrade15(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- 'addons\Boss\common\models\AddonsBoss',
- $params['user_id'],
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:条件21
- * 直推客户消费满____元
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 15:03
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition21($params)
- {
- $user_id_arr = UserPartitionRelationship::getChildIdArr($params['user_id'], 1);
- return static::upgrade21(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $user_id_arr,
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:条件22
- * 一级客户消费满____元的人数满____个
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 15:41
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition22($params)
- {
- $user_id_arr = UserPartitionRelationship::getChildIdArr($params['user_id'], 1);
- return static::upgrade22(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- $user_id_arr,
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:条件23
- * 分销佣金金额满____元
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 15:41
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition23($params)
- {
- return static::upgrade23(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['user_id'],
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:条件24
- * 分销订单数量满____个
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 15:41
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition24($params)
- {
- return static::upgrade24(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['user_id'],
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:一级分销佣金金额满____元
- * @Author: hua
- * @Date: 2021/11/18
- * @Time: 16:39
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition25($params)
- {
- return static::upgrade25(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['user_id'],
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:一级分销订单数量满____个
- * @Author: hua
- * @Date: 2021/11/18
- * @Time: 16:43
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition26($params)
- {
- return static::upgrade24(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['user_id'],
- $params['arr'],
- $params['key'],
- 'first'
- );
- }
- /**
- * @desc:自购订单金额满____元
- * @Author: hua
- * @Date: 2021/11/18
- * @Time: 16:45
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition27($params)
- {
- return static::upgrade27(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['user_id'],
- 'order_total_price',
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:自购订单数量满____个
- * @Author: hua
- * @Date: 2021/11/18
- * @Time: 16:45
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition28($params)
- {
- return static::upgrade27(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['user_id'],
- 'order_num',
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:粉丝人数满____人
- * @Author: hua
- * @Date: 2021/11/18
- * @Time: 16:45
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition29($params)
- {
- return static::upgrade29(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['user_id'],
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:一级粉丝人数满____人
- * @Author: hua
- * @Date: 2021/11/18
- * @Time: 17:01
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition30($params)
- {
- $user_id = UserPartitionRelationship::getChildIdArr($params['user_id'], 1);
- return static::upgrade30(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $user_id,
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:粉丝分销商人数满____人
- * @Author: hua
- * @Date: 2021/11/18
- * @Time: 17:01
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition31($params)
- {
- return static::upgrade31(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['user_id'],
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:一级粉丝分销商人数满____人
- * @Author: hua
- * @Date: 2021/11/18
- * @Time: 17:01
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition32($params)
- {
- $user_id = UserPartitionRelationship::getChildIdArr($params['user_id'], 1);
- return static::upgrade32(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $user_id,
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:分销结算佣金总额满____元
- * @Author: hua
- * @Date: 2021/11/18
- * @Time: 17:05
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition33($params)
- {
- return static::upgrade33(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['user_id'],
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:直推分销商等级____数量____个
- * @Author: hua
- * @Date: 2021/11/18
- * @Time: 17:14
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition34($params)
- {
- $user_id = UserPartitionRelationship::getChildIdArr($params['user_id'], 1);
- return static::upgrade34(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- $user_id,
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:间推分销商等级____数量____个
- * @Author: hua
- * @Date: 2021/11/18
- * @Time: 17:14
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition35($params)
- {
- $user_id = UserPartitionRelationship::getChildIdArr($params['user_id'], 2);
- return static::upgrade34(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- $user_id,
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:间推经销等级____数量____个
- */
- protected static function condition75($params)
- {
- $user_id = UserPartitionRelationship::getChildIdArr($params['user_id'], 2);
- return static::upgrade75(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- $user_id,
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:团队分销商(直推和间推)等级____数量____个
- * @Author: hua
- * @Date: 2021/11/18
- * @Time: 17:14
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition36($params)
- {
- $user_id1 = UserPartitionRelationship::getChildIdArr($params['user_id'], 1);
- $user_id2 = UserPartitionRelationship::getChildIdArr($params['user_id'], 2);
- $user_id = array_merge($user_id1, $user_id2);
- return static::upgrade34(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- $user_id,
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:条件37
- * 直推服务商等级____数量____个
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 14:16
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition37($params)
- {
- $user_id_arr = UserPartitionRelationship::getChildIdArr($params['user_id'], 1);
- return static::upgrade14(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- 'addons\ServeBonus\common\models\ServeBonus',
- $user_id_arr,
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:条件38
- * 间推服务商等级____数量____个
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 14:16
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition38($params)
- {
- $user_id_arr = UserPartitionRelationship::getChildIdArr($params['user_id'], 2);
- return static::upgrade14(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- 'addons\ServeBonus\common\models\ServeBonus',
- $user_id_arr,
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:条件39
- * 团队服务商等级____数量____个
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 14:16
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition39($params)
- {
- return static::upgrade15(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- 'addons\ServeBonus\common\models\ServeBonus',
- $params['user_id'],
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:条件40
- * 直推客户消费满____元的人数满____个,团队客户消费满____元的人数满____个
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 11:37
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition40($params)
- {
- $children_id_arr1 = UserPartitionRelationship::getChildIdArr($params['user_id'], 1);
- $offset = 1;
- $limit = 1000;
- $team_user_id = [];
- $params['select'] = 'user_id';
- static::batchFunc($params, $params['user_id'], $offset, $limit, function ($user_ids) {
- return $user_ids;
- }, $team_user_id);
- return static::upgrade40(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- $params['condition_data'][$params['key']]['setting'][2]['name'],
- $params['condition_data'][$params['key']]['setting'][3]['name'],
- $children_id_arr1,
- $team_user_id,
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @name:
- * @msg: 条件40: 一级客户成功参团的人数满____个一级客户参团订单满____元
- * @param {*} $params
- * @return {*}
- */
- protected static function condition41($params)
- {
- return static::upgrade41Or42(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- 'addons\LuckyGroup\common\models\LuckyGroupUser',
- $params['user_id'],
- $params['arr'],
- $params['key'],
- 41
- );
- }
- /**
- * @name:
- * @msg: 二级客户成功参团的人数满____个二级客户参团订单满____元
- * @param {*} $params
- * @return {*}
- */
- protected static function condition42($params)
- {
- return static::upgrade41Or42(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- 'addons\LuckyGroup\common\models\LuckyGroupUser',
- $params['user_id'],
- $params['arr'],
- $params['key'],
- 42
- );
- }
- /**
- * @name:
- * @msg: 个人参团订单满____笔个人参团订单满____元
- * @param {*} $params
- * @return {*}
- */
- protected static function condition43($params)
- {
- return static::upgrade43(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- 'addons\LuckyGroup\common\models\LuckyGroupOrder',
- $params['user_id'],
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @name:
- * @msg: 直推拼团等级____数量____个
- * @param {*} $params
- * @return {*}
- */
- protected static function condition44($params)
- {
- return static::upgrade44Or45(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- 'addons\LuckyGroup\common\models\LuckyGroupUser',
- $params['user_id'],
- $params['arr'],
- $params['key'],
- 44
- );
- }
- /**
- * @name:
- * @msg: 间推拼团等级____数量____个
- * @param {*} $params
- * @return {*}
- */
- protected static function condition45($params)
- {
- return static::upgrade44Or45(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- 'addons\LuckyGroup\common\models\LuckyGroupUser',
- $params['user_id'],
- $params['arr'],
- $params['key'],
- 45
- );
- }
- /**
- * @desc:条件47
- * 团队下____条____个____等级
- * @Author: hua
- * @Date: 2022/7/20
- * @Time: 17:16
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition47($params)
- {
- return static::upgrade47(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- $params['condition_data'][$params['key']]['setting'][2]['name'],
- 'addons\Agent\common\models\Agent',
- $params['user_id'],
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:48
- * 直推____人是____等级
- * @Author: hua
- * @Date: 2022/7/20
- * @Time: 17:16
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition48($params)
- {
- return static::upgrade48(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- 'addons\Agent\common\models\Agent',
- $params['user_id'],
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:条件49
- * 团队业绩达____元
- * @Author: zeng
- * @Date: 2022/11/08
- * @Time: 14:16
- * @Copyright: copyright (c) 2022 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition49($params)
- {
- return static::upgrade49(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['user_id'],
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:条件49
- * 团队业绩达____元
- * @Author: zeng
- * @Date: 2022/11/08
- * @Time: 14:16
- * @Copyright: copyright (c) 2022 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition50($params)
- {
- return static::upgrade50(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- $params['condition_data'][$params['key']]['setting'][2]['name'],
- $params['user_id'],
- $params['arr'],
- $params['key']
- );
- }
- /**
- * 购买指定商品(限定团队购买数量)
- */
- public static function upgrade50($name1, $name2, $name3, $user_id, $arr, $key)
- {
- //购买指定的商品(限定购买数量)
- //团队累计购买商品达到N件,去除购买最多者的团队,其余人购买达到N件
- $offset = 1;
- $limit = 1000;
- $params['select'] = 'user_id';
- list($tree, $parent_deep, $all_tree, $all_tree_arr) = UserPartitionRelationship::getTree($user_id);
- $user_id_arr = [];
- while ($list = UserPartitionRelationship::batchGetTeamData($offset, $limit, $tree, $params)) {
- $user_id_arr = array_merge(array_column($list, 'user_id'));
- $offset++;
- }
- $goods_ids = explode(',', $arr[$key]['value'][$name3]);
- if (empty($goods_ids) || empty($user_id_arr)) {
- return false;
- }
- $where = [
- 'user_id' => $user_id_arr, 'goods_id' => $goods_ids,
- 'order_status' => [OrderStatusEnum::PAY, OrderStatusEnum::SHIPMENTS, OrderStatusEnum::SING, OrderStatusEnum::ACCOMPLISH]
- ];
- $list = OrderDetail::find()->where($where)
- ->groupBy('user_id')
- ->select('user_id,Sum(num) as counts')
- ->asArray()
- ->all();
- if (empty($list)) {
- return false;
- }
- $all_count = array_sum(array_column($list, 'counts')); //总数量
- $max_count = max(array_column($list, 'counts')); ////取团队购买最多者
- $max_user_id = 0;
- foreach ($list as $item) {
- if ($item['counts'] == $max_count) {
- $max_user_id = $item['user_id'];
- }
- }
- $max_user_id_arr = [];
- $offset = 1;
- if ($max_user_id > 0) {
- list($tree2, $parent_deep2, $all_tree2, $all_tree_arr2) = UserPartitionRelationship::getTree($max_user_id);
- $user_id_arr = [];
- while ($max_user_team_list = UserPartitionRelationship::batchGetTeamData($offset, $limit, $tree2, $params)) {
- $user_id_arr = array_merge(array_column($max_user_team_list, 'user_id'));
- $offset++;
- }
- $max_user_id_arr = array_merge($user_id_arr, [$max_user_id]);
- }
- $max_team_count = 0;
- foreach ($list as $item) {
- if (in_array($item['user_id'], $max_user_id_arr)) {
- $max_team_count += $item['counts'];
- }
- }
- //找出最多的这个人的团队
- $other_count = $all_count - $max_team_count; //除了最多者剩下的购买数量
- if ($arr[$key]['value'][$name1] != 0 && $arr[$key]['value'][$name2] != 0) {
- if ($all_count >= $arr[$key]['value'][$name1] && $other_count >= $arr[$key]['value'][$name2]) {
- return true;
- }
- return false;
- }
- if ($all_count >= $arr[$key]['value'][$name1] && $arr[$key]['value'][$name1] != 0) {
- return true;
- }
- if ($other_count >= $arr[$key]['value'][$name2] && $arr[$key]['value'][$name2] != 0) {
- return true;
- }
- //取其它购买总数
- return false;
- }
- /**
- * @desc:条件51
- * 个人充值或消费满___元
- * @Author: hua
- * @Date: 2021/10/19
- * @Time: 11:43
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return false
- */
- protected static function condition51($params)
- {
- $children_id_arr = $params['user_id'];
- return static::upgrade51($params, $children_id_arr, $params['arr'], $params['key']);
- }
- /**
- * 好友人数____人,下级团队业绩达到____元
- * @Author: lun
- * @DateTime: 2023/4/1 0001 15:56
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition52($params)
- {
- $direct = $params['condition_data'][$params['key']]['setting'][0]['name'];
- $achievement = $params['condition_data'][$params['key']]['setting'][1]['name'];
- $user_id = $params['user_id'];
- $arr = $params['arr'];
- $key = $params['key'];
- $is_bool = false;
- // 获取用户当前好友人数+团队业绩
- $data = ServeBonusUpgradeCount::find()->select('direct_num,achievement')->where(['user_id' => $user_id, 'status' => StatusEnum::ENABLED])->asArray()->one();
- if(empty($data)) return $is_bool;
- if ($data['direct_num'] >= $arr[$key]['value'][$direct] && $data['achievement'] >= $arr[$key]['value'][$achievement]) $is_bool = true;
- return $is_bool;
- }
- protected static function condition53($params)
- {
- $direct = $params['condition_data'][$params['key']]['setting'][0]['name'];
- $achievement = $params['condition_data'][$params['key']]['setting'][1]['name'];
- $user_id = $params['user_id'];
- $arr = $params['arr'];
- $key = $params['key'];
- $is_bool = false;
- // 获取用户当前好友人数+团队业绩
- $data = DistributionUpgradeCount::find()->select('direct_num,achievement')->where(['user_id' => $user_id, 'status' => StatusEnum::ENABLED])->asArray()->one();
- if(empty($data)) return $is_bool;
- if ($data['direct_num'] >= $arr[$key]['value'][$direct] && $data['achievement'] >= $arr[$key]['value'][$achievement]) $is_bool = true;
- return $is_bool;
- }
- /**
- * 链一二号市场总业绩达xx元,且单个市场业绩达xxx元
- * @param $params
- * @return bool
- */
- protected static function condition61($params)
- {
- $mall_id = $params['mall_id'];
- if (!MallAddons::isInstall($mall_id, AddonsEnum::ADDONS_NAME_ZAO_DOUBLE_COPY)) return false;
- $total_achievement = $params['condition_data'][$params['key']]['setting'][0]['name'];
- $single_market = $params['condition_data'][$params['key']]['setting'][1]['name'];
- $user_id = $params['user_id'];
- $arr = $params['arr'];
- $key = $params['key'];
- $total_achievement = $arr[$key]['value'][$total_achievement];
- $single_market = $arr[$key]['value'][$single_market];
- $is_bool = false;
- $team = ZaoDoubleCopyUser::find()->select('achievement')->where(['pid' => $user_id])->andWhere(['<=', 'pos', 2])->asArray()->all();
- $achievement = 0;
- $is_single = true;
- foreach ($team as $info) {
- // 判断单个市场是否及格
- if ($info['achievement'] < $single_market) {
- $is_single = false;
- break;
- }
- $achievement += $info['achievement'];
- }
- if ($is_single && $achievement >= $total_achievement) {
- $is_bool = true;
- }
- return $is_bool;
- }
- /**
- * 链一二号市场购买链动商品订单数达xx件,且单个市场订单数达xx件
- * @param $params
- * @return bool
- */
- protected static function condition62($params)
- {
- $mall_id = $params['mall_id'];
- if (!MallAddons::isInstall($mall_id, AddonsEnum::ADDONS_NAME_ZAO_DOUBLE_COPY)) return false;
- $total_order_num = $params['condition_data'][$params['key']]['setting'][0]['name'];
- $single_market_num = $params['condition_data'][$params['key']]['setting'][1]['name'];
- $user_id = $params['user_id'];
- $arr = $params['arr'];
- $key = $params['key'];
- $total_order_num = $arr[$key]['value'][$total_order_num];
- $single_market_num = $arr[$key]['value'][$single_market_num];
- $is_bool = false;
- $team = ZaoDoubleCopyUser::find()->select('user_id')->where(['pid' => $user_id])->andWhere(['<=', 'pos', 2])->asArray()->all();
- $total_num = 0;
- $is_single = true;
- foreach ($team as $info) {
- //获取用户下级购买订单数量
- $copy_user_id = $info['user_id'];
- $relation_arr = UserPartitionRelationship::getChildIdArrOrderBy($copy_user_id);
- array_push($relation_arr, $user_id);
- $order_num = ZaoDoubleCopyAchievement::find()->where(['user_id' => $relation_arr, 'is_order_user' => 1, 'status' => StatusEnum::ENABLED])->groupBy('order_id')->count();
- if ($order_num < $single_market_num) {
- $is_single = false;
- break;
- }
- $total_num += $order_num;
- }
- if ($is_single && $total_num >= $total_order_num) {
- $is_bool = true;
- }
- return $is_bool;
- }
- /**
- * 链动团队除最大市场外(即业绩最高市场)的团队小市场业绩总和达(不含复购链动商品)达XX 元
- * @param $params
- * @return bool
- */
- protected static function condition63($params)
- {
- $mall_id = $params['mall_id'];
- if (!MallAddons::isInstall($mall_id, AddonsEnum::ADDONS_NAME_ZAO_DOUBLE_COPY)) return false;
- $total_achievement = $params['condition_data'][$params['key']]['setting'][0]['name'];
- $user_id = $params['user_id'];
- $arr = $params['arr'];
- $key = $params['key'];
- $total_achievement = $arr[$key]['value'][$total_achievement];
- $is_bool = false;
- $team = ZaoDoubleCopyUser::find()->select('achievement')->where(['pid' => $user_id])->asArray()->all();
- $achievement_arr = array_column($team,'achievement');
- if(empty($achievement_arr)) return $is_bool;
- $max = max($achievement_arr);
- $total = array_sum($achievement_arr);
- $diff = bcsub($total,$max,2);
- if ($diff >= $total_achievement) {
- $is_bool = true;
- }
- return $is_bool;
- }
- /**
- * 当前用户下单笔数与下单金额
- * @param $params
- * @return bool
- */
- protected static function condition55($params)
- {
- $user_id = $params['user_id'];
- // 积分是否不累计
- $scoreSettingStr = Yii::$app->services->setting->mall->get($params['mall_id'], 'pay.score');
- $isNotCumulative = !empty(json_decode($scoreSettingStr, true)['is_not_cumulative']);
- $orderQuery = Order::find()
- ->where(['user_id' => $user_id, 'pay_status' => StatusEnum::ENABLED])
- ->andWhere(['mch_id' => StatusEnum::DISABLED, 'store_id' => StatusEnum::DISABLED]);
- if (!empty($isNotCumulative)) {
- // 如果开启积分支付不计入
- $orderQuery->andWhere(['<>', 'payment_type', PayTypeEnum::SCORE]);
- }
- $orderList = $orderQuery->select('pay_money')->asArray()->all();
- if (empty($orderList)) return false; // 订单为空直接返回false
- // 计算订单金额
- $orderMoneySum = array_sum(array_column($orderList, 'pay_money'));
- $order_cnt_name = $params['condition_data'][$params['key']]['setting'][0]['name'];
- $order_amount_name = $params['condition_data'][$params['key']]['setting'][1]['name'];
- $arr = $params['arr'];
- $key = $params['key'];
- return count($orderList) >= $arr[$key]['value'][$order_cnt_name] && $orderMoneySum >= $arr[$key]['value'][$order_amount_name];
- }
- /**
- * @desc: 条件56
- * 备注:因为新需求根据用户选择条件进行订单查询
- * 个人订单满____笔,个人订单满____元 (1 平台 2 多商户 3 门店) 备注:括号中为多选。按插件订单进行数据查询
- * @param $params
- * @return bool
- */
- public static function condition56($params)
- {
- $user_id = $params['user_id'];
- // 获取积分支付配置
- $scorePaySetting = Yii::$app->services->setting->mall->get($params['mall_id'], 'pay.score');
- $scorePaySetting = !empty($scorePaySetting) ? json_decode($scorePaySetting, true) : [];
- $orderQuery = Order::find()
- ->where(['user_id' => $user_id, 'pay_status' => StatusEnum::ENABLED]);
- if (!empty($scorePaySetting) && !empty($scorePaySetting['is_not_cumulative'])) {
- // 如果开启积分支付不计入
- $orderQuery->andWhere(['<>', 'payment_type', PayTypeEnum::SCORE]);
- }
- // 获取勾选订单插件
- $checkboxKey = $params['condition_data'][$params['key']]['setting'][2]['name'];
- $checkboxList = $params['arr'][$params['key']]['value'][$checkboxKey];
- if (!empty($checkboxList)) { // 判断是否勾选
- // 判断是否勾选平台
- if (!in_array(1, $checkboxList)) {
- $orderQuery->andWhere(['>', 'mch_id', 0]);
- }
- if (!in_array(2, $checkboxList)) { // 没有勾选多商户
- $orderQuery->andWhere(['mch_id' => 0]);
- }
- if (!in_array(3, $checkboxList)) { // 没有勾选门店
- $orderQuery->andWhere(['store_id' => 0]);
- }
- }
- $orderList = $orderQuery->select('pay_money')->asArray()->all();
- if (empty($orderList)) return false; // 订单为空直接返回false
- // 计算订单金额
- $orderMoneySum = array_sum(array_column($orderList, 'pay_money'));
- // 获取设置的订单数量和金额
- $systemCountKey = $params['condition_data'][$params['key']]['setting'][0]['name'];
- $systemCount = $params['arr'][$params['key']]['value'][$systemCountKey];
- $systemMoneyKey = $params['condition_data'][$params['key']]['setting'][1]['name'];
- $systemMoney = $params['arr'][$params['key']]['value'][$systemMoneyKey];
- return count($orderList) >= $systemCount && $orderMoneySum >= $systemMoney;
- }
- /**
- * @desc:条件64
- * 团队总业绩____达到____元,业绩最高的前____个部门,每个部门的业绩不能低于____元
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 14:16
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition64($params)
- {
- return self::upgrade64(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- $params['condition_data'][$params['key']]['setting'][2]['name'],
- $params['condition_data'][$params['key']]['setting'][3]['name'],
- $params['user_id'],
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:条件65
- * 直推___人,当中___人团队订单大于等于___单,团队总订单___单
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 14:16
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition65($params)
- {
- $team_achievement_name = $params['condition_data'][$params['key']]['setting'][0]['name'];
- $team_achievement_people_num_name = $params['condition_data'][$params['key']]['setting'][1]['name'];
- $team_achievement_order_num_name = $params['condition_data'][$params['key']]['setting'][2]['name'];
- $team_total_order_num_name = $params['condition_data'][$params['key']]['setting'][3]['name'];
- $team_goods_cats_name = $params['condition_data'][$params['key']]['setting'][4]['name'];
- $arr = $params['arr'];
- $key = $params['key'];
- $team_achievement_value = $arr[$key]['value'][$team_achievement_name] ?? 0;
- $team_achievement_people_num_value = $arr[$key]['value'][$team_achievement_people_num_name] ?? 0;
- $team_achievement_order_num_value = $arr[$key]['value'][$team_achievement_order_num_name] ?? 0;
- $team_total_order_num_value = $arr[$key]['value'][$team_total_order_num_name] ?? 0;
- $team_goods_cats_value = !empty($arr[$key]['value'][$team_goods_cats_name]) ? Json::decode($arr[$key]['value'][$team_goods_cats_name]) : [];
- // 好友人数
- $team_achievement = User::find()->where(['parent_id' => $params['user_id']])
- ->andWhere(['status' => [StatusEnum::ENABLED, StatusEnum::DISABLED]])->select('id')->column();
- if (count($team_achievement) < $team_achievement_value) {
- return false;
- }
- // 取出商品ID
- $cat_ids = [];
- $goods_ids = [];
- $cat_goods_ids = [];
- if (!empty($team_goods_cats_value)) {
- foreach ($team_goods_cats_value as $cat) {
- $cat_ids[] = array_pop($cat);
- }
- foreach ($cat_ids as $cat_id) {
- $goods_ids = GoodsCateRelate::find()->where(['cate_id' => $cat_id])->select('goods_id')->column();
- $cat_goods_ids[$cat_id] = $goods_ids;
- }
- $goods_ids = array_unique($goods_ids);
- }
- // 必须N个团队N笔订单
- // 取出指定类目团队下单笔数
- $o_cnt_arr = [];
- $o_cnt_total = 0;
- $cat_goods_arr = [];
- foreach ($team_achievement as $user_id) {
- $child_user_ids = UserPartitionRelationship::getChildIdArr($user_id);
- $child_user_ids[] = $user_id;
- $o_cnt = 0;
- foreach ($child_user_ids as $item_user_id) {
- $order_list = OrderDetail::lists([
- 'where' => [
- ['user_id' => $item_user_id],
- ['goods_id'=> $goods_ids],
- ['order_status' =>
- [OrderStatusEnum::PAY, OrderStatusEnum::SHIPMENTS, OrderStatusEnum::SING,
- OrderStatusEnum::ACCOMPLISH, OrderStatusEnum::TAKE, OrderStatusEnum::TAKE_FINISH]
- ],
- ],
- 'select'=> 'order_id, goods_id',
- // 'index' => 'goods_id'
- ]);
- if (!empty($order_list)) {
- foreach ($order_list as $value) {
- foreach ($cat_goods_ids as $cid => $cat_goods) {
- if (in_array($value['goods_id'], $cat_goods) && empty($cat_goods_arr["{$user_id}_{$item_user_id}_{$cid}"])) {
- $o_cnt_total += 1;
- $o_cnt += 1;
- $cat_goods_arr["{$user_id}_{$item_user_id}_{$cid}"] = 1;
- }
- }
- }
- }
- // $o_cnt_total += count($order_list);
- // $o_cnt += count($order_list);
- // $o_cnt += count(array_column($order_list, 'order_id', 'goods_id'));
- }
- if ($o_cnt >= $team_achievement_order_num_value) { // 只有当当前团队总订单数量符合条件才能放入团队订单栈中
- $o_cnt_arr[] = StatusEnum::ENABLED;
- }
- }
- // 判断团队下单数量
- if (count($o_cnt_arr) < $team_achievement_people_num_value) return false;
- // 取出当前用户的订单
- $order_list = OrderDetail::lists([
- 'where' => [
- ['user_id' => $params['user_id']],
- ['goods_id'=> $goods_ids],
- ['order_status' =>
- [OrderStatusEnum::PAY, OrderStatusEnum::SHIPMENTS, OrderStatusEnum::SING,
- OrderStatusEnum::ACCOMPLISH, OrderStatusEnum::TAKE, OrderStatusEnum::TAKE_FINISH]
- ],
- ],
- 'select'=> 'order_id, goods_id',
- // 'index' => 'goods_id'
- ]);
- if (!empty($order_list)) {
- foreach ($order_list as $value) {
- foreach ($cat_goods_ids as $cid => $cat_goods) {
- if (in_array($value['goods_id'], $cat_goods) && empty($cat_goods_arr["{$params['user_id']}_{$cid}"])) {
- $o_cnt_total += 1;
- $cat_goods_arr["{$params['user_id']}_{$cid}"] = 1;
- }
- }
- }
- }
- // 校验当前团队所有订单数量
- return $o_cnt_total >= $team_total_order_num_value;
- }
- /**
- * @desc:条件66
- * 所有下级会员等级>=____,且数量达到____个
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 14:16
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition66($params)
- {
- $user_level_name = $params['condition_data'][$params['key']]['setting'][0]['name'];
- $user_num_name = $params['condition_data'][$params['key']]['setting'][1]['name'];
- $arr = $params['arr'];
- $key = $params['key'];
- $user_level_value = $arr[$key]['value'][$user_level_name] ?? 0;
- $user_num_value = $arr[$key]['value'][$user_num_name] ?? 0;
- // 取出所有下级
- $child_user_ids = UserPartitionRelationship::getChildIdArr($params['user_id']);
- if (count($child_user_ids) < $user_num_value) return false; // 下级数量不够的情况下直接返回条件不成立
- $cnt = User::find()
- ->where(['id' => $child_user_ids])
- ->andWhere(['>=', 'level', $user_level_value])
- ->andWhere(['status' => StatusEnum::ENABLED])->count();
- return $cnt >= $user_num_value;
- }
- /**
- * @desc:条件67
- * 二二复制____等级直推____等级____人,团队产生____等级____人
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 14:16
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition67($params)
- {
- return self::upgrade67(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- $params['condition_data'][$params['key']]['setting'][2]['name'],
- $params['condition_data'][$params['key']]['setting'][3]['name'],
- $params['condition_data'][$params['key']]['setting'][4]['name'],
- $params['user_id'],
- $params['mall_id'],
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:条件68
- * 直推____个云仓代理____,且补货指定商品____个,商品ID组____
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 14:16
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition68($params)
- {
- return self::upgrade68(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- $params['condition_data'][$params['key']]['setting'][2]['name'],
- $params['condition_data'][$params['key']]['setting'][3]['name'],
- $params['user_id'],
- $params['mall_id'],
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:条件69
- * 个人补货指定____商品____
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 14:16
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition69($params)
- {
- return self::upgrade69(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- $params['user_id'],
- $params['mall_id'],
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:条件70
- * 个人业绩____元,所有下级业绩____元
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 14:16
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition70($params)
- {
- return static::upgrade70(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- $params['user_id'],
- $params['arr'],
- $params['key'],
- $params['mall_id']
- );
- }
- /**
- * @desc:条件120
- * 个人业绩____元
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 14:16
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition121($params)
- {
- return static::upgrade121(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- $params['user_id'],
- $params['arr'],
- $params['key'],
- $params['mall_id']
- );
- }
- /**
- * ____等级,直推____等级数量____个,同时直推业绩____元
- */
- protected static function condition80($params)
- {
- $cond = $params['arr'][$params['key']];
- $user_level = $cond['value']['user_level'];
- $child_level = $cond['value']['child_level'];
- $rec_num = $cond['value']['rec_num'];
- $direct_performance = $cond['value']['direct_performance'];
- $user_id = $params['user_id'];
- $current_user_level = User::find()->where(['id' => $user_id, 'status' => StatusEnum::ENABLED])->select('level')->scalar() ?? 0;
- if($current_user_level < $user_level) {
- return false;
- }
- $direct_child_ids = UserPartitionRelationship::getChildIdArr($user_id, 1);
- $user_child_list = User::find()->where(['and', ['id' => $direct_child_ids], ['status' => StatusEnum::ENABLED]])->andWhere(['>=', 'level', $child_level])->select('id')->asArray()->all() ?? [];
- if(count($user_child_list) < $rec_num){
- return false;
- }
- $order_performance = Order::find()->where(['and', ['user_id' => array_column($user_child_list, 'id')], ['order_status' => OrderStatusEnum::ACCOMPLISH]])
- ->sum('pay_money') ?? 0;
- if($order_performance < $direct_performance){
- return false;
- }
- return true;
- }
- /**
- * ____等级,直推____等级数量____个,同时直推业绩____元
- */
- protected static function condition71($params)
- {
- $cond = $params['arr'][$params['key']];
- $user_level = $cond['value']['user_level'];
- $child_level = $cond['value']['child_level'];
- $rec_num = $cond['value']['rec_num'];
- $direct_performance = $cond['value']['direct_performance'];
- $user_id = $params['user_id'];
- $current_user_level = Distribution::find()->where(['user_id' => $user_id, 'status' => StatusEnum::ENABLED])->select('level')->scalar() ?? 0;
- if($current_user_level < $user_level) {
- return false;
- }
- $direct_child_ids = UserPartitionRelationship::getChildIdArr($user_id, 1);
- $user_child_list = Distribution::find()->where(['and', ['user_id' => $direct_child_ids], ['status' => StatusEnum::ENABLED]])->andWhere(['>=', 'level', $child_level])->select('user_id')->asArray()->all() ?? [];
- if(count($user_child_list) < $rec_num){
- return false;
- }
- $order_performance = Order::find()->where(['and', ['user_id' => array_column($user_child_list, 'user_id')], ['order_status' => OrderStatusEnum::ACCOMPLISH]])
- ->sum('pay_money') ?? 0;
- if($order_performance < $direct_performance){
- return false;
- }
- return true;
- }
- /**
- * ____等级,直推____等级数量____个,同时直推业绩____元
- */
- protected static function condition72($params)
- {
- $cond = $params['arr'][$params['key']];
- $user_level = $cond['value']['user_level'];
- $child_level = $cond['value']['child_level'];
- $rec_num = $cond['value']['rec_num'];
- $direct_performance = $cond['value']['direct_performance'];
- $user_id = $params['user_id'];
- $current_user_level = Agent::find()->where(['user_id' => $user_id, 'status' => StatusEnum::ENABLED])->select('level')->scalar() ?? 0;
- if($current_user_level < $user_level) {
- return false;
- }
- $direct_child_ids = UserPartitionRelationship::getChildIdArr($user_id, 1);
- $user_child_list = Agent::find()->where(['and', ['user_id' => $direct_child_ids], ['status' => StatusEnum::ENABLED]])->andWhere(['>=', 'level', $child_level])->select('user_id')->asArray()->all() ?? [];
- if(count($user_child_list) < $rec_num){
- return false;
- }
- $order_performance = Order::find()->where(['and', ['user_id' => array_column($user_child_list, 'user_id')], ['order_status' => OrderStatusEnum::ACCOMPLISH]])
- ->sum('pay_money') ?? 0;
- if($order_performance < $direct_performance){
- return false;
- }
- return true;
- }
- /**
- * ____等级,直推____等级数量____个,同时直推业绩____元
- */
- protected static function condition74($params)
- {
- $cond = $params['arr'][$params['key']];
- $user_level = $cond['value']['user_level'];
- $child_level = $cond['value']['child_level'];
- $rec_num = $cond['value']['rec_num'];
- $direct_performance = $cond['value']['direct_performance'];
- $user_id = $params['user_id'];
- $current_user_level = AddonsBoss::find()->where(['user_id' => $user_id, 'status' => StatusEnum::ENABLED])->select('level')->scalar() ?? 0;
- if($current_user_level < $user_level) {
- return false;
- }
- $direct_child_ids = UserPartitionRelationship::getChildIdArr($user_id, 1);
- $user_child_list = AddonsBoss::find()->where(['and', ['user_id' => $direct_child_ids], ['status' => StatusEnum::ENABLED]])->andWhere(['>=', 'level', $child_level])->select('user_id')->asArray()->all() ?? [];
- if(count($user_child_list) < $rec_num){
- return false;
- }
- $order_performance = Order::find()->where(['and', ['user_id' => array_column($user_child_list, 'user_id')], ['order_status' => OrderStatusEnum::ACCOMPLISH]])
- ->sum('pay_money') ?? 0;
- if($order_performance < $direct_performance){
- return false;
- }
- return true;
- }
- /**
- * ____等级,直推____等级数量____个,同时直推业绩____元
- */
- protected static function condition90($params)
- {
- $cond = $params['arr'][$params['key']];
- $cond_num = $cond['value']['buy_num'];
- $user_id = $params['user_id'];
- $buy_num = (int) OrderDetail::find()->where(['user_id' => $user_id])
- ->andWhere(['order_status' => OrderStatusEnum::ACCOMPLISH])
- ->sum('num');
- return $buy_num >= $cond_num;
- }
- /**
- * 购买指定商品,商品ID组_______
- * @param $params
- * @return bool
- */
- protected static function condition91($params)
- {
- $cond = $params['arr'][$params['key']];
- $goods_ids = $cond['value']['goods_ids'] ?? '';
- if($goods_ids){
- $goods_ids = explode(',',$goods_ids);
- $user_id = $params['user_id'];
- $detail = OrderDetail::find()->where(['user_id' => $user_id,'goods_id' => $goods_ids])
- ->andWhere(['order_status' => [OrderStatusEnum::PAY,OrderStatusEnum::SHIPMENTS,OrderStatusEnum::SING,OrderStatusEnum::ACCOMPLISH]])->one();
- if($detail) return true;
- }
- return false;
- }
- /**
- * 成为渠道分红等级会员
- * @param $params
- * @return bool
- */
- protected static function condition95($params)
- {
- $user_id = $params['user_id'];
- $cur_key = $params['key'];
- $all_cond = $params['arr'];
- $cur_cond = $all_cond[$cur_key];
- $level_require_set = $cur_cond['value']['checked_level'];
- $cur_user_level = (int) Agent::find()->where(['user_id' => $user_id, 'status' => StatusEnum::ENABLED])
- ->select('level')->scalar();
- return in_array($cur_user_level, $level_require_set);
- }
- /**
- * 个人团队业绩-直推下级最高团队业绩>=N元,订单完成
- */
- protected static function condition96($params)
- {
- $cond = $params['arr'][$params['key']];
- $money = $cond['value']['money'];
- if ($money <=0 ) {
- return false;
- }
- $self_user_team_order_price_total = 0;
- $user_id = $params['user_id'];
- $user_team_statistics_model = UserTeamStatistics::find()->where(['user_id'=>$user_id])->one();
- $child_ids = UserPartitionRelationship::getChildIdArr($user_id,1);
- if(!empty($user_team_statistics_model)) {
- $self_user_team_order_price_total = $user_team_statistics_model['team_finish_order_price_total'];
- }
- $field = "sum(uts.team_finish_order_price_total+ust.finish_order_money) as total_money";
- $one = \common\models\user\UserTeamStatistics::find()->alias('uts')
- ->leftJoin(UserStatisticsTotal::tableName().' as ust','uts.user_id=ust.user_id')
- ->where(['uts.user_id'=>$child_ids])
- ->select("uts.user_id,{$field}")
- ->orderBy('total_money desc')
- ->groupBy('uts.user_id')
- ->asArray()
- ->one();
- $total_money = $one['total_money']??0;
- $cha = $self_user_team_order_price_total - $total_money;
- return $cha >= $money;
- }
- protected static function condition97($params)
- {
- $user_id_arr = UserPartitionRelationship::getChildIdArr($params['user_id'], 1);
- return static::upgrade97(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- 'addons\AgentBase\common\models\AgentBase',
- $user_id_arr,
- $params['arr'],
- $params['key']
- );
- }
- protected static function condition98($params)
- {
- return static::upgrade98(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- 'addons\AgentBase\common\models\AgentBase',
- $params['user_id'],
- $params['arr'],
- $params['key']
- );
- }
- protected static function condition99($params)
- {
- return static::upgrade99(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- $params['condition_data'][$params['key']]['setting'][2]['name'],
- 'addons\AgentBase\common\models\AgentBase',
- $params['user_id'],
- $params['arr'],
- $params['key']
- );
- }
- protected static function condition100($params)
- {
- $cond = $params['arr'][$params['key']];
- $user_level = $cond['value']['user_level'];
- $child_level = $cond['value']['child_level'];
- $rec_num = $cond['value']['rec_num'];
- $direct_performance = $cond['value']['direct_performance'];
- $user_id = $params['user_id'];
- $current_user_level = \addons\AgentBase\common\models\AgentBase::find()->where(['user_id' => $user_id, 'status' => StatusEnum::ENABLED])->select('level')->scalar() ?? 0;
- if($current_user_level < $user_level) {
- return false;
- }
- $direct_child_ids = UserPartitionRelationship::getChildIdArr($user_id, 1);
- $user_child_list = \addons\AgentBase\common\models\AgentBase::find()->where(['and', ['user_id' => $direct_child_ids], ['status' => StatusEnum::ENABLED]])->andWhere(['>=', 'level', $child_level])->select('user_id')->asArray()->all() ?? [];
- if(count($user_child_list) < $rec_num){
- return false;
- }
- $order_performance = Order::find()->where(['and', ['user_id' => array_column($user_child_list, 'user_id')], ['order_status' => OrderStatusEnum::ACCOMPLISH]])
- ->sum('pay_money') ?? 0;
- if($order_performance < $direct_performance){
- return false;
- }
- return true;
- }
- protected static function condition101($params)
- {
- $user_id = UserPartitionRelationship::getChildIdArr($params['user_id'], 2);
- return static::upgrade101(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- $user_id,
- $params['arr'],
- $params['key']
- );
- }
- // 指定商品ID____,并且单笔订单金额满____元
- protected static function condition102($params)
- {
- if (empty($params['order_id'])) return false;
- $user_id = $params['user_id'];
- $cond = $params['arr'][$params['key']];
- $goods_ids = $cond['value']['goods_ids'];
- $finish_order_money = $cond['value']['finish_order_money'];
- // 先判断有没有买这个商品
- $order_list = OrderDetail::find()->select('goods_price')->where(['user_id' => $user_id, 'goods_id' => explode(',', $goods_ids), 'order_status' => OrderStatusEnum::ACCOMPLISH, 'status' => StatusEnum::ENABLED])->asArray()->all();
- if(empty($order_list)){
- return false;
- }
- // 再判断买了商品后,钱够不够
- $total_money = OrderDetail::find()->select('goods_price')->where(['user_id' => $user_id, 'goods_id' => explode(',', $goods_ids), 'order_status' => OrderStatusEnum::ACCOMPLISH, 'status' => StatusEnum::ENABLED])->sum('goods_price') ?? 0;
- if ($total_money >= $finish_order_money) return true;
- return false;
- }
- // 群组(团队包含本人)商品售价业绩(支付完成/订单完成)达到N元
- protected static function condition105($params)
- {
- $user_id = $params['user_id'];
- $cond = $params['arr'][$params['key']];
- $is_when_settlement = $cond['value']['is_when_settlement'] ?? null;
- $money = $cond['value']['money'] ?? null;
- if (!isset($is_when_settlement) || !isset($money)) {
- return false;
- }
- $where = ['user_id' => $user_id];
- // 个人商品售价
- $userTotal = 0;
- $userStatisticsTotalField = [
- 0 => 'finish_selling_price',
- 1 => 'pay_selling_price',
- ];
- if (isset($userStatisticsTotalField[$is_when_settlement])) {
- $userTotal = UserAchievementStatisticsTotal::find()
- ->where($where)
- ->select($userStatisticsTotalField[$is_when_settlement])
- ->scalar() ?: 0;
- }
- // 团队商品售价
- $teamTotal = 0;
- $userTeamStatisticsField = [
- 0 => 'team_finish_selling_price',
- 1 => 'team_pay_selling_price',
- ];
- if (isset($userTeamStatisticsField[$is_when_settlement])) {
- $teamTotal = UserTeamAchievementStatistics::find()
- ->where($where)
- ->select($userTeamStatisticsField[$is_when_settlement])
- ->scalar() ?: 0;
- }
- return ($userTotal + $teamTotal) >= $money;
- }
- /**
- * @desc:条件106
- * 特级分销,分销佣金金额满____元
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 15:41
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition106($params)
- {
- return static::upgrade106(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['user_id'],
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:条件107
- * 特级分销,分销订单数量满____个
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 15:41
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition107($params)
- {
- return static::upgrade107(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['user_id'],
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:特级分销,一级分销佣金金额满____元
- * @Author: hua
- * @Date: 2021/11/18
- * @Time: 16:39
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition108($params)
- {
- return static::upgrade108(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['user_id'],
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:特级分销,一级分销订单数量满____个
- * @Author: hua
- * @Date: 2021/11/18
- * @Time: 16:43
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition109($params)
- {
- return static::upgrade107(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['user_id'],
- $params['arr'],
- $params['key'],
- 'first'
- );
- }
- /**
- * @desc:特级分销,粉丝分销商人数满____人
- * @Author: hua
- * @Date: 2021/11/18
- * @Time: 17:01
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition110($params)
- {
- return static::upgrade110(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['user_id'],
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:特级分销,一级粉丝分销商人数满____人
- * @Author: hua
- * @Date: 2021/11/18
- * @Time: 17:01
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition111($params)
- {
- $user_id = UserPartitionRelationship::getChildIdArr($params['user_id'], 1);
- return static::upgrade111(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $user_id,
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:特级分销,分销结算佣金总额满____元
- * @Author: hua
- * @Date: 2021/11/18
- * @Time: 17:05
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition112($params)
- {
- return static::upgrade112(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['user_id'],
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:特级分销,直推分销商等级____数量____个
- * @Author: hua
- * @Date: 2021/11/18
- * @Time: 17:14
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition113($params)
- {
- $user_id = UserPartitionRelationship::getChildIdArr($params['user_id'], 1);
- return static::upgrade113(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- $user_id,
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:特级分销,间推分销商等级____数量____个
- * @Author: hua
- * @Date: 2021/11/18
- * @Time: 17:14
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition114($params)
- {
- $user_id = UserPartitionRelationship::getChildIdArr($params['user_id'], 2);
- return static::upgrade113(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- $user_id,
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:特级分销,团队分销商(直推和间推)等级____数量____个
- * @Author: hua
- * @Date: 2021/11/18
- * @Time: 17:14
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition115($params)
- {
- $user_id1 = UserPartitionRelationship::getChildIdArr($params['user_id'], 1);
- $user_id2 = UserPartitionRelationship::getChildIdArr($params['user_id'], 2);
- $user_id = array_merge($user_id1, $user_id2);
- return static::upgrade113(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- $user_id,
- $params['arr'],
- $params['key']
- );
- }
- protected static function condition116($params)
- {
- $direct = $params['condition_data'][$params['key']]['setting'][0]['name'];
- $achievement = $params['condition_data'][$params['key']]['setting'][1]['name'];
- $user_id = $params['user_id'];
- $arr = $params['arr'];
- $key = $params['key'];
- $is_bool = false;
- // 特级分销,获取用户当前好友人数+团队业绩
- $data = PremiumDistributionUpgradeCount::find()->select('direct_num,achievement')->where(['user_id' => $user_id, 'status' => StatusEnum::ENABLED])->asArray()->one();
- if(empty($data)) return $is_bool;
- if ($data['direct_num'] >= $arr[$key]['value'][$direct] && $data['achievement'] >= $arr[$key]['value'][$achievement]) $is_bool = true;
- return $is_bool;
- }
- /**
- * 特级分销
- * ____等级,直推____等级数量____个,同时直推业绩____元
- */
- protected static function condition117($params)
- {
- $cond = $params['arr'][$params['key']];
- $user_level = $cond['value']['user_level'];
- $child_level = $cond['value']['child_level'];
- $rec_num = $cond['value']['rec_num'];
- $direct_performance = $cond['value']['direct_performance'];
- $user_id = $params['user_id'];
- $current_user_level = PremiumDistribution::find()->where(['user_id' => $user_id, 'status' => StatusEnum::ENABLED])->select('level')->scalar() ?? 0;
- if($current_user_level < $user_level) {
- return false;
- }
- $direct_child_ids = UserPartitionRelationship::getChildIdArr($user_id, 1);
- $user_child_list = PremiumDistribution::find()->where(['and', ['user_id' => $direct_child_ids], ['status' => StatusEnum::ENABLED]])->andWhere(['>=', 'level', $child_level])->select('user_id')->asArray()->all() ?? [];
- if(count($user_child_list) < $rec_num){
- return false;
- }
- $order_performance = Order::find()->where(['and', ['user_id' => array_column($user_child_list, 'user_id')], ['order_status' => OrderStatusEnum::ACCOMPLISH]])
- ->sum('pay_money') ?? 0;
- if($order_performance < $direct_performance){
- return false;
- }
- return true;
- }
- protected static function condition500($params)
- {
- $cond = $params['arr'][$params['key']];
- $is_include_yourself = $cond['value']['is_include_yourself'];
- $is_when_settlement = $cond['value']['is_when_settlement'];
- $settle_achievement = $cond['value']['settle_achievement'] ?? 0;
- $total_performance = $cond['value']['total_performance'];
- $target_big_performance = $cond['value']['max_performance'];
- $target_small_performance = $cond['value']['min_performance'];
- $user_id = $params['user_id'];
- $statistics = UserTeamProfitStatistics::getOne([
- ['user_id' => $user_id]
- ], true);
- if (empty($statistics)) return false;
- //判断用户总业绩
- $real_total_performance = 0;
- $orderBy = 'children_order_finish_profit desc';
- $field = 'id,user_id';
- $field_str = '';
- if ($is_when_settlement == 1) {
- if ($is_include_yourself == 1) {
- $field_str = 'team_order_pay';
- } else {
- $field_str = 'children_order_pay';
- }
- } else {
- if ($is_include_yourself == 1) {
- $field_str = 'team_order_finish';
- } else {
- $field_str = 'children_order_finish';
- }
- }
- if ($settle_achievement == 1) {
- $field_str .= '_achievement';
- } else {
- $field_str .= '_profit';
- }
- $real_total_performance = $statistics[$field_str];
- $orderBy = $field_str . ' desc';
- $field .= ','.$field_str.' as real_performance';
- //判断总业绩是否达标
- var_dump('500:'.$real_total_performance.'-----'.$total_performance);
- if ($real_total_performance < $total_performance) return false;
- //获取直推用户id
- $direct_child_ids = UserPartitionRelationship::getChildIdArr($user_id, 1);
- $real_big_performance = 0;
- $real_small_performance = 0;
- if (!empty($direct_child_ids)) {
- //获取大小市场业绩
- $team_profit_statistics = UserTeamProfitStatistics::lists([
- 'where' => [
- ['user_id' => $direct_child_ids],
- ],
- 'select' => $field,
- 'order' => $orderBy,
- ]);
-
- if (!empty($team_profit_statistics)) {
- //获取大市场业绩
- $real_big_performance = $team_profit_statistics[0]['real_performance'];
- unset($team_profit_statistics[0]);
- //统计小市场业绩
- if (!empty($team_profit_statistics)) {
- $real_small_performance = array_sum(array_column($team_profit_statistics, 'real_performance'));
- }
- }
- }
- // $real_big_performance = $is_when_settlement == 0 ? $statistics['accomplish_big_market_performance'] : $statistics['pay_big_market_performance'];
- if ($real_big_performance < $target_big_performance) return false;
- // $real_total_performance = $is_when_settlement == 0 ? $statistics['accomplish_team_performance'] : $statistics['pay_team_performance'];
- // $real_small_performance = 0;
- if ($real_small_performance < $target_small_performance) return false;
- return true;
- }
- protected static function condition501($params)
- {
- $cond = $params['arr'][$params['key']];
- $target_consume_amount = $cond['value']['consume_amount'];
- $is_when_settlement = $cond['value']['is_when_settlement'];
- $user_id = $params['user_id'];
- $statistics = UserTeamProfitStatistics::getOne([['user_id' => $user_id]], true);
- if (empty($statistics)) return false;
- $user_consume_amount = $is_when_settlement == 0 ? ($statistics['team_order_finish_profit'] - $statistics['children_order_finish_profit']) : ($statistics['team_order_pay_profit'] - $statistics['children_order_pay_profit']);
- return $user_consume_amount >= $target_consume_amount;
- }
- /**
- * 升级条件502 : 自己+团队累计购买件数达到____件
- * @param $params
- * @return bool
- */
- protected static function condition502($params)
- {
- $params['data'] = [];
- return static::upgrade502(
- $params,
- $params['user_id'],
- $params['arr'],
- $params['key']
- );
- }
- protected static function condition550($params)
- {
- $user_id_arr = UserPartitionRelationship::getChildIdArr($params['user_id'], 1);
- return static::upgrade14(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- 'addons\AgentDividend\common\models\Agent',
- $user_id_arr,
- $params['arr'],
- $params['key']
- );
- }
- /**
- * @desc:条件551
- * 代理分红所有下级经销商等级____数量____个
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 14:16
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition551($params)
- {
- return static::upgrade15(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- 'addons\AgentDividend\common\models\Agent',
- $params['user_id'],
- $params['arr'],
- $params['key']
- );
- }
- public static function upgrade1($params, $user_id_arr, $arr, $key)
- {
- $data = $params['data'];
- if ($key == 1) {
- $name1 = $params['condition_data'][$key]['setting'][0]['name'];
- $name2 = $params['condition_data'][$key]['setting'][1]['name'];
- }
- if (in_array($key, [2, 3, 4])) {
- $name1 = $params['condition_data'][$key]['setting'][1]['name']; //字段2
- $name2 = $params['condition_data'][$key]['setting'][2]['name']; //字段3
- $name0 = $params['condition_data'][$params['key']]['setting'][0]['name']; //字段1
- $data[$name0] = count($user_id_arr);
- }
- if (!isset($name1) || !isset($name2)) return false;
- $mall_id = $params['mall_id']??0;
- list($data[$name1], $data[$name2]) = static::getOrderDataByUserUpgrade($user_id_arr,$mall_id,$key);
- $is_bool = true;
- foreach ($arr[$key]['value'] as $k => $v) {
- if (isset($data[$k])) {
- if ($data[$k] < $v) {
- $is_bool = false;
- break;
- }
- } else {
- $is_bool = false;
- }
- }
- return $is_bool;
- }
- public static function upgrade5($name1, $name2, $user_id_arr, $arr, $key)
- {
- $counts = User::find()->where(['id' => $user_id_arr, 'status' => [StatusEnum::ENABLED, StatusEnum::DISABLED]])
- ->andWhere(['>=','level',$arr[$key]['value'][$name1]])
- ->count();
- if ($counts >= $arr[$key]['value'][$name2]) return true;
- return false;
- }
- public static function upgrade9($name1, $name2, $name3, $name4, $children_id_arr1, $children_id_arr2, $arr, $key)
- {
- $is_bool = false;
- $num1 = static::consumeNum($arr, $key, $name1, $children_id_arr1); //直推会员消费满多少元的累计人数
- if ($num1 >= $arr[$key]['value'][$name2]) {
- $num2 = static::consumeNum($arr, $key, $name3, $children_id_arr2); //间推会员消费满多少元的累计人数
- if ($num2 >= $arr[$key]['value'][$name4]) $is_bool = true;
- }
- return $is_bool;
- }
- public static function upgrade10($name1, $name2, $name3, $children_id_arr1, $arr, $key)
- {
- $is_bool = false;
- $num = count($children_id_arr1); //直推会员人数
- if ($num >= $arr[$key]['value'][$name1]) {
- $goods_id = $arr[$key]['value'][$name2];
- $goods_id = explode(',', $goods_id);
- $direct_user_buy_goods_id_num = $arr[$key]['value'][$name3];
- $where = [
- 'user_id' => $children_id_arr1, 'goods_id' => $goods_id,
- 'order_status' => [OrderStatusEnum::PAY, OrderStatusEnum::SHIPMENTS, OrderStatusEnum::SING, OrderStatusEnum::ACCOMPLISH]
- ];
- $list = OrderDetail::find()->where($where)
- ->groupBy('user_id')
- ->select('user_id,count("user_id") as counts')
- ->all();
- $count = count($list);
- if ($count >= $direct_user_buy_goods_id_num) $is_bool = true;
- }
- return $is_bool;
- }
- public static function upgrade11($name1, $name2, $user_id, $arr, $key)
- {
- $is_bool = false;
- list($personal_counts, $personal_achievement) = static::getOrderData($user_id);//个人业绩
- if ($personal_achievement >= $arr[$key]['value'][$name1]) {
- // 团队业绩为0则认为达标
- if (!isset($arr[$key]['value'][$name2]) || $arr[$key]['value'][$name2] <= 0) {
- return true;
- }
- $offset = 1;
- $limit = 1000;
- $params['select'] = 'user_id';
- $total_subordinates_achievement = 0;//所有下级业绩
- static::batchFunc($params,$user_id,$offset,$limit,function ($user_id_arr){
- $query = Order::find()->where(['user_id' => $user_id_arr, 'pay_status' => 1]);
- return $query->sum('pay_money');
- },$total_subordinates_achievement);
- // while ($list = UserPartitionRelationship::batchGetTeamData($params,$user_id,$offset,$limit)){
- // $children_id_arr = array_column($list,'user_id');
- // list($subordinates_counts, $subordinates_achievement) = self::getOrderData($children_id_arr);//分段所有下级业绩
- // $total_subordinates_achievement+=$subordinates_achievement;
- // $offset++;
- // }
- if ($total_subordinates_achievement >= $arr[$key]['value'][$name2]) $is_bool = true;
- }
- return $is_bool;
- }
- public static function upgrade12($name1, $name2, $user_id_arr, $arr, $key)
- {
- $is_bool = false;
- $num = count($user_id_arr);//间推会员人数
- if ($num >= $arr[$key]['value'][$name1]) {
- list($indirect_user_order, $indirect_user_order_price) = static::getOrderData($user_id_arr);//间推客户的订单金额
- if ($indirect_user_order_price >= $arr[$key]['value'][$name2]) $is_bool = true;
- }
- return $is_bool;
- }
- public static function upgrade13($name1, $user_id, $arr, $key)
- {
- $is_bool = false;
- $offset = 1;
- $limit = 1000;
- $total_counts = 0;
- $params['select'] = 'user_id';
- static::batchFunc($params,$user_id,$offset,$limit,function ($user_id_arr){
- return Agent::find()->where(['user_id' => $user_id_arr, 'level' => 0, 'status' => [StatusEnum::ENABLED, StatusEnum::DISABLED]])->count();
- },$total_counts);
- // while ($list = UserPartitionRelationship::batchGetTeamData($params,$user_id,$offset,$limit)){
- // $user_id_arr = array_column($list,'user_id');
- // $counts = Agent::find()->where(['user_id' => $user_id_arr, 'level' => 0, 'status' => [StatusEnum::ENABLED, StatusEnum::DISABLED]])->count();
- // $total_counts+=$counts;
- // $offset++;
- // }
- if ($total_counts >= $arr[$key]['value'][$name1]) $is_bool = true;
- return $is_bool;
- }
- public static function upgrade14($name1, $name2, $model_class, $user_id_arr, $arr, $key)
- {
- $is_bool = false;
- $level = $arr[$key]['value'][$name1];
- $counts = $model_class::find()->where(['user_id' => $user_id_arr, 'status' => [StatusEnum::ENABLED, StatusEnum::DISABLED]])
- ->andWhere(['>=','level',$level])
- ->count();
- if ($counts >= $arr[$key]['value'][$name2]) $is_bool = true;
- return $is_bool;
- }
- public static function upgrade15($name1, $name2, $model_class, $user_id, $arr, $key)
- {
- $is_bool = false;
- $level = $arr[$key]['value'][$name1];
- $offset = 1;
- $limit = 1000;
- $total_counts = 0;
- $params['select'] = 'user_id';
- static::batchFunc($params,$user_id,$offset,$limit,function ($user_id_arr)use($model_class,$level){
- return $model_class::find()->where(['user_id' => $user_id_arr, 'status' => [StatusEnum::ENABLED, StatusEnum::DISABLED]])
- ->andWhere(['>=','level',$level])
- ->count();
- },$total_counts);
- // while ($list = UserPartitionRelationship::batchGetTeamData($params,$user_id,$offset,$limit)){
- // $user_id_arr = array_column($list,'user_id');
- // $counts = $model_class::find()->where(['user_id' => $user_id_arr, 'level' => $level, 'status' => [StatusEnum::ENABLED, StatusEnum::DISABLED]])->count();
- // $total_counts+=$counts;
- // $offset++;
- // }
- if ($total_counts >= $arr[$key]['value'][$name2]) $is_bool = true;
- return $is_bool;
- }
- public static function upgrade16($name1, $user_id, $arr, $key)
- {
- $is_bool = false;
- $offset = 1;
- $limit = 1000;
- $total_counts = 0;
- $params['select'] = 'user_id';
- static::batchFunc($params,$user_id,$offset,$limit,function ($user_ids){
- $query = Order::find()->where(['user_id' => $user_ids, 'pay_status' => 1]);
- return $query->count();
- },$total_counts);
- // while ($list = UserPartitionRelationship::batchGetTeamData($params,$user_id,$offset,$limit)){
- // $user_id_arr = array_column($list,'user_id');
- // list($counts, $x) = self::getOrderData($user_id_arr);//单量指标
- // $total_counts+=$counts;
- // $offset++;
- // }
- if ($total_counts >= $arr[$key]['value'][$name1]) $is_bool = true;
- return $is_bool;
- }
- public static function upgrade17($name1, $user_id, $arr, $key)
- {
- $is_bool = false;
- $offset = 1;
- $limit = 1000;
- $params['select'] = 'user_id';
- $total_nums = 0;
- $max = 0;
- list($tree, $parent_deep, $all_tree, $all_tree_arr) = UserPartitionRelationship::getTree($user_id);
- while ($list = UserPartitionRelationship::batchGetTeamData($offset,$limit,$tree,$params)){
- $user_id_arr = array_column($list,'user_id');
- $list = static::getOrderCountsGroupByUserId($user_id_arr);
- foreach ($list as $val) {
- $total_nums += $val['counts'];
- if ($val['counts'] > $max) {
- $max = $val['counts'];
- }
- }
- $offset++;
- }
- $counts = $total_nums - $max;
- if ($counts >= $arr[$key]['value'][$name1]) $is_bool = true;
- return $is_bool;
- }
- public static function upgrade21($name1, $user_id_arr, $arr, $key)
- {
- $is_bool = false;
- list($order_num, $pay_money) = static::getOrderData($user_id_arr);//消费
- if ($pay_money >= $arr[$key]['value'][$name1]) $is_bool = true;
- return $is_bool;
- }
- public static function upgrade22($name1, $name2, $user_id_arr, $arr, $key)
- {
- $is_bool = false;
- $list = static::getOrderDataGroupByUserId($user_id_arr);
- $num = 0;
- foreach ($list as $value) {
- if ($value['pay_money'] >= $arr[$key]['value'][$name1]) $num++;
- }
- if ($num >= $arr[$key]['value'][$name2]) $is_bool = true;
- return $is_bool;
- }
- public static function upgrade23($name1, $user_id, $arr, $key)
- {
- $is_bool = false;
- $total_commission = static::getDistributionCommission($user_id);
- if ($total_commission >= $arr[$key]['value'][$name1]) $is_bool = true;
- return $is_bool;
- }
- public static function upgrade24($name1, $user_id, $arr, $key, $capital_type = 0)
- {
- $is_bool = false;
- $counts = static::getDistributionCommissionOrderNum($user_id, $capital_type);
- if ($counts >= $arr[$key]['value'][$name1]) $is_bool = true;
- return $is_bool;
- }
- public static function upgrade25($name1, $user_id, $arr, $key)
- {
- $is_bool = false;
- $counts = static::getDistributionCommissionFirst($user_id);
- if ($counts >= $arr[$key]['value'][$name1]) $is_bool = true;
- return $is_bool;
- }
- public static function upgrade27($name1, $user_id, $type, $arr, $key)
- {
- $is_bool = false;
- list($personal_counts, $personal_achievement) = static::getOrderData($user_id);
- if ($type == 'order_total_price' && $personal_achievement >= $arr[$key]['value'][$name1]) $is_bool = true;
- if ($type == 'order_num' && $personal_counts >= $arr[$key]['value'][$name1]) $is_bool = true;
- return $is_bool;
- }
- public static function upgrade29($name1, $user_id, $arr, $key)
- {
- $is_bool = false;
- $offset = 1;
- $limit = 1000;
- $total_counts = 0;
- $params['select'] = 'user_id';
- static::batchFunc($params,$user_id,$offset,$limit,function ($user_ids){
- return count($user_ids);
- },$total_counts);
- if ($total_counts >= $arr[$key]['value'][$name1]) $is_bool = true;
- return $is_bool;
- }
- public static function upgrade30($name1, $user_id, $arr, $key)
- {
- $is_bool = false;
- if (count($user_id) >= $arr[$key]['value'][$name1]) $is_bool = true;
- return $is_bool;
- }
- public static function upgrade31($name1, $user_id, $arr, $key)
- {
- $is_bool = false;
- $offset = 1;
- $limit = 1000;
- $total_counts = 0;
- $params['select'] = 'user_id';
- static::batchFunc($params,$user_id,$offset,$limit,function ($user_ids){
- return Distribution::find()->where(['user_id' => $user_ids, 'status' => StatusEnum::ENABLED])->count();
- },$total_counts);
- if ($total_counts >= $arr[$key]['value'][$name1]) $is_bool = true;
- return $is_bool;
- }
- public static function upgrade32($name1, $user_id, $arr, $key)
- {
- $is_bool = false;
- $counts = Distribution::find()->where(['user_id' => $user_id, 'status' => StatusEnum::ENABLED])->count();
- if ($counts >= $arr[$key]['value'][$name1]) $is_bool = true;
- return $is_bool;
- }
- public static function upgrade33($name1, $user_id, $arr, $key)
- {
- $is_bool = false;
- $total_commission = static::getSettledDistributionCommission($user_id);
- if ($total_commission >= $arr[$key]['value'][$name1]) $is_bool = true;
- return $is_bool;
- }
- public static function upgrade34($name1, $name2,$user_id, $arr, $key)
- {
- $is_bool = false;
- $level = $arr[$key]['value'][$name1];
- $counts = Distribution::find()->where(['user_id' => $user_id, 'status' => StatusEnum::ENABLED])
- ->andWhere(['>=','level',$level])->count();
- if ($counts >= $arr[$key]['value'][$name2]) $is_bool = true;
- return $is_bool;
- }
- public static function upgrade75($name1, $name2,$user_id, $arr, $key)
- {
- $is_bool = false;
- $level = $arr[$key]['value'][$name1];
- $counts = Agent::find()->where(['user_id' => $user_id, 'status' => StatusEnum::ENABLED])
- ->andWhere(['>=','level',$level])->count();
- if ($counts >= $arr[$key]['value'][$name2]) $is_bool = true;
- return $is_bool;
- }
- public static function upgrade40($name1, $name2, $name3, $name4, $children_id_arr1, $children_id_arr2, $arr, $key)
- {
- $is_bool = false;
- $num1 = static::consumeNum($arr, $key, $name1, $children_id_arr1);//直推会员消费满多少元的累计人数
- if ($num1 >= $arr[$key]['value'][$name2]) {
- $num2 = static::consumeNum($arr, $key, $name3, $children_id_arr2);//团队会员消费满多少元的累计人数
- if ($num2 >= $arr[$key]['value'][$name4]) $is_bool = true;
- }
- return $is_bool;
- }
- public static function upgrade41Or42($name1, $name2, $model_class, $user_id, $arr, $key, $no = 40)
- {
- $is_bool = false;
- $lucky_group_user_ids = [];
- $customer_counts = $total_amounts = 0;
- $params['select'] = 'user_id';
- if (41 == $no) {
- $deep = 1;
- } elseif (42 == $no) {
- $deep = 2;
- } else {
- return false;
- }
- $children_id_arr = UserPartitionRelationship::getChildIdArr($user_id, $deep);
- $query = $model_class::find()->select('user_id')->where(['user_id' => $children_id_arr, 'status' => [StatusEnum::ENABLED, StatusEnum::DISABLED]]);
- foreach ($query->asArray()->batch(200) as $lg_users) {
- $lucky_group_user_ids = array_merge($lucky_group_user_ids, array_column($lg_users, 'user_id'));
- }
- // 客户数量
- $customer_counts = count($lucky_group_user_ids);
- // 订单总金额
- $total_amounts = LuckyGroupOrder::find()
- ->where(['user_id' => $lucky_group_user_ids, 'is_pay' => 1, 'status' => StatusEnum::ENABLED])
- ->sum('money');
- // \Yii::error('======> upgrade41Or42 --> no => ' . $no . ', customer_counts => ' . $customer_counts . ', set-customer_counts => ' . $arr[$key]['value'][$name1] . ', total_amounts => ' . $total_amounts . ', set-total_amounts => ' . $arr[$key]['value'][$name2]);\Yii::getLogger()->flush(true);
- if ($customer_counts >= $arr[$key]['value'][$name1] && $total_amounts >= $arr[$key]['value'][$name2]) $is_bool = true;
- return $is_bool;
- }
- public static function upgrade43($name1, $name2, $model_class, $user_id, $arr, $key)
- {
- $query = $model_class::find()->where(['user_id' => $user_id, 'status' => StatusEnum::ENABLED, 'is_pay' => 1]);
- $counts = $query->count();
- $total_amounts = $query->sum('money');
- // \Yii::error('======> upgrade43 --> counts => ' . $counts . ', set-counts => ' . $arr[$key]['value'][$name1] . ', total_amounts => ' . $total_amounts . ', set-total_amounts => ' . $arr[$key]['value'][$name2]);\Yii::getLogger()->flush(true);
- if ($counts >= $arr[$key]['value'][$name1] && $total_amounts >= $arr[$key]['value'][$name2]) {
- return true;
- } else {
- return false;
- }
- }
- public static function upgrade44Or45($name1, $name2, $model_class, $user_id, $arr, $key, $no = 43)
- {
- if (44 == $no) {
- $deep = 1;
- } elseif (45 == $no) {
- $deep = 2;
- } else {
- return false;
- }
- $level = $arr[$key]['value'][$name1];
- $children_id_arr = UserPartitionRelationship::getChildIdArr($user_id, $deep);
- if (!empty($children_id_arr)) {
- $counts = LuckyGroupUser::find()
- ->where(['user_id' => $children_id_arr, 'status' => StatusEnum::ENABLED, 'level' => $level])
- ->count();
- } else {
- $counts = 0;
- }
- // \Yii::error('======> upgrade44Or45 --> no => ' . $no . ', counts => ' . $counts . ', set-counts => ' . $arr[$key]['value'][$name2]);\Yii::getLogger()->flush(true);
- return $counts >= $arr[$key]['value'][$name2];
- }
- //团队下____条____等级,每条直推团队下,至少有一个人满足该等级
- public static function upgrade47($name1, $name2,$name3, $model_class, $user_id, $arr, $key)
- {
- $is_bool = false;
- $direct_child_ids = UserPartitionRelationship::getChildIdArr($user_id, 1); //查询直推下级
- $team_num = $arr[$key]['value'][$name1];//N条
- if (count($direct_child_ids) < $team_num) return $is_bool;
- $level_num = $arr[$key]['value'][$name2]; //N个
- $is_nums = 0;
- $level = $arr[$key]['value'][$name3];
- foreach ($direct_child_ids as $direct_child_id) {
- //先查直推是否满足,是则不用继续往下查
- $counts = $model_class::find()->where(['user_id' => $direct_child_id, 'level' => $level, 'status' => [StatusEnum::DISABLED, StatusEnum::ENABLED]])->count();
- if (!empty($counts)) {
- $is_nums++;
- continue;
- }
- $offset = 1;
- $limit = 1000;
- $params['select'] = 'user_id';
- list($tree, $parent_deep, $all_tree, $all_tree_arr) = UserPartitionRelationship::getTree($direct_child_id);//查询直推下级的所有下级
- while ($list = UserPartitionRelationship::batchGetTeamData($offset,$limit,$tree,$params)){
- $child_ids = array_column($list,'user_id');
- $counts = $model_class::find()->where(['user_id'=>$child_ids,'level'=>$level,'status'=>[StatusEnum::DISABLED,StatusEnum::ENABLED]])->count();
- if(!empty($counts)){
- $is_nums++;
- break;
- }
- $offset++;
- }
- }
- if ($is_nums >= $level_num) return true;
- return $is_bool;
- }
- public static function upgrade48($name1, $name2, $model_class, $user_id, $arr, $key)
- {
- $is_bool = false;
- $direct_child_ids = UserPartitionRelationship::getChildIdArr($user_id, 1); //查询直推下级
- $direct_push_number = $arr[$key]['value'][$name1]; //N人
- $level = $arr[$key]['value'][$name2];
- $counts = $model_class::find()->where(['user_id' => $direct_child_ids, 'level' => $level, 'status' => [StatusEnum::DISABLED, StatusEnum::ENABLED]])->count();
- if ($counts >= $direct_push_number) return true;
- return $is_bool;
- }
- public static function upgrade49($name1, $user_id, $arr, $key)
- {
- $aa = $arr[$key]['value'][$name1];
- $is_bool = false;
- list($personal_counts, $personal_achievement) = static::getOrderData($user_id); //个人业绩
- $offset = 1;
- $limit = 1000;
- $params['select'] = 'user_id';
- $total_subordinates_achievement = 0; //所有下级业绩
- static::batchFunc($params, $user_id, $offset, $limit, function ($user_id_arr) {
- $query = Order::find()->where(['user_id' => $user_id_arr, 'pay_status' => 1]);
- return $query->sum('pay_money');
- }, $total_subordinates_achievement);
- if ($total_subordinates_achievement + $personal_achievement > $arr[$key]['value'][$name1]) {
- $is_bool = true;
- }
- return $is_bool;
- }
- public static function upgrade51($params, $user_id_arr, $arr, $key)
- {
- $data = $params['data'];
- $name1 = $params['condition_data'][$key]['setting'][0]['name'];
- if (!isset($name1)) return false;
- $created_at = 0;
- $expired = UserLevelExpired::find()->where(['user_id'=>$params['user_id'],'level'=>$params['upgrade_level']])->orderBy('expired_at DESC')->one();
- if($expired){
- $created_at = $expired['expired_at'];
- }
- $data[$name1] = static::getOrderData($user_id_arr,$created_at)[1];
- $data1[$name1] = static::getRechargeData($user_id_arr,$created_at);
- $is_bool = true;
- foreach ($arr[$key]['value'] as $k => $v) {
- if (isset($data[$k]) || isset($data1[$k])) {
- if ($data[$k] < $v && $data1[$k] < $v) {
- $is_bool = false;
- break;
- }
- } else {
- $is_bool = false;
- }
- }
- return $is_bool;
- }
- public static function upgrade64($name1, $name2,$name3, $name4, $user_id, $arr, $key)
- {
- $is_bool = false;
- //个人业绩
- $personal_achievement = 0;
- if($arr[$key]['value'][$name1] == 0){
- $personal_achievement = Order::find()->where(['user_id' => $user_id, 'pay_status' => 1])->sum('pay_money') ?? 0;
- }
- $achievement_arr = [];
- $children_id_arr1 = UserPartitionRelationship::getChildIdArr($user_id, 1);
- foreach($children_id_arr1 as $children_user_id){
- $offset = 1;
- $limit = 1000;
- $params['select'] = 'user_id';
- $total_subordinates_achievement = 0;//所有下级业绩
- self::batchFunc($params,$children_user_id,$offset,$limit,function ($user_id_arr) use ($children_user_id){
- // $user_id_arr[] = $children_user_id;
- $query = Order::find()->where(['user_id' => $user_id_arr, 'pay_status' => 1]);
- return $query->sum('pay_money');
- },$total_subordinates_achievement);
- $children_personal_achievement = Order::find()->where(['user_id' => $children_user_id, 'pay_status' => 1])->sum('pay_money') ?? 0;
- $total_subordinates_achievement += $children_personal_achievement;
- $achievement_arr[] = $total_subordinates_achievement;
- }
- if(!empty($arr[$key]['value'][$name2]) && $arr[$key]['value'][$name2] > $personal_achievement + array_sum($achievement_arr)) return $is_bool;
- if(!empty($arr[$key]['value'][$name3]) && $arr[$key]['value'][$name3] > count($achievement_arr)) return $is_bool;
- rsort($achievement_arr);
- if(!empty($arr[$key]['value'][$name3]) && !empty($arr[$key]['value'][$name4]) && $arr[$key]['value'][$name4] > $achievement_arr[$arr[$key]['value'][$name3]-1]) return $is_bool;
- $is_bool = true;
- return $is_bool;
- }
- public static function upgrade67($name1, $name2,$name3, $name4, $name5, $user_id, $mall_id, $arr, $key)
- {
- //未安装插件
- if(!MallAddons::isInstall($mall_id,AddonsEnum::ADDONS_NAME_DOUBLE_COPY)) return false;
- if(!empty($arr[$key]['value'][$name1])){
- $doubleCopyUser = DoubleCopyUser::findOne(['user_id'=>$user_id,'status'=>StatusEnum::ENABLED]);
- if(!$doubleCopyUser || $doubleCopyUser['level'] < $arr[$key]['value'][$name1]){
- return false;
- }
- }
- $child_ids = UserPartitionRelationship::getChildIdArr($user_id, 1);
- $level_arr = [];
- $use_level_arr = [];
- $key_level = !empty($arr[$key]['value'][$name2]) ? $arr[$key]['value'][$name2] : 0;
- $key_nums = !empty($arr[$key]['value'][$name3]) ? $arr[$key]['value'][$name3] : 0;
- $agent_user_ids = DoubleCopyUser::find()
- ->where(['user_id' => $child_ids, 'status' => StatusEnum::ENABLED])
- ->andWhere(['>=', 'level', $key_level])
- ->select('user_id')
- ->column();
- if (count($agent_user_ids) < $key_nums) return false;
- $c_child_ids = UserPartitionRelationship::getChildIdArr($user_id);
- $key_c_level = !empty($arr[$key]['value'][$name4]) ? $arr[$key]['value'][$name4] : 0;
- $key_c_nums = !empty($arr[$key]['value'][$name5]) ? $arr[$key]['value'][$name5] : 0;
- $c_agent_user_ids = DoubleCopyUser::find()
- ->where(['user_id' => $c_child_ids, 'status' => StatusEnum::ENABLED])
- ->andWhere(['>=', 'level', $key_c_level])
- ->select('user_id')
- ->column();
- if (count($c_agent_user_ids) < $key_c_nums) return false;
- return true;
- }
- public static function upgrade68($name1, $name2,$name3, $name4, $user_id, $mall_id, $arr, $key)
- {
- //未安装插件
- if(!MallAddons::isInstall($mall_id,AddonsEnum::ADDONS_NAME_CLOUD_STOCK)) return false;
- $direct_num = !empty($arr[$key]['value'][$name1]) ? $arr[$key]['value'][$name1] : 0;
- $agent_level = !empty($arr[$key]['value'][$name2]) ? $arr[$key]['value'][$name2] : 0;
- $fill_num = !empty($arr[$key]['value'][$name3]) ? $arr[$key]['value'][$name3] : 0;
- $team_goods = !empty($arr[$key]['value'][$name4]) ? $arr[$key]['value'][$name4] : [];
- if(!empty($team_goods)){
- $team_goods = explode(",",$team_goods);
- }
- $child_ids = UserPartitionRelationship::getChildIdArr($user_id, 1);
- $agent_user_ids = CloudStockAgent::find()
- ->where(['user_id' => $child_ids, 'status' => StatusEnum::ENABLED])
- ->andWhere(['>=', 'level', $agent_level])
- ->select('user_id')
- ->column();
- if (count($agent_user_ids) < $direct_num) return false;
- $agent_full_num = CloudStockIncreaseDetail::find()
- ->where(['changes_type' => CloudStockEnum::STOCK_CHANGE_TYPE100,'mall_id' => $mall_id,'goods_id' => $team_goods,'user_id'=>$user_id])
- ->select('num')
- ->sum('num') ?? 0;
- if ($agent_full_num < $fill_num) return false;
- return true;
- }
- public static function upgrade69($name1, $name2,$user_id, $mall_id, $arr, $key)
- {
- //未安装插件
- if(!MallAddons::isInstall($mall_id,AddonsEnum::ADDONS_NAME_CLOUD_STOCK)) return false;
- $value_goods_ids = array_column($arr[$key]['value'][$name2], 'id');
- //条件 radio_type=0 表示或(满足其一);radio_type=1 表示与(同时满足)
- $radio_type = !empty($arr[$key]['value'][$name1]) ? $arr[$key]['value'][$name1] : 0;
- $fill_order_list = CloudStockFillOrder::lists(['where' => [['user_id' => $user_id], ['goods_id' => $value_goods_ids], ['is_pay' => 1]],
- 'select' => 'sum(num) as num,goods_id',
- 'group' => 'goods_id',
- 'index' => 'goods_id'
- ]);
- $upgrade = false;
- if ($radio_type == 0) {
- $upgrade = false;
- foreach ($arr[$key]['value'][$name2] as $row) {
- $num = 0;
- if (!empty($fill_order_list[$row['id']]['num'])) $num = $fill_order_list[$row['id']]['num'];
- if ($num >= $row['num']) {
- $upgrade = true;
- break;
- }
- }
- } else {
- $upgrade = true;
- if (empty($arr[$key]['value'][$name2])) {
- $upgrade = false;
- } else {
- foreach ($arr[$key]['value'][$name2] as $row) {
- $num = 0;
- if (!empty($fill_order_list[$row['id']])) $num = $fill_order_list[$row['id']]['num'];
- if ($num < $row['num']) {
- $upgrade = false;
- break;
- }
- }
- }
- }
- return $upgrade;
- }
- /**
- * 条件70查询
- *
- * @param string $name1
- * @param string $name2
- * @param int $user_id
- * @param array $arr
- * @param int $key
- * @param int $mall_id
- * @return boolean
- */
- public static function upgrade70($name1, $name2, $user_id, $arr, $key, $mall_id)
- {
- // 结算方式
- $compute_type = \Yii::$app->services->setting->mall->get($mall_id, 'upgrade_condition.compute_type');
- if (empty($compute_type)) $compute_type = 1;
- if ($compute_type == 1) {
- $where['pay_status'] = 1;
- } else {
- $where['order_status'] = OrderStatusEnum::ACCOMPLISH;
- }
- $is_bool = false;
- list($personal_counts, $personal_achievement) = static::getOrderData1($user_id, $where); //个人业绩
- if ($personal_achievement >= $arr[$key]['value'][$name1]) {
- // 团队业绩为0则认为达标
- if (!isset($arr[$key]['value'][$name2]) || $arr[$key]['value'][$name2] <= 0) {
- return true;
- }
- $offset = 1;
- $limit = 1000;
- $params['select'] = 'user_id';
- $total_subordinates_achievement = 0; //所有下级业绩
- static::batchFunc($params, $user_id, $offset, $limit, function ($user_id_arr) use ($where) {
- $where = array_merge($where, ['user_id' => $user_id_arr]);
- $query = Order::find()->where($where);
- return $query->sum('pay_money');
- }, $total_subordinates_achievement);
- if ($total_subordinates_achievement >= $arr[$key]['value'][$name2]) {
- $is_bool = true;
- }
- }
- return $is_bool;
- }
- /**
- * 条件120查询
- *
- * @param string $name1
- * @param string $name2
- * @param int $user_id
- * @param array $arr
- * @param int $key
- * @param int $mall_id
- * @return boolean
- */
- public static function upgrade121($name1, $name2, $user_id, $arr, $key, $mall_id)
- {
- // 结算方式
- $compute_type = \Yii::$app->services->setting->mall->get($mall_id, 'upgrade_condition.compute_type');
- $field = 'id,mall_id,user_id';
- if (empty($compute_type)) $compute_type = 1;
- if ($compute_type == 1) {
- $field .= ',pay_money as personal_achievement';
- } else {
- $field .= ',finish_order_money as personal_achievement';
- }
- $personal_data = UserStatisticsTotal::find()->where(['user_id' => $user_id, 'status' => StatusEnum::ENABLED])->select($field)->asArray()->one();
- $personal_achievement = $personal_data['personal_achievement'] ?? 0;
- $personal_data_old = UserStatisticsTotalCopy1::find()->where(['user_id' => $user_id, 'status' => StatusEnum::ENABLED])->select($field)->asArray()->one();
- $personal_achievement = bcadd($personal_achievement, $personal_data_old['personal_achievement'], 2);
- $is_bool = false;
- // list($personal_counts, $personal_achievement) = static::getOrderData1($user_id, $where); //个人业绩
- if ($personal_achievement >= $arr[$key]['value'][$name1]) {
- // 团队业绩为0则认为达标
- // if (!isset($arr[$key]['value'][$name2]) || $arr[$key]['value'][$name2] <= 0) {
- // return true;
- // }
- $is_bool = true;
- // $offset = 1;
- // $limit = 1000;
- // $params['select'] = 'user_id';
- // $total_subordinates_achievement = 0; //所有下级业绩
- // static::batchFunc($params, $user_id, $offset, $limit, function ($user_id_arr) use ($where) {
- // $where = array_merge($where, ['user_id' => $user_id_arr]);
- // $query = Order::find()->where($where);
- // return $query->sum('pay_money');
- // }, $total_subordinates_achievement);
- // if ($total_subordinates_achievement >= $arr[$key]['value'][$name2]) {
- // $is_bool = true;
- // }
- }
- return $is_bool;
- }
- public static function upgrade97($name1, $name2, $model_class, $user_id_arr, $arr, $key)
- {
- $is_bool = false;
- $level = $arr[$key]['value'][$name1];
- $counts = $model_class::find()->where(['user_id' => $user_id_arr, 'status' => [StatusEnum::ENABLED, StatusEnum::DISABLED]])
- ->andWhere(['>=','level',$level])
- ->count();
- if ($counts >= $arr[$key]['value'][$name2]) $is_bool = true;
- return $is_bool;
- }
- public static function upgrade98($name1, $name2, $model_class, $user_id, $arr, $key)
- {
- $is_bool = false;
- $level = $arr[$key]['value'][$name1];
- $offset = 1;
- $limit = 1000;
- $total_counts = 0;
- $params['select'] = 'user_id';
- static::batchFunc($params,$user_id,$offset,$limit,function ($user_id_arr)use($model_class,$level){
- return $model_class::find()->where(['user_id' => $user_id_arr, 'status' => [StatusEnum::ENABLED, StatusEnum::DISABLED]])
- ->andWhere(['>=','level',$level])
- ->count();
- },$total_counts);
- if ($total_counts >= $arr[$key]['value'][$name2]) $is_bool = true;
- return $is_bool;
- }
- public static function upgrade99($name1, $name2,$name3, $model_class, $user_id, $arr, $key)
- {
- $is_bool = false;
- $direct_child_ids = UserPartitionRelationship::getChildIdArr($user_id, 1); //查询直推下级
- $team_num = $arr[$key]['value'][$name1];//N条
- if (count($direct_child_ids) < $team_num) return $is_bool;
- $level_num = $arr[$key]['value'][$name2]; //N个
- $is_nums = 0;
- $level = $arr[$key]['value'][$name3];
- foreach ($direct_child_ids as $direct_child_id) {
- //先查直推是否满足,是则不用继续往下查
- $counts = $model_class::find()->where(['user_id' => $direct_child_id, 'level' => $level, 'status' => [StatusEnum::DISABLED, StatusEnum::ENABLED]])->count();
- if (!empty($counts)) {
- $is_nums++;
- continue;
- }
- $offset = 1;
- $limit = 1000;
- $params['select'] = 'user_id';
- list($tree, $parent_deep, $all_tree, $all_tree_arr) = UserPartitionRelationship::getTree($direct_child_id);//查询直推下级的所有下级
- while ($list = UserPartitionRelationship::batchGetTeamData($offset,$limit,$tree,$params)){
- $child_ids = array_column($list,'user_id');
- $counts = $model_class::find()->where(['user_id'=>$child_ids,'level'=>$level,'status'=>[StatusEnum::DISABLED,StatusEnum::ENABLED]])->count();
- if(!empty($counts)){
- $is_nums++;
- break;
- }
- $offset++;
- }
- }
- if ($is_nums >= $level_num) return true;
- return $is_bool;
- }
- public static function upgrade101($name1, $name2,$user_id, $arr, $key)
- {
- $is_bool = false;
- $level = $arr[$key]['value'][$name1];
- $counts = \addons\AgentBase\common\models\AgentBase::find()->where(['user_id' => $user_id, 'status' => StatusEnum::ENABLED])
- ->andWhere(['>=','level',$level])->count();
- if ($counts >= $arr[$key]['value'][$name2]) $is_bool = true;
- return $is_bool;
- }
- public static function upgrade106($name1, $user_id, $arr, $key)
- {
- $is_bool = false;
- $total_commission = static::getPremiumDistributionCommission($user_id);
- if ($total_commission >= $arr[$key]['value'][$name1]) $is_bool = true;
- return $is_bool;
- }
- public static function upgrade107($name1, $user_id, $arr, $key, $capital_type = 0)
- {
- $is_bool = false;
- $counts = static::getPremiumDistributionCommissionOrderNum($user_id, $capital_type);
- if ($counts >= $arr[$key]['value'][$name1]) $is_bool = true;
- return $is_bool;
- }
- public static function upgrade108($name1, $user_id, $arr, $key)
- {
- $is_bool = false;
- $counts = static::getPremiumDistributionCommissionFirst($user_id);
- if ($counts >= $arr[$key]['value'][$name1]) $is_bool = true;
- return $is_bool;
- }
- public static function upgrade110($name1, $user_id, $arr, $key)
- {
- $is_bool = false;
- $offset = 1;
- $limit = 1000;
- $total_counts = 0;
- $params['select'] = 'user_id';
- static::batchFunc($params,$user_id,$offset,$limit,function ($user_ids){
- return PremiumDistribution::find()->where(['user_id' => $user_ids, 'status' => StatusEnum::ENABLED])->count();
- },$total_counts);
- if ($total_counts >= $arr[$key]['value'][$name1]) $is_bool = true;
- return $is_bool;
- }
- public static function upgrade111($name1, $user_id, $arr, $key)
- {
- $is_bool = false;
- $counts = PremiumDistribution::find()->where(['user_id' => $user_id, 'status' => StatusEnum::ENABLED])->count();
- if ($counts >= $arr[$key]['value'][$name1]) $is_bool = true;
- return $is_bool;
- }
- public static function upgrade112($name1, $user_id, $arr, $key)
- {
- $is_bool = false;
- $total_commission = static::getSettledPremiumDistributionCommission($user_id);
- if ($total_commission >= $arr[$key]['value'][$name1]) $is_bool = true;
- return $is_bool;
- }
- public static function upgrade113($name1, $name2,$user_id, $arr, $key)
- {
- $is_bool = false;
- $level = $arr[$key]['value'][$name1];
- $counts = PremiumDistribution::find()->where(['user_id' => $user_id, 'status' => StatusEnum::ENABLED])
- ->andWhere(['>=','level',$level])->count();
- if ($counts >= $arr[$key]['value'][$name2]) $is_bool = true;
- return $is_bool;
- }
- public static function upgrade502($params, $user_id, $arr, $key)
- {
- $name = $params['condition_data'][$params['key']]['setting'][0]['name'];
- $self_team_order_goods_num = $arr[$key]['value'][$name];
- $mall_id = $params['mall_id']??0;
- $children_ids = UserPartitionRelationship::getChildIdArr($user_id);
- $children_ids[] = $user_id;
- // 结算方式
- $compute_type = \Yii::$app->services->setting->mall->get($mall_id, 'upgrade_condition.compute_type');
- if (empty($compute_type)) $compute_type = 1;
- if ($compute_type == 1) {
- $where['order_status'] = [OrderStatusEnum::PAY,OrderStatusEnum::SHIPMENTS,OrderStatusEnum::SING,OrderStatusEnum::ACCOMPLISH];
- } else {
- $where['order_status'] = OrderStatusEnum::ACCOMPLISH;
- }
- $where['status'] = StatusEnum::ENABLED;
- $where['user_id'] = $children_ids;
- $where['mall_id'] = $mall_id;
- $buy_num = (int) OrderDetail::find()->where($where)
- ->sum('num');
- return $buy_num >= $self_team_order_goods_num;
- }
- /**
- * TODO 后续优化查询
- * @desc:获取订单数据
- * @Author: hua
- * @Date: 2021/10/19
- * @Time: 10:58
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $user_ids
- * @return array
- */
- protected static function getOrderData($user_ids,$created_at = 0)
- {
- $query = Order::find()->where(['user_id' => $user_ids, 'pay_status' => 1]);
- if($created_at){
- $query->andWhere(['>','created_at',$created_at]);
- }
- $counts = $query->count();
- $sum = $query->sum('pay_money');
- return [$counts ?? 0, $sum ?? 0];
- }
- protected static function getOrderData1($user_ids, $condition = [])
- {
- $where = array_merge(['user_id' => $user_ids, 'pay_status' => 1], $condition);
- $query = Order::find()->where($where);
- $counts = $query->count();
- $sum = $query->sum('pay_money');
- return [$counts ?? 0, $sum ?? 0];
- }
- //会员等级升级,增加订单完成/支付后
- protected static function getOrderDataByUserUpgrade($user_ids,$mall_id,$key = null)
- {
- $compute_type = \Yii::$app->services->setting->mall->get($mall_id, 'upgrade_condition.compute_type');
- if(empty($compute_type)){
- $compute_type = 1;
- }
- $where = ['user_id' => $user_ids];
- if($compute_type==1){
- $where['pay_status'] = 1;
- }else{
- $where['order_status'] = OrderStatusEnum::ACCOMPLISH;
- }
- $excludeScorePaymentTypeWhere = [];
- if ($key == 1) {
- // 积分是否不累计
- $scoreSettingStr = Yii::$app->services->setting->mall->get($mall_id, 'pay.score');
- $isNotCumulative = !empty(json_decode($scoreSettingStr, true)['is_not_cumulative']);
- if ($isNotCumulative) {
- $excludeScorePaymentTypeWhere = ['<>', 'payment_type', PayTypeEnum::SCORE];
- }
- }
- // 根据需求需只拿取平台订单
- //条件升级,排除售后的订单
- $query = Order::find()->where($where)->andWhere(['mch_id' => 0, 'store_id' => 0])->andWhere(['<>', 'order_status', OrderStatusEnum::REPEAL])->andWhere($excludeScorePaymentTypeWhere);
- $counts = $query->count();
- $sum = $query->sum('pay_money');
- return [$counts ?? 0, $sum ?? 0];
- }
- public static function getRechargeData($user_ids,$created_at = 0){
- $query = RechargeOrders::find()->where(['user_id'=>$user_ids,'is_pay'=>1]);
- if($created_at){
- $query->andWhere(['>','created_at',$created_at]);
- }
- $sum = $query->sum('pay_price') ?? 0;
- return $sum;
- }
- protected static function getOrderCounts($user_ids)
- {
- $query = Order::find()->where(['user_id' => $user_ids, 'pay_status' => 1]);
- $counts = $query->count();
- return $counts ?? 0;
- }
- /**
- * TODO 后续优化查询
- * @desc:分组数据
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 11:43
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $user_ids
- * @return array|\yii\db\ActiveRecord[]
- */
- protected static function getOrderDataGroupByUserId($user_ids)
- {
- $query = Order::find()->where(['user_id' => $user_ids, 'pay_status' => 1]);
- $query->select('user_id,sum(pay_money) as pay_money');
- return $query->groupBy('user_id')->all();
- }
- /**
- * TODO 后续优化查询
- * @desc:分组数据
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 11:43
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $user_ids
- * @return array|\yii\db\ActiveRecord[]
- */
- protected static function getOrderCountsGroupByUserId($user_ids)
- {
- $query = Order::find()->where(['user_id' => $user_ids, 'pay_status' => 1]);
- $query->select("user_id, count(user_id) as counts");
- return $query->groupBy('user_id')->asArray()->all();
- }
- /**
- * @desc:设置升级条件时,处理与之相关的条件
- * @Author: hua
- * @Date: 2021/10/20
- * @Time: 18:17
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $checked_condition_keys
- * @param $handle_class
- * @param $mall_id
- */
- public static function clear($checked_condition_keys, $handle_class, $mall_id)
- {
- $list = $handle_class::findAll(['mall_id' => $mall_id]);
- sort($checked_condition_keys);
- $rows = static::getDataAttr();
- foreach ($list as $agent) {
- $checked_condition_values = json_decode($agent['checked_condition_values'], true);//升级条件
- $condition_keys = json_decode($agent['checked_condition_keys'], true);
- $checked_condition_values_arr = [];
- if ($checked_condition_values) {
- $condition_values_arr = [];
- foreach ($checked_condition_values as $v) {
- if($v['key']==54) continue;//兼容以前数据问题
- $condition_values_arr[$v['key']] = $v;
- }
- if(!$checked_condition_keys) continue;
- foreach ($checked_condition_keys as $k) {
- if (!empty($condition_values_arr[$k])) {
- if (!in_array($condition_values_arr[$k]['type'],['buy_goods','buy_store_goods'])) $checked_condition_values_arr[] = $condition_values_arr[$k];
- } else {
- //新添加,顺序有关,所以一条条取
- $row = $rows[$k];
- if (!in_array($row['type'],['buy_goods','buy_store_goods'])) {
- $arr = ['key' => $row['id']];
- if($row['setting'] ){
- foreach ($row['setting'] as $set) {
- $arr['value'][$set['name']] = $set['default_val'];
- }
- }
- $checked_condition_values_arr[] = $arr;
- }
- }
- }
- $agent->checked_condition_values = json_encode($checked_condition_values_arr);
- }
- $condition_keys_arr = [];
- if ($condition_keys) {
- foreach ($condition_keys as $k => $value) {
- if (!in_array($value, $checked_condition_keys)) continue;
- $condition_keys_arr[] = $value;
- }
- $agent->checked_condition_keys = json_encode($condition_keys_arr);
- }
- $agent->save();
- }
- }
- protected static function consumeNum($arr, $key, $name, $user_id_arr)
- {
- $list = static::getOrderDataGroupByUserId($user_id_arr);
- $num = 0;
- foreach ($list as $v) {
- if ($v['pay_money'] >= $arr[$key]['value'][$name]) {
- $num++;
- }
- }
- return $num;
- }
- /**
- * @desc:分销佣金
- * @Author: hua
- * @Date: 2021/11/18
- * @Time: 16:26
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $user_ids
- * @return bool|int|mixed|string
- */
- protected static function getDistributionCommission($user_ids)
- {
- $total_commission = Distribution::find()->where(['user_id' => $user_ids])->sum('total_commission');
- return $total_commission ?? 0;
- }
- /**
- * @desc:特级分销,分销佣金
- * @Author: hua
- * @Date: 2021/11/18
- * @Time: 16:26
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $user_ids
- * @return bool|int|mixed|string
- */
- protected static function getPremiumDistributionCommission($user_ids)
- {
- $total_commission = PremiumDistribution::find()->where(['user_id' => $user_ids])->sum('total_commission');
- return $total_commission ?? 0;
- }
- /**
- * @desc:已结算分销佣金
- * @Author: hua
- * @Date: 2021/11/18
- * @Time: 17:12
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $user_ids
- * @return bool|int|mixed|string
- */
- protected static function getSettledDistributionCommission($user_ids)
- {
- $wallet_type = 'commission';
- CapitalLog::$capitalType = "{$wallet_type}";
- $total_commission = CapitalLog::find()->where(['user_id' => $user_ids, 'from_type' => DistributionEnum::ADDONS_NAME])->sum('change_num');
- return $total_commission ?? 0;
- }
- /**
- * @desc:特级分销,已结算分销佣金
- * @Author: hua
- * @Date: 2021/11/18
- * @Time: 17:12
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $user_ids
- * @return bool|int|mixed|string
- */
- protected static function getSettledPremiumDistributionCommission($user_ids)
- {
- $wallet_type = 'commission';
- CapitalLog::$capitalType = "{$wallet_type}";
- $total_commission = CapitalLog::find()->where(['user_id' => $user_ids, 'from_type' => PremiumDistributionEnum::ADDONS_NAME])->sum('change_num');
- return $total_commission ?? 0;
- }
- /**
- * @desc:分销佣金user_id分组
- * @Author: hua
- * @Date: 2021/11/18
- * @Time: 16:28
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $user_ids
- * @return array|\yii\db\ActiveRecord[]
- */
- protected static function getDistributionCommissionGroupByUserId($user_ids)
- {
- $query = Distribution::find()->where(['user_id' => $user_ids]);
- $query->select('user_id,sum(total_commission) as total_commission');
- return $query->groupBy('user_id')->all();
- }
- /**
- * @desc:一级分销佣金
- * @Author: hua
- * @Date: 2021/11/18
- * @Time: 16:31
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $user_ids
- * @return bool|int|string分销订单
- */
- protected static function getDistributionCommissionFirst($user_ids)
- {
- $total = 0;
- $wallet_type = 'commission';
- CapitalLog::$capitalType = "{$wallet_type}_frozen";
- $total1 = CapitalLog::find()->where(['user_id' => $user_ids, 'source_table' => 'order_detail','from_type'=>DistributionEnum::ADDONS_NAME, 'capital_type' => 'first', 'status' => CapitalLog::STATUS_WAIT_SEND])
- ->sum('change_num');
- if ($total1) $total += $total1;
- CapitalLog::$capitalType = "{$wallet_type}";
- $total2 = CapitalLog::find()->where(['user_id' => $user_ids, 'source_table' => 'order_detail','from_type'=>DistributionEnum::ADDONS_NAME, 'capital_type' => 'first'])
- ->sum('change_num');
- if ($total2) $total += $total2;
- return $total;
- }
- /**
- * @desc:特级分销,一级分销佣金
- * @Author: hua
- * @Date: 2021/11/18
- * @Time: 16:31
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $user_ids
- * @return bool|int|string分销订单
- */
- protected static function getPremiumDistributionCommissionFirst($user_ids)
- {
- $total = 0;
- $wallet_type = 'commission';
- CapitalLog::$capitalType = "{$wallet_type}_frozen";
- $total1 = CapitalLog::find()->where(['user_id' => $user_ids, 'source_table' => 'order_detail','from_type'=>PremiumDistributionEnum::ADDONS_NAME, 'capital_type' => 'first', 'status' => CapitalLog::STATUS_WAIT_SEND])
- ->sum('change_num');
- if ($total1) $total += $total1;
- CapitalLog::$capitalType = "{$wallet_type}";
- $total2 = CapitalLog::find()->where(['user_id' => $user_ids, 'source_table' => 'order_detail','from_type'=>PremiumDistributionEnum::ADDONS_NAME, 'capital_type' => 'first'])
- ->sum('change_num');
- if ($total2) $total += $total2;
- return $total;
- }
- /**
- * @desc:分销订单数量
- * @Author: hua
- * @Date: 2021/11/18
- * @Time: 16:31
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $user_ids
- * @param $capital_type
- * @return bool|int|string分销订单
- */
- protected static function getDistributionCommissionOrderNum($user_ids, $capital_type)
- {
- $counts = 0;
- $wallet_type = 'commission';
- CapitalLog::$capitalType = "{$wallet_type}_frozen";
- $query = CapitalLog::find()->where(['user_id' => $user_ids, 'source_table' => 'order_detail', 'from_type' => DistributionEnum::ADDONS_NAME, 'status' => CapitalLog::STATUS_WAIT_SEND]);
- if (!empty($capital_type)) $query->andWhere(['capital_type' => $capital_type]);
- $frozen_counts = $query->count();
- if ($frozen_counts) $counts += $frozen_counts;
- CapitalLog::$capitalType = "{$wallet_type}";
- $query = CapitalLog::find()->where(['user_id' => $user_ids, 'source_table' => 'order_detail', 'from_type' => DistributionEnum::ADDONS_NAME,]);
- if (!empty($capital_type)) $query->andWhere(['capital_type' => $capital_type]);
- $no_frozen_counts = $query->count();
- if ($no_frozen_counts) $counts += $no_frozen_counts;
- return $counts;
- }
- /**
- * @desc:特级分销,分销订单数量
- * @Author: hua
- * @Date: 2021/11/18
- * @Time: 16:31
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $user_ids
- * @param $capital_type
- * @return bool|int|string分销订单
- */
- protected static function getPremiumDistributionCommissionOrderNum($user_ids, $capital_type)
- {
- $counts = 0;
- $wallet_type = 'commission';
- CapitalLog::$capitalType = "{$wallet_type}_frozen";
- $query = CapitalLog::find()->where(['user_id' => $user_ids, 'source_table' => 'order_detail', 'from_type' => PremiumDistributionEnum::ADDONS_NAME, 'status' => CapitalLog::STATUS_WAIT_SEND]);
- if (!empty($capital_type)) $query->andWhere(['capital_type' => $capital_type]);
- $frozen_counts = $query->count();
- if ($frozen_counts) $counts += $frozen_counts;
- CapitalLog::$capitalType = "{$wallet_type}";
- $query = CapitalLog::find()->where(['user_id' => $user_ids, 'source_table' => 'order_detail', 'from_type' => PremiumDistributionEnum::ADDONS_NAME,]);
- if (!empty($capital_type)) $query->andWhere(['capital_type' => $capital_type]);
- $no_frozen_counts = $query->count();
- if ($no_frozen_counts) $counts += $no_frozen_counts;
- return $counts;
- }
- /**
- * @desc:分销订单数量按user_id分组
- * @Author: hua
- * @Date: 2021/11/18
- * @Time: 16:34
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $user_ids
- * @return array
- */
- protected static function getDistributionCommissionOrderNumGroupByUserId($user_ids)
- {
- $wallet_type = 'commission';
- CapitalLog::$capitalType = "{$wallet_type}_frozen";
- $frozen_list = CapitalLog::find()->where(['user_id' => $user_ids, 'source_table' => 'order_detail','from_type'=>DistributionEnum::ADDONS_NAME, 'status' => CapitalLog::STATUS_WAIT_SEND])
- ->select('user_id,count(*) as counts')->all();
- CapitalLog::$capitalType = "{$wallet_type}";
- $no_frozen_list = CapitalLog::find()->where(['user_id' => $user_ids, 'source_table' => 'order_detail','from_type'=>DistributionEnum::ADDONS_NAME])
- ->select('user_id,count(*) as counts')->all();
- return ['frozen_list' => $frozen_list, 'no_frozen_list' => $no_frozen_list];
- }
- public static function batchFunc($params, $user_id, $offset, $limit, $callback, &$num)
- {
- list($tree, $parent_deep, $all_tree, $all_tree_arr) = UserPartitionRelationship::getTree($user_id);
- while ($list = UserPartitionRelationship::batchGetTeamData($offset, $limit, $tree, $params)) {
- $user_id_arr = array_column($list, 'user_id');
- $result = call_user_func($callback, $user_id_arr);
- if (empty($result)) $result = 0;
- $num += $result;
- $offset++;
- }
- }
- //购买指定商品
- public static function buyGoodsUpgrade($mall_id, $order, $user_id, $order_by, $buy_type, $order_status)
- {
- $order_id = $order['id'];
- $user = User::findOne($user_id);
- $params = [];
- $where = [];
- $where[] = ['mall_id' => $mall_id];
- $where[] = ['order_id' => $order_id];
- $where[] = ['user_id' => $user_id];
- $params['where'] = $where;
- $order_detail_list = OrderDetail::lists($params);
- $buy_goods_id_arr = array_column($order_detail_list, 'goods_id');
- $before_level = $user['level'];
- $params = [];
- $where = [];
- $where[] = ['mall_id' => $mall_id];
- $where[] = ['status' => StatusEnum::ENABLED];
- $where[] = ['>', 'level', $user->level];
- $params['where'] = $where;
- $params['order'] = $order_by;
- $params['with'] = ['upgradeCondition' => function ($query) {
- $query->where(['status' => StatusEnum::ENABLED]);
- }];
- $user_level_list = UserLevel::lists($params);
- $can_upgrade_level = $upgrade_user_id = 0;
- $flag = false;
- //开启购买升级商品
- if (!empty($user_level_list)) {
- foreach ($user_level_list as $level_arr) {
- $can_upgrade_level = $level_arr['level'];
- //开启购买升级商品
- if ($level_arr['upgradeCondition']['upgrade_type_goods'] && $level_arr['upgradeCondition']['is_auto_upgrade']) {
- $goods_id_arr = json_decode($level_arr['upgradeCondition']['goods_ids'], true);
- $level_goods_list = json_decode($level_arr['upgradeCondition']['goods_list'], true);
- $condition_num_map = !is_array($level_goods_list) ? [] : array_column($level_goods_list, 'condition_num', 'id');
- $extParams = [
- 'is_custom_condition_num' => $level_arr['upgradeCondition']['is_custom_condition_num'] ?? 0,
- 'buy_goods_type' => $level_arr['upgradeCondition']['buy_goods_type'],
- 'condition_num_map' => $condition_num_map,
- 'mall_id' => $mall_id,
- 'user_id' => $user_id,
- ];
- $res = UpgradeCondition::buyGoods($level_arr['upgradeCondition']['goods_type'], $buy_goods_id_arr, $goods_id_arr, $extParams);
- if ($res) {
- //购买升级商品触发升级:0订单完成 1下单完成
- if ($level_arr['upgradeCondition']['buy_goods_type'] == $buy_type && $order['order_status'] == $order_status) {
- $flag = true;
- break;
- }
- }
- }
- }
- if ($flag) {
- // 记录升级日志
- $upgrade_log_obj = new UserLevelUpgradeLog();
- $upgrade_log_obj->mall_id = $mall_id;
- $upgrade_log_obj->user_id = $user_id;
- $upgrade_log_obj->before_level = $before_level;
- $upgrade_log_obj->after_level = $can_upgrade_level;
- $upgrade_log_obj->upgrade_type = LevelUpgradeLogEnum::GOODS_UPGRADE;
- $upgrade_log_obj->order_id = $order_id;
- $upgrade_log_obj->upgrade_condition = $goods_id_arr ?? [];
- $upgrade_log_obj->save();
- \Yii::$app->services->statistics->global->set($mall_id, ['upgrade_level' => [$can_upgrade_level => 1]]);
- $user->level = $can_upgrade_level;
- $user->upgrade_level_at = time();
- if (!$user->save()) {
- \Yii::error("{user_id:$user_id}-{order_id:$order_id}" . ',会员升级,失败');
- return false;
- }
- // 触发升级礼包
- if (MallAddons::isInstall($mall_id, AddonsEnum::ADDONS_NAME_UPGRADEGIFT)) {
- $gift['mall_id'] = $mall_id;
- $gift['user_ids'] = $user_id;
- $gift['gift_type'] = GiftEnum::GIFT_TYPE_USER;
- // 事件触发会导致重发发送礼包(原因不明),所以改为直接异步队列处理
- \Yii::$app->services->rabbitMq->push(RabbitMqEnum::EXCHANGE_TASK, RabbitMqEnum::TASK_QUEUE, $gift, UpgradeGiftListener::class, 'async_handle');
- }
- // 升级成功后
- $event = new UserUpgradeAfterEvent($mall_id);
- $data = ['after_level' => $can_upgrade_level, 'before_level' => $before_level, 'mall_id' => $mall_id, 'user_id' => $user_id, 'order_id' => $order_id, 'upgrade_type' => 'buyGoods'];
- \Yii::$app->services->events->dispatch($event, $data, $event->listeners);
- }
- }
- }
- //购买指定门店商品
- public static function buyStoreGoodsUpgrade($mall_id, $order, $user_id, $order_by, $buy_type, $order_status)
- {
- $order_id = $order['id'];
- $user = User::findOne($user_id);
- $params = [];
- $where = [];
- $where[] = ['mall_id' => $mall_id];
- $where[] = ['order_id' => $order_id];
- $where[] = ['user_id' => $user_id];
- $params['where'] = $where;
- $order_detail_list = StoreOrderDetail::lists($params);
- $buy_goods_id_arr = array_column($order_detail_list, 'goods_id');
- $before_level = $user['level'];
- $params = [];
- $where = [];
- $where[] = ['mall_id' => $mall_id];
- $where[] = ['status' => StatusEnum::ENABLED];
- $where[] = ['>', 'level', $user->level];
- $params['where'] = $where;
- $params['order'] = $order_by;
- $params['with'] = ['upgradeCondition' => function ($query) {
- $query->where(['status' => StatusEnum::ENABLED]);
- }];
- $user_level_list = UserLevel::lists($params);
- $can_upgrade_level = 0;
- $flag = false;
- //开启购买升级商品
- if (!empty($user_level_list)) {
- foreach ($user_level_list as $level_arr) {
- $can_upgrade_level = $level_arr['level'];
- //开启购买升级商品
- if ($level_arr['upgradeCondition']['store_upgrade_type_goods'] && $level_arr['upgradeCondition']['is_auto_upgrade']) {
- $goods_id_arr = json_decode($level_arr['upgradeCondition']['store_goods_ids'], true);
- $res = UpgradeCondition::buyGoods($level_arr['upgradeCondition']['store_goods_type'], $buy_goods_id_arr, $goods_id_arr);
- if ($res) {
- //购买升级商品触发升级:0订单完成 1下单完成
- if ($level_arr['upgradeCondition']['store_buy_goods_type'] == $buy_type && $order['order_status'] == $order_status) {
- $flag = true;
- break;
- }
- }
- }
- }
- if ($flag) {
- // 记录升级日志
- $upgrade_log_obj = new UserLevelUpgradeLog();
- $upgrade_log_obj->mall_id = $mall_id;
- $upgrade_log_obj->user_id = $user_id;
- $upgrade_log_obj->before_level = $before_level;
- $upgrade_log_obj->after_level = $can_upgrade_level;
- $upgrade_log_obj->upgrade_type = LevelUpgradeLogEnum::STORE_GOODS_UPGRADE;
- $upgrade_log_obj->order_id = $order_id;
- $upgrade_log_obj->upgrade_condition = $goods_id_arr ?? [];
- $upgrade_log_obj->save();
-
- \Yii::$app->services->statistics->global->set($mall_id, ['upgrade_level' => [$can_upgrade_level => 1]]);
- $user->level = $can_upgrade_level;
- $user->upgrade_level_at = time();
- if (!$user->save()) {
- var_dump("{user_id:$user_id}-{store_order_id:$order_id}" . ',会员升级,失败');
- return false;
- }
- // 触发升级礼包
- if (MallAddons::isInstall($mall_id, AddonsEnum::ADDONS_NAME_UPGRADEGIFT)) {
- $gift['mall_id'] = $mall_id;
- $gift['user_ids'] = $user_id;
- $gift['gift_type'] = GiftEnum::GIFT_TYPE_USER;
- // 事件触发会导致重发发送礼包(原因不明),所以改为直接异步队列处理
- \Yii::$app->services->rabbitMq->push(RabbitMqEnum::EXCHANGE_TASK, RabbitMqEnum::TASK_QUEUE, $gift, UpgradeGiftListener::class, 'async_handle');
- }
- // 升级成功后
- $event = new UserUpgradeAfterEvent($mall_id);
- $data = ['after_level' => $can_upgrade_level, 'before_level' => $before_level, 'mall_id' => $mall_id, 'user_id' => $user_id, 'order_id' => $order_id, 'upgrade_type' => 'buyStoreGoods'];
- \Yii::$app->services->events->dispatch($event, $data, $event->listeners);
- }
- }
- }
- //购买指定分类
- public static function buyGoodsCateUpgrade($mall_id, $order, $user_id, $order_by, $buy_type, $order_status)
- {
- $order_id = $order['id'];
- $user = User::findOne($user_id);
- $params = [];
- $where = [];
- $where[] = ['mall_id' => $mall_id];
- $where[] = ['order_id' => $order_id];
- $where[] = ['user_id' => $user_id];
- $params['where'] = $where;
- $order_detail_list = OrderDetail::lists($params);
- $buy_goods_id_arr = array_column($order_detail_list, 'goods_id');
- $cate_relate_list = GoodsCateRelate::lists([
- 'where' => [
- ['goods_id' => $buy_goods_id_arr],
- ],
- ]);
- $buy_cate_id_arr = array_column($cate_relate_list, 'cate_id');
- $before_level = $user['level'];
- $params = [];
- $where = [];
- $where[] = ['mall_id' => $mall_id];
- $where[] = ['status' => StatusEnum::ENABLED];
- $where[] = ['>', 'level', $user->level];
- $params['where'] = $where;
- $params['order'] = $order_by;
- $params['with'] = ['upgradeCondition' => function ($query) {
- $query->where(['status' => StatusEnum::ENABLED]);
- }];
- $user_level_list = UserLevel::lists($params);
- $can_upgrade_level = $upgrade_user_id = 0;
- $flag = false;
- //开启购买升级分类
- if (!empty($user_level_list)) {
- foreach ($user_level_list as $level_arr) {
- $can_upgrade_level = $level_arr['level'];
- $cate_ids_arr = json_decode($level_arr['upgradeCondition']['cate_ids'], true);
- if(empty($cate_ids_arr)) continue;
- $res = UpgradeCondition::buyGoodsCate($buy_cate_id_arr, $cate_ids_arr);
- if ($res) {
- //购买升级商品触发升级:0订单完成 1支付完成
- if ($level_arr['upgradeCondition']['buy_cate_type'] == $buy_type&&$order['order_status'] == $order_status) {
- $flag = true;
- break;
- }
- }
- }
- if ($flag) {
- \Yii::$app->services->statistics->global->set($mall_id, ['upgrade_level'=>[$can_upgrade_level=>1]]);
- $user->level = $can_upgrade_level;
- $user->upgrade_level_at = time();
- if (!$user->save()) {
- \Yii::error("{user_id:$user_id}-{order_id:$order_id}" . ',会员升级,失败');
- return false;
- }
- // 触发升级礼包
- if (MallAddons::isInstall($mall_id,AddonsEnum::ADDONS_NAME_UPGRADEGIFT)) {
- $gift['mall_id'] = $mall_id;
- $gift['user_ids'] = $user_id;
- $gift['gift_type'] = GiftEnum::GIFT_TYPE_USER;
- // 事件触发会导致重发发送礼包(原因不明),所以改为直接异步队列处理
- \Yii::$app->services->rabbitMq->push(RabbitMqEnum::EXCHANGE_TASK, RabbitMqEnum::TASK_QUEUE, $gift, UpgradeGiftListener::class, 'async_handle');
- }
- // 升级成功后
- $event = new UserUpgradeAfterEvent($mall_id);
- $data = ['after_level' => $can_upgrade_level, 'before_level' => $before_level,'mall_id'=>$mall_id,'user_id'=>$user_id, 'order_id' => $order_id, 'upgrade_type' => 'buyGoodsCate'];
- \Yii::$app->services->events->dispatch($event, $data, $event->listeners);
- }
- }
- return true;
- }
- //获取团队业绩统计方式
- public static function getAchievementType(){
- return [
- [
- 'level'=> 0,
- 'name' => '包含自己业绩',
- ],
- [
- 'level'=> 1,
- 'name' => '不包含自己业绩',
- ]
- ];
- }
- //获取二二复制等级
- public static function getDoubleCopyLevelList($params)
- {
- $data = [];
- if(MallAddons::isInstall($params['mall_id'],AddonsEnum::ADDONS_NAME_DOUBLE_COPY)){
- $data = DoubleCopyLevel::lists(['where' => [['mall_id' => $params['mall_id']], ['status' => StatusEnum::ENABLED]],'select'=>'level,name'], true);
- }
- return $data;
- }
- //获取云仓等级
- public static function getCloudStockLevelList($params){
- $data = [];
- if(MallAddons::isInstall($params['mall_id'],AddonsEnum::ADDONS_NAME_CLOUD_STOCK)){
- $data = CloudStockLevel::lists(['where' => [['mall_id' => $params['mall_id']], ['status' => StatusEnum::ENABLED]],'select'=>'level,name'], true);
- }
- return $data;
- }
- //获取商品条件
- public static function getConditionType(){
- return [
- [
- 'level'=> 0,
- 'name' => '其一',
- ],
- [
- 'level'=> 1,
- 'name' => '所有',
- ]
- ];
- }
- /**
- * @desc:购买门店商品升级
- * @Author: hua
- * @Date: 2021/10/19
- * @Time: 14:51
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $user_id
- * @param $goods_type
- * @param $buy_goods_id
- * @param $goods_id_arr
- * @return bool
- */
- public static function buyStoreGoods($goods_type, $buy_goods_id, $goods_id_arr)
- {
- //任意商品
- if ($goods_type == 1) return true;
- //购买指定商品
- if ($goods_type == 2) if (array_intersect($buy_goods_id, $goods_id_arr)) return true;
- return false;
- }
- public static function getIsIncludesSelf()
- {
- return [
- ['key' => 0, 'value' => '不包含自己'],
- ['key' => 1, 'value' => '包含自己'],
- ];
- }
- public static function getWhenSettlement()
- {
- return [
- ['key' => 0, 'value' => '订单完成'],
- ['key' => 1, 'value' => '订单支付'],
- ];
- }
- public static function getSettleAchievement()
- {
- return [
- ['key' => 0, 'value' => '商品利润'],
- ['key' => 1, 'value' => '实付金额'],
- ];
- }
- /**
- * 购买指定商品,商品ID组_______,累计数量达到_______件
- * @param $params
- * @return bool
- */
- protected static function condition609($params)
- {
- $cond = $params['arr'][$params['key']];
- $goods_ids = $cond['value']['goods_ids'] ?? '';
- $goods_num = $cond['value']['goods_num'] ?? '';
- if ($goods_ids) {
- $goods_ids = explode(',', $goods_ids);
- $user_id = $params['user_id'];
- $sum = OrderDetail::find()->where(['user_id' => $user_id, 'goods_id' => $goods_ids])
- ->andWhere(['order_status' => [OrderStatusEnum::PAY, OrderStatusEnum::SHIPMENTS, OrderStatusEnum::SING, OrderStatusEnum::ACCOMPLISH]])->sum('num');
- if ($sum >= $goods_num) return true;
- }
- return false;
- }
- protected static function condition700($params)
- {
- return static::upgrade700(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- $params['condition_data'][$params['key']]['setting'][2]['name'],
- 'addons\ServeBonus\common\models\ServeBonus',
- $params['user_id'],
- $params['arr'],
- $params['key']
- );
- }
- // 团队满足____条线内,达到____个成员,晋升____以上等级
- public static function upgrade700($name1, $name2, $name3, $model_class, $user_id, $arr, $key)
- {
- $is_bool = false;
- $direct_child_ids = UserPartitionRelationship::getChildIdArr($user_id, 1); //查询直推下级
- $team_num = $arr[$key]['value'][$name1];//N条
- if (count($direct_child_ids) < $team_num) return $is_bool;
- $level_num = $arr[$key]['value'][$name2]; //N个
- $level = $arr[$key]['value'][$name3];
- $num_level = [];
- foreach ($direct_child_ids as $direct_child_id) {
- $temp_level_num = 0;
- $direct_child_level = $model_class::find()->where(['user_id' => $direct_child_id, 'status' => [StatusEnum::DISABLED, StatusEnum::ENABLED]])->andWhere(['>=', 'level', $level])->one();
- if ($direct_child_level) {
- $temp_level_num++;
- }
- $offset = 1;
- $limit = 1000;
- $params['select'] = 'user_id';
- list($tree, $parent_deep, $all_tree, $all_tree_arr) = UserPartitionRelationship::getTree($direct_child_id);//查询直推下级的所有下级
- while ($list = UserPartitionRelationship::batchGetTeamData($offset, $limit, $tree, $params)){
- $child_ids = array_column($list, 'user_id');
- $counts = $model_class::find()->where(['user_id' => $child_ids, 'status' => [StatusEnum::DISABLED, StatusEnum::ENABLED]])->andWhere(['>=', 'level', $level])->count();
- if(!empty($counts)){
- $temp_level_num += $counts;
- }
- $offset++;
- }
- if ($temp_level_num > 0) {
- array_push($num_level, $temp_level_num);
- }
- if (count($num_level) >= $team_num) {
- rsort($num_level);
- $sum = array_sum(array_slice($num_level, 0, $team_num));
- if ($sum >= $level_num) {
- // 如果前N条线内达到N个成员,晋升N以上等级,则返回true
- return true;
- }
- }
- }
- return false;
- }
- protected static function condition701($params)
- {
- $cond = $params['arr'][$params['key']];
- $is_include_yourself = $cond['value']['is_include_yourself'];
- $is_when_settlement = $cond['value']['is_when_settlement'];
- $total_performance = $cond['value']['total_performance'];
- $target_big_performance = $cond['value']['max_performance'];
- $target_small_performance = $cond['value']['min_performance'];
- $user_id = $params['user_id'];
- $statistics = UserTeamStatistics::getOne([['user_id' => $user_id], ['status' => StatusEnum::ENABLED]], true);
- $user_statistics = UserStatisticsTotal::getOne([['user_id' => $user_id], ['status' => StatusEnum::ENABLED]], true);
-
- if (empty($statistics)) return false;
- $real_total_performance = $is_when_settlement == 0 ? $statistics['team_finish_order_price_total'] : $statistics['user_team_order_price_total'];
- $real_total_performance = $is_include_yourself ? $real_total_performance + ($is_when_settlement == 0 ? $user_statistics['finish_order_money'] : $user_statistics['pay_money']) : $real_total_performance;
- if ($real_total_performance < $total_performance) return false;
- //获取下级团队
- $user_id_arr = UserPartitionRelationship::getChildIdArr($user_id);
- //获取下级团队业绩数据
- $team_statistics = UserTeamStatistics::lists([
- 'where' => [
- ['user_id' => $user_id_arr],
- ['status' => StatusEnum::ENABLED]
- ],
- 'index' => 'user_id'
- ]);
- $team_user_statistics = UserStatisticsTotal::lists([
- 'where' => [
- ['user_id' => $user_id_arr],
- ['status' => StatusEnum::ENABLED]
- ],
- 'index' => 'user_id'
- ]);
- $pay_performance_arr = [];
- $accomplish_performance_arr = [];
- //累计团队业绩
- foreach ($team_statistics as $key => $value) {
- $pay_performance_arr[] = bcadd($value['user_team_order_price_total'], $team_user_statistics[$value['user_id']]['pay_money'], 2);
- $accomplish_performance_arr[] = bcadd($value['team_finish_order_price_total'], $team_user_statistics[$value['user_id']]['finish_order_money'], 2);
- }
- //获取团队业绩最大值
- $accomplish_big_market = max($accomplish_performance_arr);
- $pay_big_market = max($pay_performance_arr);
- $real_big_performance = $is_when_settlement == 0 ? $accomplish_big_market : $pay_big_market;
- if ($real_big_performance < $target_big_performance) return false;
- $real_total_performance = $is_when_settlement == 0 ? $statistics['team_finish_order_price_total'] : $statistics['user_team_order_price_total'];
- $real_small_performance = 0;
- if ($real_big_performance > 0) $real_small_performance = $real_total_performance - $real_big_performance;
- return $real_small_performance >= $target_small_performance;
- }
- protected static function condition702($params)
- {
- return static::upgrade700(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- $params['condition_data'][$params['key']]['setting'][2]['name'],
- 'addons\AgentDividend\common\models\Agent',
- $params['user_id'],
- $params['arr'],
- $params['key']
- );
- }
- protected static function condition703($params)
- {
- if (!MallAddons::isInstall($params['mall_id'], AddonsEnum::ADDONS_NAME_CLOUD_STOCK)) return false;
- $cond = $params['arr'][$params['key']];
- $user_id = $params['user_id'];
- $nums = $cond['value']['num'] ?? 0;
- $pay_money = CloudStockFillOrder::find()->where(['user_id' => $user_id, 'status' => StatusEnum::ENABLED])->sum('pay_money');
- $pay_money = $pay_money ?? 0;
- $after_distribution_price = CloudStockBuyingOrder::find()->where(['user_id' => $user_id, 'status' => StatusEnum::ENABLED, 'is_return' => 0])->sum('after_distribution_price');
- $after_distribution_price = $after_distribution_price ?? 0;
- $after_distribution_price = $after_distribution_price + $pay_money;
- if ($after_distribution_price >= $nums) return true;
- return false;
- }
- protected static function condition704($params)
- {
- return ConditionUpgradeLogic::condition704($params);
- }
- protected static function condition705($params)
- {
- return ConditionUpgradeLogic::condition705($params);
- }
- /**
- * @desc:条件118
- * 团队下____条____个____等级
- * @Author: whq
- * @Date: 2025/6/26
- * @Time: 15:10
- * @param $params
- * @return bool
- */
- protected static function condition118($params)
- {
- return static::upgrade118(
- $params['condition_data'][$params['key']]['setting'][0]['name'],
- $params['condition_data'][$params['key']]['setting'][1]['name'],
- $params['condition_data'][$params['key']]['setting'][2]['name'],
- $params['user_id'],
- $params['arr'],
- $params['key']
- );
- }
- /**
- * 团队下____条____个____等级 条件118
- * @param $team_num
- * @param $level_num
- * @param $agent_level
- * @param $user_id
- * @param array $arr
- * @param string $key
- * @return bool
- */
- public static function upgrade118($team_num, $level_num,$agent_level, $user_id, $arr = [], $key = '')
- {
- $direct_child_ids = UserPartitionRelationship::getChildIdArr($user_id, 1); //查询直推下级
- $teamNum = $arr[$key]['value'][$team_num];//N条
- if (count($direct_child_ids) < $teamNum) return false;
- $levelNum = $arr[$key]['value'][$level_num]; //N个
- $level = $arr[$key]['value'][$agent_level];
- $isNums = 0;
- foreach ($direct_child_ids as $direct_child_id) {
- $count = 0;
- $userInfo = User::getOne([['id' => $direct_child_id]], true); //用户自己
- if($userInfo['level'] == $level){
- $count++;
- if($count >= $levelNum) {
- $isNums++;
- continue;
- }
- }
- $count += User::getTeamlevelCount($direct_child_id,$level);
- if($count < $levelNum) continue;
- $isNums++;
- if($isNums >= $teamNum) return true;
- }
- if ($isNums >= $teamNum) return true;
- return false;
- }
- protected static function condition119($params)
- {
- $cond = $params['arr'][$params['key']];
- $is_include_yourself = $cond['value']['is_include_yourself'];
- $is_when_settlement = $cond['value']['is_when_settlement'];
- $total_performance = $cond['value']['total_performance'];
- $target_big_performance = $cond['value']['max_performance'];
- $target_small_performance = $cond['value']['min_performance'];
- $user_id = $params['user_id'];
- $statistics = UserTeamProfitStatistics::getOne([
- ['user_id' => $user_id]
- ], true);
- if (empty($statistics)) return false;
- //判断用户总业绩
- $field = 'id,user_id';
- if ($is_when_settlement == 1) {
- $orderBy = 'team_order_pay_achievement desc';
- $field .= ',team_order_pay_achievement as real_performance';
- if ($is_include_yourself == 1) {
- $real_total_performance = $statistics['team_order_pay_achievement'];
- } else {
- $real_total_performance = $statistics['children_order_pay_achievement'];
- }
- } else {
- $orderBy = 'team_order_finish_achievement desc';
- $field .= ',team_order_finish_achievement as real_performance';
- if ($is_include_yourself == 1) {
- $real_total_performance = $statistics['team_order_finish_achievement'];
- } else {
- $real_total_performance = $statistics['children_order_finish_achievement'];
- }
- }
- //判断总业绩是否达标
- if ($real_total_performance < $total_performance) return false;
- //获取直推用户id
- $direct_child_ids = UserPartitionRelationship::getChildIdArr($user_id, 1);
- $real_big_performance = 0;
- $real_small_performance = 0;
- if (!empty($direct_child_ids)) {
- //获取大小市场业绩
- $team_profit_statistics = UserTeamProfitStatistics::lists([
- 'where' => [
- ['user_id' => $direct_child_ids],
- ],
- 'select' => $field,
- 'order' => $orderBy,
- 'limit' => 2,
- ]);
- if (!empty($team_profit_statistics)) {
- //获取大市场业绩
- $real_big_performance = $team_profit_statistics[0]['real_performance']??0;
- //最大的小市场业绩
- $real_small_performance = $team_profit_statistics[1]['real_performance']??0;
- }
- }
- if ($real_big_performance < $target_big_performance) return false;
- if ($real_small_performance < $target_small_performance) return false;
- return true;
- }
- /**
- * key 为56 的配置参数
- * @return array[]
- */
- public static function getPersonalCheckbox56() {
- return [
- ['value' => 1, 'label' => '平台'],
- ['value' => 2, 'label' => '多商户'],
- ];
- }
- /**
- * @desc:条件120
- * 指定商品,个人累计达到___元、小区业绩达到___元升级
- * @Author: hua
- * @Date: 2021/10/23
- * @Time: 14:16
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $params
- * @return bool
- */
- protected static function condition120($params)
- {
- $cond = $params['arr'][$params['key']];
- return static::upgrade120(
- $cond,
- $params['mall_id'],
- $params['user_id'],
- );
- }
- public static function getSettlePrice()
- {
- return [
- ['key' => 0, 'value' => '实付金额'],
- ['key' => 1, 'value' => '商品售价'],
- ];
- }
- public static function upgrade120($cond, $mall_id, $user_id)
- {
- $set_personal_achievement = $cond['value']['personal_achievement'];
- $set_min_performance = $cond['value']['min_performance'];
- $set_settle_price = $cond['value']['settle_price'];
- //统计商品的个人业绩
- $user_achievement = UserTeamProfitStatistics::find()
- ->where([
- 'mall_id' => $mall_id,
- 'user_id' => $user_id,
- ])
- ->one();
- if ($set_settle_price == 1) {
- //商品售价
- $personal_achievement = $user_achievement['team_order_pay_goods_achievement'] - $user_achievement['children_order_pay_goods_achievement'];
- } else {
- //商品实付
- $personal_achievement = $user_achievement['team_order_pay_achievement'] - $user_achievement['children_order_pay_achievement'];
- }
- //判断个人业绩是否达标
- if ($set_personal_achievement > $personal_achievement) {
- return false;
- }
- //判断小区业绩是否达标
- $field = 'id,user_id';
- if ($set_settle_price == 1) {
- $orderBy = 'team_order_pay_goods_achievement desc';
- $field .= ',team_order_pay_goods_achievement as real_performance';
- } else {
- $orderBy = 'team_order_pay_achievement desc';
- $field .= ',team_order_pay_achievement as real_performance';
- }
- //获取直推用户id
- $direct_child_ids = UserPartitionRelationship::getChildIdArr($user_id, 1);
- $real_small_performance = 0;
- if (!empty($direct_child_ids)) {
- //获取大小区业绩
- $team_profit_statistics = UserTeamProfitStatistics::lists([
- 'where' => [
- ['user_id' => $direct_child_ids],
- ],
- 'select' => $field,
- 'order' => $orderBy,
- ]);
- if (!empty($team_profit_statistics)) {
- //小区业绩 = 除了大区的所有的业绩
- //先去掉大区
- array_shift($team_profit_statistics);
- foreach ($team_profit_statistics as $statistic) {
- $real_small_performance += $statistic['real_performance'];
- }
- }
- }
- if ($set_min_performance > $real_small_performance) {
- return false;
- }
- return true;
- }
- }
|