| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691196921969319694196951969619697196981969919700197011970219703197041970519706197071970819709197101971119712197131971419715197161971719718197191972019721197221972319724197251972619727197281972919730197311973219733197341973519736197371973819739197401974119742197431974419745197461974719748197491975019751197521975319754197551975619757197581975919760197611976219763197641976519766197671976819769197701977119772197731977419775197761977719778197791978019781197821978319784197851978619787197881978919790197911979219793197941979519796197971979819799198001980119802198031980419805198061980719808198091981019811198121981319814198151981619817198181981919820198211982219823198241982519826198271982819829198301983119832198331983419835198361983719838198391984019841198421984319844198451984619847198481984919850198511985219853198541985519856198571985819859198601986119862198631986419865198661986719868198691987019871198721987319874198751987619877198781987919880198811988219883198841988519886198871988819889198901989119892198931989419895198961989719898198991990019901199021990319904199051990619907199081990919910199111991219913199141991519916199171991819919199201992119922199231992419925199261992719928199291993019931199321993319934199351993619937199381993919940199411994219943199441994519946199471994819949199501995119952199531995419955199561995719958199591996019961199621996319964199651996619967199681996919970199711997219973199741997519976199771997819979199801998119982199831998419985199861998719988199891999019991199921999319994199951999619997199981999920000200012000220003200042000520006200072000820009200102001120012200132001420015200162001720018200192002020021200222002320024200252002620027200282002920030200312003220033200342003520036200372003820039200402004120042200432004420045200462004720048200492005020051200522005320054200552005620057200582005920060200612006220063200642006520066200672006820069200702007120072200732007420075200762007720078200792008020081200822008320084200852008620087200882008920090200912009220093200942009520096200972009820099201002010120102201032010420105201062010720108201092011020111201122011320114201152011620117201182011920120201212012220123201242012520126201272012820129201302013120132201332013420135201362013720138201392014020141201422014320144201452014620147201482014920150201512015220153201542015520156201572015820159201602016120162201632016420165201662016720168201692017020171201722017320174201752017620177201782017920180201812018220183201842018520186201872018820189201902019120192201932019420195201962019720198201992020020201202022020320204202052020620207202082020920210202112021220213202142021520216202172021820219202202022120222202232022420225202262022720228202292023020231202322023320234202352023620237202382023920240202412024220243202442024520246202472024820249202502025120252202532025420255202562025720258202592026020261202622026320264202652026620267202682026920270202712027220273202742027520276202772027820279202802028120282202832028420285202862028720288202892029020291202922029320294202952029620297202982029920300203012030220303203042030520306203072030820309203102031120312203132031420315203162031720318203192032020321203222032320324203252032620327203282032920330203312033220333203342033520336203372033820339203402034120342203432034420345203462034720348203492035020351203522035320354203552035620357203582035920360203612036220363203642036520366203672036820369203702037120372203732037420375203762037720378203792038020381203822038320384203852038620387203882038920390203912039220393203942039520396203972039820399204002040120402204032040420405204062040720408204092041020411204122041320414204152041620417204182041920420204212042220423204242042520426204272042820429204302043120432204332043420435204362043720438204392044020441204422044320444204452044620447204482044920450204512045220453204542045520456204572045820459204602046120462204632046420465204662046720468204692047020471204722047320474204752047620477204782047920480204812048220483204842048520486204872048820489204902049120492204932049420495204962049720498204992050020501205022050320504205052050620507205082050920510205112051220513205142051520516205172051820519205202052120522205232052420525205262052720528205292053020531205322053320534205352053620537205382053920540205412054220543205442054520546205472054820549205502055120552205532055420555205562055720558205592056020561205622056320564205652056620567205682056920570205712057220573205742057520576205772057820579205802058120582205832058420585205862058720588205892059020591205922059320594205952059620597205982059920600206012060220603206042060520606206072060820609206102061120612206132061420615206162061720618206192062020621206222062320624206252062620627206282062920630206312063220633206342063520636206372063820639206402064120642206432064420645206462064720648206492065020651206522065320654206552065620657206582065920660206612066220663206642066520666206672066820669206702067120672206732067420675206762067720678206792068020681206822068320684206852068620687206882068920690206912069220693206942069520696206972069820699207002070120702207032070420705207062070720708207092071020711207122071320714207152071620717207182071920720207212072220723207242072520726207272072820729207302073120732207332073420735207362073720738207392074020741207422074320744207452074620747207482074920750207512075220753207542075520756207572075820759207602076120762207632076420765207662076720768207692077020771207722077320774207752077620777207782077920780207812078220783207842078520786207872078820789207902079120792207932079420795207962079720798207992080020801208022080320804208052080620807208082080920810208112081220813208142081520816208172081820819208202082120822208232082420825208262082720828208292083020831208322083320834208352083620837208382083920840208412084220843208442084520846208472084820849208502085120852208532085420855208562085720858208592086020861208622086320864208652086620867208682086920870208712087220873208742087520876208772087820879208802088120882208832088420885208862088720888208892089020891208922089320894208952089620897208982089920900209012090220903209042090520906209072090820909209102091120912209132091420915209162091720918209192092020921209222092320924209252092620927209282092920930209312093220933209342093520936209372093820939209402094120942209432094420945209462094720948209492095020951209522095320954209552095620957209582095920960209612096220963209642096520966209672096820969209702097120972209732097420975209762097720978209792098020981209822098320984209852098620987209882098920990209912099220993209942099520996209972099820999210002100121002210032100421005210062100721008210092101021011210122101321014210152101621017210182101921020210212102221023210242102521026210272102821029210302103121032210332103421035210362103721038210392104021041210422104321044210452104621047210482104921050210512105221053210542105521056210572105821059210602106121062210632106421065210662106721068210692107021071210722107321074210752107621077210782107921080210812108221083210842108521086210872108821089210902109121092210932109421095210962109721098210992110021101211022110321104211052110621107211082110921110211112111221113211142111521116211172111821119211202112121122211232112421125211262112721128211292113021131211322113321134211352113621137211382113921140211412114221143211442114521146211472114821149211502115121152211532115421155211562115721158211592116021161211622116321164211652116621167211682116921170211712117221173211742117521176211772117821179211802118121182211832118421185211862118721188211892119021191211922119321194211952119621197211982119921200212012120221203212042120521206212072120821209212102121121212212132121421215212162121721218212192122021221212222122321224212252122621227212282122921230212312123221233212342123521236212372123821239212402124121242212432124421245212462124721248212492125021251212522125321254212552125621257212582125921260212612126221263212642126521266212672126821269212702127121272212732127421275212762127721278212792128021281212822128321284212852128621287212882128921290212912129221293212942129521296212972129821299213002130121302213032130421305213062130721308213092131021311213122131321314213152131621317213182131921320213212132221323213242132521326213272132821329213302133121332213332133421335213362133721338213392134021341213422134321344213452134621347213482134921350213512135221353213542135521356213572135821359213602136121362213632136421365213662136721368213692137021371213722137321374213752137621377213782137921380213812138221383213842138521386213872138821389213902139121392213932139421395213962139721398213992140021401214022140321404214052140621407214082140921410214112141221413214142141521416214172141821419214202142121422214232142421425214262142721428214292143021431214322143321434214352143621437214382143921440214412144221443214442144521446214472144821449214502145121452214532145421455214562145721458214592146021461214622146321464214652146621467214682146921470214712147221473214742147521476214772147821479214802148121482214832148421485214862148721488214892149021491214922149321494214952149621497214982149921500215012150221503215042150521506215072150821509215102151121512215132151421515215162151721518215192152021521215222152321524215252152621527215282152921530215312153221533215342153521536215372153821539215402154121542215432154421545215462154721548215492155021551215522155321554215552155621557215582155921560215612156221563215642156521566215672156821569215702157121572215732157421575215762157721578215792158021581215822158321584215852158621587215882158921590215912159221593215942159521596215972159821599216002160121602216032160421605216062160721608216092161021611216122161321614216152161621617216182161921620216212162221623216242162521626216272162821629216302163121632216332163421635216362163721638216392164021641216422164321644216452164621647216482164921650216512165221653216542165521656216572165821659216602166121662216632166421665216662166721668216692167021671216722167321674216752167621677216782167921680216812168221683216842168521686216872168821689216902169121692216932169421695216962169721698216992170021701217022170321704217052170621707217082170921710217112171221713217142171521716217172171821719217202172121722217232172421725217262172721728217292173021731217322173321734217352173621737217382173921740217412174221743217442174521746217472174821749217502175121752217532175421755217562175721758217592176021761217622176321764217652176621767217682176921770217712177221773217742177521776217772177821779217802178121782217832178421785217862178721788217892179021791217922179321794217952179621797217982179921800218012180221803218042180521806218072180821809218102181121812218132181421815218162181721818218192182021821218222182321824218252182621827218282182921830218312183221833218342183521836218372183821839218402184121842218432184421845218462184721848218492185021851218522185321854218552185621857218582185921860218612186221863218642186521866218672186821869218702187121872218732187421875218762187721878218792188021881218822188321884218852188621887218882188921890218912189221893218942189521896218972189821899219002190121902219032190421905219062190721908219092191021911219122191321914219152191621917219182191921920219212192221923219242192521926219272192821929219302193121932219332193421935219362193721938219392194021941219422194321944219452194621947219482194921950219512195221953219542195521956219572195821959219602196121962219632196421965219662196721968219692197021971219722197321974219752197621977219782197921980219812198221983219842198521986219872198821989219902199121992219932199421995219962199721998219992200022001220022200322004220052200622007220082200922010220112201222013220142201522016220172201822019220202202122022220232202422025220262202722028220292203022031220322203322034220352203622037220382203922040220412204222043220442204522046220472204822049220502205122052220532205422055220562205722058220592206022061220622206322064220652206622067220682206922070220712207222073220742207522076220772207822079220802208122082220832208422085220862208722088220892209022091220922209322094220952209622097220982209922100221012210222103221042210522106221072210822109221102211122112221132211422115221162211722118221192212022121221222212322124221252212622127221282212922130221312213222133221342213522136221372213822139221402214122142221432214422145221462214722148221492215022151221522215322154221552215622157221582215922160221612216222163221642216522166221672216822169221702217122172221732217422175221762217722178221792218022181221822218322184221852218622187221882218922190221912219222193221942219522196221972219822199222002220122202222032220422205222062220722208222092221022211222122221322214222152221622217222182221922220222212222222223222242222522226222272222822229222302223122232222332223422235222362223722238222392224022241222422224322244222452224622247222482224922250222512225222253222542225522256222572225822259222602226122262222632226422265222662226722268222692227022271222722227322274222752227622277222782227922280222812228222283222842228522286222872228822289222902229122292222932229422295222962229722298222992230022301223022230322304223052230622307223082230922310223112231222313223142231522316223172231822319223202232122322223232232422325223262232722328223292233022331223322233322334223352233622337223382233922340223412234222343223442234522346223472234822349223502235122352223532235422355223562235722358223592236022361223622236322364223652236622367223682236922370223712237222373223742237522376223772237822379223802238122382223832238422385223862238722388223892239022391223922239322394223952239622397223982239922400224012240222403224042240522406224072240822409224102241122412224132241422415224162241722418224192242022421224222242322424224252242622427224282242922430224312243222433224342243522436224372243822439224402244122442224432244422445224462244722448224492245022451224522245322454224552245622457224582245922460224612246222463224642246522466224672246822469224702247122472224732247422475224762247722478224792248022481224822248322484224852248622487224882248922490224912249222493224942249522496224972249822499225002250122502225032250422505225062250722508225092251022511225122251322514225152251622517225182251922520225212252222523225242252522526225272252822529225302253122532225332253422535225362253722538225392254022541225422254322544225452254622547225482254922550225512255222553225542255522556225572255822559225602256122562225632256422565225662256722568225692257022571225722257322574225752257622577225782257922580225812258222583225842258522586225872258822589225902259122592225932259422595225962259722598225992260022601226022260322604226052260622607226082260922610226112261222613226142261522616226172261822619226202262122622226232262422625226262262722628226292263022631226322263322634226352263622637226382263922640226412264222643226442264522646226472264822649226502265122652226532265422655226562265722658226592266022661226622266322664226652266622667226682266922670226712267222673226742267522676226772267822679226802268122682226832268422685226862268722688226892269022691226922269322694226952269622697226982269922700227012270222703227042270522706227072270822709227102271122712227132271422715227162271722718227192272022721227222272322724227252272622727227282272922730227312273222733227342273522736227372273822739227402274122742227432274422745227462274722748227492275022751227522275322754227552275622757227582275922760227612276222763227642276522766227672276822769227702277122772227732277422775227762277722778227792278022781227822278322784227852278622787227882278922790227912279222793227942279522796227972279822799228002280122802228032280422805228062280722808228092281022811228122281322814228152281622817228182281922820228212282222823228242282522826228272282822829228302283122832228332283422835228362283722838228392284022841228422284322844228452284622847228482284922850228512285222853228542285522856228572285822859228602286122862228632286422865228662286722868228692287022871228722287322874228752287622877228782287922880228812288222883228842288522886228872288822889228902289122892228932289422895228962289722898228992290022901229022290322904229052290622907229082290922910229112291222913229142291522916229172291822919229202292122922229232292422925229262292722928229292293022931229322293322934229352293622937229382293922940229412294222943229442294522946229472294822949229502295122952229532295422955229562295722958229592296022961229622296322964229652296622967229682296922970229712297222973229742297522976229772297822979229802298122982229832298422985229862298722988229892299022991229922299322994229952299622997229982299923000230012300223003230042300523006230072300823009230102301123012230132301423015230162301723018230192302023021230222302323024230252302623027230282302923030230312303223033230342303523036230372303823039230402304123042230432304423045230462304723048230492305023051230522305323054230552305623057230582305923060230612306223063230642306523066230672306823069230702307123072230732307423075230762307723078230792308023081230822308323084230852308623087230882308923090230912309223093230942309523096230972309823099231002310123102231032310423105231062310723108231092311023111231122311323114231152311623117231182311923120231212312223123231242312523126231272312823129231302313123132231332313423135231362313723138231392314023141231422314323144231452314623147231482314923150231512315223153231542315523156231572315823159231602316123162231632316423165231662316723168231692317023171231722317323174231752317623177231782317923180231812318223183231842318523186231872318823189231902319123192231932319423195231962319723198231992320023201232022320323204232052320623207232082320923210232112321223213232142321523216232172321823219232202322123222232232322423225232262322723228232292323023231232322323323234232352323623237232382323923240232412324223243232442324523246232472324823249232502325123252232532325423255232562325723258232592326023261232622326323264232652326623267232682326923270232712327223273232742327523276232772327823279232802328123282232832328423285232862328723288232892329023291232922329323294232952329623297232982329923300233012330223303233042330523306233072330823309233102331123312233132331423315233162331723318233192332023321233222332323324233252332623327233282332923330233312333223333233342333523336233372333823339233402334123342233432334423345233462334723348233492335023351233522335323354233552335623357233582335923360233612336223363233642336523366233672336823369233702337123372233732337423375233762337723378233792338023381233822338323384233852338623387233882338923390233912339223393233942339523396233972339823399234002340123402234032340423405234062340723408234092341023411234122341323414234152341623417234182341923420234212342223423234242342523426234272342823429234302343123432234332343423435234362343723438234392344023441234422344323444234452344623447234482344923450234512345223453234542345523456234572345823459234602346123462234632346423465234662346723468234692347023471234722347323474234752347623477234782347923480234812348223483234842348523486234872348823489234902349123492234932349423495234962349723498234992350023501235022350323504235052350623507235082350923510235112351223513235142351523516235172351823519235202352123522235232352423525235262352723528235292353023531235322353323534235352353623537235382353923540235412354223543235442354523546235472354823549235502355123552235532355423555235562355723558235592356023561235622356323564235652356623567235682356923570235712357223573235742357523576235772357823579235802358123582235832358423585235862358723588235892359023591235922359323594235952359623597235982359923600236012360223603236042360523606236072360823609236102361123612236132361423615236162361723618236192362023621236222362323624236252362623627236282362923630236312363223633236342363523636236372363823639236402364123642236432364423645236462364723648236492365023651236522365323654236552365623657236582365923660236612366223663236642366523666236672366823669236702367123672236732367423675236762367723678236792368023681236822368323684236852368623687236882368923690236912369223693236942369523696236972369823699237002370123702237032370423705237062370723708237092371023711237122371323714237152371623717237182371923720237212372223723237242372523726237272372823729237302373123732237332373423735237362373723738237392374023741237422374323744237452374623747237482374923750237512375223753237542375523756237572375823759237602376123762237632376423765237662376723768237692377023771237722377323774237752377623777237782377923780237812378223783237842378523786237872378823789237902379123792237932379423795237962379723798237992380023801238022380323804238052380623807238082380923810238112381223813238142381523816238172381823819238202382123822238232382423825238262382723828238292383023831238322383323834238352383623837238382383923840238412384223843238442384523846238472384823849238502385123852238532385423855238562385723858238592386023861238622386323864238652386623867238682386923870238712387223873238742387523876238772387823879238802388123882238832388423885238862388723888238892389023891238922389323894238952389623897238982389923900239012390223903239042390523906239072390823909239102391123912239132391423915239162391723918239192392023921239222392323924239252392623927239282392923930239312393223933239342393523936239372393823939239402394123942239432394423945239462394723948239492395023951239522395323954239552395623957239582395923960239612396223963239642396523966239672396823969239702397123972239732397423975239762397723978239792398023981239822398323984239852398623987239882398923990239912399223993239942399523996239972399823999240002400124002240032400424005240062400724008240092401024011240122401324014240152401624017240182401924020240212402224023240242402524026240272402824029240302403124032240332403424035240362403724038240392404024041240422404324044240452404624047240482404924050240512405224053240542405524056240572405824059240602406124062240632406424065240662406724068240692407024071240722407324074240752407624077240782407924080240812408224083240842408524086240872408824089240902409124092240932409424095240962409724098240992410024101241022410324104241052410624107241082410924110241112411224113241142411524116241172411824119241202412124122241232412424125241262412724128241292413024131241322413324134241352413624137241382413924140241412414224143241442414524146241472414824149241502415124152241532415424155241562415724158241592416024161241622416324164241652416624167241682416924170241712417224173241742417524176241772417824179241802418124182241832418424185241862418724188241892419024191241922419324194241952419624197241982419924200242012420224203242042420524206242072420824209242102421124212242132421424215242162421724218242192422024221242222422324224242252422624227242282422924230242312423224233242342423524236242372423824239242402424124242242432424424245242462424724248242492425024251242522425324254242552425624257242582425924260242612426224263242642426524266242672426824269242702427124272242732427424275242762427724278242792428024281242822428324284242852428624287242882428924290242912429224293242942429524296242972429824299243002430124302243032430424305243062430724308243092431024311243122431324314243152431624317243182431924320243212432224323243242432524326243272432824329243302433124332243332433424335243362433724338243392434024341243422434324344243452434624347243482434924350243512435224353243542435524356243572435824359243602436124362243632436424365243662436724368243692437024371243722437324374243752437624377243782437924380243812438224383243842438524386243872438824389243902439124392243932439424395243962439724398243992440024401244022440324404244052440624407244082440924410244112441224413244142441524416244172441824419244202442124422244232442424425244262442724428244292443024431244322443324434244352443624437244382443924440244412444224443244442444524446244472444824449244502445124452244532445424455244562445724458244592446024461244622446324464244652446624467244682446924470244712447224473244742447524476244772447824479244802448124482244832448424485244862448724488244892449024491244922449324494244952449624497244982449924500245012450224503245042450524506245072450824509245102451124512245132451424515245162451724518245192452024521245222452324524245252452624527245282452924530245312453224533245342453524536245372453824539245402454124542245432454424545245462454724548245492455024551245522455324554245552455624557245582455924560245612456224563245642456524566245672456824569245702457124572245732457424575245762457724578245792458024581245822458324584245852458624587245882458924590245912459224593245942459524596245972459824599246002460124602246032460424605246062460724608246092461024611246122461324614246152461624617246182461924620246212462224623246242462524626246272462824629246302463124632246332463424635246362463724638246392464024641246422464324644246452464624647246482464924650246512465224653246542465524656246572465824659246602466124662246632466424665246662466724668246692467024671246722467324674246752467624677246782467924680246812468224683246842468524686246872468824689246902469124692246932469424695246962469724698246992470024701247022470324704247052470624707247082470924710247112471224713247142471524716247172471824719247202472124722247232472424725247262472724728247292473024731247322473324734247352473624737247382473924740247412474224743247442474524746247472474824749247502475124752247532475424755247562475724758247592476024761247622476324764247652476624767247682476924770247712477224773247742477524776247772477824779247802478124782247832478424785247862478724788247892479024791247922479324794247952479624797247982479924800248012480224803248042480524806248072480824809248102481124812248132481424815248162481724818248192482024821248222482324824248252482624827248282482924830248312483224833248342483524836248372483824839248402484124842248432484424845248462484724848248492485024851248522485324854248552485624857248582485924860248612486224863248642486524866248672486824869248702487124872248732487424875248762487724878248792488024881248822488324884248852488624887248882488924890248912489224893248942489524896248972489824899249002490124902249032490424905249062490724908249092491024911249122491324914249152491624917249182491924920249212492224923249242492524926249272492824929249302493124932249332493424935249362493724938249392494024941249422494324944249452494624947249482494924950249512495224953249542495524956249572495824959249602496124962249632496424965249662496724968249692497024971249722497324974249752497624977249782497924980249812498224983249842498524986249872498824989249902499124992249932499424995249962499724998249992500025001250022500325004250052500625007250082500925010250112501225013250142501525016250172501825019250202502125022250232502425025250262502725028250292503025031250322503325034250352503625037250382503925040250412504225043250442504525046250472504825049250502505125052250532505425055250562505725058250592506025061250622506325064250652506625067250682506925070250712507225073250742507525076250772507825079250802508125082250832508425085250862508725088250892509025091250922509325094250952509625097250982509925100251012510225103251042510525106251072510825109251102511125112251132511425115251162511725118251192512025121251222512325124251252512625127251282512925130251312513225133251342513525136251372513825139251402514125142251432514425145251462514725148251492515025151251522515325154251552515625157251582515925160251612516225163251642516525166251672516825169251702517125172251732517425175251762517725178251792518025181251822518325184251852518625187251882518925190251912519225193251942519525196251972519825199252002520125202252032520425205252062520725208252092521025211252122521325214252152521625217252182521925220252212522225223252242522525226252272522825229252302523125232252332523425235252362523725238252392524025241252422524325244252452524625247252482524925250252512525225253252542525525256252572525825259252602526125262252632526425265252662526725268252692527025271252722527325274252752527625277252782527925280252812528225283252842528525286252872528825289252902529125292252932529425295252962529725298252992530025301253022530325304253052530625307253082530925310253112531225313253142531525316253172531825319253202532125322253232532425325253262532725328253292533025331253322533325334253352533625337253382533925340253412534225343253442534525346253472534825349253502535125352253532535425355253562535725358253592536025361253622536325364253652536625367253682536925370253712537225373253742537525376253772537825379253802538125382253832538425385253862538725388253892539025391253922539325394253952539625397253982539925400254012540225403254042540525406254072540825409254102541125412254132541425415254162541725418254192542025421254222542325424254252542625427254282542925430254312543225433254342543525436254372543825439254402544125442254432544425445254462544725448254492545025451254522545325454254552545625457254582545925460254612546225463254642546525466254672546825469254702547125472254732547425475254762547725478254792548025481254822548325484254852548625487254882548925490254912549225493254942549525496254972549825499255002550125502255032550425505255062550725508255092551025511255122551325514255152551625517255182551925520255212552225523255242552525526255272552825529255302553125532255332553425535255362553725538255392554025541255422554325544255452554625547255482554925550255512555225553255542555525556255572555825559255602556125562255632556425565255662556725568255692557025571255722557325574255752557625577255782557925580255812558225583255842558525586255872558825589255902559125592255932559425595255962559725598255992560025601256022560325604256052560625607256082560925610256112561225613256142561525616256172561825619256202562125622256232562425625256262562725628256292563025631256322563325634256352563625637256382563925640256412564225643256442564525646256472564825649256502565125652256532565425655256562565725658256592566025661256622566325664256652566625667256682566925670256712567225673256742567525676256772567825679256802568125682256832568425685256862568725688256892569025691256922569325694256952569625697256982569925700257012570225703257042570525706257072570825709257102571125712257132571425715257162571725718257192572025721257222572325724257252572625727257282572925730257312573225733257342573525736257372573825739257402574125742257432574425745257462574725748257492575025751257522575325754257552575625757257582575925760257612576225763257642576525766257672576825769257702577125772257732577425775257762577725778257792578025781257822578325784257852578625787257882578925790257912579225793257942579525796257972579825799258002580125802258032580425805258062580725808258092581025811258122581325814258152581625817258182581925820258212582225823258242582525826258272582825829258302583125832258332583425835258362583725838258392584025841258422584325844258452584625847258482584925850258512585225853258542585525856258572585825859258602586125862258632586425865258662586725868258692587025871258722587325874258752587625877258782587925880258812588225883258842588525886258872588825889258902589125892258932589425895258962589725898258992590025901259022590325904259052590625907259082590925910259112591225913259142591525916259172591825919259202592125922259232592425925259262592725928259292593025931259322593325934259352593625937259382593925940259412594225943259442594525946259472594825949259502595125952259532595425955259562595725958259592596025961259622596325964259652596625967259682596925970259712597225973259742597525976259772597825979259802598125982259832598425985259862598725988259892599025991259922599325994259952599625997259982599926000260012600226003260042600526006260072600826009260102601126012260132601426015260162601726018260192602026021260222602326024260252602626027260282602926030260312603226033260342603526036260372603826039260402604126042260432604426045260462604726048260492605026051260522605326054260552605626057260582605926060260612606226063260642606526066260672606826069260702607126072260732607426075260762607726078260792608026081260822608326084260852608626087260882608926090260912609226093260942609526096260972609826099261002610126102261032610426105261062610726108261092611026111261122611326114261152611626117261182611926120261212612226123261242612526126261272612826129261302613126132261332613426135261362613726138261392614026141261422614326144261452614626147261482614926150261512615226153261542615526156261572615826159261602616126162261632616426165261662616726168261692617026171261722617326174261752617626177261782617926180261812618226183261842618526186261872618826189261902619126192261932619426195261962619726198261992620026201262022620326204262052620626207262082620926210262112621226213262142621526216262172621826219262202622126222262232622426225262262622726228262292623026231262322623326234262352623626237262382623926240262412624226243262442624526246262472624826249262502625126252262532625426255262562625726258262592626026261262622626326264262652626626267262682626926270262712627226273262742627526276262772627826279262802628126282262832628426285262862628726288262892629026291262922629326294262952629626297262982629926300263012630226303263042630526306263072630826309263102631126312263132631426315263162631726318263192632026321263222632326324263252632626327263282632926330263312633226333263342633526336263372633826339263402634126342263432634426345263462634726348263492635026351263522635326354263552635626357263582635926360263612636226363263642636526366263672636826369263702637126372263732637426375263762637726378263792638026381263822638326384263852638626387263882638926390263912639226393263942639526396263972639826399264002640126402264032640426405264062640726408264092641026411264122641326414264152641626417264182641926420264212642226423264242642526426264272642826429264302643126432264332643426435264362643726438264392644026441264422644326444264452644626447264482644926450264512645226453264542645526456264572645826459264602646126462264632646426465264662646726468264692647026471264722647326474264752647626477264782647926480264812648226483264842648526486264872648826489264902649126492264932649426495264962649726498264992650026501265022650326504265052650626507265082650926510265112651226513265142651526516265172651826519265202652126522265232652426525265262652726528265292653026531265322653326534265352653626537265382653926540265412654226543265442654526546265472654826549265502655126552265532655426555265562655726558265592656026561265622656326564265652656626567265682656926570265712657226573265742657526576265772657826579265802658126582265832658426585265862658726588265892659026591265922659326594265952659626597265982659926600266012660226603266042660526606266072660826609266102661126612266132661426615266162661726618266192662026621266222662326624266252662626627266282662926630266312663226633266342663526636266372663826639266402664126642266432664426645266462664726648266492665026651266522665326654266552665626657266582665926660266612666226663266642666526666266672666826669266702667126672266732667426675266762667726678266792668026681266822668326684266852668626687266882668926690266912669226693266942669526696266972669826699267002670126702267032670426705267062670726708267092671026711267122671326714267152671626717267182671926720267212672226723267242672526726267272672826729267302673126732267332673426735267362673726738267392674026741267422674326744267452674626747267482674926750267512675226753267542675526756267572675826759267602676126762267632676426765267662676726768267692677026771267722677326774267752677626777267782677926780267812678226783267842678526786267872678826789267902679126792267932679426795267962679726798267992680026801268022680326804268052680626807268082680926810268112681226813268142681526816268172681826819268202682126822268232682426825268262682726828268292683026831268322683326834268352683626837268382683926840268412684226843268442684526846268472684826849268502685126852268532685426855268562685726858268592686026861268622686326864268652686626867268682686926870268712687226873268742687526876268772687826879268802688126882268832688426885268862688726888268892689026891268922689326894268952689626897268982689926900269012690226903269042690526906269072690826909269102691126912269132691426915269162691726918269192692026921269222692326924269252692626927269282692926930269312693226933269342693526936269372693826939269402694126942269432694426945269462694726948269492695026951269522695326954269552695626957269582695926960269612696226963269642696526966269672696826969269702697126972269732697426975269762697726978269792698026981269822698326984269852698626987269882698926990269912699226993269942699526996269972699826999270002700127002270032700427005270062700727008270092701027011270122701327014270152701627017270182701927020270212702227023270242702527026270272702827029270302703127032270332703427035270362703727038270392704027041270422704327044270452704627047270482704927050270512705227053270542705527056270572705827059270602706127062270632706427065270662706727068270692707027071270722707327074270752707627077270782707927080270812708227083270842708527086270872708827089270902709127092270932709427095270962709727098270992710027101271022710327104271052710627107271082710927110271112711227113271142711527116271172711827119271202712127122271232712427125271262712727128271292713027131271322713327134271352713627137271382713927140271412714227143271442714527146271472714827149271502715127152271532715427155271562715727158271592716027161271622716327164271652716627167271682716927170271712717227173271742717527176271772717827179271802718127182271832718427185271862718727188271892719027191271922719327194271952719627197271982719927200272012720227203272042720527206272072720827209272102721127212272132721427215272162721727218272192722027221272222722327224272252722627227272282722927230272312723227233272342723527236272372723827239272402724127242272432724427245272462724727248272492725027251272522725327254272552725627257272582725927260272612726227263272642726527266272672726827269272702727127272272732727427275272762727727278272792728027281272822728327284272852728627287272882728927290272912729227293272942729527296272972729827299273002730127302273032730427305273062730727308273092731027311273122731327314273152731627317273182731927320273212732227323273242732527326273272732827329273302733127332273332733427335273362733727338273392734027341273422734327344273452734627347273482734927350273512735227353273542735527356273572735827359273602736127362273632736427365273662736727368273692737027371273722737327374273752737627377273782737927380273812738227383273842738527386273872738827389273902739127392273932739427395273962739727398273992740027401274022740327404274052740627407274082740927410274112741227413274142741527416274172741827419274202742127422274232742427425274262742727428274292743027431274322743327434274352743627437274382743927440274412744227443274442744527446274472744827449274502745127452274532745427455274562745727458274592746027461274622746327464274652746627467274682746927470274712747227473274742747527476274772747827479274802748127482274832748427485274862748727488274892749027491274922749327494274952749627497274982749927500275012750227503275042750527506275072750827509275102751127512275132751427515275162751727518275192752027521275222752327524275252752627527275282752927530275312753227533275342753527536275372753827539275402754127542275432754427545275462754727548275492755027551275522755327554275552755627557275582755927560275612756227563275642756527566275672756827569275702757127572275732757427575275762757727578275792758027581275822758327584275852758627587275882758927590275912759227593275942759527596275972759827599276002760127602276032760427605276062760727608276092761027611276122761327614276152761627617276182761927620276212762227623276242762527626276272762827629276302763127632276332763427635276362763727638276392764027641276422764327644276452764627647276482764927650276512765227653276542765527656276572765827659276602766127662276632766427665276662766727668276692767027671276722767327674276752767627677276782767927680276812768227683276842768527686276872768827689276902769127692276932769427695276962769727698276992770027701277022770327704277052770627707277082770927710277112771227713277142771527716277172771827719277202772127722277232772427725277262772727728277292773027731277322773327734277352773627737277382773927740277412774227743277442774527746277472774827749277502775127752277532775427755277562775727758277592776027761277622776327764277652776627767277682776927770277712777227773277742777527776277772777827779277802778127782277832778427785277862778727788277892779027791277922779327794277952779627797277982779927800278012780227803278042780527806278072780827809278102781127812278132781427815278162781727818278192782027821278222782327824278252782627827278282782927830278312783227833278342783527836278372783827839278402784127842278432784427845278462784727848278492785027851278522785327854278552785627857278582785927860278612786227863278642786527866278672786827869278702787127872278732787427875278762787727878278792788027881278822788327884278852788627887278882788927890278912789227893278942789527896278972789827899279002790127902279032790427905279062790727908279092791027911279122791327914279152791627917279182791927920279212792227923279242792527926279272792827929279302793127932279332793427935279362793727938279392794027941279422794327944279452794627947279482794927950279512795227953279542795527956279572795827959279602796127962279632796427965279662796727968279692797027971279722797327974279752797627977279782797927980279812798227983279842798527986279872798827989279902799127992279932799427995279962799727998279992800028001280022800328004280052800628007280082800928010280112801228013280142801528016280172801828019280202802128022280232802428025280262802728028280292803028031280322803328034280352803628037280382803928040280412804228043280442804528046280472804828049280502805128052280532805428055280562805728058280592806028061280622806328064280652806628067280682806928070280712807228073280742807528076280772807828079280802808128082280832808428085280862808728088280892809028091280922809328094280952809628097280982809928100281012810228103281042810528106281072810828109281102811128112281132811428115281162811728118281192812028121281222812328124281252812628127281282812928130281312813228133281342813528136281372813828139281402814128142281432814428145281462814728148281492815028151281522815328154281552815628157281582815928160281612816228163281642816528166281672816828169281702817128172281732817428175281762817728178281792818028181281822818328184281852818628187281882818928190281912819228193281942819528196281972819828199282002820128202282032820428205282062820728208282092821028211282122821328214282152821628217282182821928220282212822228223282242822528226282272822828229282302823128232282332823428235282362823728238282392824028241282422824328244282452824628247282482824928250282512825228253282542825528256282572825828259282602826128262282632826428265282662826728268282692827028271282722827328274282752827628277282782827928280282812828228283282842828528286282872828828289282902829128292282932829428295282962829728298282992830028301283022830328304283052830628307283082830928310283112831228313283142831528316283172831828319283202832128322283232832428325283262832728328283292833028331283322833328334283352833628337283382833928340283412834228343283442834528346283472834828349283502835128352283532835428355283562835728358283592836028361283622836328364283652836628367283682836928370283712837228373283742837528376283772837828379283802838128382283832838428385283862838728388283892839028391283922839328394283952839628397283982839928400284012840228403284042840528406284072840828409284102841128412284132841428415284162841728418284192842028421284222842328424284252842628427284282842928430284312843228433284342843528436284372843828439284402844128442284432844428445284462844728448284492845028451284522845328454284552845628457284582845928460284612846228463284642846528466284672846828469284702847128472284732847428475284762847728478284792848028481284822848328484284852848628487284882848928490284912849228493284942849528496284972849828499285002850128502285032850428505285062850728508285092851028511285122851328514285152851628517285182851928520285212852228523285242852528526285272852828529285302853128532285332853428535285362853728538285392854028541285422854328544285452854628547285482854928550285512855228553285542855528556285572855828559285602856128562285632856428565285662856728568285692857028571285722857328574285752857628577285782857928580285812858228583285842858528586285872858828589285902859128592285932859428595285962859728598285992860028601286022860328604286052860628607286082860928610286112861228613286142861528616286172861828619286202862128622286232862428625286262862728628286292863028631286322863328634286352863628637286382863928640286412864228643286442864528646286472864828649286502865128652286532865428655286562865728658286592866028661286622866328664286652866628667286682866928670286712867228673286742867528676286772867828679286802868128682286832868428685286862868728688286892869028691286922869328694286952869628697286982869928700287012870228703287042870528706287072870828709287102871128712287132871428715287162871728718287192872028721287222872328724287252872628727287282872928730287312873228733287342873528736287372873828739287402874128742287432874428745287462874728748287492875028751287522875328754287552875628757287582875928760287612876228763287642876528766287672876828769287702877128772287732877428775287762877728778287792878028781287822878328784287852878628787287882878928790287912879228793287942879528796287972879828799288002880128802288032880428805288062880728808288092881028811288122881328814288152881628817288182881928820288212882228823288242882528826288272882828829288302883128832288332883428835288362883728838288392884028841288422884328844288452884628847288482884928850288512885228853288542885528856288572885828859288602886128862288632886428865288662886728868288692887028871288722887328874288752887628877288782887928880288812888228883288842888528886288872888828889288902889128892288932889428895288962889728898288992890028901289022890328904289052890628907289082890928910289112891228913289142891528916289172891828919289202892128922289232892428925289262892728928289292893028931289322893328934289352893628937289382893928940289412894228943289442894528946289472894828949289502895128952289532895428955289562895728958289592896028961289622896328964289652896628967289682896928970289712897228973289742897528976289772897828979289802898128982289832898428985289862898728988289892899028991289922899328994289952899628997289982899929000290012900229003290042900529006290072900829009290102901129012290132901429015290162901729018290192902029021290222902329024290252902629027290282902929030290312903229033290342903529036290372903829039290402904129042290432904429045290462904729048290492905029051290522905329054290552905629057290582905929060290612906229063290642906529066290672906829069290702907129072290732907429075290762907729078290792908029081290822908329084290852908629087290882908929090290912909229093290942909529096290972909829099291002910129102291032910429105291062910729108291092911029111291122911329114291152911629117291182911929120291212912229123291242912529126291272912829129291302913129132291332913429135291362913729138291392914029141291422914329144291452914629147291482914929150291512915229153291542915529156291572915829159291602916129162291632916429165291662916729168291692917029171291722917329174291752917629177291782917929180291812918229183291842918529186291872918829189291902919129192291932919429195291962919729198291992920029201292022920329204292052920629207292082920929210292112921229213292142921529216292172921829219292202922129222292232922429225292262922729228292292923029231292322923329234292352923629237292382923929240292412924229243292442924529246292472924829249292502925129252292532925429255292562925729258292592926029261292622926329264292652926629267292682926929270292712927229273292742927529276292772927829279292802928129282292832928429285292862928729288292892929029291292922929329294292952929629297292982929929300293012930229303293042930529306293072930829309293102931129312293132931429315293162931729318293192932029321293222932329324293252932629327293282932929330293312933229333293342933529336293372933829339293402934129342293432934429345293462934729348293492935029351293522935329354293552935629357293582935929360293612936229363293642936529366293672936829369293702937129372293732937429375293762937729378293792938029381293822938329384293852938629387293882938929390293912939229393293942939529396293972939829399294002940129402294032940429405294062940729408294092941029411294122941329414294152941629417294182941929420294212942229423294242942529426294272942829429294302943129432294332943429435294362943729438294392944029441294422944329444294452944629447294482944929450294512945229453294542945529456294572945829459294602946129462294632946429465294662946729468294692947029471294722947329474294752947629477294782947929480294812948229483294842948529486294872948829489294902949129492294932949429495294962949729498294992950029501295022950329504295052950629507295082950929510295112951229513295142951529516295172951829519295202952129522295232952429525295262952729528295292953029531295322953329534295352953629537295382953929540295412954229543295442954529546295472954829549295502955129552295532955429555295562955729558295592956029561295622956329564295652956629567295682956929570295712957229573295742957529576295772957829579295802958129582295832958429585295862958729588295892959029591295922959329594295952959629597295982959929600296012960229603296042960529606296072960829609296102961129612296132961429615296162961729618296192962029621296222962329624296252962629627296282962929630296312963229633296342963529636296372963829639296402964129642296432964429645296462964729648296492965029651296522965329654296552965629657296582965929660296612966229663296642966529666296672966829669296702967129672296732967429675296762967729678296792968029681296822968329684296852968629687296882968929690296912969229693296942969529696296972969829699297002970129702297032970429705297062970729708297092971029711297122971329714297152971629717297182971929720297212972229723297242972529726297272972829729297302973129732297332973429735297362973729738297392974029741297422974329744297452974629747297482974929750297512975229753297542975529756297572975829759297602976129762297632976429765297662976729768297692977029771297722977329774297752977629777297782977929780297812978229783297842978529786297872978829789297902979129792297932979429795297962979729798297992980029801298022980329804298052980629807298082980929810298112981229813298142981529816298172981829819298202982129822298232982429825298262982729828298292983029831298322983329834298352983629837298382983929840298412984229843298442984529846298472984829849298502985129852298532985429855298562985729858298592986029861298622986329864298652986629867298682986929870298712987229873298742987529876298772987829879298802988129882298832988429885298862988729888298892989029891298922989329894298952989629897298982989929900299012990229903299042990529906299072990829909299102991129912299132991429915299162991729918299192992029921299222992329924299252992629927299282992929930299312993229933299342993529936299372993829939299402994129942299432994429945299462994729948299492995029951299522995329954299552995629957299582995929960299612996229963299642996529966299672996829969299702997129972299732997429975299762997729978299792998029981299822998329984299852998629987299882998929990299912999229993299942999529996299972999829999300003000130002300033000430005300063000730008300093001030011300123001330014300153001630017300183001930020300213002230023300243002530026300273002830029300303003130032300333003430035300363003730038300393004030041300423004330044300453004630047300483004930050300513005230053300543005530056300573005830059300603006130062300633006430065300663006730068300693007030071300723007330074300753007630077300783007930080300813008230083300843008530086300873008830089300903009130092300933009430095300963009730098300993010030101301023010330104301053010630107301083010930110301113011230113301143011530116301173011830119301203012130122301233012430125301263012730128301293013030131301323013330134301353013630137301383013930140301413014230143301443014530146301473014830149301503015130152301533015430155301563015730158301593016030161301623016330164301653016630167301683016930170301713017230173301743017530176301773017830179301803018130182301833018430185301863018730188301893019030191301923019330194301953019630197301983019930200302013020230203302043020530206302073020830209302103021130212302133021430215302163021730218302193022030221302223022330224302253022630227302283022930230302313023230233302343023530236302373023830239302403024130242302433024430245302463024730248302493025030251302523025330254302553025630257302583025930260302613026230263302643026530266302673026830269302703027130272302733027430275302763027730278302793028030281302823028330284302853028630287302883028930290302913029230293302943029530296302973029830299303003030130302303033030430305303063030730308303093031030311303123031330314303153031630317303183031930320303213032230323303243032530326303273032830329303303033130332303333033430335303363033730338303393034030341303423034330344303453034630347303483034930350303513035230353303543035530356303573035830359303603036130362303633036430365303663036730368303693037030371303723037330374303753037630377303783037930380303813038230383303843038530386303873038830389303903039130392303933039430395303963039730398303993040030401304023040330404304053040630407304083040930410304113041230413304143041530416304173041830419304203042130422304233042430425304263042730428304293043030431304323043330434304353043630437304383043930440304413044230443304443044530446304473044830449304503045130452304533045430455304563045730458304593046030461304623046330464304653046630467304683046930470304713047230473304743047530476304773047830479304803048130482304833048430485304863048730488304893049030491304923049330494304953049630497304983049930500305013050230503305043050530506305073050830509305103051130512305133051430515305163051730518305193052030521305223052330524305253052630527305283052930530305313053230533305343053530536305373053830539305403054130542305433054430545305463054730548305493055030551305523055330554305553055630557305583055930560305613056230563305643056530566305673056830569305703057130572305733057430575305763057730578305793058030581305823058330584305853058630587305883058930590305913059230593305943059530596305973059830599306003060130602306033060430605306063060730608306093061030611306123061330614306153061630617306183061930620306213062230623306243062530626306273062830629306303063130632306333063430635306363063730638306393064030641306423064330644306453064630647306483064930650306513065230653306543065530656306573065830659306603066130662306633066430665306663066730668306693067030671306723067330674306753067630677306783067930680306813068230683306843068530686306873068830689306903069130692306933069430695306963069730698306993070030701307023070330704307053070630707307083070930710307113071230713307143071530716307173071830719307203072130722307233072430725307263072730728307293073030731307323073330734307353073630737307383073930740307413074230743307443074530746307473074830749307503075130752307533075430755307563075730758307593076030761307623076330764307653076630767307683076930770307713077230773307743077530776307773077830779307803078130782307833078430785307863078730788307893079030791307923079330794307953079630797307983079930800308013080230803308043080530806308073080830809308103081130812308133081430815308163081730818308193082030821308223082330824308253082630827308283082930830308313083230833308343083530836308373083830839308403084130842308433084430845308463084730848308493085030851308523085330854308553085630857308583085930860308613086230863308643086530866308673086830869308703087130872308733087430875308763087730878308793088030881308823088330884308853088630887308883088930890308913089230893308943089530896308973089830899309003090130902309033090430905309063090730908309093091030911309123091330914309153091630917309183091930920309213092230923309243092530926309273092830929309303093130932309333093430935309363093730938309393094030941309423094330944309453094630947309483094930950309513095230953309543095530956309573095830959309603096130962309633096430965309663096730968309693097030971309723097330974309753097630977309783097930980309813098230983309843098530986309873098830989309903099130992309933099430995309963099730998309993100031001310023100331004310053100631007310083100931010310113101231013310143101531016310173101831019310203102131022310233102431025310263102731028310293103031031310323103331034310353103631037310383103931040310413104231043310443104531046310473104831049310503105131052310533105431055310563105731058310593106031061310623106331064310653106631067310683106931070310713107231073310743107531076310773107831079310803108131082310833108431085310863108731088310893109031091310923109331094310953109631097310983109931100311013110231103311043110531106311073110831109311103111131112311133111431115311163111731118311193112031121311223112331124311253112631127311283112931130311313113231133311343113531136311373113831139311403114131142311433114431145311463114731148311493115031151311523115331154311553115631157311583115931160311613116231163311643116531166311673116831169311703117131172311733117431175311763117731178311793118031181311823118331184311853118631187311883118931190311913119231193311943119531196311973119831199312003120131202312033120431205312063120731208312093121031211312123121331214312153121631217312183121931220312213122231223312243122531226312273122831229312303123131232312333123431235312363123731238312393124031241312423124331244312453124631247312483124931250312513125231253312543125531256312573125831259312603126131262312633126431265312663126731268312693127031271312723127331274312753127631277312783127931280312813128231283312843128531286312873128831289312903129131292312933129431295312963129731298312993130031301313023130331304313053130631307313083130931310313113131231313313143131531316313173131831319313203132131322313233132431325313263132731328313293133031331313323133331334313353133631337313383133931340313413134231343313443134531346313473134831349313503135131352313533135431355313563135731358313593136031361313623136331364313653136631367313683136931370313713137231373313743137531376313773137831379313803138131382313833138431385313863138731388313893139031391313923139331394313953139631397313983139931400314013140231403314043140531406314073140831409314103141131412314133141431415314163141731418314193142031421314223142331424314253142631427314283142931430314313143231433314343143531436314373143831439314403144131442314433144431445314463144731448314493145031451314523145331454314553145631457314583145931460314613146231463314643146531466314673146831469314703147131472314733147431475314763147731478314793148031481314823148331484314853148631487314883148931490314913149231493314943149531496314973149831499315003150131502315033150431505315063150731508315093151031511315123151331514315153151631517315183151931520315213152231523315243152531526315273152831529315303153131532315333153431535315363153731538315393154031541315423154331544315453154631547315483154931550315513155231553315543155531556315573155831559315603156131562315633156431565315663156731568315693157031571315723157331574315753157631577315783157931580315813158231583315843158531586315873158831589315903159131592315933159431595315963159731598315993160031601316023160331604316053160631607316083160931610316113161231613316143161531616316173161831619316203162131622316233162431625316263162731628316293163031631316323163331634316353163631637316383163931640316413164231643316443164531646316473164831649316503165131652316533165431655316563165731658316593166031661316623166331664316653166631667316683166931670316713167231673316743167531676316773167831679316803168131682316833168431685316863168731688316893169031691316923169331694316953169631697316983169931700317013170231703317043170531706317073170831709317103171131712317133171431715317163171731718317193172031721317223172331724317253172631727317283172931730317313173231733317343173531736317373173831739317403174131742317433174431745317463174731748317493175031751317523175331754317553175631757317583175931760317613176231763317643176531766317673176831769317703177131772317733177431775317763177731778317793178031781317823178331784317853178631787317883178931790317913179231793317943179531796317973179831799318003180131802318033180431805318063180731808318093181031811318123181331814318153181631817318183181931820318213182231823318243182531826318273182831829318303183131832318333183431835318363183731838318393184031841318423184331844318453184631847318483184931850318513185231853318543185531856318573185831859318603186131862318633186431865318663186731868318693187031871318723187331874318753187631877318783187931880318813188231883318843188531886318873188831889318903189131892318933189431895318963189731898318993190031901319023190331904319053190631907319083190931910319113191231913319143191531916319173191831919319203192131922319233192431925319263192731928319293193031931319323193331934319353193631937319383193931940319413194231943319443194531946319473194831949319503195131952319533195431955319563195731958319593196031961319623196331964319653196631967319683196931970319713197231973319743197531976319773197831979319803198131982319833198431985319863198731988319893199031991319923199331994319953199631997319983199932000320013200232003320043200532006320073200832009320103201132012320133201432015320163201732018320193202032021320223202332024320253202632027320283202932030320313203232033320343203532036320373203832039320403204132042320433204432045320463204732048320493205032051320523205332054320553205632057320583205932060320613206232063320643206532066320673206832069320703207132072320733207432075320763207732078320793208032081320823208332084320853208632087320883208932090320913209232093320943209532096320973209832099321003210132102321033210432105321063210732108321093211032111321123211332114321153211632117321183211932120321213212232123321243212532126321273212832129321303213132132321333213432135321363213732138321393214032141321423214332144321453214632147321483214932150321513215232153321543215532156321573215832159321603216132162321633216432165321663216732168321693217032171321723217332174321753217632177321783217932180321813218232183321843218532186321873218832189321903219132192321933219432195321963219732198321993220032201322023220332204322053220632207322083220932210322113221232213322143221532216322173221832219322203222132222322233222432225322263222732228322293223032231322323223332234322353223632237322383223932240322413224232243322443224532246322473224832249322503225132252322533225432255322563225732258322593226032261322623226332264322653226632267322683226932270322713227232273322743227532276322773227832279322803228132282322833228432285322863228732288322893229032291322923229332294322953229632297322983229932300323013230232303323043230532306323073230832309323103231132312323133231432315323163231732318323193232032321323223232332324323253232632327323283232932330323313233232333323343233532336323373233832339323403234132342323433234432345323463234732348323493235032351323523235332354323553235632357323583235932360323613236232363323643236532366323673236832369323703237132372323733237432375323763237732378323793238032381323823238332384323853238632387323883238932390323913239232393323943239532396323973239832399324003240132402324033240432405324063240732408324093241032411324123241332414324153241632417324183241932420324213242232423324243242532426324273242832429324303243132432324333243432435324363243732438324393244032441324423244332444324453244632447324483244932450324513245232453324543245532456324573245832459324603246132462324633246432465324663246732468324693247032471324723247332474324753247632477324783247932480324813248232483324843248532486324873248832489324903249132492324933249432495324963249732498324993250032501325023250332504325053250632507325083250932510325113251232513325143251532516325173251832519325203252132522325233252432525325263252732528325293253032531325323253332534325353253632537325383253932540325413254232543325443254532546325473254832549325503255132552325533255432555325563255732558325593256032561325623256332564325653256632567325683256932570325713257232573325743257532576325773257832579325803258132582325833258432585325863258732588325893259032591325923259332594325953259632597325983259932600326013260232603326043260532606326073260832609326103261132612326133261432615326163261732618326193262032621326223262332624326253262632627326283262932630326313263232633326343263532636326373263832639326403264132642326433264432645326463264732648326493265032651326523265332654326553265632657326583265932660326613266232663326643266532666326673266832669326703267132672326733267432675326763267732678326793268032681326823268332684326853268632687326883268932690326913269232693326943269532696326973269832699327003270132702327033270432705327063270732708327093271032711327123271332714327153271632717327183271932720327213272232723327243272532726327273272832729327303273132732327333273432735327363273732738327393274032741327423274332744327453274632747327483274932750327513275232753327543275532756327573275832759327603276132762327633276432765327663276732768327693277032771327723277332774327753277632777327783277932780327813278232783327843278532786327873278832789327903279132792327933279432795327963279732798327993280032801328023280332804328053280632807328083280932810328113281232813328143281532816328173281832819328203282132822328233282432825328263282732828328293283032831328323283332834328353283632837328383283932840328413284232843328443284532846328473284832849328503285132852328533285432855328563285732858328593286032861328623286332864328653286632867328683286932870328713287232873328743287532876328773287832879328803288132882328833288432885328863288732888328893289032891328923289332894328953289632897328983289932900329013290232903329043290532906329073290832909329103291132912329133291432915329163291732918329193292032921329223292332924329253292632927329283292932930329313293232933329343293532936329373293832939329403294132942329433294432945329463294732948329493295032951329523295332954329553295632957329583295932960329613296232963329643296532966329673296832969329703297132972329733297432975329763297732978329793298032981329823298332984329853298632987329883298932990329913299232993329943299532996329973299832999330003300133002330033300433005330063300733008330093301033011330123301333014330153301633017330183301933020330213302233023330243302533026330273302833029330303303133032330333303433035330363303733038330393304033041330423304333044330453304633047330483304933050330513305233053330543305533056330573305833059330603306133062330633306433065330663306733068330693307033071330723307333074330753307633077330783307933080330813308233083330843308533086330873308833089330903309133092330933309433095330963309733098330993310033101331023310333104331053310633107331083310933110331113311233113331143311533116331173311833119331203312133122331233312433125331263312733128331293313033131331323313333134331353313633137331383313933140331413314233143331443314533146331473314833149331503315133152331533315433155331563315733158331593316033161331623316333164331653316633167331683316933170331713317233173331743317533176331773317833179331803318133182331833318433185331863318733188331893319033191331923319333194331953319633197331983319933200332013320233203332043320533206332073320833209332103321133212332133321433215332163321733218332193322033221332223322333224332253322633227332283322933230332313323233233332343323533236332373323833239332403324133242332433324433245332463324733248332493325033251332523325333254332553325633257332583325933260332613326233263332643326533266332673326833269332703327133272332733327433275332763327733278332793328033281332823328333284332853328633287332883328933290332913329233293332943329533296332973329833299333003330133302333033330433305333063330733308333093331033311333123331333314333153331633317333183331933320333213332233323333243332533326333273332833329333303333133332333333333433335333363333733338333393334033341333423334333344333453334633347333483334933350333513335233353333543335533356333573335833359333603336133362333633336433365333663336733368333693337033371333723337333374333753337633377333783337933380333813338233383333843338533386333873338833389333903339133392333933339433395333963339733398333993340033401334023340333404334053340633407334083340933410334113341233413334143341533416334173341833419334203342133422334233342433425334263342733428334293343033431334323343333434334353343633437334383343933440334413344233443334443344533446334473344833449334503345133452334533345433455334563345733458334593346033461334623346333464334653346633467334683346933470334713347233473334743347533476334773347833479334803348133482334833348433485334863348733488334893349033491334923349333494334953349633497334983349933500335013350233503335043350533506335073350833509335103351133512335133351433515335163351733518335193352033521335223352333524335253352633527335283352933530335313353233533335343353533536335373353833539335403354133542335433354433545335463354733548335493355033551335523355333554335553355633557335583355933560335613356233563335643356533566335673356833569335703357133572335733357433575335763357733578335793358033581335823358333584335853358633587335883358933590335913359233593335943359533596335973359833599336003360133602336033360433605336063360733608336093361033611336123361333614336153361633617336183361933620336213362233623336243362533626336273362833629336303363133632336333363433635336363363733638336393364033641336423364333644336453364633647336483364933650336513365233653336543365533656336573365833659336603366133662336633366433665336663366733668336693367033671336723367333674336753367633677336783367933680336813368233683336843368533686336873368833689336903369133692336933369433695336963369733698336993370033701337023370333704337053370633707337083370933710337113371233713337143371533716337173371833719337203372133722337233372433725337263372733728337293373033731337323373333734337353373633737337383373933740337413374233743337443374533746337473374833749337503375133752337533375433755337563375733758337593376033761337623376333764337653376633767337683376933770337713377233773337743377533776337773377833779337803378133782337833378433785337863378733788337893379033791337923379333794337953379633797337983379933800338013380233803338043380533806338073380833809338103381133812338133381433815338163381733818338193382033821338223382333824338253382633827338283382933830338313383233833338343383533836338373383833839338403384133842338433384433845338463384733848338493385033851338523385333854338553385633857338583385933860338613386233863338643386533866338673386833869338703387133872338733387433875338763387733878338793388033881338823388333884338853388633887338883388933890338913389233893338943389533896338973389833899339003390133902339033390433905339063390733908339093391033911339123391333914339153391633917339183391933920339213392233923339243392533926339273392833929339303393133932339333393433935339363393733938339393394033941339423394333944339453394633947339483394933950339513395233953339543395533956339573395833959339603396133962339633396433965339663396733968339693397033971339723397333974339753397633977339783397933980339813398233983339843398533986339873398833989339903399133992339933399433995339963399733998339993400034001340023400334004340053400634007340083400934010340113401234013340143401534016340173401834019340203402134022340233402434025340263402734028340293403034031340323403334034340353403634037340383403934040340413404234043340443404534046340473404834049340503405134052340533405434055340563405734058340593406034061340623406334064340653406634067340683406934070340713407234073340743407534076340773407834079340803408134082340833408434085340863408734088340893409034091340923409334094340953409634097340983409934100341013410234103341043410534106341073410834109341103411134112341133411434115341163411734118341193412034121341223412334124341253412634127341283412934130341313413234133341343413534136341373413834139341403414134142341433414434145341463414734148341493415034151341523415334154341553415634157341583415934160341613416234163341643416534166341673416834169341703417134172341733417434175341763417734178341793418034181341823418334184341853418634187341883418934190341913419234193341943419534196341973419834199342003420134202342033420434205342063420734208342093421034211342123421334214342153421634217342183421934220342213422234223342243422534226342273422834229342303423134232342333423434235342363423734238342393424034241342423424334244342453424634247342483424934250342513425234253342543425534256342573425834259342603426134262342633426434265342663426734268342693427034271342723427334274342753427634277342783427934280342813428234283342843428534286342873428834289342903429134292342933429434295342963429734298342993430034301343023430334304343053430634307343083430934310343113431234313343143431534316343173431834319343203432134322343233432434325343263432734328343293433034331343323433334334343353433634337343383433934340343413434234343343443434534346343473434834349343503435134352343533435434355343563435734358343593436034361343623436334364343653436634367343683436934370343713437234373343743437534376343773437834379343803438134382343833438434385343863438734388343893439034391343923439334394343953439634397343983439934400344013440234403344043440534406344073440834409344103441134412344133441434415344163441734418344193442034421344223442334424344253442634427344283442934430344313443234433344343443534436344373443834439344403444134442344433444434445344463444734448344493445034451344523445334454344553445634457344583445934460344613446234463344643446534466344673446834469344703447134472344733447434475344763447734478344793448034481344823448334484344853448634487344883448934490344913449234493344943449534496344973449834499345003450134502345033450434505345063450734508345093451034511345123451334514345153451634517345183451934520345213452234523345243452534526345273452834529345303453134532345333453434535345363453734538345393454034541345423454334544345453454634547345483454934550345513455234553345543455534556345573455834559345603456134562345633456434565345663456734568345693457034571345723457334574345753457634577345783457934580345813458234583345843458534586345873458834589345903459134592345933459434595345963459734598345993460034601346023460334604346053460634607346083460934610346113461234613346143461534616346173461834619346203462134622346233462434625346263462734628346293463034631346323463334634346353463634637346383463934640346413464234643346443464534646346473464834649346503465134652346533465434655346563465734658346593466034661346623466334664346653466634667346683466934670346713467234673346743467534676346773467834679346803468134682346833468434685346863468734688346893469034691346923469334694346953469634697346983469934700347013470234703347043470534706347073470834709347103471134712347133471434715347163471734718347193472034721347223472334724347253472634727347283472934730347313473234733347343473534736347373473834739347403474134742347433474434745347463474734748347493475034751347523475334754347553475634757347583475934760347613476234763347643476534766347673476834769347703477134772347733477434775347763477734778347793478034781347823478334784347853478634787347883478934790347913479234793347943479534796347973479834799348003480134802348033480434805348063480734808348093481034811348123481334814348153481634817348183481934820348213482234823348243482534826348273482834829348303483134832348333483434835348363483734838348393484034841348423484334844348453484634847348483484934850348513485234853348543485534856348573485834859348603486134862348633486434865348663486734868348693487034871348723487334874348753487634877348783487934880348813488234883348843488534886348873488834889348903489134892348933489434895348963489734898348993490034901349023490334904349053490634907349083490934910349113491234913349143491534916349173491834919349203492134922349233492434925349263492734928349293493034931349323493334934349353493634937349383493934940349413494234943349443494534946349473494834949349503495134952349533495434955349563495734958349593496034961349623496334964349653496634967349683496934970349713497234973349743497534976349773497834979349803498134982349833498434985349863498734988349893499034991349923499334994349953499634997349983499935000350013500235003350043500535006350073500835009350103501135012350133501435015350163501735018350193502035021350223502335024350253502635027350283502935030350313503235033350343503535036350373503835039350403504135042350433504435045350463504735048350493505035051350523505335054350553505635057350583505935060350613506235063350643506535066350673506835069350703507135072350733507435075350763507735078350793508035081350823508335084350853508635087350883508935090350913509235093350943509535096350973509835099351003510135102351033510435105351063510735108351093511035111351123511335114351153511635117351183511935120351213512235123351243512535126351273512835129351303513135132351333513435135351363513735138351393514035141351423514335144351453514635147351483514935150351513515235153351543515535156351573515835159351603516135162351633516435165351663516735168351693517035171351723517335174351753517635177351783517935180351813518235183351843518535186351873518835189351903519135192351933519435195351963519735198351993520035201352023520335204352053520635207352083520935210352113521235213352143521535216352173521835219352203522135222352233522435225352263522735228352293523035231352323523335234352353523635237352383523935240352413524235243352443524535246352473524835249352503525135252352533525435255352563525735258352593526035261352623526335264352653526635267352683526935270352713527235273352743527535276352773527835279352803528135282352833528435285352863528735288352893529035291352923529335294352953529635297352983529935300353013530235303353043530535306353073530835309353103531135312353133531435315353163531735318353193532035321353223532335324353253532635327353283532935330353313533235333353343533535336353373533835339353403534135342353433534435345353463534735348353493535035351353523535335354353553535635357353583535935360353613536235363353643536535366353673536835369353703537135372353733537435375353763537735378353793538035381353823538335384353853538635387353883538935390353913539235393353943539535396353973539835399354003540135402354033540435405354063540735408354093541035411354123541335414354153541635417354183541935420354213542235423354243542535426354273542835429354303543135432354333543435435354363543735438354393544035441354423544335444354453544635447354483544935450354513545235453354543545535456354573545835459354603546135462354633546435465354663546735468354693547035471354723547335474354753547635477354783547935480354813548235483354843548535486354873548835489354903549135492354933549435495354963549735498354993550035501355023550335504355053550635507355083550935510355113551235513355143551535516355173551835519355203552135522355233552435525355263552735528355293553035531355323553335534355353553635537355383553935540355413554235543355443554535546355473554835549355503555135552355533555435555355563555735558355593556035561355623556335564355653556635567355683556935570355713557235573355743557535576355773557835579355803558135582355833558435585355863558735588355893559035591355923559335594355953559635597355983559935600356013560235603356043560535606356073560835609356103561135612356133561435615356163561735618356193562035621356223562335624356253562635627356283562935630356313563235633356343563535636356373563835639356403564135642356433564435645356463564735648356493565035651356523565335654356553565635657356583565935660356613566235663356643566535666356673566835669356703567135672356733567435675356763567735678356793568035681356823568335684356853568635687356883568935690356913569235693356943569535696356973569835699357003570135702357033570435705357063570735708357093571035711357123571335714357153571635717357183571935720357213572235723357243572535726357273572835729357303573135732357333573435735357363573735738357393574035741357423574335744357453574635747357483574935750357513575235753357543575535756357573575835759357603576135762357633576435765357663576735768357693577035771357723577335774357753577635777357783577935780357813578235783357843578535786357873578835789357903579135792357933579435795357963579735798357993580035801358023580335804358053580635807358083580935810358113581235813358143581535816358173581835819358203582135822358233582435825358263582735828358293583035831358323583335834358353583635837358383583935840358413584235843358443584535846358473584835849358503585135852358533585435855358563585735858358593586035861358623586335864358653586635867358683586935870358713587235873358743587535876358773587835879358803588135882358833588435885358863588735888358893589035891358923589335894358953589635897358983589935900359013590235903359043590535906359073590835909359103591135912359133591435915359163591735918359193592035921359223592335924359253592635927359283592935930359313593235933359343593535936359373593835939359403594135942359433594435945359463594735948359493595035951359523595335954359553595635957359583595935960359613596235963359643596535966359673596835969359703597135972359733597435975359763597735978359793598035981359823598335984359853598635987359883598935990359913599235993359943599535996359973599835999360003600136002360033600436005360063600736008360093601036011360123601336014360153601636017360183601936020360213602236023360243602536026360273602836029360303603136032360333603436035360363603736038360393604036041360423604336044360453604636047360483604936050360513605236053360543605536056360573605836059360603606136062360633606436065360663606736068360693607036071360723607336074360753607636077360783607936080360813608236083360843608536086360873608836089360903609136092360933609436095360963609736098360993610036101361023610336104361053610636107361083610936110361113611236113361143611536116361173611836119361203612136122361233612436125361263612736128361293613036131361323613336134361353613636137361383613936140361413614236143361443614536146361473614836149361503615136152361533615436155361563615736158361593616036161361623616336164361653616636167361683616936170361713617236173361743617536176361773617836179361803618136182361833618436185361863618736188361893619036191361923619336194361953619636197361983619936200362013620236203362043620536206362073620836209362103621136212362133621436215362163621736218362193622036221362223622336224362253622636227362283622936230362313623236233362343623536236362373623836239362403624136242362433624436245362463624736248362493625036251362523625336254362553625636257362583625936260362613626236263362643626536266362673626836269362703627136272362733627436275362763627736278362793628036281362823628336284362853628636287362883628936290362913629236293362943629536296362973629836299363003630136302363033630436305363063630736308363093631036311363123631336314363153631636317363183631936320363213632236323363243632536326363273632836329363303633136332363333633436335363363633736338363393634036341363423634336344363453634636347363483634936350363513635236353363543635536356363573635836359363603636136362363633636436365363663636736368363693637036371363723637336374363753637636377363783637936380363813638236383363843638536386363873638836389363903639136392363933639436395363963639736398363993640036401364023640336404364053640636407364083640936410364113641236413364143641536416364173641836419364203642136422364233642436425364263642736428364293643036431364323643336434364353643636437364383643936440364413644236443364443644536446364473644836449364503645136452364533645436455364563645736458364593646036461364623646336464364653646636467364683646936470364713647236473364743647536476364773647836479364803648136482364833648436485364863648736488364893649036491364923649336494364953649636497364983649936500365013650236503365043650536506365073650836509365103651136512365133651436515365163651736518365193652036521365223652336524365253652636527365283652936530365313653236533365343653536536365373653836539365403654136542365433654436545365463654736548365493655036551365523655336554365553655636557365583655936560365613656236563365643656536566365673656836569365703657136572365733657436575365763657736578365793658036581365823658336584365853658636587365883658936590365913659236593365943659536596365973659836599366003660136602366033660436605366063660736608366093661036611366123661336614366153661636617366183661936620366213662236623366243662536626366273662836629366303663136632366333663436635366363663736638366393664036641366423664336644366453664636647366483664936650366513665236653366543665536656366573665836659366603666136662366633666436665366663666736668366693667036671366723667336674366753667636677366783667936680366813668236683366843668536686366873668836689366903669136692366933669436695366963669736698366993670036701367023670336704367053670636707367083670936710367113671236713367143671536716367173671836719367203672136722367233672436725367263672736728367293673036731367323673336734367353673636737367383673936740367413674236743367443674536746367473674836749367503675136752367533675436755367563675736758367593676036761367623676336764367653676636767367683676936770367713677236773367743677536776367773677836779367803678136782367833678436785367863678736788367893679036791367923679336794367953679636797367983679936800368013680236803368043680536806368073680836809368103681136812368133681436815368163681736818368193682036821368223682336824368253682636827368283682936830368313683236833368343683536836368373683836839368403684136842368433684436845368463684736848368493685036851368523685336854368553685636857368583685936860368613686236863368643686536866368673686836869368703687136872368733687436875368763687736878368793688036881368823688336884368853688636887368883688936890368913689236893368943689536896368973689836899369003690136902369033690436905369063690736908369093691036911369123691336914369153691636917369183691936920369213692236923369243692536926369273692836929369303693136932369333693436935369363693736938369393694036941369423694336944369453694636947369483694936950369513695236953369543695536956369573695836959369603696136962369633696436965369663696736968369693697036971369723697336974369753697636977369783697936980369813698236983369843698536986369873698836989369903699136992369933699436995369963699736998369993700037001370023700337004370053700637007370083700937010370113701237013370143701537016370173701837019370203702137022370233702437025370263702737028370293703037031370323703337034370353703637037370383703937040370413704237043370443704537046370473704837049370503705137052370533705437055370563705737058370593706037061370623706337064370653706637067370683706937070370713707237073370743707537076370773707837079370803708137082370833708437085370863708737088370893709037091370923709337094370953709637097370983709937100371013710237103371043710537106371073710837109371103711137112371133711437115371163711737118371193712037121371223712337124371253712637127371283712937130371313713237133371343713537136371373713837139371403714137142371433714437145371463714737148371493715037151371523715337154371553715637157371583715937160371613716237163371643716537166371673716837169371703717137172371733717437175371763717737178371793718037181371823718337184371853718637187371883718937190371913719237193371943719537196371973719837199372003720137202372033720437205372063720737208372093721037211372123721337214372153721637217372183721937220372213722237223372243722537226372273722837229372303723137232372333723437235372363723737238372393724037241372423724337244372453724637247372483724937250372513725237253372543725537256372573725837259372603726137262372633726437265372663726737268372693727037271372723727337274372753727637277372783727937280372813728237283372843728537286372873728837289372903729137292372933729437295372963729737298372993730037301373023730337304373053730637307373083730937310373113731237313373143731537316373173731837319373203732137322373233732437325373263732737328373293733037331373323733337334373353733637337373383733937340373413734237343373443734537346373473734837349373503735137352373533735437355373563735737358373593736037361373623736337364373653736637367373683736937370373713737237373373743737537376373773737837379373803738137382373833738437385373863738737388373893739037391373923739337394373953739637397373983739937400374013740237403374043740537406374073740837409374103741137412374133741437415374163741737418374193742037421374223742337424374253742637427374283742937430374313743237433374343743537436374373743837439374403744137442374433744437445374463744737448374493745037451374523745337454374553745637457374583745937460374613746237463374643746537466374673746837469374703747137472374733747437475374763747737478374793748037481374823748337484374853748637487374883748937490374913749237493374943749537496374973749837499375003750137502375033750437505375063750737508375093751037511375123751337514375153751637517375183751937520375213752237523375243752537526375273752837529375303753137532375333753437535375363753737538375393754037541375423754337544375453754637547375483754937550375513755237553375543755537556375573755837559375603756137562375633756437565375663756737568375693757037571375723757337574375753757637577375783757937580375813758237583375843758537586375873758837589375903759137592375933759437595375963759737598375993760037601376023760337604376053760637607376083760937610376113761237613376143761537616376173761837619376203762137622376233762437625376263762737628376293763037631376323763337634376353763637637376383763937640376413764237643376443764537646376473764837649376503765137652376533765437655376563765737658376593766037661376623766337664376653766637667376683766937670376713767237673376743767537676376773767837679376803768137682376833768437685376863768737688376893769037691376923769337694376953769637697376983769937700377013770237703377043770537706377073770837709377103771137712377133771437715377163771737718377193772037721377223772337724377253772637727377283772937730377313773237733377343773537736377373773837739377403774137742377433774437745377463774737748377493775037751377523775337754377553775637757377583775937760377613776237763377643776537766377673776837769377703777137772377733777437775377763777737778377793778037781377823778337784377853778637787377883778937790377913779237793377943779537796377973779837799378003780137802378033780437805378063780737808378093781037811378123781337814378153781637817378183781937820378213782237823378243782537826378273782837829378303783137832378333783437835378363783737838378393784037841378423784337844378453784637847378483784937850378513785237853378543785537856378573785837859378603786137862378633786437865378663786737868378693787037871378723787337874378753787637877378783787937880378813788237883378843788537886378873788837889378903789137892378933789437895378963789737898378993790037901379023790337904379053790637907379083790937910379113791237913379143791537916379173791837919379203792137922379233792437925379263792737928379293793037931379323793337934379353793637937379383793937940379413794237943379443794537946379473794837949379503795137952379533795437955379563795737958379593796037961379623796337964379653796637967379683796937970379713797237973379743797537976379773797837979379803798137982379833798437985379863798737988379893799037991379923799337994379953799637997379983799938000380013800238003380043800538006380073800838009380103801138012380133801438015380163801738018380193802038021380223802338024380253802638027380283802938030380313803238033380343803538036380373803838039380403804138042380433804438045380463804738048380493805038051380523805338054380553805638057380583805938060380613806238063380643806538066380673806838069380703807138072380733807438075380763807738078380793808038081380823808338084380853808638087380883808938090380913809238093380943809538096380973809838099381003810138102381033810438105381063810738108381093811038111381123811338114381153811638117381183811938120381213812238123381243812538126381273812838129381303813138132381333813438135381363813738138381393814038141381423814338144381453814638147381483814938150381513815238153381543815538156381573815838159381603816138162381633816438165381663816738168381693817038171381723817338174381753817638177381783817938180381813818238183381843818538186381873818838189381903819138192381933819438195381963819738198381993820038201382023820338204382053820638207382083820938210382113821238213382143821538216382173821838219382203822138222382233822438225382263822738228382293823038231382323823338234382353823638237382383823938240382413824238243382443824538246382473824838249382503825138252382533825438255382563825738258382593826038261382623826338264382653826638267382683826938270382713827238273382743827538276382773827838279382803828138282382833828438285382863828738288382893829038291382923829338294382953829638297382983829938300383013830238303383043830538306383073830838309383103831138312383133831438315383163831738318383193832038321383223832338324383253832638327383283832938330383313833238333383343833538336383373833838339383403834138342383433834438345383463834738348383493835038351383523835338354383553835638357383583835938360383613836238363383643836538366383673836838369383703837138372383733837438375383763837738378383793838038381383823838338384383853838638387383883838938390383913839238393383943839538396383973839838399384003840138402384033840438405384063840738408384093841038411384123841338414384153841638417384183841938420384213842238423384243842538426384273842838429384303843138432384333843438435384363843738438384393844038441384423844338444384453844638447384483844938450384513845238453384543845538456384573845838459384603846138462384633846438465384663846738468384693847038471384723847338474384753847638477384783847938480384813848238483384843848538486384873848838489384903849138492384933849438495384963849738498384993850038501385023850338504385053850638507385083850938510385113851238513385143851538516385173851838519385203852138522385233852438525385263852738528385293853038531385323853338534385353853638537385383853938540385413854238543385443854538546385473854838549385503855138552385533855438555385563855738558385593856038561385623856338564385653856638567385683856938570385713857238573385743857538576385773857838579385803858138582385833858438585385863858738588385893859038591385923859338594385953859638597385983859938600386013860238603386043860538606386073860838609386103861138612386133861438615386163861738618386193862038621386223862338624386253862638627386283862938630386313863238633386343863538636386373863838639386403864138642386433864438645386463864738648386493865038651386523865338654386553865638657386583865938660386613866238663386643866538666386673866838669386703867138672386733867438675386763867738678386793868038681386823868338684386853868638687386883868938690386913869238693386943869538696386973869838699387003870138702387033870438705387063870738708387093871038711387123871338714387153871638717387183871938720387213872238723387243872538726387273872838729387303873138732387333873438735387363873738738387393874038741387423874338744387453874638747387483874938750387513875238753387543875538756387573875838759387603876138762387633876438765387663876738768387693877038771387723877338774387753877638777387783877938780387813878238783387843878538786387873878838789387903879138792387933879438795387963879738798387993880038801388023880338804388053880638807388083880938810388113881238813388143881538816388173881838819388203882138822388233882438825388263882738828388293883038831388323883338834388353883638837388383883938840388413884238843388443884538846388473884838849388503885138852388533885438855388563885738858388593886038861388623886338864388653886638867388683886938870388713887238873388743887538876388773887838879388803888138882388833888438885388863888738888388893889038891388923889338894388953889638897388983889938900389013890238903389043890538906389073890838909389103891138912389133891438915389163891738918389193892038921389223892338924389253892638927389283892938930389313893238933389343893538936389373893838939389403894138942389433894438945389463894738948389493895038951389523895338954389553895638957389583895938960389613896238963389643896538966389673896838969389703897138972389733897438975389763897738978389793898038981389823898338984389853898638987389883898938990389913899238993389943899538996389973899838999390003900139002390033900439005390063900739008390093901039011390123901339014390153901639017390183901939020390213902239023390243902539026390273902839029390303903139032390333903439035390363903739038390393904039041390423904339044390453904639047390483904939050390513905239053390543905539056390573905839059390603906139062390633906439065390663906739068390693907039071390723907339074390753907639077390783907939080390813908239083390843908539086390873908839089390903909139092390933909439095390963909739098390993910039101391023910339104391053910639107391083910939110391113911239113391143911539116391173911839119391203912139122391233912439125391263912739128391293913039131391323913339134391353913639137391383913939140391413914239143391443914539146391473914839149391503915139152391533915439155391563915739158391593916039161391623916339164391653916639167391683916939170391713917239173391743917539176391773917839179391803918139182391833918439185391863918739188391893919039191391923919339194391953919639197391983919939200392013920239203392043920539206392073920839209392103921139212392133921439215392163921739218392193922039221392223922339224392253922639227392283922939230392313923239233392343923539236392373923839239392403924139242392433924439245392463924739248392493925039251392523925339254392553925639257392583925939260392613926239263392643926539266392673926839269392703927139272392733927439275392763927739278392793928039281392823928339284392853928639287392883928939290392913929239293392943929539296392973929839299393003930139302393033930439305393063930739308393093931039311393123931339314393153931639317393183931939320393213932239323393243932539326393273932839329393303933139332393333933439335393363933739338393393934039341393423934339344393453934639347393483934939350393513935239353393543935539356393573935839359393603936139362393633936439365393663936739368393693937039371393723937339374393753937639377393783937939380393813938239383393843938539386393873938839389393903939139392393933939439395393963939739398393993940039401394023940339404394053940639407394083940939410394113941239413394143941539416394173941839419394203942139422394233942439425394263942739428394293943039431394323943339434394353943639437394383943939440394413944239443394443944539446394473944839449394503945139452394533945439455394563945739458394593946039461394623946339464394653946639467394683946939470394713947239473394743947539476394773947839479394803948139482394833948439485394863948739488394893949039491394923949339494394953949639497394983949939500395013950239503395043950539506395073950839509395103951139512395133951439515395163951739518395193952039521395223952339524395253952639527395283952939530395313953239533395343953539536395373953839539395403954139542395433954439545395463954739548395493955039551395523955339554395553955639557395583955939560395613956239563395643956539566395673956839569395703957139572395733957439575395763957739578395793958039581395823958339584395853958639587395883958939590395913959239593395943959539596395973959839599396003960139602396033960439605396063960739608396093961039611396123961339614396153961639617396183961939620396213962239623396243962539626396273962839629396303963139632396333963439635396363963739638396393964039641396423964339644396453964639647396483964939650396513965239653396543965539656396573965839659396603966139662396633966439665396663966739668396693967039671396723967339674396753967639677396783967939680396813968239683396843968539686396873968839689396903969139692396933969439695396963969739698396993970039701397023970339704397053970639707397083970939710397113971239713397143971539716397173971839719397203972139722397233972439725397263972739728397293973039731397323973339734397353973639737397383973939740397413974239743397443974539746397473974839749397503975139752397533975439755397563975739758397593976039761397623976339764397653976639767397683976939770397713977239773397743977539776397773977839779397803978139782397833978439785397863978739788397893979039791397923979339794397953979639797397983979939800398013980239803398043980539806398073980839809398103981139812398133981439815398163981739818398193982039821398223982339824398253982639827398283982939830398313983239833398343983539836398373983839839398403984139842398433984439845398463984739848398493985039851398523985339854398553985639857398583985939860398613986239863398643986539866398673986839869398703987139872398733987439875398763987739878398793988039881398823988339884398853988639887398883988939890398913989239893398943989539896398973989839899399003990139902399033990439905399063990739908399093991039911399123991339914399153991639917399183991939920399213992239923399243992539926399273992839929399303993139932399333993439935399363993739938399393994039941399423994339944399453994639947399483994939950399513995239953399543995539956399573995839959399603996139962399633996439965399663996739968399693997039971399723997339974399753997639977399783997939980399813998239983399843998539986399873998839989399903999139992399933999439995399963999739998399994000040001400024000340004400054000640007400084000940010400114001240013400144001540016400174001840019400204002140022400234002440025400264002740028400294003040031400324003340034400354003640037400384003940040400414004240043400444004540046400474004840049400504005140052400534005440055400564005740058400594006040061400624006340064400654006640067400684006940070400714007240073400744007540076400774007840079400804008140082400834008440085400864008740088400894009040091400924009340094400954009640097400984009940100401014010240103401044010540106401074010840109401104011140112401134011440115401164011740118401194012040121401224012340124401254012640127401284012940130401314013240133401344013540136401374013840139401404014140142401434014440145401464014740148401494015040151401524015340154401554015640157401584015940160401614016240163401644016540166401674016840169401704017140172401734017440175401764017740178401794018040181401824018340184401854018640187401884018940190401914019240193401944019540196401974019840199402004020140202402034020440205402064020740208402094021040211402124021340214402154021640217402184021940220402214022240223402244022540226402274022840229402304023140232402334023440235402364023740238402394024040241402424024340244402454024640247402484024940250402514025240253402544025540256402574025840259402604026140262402634026440265402664026740268402694027040271402724027340274402754027640277402784027940280402814028240283402844028540286402874028840289402904029140292402934029440295402964029740298402994030040301403024030340304403054030640307403084030940310403114031240313403144031540316403174031840319403204032140322403234032440325403264032740328403294033040331403324033340334403354033640337403384033940340403414034240343403444034540346403474034840349403504035140352403534035440355403564035740358403594036040361403624036340364403654036640367403684036940370403714037240373403744037540376403774037840379403804038140382403834038440385403864038740388403894039040391403924039340394403954039640397403984039940400404014040240403404044040540406404074040840409404104041140412404134041440415404164041740418404194042040421404224042340424404254042640427404284042940430404314043240433404344043540436404374043840439404404044140442404434044440445404464044740448404494045040451404524045340454404554045640457404584045940460404614046240463404644046540466404674046840469404704047140472404734047440475404764047740478404794048040481404824048340484404854048640487404884048940490404914049240493404944049540496404974049840499405004050140502405034050440505405064050740508405094051040511405124051340514405154051640517405184051940520405214052240523405244052540526405274052840529405304053140532405334053440535405364053740538405394054040541405424054340544405454054640547405484054940550405514055240553405544055540556405574055840559405604056140562405634056440565405664056740568405694057040571405724057340574405754057640577405784057940580405814058240583405844058540586405874058840589405904059140592405934059440595405964059740598405994060040601406024060340604406054060640607406084060940610406114061240613406144061540616406174061840619406204062140622406234062440625406264062740628406294063040631406324063340634406354063640637406384063940640406414064240643406444064540646406474064840649406504065140652406534065440655406564065740658406594066040661406624066340664406654066640667406684066940670406714067240673406744067540676406774067840679406804068140682406834068440685406864068740688406894069040691406924069340694406954069640697406984069940700407014070240703407044070540706407074070840709407104071140712407134071440715407164071740718407194072040721407224072340724407254072640727407284072940730407314073240733407344073540736407374073840739407404074140742407434074440745407464074740748407494075040751407524075340754407554075640757407584075940760407614076240763407644076540766407674076840769407704077140772407734077440775407764077740778407794078040781407824078340784407854078640787407884078940790407914079240793407944079540796407974079840799408004080140802408034080440805408064080740808408094081040811408124081340814408154081640817408184081940820408214082240823408244082540826408274082840829408304083140832408334083440835408364083740838408394084040841408424084340844408454084640847408484084940850408514085240853408544085540856408574085840859408604086140862408634086440865408664086740868408694087040871408724087340874408754087640877408784087940880408814088240883408844088540886408874088840889408904089140892408934089440895408964089740898408994090040901409024090340904409054090640907409084090940910409114091240913409144091540916409174091840919409204092140922409234092440925409264092740928409294093040931409324093340934409354093640937409384093940940409414094240943409444094540946409474094840949409504095140952409534095440955409564095740958409594096040961409624096340964409654096640967409684096940970409714097240973409744097540976409774097840979409804098140982409834098440985409864098740988409894099040991409924099340994409954099640997409984099941000410014100241003410044100541006410074100841009410104101141012410134101441015410164101741018410194102041021410224102341024410254102641027410284102941030410314103241033410344103541036410374103841039410404104141042410434104441045410464104741048410494105041051410524105341054410554105641057410584105941060410614106241063410644106541066410674106841069410704107141072410734107441075410764107741078410794108041081410824108341084410854108641087410884108941090410914109241093410944109541096410974109841099411004110141102411034110441105411064110741108411094111041111411124111341114411154111641117411184111941120411214112241123411244112541126411274112841129411304113141132411334113441135411364113741138411394114041141411424114341144411454114641147411484114941150411514115241153411544115541156411574115841159411604116141162411634116441165411664116741168411694117041171411724117341174411754117641177411784117941180411814118241183411844118541186411874118841189411904119141192411934119441195411964119741198411994120041201412024120341204412054120641207412084120941210412114121241213412144121541216412174121841219412204122141222412234122441225412264122741228412294123041231412324123341234412354123641237412384123941240412414124241243412444124541246412474124841249412504125141252412534125441255412564125741258412594126041261412624126341264412654126641267412684126941270412714127241273412744127541276412774127841279412804128141282412834128441285412864128741288412894129041291412924129341294412954129641297412984129941300413014130241303413044130541306413074130841309413104131141312413134131441315413164131741318413194132041321413224132341324413254132641327413284132941330413314133241333413344133541336413374133841339413404134141342413434134441345413464134741348413494135041351413524135341354413554135641357413584135941360413614136241363413644136541366413674136841369413704137141372413734137441375413764137741378413794138041381413824138341384413854138641387413884138941390413914139241393413944139541396413974139841399414004140141402414034140441405414064140741408414094141041411414124141341414414154141641417414184141941420414214142241423414244142541426414274142841429414304143141432414334143441435414364143741438414394144041441414424144341444414454144641447414484144941450414514145241453414544145541456414574145841459414604146141462414634146441465414664146741468414694147041471414724147341474414754147641477414784147941480414814148241483414844148541486414874148841489414904149141492414934149441495414964149741498414994150041501415024150341504415054150641507415084150941510415114151241513415144151541516415174151841519415204152141522415234152441525415264152741528415294153041531415324153341534415354153641537415384153941540415414154241543415444154541546415474154841549415504155141552415534155441555415564155741558415594156041561415624156341564415654156641567415684156941570415714157241573415744157541576415774157841579415804158141582415834158441585415864158741588415894159041591415924159341594415954159641597415984159941600416014160241603416044160541606416074160841609416104161141612416134161441615416164161741618416194162041621416224162341624416254162641627416284162941630416314163241633416344163541636416374163841639416404164141642416434164441645416464164741648416494165041651416524165341654416554165641657416584165941660416614166241663416644166541666416674166841669416704167141672416734167441675416764167741678416794168041681416824168341684416854168641687416884168941690416914169241693416944169541696416974169841699417004170141702417034170441705417064170741708417094171041711417124171341714417154171641717417184171941720417214172241723417244172541726417274172841729417304173141732417334173441735417364173741738417394174041741417424174341744417454174641747417484174941750417514175241753417544175541756417574175841759417604176141762417634176441765417664176741768417694177041771417724177341774417754177641777417784177941780417814178241783417844178541786417874178841789417904179141792417934179441795417964179741798417994180041801418024180341804418054180641807418084180941810418114181241813418144181541816418174181841819418204182141822418234182441825418264182741828418294183041831418324183341834418354183641837418384183941840418414184241843418444184541846418474184841849418504185141852418534185441855418564185741858418594186041861418624186341864418654186641867418684186941870418714187241873418744187541876418774187841879418804188141882418834188441885418864188741888418894189041891418924189341894418954189641897418984189941900419014190241903419044190541906419074190841909419104191141912419134191441915419164191741918419194192041921419224192341924419254192641927419284192941930419314193241933419344193541936419374193841939419404194141942419434194441945419464194741948419494195041951419524195341954419554195641957419584195941960419614196241963419644196541966419674196841969419704197141972419734197441975419764197741978419794198041981419824198341984419854198641987419884198941990419914199241993419944199541996419974199841999420004200142002420034200442005420064200742008420094201042011420124201342014420154201642017420184201942020420214202242023420244202542026420274202842029420304203142032420334203442035420364203742038420394204042041420424204342044420454204642047420484204942050420514205242053420544205542056420574205842059420604206142062420634206442065420664206742068420694207042071420724207342074420754207642077420784207942080420814208242083420844208542086420874208842089420904209142092420934209442095420964209742098420994210042101421024210342104421054210642107421084210942110421114211242113421144211542116421174211842119421204212142122421234212442125421264212742128421294213042131421324213342134421354213642137421384213942140421414214242143421444214542146421474214842149421504215142152421534215442155421564215742158421594216042161421624216342164421654216642167421684216942170421714217242173421744217542176421774217842179421804218142182421834218442185421864218742188421894219042191421924219342194421954219642197421984219942200422014220242203422044220542206422074220842209422104221142212422134221442215422164221742218422194222042221422224222342224422254222642227422284222942230422314223242233422344223542236422374223842239422404224142242422434224442245422464224742248422494225042251422524225342254422554225642257422584225942260422614226242263422644226542266422674226842269422704227142272422734227442275422764227742278422794228042281422824228342284422854228642287422884228942290422914229242293422944229542296422974229842299423004230142302423034230442305423064230742308423094231042311423124231342314423154231642317423184231942320423214232242323423244232542326423274232842329423304233142332423334233442335423364233742338423394234042341423424234342344423454234642347423484234942350423514235242353423544235542356423574235842359423604236142362423634236442365423664236742368423694237042371423724237342374423754237642377423784237942380423814238242383423844238542386423874238842389423904239142392423934239442395423964239742398423994240042401424024240342404424054240642407424084240942410424114241242413424144241542416424174241842419424204242142422424234242442425424264242742428424294243042431424324243342434424354243642437424384243942440424414244242443424444244542446424474244842449424504245142452424534245442455424564245742458424594246042461424624246342464424654246642467424684246942470424714247242473424744247542476424774247842479424804248142482424834248442485424864248742488424894249042491424924249342494424954249642497424984249942500425014250242503425044250542506425074250842509425104251142512425134251442515425164251742518425194252042521425224252342524425254252642527425284252942530425314253242533425344253542536425374253842539425404254142542425434254442545425464254742548425494255042551425524255342554425554255642557425584255942560425614256242563425644256542566425674256842569425704257142572425734257442575425764257742578425794258042581425824258342584425854258642587425884258942590425914259242593425944259542596425974259842599426004260142602426034260442605426064260742608426094261042611426124261342614426154261642617426184261942620426214262242623426244262542626426274262842629426304263142632426334263442635426364263742638426394264042641426424264342644426454264642647426484264942650426514265242653426544265542656426574265842659426604266142662426634266442665426664266742668426694267042671426724267342674426754267642677426784267942680426814268242683426844268542686426874268842689426904269142692426934269442695426964269742698426994270042701427024270342704427054270642707427084270942710427114271242713427144271542716427174271842719427204272142722427234272442725427264272742728427294273042731427324273342734427354273642737427384273942740427414274242743427444274542746427474274842749427504275142752427534275442755427564275742758427594276042761427624276342764427654276642767427684276942770427714277242773427744277542776427774277842779427804278142782427834278442785427864278742788427894279042791427924279342794427954279642797427984279942800428014280242803428044280542806428074280842809428104281142812428134281442815428164281742818428194282042821428224282342824428254282642827428284282942830428314283242833428344283542836428374283842839428404284142842428434284442845428464284742848428494285042851428524285342854428554285642857428584285942860428614286242863428644286542866428674286842869428704287142872428734287442875428764287742878428794288042881428824288342884428854288642887428884288942890428914289242893428944289542896428974289842899429004290142902429034290442905429064290742908429094291042911429124291342914429154291642917429184291942920429214292242923429244292542926429274292842929429304293142932429334293442935429364293742938429394294042941429424294342944429454294642947429484294942950429514295242953429544295542956429574295842959429604296142962429634296442965429664296742968429694297042971429724297342974429754297642977429784297942980429814298242983429844298542986429874298842989429904299142992429934299442995429964299742998429994300043001430024300343004430054300643007430084300943010430114301243013430144301543016430174301843019430204302143022430234302443025430264302743028430294303043031430324303343034430354303643037430384303943040430414304243043430444304543046430474304843049430504305143052430534305443055430564305743058430594306043061430624306343064430654306643067430684306943070430714307243073430744307543076430774307843079430804308143082430834308443085430864308743088430894309043091430924309343094430954309643097430984309943100431014310243103431044310543106431074310843109431104311143112431134311443115431164311743118431194312043121431224312343124431254312643127431284312943130431314313243133431344313543136431374313843139431404314143142431434314443145431464314743148431494315043151431524315343154431554315643157431584315943160431614316243163431644316543166431674316843169431704317143172431734317443175431764317743178431794318043181431824318343184431854318643187431884318943190431914319243193431944319543196431974319843199432004320143202432034320443205432064320743208432094321043211432124321343214432154321643217432184321943220432214322243223432244322543226432274322843229432304323143232432334323443235432364323743238432394324043241432424324343244432454324643247432484324943250432514325243253432544325543256432574325843259432604326143262432634326443265432664326743268432694327043271432724327343274432754327643277432784327943280432814328243283432844328543286432874328843289432904329143292432934329443295432964329743298432994330043301433024330343304433054330643307433084330943310433114331243313433144331543316433174331843319433204332143322433234332443325433264332743328433294333043331433324333343334433354333643337433384333943340433414334243343433444334543346433474334843349433504335143352433534335443355433564335743358433594336043361433624336343364433654336643367433684336943370433714337243373433744337543376433774337843379433804338143382433834338443385433864338743388433894339043391433924339343394433954339643397433984339943400434014340243403434044340543406434074340843409434104341143412434134341443415434164341743418434194342043421434224342343424434254342643427434284342943430434314343243433434344343543436434374343843439434404344143442434434344443445434464344743448434494345043451434524345343454434554345643457434584345943460434614346243463434644346543466434674346843469434704347143472434734347443475434764347743478434794348043481434824348343484434854348643487434884348943490434914349243493434944349543496434974349843499435004350143502435034350443505435064350743508435094351043511435124351343514435154351643517435184351943520435214352243523435244352543526435274352843529435304353143532435334353443535435364353743538435394354043541435424354343544435454354643547435484354943550435514355243553435544355543556435574355843559435604356143562435634356443565435664356743568435694357043571435724357343574435754357643577435784357943580435814358243583435844358543586435874358843589435904359143592435934359443595435964359743598435994360043601436024360343604436054360643607436084360943610436114361243613436144361543616436174361843619436204362143622436234362443625436264362743628436294363043631436324363343634436354363643637436384363943640436414364243643436444364543646436474364843649436504365143652436534365443655436564365743658436594366043661436624366343664436654366643667436684366943670436714367243673436744367543676436774367843679436804368143682436834368443685436864368743688436894369043691436924369343694436954369643697436984369943700437014370243703437044370543706437074370843709437104371143712437134371443715437164371743718437194372043721437224372343724437254372643727437284372943730437314373243733437344373543736437374373843739437404374143742437434374443745437464374743748437494375043751437524375343754437554375643757437584375943760437614376243763437644376543766437674376843769437704377143772437734377443775437764377743778437794378043781437824378343784437854378643787437884378943790437914379243793437944379543796437974379843799438004380143802438034380443805438064380743808438094381043811438124381343814438154381643817438184381943820438214382243823438244382543826438274382843829438304383143832438334383443835438364383743838438394384043841438424384343844438454384643847438484384943850438514385243853438544385543856438574385843859438604386143862438634386443865438664386743868438694387043871438724387343874438754387643877438784387943880438814388243883438844388543886438874388843889438904389143892438934389443895438964389743898438994390043901439024390343904439054390643907439084390943910439114391243913439144391543916439174391843919439204392143922439234392443925439264392743928439294393043931439324393343934439354393643937439384393943940439414394243943439444394543946439474394843949439504395143952439534395443955439564395743958439594396043961439624396343964439654396643967439684396943970439714397243973439744397543976439774397843979439804398143982439834398443985439864398743988439894399043991439924399343994439954399643997439984399944000440014400244003440044400544006440074400844009440104401144012440134401444015440164401744018440194402044021440224402344024440254402644027440284402944030440314403244033440344403544036440374403844039440404404144042440434404444045440464404744048440494405044051440524405344054440554405644057440584405944060440614406244063440644406544066440674406844069440704407144072440734407444075440764407744078440794408044081440824408344084440854408644087440884408944090440914409244093440944409544096440974409844099441004410144102441034410444105441064410744108441094411044111441124411344114441154411644117441184411944120441214412244123441244412544126441274412844129441304413144132441334413444135441364413744138441394414044141441424414344144441454414644147441484414944150441514415244153441544415544156441574415844159441604416144162441634416444165441664416744168441694417044171441724417344174441754417644177441784417944180441814418244183441844418544186441874418844189441904419144192441934419444195441964419744198441994420044201442024420344204442054420644207442084420944210442114421244213442144421544216442174421844219442204422144222442234422444225442264422744228442294423044231442324423344234442354423644237442384423944240442414424244243442444424544246442474424844249442504425144252442534425444255442564425744258442594426044261442624426344264442654426644267442684426944270442714427244273442744427544276442774427844279442804428144282442834428444285442864428744288442894429044291442924429344294442954429644297442984429944300443014430244303443044430544306443074430844309443104431144312443134431444315443164431744318443194432044321443224432344324443254432644327443284432944330443314433244333443344433544336443374433844339443404434144342443434434444345443464434744348443494435044351443524435344354443554435644357443584435944360443614436244363443644436544366443674436844369443704437144372443734437444375443764437744378443794438044381443824438344384443854438644387443884438944390443914439244393443944439544396443974439844399444004440144402444034440444405444064440744408444094441044411444124441344414444154441644417444184441944420444214442244423444244442544426444274442844429444304443144432444334443444435444364443744438444394444044441444424444344444444454444644447444484444944450444514445244453444544445544456444574445844459444604446144462444634446444465444664446744468444694447044471444724447344474444754447644477444784447944480444814448244483444844448544486444874448844489444904449144492444934449444495444964449744498444994450044501445024450344504445054450644507445084450944510445114451244513445144451544516445174451844519445204452144522445234452444525445264452744528445294453044531445324453344534445354453644537445384453944540445414454244543445444454544546445474454844549445504455144552445534455444555445564455744558445594456044561445624456344564445654456644567445684456944570445714457244573445744457544576445774457844579445804458144582445834458444585445864458744588445894459044591445924459344594445954459644597445984459944600446014460244603446044460544606446074460844609446104461144612446134461444615446164461744618446194462044621446224462344624446254462644627446284462944630446314463244633446344463544636446374463844639446404464144642446434464444645446464464744648446494465044651446524465344654446554465644657446584465944660446614466244663446644466544666446674466844669446704467144672446734467444675446764467744678446794468044681446824468344684446854468644687446884468944690446914469244693446944469544696446974469844699447004470144702447034470444705447064470744708447094471044711447124471344714447154471644717447184471944720447214472244723447244472544726447274472844729447304473144732447334473444735447364473744738447394474044741447424474344744447454474644747447484474944750447514475244753447544475544756447574475844759447604476144762447634476444765447664476744768447694477044771447724477344774447754477644777447784477944780447814478244783447844478544786447874478844789447904479144792447934479444795447964479744798447994480044801448024480344804448054480644807448084480944810448114481244813448144481544816448174481844819448204482144822448234482444825448264482744828448294483044831448324483344834448354483644837448384483944840448414484244843448444484544846448474484844849448504485144852448534485444855448564485744858448594486044861448624486344864448654486644867448684486944870448714487244873448744487544876448774487844879448804488144882448834488444885448864488744888448894489044891448924489344894448954489644897448984489944900449014490244903449044490544906449074490844909449104491144912449134491444915449164491744918449194492044921449224492344924449254492644927449284492944930449314493244933449344493544936449374493844939449404494144942449434494444945449464494744948449494495044951449524495344954449554495644957449584495944960449614496244963449644496544966449674496844969449704497144972449734497444975449764497744978449794498044981449824498344984449854498644987449884498944990449914499244993449944499544996449974499844999450004500145002450034500445005450064500745008450094501045011450124501345014450154501645017450184501945020450214502245023450244502545026450274502845029450304503145032450334503445035450364503745038450394504045041450424504345044450454504645047450484504945050450514505245053450544505545056450574505845059450604506145062450634506445065450664506745068450694507045071450724507345074450754507645077450784507945080450814508245083450844508545086450874508845089450904509145092450934509445095450964509745098450994510045101451024510345104451054510645107451084510945110451114511245113451144511545116451174511845119451204512145122451234512445125451264512745128451294513045131451324513345134451354513645137451384513945140451414514245143451444514545146451474514845149451504515145152451534515445155451564515745158451594516045161451624516345164451654516645167451684516945170451714517245173451744517545176451774517845179451804518145182451834518445185451864518745188451894519045191451924519345194451954519645197451984519945200452014520245203452044520545206452074520845209452104521145212452134521445215452164521745218452194522045221452224522345224452254522645227452284522945230452314523245233452344523545236452374523845239452404524145242452434524445245452464524745248452494525045251452524525345254452554525645257452584525945260452614526245263452644526545266452674526845269452704527145272452734527445275452764527745278452794528045281452824528345284452854528645287452884528945290452914529245293452944529545296452974529845299453004530145302453034530445305453064530745308453094531045311453124531345314453154531645317453184531945320453214532245323453244532545326453274532845329453304533145332453334533445335453364533745338453394534045341453424534345344453454534645347453484534945350453514535245353453544535545356453574535845359453604536145362453634536445365453664536745368453694537045371453724537345374453754537645377453784537945380453814538245383453844538545386453874538845389453904539145392453934539445395453964539745398453994540045401454024540345404454054540645407454084540945410454114541245413454144541545416454174541845419454204542145422454234542445425454264542745428454294543045431454324543345434454354543645437454384543945440454414544245443454444544545446454474544845449454504545145452454534545445455454564545745458454594546045461454624546345464454654546645467454684546945470454714547245473454744547545476454774547845479454804548145482454834548445485454864548745488454894549045491454924549345494454954549645497454984549945500455014550245503455044550545506455074550845509455104551145512455134551445515455164551745518455194552045521455224552345524455254552645527455284552945530455314553245533455344553545536455374553845539455404554145542455434554445545455464554745548455494555045551455524555345554455554555645557455584555945560455614556245563455644556545566455674556845569455704557145572455734557445575455764557745578455794558045581455824558345584455854558645587455884558945590455914559245593455944559545596455974559845599456004560145602456034560445605456064560745608456094561045611456124561345614456154561645617456184561945620456214562245623456244562545626456274562845629456304563145632456334563445635456364563745638456394564045641456424564345644456454564645647456484564945650456514565245653456544565545656456574565845659456604566145662456634566445665456664566745668456694567045671456724567345674456754567645677456784567945680456814568245683456844568545686456874568845689456904569145692456934569445695456964569745698456994570045701457024570345704457054570645707457084570945710457114571245713457144571545716457174571845719457204572145722457234572445725457264572745728457294573045731457324573345734457354573645737457384573945740457414574245743457444574545746457474574845749457504575145752457534575445755457564575745758457594576045761457624576345764457654576645767457684576945770457714577245773457744577545776457774577845779457804578145782457834578445785457864578745788457894579045791457924579345794457954579645797457984579945800458014580245803458044580545806458074580845809458104581145812458134581445815458164581745818458194582045821458224582345824458254582645827458284582945830458314583245833458344583545836458374583845839458404584145842458434584445845458464584745848458494585045851458524585345854458554585645857458584585945860458614586245863458644586545866458674586845869458704587145872458734587445875458764587745878458794588045881458824588345884458854588645887458884588945890458914589245893458944589545896458974589845899459004590145902459034590445905459064590745908459094591045911459124591345914459154591645917459184591945920459214592245923459244592545926459274592845929459304593145932459334593445935459364593745938459394594045941459424594345944459454594645947459484594945950459514595245953459544595545956459574595845959459604596145962459634596445965459664596745968459694597045971459724597345974459754597645977459784597945980459814598245983459844598545986459874598845989459904599145992459934599445995459964599745998459994600046001460024600346004460054600646007460084600946010460114601246013460144601546016460174601846019460204602146022460234602446025460264602746028460294603046031460324603346034460354603646037460384603946040460414604246043460444604546046460474604846049460504605146052460534605446055460564605746058460594606046061460624606346064460654606646067460684606946070460714607246073460744607546076460774607846079460804608146082460834608446085460864608746088460894609046091460924609346094460954609646097460984609946100461014610246103461044610546106461074610846109461104611146112461134611446115461164611746118461194612046121461224612346124461254612646127461284612946130461314613246133461344613546136461374613846139461404614146142461434614446145461464614746148461494615046151461524615346154461554615646157461584615946160461614616246163461644616546166461674616846169461704617146172461734617446175461764617746178461794618046181461824618346184461854618646187461884618946190461914619246193461944619546196461974619846199462004620146202462034620446205462064620746208462094621046211462124621346214462154621646217462184621946220462214622246223462244622546226462274622846229462304623146232462334623446235462364623746238462394624046241462424624346244462454624646247462484624946250462514625246253462544625546256462574625846259462604626146262462634626446265462664626746268462694627046271462724627346274462754627646277462784627946280462814628246283462844628546286462874628846289462904629146292462934629446295462964629746298462994630046301463024630346304463054630646307463084630946310463114631246313463144631546316463174631846319463204632146322463234632446325463264632746328463294633046331463324633346334463354633646337463384633946340463414634246343463444634546346463474634846349463504635146352463534635446355463564635746358463594636046361463624636346364463654636646367463684636946370463714637246373463744637546376463774637846379463804638146382463834638446385463864638746388463894639046391463924639346394463954639646397463984639946400464014640246403464044640546406464074640846409464104641146412464134641446415464164641746418464194642046421464224642346424464254642646427464284642946430464314643246433464344643546436464374643846439464404644146442464434644446445464464644746448464494645046451464524645346454464554645646457464584645946460464614646246463464644646546466464674646846469464704647146472464734647446475464764647746478464794648046481464824648346484464854648646487464884648946490464914649246493464944649546496464974649846499465004650146502465034650446505465064650746508465094651046511465124651346514465154651646517465184651946520465214652246523465244652546526465274652846529465304653146532465334653446535465364653746538465394654046541465424654346544465454654646547465484654946550465514655246553465544655546556465574655846559465604656146562465634656446565465664656746568465694657046571465724657346574465754657646577465784657946580465814658246583465844658546586465874658846589465904659146592465934659446595465964659746598465994660046601466024660346604466054660646607466084660946610466114661246613466144661546616466174661846619466204662146622466234662446625466264662746628466294663046631466324663346634466354663646637466384663946640466414664246643466444664546646466474664846649466504665146652466534665446655466564665746658466594666046661466624666346664466654666646667466684666946670466714667246673466744667546676466774667846679466804668146682466834668446685466864668746688466894669046691466924669346694466954669646697466984669946700467014670246703467044670546706467074670846709467104671146712467134671446715467164671746718467194672046721467224672346724467254672646727467284672946730467314673246733467344673546736467374673846739467404674146742467434674446745467464674746748467494675046751467524675346754467554675646757467584675946760467614676246763467644676546766467674676846769467704677146772467734677446775467764677746778467794678046781467824678346784467854678646787467884678946790467914679246793467944679546796467974679846799468004680146802468034680446805468064680746808468094681046811468124681346814468154681646817468184681946820468214682246823468244682546826468274682846829468304683146832468334683446835468364683746838468394684046841468424684346844468454684646847468484684946850468514685246853468544685546856468574685846859468604686146862468634686446865468664686746868468694687046871468724687346874468754687646877468784687946880468814688246883468844688546886468874688846889468904689146892468934689446895468964689746898468994690046901469024690346904469054690646907469084690946910469114691246913469144691546916469174691846919469204692146922469234692446925469264692746928469294693046931469324693346934469354693646937469384693946940469414694246943469444694546946469474694846949469504695146952469534695446955469564695746958469594696046961469624696346964469654696646967469684696946970469714697246973469744697546976469774697846979469804698146982469834698446985469864698746988469894699046991469924699346994469954699646997469984699947000470014700247003470044700547006470074700847009470104701147012470134701447015470164701747018470194702047021470224702347024470254702647027470284702947030470314703247033470344703547036470374703847039470404704147042470434704447045470464704747048470494705047051470524705347054470554705647057470584705947060470614706247063470644706547066470674706847069470704707147072470734707447075470764707747078470794708047081470824708347084470854708647087470884708947090470914709247093470944709547096470974709847099471004710147102471034710447105471064710747108471094711047111471124711347114471154711647117471184711947120471214712247123471244712547126471274712847129471304713147132471334713447135471364713747138471394714047141471424714347144471454714647147471484714947150471514715247153471544715547156471574715847159471604716147162471634716447165471664716747168471694717047171471724717347174471754717647177471784717947180471814718247183471844718547186471874718847189471904719147192471934719447195471964719747198471994720047201472024720347204472054720647207472084720947210472114721247213472144721547216472174721847219472204722147222472234722447225472264722747228472294723047231472324723347234472354723647237472384723947240472414724247243472444724547246472474724847249472504725147252472534725447255472564725747258472594726047261472624726347264472654726647267472684726947270472714727247273472744727547276472774727847279472804728147282472834728447285472864728747288472894729047291472924729347294472954729647297472984729947300473014730247303473044730547306473074730847309473104731147312473134731447315473164731747318473194732047321473224732347324473254732647327473284732947330473314733247333473344733547336473374733847339473404734147342473434734447345473464734747348473494735047351473524735347354473554735647357473584735947360473614736247363473644736547366473674736847369473704737147372473734737447375473764737747378473794738047381473824738347384473854738647387473884738947390473914739247393473944739547396473974739847399474004740147402474034740447405474064740747408474094741047411474124741347414474154741647417474184741947420474214742247423474244742547426474274742847429474304743147432474334743447435474364743747438474394744047441474424744347444474454744647447474484744947450474514745247453474544745547456474574745847459474604746147462474634746447465474664746747468474694747047471474724747347474474754747647477474784747947480474814748247483474844748547486474874748847489474904749147492474934749447495474964749747498474994750047501475024750347504475054750647507475084750947510475114751247513475144751547516475174751847519475204752147522475234752447525475264752747528475294753047531475324753347534475354753647537475384753947540475414754247543475444754547546475474754847549475504755147552475534755447555475564755747558475594756047561475624756347564475654756647567475684756947570475714757247573475744757547576475774757847579475804758147582475834758447585475864758747588475894759047591475924759347594475954759647597475984759947600476014760247603476044760547606476074760847609476104761147612476134761447615476164761747618476194762047621476224762347624476254762647627476284762947630476314763247633476344763547636476374763847639476404764147642476434764447645476464764747648476494765047651476524765347654476554765647657476584765947660476614766247663476644766547666476674766847669476704767147672476734767447675476764767747678476794768047681476824768347684476854768647687476884768947690476914769247693476944769547696476974769847699477004770147702477034770447705477064770747708477094771047711477124771347714477154771647717477184771947720477214772247723477244772547726477274772847729477304773147732477334773447735477364773747738477394774047741477424774347744477454774647747477484774947750477514775247753477544775547756477574775847759477604776147762477634776447765477664776747768477694777047771477724777347774477754777647777477784777947780477814778247783477844778547786477874778847789477904779147792477934779447795477964779747798477994780047801478024780347804478054780647807478084780947810478114781247813478144781547816478174781847819478204782147822478234782447825478264782747828478294783047831478324783347834478354783647837478384783947840478414784247843478444784547846478474784847849478504785147852478534785447855478564785747858478594786047861478624786347864478654786647867478684786947870478714787247873478744787547876478774787847879478804788147882478834788447885478864788747888478894789047891478924789347894478954789647897478984789947900479014790247903479044790547906479074790847909479104791147912479134791447915479164791747918479194792047921479224792347924479254792647927479284792947930479314793247933479344793547936479374793847939479404794147942479434794447945479464794747948479494795047951479524795347954479554795647957479584795947960479614796247963479644796547966479674796847969479704797147972479734797447975479764797747978479794798047981479824798347984479854798647987479884798947990479914799247993479944799547996479974799847999480004800148002480034800448005480064800748008480094801048011480124801348014480154801648017480184801948020480214802248023480244802548026480274802848029480304803148032480334803448035480364803748038480394804048041480424804348044480454804648047480484804948050480514805248053480544805548056480574805848059480604806148062480634806448065480664806748068480694807048071480724807348074480754807648077480784807948080480814808248083480844808548086480874808848089480904809148092480934809448095480964809748098480994810048101481024810348104481054810648107481084810948110481114811248113481144811548116481174811848119481204812148122481234812448125481264812748128481294813048131481324813348134481354813648137481384813948140481414814248143481444814548146481474814848149481504815148152481534815448155481564815748158481594816048161481624816348164481654816648167481684816948170481714817248173481744817548176481774817848179481804818148182481834818448185481864818748188481894819048191481924819348194481954819648197481984819948200482014820248203482044820548206482074820848209482104821148212482134821448215482164821748218482194822048221482224822348224482254822648227482284822948230482314823248233482344823548236482374823848239482404824148242482434824448245482464824748248482494825048251482524825348254482554825648257482584825948260482614826248263482644826548266482674826848269482704827148272482734827448275482764827748278482794828048281482824828348284482854828648287482884828948290482914829248293482944829548296482974829848299483004830148302483034830448305483064830748308483094831048311483124831348314483154831648317483184831948320483214832248323483244832548326483274832848329483304833148332483334833448335483364833748338483394834048341483424834348344483454834648347483484834948350483514835248353483544835548356483574835848359483604836148362483634836448365483664836748368483694837048371483724837348374483754837648377483784837948380483814838248383483844838548386483874838848389483904839148392483934839448395483964839748398483994840048401484024840348404484054840648407484084840948410484114841248413484144841548416484174841848419484204842148422484234842448425484264842748428484294843048431484324843348434484354843648437484384843948440484414844248443484444844548446484474844848449484504845148452484534845448455484564845748458484594846048461484624846348464484654846648467484684846948470484714847248473484744847548476484774847848479484804848148482484834848448485484864848748488484894849048491484924849348494484954849648497484984849948500485014850248503485044850548506485074850848509485104851148512485134851448515485164851748518485194852048521485224852348524485254852648527485284852948530485314853248533485344853548536485374853848539485404854148542485434854448545485464854748548485494855048551485524855348554485554855648557485584855948560485614856248563485644856548566485674856848569485704857148572485734857448575485764857748578485794858048581485824858348584485854858648587485884858948590485914859248593485944859548596485974859848599486004860148602486034860448605486064860748608486094861048611486124861348614486154861648617486184861948620486214862248623486244862548626486274862848629486304863148632486334863448635486364863748638486394864048641486424864348644486454864648647486484864948650486514865248653486544865548656486574865848659486604866148662486634866448665486664866748668486694867048671486724867348674486754867648677486784867948680486814868248683486844868548686486874868848689486904869148692486934869448695486964869748698486994870048701487024870348704487054870648707487084870948710487114871248713487144871548716487174871848719487204872148722487234872448725487264872748728487294873048731487324873348734487354873648737487384873948740487414874248743487444874548746487474874848749487504875148752487534875448755487564875748758487594876048761487624876348764487654876648767487684876948770487714877248773487744877548776487774877848779487804878148782487834878448785487864878748788487894879048791487924879348794487954879648797487984879948800488014880248803488044880548806488074880848809488104881148812488134881448815488164881748818488194882048821488224882348824488254882648827488284882948830488314883248833488344883548836488374883848839488404884148842488434884448845488464884748848488494885048851488524885348854488554885648857488584885948860488614886248863488644886548866488674886848869488704887148872488734887448875488764887748878488794888048881488824888348884488854888648887488884888948890488914889248893488944889548896488974889848899489004890148902489034890448905489064890748908489094891048911489124891348914489154891648917489184891948920489214892248923489244892548926489274892848929489304893148932489334893448935489364893748938489394894048941489424894348944489454894648947489484894948950489514895248953489544895548956489574895848959489604896148962489634896448965489664896748968489694897048971489724897348974489754897648977489784897948980489814898248983489844898548986489874898848989489904899148992489934899448995489964899748998489994900049001490024900349004490054900649007490084900949010490114901249013490144901549016490174901849019490204902149022490234902449025490264902749028490294903049031490324903349034490354903649037490384903949040490414904249043490444904549046490474904849049490504905149052490534905449055490564905749058490594906049061490624906349064490654906649067490684906949070490714907249073490744907549076490774907849079490804908149082490834908449085490864908749088490894909049091490924909349094490954909649097490984909949100491014910249103491044910549106491074910849109491104911149112491134911449115491164911749118491194912049121491224912349124491254912649127491284912949130491314913249133491344913549136491374913849139491404914149142491434914449145491464914749148491494915049151491524915349154491554915649157491584915949160491614916249163491644916549166491674916849169491704917149172491734917449175491764917749178491794918049181491824918349184491854918649187491884918949190491914919249193491944919549196491974919849199492004920149202492034920449205492064920749208492094921049211492124921349214492154921649217492184921949220492214922249223492244922549226492274922849229492304923149232492334923449235492364923749238492394924049241492424924349244492454924649247492484924949250492514925249253492544925549256492574925849259492604926149262492634926449265492664926749268492694927049271492724927349274492754927649277492784927949280492814928249283492844928549286492874928849289492904929149292492934929449295492964929749298492994930049301493024930349304493054930649307493084930949310493114931249313493144931549316493174931849319493204932149322493234932449325493264932749328493294933049331493324933349334493354933649337493384933949340493414934249343493444934549346493474934849349493504935149352493534935449355493564935749358493594936049361493624936349364493654936649367493684936949370493714937249373493744937549376493774937849379493804938149382493834938449385493864938749388493894939049391493924939349394493954939649397493984939949400494014940249403494044940549406494074940849409494104941149412494134941449415494164941749418494194942049421494224942349424494254942649427494284942949430494314943249433494344943549436494374943849439494404944149442494434944449445494464944749448494494945049451494524945349454494554945649457494584945949460494614946249463494644946549466494674946849469494704947149472494734947449475494764947749478494794948049481494824948349484494854948649487494884948949490494914949249493494944949549496494974949849499495004950149502495034950449505495064950749508495094951049511495124951349514495154951649517495184951949520495214952249523495244952549526495274952849529495304953149532495334953449535495364953749538495394954049541495424954349544495454954649547495484954949550495514955249553495544955549556495574955849559495604956149562495634956449565495664956749568495694957049571495724957349574495754957649577495784957949580495814958249583495844958549586495874958849589495904959149592495934959449595495964959749598495994960049601496024960349604496054960649607496084960949610496114961249613496144961549616496174961849619496204962149622496234962449625496264962749628496294963049631496324963349634496354963649637496384963949640496414964249643496444964549646496474964849649496504965149652496534965449655496564965749658496594966049661496624966349664496654966649667496684966949670496714967249673496744967549676496774967849679496804968149682496834968449685496864968749688496894969049691496924969349694496954969649697496984969949700497014970249703497044970549706497074970849709497104971149712497134971449715497164971749718497194972049721497224972349724497254972649727497284972949730497314973249733497344973549736497374973849739497404974149742497434974449745497464974749748497494975049751497524975349754497554975649757497584975949760497614976249763497644976549766497674976849769497704977149772497734977449775497764977749778497794978049781497824978349784497854978649787497884978949790497914979249793497944979549796497974979849799498004980149802498034980449805498064980749808498094981049811498124981349814498154981649817498184981949820498214982249823498244982549826498274982849829498304983149832498334983449835498364983749838498394984049841498424984349844498454984649847498484984949850498514985249853498544985549856498574985849859498604986149862498634986449865498664986749868498694987049871498724987349874498754987649877498784987949880498814988249883498844988549886498874988849889498904989149892498934989449895498964989749898498994990049901499024990349904499054990649907499084990949910499114991249913499144991549916499174991849919499204992149922499234992449925499264992749928499294993049931499324993349934499354993649937499384993949940499414994249943499444994549946499474994849949499504995149952499534995449955499564995749958499594996049961499624996349964499654996649967499684996949970499714997249973499744997549976499774997849979499804998149982499834998449985499864998749988499894999049991499924999349994499954999649997499984999950000500015000250003500045000550006500075000850009500105001150012500135001450015500165001750018500195002050021500225002350024500255002650027500285002950030500315003250033500345003550036500375003850039500405004150042500435004450045500465004750048500495005050051500525005350054500555005650057500585005950060500615006250063500645006550066500675006850069500705007150072500735007450075500765007750078500795008050081500825008350084500855008650087500885008950090500915009250093500945009550096500975009850099501005010150102501035010450105501065010750108501095011050111501125011350114501155011650117501185011950120501215012250123501245012550126501275012850129501305013150132501335013450135501365013750138501395014050141501425014350144501455014650147501485014950150501515015250153501545015550156501575015850159501605016150162501635016450165501665016750168501695017050171501725017350174501755017650177501785017950180501815018250183501845018550186501875018850189501905019150192501935019450195501965019750198501995020050201502025020350204502055020650207502085020950210502115021250213502145021550216502175021850219502205022150222502235022450225502265022750228502295023050231502325023350234502355023650237502385023950240502415024250243502445024550246502475024850249502505025150252502535025450255502565025750258502595026050261502625026350264502655026650267502685026950270502715027250273502745027550276502775027850279502805028150282502835028450285502865028750288502895029050291502925029350294502955029650297502985029950300503015030250303503045030550306503075030850309503105031150312503135031450315503165031750318503195032050321503225032350324503255032650327503285032950330503315033250333503345033550336503375033850339503405034150342503435034450345503465034750348503495035050351503525035350354503555035650357503585035950360503615036250363503645036550366503675036850369503705037150372503735037450375503765037750378503795038050381503825038350384503855038650387503885038950390503915039250393503945039550396503975039850399504005040150402504035040450405504065040750408504095041050411504125041350414504155041650417504185041950420504215042250423504245042550426504275042850429504305043150432504335043450435504365043750438504395044050441504425044350444504455044650447504485044950450504515045250453504545045550456504575045850459504605046150462504635046450465504665046750468504695047050471504725047350474504755047650477504785047950480504815048250483504845048550486504875048850489504905049150492504935049450495504965049750498504995050050501505025050350504505055050650507505085050950510505115051250513505145051550516505175051850519505205052150522505235052450525505265052750528505295053050531505325053350534505355053650537505385053950540505415054250543505445054550546505475054850549505505055150552505535055450555505565055750558505595056050561505625056350564505655056650567505685056950570505715057250573505745057550576505775057850579505805058150582505835058450585505865058750588505895059050591505925059350594505955059650597505985059950600506015060250603506045060550606506075060850609506105061150612506135061450615506165061750618506195062050621506225062350624506255062650627506285062950630506315063250633506345063550636506375063850639506405064150642506435064450645506465064750648506495065050651506525065350654506555065650657506585065950660506615066250663506645066550666506675066850669506705067150672506735067450675506765067750678506795068050681506825068350684506855068650687506885068950690506915069250693506945069550696506975069850699507005070150702507035070450705507065070750708507095071050711507125071350714507155071650717507185071950720507215072250723507245072550726507275072850729507305073150732507335073450735507365073750738507395074050741507425074350744507455074650747507485074950750507515075250753507545075550756507575075850759507605076150762507635076450765507665076750768507695077050771507725077350774507755077650777507785077950780507815078250783507845078550786507875078850789507905079150792507935079450795507965079750798507995080050801508025080350804508055080650807508085080950810508115081250813508145081550816508175081850819508205082150822508235082450825508265082750828508295083050831508325083350834508355083650837508385083950840508415084250843508445084550846508475084850849508505085150852508535085450855508565085750858508595086050861508625086350864508655086650867508685086950870508715087250873508745087550876508775087850879508805088150882508835088450885508865088750888508895089050891508925089350894508955089650897508985089950900509015090250903509045090550906509075090850909509105091150912509135091450915509165091750918509195092050921509225092350924509255092650927509285092950930509315093250933509345093550936509375093850939509405094150942509435094450945509465094750948509495095050951509525095350954509555095650957509585095950960509615096250963509645096550966509675096850969509705097150972509735097450975509765097750978509795098050981509825098350984509855098650987509885098950990509915099250993509945099550996509975099850999510005100151002510035100451005510065100751008510095101051011510125101351014510155101651017510185101951020510215102251023510245102551026510275102851029510305103151032510335103451035510365103751038510395104051041510425104351044510455104651047510485104951050510515105251053510545105551056510575105851059510605106151062510635106451065510665106751068510695107051071510725107351074510755107651077510785107951080510815108251083510845108551086510875108851089510905109151092510935109451095510965109751098510995110051101511025110351104511055110651107511085110951110511115111251113511145111551116511175111851119511205112151122511235112451125511265112751128511295113051131511325113351134511355113651137511385113951140511415114251143511445114551146511475114851149511505115151152511535115451155511565115751158511595116051161511625116351164511655116651167511685116951170511715117251173511745117551176511775117851179511805118151182511835118451185511865118751188511895119051191511925119351194511955119651197511985119951200512015120251203512045120551206512075120851209512105121151212512135121451215512165121751218512195122051221512225122351224512255122651227512285122951230512315123251233512345123551236512375123851239512405124151242512435124451245512465124751248512495125051251512525125351254512555125651257512585125951260512615126251263512645126551266512675126851269512705127151272512735127451275512765127751278512795128051281512825128351284512855128651287512885128951290512915129251293512945129551296512975129851299513005130151302513035130451305513065130751308513095131051311513125131351314513155131651317513185131951320513215132251323513245132551326513275132851329513305133151332513335133451335513365133751338513395134051341513425134351344513455134651347513485134951350513515135251353513545135551356513575135851359513605136151362513635136451365513665136751368513695137051371513725137351374513755137651377513785137951380513815138251383513845138551386513875138851389513905139151392513935139451395513965139751398513995140051401514025140351404514055140651407514085140951410514115141251413514145141551416514175141851419514205142151422514235142451425514265142751428514295143051431514325143351434514355143651437514385143951440514415144251443514445144551446514475144851449514505145151452514535145451455514565145751458514595146051461514625146351464514655146651467514685146951470514715147251473514745147551476514775147851479514805148151482514835148451485514865148751488514895149051491514925149351494514955149651497514985149951500515015150251503515045150551506515075150851509515105151151512515135151451515515165151751518515195152051521515225152351524515255152651527515285152951530515315153251533515345153551536515375153851539515405154151542515435154451545515465154751548515495155051551515525155351554515555155651557515585155951560515615156251563515645156551566515675156851569515705157151572515735157451575515765157751578515795158051581515825158351584515855158651587515885158951590515915159251593515945159551596515975159851599516005160151602516035160451605516065160751608516095161051611516125161351614516155161651617516185161951620516215162251623516245162551626516275162851629516305163151632516335163451635516365163751638516395164051641516425164351644516455164651647516485164951650516515165251653516545165551656516575165851659516605166151662516635166451665516665166751668516695167051671516725167351674516755167651677516785167951680516815168251683516845168551686516875168851689516905169151692516935169451695516965169751698516995170051701517025170351704517055170651707517085170951710517115171251713517145171551716517175171851719517205172151722517235172451725517265172751728517295173051731517325173351734517355173651737517385173951740517415174251743517445174551746517475174851749517505175151752517535175451755517565175751758517595176051761517625176351764517655176651767517685176951770517715177251773517745177551776517775177851779517805178151782517835178451785517865178751788517895179051791517925179351794517955179651797517985179951800518015180251803518045180551806518075180851809518105181151812518135181451815518165181751818518195182051821518225182351824518255182651827518285182951830518315183251833518345183551836518375183851839518405184151842518435184451845518465184751848518495185051851518525185351854518555185651857518585185951860518615186251863518645186551866518675186851869518705187151872518735187451875518765187751878518795188051881518825188351884518855188651887518885188951890518915189251893518945189551896518975189851899519005190151902519035190451905519065190751908519095191051911519125191351914519155191651917519185191951920519215192251923519245192551926519275192851929519305193151932519335193451935519365193751938519395194051941519425194351944519455194651947519485194951950519515195251953519545195551956519575195851959519605196151962519635196451965519665196751968519695197051971519725197351974519755197651977519785197951980519815198251983519845198551986519875198851989519905199151992519935199451995519965199751998519995200052001520025200352004520055200652007520085200952010520115201252013520145201552016520175201852019520205202152022520235202452025520265202752028520295203052031520325203352034520355203652037520385203952040520415204252043520445204552046520475204852049520505205152052520535205452055520565205752058520595206052061520625206352064520655206652067520685206952070520715207252073520745207552076520775207852079520805208152082520835208452085520865208752088520895209052091520925209352094520955209652097520985209952100521015210252103521045210552106521075210852109521105211152112521135211452115521165211752118521195212052121521225212352124521255212652127521285212952130521315213252133521345213552136521375213852139521405214152142521435214452145521465214752148521495215052151521525215352154521555215652157521585215952160521615216252163521645216552166521675216852169521705217152172521735217452175521765217752178521795218052181521825218352184521855218652187521885218952190521915219252193521945219552196521975219852199522005220152202522035220452205522065220752208522095221052211522125221352214522155221652217522185221952220522215222252223522245222552226522275222852229522305223152232522335223452235522365223752238522395224052241522425224352244522455224652247522485224952250522515225252253522545225552256522575225852259522605226152262522635226452265522665226752268522695227052271522725227352274522755227652277522785227952280522815228252283522845228552286522875228852289522905229152292522935229452295522965229752298522995230052301523025230352304523055230652307523085230952310523115231252313523145231552316523175231852319523205232152322523235232452325523265232752328523295233052331523325233352334523355233652337523385233952340523415234252343523445234552346523475234852349523505235152352523535235452355523565235752358523595236052361523625236352364523655236652367523685236952370523715237252373523745237552376523775237852379523805238152382523835238452385523865238752388523895239052391523925239352394523955239652397523985239952400524015240252403524045240552406524075240852409524105241152412524135241452415524165241752418524195242052421524225242352424524255242652427524285242952430524315243252433524345243552436524375243852439524405244152442524435244452445524465244752448524495245052451524525245352454524555245652457524585245952460524615246252463524645246552466524675246852469524705247152472524735247452475524765247752478524795248052481524825248352484524855248652487524885248952490524915249252493524945249552496524975249852499525005250152502525035250452505525065250752508525095251052511525125251352514525155251652517525185251952520525215252252523525245252552526525275252852529525305253152532525335253452535525365253752538525395254052541525425254352544525455254652547525485254952550525515255252553525545255552556525575255852559525605256152562525635256452565525665256752568525695257052571525725257352574525755257652577525785257952580525815258252583525845258552586525875258852589525905259152592525935259452595525965259752598525995260052601526025260352604526055260652607526085260952610526115261252613526145261552616526175261852619526205262152622526235262452625526265262752628526295263052631526325263352634526355263652637526385263952640526415264252643526445264552646526475264852649526505265152652526535265452655526565265752658526595266052661526625266352664526655266652667526685266952670526715267252673526745267552676526775267852679526805268152682526835268452685526865268752688526895269052691526925269352694526955269652697526985269952700527015270252703527045270552706527075270852709527105271152712527135271452715527165271752718527195272052721527225272352724527255272652727527285272952730527315273252733527345273552736527375273852739527405274152742527435274452745527465274752748527495275052751527525275352754527555275652757527585275952760527615276252763527645276552766527675276852769527705277152772527735277452775527765277752778527795278052781527825278352784527855278652787527885278952790527915279252793527945279552796527975279852799528005280152802528035280452805528065280752808528095281052811528125281352814528155281652817528185281952820528215282252823528245282552826528275282852829528305283152832528335283452835528365283752838528395284052841528425284352844528455284652847528485284952850528515285252853528545285552856528575285852859528605286152862528635286452865528665286752868528695287052871528725287352874528755287652877528785287952880528815288252883528845288552886528875288852889528905289152892528935289452895528965289752898528995290052901529025290352904529055290652907529085290952910529115291252913529145291552916529175291852919529205292152922529235292452925529265292752928529295293052931529325293352934529355293652937529385293952940529415294252943529445294552946529475294852949529505295152952529535295452955529565295752958529595296052961529625296352964529655296652967529685296952970529715297252973529745297552976529775297852979529805298152982529835298452985529865298752988529895299052991529925299352994529955299652997529985299953000530015300253003530045300553006530075300853009530105301153012530135301453015530165301753018530195302053021530225302353024530255302653027530285302953030530315303253033530345303553036530375303853039530405304153042530435304453045530465304753048530495305053051530525305353054530555305653057530585305953060530615306253063530645306553066530675306853069530705307153072530735307453075530765307753078530795308053081530825308353084530855308653087530885308953090530915309253093530945309553096530975309853099531005310153102531035310453105531065310753108531095311053111531125311353114531155311653117531185311953120531215312253123531245312553126531275312853129531305313153132531335313453135531365313753138531395314053141531425314353144531455314653147531485314953150531515315253153531545315553156531575315853159531605316153162531635316453165531665316753168531695317053171531725317353174531755317653177531785317953180531815318253183531845318553186531875318853189531905319153192531935319453195531965319753198531995320053201532025320353204532055320653207532085320953210532115321253213532145321553216532175321853219532205322153222532235322453225532265322753228532295323053231532325323353234532355323653237532385323953240532415324253243532445324553246532475324853249532505325153252532535325453255532565325753258532595326053261532625326353264532655326653267532685326953270532715327253273532745327553276532775327853279532805328153282532835328453285532865328753288532895329053291532925329353294532955329653297532985329953300533015330253303533045330553306533075330853309533105331153312533135331453315533165331753318533195332053321533225332353324533255332653327533285332953330533315333253333533345333553336533375333853339533405334153342533435334453345533465334753348533495335053351533525335353354533555335653357533585335953360533615336253363533645336553366533675336853369533705337153372533735337453375533765337753378533795338053381533825338353384533855338653387533885338953390533915339253393533945339553396533975339853399534005340153402534035340453405534065340753408534095341053411534125341353414534155341653417534185341953420534215342253423534245342553426534275342853429534305343153432534335343453435534365343753438534395344053441534425344353444534455344653447534485344953450534515345253453534545345553456534575345853459534605346153462534635346453465534665346753468534695347053471534725347353474534755347653477534785347953480534815348253483534845348553486534875348853489534905349153492534935349453495534965349753498534995350053501535025350353504535055350653507535085350953510535115351253513535145351553516535175351853519535205352153522535235352453525535265352753528535295353053531535325353353534535355353653537535385353953540535415354253543535445354553546535475354853549535505355153552535535355453555535565355753558535595356053561535625356353564535655356653567535685356953570535715357253573535745357553576535775357853579535805358153582535835358453585535865358753588535895359053591535925359353594535955359653597535985359953600536015360253603536045360553606536075360853609536105361153612536135361453615536165361753618536195362053621536225362353624536255362653627536285362953630536315363253633536345363553636536375363853639536405364153642536435364453645536465364753648536495365053651536525365353654536555365653657536585365953660536615366253663536645366553666536675366853669536705367153672536735367453675536765367753678536795368053681536825368353684536855368653687536885368953690536915369253693536945369553696536975369853699537005370153702537035370453705537065370753708537095371053711537125371353714537155371653717537185371953720537215372253723537245372553726537275372853729537305373153732537335373453735537365373753738537395374053741537425374353744537455374653747537485374953750537515375253753537545375553756537575375853759537605376153762537635376453765537665376753768537695377053771537725377353774537755377653777537785377953780537815378253783537845378553786537875378853789537905379153792537935379453795537965379753798537995380053801538025380353804538055380653807538085380953810538115381253813538145381553816538175381853819538205382153822538235382453825538265382753828538295383053831538325383353834538355383653837538385383953840538415384253843538445384553846538475384853849538505385153852538535385453855538565385753858538595386053861538625386353864538655386653867538685386953870538715387253873538745387553876538775387853879538805388153882538835388453885538865388753888538895389053891538925389353894538955389653897538985389953900539015390253903539045390553906539075390853909539105391153912539135391453915539165391753918539195392053921539225392353924539255392653927539285392953930539315393253933539345393553936539375393853939539405394153942539435394453945539465394753948539495395053951539525395353954539555395653957539585395953960539615396253963539645396553966539675396853969539705397153972539735397453975539765397753978539795398053981539825398353984539855398653987539885398953990539915399253993539945399553996539975399853999540005400154002540035400454005540065400754008540095401054011540125401354014540155401654017540185401954020540215402254023540245402554026540275402854029540305403154032540335403454035540365403754038540395404054041540425404354044540455404654047540485404954050540515405254053540545405554056540575405854059540605406154062540635406454065540665406754068540695407054071540725407354074540755407654077540785407954080540815408254083540845408554086540875408854089540905409154092540935409454095540965409754098540995410054101541025410354104541055410654107541085410954110541115411254113541145411554116541175411854119541205412154122541235412454125541265412754128541295413054131541325413354134541355413654137541385413954140541415414254143541445414554146541475414854149541505415154152541535415454155541565415754158541595416054161541625416354164541655416654167541685416954170541715417254173541745417554176541775417854179541805418154182541835418454185541865418754188541895419054191541925419354194541955419654197541985419954200542015420254203542045420554206542075420854209542105421154212542135421454215542165421754218542195422054221542225422354224542255422654227542285422954230542315423254233542345423554236542375423854239542405424154242542435424454245542465424754248542495425054251542525425354254542555425654257542585425954260542615426254263542645426554266542675426854269542705427154272542735427454275542765427754278542795428054281542825428354284542855428654287542885428954290542915429254293542945429554296542975429854299543005430154302543035430454305543065430754308543095431054311543125431354314543155431654317543185431954320543215432254323543245432554326543275432854329543305433154332543335433454335543365433754338543395434054341543425434354344543455434654347543485434954350543515435254353543545435554356543575435854359543605436154362543635436454365543665436754368543695437054371543725437354374543755437654377543785437954380543815438254383543845438554386543875438854389543905439154392543935439454395543965439754398543995440054401544025440354404544055440654407544085440954410544115441254413544145441554416544175441854419544205442154422544235442454425544265442754428544295443054431544325443354434544355443654437544385443954440544415444254443544445444554446544475444854449544505445154452544535445454455544565445754458544595446054461544625446354464544655446654467544685446954470544715447254473544745447554476544775447854479544805448154482544835448454485544865448754488544895449054491544925449354494544955449654497544985449954500545015450254503545045450554506545075450854509545105451154512545135451454515545165451754518545195452054521545225452354524545255452654527545285452954530545315453254533545345453554536545375453854539545405454154542545435454454545545465454754548545495455054551545525455354554545555455654557545585455954560545615456254563545645456554566545675456854569545705457154572545735457454575545765457754578545795458054581545825458354584545855458654587545885458954590545915459254593545945459554596545975459854599546005460154602546035460454605546065460754608546095461054611546125461354614546155461654617546185461954620546215462254623546245462554626546275462854629546305463154632546335463454635546365463754638546395464054641546425464354644546455464654647546485464954650546515465254653546545465554656546575465854659546605466154662546635466454665546665466754668546695467054671546725467354674546755467654677546785467954680546815468254683546845468554686546875468854689546905469154692546935469454695546965469754698546995470054701547025470354704547055470654707547085470954710547115471254713547145471554716547175471854719547205472154722547235472454725547265472754728547295473054731547325473354734547355473654737547385473954740547415474254743547445474554746547475474854749547505475154752547535475454755547565475754758547595476054761547625476354764547655476654767547685476954770547715477254773547745477554776547775477854779547805478154782547835478454785547865478754788547895479054791547925479354794547955479654797547985479954800548015480254803548045480554806548075480854809548105481154812548135481454815548165481754818548195482054821548225482354824548255482654827548285482954830548315483254833548345483554836548375483854839548405484154842548435484454845548465484754848548495485054851548525485354854548555485654857548585485954860548615486254863548645486554866548675486854869548705487154872548735487454875548765487754878548795488054881548825488354884548855488654887548885488954890548915489254893548945489554896548975489854899549005490154902549035490454905549065490754908549095491054911549125491354914549155491654917549185491954920549215492254923549245492554926549275492854929549305493154932549335493454935549365493754938549395494054941549425494354944549455494654947549485494954950549515495254953549545495554956549575495854959549605496154962549635496454965549665496754968549695497054971549725497354974549755497654977549785497954980549815498254983549845498554986549875498854989549905499154992549935499454995549965499754998549995500055001550025500355004550055500655007550085500955010550115501255013550145501555016550175501855019550205502155022550235502455025550265502755028550295503055031550325503355034550355503655037550385503955040550415504255043550445504555046550475504855049550505505155052550535505455055550565505755058550595506055061550625506355064550655506655067550685506955070550715507255073550745507555076550775507855079550805508155082550835508455085550865508755088550895509055091550925509355094550955509655097550985509955100551015510255103551045510555106551075510855109551105511155112551135511455115551165511755118551195512055121551225512355124551255512655127551285512955130551315513255133551345513555136551375513855139551405514155142551435514455145551465514755148551495515055151551525515355154551555515655157551585515955160551615516255163551645516555166551675516855169551705517155172551735517455175551765517755178551795518055181551825518355184551855518655187551885518955190551915519255193551945519555196551975519855199552005520155202552035520455205552065520755208552095521055211552125521355214552155521655217552185521955220552215522255223552245522555226552275522855229552305523155232552335523455235552365523755238552395524055241552425524355244552455524655247552485524955250552515525255253552545525555256552575525855259552605526155262552635526455265552665526755268552695527055271552725527355274552755527655277552785527955280552815528255283552845528555286552875528855289552905529155292552935529455295552965529755298552995530055301553025530355304553055530655307553085530955310553115531255313553145531555316553175531855319553205532155322553235532455325553265532755328553295533055331553325533355334553355533655337553385533955340553415534255343553445534555346553475534855349553505535155352553535535455355553565535755358553595536055361553625536355364553655536655367553685536955370553715537255373553745537555376553775537855379553805538155382553835538455385553865538755388553895539055391553925539355394553955539655397553985539955400554015540255403554045540555406554075540855409554105541155412554135541455415554165541755418554195542055421554225542355424554255542655427554285542955430554315543255433554345543555436554375543855439554405544155442554435544455445554465544755448554495545055451554525545355454554555545655457554585545955460554615546255463554645546555466554675546855469554705547155472554735547455475554765547755478554795548055481554825548355484554855548655487554885548955490554915549255493554945549555496554975549855499555005550155502555035550455505555065550755508555095551055511555125551355514555155551655517555185551955520555215552255523555245552555526555275552855529555305553155532555335553455535555365553755538555395554055541555425554355544555455554655547555485554955550555515555255553555545555555556555575555855559555605556155562555635556455565555665556755568555695557055571555725557355574555755557655577555785557955580555815558255583555845558555586555875558855589555905559155592555935559455595555965559755598555995560055601556025560355604556055560655607556085560955610556115561255613556145561555616556175561855619556205562155622556235562455625556265562755628556295563055631556325563355634556355563655637556385563955640556415564255643556445564555646556475564855649556505565155652556535565455655556565565755658556595566055661556625566355664556655566655667556685566955670556715567255673556745567555676556775567855679556805568155682556835568455685556865568755688556895569055691556925569355694556955569655697556985569955700557015570255703557045570555706557075570855709557105571155712557135571455715557165571755718557195572055721557225572355724557255572655727557285572955730557315573255733557345573555736557375573855739557405574155742557435574455745557465574755748557495575055751557525575355754557555575655757557585575955760557615576255763557645576555766557675576855769557705577155772557735577455775557765577755778557795578055781557825578355784557855578655787557885578955790557915579255793557945579555796557975579855799558005580155802558035580455805558065580755808558095581055811558125581355814558155581655817558185581955820558215582255823558245582555826558275582855829558305583155832558335583455835558365583755838558395584055841558425584355844558455584655847558485584955850558515585255853558545585555856558575585855859558605586155862558635586455865558665586755868558695587055871558725587355874558755587655877558785587955880558815588255883558845588555886558875588855889558905589155892558935589455895558965589755898558995590055901559025590355904559055590655907559085590955910559115591255913559145591555916559175591855919559205592155922559235592455925559265592755928559295593055931559325593355934559355593655937559385593955940559415594255943559445594555946559475594855949559505595155952559535595455955559565595755958559595596055961559625596355964559655596655967559685596955970559715597255973559745597555976559775597855979559805598155982559835598455985559865598755988559895599055991559925599355994559955599655997559985599956000560015600256003560045600556006560075600856009560105601156012560135601456015560165601756018560195602056021560225602356024560255602656027560285602956030560315603256033560345603556036560375603856039560405604156042560435604456045560465604756048560495605056051560525605356054560555605656057560585605956060560615606256063560645606556066560675606856069560705607156072560735607456075560765607756078560795608056081560825608356084560855608656087560885608956090560915609256093560945609556096560975609856099561005610156102561035610456105561065610756108561095611056111561125611356114561155611656117561185611956120561215612256123561245612556126561275612856129561305613156132561335613456135561365613756138561395614056141561425614356144561455614656147561485614956150561515615256153561545615556156561575615856159561605616156162561635616456165561665616756168561695617056171561725617356174561755617656177561785617956180561815618256183561845618556186561875618856189561905619156192561935619456195561965619756198561995620056201562025620356204562055620656207562085620956210562115621256213562145621556216562175621856219562205622156222562235622456225562265622756228562295623056231562325623356234562355623656237562385623956240562415624256243562445624556246562475624856249562505625156252562535625456255562565625756258562595626056261562625626356264562655626656267562685626956270562715627256273562745627556276562775627856279562805628156282562835628456285562865628756288562895629056291562925629356294562955629656297562985629956300563015630256303563045630556306563075630856309563105631156312563135631456315563165631756318563195632056321563225632356324563255632656327563285632956330563315633256333563345633556336563375633856339563405634156342563435634456345563465634756348563495635056351563525635356354563555635656357563585635956360563615636256363563645636556366563675636856369563705637156372563735637456375563765637756378563795638056381563825638356384563855638656387563885638956390563915639256393563945639556396563975639856399564005640156402564035640456405564065640756408564095641056411564125641356414564155641656417564185641956420564215642256423564245642556426564275642856429564305643156432564335643456435564365643756438564395644056441564425644356444564455644656447564485644956450564515645256453564545645556456564575645856459564605646156462564635646456465564665646756468564695647056471564725647356474564755647656477564785647956480564815648256483564845648556486564875648856489564905649156492564935649456495564965649756498564995650056501565025650356504565055650656507565085650956510565115651256513565145651556516565175651856519565205652156522565235652456525565265652756528565295653056531565325653356534565355653656537565385653956540565415654256543565445654556546565475654856549565505655156552565535655456555565565655756558565595656056561565625656356564565655656656567565685656956570565715657256573565745657556576565775657856579565805658156582565835658456585565865658756588565895659056591565925659356594565955659656597565985659956600566015660256603566045660556606566075660856609566105661156612566135661456615566165661756618566195662056621566225662356624566255662656627566285662956630566315663256633566345663556636566375663856639566405664156642566435664456645566465664756648566495665056651566525665356654566555665656657566585665956660566615666256663566645666556666566675666856669566705667156672566735667456675566765667756678566795668056681566825668356684566855668656687566885668956690566915669256693566945669556696566975669856699567005670156702567035670456705567065670756708567095671056711567125671356714567155671656717567185671956720567215672256723567245672556726567275672856729567305673156732567335673456735567365673756738567395674056741567425674356744567455674656747567485674956750567515675256753567545675556756567575675856759567605676156762567635676456765567665676756768567695677056771567725677356774567755677656777567785677956780567815678256783567845678556786567875678856789567905679156792567935679456795567965679756798567995680056801568025680356804568055680656807568085680956810568115681256813568145681556816568175681856819568205682156822568235682456825568265682756828568295683056831568325683356834568355683656837568385683956840568415684256843568445684556846568475684856849568505685156852568535685456855568565685756858568595686056861568625686356864568655686656867568685686956870568715687256873568745687556876568775687856879568805688156882568835688456885568865688756888568895689056891568925689356894568955689656897568985689956900569015690256903569045690556906569075690856909569105691156912569135691456915569165691756918569195692056921569225692356924569255692656927569285692956930569315693256933569345693556936569375693856939569405694156942569435694456945569465694756948569495695056951569525695356954569555695656957569585695956960569615696256963569645696556966569675696856969569705697156972569735697456975569765697756978569795698056981569825698356984569855698656987569885698956990569915699256993569945699556996569975699856999570005700157002570035700457005570065700757008570095701057011570125701357014570155701657017570185701957020570215702257023570245702557026570275702857029570305703157032570335703457035570365703757038570395704057041570425704357044570455704657047570485704957050570515705257053570545705557056570575705857059570605706157062570635706457065570665706757068570695707057071570725707357074570755707657077570785707957080570815708257083570845708557086570875708857089570905709157092570935709457095570965709757098570995710057101571025710357104571055710657107571085710957110571115711257113571145711557116571175711857119571205712157122571235712457125571265712757128571295713057131571325713357134571355713657137571385713957140571415714257143571445714557146571475714857149571505715157152571535715457155571565715757158571595716057161571625716357164571655716657167571685716957170571715717257173571745717557176571775717857179571805718157182571835718457185571865718757188571895719057191571925719357194571955719657197571985719957200572015720257203572045720557206572075720857209572105721157212572135721457215572165721757218572195722057221572225722357224572255722657227572285722957230572315723257233572345723557236572375723857239572405724157242572435724457245572465724757248572495725057251572525725357254572555725657257572585725957260572615726257263572645726557266572675726857269572705727157272572735727457275572765727757278572795728057281572825728357284572855728657287572885728957290572915729257293572945729557296572975729857299573005730157302573035730457305573065730757308573095731057311573125731357314573155731657317573185731957320573215732257323573245732557326573275732857329573305733157332573335733457335573365733757338573395734057341573425734357344573455734657347573485734957350573515735257353573545735557356573575735857359573605736157362573635736457365573665736757368573695737057371573725737357374573755737657377573785737957380573815738257383573845738557386573875738857389573905739157392573935739457395573965739757398573995740057401574025740357404574055740657407574085740957410574115741257413574145741557416574175741857419574205742157422574235742457425574265742757428574295743057431574325743357434574355743657437574385743957440574415744257443574445744557446574475744857449574505745157452574535745457455574565745757458574595746057461574625746357464574655746657467574685746957470574715747257473574745747557476574775747857479574805748157482574835748457485574865748757488574895749057491574925749357494574955749657497574985749957500575015750257503575045750557506575075750857509575105751157512575135751457515575165751757518575195752057521575225752357524575255752657527575285752957530575315753257533575345753557536575375753857539575405754157542575435754457545575465754757548575495755057551575525755357554575555755657557575585755957560575615756257563575645756557566575675756857569575705757157572575735757457575575765757757578575795758057581575825758357584575855758657587575885758957590575915759257593575945759557596575975759857599576005760157602576035760457605576065760757608576095761057611576125761357614576155761657617576185761957620576215762257623576245762557626576275762857629576305763157632576335763457635576365763757638576395764057641576425764357644576455764657647576485764957650576515765257653576545765557656576575765857659576605766157662576635766457665576665766757668576695767057671576725767357674576755767657677576785767957680576815768257683576845768557686576875768857689576905769157692576935769457695576965769757698576995770057701577025770357704577055770657707577085770957710577115771257713577145771557716577175771857719577205772157722577235772457725577265772757728577295773057731577325773357734577355773657737577385773957740577415774257743577445774557746577475774857749577505775157752577535775457755577565775757758577595776057761577625776357764577655776657767577685776957770577715777257773577745777557776577775777857779577805778157782577835778457785577865778757788577895779057791577925779357794577955779657797577985779957800578015780257803578045780557806578075780857809578105781157812578135781457815578165781757818578195782057821578225782357824578255782657827578285782957830578315783257833578345783557836578375783857839578405784157842578435784457845578465784757848578495785057851578525785357854578555785657857578585785957860578615786257863578645786557866578675786857869578705787157872578735787457875578765787757878578795788057881578825788357884578855788657887578885788957890578915789257893578945789557896578975789857899579005790157902579035790457905579065790757908579095791057911579125791357914579155791657917579185791957920579215792257923579245792557926579275792857929579305793157932579335793457935579365793757938579395794057941579425794357944579455794657947579485794957950579515795257953579545795557956579575795857959579605796157962579635796457965579665796757968579695797057971579725797357974579755797657977579785797957980579815798257983579845798557986579875798857989579905799157992579935799457995579965799757998579995800058001580025800358004580055800658007580085800958010580115801258013580145801558016580175801858019580205802158022580235802458025580265802758028580295803058031580325803358034580355803658037580385803958040580415804258043580445804558046580475804858049580505805158052580535805458055580565805758058580595806058061580625806358064580655806658067580685806958070580715807258073580745807558076580775807858079580805808158082580835808458085580865808758088580895809058091580925809358094580955809658097580985809958100581015810258103581045810558106581075810858109581105811158112581135811458115581165811758118581195812058121581225812358124581255812658127581285812958130581315813258133581345813558136581375813858139581405814158142581435814458145581465814758148581495815058151581525815358154581555815658157581585815958160581615816258163581645816558166581675816858169581705817158172581735817458175581765817758178581795818058181581825818358184581855818658187581885818958190581915819258193581945819558196581975819858199582005820158202582035820458205582065820758208582095821058211582125821358214582155821658217582185821958220582215822258223582245822558226582275822858229582305823158232582335823458235582365823758238582395824058241582425824358244582455824658247582485824958250582515825258253582545825558256582575825858259582605826158262582635826458265582665826758268582695827058271582725827358274582755827658277582785827958280582815828258283582845828558286582875828858289582905829158292582935829458295582965829758298582995830058301583025830358304583055830658307583085830958310583115831258313583145831558316583175831858319583205832158322583235832458325583265832758328583295833058331583325833358334583355833658337583385833958340583415834258343583445834558346583475834858349583505835158352583535835458355583565835758358583595836058361583625836358364583655836658367583685836958370583715837258373583745837558376583775837858379583805838158382583835838458385583865838758388583895839058391583925839358394583955839658397583985839958400584015840258403584045840558406584075840858409584105841158412584135841458415584165841758418584195842058421584225842358424584255842658427584285842958430584315843258433584345843558436584375843858439584405844158442584435844458445584465844758448584495845058451584525845358454584555845658457584585845958460584615846258463584645846558466584675846858469584705847158472584735847458475584765847758478584795848058481584825848358484584855848658487584885848958490584915849258493584945849558496584975849858499585005850158502585035850458505585065850758508585095851058511585125851358514585155851658517585185851958520585215852258523585245852558526585275852858529585305853158532585335853458535585365853758538585395854058541585425854358544585455854658547585485854958550585515855258553585545855558556585575855858559585605856158562585635856458565585665856758568585695857058571585725857358574585755857658577585785857958580585815858258583585845858558586585875858858589585905859158592585935859458595585965859758598585995860058601586025860358604586055860658607586085860958610586115861258613586145861558616586175861858619586205862158622586235862458625586265862758628586295863058631586325863358634586355863658637586385863958640586415864258643586445864558646586475864858649586505865158652586535865458655586565865758658586595866058661586625866358664586655866658667586685866958670586715867258673586745867558676586775867858679586805868158682586835868458685586865868758688586895869058691586925869358694586955869658697586985869958700587015870258703587045870558706587075870858709587105871158712587135871458715587165871758718587195872058721587225872358724587255872658727587285872958730587315873258733587345873558736587375873858739587405874158742587435874458745587465874758748587495875058751587525875358754587555875658757587585875958760587615876258763587645876558766587675876858769587705877158772587735877458775587765877758778587795878058781587825878358784587855878658787587885878958790587915879258793587945879558796587975879858799588005880158802588035880458805588065880758808588095881058811588125881358814588155881658817588185881958820588215882258823588245882558826588275882858829588305883158832588335883458835588365883758838588395884058841588425884358844588455884658847588485884958850588515885258853588545885558856588575885858859588605886158862588635886458865588665886758868588695887058871588725887358874588755887658877588785887958880588815888258883588845888558886588875888858889588905889158892588935889458895588965889758898588995890058901589025890358904589055890658907589085890958910589115891258913589145891558916589175891858919589205892158922589235892458925589265892758928589295893058931589325893358934589355893658937589385893958940589415894258943589445894558946589475894858949589505895158952589535895458955589565895758958589595896058961589625896358964589655896658967589685896958970589715897258973589745897558976589775897858979589805898158982589835898458985589865898758988589895899058991589925899358994589955899658997589985899959000590015900259003590045900559006590075900859009590105901159012590135901459015590165901759018590195902059021590225902359024590255902659027590285902959030590315903259033590345903559036590375903859039590405904159042590435904459045590465904759048590495905059051590525905359054590555905659057590585905959060590615906259063590645906559066590675906859069590705907159072590735907459075590765907759078590795908059081590825908359084590855908659087590885908959090590915909259093590945909559096590975909859099591005910159102591035910459105591065910759108591095911059111591125911359114591155911659117591185911959120591215912259123591245912559126591275912859129591305913159132591335913459135591365913759138591395914059141591425914359144591455914659147591485914959150591515915259153591545915559156591575915859159591605916159162591635916459165591665916759168591695917059171591725917359174591755917659177591785917959180591815918259183591845918559186591875918859189591905919159192591935919459195591965919759198591995920059201592025920359204592055920659207592085920959210592115921259213592145921559216592175921859219592205922159222592235922459225592265922759228592295923059231592325923359234592355923659237592385923959240592415924259243592445924559246592475924859249592505925159252592535925459255592565925759258592595926059261592625926359264592655926659267592685926959270592715927259273592745927559276592775927859279592805928159282592835928459285592865928759288592895929059291592925929359294592955929659297592985929959300593015930259303593045930559306593075930859309593105931159312593135931459315593165931759318593195932059321593225932359324593255932659327593285932959330593315933259333593345933559336593375933859339593405934159342593435934459345593465934759348593495935059351593525935359354593555935659357593585935959360593615936259363593645936559366593675936859369593705937159372593735937459375593765937759378593795938059381593825938359384593855938659387593885938959390593915939259393593945939559396593975939859399594005940159402594035940459405594065940759408594095941059411594125941359414594155941659417594185941959420594215942259423594245942559426594275942859429594305943159432594335943459435594365943759438594395944059441594425944359444594455944659447594485944959450594515945259453594545945559456594575945859459594605946159462594635946459465594665946759468594695947059471594725947359474594755947659477594785947959480594815948259483594845948559486594875948859489594905949159492594935949459495594965949759498594995950059501595025950359504595055950659507595085950959510595115951259513595145951559516595175951859519595205952159522595235952459525595265952759528595295953059531595325953359534595355953659537595385953959540595415954259543595445954559546595475954859549595505955159552595535955459555595565955759558595595956059561595625956359564595655956659567595685956959570595715957259573595745957559576595775957859579595805958159582595835958459585595865958759588595895959059591595925959359594595955959659597595985959959600596015960259603596045960559606596075960859609596105961159612596135961459615596165961759618596195962059621596225962359624596255962659627596285962959630596315963259633596345963559636596375963859639596405964159642596435964459645596465964759648596495965059651596525965359654596555965659657596585965959660596615966259663596645966559666596675966859669596705967159672596735967459675596765967759678596795968059681596825968359684596855968659687596885968959690596915969259693596945969559696596975969859699597005970159702597035970459705597065970759708597095971059711597125971359714597155971659717597185971959720597215972259723597245972559726597275972859729597305973159732597335973459735597365973759738597395974059741597425974359744597455974659747597485974959750597515975259753597545975559756597575975859759597605976159762597635976459765597665976759768597695977059771597725977359774597755977659777597785977959780597815978259783597845978559786597875978859789597905979159792597935979459795597965979759798597995980059801598025980359804598055980659807598085980959810598115981259813598145981559816598175981859819598205982159822598235982459825598265982759828598295983059831598325983359834598355983659837598385983959840598415984259843598445984559846598475984859849598505985159852598535985459855598565985759858598595986059861598625986359864598655986659867598685986959870598715987259873598745987559876598775987859879598805988159882598835988459885598865988759888598895989059891598925989359894598955989659897598985989959900599015990259903599045990559906599075990859909599105991159912599135991459915599165991759918599195992059921599225992359924599255992659927599285992959930599315993259933599345993559936599375993859939599405994159942599435994459945599465994759948599495995059951599525995359954599555995659957599585995959960599615996259963599645996559966599675996859969599705997159972599735997459975599765997759978599795998059981599825998359984599855998659987599885998959990599915999259993599945999559996599975999859999600006000160002600036000460005600066000760008600096001060011600126001360014600156001660017600186001960020600216002260023600246002560026600276002860029600306003160032600336003460035600366003760038600396004060041600426004360044600456004660047600486004960050600516005260053600546005560056600576005860059600606006160062600636006460065600666006760068600696007060071600726007360074600756007660077600786007960080600816008260083600846008560086600876008860089600906009160092600936009460095600966009760098600996010060101601026010360104601056010660107601086010960110601116011260113601146011560116601176011860119601206012160122601236012460125601266012760128601296013060131601326013360134601356013660137601386013960140601416014260143601446014560146601476014860149601506015160152601536015460155601566015760158601596016060161601626016360164601656016660167601686016960170601716017260173601746017560176601776017860179601806018160182601836018460185 |
- USE [GameCenterDB]
- GO
- /****** Object: StoredProcedure [dbo].[Game_AllUser_SetGameStatus] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_AllUser_SetGameStatus]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-03
- -- Mendor: wolf
- -- Alter Date: 2014-12-02
- -- Description: 设置游戏信息(在线、离线)
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_AllUser_SetGameStatus]
- @UserID INT, --用户ID
- @GameID INT, --游戏ID
- @ServerName NVARCHAR(32), --服务器名称
- @IsOnline TINYINT, --是否在线(1=在线 0=离线)
- @IsChip TINYINT = 0 --是否元宝(0=休闲 1=元宝)
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @LoginTime DATETIME --登录时间
- --非法参数
- IF(@IsOnline IS NULL OR @IsOnline NOT IN (0, 1))
- RETURN
- --机器人
- IF EXISTS(SELECT UserID FROM [MachineUser] WHERE UserID = @UserID)
- RETURN
- --在线
- IF(@IsOnline = 1)
- BEGIN
- --在线数据
- IF EXISTS(SELECT UserID FROM [t_onlineuser] WHERE UserID = @UserID)
- BEGIN
- --清理在线数据
- DELETE FROM [t_onlineuser] WHERE Userid = @UserID
- END
- --记录在线
- INSERT INTO [t_onlineuser]
- (
- UserID, ServerName, LoginTime, GameID, IsChip
- )
- VALUES
- (
- @UserID, @ServerName, GETDATE(), @GameID, @IsChip
- )
- --添加在线用户日志
- INSERT INTO [t_onlinelog]
- (
- UserID, GameID, ServerName, Crdate, IsChip
- )
- VALUES
- (
- @UserID, @GameID, @ServerName, GETDATE(), @IsChip
- )
-
- --更新登录时间
- UPDATE
- [t_onlinetime]
- SET
- LoginTime = GETDATE(),
- TodaySeconds = CASE
- WHEN LoginTime < CONVERT(CHAR(10), GETDATE(), 120) THEN 0
- ELSE TodaySeconds
- END
- WHERE
- UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- --初始化
- INSERT INTO [t_onlinetime]
- (
- UserID, TotalSeconds, TodaySeconds, LoginTime
- )
- VALUES
- (
- @UserID, 0, 0, GETDATE()
- )
- END
- --更新登录时间
- UPDATE [AgentMember] SET LoginTime = GETDATE() WHERE UserID = @UserID
- END
-
- --离开游戏,进入大厅
- ELSE IF(@IsOnline = 0 AND @GameID > 0)
- BEGIN
- UPDATE
- [t_onlineuser]
- SET
- GameID = 0, LoginTime = GETDATE(), ServerName = N'游戏大厅', IsChip = @IsChip
- WHERE
- UserID = @UserID
- END
-
- --退出元宝大厅,进入休闲大厅
- ELSE IF(@IsOnline = 0 AND @GameID = 0 AND @IsChip = 1)
- BEGIN
- UPDATE
- [t_onlineuser]
- SET
- GameID = 0, LoginTime = GETDATE(), ServerName = N'游戏大厅', IsChip = 0
- WHERE
- UserID = @UserID
- END
- --离线
- ELSE
- BEGIN
- --删除在线
- DELETE FROM [t_onlineuser] WHERE UserID = @UserID
-
- --添加在线用户日志
- INSERT INTO [t_onlinelog]
- (
- UserID, GameID, ServerName, Crdate, IsChip
- )
- VALUES
- (
- @UserID, @GameID, @ServerName, GETDATE(), @IsChip
- )
-
- --计算时长
- UPDATE
- [t_onlinetime]
- SET
- TotalSeconds = TotalSeconds + DATEDIFF(SECOND, LoginTime, GETDATE()),
- TodaySeconds = TodaySeconds + DATEDIFF(SECOND, LoginTime, GETDATE())
- WHERE
- UserID = @UserID
- END
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_BetCount_Write] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_BetCount_Write]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-06-11
- -- Description: 下注局数
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_BetCount_Write]
- @UserID INT, --用户ID
- @GameID INT, --游戏ID
- @BetSecBefore INT, --结算前几秒下注的
- @PlayCount INT --游戏局数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @BetTime DATETIME --下注时间
-
- SET @BetTime = DATEADD(SECOND, -@BetSecBefore, GETDATE())
-
- --游戏下注局数
- INSERT INTO [UserBetCount]
- (
- UserID, GameID, PlayCount, BetTime
- )
- VALUES
- (
- @UserID, @GameID, @PlayCount, @BetTime
- )
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_BetRecord_Write] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
-
- --EXEC [Game_BetRecord_Write]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2019-06-24
- -- Mendor: wolf
- -- Alter Date: 2019-07-11
- -- Description: 服务器游戏写记录
- -- ============================================
- CREATE PROCEDURE [dbo].[Game_BetRecord_Write]
- @UserID INT, --用户ID
- @GameID INT, --游戏ID
- @BetSecBefore INT, --结算前几秒下注的
- @BetAmount BIGINT, --下注金额
- @BetZone VARCHAR(128), --下注描述
- @ResultAmount BIGINT, --输赢
- @ResultZone VARCHAR(1024), --结果描述
- @Tax BIGINT, --产生税收
- @Odds DECIMAL(10, 2), --赔率(百为基数)
- @TransType VARCHAR(32),
- @IpAddress VARCHAR(16), --IP地址
- @ServerName NVARCHAR(32) --房间名称
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @BetTime DATETIME --下注时间
- DECLARE @RecordID VARCHAR(32) --记录ID
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @Amount BIGINT --金币数
- DECLARE @Bank BIGINT --保险柜
- DECLARE @PartnerID INT --渠道ID
- DECLARE @WinCount INT --赢局数
- DECLARE @WinAmount BIGINT
- DECLARE @InvestAmount BIGINT --投注额
- DECLARE @StartIndex INT --起始索引
- DECLARE @EndIndex INT --截止索引
- DECLARE @FreeType INT --免费类型
- DECLARE @ChipAmount BIGINT --筹码数量
- DECLARE @RetCode TINYINT
- DECLARE @LogType INT --日志类型
- DECLARE @IMei VARCHAR(64)
- DECLARE @deviceid VARCHAR(64)
- DECLARE @ChipSend BIGINT --筹码赠送
- SET @CurrTime = GETDATE()
- SET @BetTime = DATEADD(SECOND, -@BetSecBefore, @CurrTime)
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
- SET @RecordID = ''
- SET @WinCount = 0
- SET @InvestAmount = 0
- --表变量
- DECLARE @tmptable TABLE(
- OrderID UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID(), --订单ID
- UserID INT NOT NULL --用户ID
- )
-
- IF(@UserID <= 0)
- RETURN
-
- --机器人
- IF EXISTS(SELECT UserID FROM [MachineUser] WHERE UserID = @UserID)
- RETURN
- --金币
- EXEC [p_if_getmoney] @userid = @UserID, @moneyamount = @Amount OUTPUT, @Bank = @Bank OUTPUT
- --生成数据
- INSERT INTO @tmptable(UserID) VALUES(@UserID)
- --获取订单ID
- SELECT @RecordID = REPLACE(OrderID, '-', '') FROM @tmptable WHERE UserID = @UserID
- --组装成有序的订单
- SET @RecordID = RIGHT(CONVERT(CHAR(6), GETDATE(), 12), 5) + REPLACE(CONVERT(VARCHAR(16), GETDATE(), 114), ':', '') + SUBSTRING(@RecordID, 1, 2)
- --添加下注信息
- INSERT INTO [Bet]
- (
- RecordID, UserID, GameID, TransType, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, Tax, StillAmount, Status
- )
- VALUES
- (
- @RecordID, @UserID, @GameID, @TransType, @BetAmount, @BetTime, @BetZone, @Odds,
- @ResultAmount, @CurrTime, @ResultZone, @Tax, @Amount, 2
- )
- --计算赢局数
- SET @WinCount = CASE WHEN @ResultAmount - @BetAmount > 0 THEN 1 ELSE 0 END
- --SET @WinAmount = @ResultAmount - @BetAmount
- SET @WinAmount = CASE WHEN @ResultAmount > 0 THEN @ResultAmount ELSE 0 END
-
- --Match=比赛场、PrivateRoom=私人场
- SET @ServerName = CASE
- WHEN @BetZone IN ('PrivateRoom', 'Match') THEN @BetZone
- ELSE @ServerName
- END
- --统计每日流水
- UPDATE
- [DailyBetStat]
- SET
- BetAmount = BetAmount + @BetAmount, ResultAmount = ResultAmount + @ResultAmount,
- WinAmount = WinAmount + @WinAmount,
- TotalCount = TotalCount + 1, WinCount = WinCount + @WinCount
- WHERE
- DateFlag = @DateFlag AND UserID = @UserID AND GameID = @GameID AND ServerName = @ServerName
- --当天无流水
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [DailyBetStat]
- (
- DateFlag, UserID, GameID, ServerName, BetAmount, ResultAmount, WinAmount,
- MoneySum, TaxAmount, TotalCount, WinCount, PlaySeconds
- )
- VALUES
- (
- @DateFlag, @UserID, @GameID, @ServerName, @BetAmount, @ResultAmount, @WinAmount,
- 0, 0, 1, @WinCount, 0
- )
- END
-
- UPDATE
- [UserGameCount]
- SET
- TotalCount = TotalCount + 1, WinCount = WinCount + @WinCount,
- MaxWinAmount = CASE
- WHEN @ResultAmount - @BetAmount > MaxWinAmount THEN @ResultAmount - @BetAmount
- ELSE MaxWinAmount
- END
- WHERE
- UserID = @UserID AND GameID = @GameID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserGameCount]
- (
- UserID, GameID, TotalCount, WinCount, MaxWinAmount, CardStat
- )
- VALUES
- (
- @UserID, @GameID, 1, @WinCount, CASE WHEN @ResultAmount - @BetAmount > 0 THEN @ResultAmount - @BetAmount ELSE 0 END, ''
- )
- END
-
- --最大赢金
- UPDATE
- [UserMaxWin]
- SET
- WinAmount = CASE WHEN @WinAmount > WinAmount THEN @WinAmount ELSE WinAmount END
- WHERE
- DateFlag = @DateFlag AND UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserMaxWin]
- (
- DateFlag, UserID, WinAmount
- )
- VALUES
- (
- @DateFlag, @UserID, @WinAmount
- )
- END
- --投注额
- EXEC [Game_Score_Cal] @UserID = @UserID, @GameID = @GameID, @ServerName = @ServerName, @BetAmount = @BetAmount
- IF(@GameID IN (50, 51, 52, 55, 56, 57, 58, 87))
- BEGIN
- SET @StartIndex = 1
- SET @EndIndex = 0
-
- SET @EndIndex = CHARINDEX('|', @BetZone, @StartIndex)
- IF(@EndIndex > 0)
- BEGIN
- SET @BetAmount = CAST(SUBSTRING(@BetZone, @StartIndex, @EndIndex - @StartIndex) AS BIGINT)
- SET @StartIndex = @EndIndex + 1
-
- SET @FreeType = CAST(SUBSTRING(@BetZone, @StartIndex, LEN(@BetZone) - @StartIndex + 1) AS INT)
- SET @InvestAmount = @BetAmount + CASE WHEN @FreeType = 0 THEN 3 WHEN @FreeType = 1 THEN 4 ELSE 0 END
- END
-
- --数据监控
- EXEC [Game_Slot_Trigger] @UserID = @UserID, @GameID = @GameID, @BetAmount = @BetAmount,
- @ResultAmount = @ResultAmount, @WinAmount = @WinAmount, @Tax = @Tax, @InvestAmount = @InvestAmount
- END
-
- /*
- --非免费
- IF(CHARINDEX('|', @BetZone) = 0)
- BEGIN
- --用户信息
- SELECT @IMei = IMei, @deviceid = deviceid FROM [AllUser] WHERE UserID = @UserID
-
- --非游客用户
- IF(LEFT(@IMei, 3) = 'fb.' OR LEFT(@deviceid, 3) = 'fb.' OR LEFT(@IMei, 3) = 'gg.' OR LEFT(@deviceid, 3) = 'gg.' )
- BEGIN
- --统计今天赠送的筹码总额
- SELECT @ChipSend = ISNULL(SUM(Amount), 0) FROM [ChipSendLog] WHERE UserID = @UserID AND DateFlag >= @DateFlag
-
- --结算额的0.0001%
- SET @ChipAmount = ABS(@WinAmount) * 0.000001
-
- SET @ChipAmount = CASE
- WHEN @ChipAmount + @ChipSend > 3000000 THEN 3000000 - @ChipSend --超过上限,补差额
- ELSE @ChipAmount
- END
-
- --赠送
- IF(@ChipAmount > 0)
- BEGIN
- --记录赠送日志
- UPDATE [ChipSendLog] SET Amount = Amount + @ChipAmount WHERE UserID = @UserID AND DateFlag = @DateFlag AND IsShow = 0
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [ChipSendLog](DateFlag, UserID, Amount, IsShow) VALUES(@DateFlag, @UserID, @ChipAmount, 0)
- END
-
- --日志
- SET @LogType = @GameID * 100 + 88
-
- --加筹码
- EXEC [Game_Chip_Give] @UserID = @UserID, @SourceName = @ServerName, @GameID = @GameID, @WantedAmount = @ChipAmount,
- @LogType = @LogType, @Remark = N'游戏赠送', @IPAddress = @IPAddress, @RetCode = @RetCode OUTPUT
- END
- END
- END
- */
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_CardStat_Stat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_CardStat_Stat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-06-11
- -- Description: 玩牌统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_CardStat_Stat]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @BreakAmount INT --破产额
-
- DECLARE @tmpMiday TABLE(
- DateFlag SMALLDATETIME NOT NULL, --日期标识
- GameID INT NOT NULL, --游戏ID
- MidwayUserCount INT NOT NULL, --中途退出人数
- MidwayTimes INT NOT NULL --中途退出次数
- )
-
- DECLARE @tmpUser TABLE(
- UserID INT NOT NULL
- )
-
- DECLARE @tmpBetCount TABLE(
- DateFlag SMALLDATETIME NOT NULL, --日期标识
- GameID INT NOT NULL, --游戏ID
- PlayCount INT NOT NULL --游戏局数
- )
-
- SET @DateFlag = CONVERT(CHAR(10), GETDATE() -1, 120)
- SET @BreakAmount = 5000 --破产额
-
- --牌局统计
- INSERT INTO [GameCardStat]
- (
- DateFlag, GameID, TypeID, PlayUserCount, SendAmount, ConsumeAmount,
- BreakUserCount, BreakTimes, PlayCount, PlaySeconds, MidwayUserCount, MidwayTimes
- )
- SELECT
- @DateFlag, GameID, 0, COUNT(DISTINCT UserID),
- SUM(CASE WHEN ResultAmount - BetAmount > 0 THEN ResultAmount - BetAmount ELSE 0 END),
- SUM(CASE WHEN ResultAmount - BetAmount < 0 THEN ResultAmount - BetAmount ELSE 0 END),
- COUNT(DISTINCT CASE WHEN StillAmount <= @BreakAmount THEN UserID ELSE 0 END) - 1,
- SUM(CASE WHEN StillAmount <= @BreakAmount THEN 1 ELSE 0 END),
- COUNT(UserID), SUM(DATEDIFF(SECOND, BetTime, ResultTime)), 0, 0
- FROM
- [BetInfoHistory]
- WHERE
- BetTime BETWEEN @DateFlag AND @DateFlag + 1
- GROUP BY
- GameID
-
- --统计中途退出
- INSERT INTO @tmpMiday
- (
- DateFlag, GameID, MidwayUserCount, MidwayTimes
- )
- SELECT
- CONVERT(CHAR(10), m.Crdate, 120) AS DateFlag, m.GameID,
- COUNT(DISTINCT CASE WHEN IPAddress = '127.0.0.1' THEN UserID ELSE 0 END) - 1,
- SUM(CASE WHEN IPAddress = '127.0.0.1' THEN 1 ELSE 0 END)
- FROM
- [MoneyLog_bak] m INNER JOIN [MoneyLogType] l ON m.LogType = l.LogType AND l.LogTypeName IN (N'结算', N'游戏结算')
- WHERE
- m.Crdate BETWEEN @DateFlag AND @DateFlag + 1
- GROUP BY
- CONVERT(CHAR(10), m.Crdate, 120), m.GameID
-
- --更新中途统计数据
- UPDATE
- g
- SET
- g.MidwayUserCount = t.MidwayUserCount, g.MidwayTimes = t.MidwayTimes
- FROM
- [GameCardStat] g INNER JOIN @tmpMiday t ON g.DateFlag = t.DateFlag AND g.GameID = t.GameID
- WHERE
- TypeID = 0
-
- --统计游戏局数
- INSERT INTO @tmpBetCount
- (
- DateFlag, GameID, PlayCount
- )
- SELECT
- @DateFlag, GameID, SUM(PlayCount)
- FROM
- [UserBetCount]
- WHERE
- BetTime BETWEEN @DateFlag AND @DateFlag + 1
- GROUP BY
- GameID
-
- --更新游戏局数
- UPDATE
- g
- SET
- g.PlayCount = t.PlayCount
- FROM
- [GameCardStat] g INNER JOIN @tmpBetCount t ON g.DateFlag = t.DateFlag AND g.GameID = t.GameID
- WHERE
- TypeID = 0
-
- --初始化
- INSERT INTO @tmpUser(UserID)
- SELECT
- UserID
- FROM
- [LabelPool]
- WHERE
- TypeID = 17 AND LabelID != '' AND Expire >= GETDATE()
-
- --牌局统计
- INSERT INTO [GameCardStat]
- (
- DateFlag, GameID, TypeID, PlayUserCount, SendAmount, ConsumeAmount,
- BreakUserCount, BreakTimes, PlayCount, PlaySeconds, MidwayUserCount, MidwayTimes
- )
- SELECT
- @DateFlag, GameID, 17, COUNT(DISTINCT b.UserID),
- SUM(CASE WHEN ResultAmount - BetAmount > 0 THEN ResultAmount - BetAmount ELSE 0 END),
- SUM(CASE WHEN ResultAmount - BetAmount < 0 THEN ResultAmount - BetAmount ELSE 0 END),
- COUNT(DISTINCT CASE WHEN StillAmount <= @BreakAmount THEN b.UserID ELSE 0 END) - 1,
- SUM(CASE WHEN StillAmount <= @BreakAmount THEN 1 ELSE 0 END),
- COUNT(b.UserID), SUM(DATEDIFF(SECOND, BetTime, ResultTime)), 0, 0
- FROM
- [BetInfoHistory] b INNER JOIN @tmpUser u ON b.UserID = u.UserID
- WHERE
- BetTime BETWEEN @DateFlag AND @DateFlag + 1
- GROUP BY
- GameID
-
- --统计中途退出
- INSERT INTO @tmpMiday
- (
- DateFlag, GameID, MidwayUserCount, MidwayTimes
- )
- SELECT
- CONVERT(CHAR(10), m.Crdate, 120) AS DateFlag, m.GameID,
- COUNT(DISTINCT CASE WHEN IPAddress = '127.0.0.1' THEN m.UserID ELSE 0 END) - 1,
- SUM(CASE WHEN IPAddress = '127.0.0.1' THEN 1 ELSE 0 END)
- FROM
- [MoneyLog_bak] m INNER JOIN [MoneyLogType] l ON m.LogType = l.LogType AND l.LogTypeName IN (N'结算', N'游戏结算')
- INNER JOIN @tmpUser u ON m.UserID = u.UserID
- WHERE
- m.Crdate BETWEEN @DateFlag AND @DateFlag + 1
- GROUP BY
- CONVERT(CHAR(10), m.Crdate, 120), m.GameID
-
- --更新中途统计数据
- UPDATE
- g
- SET
- g.MidwayUserCount = t.MidwayUserCount, g.MidwayTimes = t.MidwayTimes
- FROM
- [GameCardStat] g INNER JOIN @tmpMiday t ON g.DateFlag = t.DateFlag AND g.GameID = t.GameID
- WHERE
- TypeID = 17
-
- --统计游戏局数
- INSERT INTO @tmpBetCount
- (
- DateFlag, GameID, PlayCount
- )
- SELECT
- @DateFlag, GameID, SUM(PlayCount)
- FROM
- [UserBetCount] u INNER JOIN @tmpUser t ON u.UserID = t.UserID
- WHERE
- BetTime BETWEEN @DateFlag AND @DateFlag + 1
- GROUP BY
- GameID
-
- --更新游戏局数
- UPDATE
- g
- SET
- g.PlayCount = t.PlayCount
- FROM
- [GameCardStat] g INNER JOIN @tmpBetCount t ON g.DateFlag = t.DateFlag AND g.GameID = t.GameID
- WHERE
- TypeID = 17
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_Cash_Transfer] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- /*************************
- 用途:保险柜转账
- 说明:税为0%、单次转账最大额1E、最小额100、
- 说明:同时判断接收方加金币不超过20E(INT最大值)
- **************************/
- CREATE PROCEDURE [dbo].[Game_Cash_Transfer]
- @UserID INT, --转账方ID
- @AcceptUserID INT, --接收方ID
- @WantAmount BIGINT, --要转多少金币,保证为正数
- @IPAddress VARCHAR(15) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @MAX_AMOUNT BIGINT --单次转账最大量
- DECLARE @MIN_AMOUNT BIGINT --单次转账最小量
- DECLARE @AcceptCurrAmount BIGINT --接收者的当前金币量
- DECLARE @TaxAmount BIGINT --税
- DECLARE @CurrAmount BIGINT --当前的金币量
- DECLARE @TotalAmount BIGINT --实际总共改变的金币量,等于@WantAmount +@TaxAmount
- DECLARE @NickName NVARCHAR(32) --昵称
- DECLARE @AcceptNickName NVARCHAR(32) --接收方昵称
- DECLARE @AcceptStillAmount BIGINT --接收者剩余金币
- DECLARE @CurrTime DATETIME --时间
- DECLARE @Msg NVARCHAR(256) --消息
- DECLARE @DailyTransferAmount BIGINT --日转账
- DECLARE @TransferAmount BIGINT --转账金额
- DECLARE @SysMsgID INT
- DECLARE @TimeStamp INT --时间戳
- DECLARE @WantAmountUnit VARCHAR(32)
- DECLARE @Fee INT --手续费率(百分制)
- DECLARE @FreeBeginTime DATETIME --免费开启时间
- DECLARE @FreeEndTime DATETIME --免费截止时间
- DECLARE @RefundBeginTime DATETIME --返额开始时间
- DECLARE @RefundEndTime DATETIME --返额截止时间
- DECLARE @RefundRatio INT --返额比率(百分制)
- DECLARE @RefundMaxAmount BIGINT --单笔返额上限(首笔)
- DECLARE @Refund BIGINT --返还金额
- DECLARE @MinAmount BIGINT --转账最低金额
-
- DECLARE @RetCode INT --操作结果
- DECLARE @ErrMsg VARCHAR(128) --消息
- DECLARE @StillAmount BIGINT --剩余保险柜
- DECLARE @Title NVARCHAR(32)
- SET @StillAmount = 0
- SET @TaxAmount = @WantAmount * 0.01 --1%的手续费
- SET @TotalAmount = @WantAmount + @TaxAmount -- 消耗的金币 = 转出的金币+税
- SET @NickName = ''
- SET @AcceptNickName = ''
- SET @MAX_AMOUNT = 999999999999999
- SET @MIN_AMOUNT = 1
- SET @RetCode = 0
- SET @CurrTime = GETDATE()
- SET @WantAmountUnit = ''
- SET @MinAmount = 100000000
- SET @Refund = 0
-
- IF(@WantAmount IS NULL OR @WantAmount < 0)
- BEGIN
- SET @RetCode = -1
- SET @ErrMsg = 'Safe amount input error'
-
- SELECT @RetCode AS RetCode, @ErrMsg AS ErrMsg, @StillAmount AS StillAmount, @Refund AS Refund
- RETURN
- END
-
- IF(@UserID IS NULL OR @AcceptUserID IS NULL OR @UserID < 0 OR @AcceptUserID < 0)
- BEGIN
- IF @UserID IS NULL
- SET @UserID = 0
- IF @AcceptUserID IS NULL
- SET @AcceptUserID = 0
-
- INSERT INTO [MoneyLog]
- (
- [GameID], [SourceName], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- 0, N'玩家转账', 'CASH', @UserID, 0, -@WantAmount,
- 0, @TaxAmount, @IPAddress, 'Safe transfer:Incoming user parameter error', @CurrTime, 0
- )
-
- SET @RetCode = -2
- SET @ErrMsg = 'User parameter error'
-
- SELECT @RetCode AS RetCode, @ErrMsg AS ErrMsg, @StillAmount AS StillAmount, @Refund AS Refund
- RETURN
- END
-
- --判断是否是自己账号
- IF(@UserID = @AcceptUserID)
- BEGIN
- SET @RetCode = -2
- SET @ErrMsg = 'User parameter error'
-
- SELECT @RetCode AS RetCode, @ErrMsg AS ErrMsg, @StillAmount AS StillAmount, @Refund AS Refund
- RETURN
- END
-
- --获取配置信息
- SELECT
- @Fee = Fee, @FreeBeginTime = FreeBeginTime, @FreeEndTime = FreeEndTime,
- @RefundBeginTime = RefundBeginTime, @RefundEndTime = RefundEndTime,
- @RefundRatio = RefundRatio, @RefundMaxAmount = RefundMaxAmount,
- @MinAmount = CASE
- WHEN @CurrTime BETWEEN MinBeginTime AND MinEndTime THEN MinAmount
- ELSE @MinAmount
- END
- FROM
- [TransferConfig]
- WHERE
- ConfigID = 1
- --有配置信息
- IF(@@ROWCOUNT > 0)
- BEGIN
- --免费
- IF(@CurrTime BETWEEN @FreeBeginTime AND @FreeEndTime)
- BEGIN
- SET @TaxAmount = 0
- END
-
- --手续费
- ELSE
- BEGIN
- SET @TaxAmount = @WantAmount * (@Fee / 100.00) --1%的手续费
- END
-
- --扣减的总金额
- SET @TotalAmount = @WantAmount + @TaxAmount
-
- --限时返额
- IF(@CurrTime BETWEEN @RefundBeginTime AND @RefundEndTime)
- BEGIN
- --判断时间段内是否是首笔
- IF NOT EXISTS(SELECT LogID FROM [TransferLog] WHERE Crdate BETWEEN @RefundBeginTime AND @RefundEndTime AND UserID = @UserID)
- BEGIN
- SET @Refund = @WantAmount * (@RefundRatio / 100.00) --返还金额
-
- --是否超过返额上限
- SET @Refund = CASE
- WHEN @Refund > @RefundMaxAmount THEN @RefundMaxAmount
- ELSE @Refund
- END
- END
- END
- END
-
- IF(@WantAmount < @MIN_AMOUNT OR @WantAmount > @MAX_AMOUNT)
- BEGIN
- INSERT INTO [MoneyLog]
- (
- [GameID], [SourceName], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- 0, N'玩家转账', 'CASH', @UserID, 0, -@WantAmount,
- 0, @TaxAmount, @IPAddress, 'Safe transfer:Incoming amount error', @CurrTime, 0
- )
- SET @RetCode = -3
- SET @ErrMsg = 'The transfer amount of safe exceeds the limit'
-
- SELECT @RetCode AS RetCode, @ErrMsg AS ErrMsg, @StillAmount AS StillAmount, @Refund AS Refund
- RETURN
- END
-
- --获取当前自己的昵称
- SELECT @NickName = NickName FROM [AllUser] WHERE UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [MoneyLog]
- (
- [GameID], [SourceName], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- 0, N'玩家转账', 'CASH', @UserID, 0, -@WantAmount,
- 0, @TaxAmount, @IPAddress, 'Safe transfer:Incoming user parameter error', @CurrTime, 0
- )
-
- SET @RetCode = -2
- SET @ErrMsg = 'User parameter error'
-
- SELECT @RetCode AS RetCode, @ErrMsg AS ErrMsg, @StillAmount AS StillAmount, @Refund AS Refund
- RETURN
- END
-
- --获取当前自己的昵称
- SELECT @AcceptNickName = NickName FROM [AllUser] WHERE UserID = @AcceptUserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [MoneyLog]
- (
- [GameID], [SourceName], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- 0, N'玩家转账', 'CASH', @UserID, 0, -@WantAmount,
- 0, @TaxAmount, @IPAddress, 'Safe transfer:Receive ID does not exist', @CurrTime, 0
- )
-
- SET @RetCode = -5
- SET @ErrMsg = 'Receive ID does not exist'
-
- SELECT @RetCode AS RetCode, @ErrMsg AS ErrMsg, @StillAmount AS StillAmount, @Refund AS Refund
- RETURN
- END
- --日转账限额
- SELECT @DailyTransferAmount = DailyTransferAmount FROM [PlatformConfig] WHERE ConfigID = 1
- --有设置转账限额
- IF(@DailyTransferAmount > 0)
- BEGIN
- --今天转账金额
- SELECT
- @TransferAmount = ISNULL(SUM(-WantAmount), 0)
- FROM
- [TransferLog]
- WHERE
- Crdate >= CONVERT(CHAR(10), @CurrTime, 120) AND UserID = @UserID
- --判断是否达到上限
- IF((@TransferAmount + @WantAmount) > @DailyTransferAmount)
- BEGIN
- SET @RetCode = -9
- SET @ErrMsg = 'Up to today transfer limit'
-
- SELECT @RetCode AS RetCode, @ErrMsg AS ErrMsg, @StillAmount AS StillAmount, @Refund AS Refund
- RETURN
- END
- END
-
- SET @AcceptCurrAmount = (SELECT [Amount] FROM [Money] WHERE [UserID] = @AcceptUserID)
- IF @AcceptCurrAmount IS NULL
- SET @AcceptCurrAmount = 0
-
- --开始金币的转账操作
- SET TRANSACTION ISOLATION LEVEL REPEATABLE READ
- BEGIN TRAN
-
- --检查用户现金
- SET @CurrAmount = (SELECT [Amount] FROM [Money] WHERE [UserID] = @UserID)
- IF @CurrAmount IS NULL
- SET @CurrAmount = 0
-
- IF(@CurrAmount < @TotalAmount)
- BEGIN
- ROLLBACK TRAN
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
-
- INSERT INTO [MoneyLog]
- (
- [GameID], [SourceName], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- 0, N'玩家转账', 'CASH', @UserID, 0, @WantAmount,
- 0, @TaxAmount, @IPAddress, 'Safe transfer:Cash is not enough', @CurrTime, 0
- )
-
- SET @RetCode = -7
- SET @ErrMsg = 'Your current safe is not less than the amount sent'
-
- SELECT @RetCode AS RetCode, @ErrMsg AS ErrMsg, @StillAmount AS StillAmount, @Refund AS Refund
- RETURN
- END
-
- --可以进行保险柜操作了
- UPDATE [Money] SET [Amount] = [Amount] - @TotalAmount WHERE [UserID] = @UserID
-
- UPDATE [Money] SET [Amount] = [Amount] + @WantAmount WHERE [UserID] = @AcceptUserID
-
- IF(@@RowCount = 0)
- BEGIN
- INSERT INTO [Money]
- (
- [UserID],[Amount], bank
- )
- VALUES
- (
- @AcceptUserID, @WantAmount, 0
- )
- END
- COMMIT TRAN
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
-
- --写日志
- INSERT INTO [MoneyLog]
- (
- [GameID], [SourceName], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- SELECT
- 0, N'玩家转账', 'CASH', @AcceptUserID, @AcceptCurrAmount, @WantAmount,
- @AcceptCurrAmount + @WantAmount, @TaxAmount, @IPAddress, 'Safe transfer:Receiving OK', @CurrTime, 11
-
- UNION ALL
-
- SELECT
- 0, N'玩家转账,', 'CASH', @UserID, @CurrAmount, -@WantAmount,
- @CurrAmount - @WantAmount, @TaxAmount, @IPAddress, 'Safe transfer:Send OK', @CurrTime, 111
-
- --剩余金币
- SET @StillAmount = @CurrAmount - @TotalAmount
- SET @AcceptStillAmount = @AcceptCurrAmount + @WantAmount
-
- SET @ErrMsg ='Safe transfer succeeded, you have sent ' + CAST(@WantAmount AS VARCHAR(64)) + ',You still have the safe account ' + CAST(@StillAmount AS VARCHAR(64))
- --转账日志
- INSERT INTO [TransferLog]
- (
- [UserID], [NickName],[CurrAmount],[WantAmount], [StillAmount],
- [AcceptUserID], [AcceptNickName], [AcceptCurrAmount], [AcceptWantAmount], [AcceptStillAmount],
- [TaxAmount], [IPAddress], [Memo], [Crdate]
- )
- VALUES
- (
- @UserID, @NickName, @CurrAmount, -@WantAmount, @StillAmount,
- @AcceptUserID, @AcceptNickName, @AcceptCurrAmount, @WantAmount, @AcceptStillAmount,
- @TaxAmount, @IPAddress, @ErrMsg, @CurrTime
- )
- SET @WantAmountUnit = CASE
- WHEN @WantAmount >= 1000000000000 THEN CAST(CAST(@WantAmount * 1.00 / 1000000000000 AS DECIMAL(18, 2)) AS VARCHAR(32)) + 'T'
- WHEN @WantAmount >= 1000000000 THEN CAST(CAST(@WantAmount * 1.00 / 1000000000 AS DECIMAL(18, 2)) AS VARCHAR(32)) + 'B'
- WHEN @WantAmount >= 1000000 THEN CAST(CAST(@WantAmount * 1.00 / 1000000 AS DECIMAL(18, 2)) AS VARCHAR(32)) + 'M'
- ELSE CAST(@WantAmount AS VARCHAR(32))
- END
- --SET @Msg = N'Teman Anda ' + @NickName + ' ID' + LTRIM(STR(@UserID)) + ' memberi Anda ' + REPLACE(@WantAmountUnit, '.00', '') + ' ingot'
- SET @Msg = N'账号@A给您赠送了@B金币,货币已经直接到账'
- EXEC [Game_Translate_Get] @Source = N'交易通知', @Target = @Title OUTPUT
-
- EXEC [Game_Translate_Get] @Source = @Msg, @Target = @Msg OUTPUT
- SET @Msg = REPLACE(@Msg, '@A', @NickName)
- SET @Msg = REPLACE(@Msg, '@B', REPLACE(@WantAmountUnit, '.00', ''))
- SET @TimeStamp = dbo.fn_TimeToStamp(@CurrTime)
- --发送消息
- EXEC [WS_SysMessage_Send] @UserID = @AcceptUserID, @Title = @Title, @Content = @Msg, @Status = 0, @SourceName = 'Transfer',
- @Crdate = @TimeStamp, @Tools = '', @SysMsgID = @SysMsgID OUTPUT
- --加元宝(限时返额)
- IF(@Refund > 0)
- BEGIN
- --加筹码
- EXEC [Game_Money_GiveMoney] @UserID = @UserID, @SourceName = N'玩家转账', @GameID = 0, @WantedAmount = @Refund,
- @LogType = 44, @Remark = N'赠送返还', @IPAddress = @IPAddress, @RetCode = @RetCode OUTPUT
- END
- SET @RetCode = 1
- SELECT @RetCode AS RetCode, @ErrMsg AS ErrMsg, @StillAmount AS StillAmount, @Refund AS Refund
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_Cash_TransferLog] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_Cash_TransferLog]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-03
- -- Mendor: wolf
- -- Alter Date: 2014-12-02
- -- Description: 筹码赠送记录
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_Cash_TransferLog]
- @UserID INT, --用户ID
- @Days INT = 7 --天数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT TOP 100
- UserID, NickName, AcceptUserID, AcceptNickName, AcceptWantAmount AS Amount,
- CONVERT(CHAR(16), Crdate, 120) AS Crdate, TaxAmount
- FROM
- [TransferLog]
- WHERE
- Crdate >= CONVERT(CHAR(10), GETDATE() - @Days, 120) AND (UserID = @UserID OR AcceptUserID = @UserID)
- ORDER BY
- LogID DESC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_CasinoOnline_Lock] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_CasinoOnline_Lock]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 金币锁加锁
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_CasinoOnline_Lock]
- @UserID INT, --用户ID
- @GameID INT, --游戏ID
- @ServerName NVARCHAR(32) --服务器名称
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DBServerName NVARCHAR(32) --服务器名称
-
- --服务器名称
- SELECT @DBServerName = ServerName FROM [CasinoOnline] WHERE UserID = @UserID
-
- --没有锁
- IF(@@ROWCOUNT = 0)
- BEGIN
- --上锁
- INSERT INTO [CasinoOnline]
- (
- UserID, LoginTime, ServerName, GameID
- )
- VALUES
- (
- @UserID, GETDATE(), @ServerName, @GameID
- )
-
- RETURN 1
- END
-
- --同服务器
- IF(@DBServerName = @ServerName)
- RETURN 1
- RETURN 0
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_CasinoOnline_Unlock] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_CasinoOnline_Unlock]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 金币锁解锁
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_CasinoOnline_Unlock]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- --解锁
- DELETE FROM [CasinoOnline] WHERE UserID = @UserID
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_CasinoOnline_Verify] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_CasinoOnline_Verify]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 金币锁校验
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_CasinoOnline_Verify]
- @GameID INT, --游戏ID
- @ServerName NVARCHAR(32), --服务器名称
- @Type TINYINT --状态 0=开服 1=关服 2=普通轮询
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --用户
- DECLARE @tmpUser TABLE(UserID INT NOT NULL)
-
- --表变量
- DECLARE @tmptable TABLE(
- GameID INT NOT NULL, --游戏ID
- ServerName NVARCHAR(32) NOT NULL --服务器名称
- )
- IF(@Type NOT IN (0, 1, 2))
- RETURN
- --0=开服 1=关服
- IF(@Type IN (0, 1))
- BEGIN
- --删除旧服务器信息
- DELETE FROM [Server] WHERE GameID = @GameID AND ServerName = @ServerName
- --初始化
- INSERT INTO @tmptable(GameID, ServerName) VALUES(@GameID, @ServerName)
- END
- --0=开服
- IF(@Type = 0)
- BEGIN
- --新服务器信息
- INSERT INTO [Server]
- (
- GameID, ServerName, RollTime, Crdate
- )
- VALUES
- (
- @GameID, @ServerName, GETDATE(), GETDATE()
- )
- END
- --2=正常轮询
- ELSE IF(@Type = 2)
- BEGIN
- --服务器轮询
- UPDATE [Server] SET RollTime = GETDATE() WHERE GameID = @GameID AND ServerName = @ServerName
- END
-
- --过期服务器
- INSERT INTO @tmptable(GameID, ServerName)
- SELECT GameID, ServerName FROM [Server] WHERE RollTime < DATEADD(SECOND, -90, GETDATE())
- --用户
- INSERT INTO @tmpUser(UserID)
- SELECT c.UserID FROM [CasinoOnline] c INNER JOIN @tmptable t ON c.GameID = t.GameID AND c.ServerName = t.ServerName
- IF(@@ROWCOUNT = 0)
- RETURN
- --清理金币锁
- DELETE FROM [CasinoOnline] WHERE UserID IN (SELECT UserID FROM @tmpUser)
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_Chip_BankIn] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- /*
- declare @s varchar(512)
- exec p_bank_in 10479800, 9999, '', 0 , 0, @s output
- print @s
- */
- --存入保险柜
- --返回值1:成功 其它:失败
- CREATE PROCEDURE [dbo].[Game_Chip_BankIn]
- @userid INT,
- @amount BIGINT,
- @servername NVARCHAR(64), --金币房间传这个进来,非金币房间或WEB传''
- @cashamount BIGINT OUTPUT, --数据库中金币数量,只有成功才会返回
- @bankamount BIGINT OUTPUT, --保险柜中的金币数量
- @outmsg NVARCHAR(512) OUTPUT,
- @GameID INT = 0,
- @EPassword VARCHAR(32) = '', --MD5密文
- @IPAddress VARCHAR(16) = '', --IP地址
- @RetCode INT OUTPUT --操作结果
- AS
- Set NoCount On
- Set Xact_Abort On
- BEGIN
- --金币锁
- declare @chvOnlineServerName NVARCHAR(64)
- DECLARE @currentcashamount BIGINT
- DECLARE @currentbankamount BIGINT
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @OldEPassword VARCHAR(32) --登陆密码
- DECLARE @Msg VARCHAR(4096) --操作描述
- DECLARE @IsRobot TINYINT --是否机器人
- SET @currentbankamount = 0
- SET @CurrTime = GETDATE()
- SET @RetCode = 0
-
- SELECT
- @OldEPassword = EPassword, @IsRobot = CASE WHEN RegIP = '127.0.0.1' THEN 1 ELSE 0 END
- FROM
- [AllUser]
- WHERE
- UserID = @UserID
- IF(@@ROWCOUNT = 0)
- BEGIN
- set @outmsg = N'存入保险柜失败:账号信息不存在'
- return
- END
-
- /*
- IF(LEN(@ServerName) <= 0)
- BEGIN
- --校验登陆密码
- IF(@OldEPassword IS NULL OR @OldEPassword != @EPassword)
- BEGIN
- SET @Msg = '存入保险柜,密码校验失败,关联信息,@UserID=' + LTRIM(STR(@userid)) + ',@amount=' + CAST(@amount AS VARCHAR(32)) + ',@EPassword=' + @EPassword
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = '系统', @IPAddress = @IPAddress, @Msg = @Msg, @Type = 2
-
- set @outmsg = '存入保险柜失败'
- return
- END
- END
- */
-
- select @chvOnlineServerName = [ServerName] from [CasinoOnline] where [UserID] = @userid
- set @bankamount = 0
- set @cashamount = 0
- if @chvOnlineServerName != @servername --没有锁时不能触发这个条件
- begin
- set @outmsg = N'游戏中不能存入金币,只能取出'
- return
- end
- if @amount <= 0
- begin
- set @outmsg = N'存入保险柜失败:请输入正确的数量'
- return
- end
- --检查存入后金额是否超过INT限制
- SELECT @currentcashamount = amount, @currentbankamount = bank FROM [Chip] WHERE userid = @userid
- --非金币房间需要更新 amount
- if @servername = ''
- update [Chip] set bank = bank + @amount, amount = amount - @amount where userid = @userid and amount >= @amount
- else
- update [Chip] set bank = bank + @amount where userid = @userid
- if @@rowcount = 1 --成功
- begin
- select @cashamount = amount, @bankamount = bank from [Chip] where userid = @userid
-
- INSERT INTO [ChipBankLog]
- (
- userid, ToUserID, CurrentAmount, WantedAmount, StillAmount, remark, Crdate, IPAddress
- )
- VALUES
- (
- @userid, @userid, @currentbankamount, @amount, @bankamount, '<font color="red">存入保险柜</font>', @CurrTime, @IPAddress
- )
-
- --机器人
- IF(@IsRobot = 1)
- BEGIN
- INSERT INTO [RobotMoneyLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [LogType], [Crdate]
- )
- SELECT
- N'钱包', @GameID, 'CASH', @userid, @currentcashamount, -@amount,
- @currentcashamount - @amount, 0, @IPAddress, N'存入保险柜,服务器=' + @ServerName, 0, @CurrTime
- UNION ALL
-
- SELECT
- N'钱包', @GameID, 'BANK', @userid, @currentbankamount, @amount,
- @currentbankamount + @amount, 0, @IPAddress, N'存入保险柜,服务器=' + @ServerName, 0, @CurrTime
- END
- ELSE
- BEGIN
- INSERT INTO [ChipLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [LogType], [Crdate]
- )
- SELECT
- N'钱包', @GameID, 'CASH', @userid, @currentcashamount, -@amount,
- @currentcashamount - @amount, 0, @IPAddress, N'存入保险柜,服务器=' + @ServerName, 0, @CurrTime
- UNION ALL
-
- SELECT
- N'钱包', @GameID, 'BANK', @userid, @currentbankamount, @amount,
- @currentbankamount + @amount, 0, @IPAddress, N'存入保险柜,服务器=' + @ServerName, 0, @CurrTime
- END
- set @outmsg = N'成功'
- SET @RetCode = 1
- return
- end
- else
- begin
- set @outmsg = N'存入保险柜失败:您身上金币不足'
- return
- end
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_Chip_BankOut] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- /*
- declare @s varchar(512)
- exec p_bank_out 22, 10000, '123', '', 0 , 0 , @s output
- print @s
- */
-
- --从保险柜取出
- --返回值1:成功 其它:失败
- CREATE PROCEDURE [dbo].[Game_Chip_BankOut]
- @userid INT,
- @amount BIGINT,
- @safeboxpwd VARCHAR(32), --保险柜密码 (加密前的)
- @servername NVARCHAR(64), --金币房间传这个进来,非金币房间或WEB传''
- @cashamount BIGINT OUTPUT, --数据库中金币数量,只有成功才会返回
- @bankamount BIGINT OUTPUT, --保险柜中的金币数量
- @outmsg NVARCHAR(512) OUTPUT,
- @EPassword VARCHAR(32) = '', --MD5密文
- @IPAddress VARCHAR(16) = '', --IP地址
- @RetCode INT OUTPUT, --操作结果
- @GameID INT = 0
- AS
- SET NOCOUNT ON
- SET XACT_ABORT ON
- BEGIN
- --金币锁
- DECLARE @chvOnlineServerName NVARCHAR(64)
- DECLARE @max_amount BIGINT
- DECLARE @currentcashamount BIGINT
- DECLARE @currentbankamount BIGINT
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @OldEPassword VARCHAR(32) --登陆密码
- DECLARE @OldEsafeboxpwd VARCHAR(32) --保险柜密码
- DECLARE @Msg VARCHAR(4096) --操作描述
- DECLARE @IsRobot TINYINT
- SET @max_amount = 2000000000000000
- SET @currentcashamount = 0
- SET @CurrTime = GETDATE()
- SET @RetCode = 0
-
- --获取当前登陆密码、保险柜密码
- SELECT
- @OldEPassword = EPassword, --@OldEsafeboxPwd = Esafeboxpwd,
- @IsRobot = CASE WHEN RegIP = '127.0.0.1' THEN 1 ELSE 0 END
- FROM
- [AllUser]
- WHERE
- UserID = @userid
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 11
- set @outmsg = N'从保险柜取出失败:账号信息不存在'
- return 0
- END
-
- /*
- --Web 调用
- IF(LEN(@ServerName) <= 0)
- BEGIN
- --校验登陆密码
- IF(@OldEPassword IS NULL OR @OldEPassword != @EPassword)
- BEGIN
- SET @Msg = '保险柜取出,密码校验失败,关联信息,@UserID=' + LTRIM(STR(@userid)) + ',@amount=' + CAST(@amount AS VARCHAR(32)) + ',@EPassword=' + @EPassword
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = '系统', @IPAddress = @IPAddress, @Msg = @Msg, @Type = 2
-
- SET @outmsg = '从保险柜取出失败'
- RETURN -1
- END
- END
- */
- declare @rc int --其它存储过程的返回值
- select @chvOnlineServerName = [ServerName] from [CasinoOnline] where [UserID] = @userid
- set @bankamount = 0
- set @cashamount = 0
- if @chvOnlineServerName != @servername --没有锁时不能触发这个条件
- begin
- SET @RetCode = 12
- set @outmsg = N'从保险柜取出失败:您已在服务器[' + @chvOnlineServerName + '],请登陆此服务器,或通过客服中心寻求帮助'
- return 0
- end
-
- --不判断是否会员
- if @amount <= 0
- begin
- SET @RetCode = 13
- set @outmsg = N'从保险柜取出失败:请输入正确的数量'
- return 0
- end
- --校验保险柜密码
- --IF(@OldEsafeboxpwd != dbo.fn_md5(@safeboxpwd))
- --BEGIN
- -- set @outmsg = '从保险柜取出失败:保险柜密码不正确!'
- -- return 0
- --END
- --检查取出后金额是否超过INT限制
- SELECT @currentcashamount = amount, @currentbankamount = bank FROM [Chip] WHERE userid = @userid
- IF @amount + @currentcashamount > @max_amount
- BEGIN
- SET @RetCode = 14
- set @outmsg = N'从保险柜取出失败:取出数量过大'
- return 0
- END
-
- update
- [Chip]
- set
- bank = bank - @amount,
- amount = amount + case @servername when '' then @amount else 0 end
- where
- userid = @userid and bank >= @amount
-
- if @@rowcount = 1 --成功
- begin
- set @outmsg = N'成功'
-
- select @cashamount = amount, @bankamount = bank from [Chip] where userid = @userid
-
- INSERT INTO [ChipBankLog]
- (
- userid, ToUserID, CurrentAmount, WantedAmount, StillAmount, remark, Crdate, IPAddress
- )
- VALUES
- (
- @userid, @userid, @currentbankamount, -@amount, @bankamount, '<font color="green">保险柜取出</font>', @CurrTime, @IPAddress
- )
-
- --机器人
- IF(@IsRobot = 1)
- BEGIN
- INSERT INTO [RobotMoneyLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [LogType], [Crdate]
- )
- SELECT
- N'钱包', @GameID, 'CASH', @userid, @currentcashamount, @amount,
- @currentcashamount + @amount, 0, @IPAddress, N'保险柜取出,服务器=' + @ServerName, 0, @CurrTime
- UNION ALL
-
- SELECT
- N'钱包', @GameID, 'BANK', @userid, @currentbankamount, -@amount,
- @currentbankamount - @amount, 0, @IPAddress, N'保险柜取出,服务器=' + @ServerName, 0, @CurrTime
- END
- ELSE
- BEGIN
- INSERT INTO [ChipLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [LogType], [Crdate]
- )
- SELECT
- N'钱包', @GameID, 'CASH', @userid, @currentcashamount, @amount,
- @currentcashamount + @amount, 0, @IPAddress, N'保险柜取出,服务器=' + @ServerName, 0, @CurrTime
- UNION ALL
-
- SELECT
- N'钱包', @GameID, 'BANK', @userid, @currentbankamount, -@amount,
- @currentbankamount - @amount, 0, @IPAddress, N'保险柜取出,服务器=' + @ServerName, 0, @CurrTime
- END
- SET @RetCode = 1
- return 1
- end
- else
- begin
- SET @RetCode = 15
- set @outmsg =N'从保险柜取出失败:您保险柜金额不足'
- return 0
- end
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_Chip_BankQuery] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- --接口:查询保险柜数量
- CREATE PROCEDURE [dbo].[Game_Chip_BankQuery]
- @UserID INT,
- @BankAmount BIGINT OUTPUT
- AS
- SET NOCOUNT ON
- SET XACT_ABORT ON
- BEGIN
- SET @BankAmount = 0
-
- SELECT @BankAmount = Bank FROM [Chip] WHERE userid = @userid
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_Chip_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- --EXEC [Game_Chip_GetInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2019-06-24
- -- Mendor: wolf
- -- Alter Date: 2019-07-11
- -- Description: 筹码信息
- -- ============================================
- CREATE PROCEDURE [dbo].[Game_Chip_GetInfo]
- @UserID INT,
- @Amount BIGINT OUTPUT,
- @Bank BIGINT OUTPUT
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- SET @Amount = 0
- SET @Bank = 0
-
- --获取金币、保险柜
- SELECT @Amount = Amount, @Bank = Bank FROM [Chip] WHERE UserID = @UserID
-
- RETURN 1
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_Chip_Give] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RetCode TINYINT
- -- EXEC [Game_Chip_Give]
- -- @UserID = 10001,
- -- @SourceName = '',
- -- @WantedAmount = 100,
- -- @LogType = 1,
- -- @IPAddress = '',
- -- @RetCode = @RetCode OUTPUT
- -- SELECT @RetCode AS RetCode
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-03
- -- Mendor: wolf
- -- Alter Date: 2014-09-04
- -- Description: 加筹码接口(供其他接口调用)
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_Chip_Give]
- @UserID INT, --用户ID
- @WantedAmount BIGINT, --筹码数
- @GameID INT, --游戏ID
- @LogType INT, --日志类型
- @SourceName NVARCHAR(64), --源名称
- @Remark NVARCHAR(128), --备注
- @IPAddress VARCHAR(16), --IP地址
- @RetCode TINYINT OUTPUT --操作结果
- --操作结果描述: 1=操作成功 11=传入参数错误
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrentAmount BIGINT --当前筹码数
- DECLARE @LogID INT --日志ID
- DECLARE @Balance BIGINT --剩余
- SET @RetCode = 0
- SET @CurrentAmount = 0
- SET @Balance = 0
- --判断领取筹码数是否异常
- IF(@WantedAmount IS NULL OR @WantedAmount <= 0)
- BEGIN
- SET @RetCode = 11
- SET @Remark = @Remark + ',Invalid Amount'
- INSERT INTO [ChipLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- @SourceName, @GameID, 'CASH', @UserID, 0, 0,
- 0, 0, @IPAddress, @Remark, GETDATE(), @LogType
- )
- RETURN
- END
- -------------------先检查输入参数------------------------
- IF(@UserID IS NULL OR @UserID <= 0)
- BEGIN
- SET @RetCode = 11
- SET @Remark = @Remark + ',Invalid User'
- INSERT INTO [ChipLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- @SourceName, @GameID, 'CASH', @UserID, 0, 0,
- 0, 0, @IPAddress, @Remark, GETDATE(), @LogType
- )
- RETURN
- END
- --不用提高事务隔离级别,Update 原子性操作
- --加筹码
- UPDATE
- [Chip]
- SET
- Amount = Amount + @WantedAmount, @CurrentAmount = Amount,
- @Balance = Amount + @WantedAmount
- WHERE
- UserID = @UserID
- --还没有数据
- IF(@@RowCount = 0)
- BEGIN
- INSERT INTO [Chip](UserID, Amount, Bank) VALUES(@UserID, @WantedAmount, 0)
- END
- --备注
- SET @Remark = @Remark + ' ' + ISNULL((SELECT ChineseName + ',' + LogTypeName FROM [MoneyLogType] WHERE LogType = @LogType), 'UnKnown')
- --写日志
- INSERT INTO [ChipLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- @SourceName, @GameID, 'CASH', @UserID, @CurrentAmount, @WantedAmount,
- @Balance, 0, @IPAddress, @Remark, GETDATE(), @LogType
- )
-
- --日志ID
- SET @LogID = SCOPE_IDENTITY()
- --统计
- EXEC [Game_ChipStat_Update] @UserID = @UserID, @MoneySum = @WantedAmount, @TaxSum = 0, @LogType = @LogType
- --操作成功
- SET @RetCode = 1
- RETURN @LogID
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_Chip_Reduce] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RetCode TINYINT
- -- EXEC [Game_Chip_Reduce]
- -- @UserID = 10010,
- -- @SourceName = '',
- -- @WantedAmount = 100,
- -- @LogType = 1,
- -- @IPAddress = '',
- -- @RetCode = @RetCode OUTPUT
- -- SELECT @RetCode AS RetCode
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-03
- -- Mendor: wolf
- -- Alter Date: 2014-12-02
- -- Description: 扣除筹码接口(供其他接口调用)
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_Chip_Reduce]
- @UserID INT, --用户ID
- @WantedAmount BIGINT, --操作筹码(必须>0)
- @GameID INT, --游戏ID
- @LogType INT, --日志类型
- @SourceName VARCHAR(64), --源名称
- @Remark VARCHAR(128), --备注
- @IPAddress VARCHAR(16), --IP地址
- @RetCode TINYINT OUTPUT --操作结果
- --操作结果描述:1=操作成功 11=筹码不足 12=参数异常 21=筹码锁
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @CurrentAmount BIGINT --当前筹码数
- DECLARE @ServerName NVARCHAR(32) --服务器名称
- DECLARE @LogID INT --日志ID
- DECLARE @Balance BIGINT --剩余
- SET @RetCode = 0
- SET @CurrentAmount = 0
- SET @Balance = 0
- SET @DateFlag = CONVERT(CHAR(10), GETDATE(), 120)
- --判断领取筹码数是否异常
- IF(@WantedAmount IS NULL OR @WantedAmount <= 0)
- BEGIN
- SET @RetCode = 11
- SET @Remark = @Remark + ',Invalid Amount'
- RETURN
- END
- -------------------先检查输入参数------------------------
- IF(@UserID IS NULL OR @UserID <= 0)
- BEGIN
- SET @RetCode = 11
- SET @Remark = @Remark + ',Invalid User'
- RETURN
- END
- --检查用户锁
- SELECT @ServerName = ServerName FROM [CasinoOnline] WHERE UserID = @UserID
- IF(@@ROWCOUNT > 0)
- BEGIN
- SET @RetCode = 21
- SET @Remark = @Remark + ',Hold Money Mutex, ServerName = ' + @ServerName
- RETURN
- END
- --不用提高事务隔离级别, Update 原子性
- --扣筹码
- UPDATE
- [Chip]
- SET
- Amount = Amount - @WantedAmount, @CurrentAmount = Amount, @Balance = Amount - @WantedAmount
- WHERE
- UserID = @UserID AND Amount >= @WantedAmount
- --判断是否成功
- IF(@@ROWCOUNT <= 0)
- BEGIN
- SET @RetCode = 11
- SET @Remark = @Remark + ', Reduce Fail'
- RETURN
- END
- --备注
- SET @Remark = @Remark + ' ' + ISNULL((SELECT ChineseName + ',' + LogTypeName FROM [MoneyLogType] WHERE LogType = @LogType), 'Unknown')
- --写日志
- INSERT INTO [ChipLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- @SourceName, @GameID, 'CASH', @UserID, @CurrentAmount, -@WantedAmount,
- @Balance, 0, @IPAddress, @Remark, GETDATE(), @LogType
- )
-
- --日志ID
- SET @LogID = SCOPE_IDENTITY()
- SET @WantedAmount = -@WantedAmount
-
- --统计
- EXEC [Game_ChipStat_Update] @UserID = @UserID, @MoneySum = @WantedAmount, @TaxSum = 0, @LogType = @LogType
-
- --操作成功
- SET @RetCode = 1
- RETURN @LogID
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_Chip_Transfer] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- /*************************
- 用途:保险柜转账
- 说明:税为0%、单次转账最大额1E、最小额100、
- 说明:同时判断接收方加金币不超过20E(INT最大值)
- **************************/
- CREATE PROCEDURE [dbo].[Game_Chip_Transfer]
- @UserID INT, --转账方ID
- @AcceptUserID INT, --接收方ID
- @WantAmount BIGINT, --要转多少金币,保证为正数
- @IPAddress VARCHAR(15) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @MAX_AMOUNT BIGINT --单次转账最大量
- DECLARE @MIN_AMOUNT BIGINT --单次转账最小量
- DECLARE @AcceptCurrAmount BIGINT --接收者的当前金币量
- DECLARE @TaxAmount BIGINT --税
- DECLARE @CurrAmount BIGINT --当前的金币量
- DECLARE @TotalAmount BIGINT --实际总共改变的金币量,等于@WantAmount +@TaxAmount
- DECLARE @NickName NVARCHAR(32) --昵称
- DECLARE @AcceptNickName NVARCHAR(32) --接收方昵称
- DECLARE @AcceptStillAmount BIGINT --接收者剩余金币
- DECLARE @CurrTime DATETIME --时间
- DECLARE @Msg NVARCHAR(256) --消息
- DECLARE @DailyTransferAmount BIGINT --日转账
- DECLARE @TransferAmount BIGINT --转账金额
- DECLARE @SysMsgID INT
- DECLARE @TimeStamp INT --时间戳
- DECLARE @WantAmountUnit VARCHAR(32)
- DECLARE @Fee INT --手续费率(百分制)
- DECLARE @FreeBeginTime DATETIME --免费开启时间
- DECLARE @FreeEndTime DATETIME --免费截止时间
- DECLARE @RefundBeginTime DATETIME --返额开始时间
- DECLARE @RefundEndTime DATETIME --返额截止时间
- DECLARE @RefundRatio INT --返额比率(百分制)
- DECLARE @RefundMaxAmount BIGINT --单笔返额上限(首笔)
- DECLARE @Refund BIGINT --返还金额
- DECLARE @MinAmount BIGINT --转账最低金额
-
- DECLARE @RetCode INT --操作结果
- DECLARE @ErrMsg NVARCHAR(256) --消息
- DECLARE @StillAmount BIGINT --剩余保险柜
- SET @StillAmount = 0
- SET @TaxAmount = @WantAmount * 0.01 --1%的手续费
- SET @TotalAmount = @WantAmount + @TaxAmount -- 消耗的金币 = 转出的金币+税
- SET @NickName = ''
- SET @AcceptNickName = ''
- SET @MAX_AMOUNT = 999999999999999
- SET @MIN_AMOUNT = 1
- SET @RetCode = 0
- SET @CurrTime = GETDATE()
- SET @WantAmountUnit = ''
- SET @MinAmount = 100000000
- SET @Refund = 0
-
- IF(@WantAmount IS NULL OR @WantAmount < 0)
- BEGIN
- SET @RetCode = -1
- SET @ErrMsg = N'Safe amount input error'
-
- SELECT @RetCode AS RetCode, @ErrMsg AS ErrMsg, @StillAmount AS StillAmount, @Refund AS Refund
- RETURN
- END
-
- IF(@UserID IS NULL OR @AcceptUserID IS NULL OR @UserID < 0 OR @AcceptUserID < 0)
- BEGIN
- IF @UserID IS NULL
- SET @UserID = 0
- IF @AcceptUserID IS NULL
- SET @AcceptUserID = 0
-
- INSERT INTO [ChipLog]
- (
- [GameID], [SourceName], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- 0, N'玩家转账', 'CASH', @UserID, 0, -@WantAmount,
- 0, @TaxAmount, @IPAddress, N'Safe transfer:Incoming user parameter error', @CurrTime, 0
- )
-
- SET @RetCode = -2
- SET @ErrMsg = N'User parameter error'
-
- SELECT @RetCode AS RetCode, @ErrMsg AS ErrMsg, @StillAmount AS StillAmount, @Refund AS Refund
- RETURN
- END
-
- --判断是否是自己账号
- IF(@UserID = @AcceptUserID)
- BEGIN
- SET @RetCode = -2
- SET @ErrMsg = N'User parameter error'
-
- SELECT @RetCode AS RetCode, @ErrMsg AS ErrMsg, @StillAmount AS StillAmount, @Refund AS Refund
- RETURN
- END
-
- --获取配置信息
- SELECT
- @Fee = Fee, @FreeBeginTime = FreeBeginTime, @FreeEndTime = FreeEndTime,
- @RefundBeginTime = RefundBeginTime, @RefundEndTime = RefundEndTime,
- @RefundRatio = RefundRatio, @RefundMaxAmount = RefundMaxAmount,
- @MinAmount = CASE
- WHEN @CurrTime BETWEEN MinBeginTime AND MinEndTime THEN MinAmount
- ELSE @MinAmount
- END
- FROM
- [TransferConfig]
- WHERE
- ConfigID = 1
- --有配置信息
- IF(@@ROWCOUNT > 0)
- BEGIN
- --免费
- IF(@CurrTime BETWEEN @FreeBeginTime AND @FreeEndTime)
- BEGIN
- SET @TaxAmount = 0
- END
-
- --手续费
- ELSE
- BEGIN
- SET @TaxAmount = @WantAmount * (@Fee / 100.00) --1%的手续费
- END
-
- --扣减的总金额
- SET @TotalAmount = @WantAmount + @TaxAmount
-
- --限时返额
- IF(@CurrTime BETWEEN @RefundBeginTime AND @RefundEndTime)
- BEGIN
- --判断时间段内是否是首笔
- IF NOT EXISTS(SELECT LogID FROM [ChipTransferLog] WHERE Crdate BETWEEN @RefundBeginTime AND @RefundEndTime AND UserID = @UserID)
- BEGIN
- SET @Refund = @WantAmount * (@RefundRatio / 100.00) --返还金额
-
- --是否超过返额上限
- SET @Refund = CASE
- WHEN @Refund > @RefundMaxAmount THEN @RefundMaxAmount
- ELSE @Refund
- END
- END
- END
- END
-
- IF(@WantAmount < @MIN_AMOUNT OR @WantAmount > @MAX_AMOUNT)
- BEGIN
- INSERT INTO [ChipLog]
- (
- [GameID], [SourceName], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- 0, N'玩家转账', 'CASH', @UserID, 0, -@WantAmount,
- 0, @TaxAmount, @IPAddress, N'Safe transfer:Incoming amount error', @CurrTime, 0
- )
- SET @RetCode = -3
- SET @ErrMsg = N'The transfer amount of safe exceeds the limit'
-
- SELECT @RetCode AS RetCode, @ErrMsg AS ErrMsg, @StillAmount AS StillAmount, @Refund AS Refund
- RETURN
- END
-
- --获取当前自己的昵称
- SELECT @NickName = NickName FROM [AllUser] WHERE UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [ChipLog]
- (
- [GameID], [SourceName], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- 0, N'玩家转账', 'CASH', @UserID, 0, -@WantAmount,
- 0, @TaxAmount, @IPAddress, N'Safe transfer:Incoming user parameter error', @CurrTime, 0
- )
-
- SET @RetCode = -2
- SET @ErrMsg = N'User parameter error'
-
- SELECT @RetCode AS RetCode, @ErrMsg AS ErrMsg, @StillAmount AS StillAmount, @Refund AS Refund
- RETURN
- END
-
- --获取当前自己的昵称
- SELECT @AcceptNickName = NickName FROM [AllUser] WHERE UserID = @AcceptUserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [ChipLog]
- (
- [GameID], [SourceName], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- 0, N'玩家转账', 'CASH', @UserID, 0, -@WantAmount,
- 0, @TaxAmount, @IPAddress, N'Safe transfer:Receive ID does not exist', @CurrTime, 0
- )
-
- SET @RetCode = -5
- SET @ErrMsg = N'Receive ID does not exist'
-
- SELECT @RetCode AS RetCode, @ErrMsg AS ErrMsg, @StillAmount AS StillAmount, @Refund AS Refund
- RETURN
- END
- --日转账限额
- SELECT @DailyTransferAmount = DailyTransferAmount FROM [PlatformConfig] WHERE ConfigID = 1
- --有设置转账限额
- IF(@DailyTransferAmount > 0)
- BEGIN
- --今天转账金额
- SELECT
- @TransferAmount = ISNULL(SUM(-WantAmount), 0)
- FROM
- [ChipTransferLog]
- WHERE
- Crdate >= CONVERT(CHAR(10), @CurrTime, 120) AND UserID = @UserID
- --判断是否达到上限
- IF((@TransferAmount + @WantAmount) > @DailyTransferAmount)
- BEGIN
- SET @RetCode = -9
- SET @ErrMsg = N'Up to today transfer limit'
-
- SELECT @RetCode AS RetCode, @ErrMsg AS ErrMsg, @StillAmount AS StillAmount, @Refund AS Refund
- RETURN
- END
- END
-
- SET @AcceptCurrAmount = (SELECT [Amount] FROM [Chip] WHERE [UserID] = @AcceptUserID)
- IF @AcceptCurrAmount IS NULL
- SET @AcceptCurrAmount = 0
-
- --开始金币的转账操作
- SET TRANSACTION ISOLATION LEVEL REPEATABLE READ
- BEGIN TRAN
-
- --检查用户现金
- SET @CurrAmount = (SELECT [Amount] FROM [Chip] WHERE [UserID] = @UserID)
- IF @CurrAmount IS NULL
- SET @CurrAmount = 0
-
- IF(@CurrAmount < @TotalAmount)
- BEGIN
- ROLLBACK TRAN
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
-
- INSERT INTO [ChipLog]
- (
- [GameID], [SourceName], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- 0, N'玩家转账', 'CASH', @UserID, 0, @WantAmount,
- 0, @TaxAmount, @IPAddress, N'Safe transfer:Cash is not enough', @CurrTime, 0
- )
-
- SET @RetCode = -7
- SET @ErrMsg = N'Your current safe is not less than the amount sent'
-
- SELECT @RetCode AS RetCode, @ErrMsg AS ErrMsg, @StillAmount AS StillAmount, @Refund AS Refund
- RETURN
- END
-
- --可以进行保险柜操作了
- UPDATE [Chip] SET [Amount] = [Amount] - @TotalAmount WHERE [UserID] = @UserID
-
- UPDATE [Chip] SET [Amount] = [Amount] + @WantAmount WHERE [UserID] = @AcceptUserID
-
- IF(@@RowCount = 0)
- BEGIN
- INSERT INTO [Chip]
- (
- [UserID],[Amount], bank
- )
- VALUES
- (
- @AcceptUserID, @WantAmount, 0
- )
- END
- COMMIT TRAN
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
-
- --写日志
- INSERT INTO [ChipLog]
- (
- [GameID], [SourceName], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- SELECT
- 0, N'玩家转账', 'CASH', @AcceptUserID, @AcceptCurrAmount, @WantAmount,
- @AcceptCurrAmount + @WantAmount, @TaxAmount, @IPAddress, N'Safe transfer:Receiving OK', @CurrTime, 11
-
- UNION ALL
-
- SELECT
- 0, N'玩家转账,', 'CASH', @UserID, @CurrAmount, -@WantAmount,
- @CurrAmount - @WantAmount, @TaxAmount, @IPAddress, N'Safe transfer:Send OK', @CurrTime, 111
-
- --剩余金币
- SET @StillAmount = @CurrAmount - @TotalAmount
- SET @AcceptStillAmount = @AcceptCurrAmount + @WantAmount
-
- SET @ErrMsg = N'Safe transfer succeeded, you have sent ' + CAST(@WantAmount AS VARCHAR(64)) + ',You still have the safe account ' + CAST(@StillAmount AS VARCHAR(64))
- --保险柜日志
- INSERT INTO [ChipBankLog]
- (
- UserID, ToUserID, CurrentAmount, WantedAmount, StillAmount, remark, Crdate, IPAddress
- )
- SELECT @UserID, @AcceptUserID, @CurrAmount, -@WantAmount, @StillAmount, N'Safe transfer out', @CurrTime, @IPAddress
- UNION ALL
- SELECT @AcceptUserID, @UserID, @AcceptCurrAmount, @WantAmount, @AcceptStillAmount, N'Safe transfer in', @CurrTime, @IPAddress
- --转账日志
- INSERT INTO [ChipTransferLog]
- (
- [UserID], [NickName],[CurrAmount],[WantAmount], [StillAmount],
- [AcceptUserID], [AcceptNickName], [AcceptCurrAmount], [AcceptWantAmount], [AcceptStillAmount],
- [TaxAmount], [IPAddress], [Memo], [Crdate]
- )
- VALUES
- (
- @UserID, @NickName, @CurrAmount, -@WantAmount, @StillAmount,
- @AcceptUserID, @AcceptNickName, @AcceptCurrAmount, @WantAmount, @AcceptStillAmount,
- @TaxAmount, @IPAddress, @ErrMsg, @CurrTime
- )
- SET @WantAmountUnit = CASE
- WHEN @WantAmount >= 1000000000000 THEN CAST(CAST(@WantAmount * 1.00 / 1000000000000 AS DECIMAL(18, 2)) AS VARCHAR(32)) + 'T'
- WHEN @WantAmount >= 1000000000 THEN CAST(CAST(@WantAmount * 1.00 / 1000000000 AS DECIMAL(18, 2)) AS VARCHAR(32)) + 'B'
- WHEN @WantAmount >= 1000000 THEN CAST(CAST(@WantAmount * 1.00 / 1000000 AS DECIMAL(18, 2)) AS VARCHAR(32)) + 'M'
- ELSE CAST(@WantAmount AS VARCHAR(32))
- END
- SET @Msg = N'Teman Anda ' + @NickName + ' ID' + LTRIM(STR(@UserID)) + ' memberi Anda ' + REPLACE(@WantAmountUnit, '.00', '') + ' ingot'
- SET @TimeStamp = dbo.fn_TimeToStamp(@CurrTime)
- --发送消息
- EXEC [WS_SysMessage_Send] @UserID = @AcceptUserID, @Title = N'Pemberitahuan Kedatangan Ingot', @Content = @Msg, @Status = 0, @SourceName = 'Transfer',
- @Crdate = @TimeStamp, @Tools = '', @SysMsgID = @SysMsgID OUTPUT
- --加元宝(限时返额)
- IF(@Refund > 0)
- BEGIN
- --加筹码
- EXEC [Game_Chip_Give] @UserID = @UserID, @SourceName = N'玩家转账', @GameID = 0, @WantedAmount = @Refund,
- @LogType = 44, @Remark = N'赠送返还', @IPAddress = @IPAddress, @RetCode = @RetCode OUTPUT
- END
- SET @RetCode = 1
- SELECT @RetCode AS RetCode, @ErrMsg AS ErrMsg, @StillAmount AS StillAmount, @Refund AS Refund
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_Chip_TransferLog] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_Chip_TransferLog]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-03
- -- Mendor: wolf
- -- Alter Date: 2014-12-02
- -- Description: 筹码赠送记录
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_Chip_TransferLog]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT TOP 100
- AcceptUserID, AcceptNickName, AcceptWantAmount,
- CONVERT(CHAR(16), Crdate, 120) AS Crdate
- FROM
- [ChipTransferLog]
- WHERE
- Crdate >= GETDATE() - 7 AND UserID = @UserID
- ORDER BY
- LogID DESC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_Chip_Write] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_Chip_Write]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-17
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 用户写筹码
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_Chip_Write]
- @UserID INT, --用户ID
- @SourceName NVARCHAR(64), --源名称
- @GameID INT, --游戏ID
- @Amount BIGINT, --金额
- @Tax BIGINT, --台费
- @Status TINYINT, --状态(0=无效 1=下注 2=结算 3=派奖 11=下注(扣到零为止) 12=结算(扣减到零))
- @IPAddress VARCHAR(16), --IP地址
- @Type INT, --下注或结算信息(保留)
- @Balance BIGINT OUTPUT, --写分后金额
- @RetCode TINYINT OUTPUT --操作结果 1=操作成功 2=操作成功(扣减到零) 11=操作失败 12=参数错误
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @PreAmount BIGINT --操作前金额
- DECLARE @chvRemark NVARCHAR(128) --备注
- DECLARE @CurrTime DATETIME --时间
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @WinAmount BIGINT --赢金币
- DECLARE @LoseAmount BIGINT --输金币
- DECLARE @PlaySeconds INT --游戏时长(秒)
- DECLARE @RefreshTime DATETIME --刷新时间
- DECLARE @IsRobot TINYINT --是否机器人
- SET @PreAmount = 0
- SET @Balance = 0
- SET @RetCode = 1 --假设成功
- SET @CurrTime = GETDATE()
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
- SET @WinAmount = 0
- SET @LoseAmount = 0
- SET @RefreshTime = 0
- SET @PlaySeconds = 0
- SET @IsRobot = 0
-
- --判断参数
- IF(@UserID IS NULL OR @Amount IS NULL)
- BEGIN
- SET @RetCode = 12
- RETURN
- END
-
- IF(@UserID <= 0)
- BEGIN
- SET @IsRobot = 1
- END
-
- --是否机器人
- IF EXISTS(SELECT UserID FROM [MachineUser] WHERE UserID = @UserID)
- BEGIN
- SET @IsRobot = 1
- END
- --提高事务隔离级别
- SET TRANSACTION ISOLATION LEVEL REPEATABLE READ
-
- --开启事务
- BEGIN TRAN
- --加金币
- IF(@Amount >= 0)
- BEGIN
- UPDATE
- [Chip]
- SET
- Amount = Amount + @Amount, @PreAmount = Amount, @Balance = Amount + @Amount
- WHERE
- UserID = @UserID
- IF(@@ROWCOUNT = 0)
- BEGIN
- --增加一个现金帐号
- INSERT INTO [Chip](UserID, Amount, Bank) VALUES(@UserID, @Amount, 0)
- SET @Balance = @Amount
- END
- END
- --扣减金币
- ELSE IF(@Amount < 0)
- BEGIN
- UPDATE
- [Chip]
- SET
- Amount = Amount + @Amount, @PreAmount = Amount, @Balance = Amount + @Amount
- WHERE
- UserID = @UserID AND Amount >= ABS(@Amount)
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 11
- END
- END
- --提交事务
- COMMIT TRAN
- --恢复事务隔离级别
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
-
- --操作成功
- IF(@RetCode != 1)
- BEGIN
- SET @chvRemark = ISNULL((SELECT ChineseName + ' ' + LogTypeName + ',logType=' + LTRIM(STR(LogType)) FROM [MoneyLogType] WHERE LogType = @Type), 'Unknown,logType=' + LTRIM(STR(@Type))) + ',Operate Fail'
- IF(@IsRobot = 1)
- RETURN
-
- --记录日志
- INSERT INTO [ChipLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- values
- (
- @SourceName, @GameID, 'CASH', @UserID, @PreAmount, @Amount,
- @Balance, @Tax, @IPAddress, @chvRemark, @CurrTime, @Type
- )
- RETURN
- END
-
- --机器人
- IF(@IsRobot = 1)
- RETURN
-
- --正常玩家
-
- --游戏税收统计
- IF(@Tax > 0)
- BEGIN
- UPDATE [ChipTax] SET Tax = Tax + @Tax WHERE DateFlag = @DateFlag AND ServerName = @SourceName
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [ChipTax] (DateFlag, ServerName, Tax) VALUES(@DateFlag, @SourceName, @Tax)
- END
- END
-
- SET @chvRemark = ISNULL((SELECT ChineseName + ' ' + LogTypeName + ',logType=' + LTRIM(STR(LogType)) FROM [MoneyLogType] WHERE LogType = @Type), 'Unknown,logType=' + LTRIM(STR(@Type)))
- --添加日志
- INSERT INTO [ChipLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- values
- (
- @SourceName, @GameID, 'CASH', @UserID, @PreAmount, @Amount,
- @Balance, @Tax, @IPAddress, @chvRemark, @CurrTime, @Type
- )
-
- --用戶日常统计
-
- --赢金币
- IF(@Amount > 0)
- BEGIN
- SET @WinAmount = @Amount
- END
-
- --输金币
- ELSE IF(@Amount < 0)
- BEGIN
- SET @LoseAmount = @Amount
- END
-
- --获取今天最后游戏时间
- SELECT @RefreshTime = RefreshTime FROM [UserPlayTime] WHERE UserID = @UserID
-
- --计算游戏时长
- IF(@RefreshTime >= @DateFlag)
- BEGIN
- SET @PlaySeconds = DATEDIFF(SECOND, @RefreshTime, @CurrTime)
-
- --超过5分钟
- SET @PlaySeconds = CASE WHEN @PlaySeconds >= 300 THEN 0 ELSE @PlaySeconds END
- END
-
- -- 下面更新统计
- IF(@Amount != 0 OR @Tax != 0)
- BEGIN
- --统计
- IF(@Type % 100 != 99)
- BEGIN
- --统计
- EXEC [Game_ChipStat_Update] @UserID = @UserID, @MoneySum = @Amount, @TaxSum = @Tax, @LogType = @Type
- END
- END
-
- --更新
- UPDATE
- [UserDailyStat]
- SET
- GameStart = CASE WHEN GameStart = '2021-01-01' THEN @CurrTime ELSE GameStart END, GameEnd = @CurrTime,
- PlaySeconds = PlaySeconds + @PlaySeconds
- WHERE
- DateFlag = @DateFlag AND UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserDailyStat]
- (
- DateFlag, UserID, WinAmount, LoseAmount, StillAmount, GameStart, GameEnd,
- PlaySeconds, PayMoney, LoginCount, VideoPlayTimes, VideoSendAmount
- )
- VALUES
- (
- @DateFlag, @UserID, 0, 0, 0, @CurrTime, @CurrTime,
- @PlaySeconds, 0, 0, 0, 0
- )
- END
-
- --游戏
- IF(@GameID > 0)
- BEGIN
- --刷新时间
- UPDATE [UserPlayTime] SET RefreshTime = @CurrTime WHERE UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserPlayTime](UserID, RefreshTime) VALUES(@UserID, @CurrTime)
- END
- END
- --游戏大厅离线
- IF(@Type = 99)
- BEGIN
- INSERT INTO [UserTrack](UserID, Level_1, Level_2, Level_3, Crdate) VALUES(@UserID, N'大厅', N'离线', '', @CurrTime)
- END
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_ChipBetRecord_Write] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- --EXEC [Game_ChipBetRecord_Write]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2019-06-24
- -- Mendor: wolf
- -- Alter Date: 2019-07-11
- -- Description: 服务器游戏写记录(筹码)
- -- ============================================
- CREATE PROCEDURE [dbo].[Game_ChipBetRecord_Write]
- @UserID INT, --用户ID
- @GameID INT, --游戏ID
- @BetSecBefore INT, --结算前几秒下注的
- @BetAmount BIGINT, --下注金额
- @BetZone VARCHAR(128), --下注描述
- @ResultAmount BIGINT, --输赢
- @ResultZone VARCHAR(1024), --结果描述
- @Tax BIGINT, --产生税收
- @Odds DECIMAL(10, 2), --赔率(百为基数)
- @TransType VARCHAR(32),
- @IpAddress VARCHAR(16), --IP地址
- @ServerName NVARCHAR(32) --房间名称
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @BetTime DATETIME --下注时间
- DECLARE @RecordID VARCHAR(32) --记录ID
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @Amount BIGINT --金币数
- DECLARE @Bank BIGINT --保险柜
- DECLARE @WinCount INT --赢局数
- DECLARE @WinAmount BIGINT
- DECLARE @InvestAmount BIGINT --投注额
- DECLARE @StartIndex INT --起始索引
- DECLARE @EndIndex INT --截止索引
- DECLARE @FreeType INT --免费类型
- DECLARE @Score BIGINT --积分
-
- SET @CurrTime = GETDATE()
- SET @BetTime = DATEADD(SECOND, -@BetSecBefore, @CurrTime)
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
- SET @RecordID = ''
- SET @WinCount = 0
- SET @InvestAmount = 0
- --表变量
- DECLARE @tmptable TABLE(
- OrderID UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID(), --订单ID
- UserID INT NOT NULL --用户ID
- )
-
- IF(@UserID <= 0)
- RETURN
-
- --机器人
- IF EXISTS(SELECT UserID FROM [MachineUser] WHERE UserID = @UserID)
- RETURN
- --筹码
- EXEC [Game_Chip_GetInfo] @UserID = @UserID, @Amount = @Amount OUTPUT, @Bank = @Bank OUTPUT
- --生成数据
- INSERT INTO @tmptable(UserID) VALUES(@UserID)
- --获取订单ID
- SELECT @RecordID = REPLACE(OrderID, '-', '') FROM @tmptable WHERE UserID = @UserID
- --组装成有序的订单
- SET @RecordID = RIGHT(CONVERT(CHAR(6), GETDATE(), 12), 5) + REPLACE(CONVERT(VARCHAR(16), GETDATE(), 114), ':', '') + SUBSTRING(@RecordID, 1, 2)
- --添加下注信息
- INSERT INTO [ChipBet]
- (
- RecordID, UserID, GameID, TransType, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, Tax, StillAmount, Status
- )
- VALUES
- (
- @RecordID, @UserID, @GameID, @TransType, @BetAmount, @BetTime, @BetZone, @Odds,
- @ResultAmount, @CurrTime, @ResultZone, @Tax, @Amount, 2
- )
- --计算赢局数
- SET @WinCount = CASE WHEN @ResultAmount - @BetAmount > 0 THEN 1 ELSE 0 END
- SET @WinAmount = @ResultAmount - @BetAmount
-
- IF(@GameID IN (50, 51, 52, 55, 56, 57, 58, 87))
- BEGIN
- SET @StartIndex = 1
- SET @EndIndex = 0
-
- SET @EndIndex = CHARINDEX('|', @BetZone, @StartIndex)
- IF(@EndIndex > 0)
- BEGIN
- SET @BetAmount = CAST(SUBSTRING(@BetZone, @StartIndex, @EndIndex - @StartIndex) AS BIGINT)
- SET @StartIndex = @EndIndex + 1
-
- SET @FreeType = CAST(SUBSTRING(@BetZone, @StartIndex, LEN(@BetZone) - @StartIndex + 1) AS INT)
- SET @InvestAmount = @BetAmount + CASE WHEN @FreeType = 0 THEN 3 WHEN @FreeType = 1 THEN 4 ELSE 0 END
- END
-
- --数据监控
- EXEC [Game_SlotChip_Trigger] @UserID = @UserID, @GameID = @GameID, @BetAmount = @BetAmount,
- @ResultAmount = @ResultAmount, @WinAmount = @WinAmount, @Tax = @Tax, @InvestAmount = @InvestAmount
- END
-
- --活动时间
- IF(@CurrTime BETWEEN '2022-05-02 10:00' AND '2022-05-06 23:59:59')
- BEGIN
- --计算积分
- SET @Score = CASE
- WHEN @WinAmount > 0 THEN @WinAmount / 1000 * 2 --结果为正,则玩家每1k结算金额可获得2积分
- WHEN @WinAmount < 0 THEN ABS(@WinAmount) / 1000 --结果为负,则玩家每1k结算金额可获得1积分
- ELSE 0
- END
-
- --加积分
- IF(@Score > 0)
- BEGIN
- --更新
- UPDATE [UserChipScore] SET Score = Score + @Score WHERE DateFlag = @DateFlag AND UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserChipScore](DateFlag, UserID, Score) VALUES(@DateFlag, @UserID, @Score)
- END
- END
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_ChipLoginStat_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_ChipLoginStat_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-10-17
- -- Mendor: wolf
- -- Alter Date: 2014-10-77
- -- Description: 元宝大厅登录统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_ChipLoginStat_GetList]
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME --截止时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @tmptable TABLE(
- DateFlag SMALLDATETIME NOT NULL, --日期标识
- LoginCount INT NOT NULL --登录人数
- )
- --初始化
- INSERT INTO @tmptable
- (
- DateFlag, LoginCount
- )
- SELECT
- DateFlag, LoginCount
- FROM
- [ChipLoginStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime
-
- --统计今天的
- IF(@EndTime >= CONVERT(CHAR(10), GETDATE(), 120))
- BEGIN
- --初始化
- INSERT INTO @tmptable
- (
- DateFlag, LoginCount
- )
- SELECT
- DateFlag, COUNT(DISTINCT UserID)
- FROM
- [ChipStat]
- WHERE
- DateFlag = CONVERT(CHAR(10), GETDATE(), 120) AND LogType IN (SELECT LogType FROM [MoneyLogType] WHERE IsGameWin = 1)
- GROUP BY
- DateFlag
- END
-
- --返回信息
- SELECT
- CONVERT(CHAR(10), DateFlag, 120) AS DateFlag, LoginCount
- FROM
- @tmptable
- ORDER BY
- DateFlag DESC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_ChipStat_Total] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_ChipStat_Total]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-03
- -- Mendor: wolf
- -- Alter Date: 2016-07-28
- -- Description: 每隔30分钟统计筹码总量
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_ChipStat_Total]
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @TotalAmount BIGINT --总存量
- DECLARE @TotalBank BIGINT --保险柜存量
-
- --现金总量、保险柜存量
- SELECT
- @TotalAmount = SUM(Amount), @TotalBank = SUM(Bank)
- FROM
- [Chip]
- WHERE
- UserID NOT IN (SELECT UserID FROM [MachineUser])
-
- SET @TotalAmount = ISNULL(@TotalAmount, 0)
- SET @TotalBank = ISNULL(@TotalBank, 0)
-
- --记录
- INSERT INTO [ChipStatTotal]
- (
- Crdate, TotalAmount, TotalBank
- )
- VALUES
- (
- CONVERT(CHAR(16), GETDATE(), 120), @TotalAmount, @TotalBank
- )
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_ChipStat_Update] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_ChipStat_Update]
- -- @MoneySum = 1,
- -- @TaxSum = 1,
- -- @LogType = 1
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-12
- -- Mendor: wolf
- -- Alter Date: 2014-09-02
- -- Description: 游戏筹码统计(暂时只统计普通玩家)
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_ChipStat_Update]
- @UserID INT, --用户ID
- @MoneySum BIGINT, --金币数
- @TaxSum BIGINT, --税收
- @LogType INT --日志类型
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @DateFlag SMALLDATETIME --日期标志
-
- SET @CurrTime = GETDATE()
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
-
- --更新统计信息
- UPDATE
- [ChipStat]
- SET
- MoneySum = MoneySum + @MoneySum, TaxSum = TaxSum + @TaxSum
- WHERE
- DateFlag = @DateFlag AND UserID = @UserID AND LogType = @LogType
-
- --还没有统计信息
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [ChipStat]
- (
- DateFlag, UserID, LogType, MoneySum, TaxSum
- )
- VALUES
- (
- @DateFlag, @UserID, @LogType, @MoneySum, @TaxSum
- )
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_CouponTask_Stat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_CouponTask_Stat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 红包券统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_CouponTask_Stat]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --系统时间
- DECLARE @DateFlag SMALLDATETIME --日期标识
-
- SET @CurrTime = GETDATE()
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
- SET @DateFlag = @DateFlag - 1
-
- --0点
- IF(DATEPART(HOUR, @CurrTime) != 0)
- RETURN
-
- IF(DATEPART(MINUTE, @CurrTime) > 1)
- RETURN
-
- --统计
- INSERT INTO [CouponStat]
- (
- DateFlag, CouponCount, UserCount
- )
- SELECT
- @DateFlag, SUM(CouponCount), COUNT(DISTINCT UserID)
- FROM
- [UserCouponStat]
- WHERE
- DateFlag >= @DateFlag AND DateFlag < @DateFlag + 1
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_DailyReport_Stat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_DailyReport_Stat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 每日报表统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_DailyReport_Stat]
- @CurrTime DATETIME --系统当前时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @BeginTime DATETIME --开始时间
- DECLARE @EndTime DATETIME --截止时间
- DECLARE @AvgOnlineCount INT --平均在线
- DECLARE @MaxOnlineCount INT --最高在线
- DECLARE @RegCount INT --注册用户
- DECLARE @LoginCount INT --登陆用户
- DECLARE @ActiveCount INT--活跃用户(活跃用户是指参与过游戏的用户)
- DECLARE @ReturnUserCount INT --回归用户(回归用户是指这天登录,但此前超过10天没有登录过的用户)
- DECLARE @GooglePay DECIMAL(18, 2) --google充值
- DECLARE @PayerMaxPay DECIMAL(18, 2) --payerMax充值
- DECLARE @ManualPay DECIMAL(18, 2) --手动充值
- DECLARE @PayUserCount INT --付费人数
- DECLARE @AvgPayMoney DECIMAL(18, 2) --人均付费
- DECLARE @ExchangeWithdrawAmount DECIMAL(18, 2) --兑换提现
- DECLARE @LiveUsers_1 INT --次日留存
- DECLARE @LiveUsers_3 INT --3日留存
- DECLARE @LiveUsers_7 INT --7日留存
- DECLARE @SystemStock BIGINT --系统存量
- DECLARE @SystemSend BIGINT --系统发放
- DECLARE @SystemDel BIGINT --系统回收
- DECLARE @GameSend BIGINT --游戏发放
- DECLARE @GameDel BIGINT --游戏回收
- DECLARE @PayUsers_1 INT --第1天充值人数
- DECLARE @PayMoney_1 DECIMAL(18, 2) --第1天充值金额
- DECLARE @PayMoney_2 DECIMAL(18, 2) --第2天充值金额
- DECLARE @PayMoney_3 DECIMAL(18, 2) --第3天充值金额
- DECLARE @PayMoney_7 DECIMAL(18, 2) --第7天充值金额
- DECLARE @PlatformName VARCHAR(32) --平台名称
- DECLARE @Rate INT --比率
- DECLARE @GoldSend BIGINT --币商充值
- DECLARE @GoldSendUsers INT --币商充值用户数
- DECLARE @GoldDel BIGINT --币商支出
- DECLARE @GoldDelUsers INT --币商支出用户数
-
- --表变量
- DECLARE @tmptable TABLE(
- LogType INT NOT NULL, --日志类型
- Amount BIGINT NOT NULL --金额
- )
-
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime - 1, 120)
- SET @BeginTime = @DateFlag
- SET @EndTime = CONVERT(CHAR(11), @DateFlag, 120) + '23:59:59'
- SET @Rate = 1
-
- SELECT
- @AvgOnlineCount = AvgOnlineCount, @MaxOnlineCount = MaxOnlineCount,
- @LoginCount = LoginCount, @ActiveCount = ActiveCount, @ReturnUserCount = ReturnUserCount,
- @PayUserCount = PayUserCount, @AvgPayMoney = AvgPayMoney,
- @RegCount = RegCount, @LiveUsers_1 = LiveUsers_1, @LiveUsers_3 = LiveUsers_3, @LiveUsers_7 = LiveUsers_7
- FROM
- [DailyStat]
- WHERE
- DateFlag = @DateFlag
-
- --平台名称
- SELECT @PlatformName = PlatformName FROM [PlatformConfig] WHERE ConfigID = 1
- IF(@PlatformName IN ('Egypt'))
- BEGIN
- SET @Rate = 100
- END
- --=======================================1=用户数据==============================================
- INSERT INTO [DailyReport]
- (
- DateFlag, ItemName, ItemValue, ItemType, ItemTag, Crdate
- )
- SELECT @DateFlag, N'平均在线', @AvgOnlineCount, 1, 1, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'最高在线', @MaxOnlineCount, 1, 1, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'登录用户', @LoginCount, 1, 1, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'游戏用户', @ActiveCount, 1, 1, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'回归用户', @ReturnUserCount, 1, 1, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'付费人数', @PayUserCount, 1, 2, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'人均付费', @AvgPayMoney / @Rate, 1, 2, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'付费率', CAST(@PayUserCount * 100.00 / ISNULL(@LoginCount, 1) AS DECIMAL(18, 2)), 1, 2, @CurrTime
-
- --=======================================2=充值提现数据==============================================
- --谷歌充值
- SELECT @GooglePay = SUM(Price / @Rate) FROM [GoogleSuccessLog] WHERE Crdate BETWEEN @BeginTime AND @EndTime
- IF(@GooglePay >= 0)
- BEGIN
- INSERT INTO [DailyReport]
- (
- DateFlag, ItemName, ItemValue, ItemType, ItemTag, Crdate
- )
- VALUES
- (
- @DateFlag, N'谷歌充值', @GooglePay, 2, 1, @CurrTime
- )
- END
-
- --PayerMaxPay
- SELECT @PayerMaxPay = SUM(Price / @Rate) FROM [PayerMaxPay] WHERE Crdate BETWEEN @BeginTime AND @EndTime
- IF(@PayerMaxPay >= 0)
- BEGIN
- INSERT INTO [DailyReport]
- (
- DateFlag, ItemName, ItemValue, ItemType, ItemTag, Crdate
- )
- VALUES
- (
- @DateFlag, N'Payermax充值', @PayerMaxPay, 2, 1, @CurrTime
- )
- END
-
- --手动充值
- SELECT @ManualPay = SUM(Price / @Rate) FROM [ManualPay] WHERE Crdate BETWEEN @BeginTime AND @EndTime
- IF(@ManualPay >= 0)
- BEGIN
- INSERT INTO [DailyReport]
- (
- DateFlag, ItemName, ItemValue, ItemType, ItemTag, Crdate
- )
- VALUES
- (
- @DateFlag, N'手动充值', @ManualPay, 2, 1, @CurrTime
- )
- END
-
- --兑换提现
- SELECT
- @ExchangeWithdrawAmount = SUM(e.Amount)
- FROM
- [Exchange] e INNER JOIN [ExchangeHistory] h ON e.Id = h.ExchangeID
- WHERE
- h.Crdate BETWEEN @BeginTime AND @EndTime AND e.Amount > 0
-
- SET @ExchangeWithdrawAmount = ISNULL(@ExchangeWithdrawAmount, 0)
-
- INSERT INTO [DailyReport]
- (
- DateFlag, ItemName, ItemValue, ItemType, ItemTag, Crdate
- )
- VALUES
- (
- @DateFlag, N'兑换提现', @ExchangeWithdrawAmount, 2, 2, @CurrTime
- )
-
- --币商充值
- SELECT
- @GoldSend = SUM(WantAmount), @GoldSendUsers = COUNT(DISTINCT AcceptUserID)
- FROM
- [TransferLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID IN (29803034)
- IF(@GoldSend != 0)
- BEGIN
- INSERT INTO [DailyReport]
- (
- DateFlag, ItemName, ItemValue, ItemType, ItemTag, Crdate
- )
- SELECT @DateFlag, N'币商充值', ABS(@GoldSend) / 10500, 2, 1, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'币商充值人数', @GoldSendUsers, 2, 90, @CurrTime
- END
-
- --币商支出
- SELECT
- @GoldDel = SUM(WantAmount), @GoldDelUsers = COUNT(DISTINCT UserID)
- FROM
- [TransferLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND AcceptUserID IN (29803034)
-
- IF(@GoldDel != 0)
- BEGIN
- INSERT INTO [DailyReport]
- (
- DateFlag, ItemName, ItemValue, ItemType, ItemTag, Crdate
- )
- SELECT @DateFlag, N'币商支出', ABS(@GoldDel) / 11500, 2, 2, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'币商支出人数', @GoldDelUsers, 2, 91, @CurrTime
- END
-
- --=======================================3=注册留存==============================================
- SELECT
- @PayUsers_1 = PayUsers_1, @PayMoney_1 = PayMoney_1, @PayMoney_2 = PayMoney_2,
- @PayMoney_3 = PayMoney_3, @PayMoney_7 = PayMoney_7
- FROM
- [NewUserStat]
- WHERE
- DateFlag = @DateFlag AND Source = 'All Source'
-
- --注册用户数
- INSERT INTO [DailyReport]
- (
- DateFlag, ItemName, ItemValue, ItemType, ItemTag, Crdate
- )
- SELECT @DateFlag, N'注册用户', @RegCount, 3, 1, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'次日留存', @LiveUsers_1, 3, 2, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'次日留存率', CAST(@LiveUsers_1 * 100.00 / ISNULL(@RegCount, 1) AS DECIMAL(18, 2)), 3, 2, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'3日留存', @LiveUsers_3, 3, 2, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'3日留存率', CAST(@LiveUsers_3 * 100.00 / ISNULL(@RegCount, 1) AS DECIMAL(18, 2)), 3, 2, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'7日留存', @LiveUsers_7, 3, 2, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'7日留存率', CAST(@LiveUsers_7 * 100.00 / ISNULL(@RegCount, 1) AS DECIMAL(18, 2)), 3, 2, @CurrTime
- /*
- UNION ALL
- SELECT @DateFlag, N'当日充值人数', @PayUsers_1, 3, 3, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'当日充值', @PayMoney_1 / @Rate, 3, 3, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'次日充值', @PayMoney_2 / @Rate, 3, 3, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'3日充值', @PayMoney_3 / @Rate, 3, 3, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'7日充值', @PayMoney_7 / @Rate, 3, 3, @CurrTime
- */
-
- --=======================================4=金币收支==============================================
- --系统存量
- SELECT @SystemStock = SUM(TotalAmount + TotalBank) FROM [MoneyStatTotal] WHERE Crdate = @DateFlag + 1
- SET @SystemStock = ISNULL(@SystemStock, 0)
-
- --初始化表变量
- INSERT INTO @tmptable(LogType, Amount)
- SELECT
- LogType, SUM(MoneySum)
- FROM
- [MoneyStat]
- WHERE
- DateFlag = @DateFlag AND UserID NOT IN (SELECT UserID FROM [MachineUser])
- GROUP BY
- LogType
-
- --系统发放、系统回收
- SELECT
- @SystemSend = SUM(CASE WHEN Amount > 0 THEN Amount ELSE 0 END),
- @SystemDel = SUM(CASE WHEN Amount < 0 THEN Amount ELSE 0 END)
- FROM
- @tmptable
- WHERE
- LogType < 1000
-
- SET @SystemSend = ISNULL(@SystemSend, 0)
- SET @SystemDel = ISNULL(@SystemDel, 0)
-
- --游戏发放、游戏回收
- SELECT
- @GameSend = SUM(CASE WHEN Amount > 0 THEN Amount ELSE 0 END),
- @GameDel = SUM(CASE WHEN Amount < 0 THEN Amount ELSE 0 END)
- FROM
- @tmptable
- WHERE
- LogType >= 1000
-
- SET @GameSend = ISNULL(@GameSend, 0)
- SET @GameDel = ISNULL(@GameDel, 0)
-
- INSERT INTO [DailyReport]
- (
- DateFlag, ItemName, ItemValue, ItemType, ItemTag, Crdate
- )
- SELECT @DateFlag, N'金币存量', @SystemStock, 4, 1, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'系统发放', @SystemSend, 4, 2, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'系统回收', @SystemDel, 4, 2, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'游戏发放', @GameSend, 4, 3, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'游戏回收', @GameDel, 4, 3, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'游戏净回收', @GameDel + @GameSend, 4, 3, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'回收率', CAST((@GameDel + @GameSend) * 100.00 / ISNULL(@GameDel, 1) AS DECIMAL(18, 2)), 4, 3, @CurrTime
-
- --=======================================初始化==============================================
- INSERT INTO [DailyReport]
- (
- DateFlag, ItemName, ItemValue, ItemType, ItemTag, Crdate
- )
- SELECT @DateFlag, N'总收入', 0, 2, 100, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'总支出', 0, 2, 101, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'投放成本', 0, 2, 102, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'收入/投放', 0, 2, 103, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'提现/充值', 0, 2, 104, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'充提差', 0, 2, 105, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'毛利', 0, 2, 106, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'ArpuDau', 0, 1, 101, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'Arppu', 0, 1, 102, @CurrTime
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_DailyStat_Stat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_DailyStat_Stat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 日常统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_DailyStat_Stat]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @AvgOnlineCount INT --平均在线
- DECLARE @MaxOnlineCount INT --最高在线
- DECLARE @RegCount INT --注册用户
- DECLARE @LoginCount INT --登陆用户
- DECLARE @ActiveCount INT--活跃用户(活跃用户是指参与过游戏的用户)
- DECLARE @PayMoney DECIMAL(18, 2) --充值
- DECLARE @CosumeAmount INT --消耗货币(消耗货币是指昨日的货币总额变化数量)
- DECLARE @PayUserCount INT --付费人数
- DECLARE @AvgPayMoney DECIMAL(18, 2) --人均付费
- DECLARE @LiveUsers_1 INT --次日留存
- DECLARE @LiveUsers_3 INT --3日留存
- DECLARE @LiveUsers_7 INT --7日留存
- DECLARE @ReturnUserCount INT --回归用户(回归用户是指这天登录,但此前超过10天没有登录过的用户)
- DECLARE @YesterDayUserCount INT --昨天登录用户数
- DECLARE @LoginUserCount INT --最近10天登陆的用户数
- DECLARE @VideoPlayTimes INT --视频广告播放次数
- DECLARE @VideoSendAmount BIGINT --视频广告播放赠送金币
-
- DECLARE @tmpBet TABLE(
- UserID INT NOT NULL --用户ID
- )
- --表变量
- DECLARE @tmpUser TABLE(UserID INT NOT NULL)
- SET @DateFlag = CONVERT(CHAR(10), GETDATE(), 120)
- --获取昨天在线
- SELECT
- @AvgOnlineCount = AVG(OnlineUserCount), @MaxOnlineCount = MAX(OnlineUserCount)
- FROM
- [OnlineStat]
- WHERE
- DateFlag >= @DateFlag - 1 AND DateFlag < @DateFlag AND PartnerID = -1
- --注册用户(当天的零点,就是前一天的结点)
- SELECT TOP 1 @RegCount = UserCount FROM [RegStat] WHERE DateFlag >= @DateFlag ORDER BY DateFlag ASC
- --登陆用户
- SELECT
- @LoginCount = COUNT(DISTINCT UserID)
- FROM
- [UserLoginLog_bak]
- WHERE
- Crdate >= @DateFlag - 1 AND Crdate < @DateFlag AND UserID NOT IN (SELECT UserID FROM [MachineUser])
-
- --下注用户
- INSERT INTO @tmpBet(UserID)
- SELECT UserID FROM [Bet] WHERE BetTime >= @DateFlag - 1 AND BetTime < @DateFlag
- UNION ALL
- SELECT UserID FROM [BetInfoHistory] WHERE BetTime >= @DateFlag - 1 AND BetTime < @DateFlag
- --活跃用户(活跃用户是指参与过游戏的用户)
- SELECT
- @ActiveCount = COUNT(DISTINCT UserID)
- FROM
- @tmpBet
- WHERE
- UserID NOT IN (SELECT UserID FROM [MachineUser])
- --充值、付费人数
- SELECT
- @PayMoney = ISNULL(SUM(RMBMoney), 0), @PayUserCount = COUNT(DISTINCT UserID)
- FROM
- [UserPayLog]
- WHERE
- DateFlag = @DateFlag - 1 AND UserID NOT IN (SELECT UserID FROM [MachineUser])
- --平均付费
- SET @AvgPayMoney = @PayMoney / CASE WHEN @PayUserCount = 0 THEN 1 ELSE @PayUserCount END
- --留存统计
- SELECT
- @LiveUsers_1 = LiveUsers_1, @LiveUsers_3 = LiveUsers_3, @LiveUsers_7 = LiveUsers_7
- FROM
- [LiveStat]
- WHERE
- DateFlag = @DateFlag - 1 AND PartnerID = 1
- --昨天登陆的用户(排除注册用户)
- INSERT INTO @tmpUser(UserID)
- SELECT UserID FROM [AllUser] WHERE LoginTime >= @DateFlag - 1 AND RegTime < @DateFlag - 1 AND UserID NOT IN (SELECT UserID FROM [MachineUser])
- --昨天登陆的用户数
- SET @YesterDayUserCount = @@ROWCOUNT
- --最近10天登陆的用户数
- SELECT
- @LoginUserCount = COUNT(DISTINCT u.UserID)
- FROM
- [UserLoginLog_bak] b INNER JOIN @tmpUser u ON b.UserID = u.UserID
- WHERE
- b.Crdate >= @DateFlag - 11 AND b.Crdate < @DateFlag - 1
- --回归用户(回归用户是指这天登录,但此前超过10天没有登录过的用户)
- SELECT @ReturnUserCount = @YesterDayUserCount - @LoginUserCount
-
- --视频广告
- SELECT
- @VideoPlayTimes = SUM(VideoPlayTimes), @VideoSendAmount = SUM(VideoSendAmount)
- FROM
- [UserDailyStat]
- WHERE
- DateFlag = @DateFlag - 1
- SELECT
- @AvgOnlineCount = ISNULL(@AvgOnlineCount, 0), @MaxOnlineCount = ISNULL(@MaxOnlineCount, 0),
- @RegCount = ISNULL(@RegCount, 0), @LoginCount = ISNULL(@LoginCount, 0),
- @ActiveCount = ISNULL(@ActiveCount, 0), @PayMoney = ISNULL(@PayMoney, 0),
- @CosumeAmount = ISNULL(@CosumeAmount, 0), @PayUserCount = ISNULL(@PayUserCount, 0),
- @AvgPayMoney = ISNULL(@AvgPayMoney, 0), @LiveUsers_1 = ISNULL(@LiveUsers_1, 0),
- @LiveUsers_3 = ISNULL(@LiveUsers_3, 0), @LiveUsers_7 = ISNULL(@LiveUsers_7, 0),
- @ReturnUserCount = ISNULL(@ReturnUserCount, 0), @VideoPlayTimes = ISNULL(@VideoPlayTimes, 0),
- @VideoSendAmount = ISNULL(@VideoSendAmount, 0)
- --记录
- INSERT INTO [DailyStat]
- (
- DateFlag, AvgOnlineCount, MaxOnlineCount, RegCount, LoginCount, ActiveCount, PayMoney,
- CosumeAmount, PayUserCount, AvgPayMoney, LiveUsers_1, LiveUsers_3, LiveUsers_7, ReturnUserCount,
- VideoPlayTimes, VideoSendAmount
- )
- VALUES
- (
- @DateFlag - 1, @AvgOnlineCount, @MaxOnlineCount, @RegCount, @LoginCount, @ActiveCount, @PayMoney,
- @CosumeAmount, @PayUserCount, @AvgPayMoney, @LiveUsers_1, @LiveUsers_3, @LiveUsers_7, @ReturnUserCount,
- @VideoPlayTimes, @VideoSendAmount
- )
-
- --更新次日留存
- --UPDATE [DailyStat] SET TodayLiveCount = @TodayLiveCount WHERE DateFlag = @DateFlag - 2
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_GameDailyStat_Stat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_GameDailyStat_Stat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 游戏日常统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_GameDailyStat_Stat]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DateFlag SMALLDATETIME --日期标识
-
- DECLARE @tmpOnline TABLE(
- GameID INT NOT NULL, --游戏ID
- ServerName NVARCHAR(32) NOT NULL, --服务器名称
- AvgOnlineCount INT NOT NULL, --平均在线
- MaxOnlineCount INT NOT NULL --最高在线
- )
-
- --游戏日常统计
- DECLARE @tmptable TABLE(
- GameID INT NOT NULL, --游戏ID
- ServerName NVARCHAR(32) NOT NULL, --服务器名称
- AvgOnlineCount INT NOT NULL, --平均在线
- MaxOnlineCount INT NOT NULL, --最高在线
- ActiveCount INT NOT NULL, --活跃用户(指有消耗的用户数)
- BetAmount BIGINT NOT NULL, --下注金额
- ResultAmount BIGINT NOT NULL --结算金额
- )
-
- SET @DateFlag = CONVERT(CHAR(10), GETDATE(), 120)
-
- --初始化表变量
- INSERT INTO @tmptable
- (
- GameID, ServerName, AvgOnlineCount, MaxOnlineCount, BetAmount, ResultAmount, ActiveCount
- )
- SELECT
- GameID, ServerName, 0, 0, SUM(BetAmount), SUM(ResultAmount), COUNT(DISTINCT UserID)
- FROM
- [DailyBetStat]
- WHERE
- DateFlag >= @DateFlag - 1 AND DateFlag < @DateFlag
- GROUP BY
- GameID, ServerName
-
- --在线统计
- INSERT INTO @tmpOnline
- (
- GameID, ServerName, AvgOnlineCount, MaxOnlineCount
- )
- SELECT
- GameID, ServerName, AVG(OnlineUserCount), MAX(OnlineUserCount)
- FROM
- [OnlineStat]
- WHERE
- DateFlag >= @DateFlag - 1 AND DateFlag < @DateFlag AND GameID > 0
- GROUP BY
- GameID, ServerName
- --获取在线统计
- UPDATE
- t
- SET
- t.AvgOnlineCount = o.AvgOnlineCount, t.MaxOnlineCount = o.MaxOnlineCount
- FROM
- @tmptable t INNER JOIN @tmpOnline o ON t.GameID = o.GameID AND t.ServerName = o.ServerName
- --记录
- INSERT INTO [GameDailyStat]
- (
- DateFlag, GameID, ServerName, AvgOnlineCount, MaxOnlineCount, ActiveCount, BetAmount, ResultAmount
- )
- SELECT
- @DateFlag - 1, GameID, ServerName, AvgOnlineCount, MaxOnlineCount, ActiveCount, BetAmount, ResultAmount
- FROM
- @tmptable
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_GameData_GetRecordList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_GameData_GetRecordList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-06-25
- -- Mendor: wolf
- -- Alter Date: 2016-11-03
- -- Description: 查询记录
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_GameData_GetRecordList]
- @UserID INT, --用户ID
- @GameID INT, --游戏ID
- @RoomName VARCHAR(32), --房间名称
- @RecordCount INT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RowCount INT --行数
- --表变量
- DECLARE @tmptable TABLE(RoomData VARCHAR(512) NOT NULL)
-
- --查询记录
- INSERT INTO @tmptable(RoomData)
- SELECT TOP (@RecordCount)
- RoomData
- FROM
- [GameData]
- WHERE
- UserID = @UserID AND GameID = @GameID AND RoomName = @RoomName
- ORDER BY
- Rid DESC
- --行数
- SET @RowCount = @@ROWCOUNT
- --记录数不够
- IF(@RowCount < @RecordCount)
- BEGIN
- --查询记录
- INSERT INTO @tmptable(RoomData)
- SELECT TOP (@RecordCount - @RowCount)
- RoomData
- FROM
- [GameDataHistory]
- WHERE
- UserID = @UserID AND GameID = @GameID AND RoomName = @RoomName
- ORDER BY
- Rid DESC
- END
- SELECT RoomData FROM @tmptable
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_GameData_WriteRecord] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_GameData_WriteRecord]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-06-25
- -- Mendor: wolf
- -- Alter Date: 2016-11-03
- -- Description: 游戏数据写记录
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_GameData_WriteRecord]
- @UserID INT, --用户ID
- @GameID INT, --游戏ID
- @RoomName VARCHAR(32), --房间名称
- @RoomData VARCHAR(512) --房间数据
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- RETURN
-
- --记录数据
- INSERT INTO [GameData]
- (
- UserID, GameID, RoomName, RoomData, Crdate
- )
- VALUES
- (
- @UserID, @GameID, @RoomName, @RoomData, GETDATE()
- )
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_GameReport_Stat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_GameReport_Stat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 游戏报表统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_GameReport_Stat]
- @CurrTime DATETIME
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DateFlag SMALLDATETIME --日期标识
-
- --表变量
- DECLARE @tmptable TABLE(
- LogType INT NOT NULL, --日志类型
- GameID INT NOT NULL, --游戏ID
- ChineseName NVARCHAR(32) NOT NULL, --游戏名称
- Amount BIGINT NOT NULL --金额
- )
-
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime - 1, 120)
- --初始化表变量
- INSERT INTO @tmptable(LogType, GameID, ChineseName, Amount)
- SELECT
- LogType, 0, '', SUM(MoneySum + TaxSum)
- FROM
- [MoneyStat]
- WHERE
- DateFlag = @DateFlag AND UserID NOT IN (SELECT UserID FROM [MachineUser]) AND LogType >= 1000
- GROUP BY
- LogType
-
- --获取游戏信息
- UPDATE
- t
- SET
- t.GameID = m.GameID, t.ChineseName = m.ChineseName
- FROM
- @tmptable t INNER JOIN [MoneyLogType] m ON t.LogType = m.LogType
-
- --游戏发行
- INSERT INTO [GameReport]
- (
- DateFlag, ItemName, ItemValue, ItemType, ItemTag, Crdate
- )
- SELECT
- @DateFlag, ChineseName + N'发行', SUM(Amount), GameID, 1, @CurrTime
- FROM
- @tmptable
- WHERE
- Amount > 0
- GROUP BY
- ChineseName, GameID
-
- --游戏消耗
- INSERT INTO [GameReport]
- (
- DateFlag, ItemName, ItemValue, ItemType, ItemTag, Crdate
- )
- SELECT
- @DateFlag, ChineseName + N'消耗', SUM(Amount), GameID, 2, @CurrTime
- FROM
- @tmptable
- WHERE
- Amount < 0
- GROUP BY
- ChineseName, GameID
-
- --游戏净消耗
- INSERT INTO [GameReport]
- (
- DateFlag, ItemName, ItemValue, ItemType, ItemTag, Crdate
- )
- SELECT
- @DateFlag, ChineseName + N'净消耗', SUM(Amount), GameID, 3, @CurrTime
- FROM
- @tmptable
- GROUP BY
- ChineseName, GameID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_Issue_Stat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_Issue_Stat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 发行统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_Issue_Stat]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @LoginUserCount INT --登录用户数
- DECLARE @PayMoney DECIMAL(18, 2) --充值金额
- DECLARE @PayUserCount INT --充值人数
- DECLARE @GameUserCount_1 INT --1局以上玩牌人数
- DECLARE @GameUserCount_3 INT --3局以上玩牌人数
- DECLARE @GameUserCount_7 INT --7局以上玩牌人数
- DECLARE @SubsidyUserCount INT --破产人数
- DECLARE @RegUserCount INT --注册用户数
- DECLARE @GuideStempUserCount INT --新手引导玩家数
- DECLARE @LiveRegUserCount INT --留存注册用户数
- DECLARE @LiveLoginUserCount INT --留存登录用户数
- DECLARE @TodaySeconds INT --今天在线时长
-
- -- 登录用户表变量
- DECLARE @tmpLoginUser TABLE(
- UserID INT NOT NULL, --用户ID
- RegTime DATETIME NOT NULL, --注册时间
- PayMoney DECIMAL(18, 2) NOT NULL, --充值金额
- GameCount INT NOT NULL, --游戏局数
- IsGuideStep TINYINT NOT NULL, --是否新手引导
- IsSubsidy TINYINT NOT NULL, --是否破产
- TodaySeconds INT NOT NULL --今天在线时长
- )
- --表变量
- DECLARE @tmptable TABLE(
- Rid INT IDENTITY NOT NULL, --标识
- ItemType TINYINT NOT NULL, --项类型(1=总盘 2=新玩家 3=老玩家)
- ItemName NVARCHAR(32) NOT NULL, --项名称
- ItemValue DECIMAL(18, 2) NOT NULL --项值
- )
-
- SET @DateFlag = CONVERT(CHAR(10), GETDATE() - 1, 120)
- SET @LoginUserCount = 0
- SET @PayMoney = 0
- SET @PayUserCount = 0
- SET @GameUserCount_1 = 0
- SET @GameUserCount_3 = 0
- SET @GameUserCount_7 = 0
- SET @SubsidyUserCount = 0
- SET @RegUserCount = 0
- SET @GuideStempUserCount = 0
- SET @LiveRegUserCount = 0
- SET @LiveLoginUserCount = 0
- SET @TodaySeconds = 0
-
- --初始化表变量
- INSERT INTO @tmpLoginUser
- (
- UserID, RegTime, PayMoney, GameCount, IsGuideStep, IsSubsidy, TodaySeconds
- )
- SELECT
- UserID, RegTime, 0, 0, 0, 0, 0
- FROM
- [AllUser]
- WHERE
- LoginTime >= @DateFlag
-
- --获取充值金额
- UPDATE
- t
- SET
- t.PayMoney = p.RMBMoney
- FROM
- @tmpLoginUser t INNER JOIN [UserPayLog] p ON t.UserID = p.UserID AND p.DateFlag = @DateFlag
-
- --游戏局数
- UPDATE
- t
- SET
- t.GameCount = b.TotalCount
- FROM
- @tmpLoginUser t INNER JOIN [DailyBetStat] b ON t.UserID = b.UserID
- WHERE
- b.DateFlag = @DateFlag AND b.GameID IN (37)
- --新手引导
- UPDATE
- t
- SET
- t.IsGuideStep = 1
- FROM
- @tmpLoginUser t INNER JOIN [UserTask] ut ON t.UserID = ut.UserID AND ut.TaskID = 20014 AND ut.Scheduled > 0
- WHERE
- t.RegTime >= @DateFlag
-
- --破产补助
- UPDATE
- t
- SET
- t.IsSubsidy = 1
- FROM
- @tmpLoginUser t INNER JOIN [UserSubsidy] us ON t.UserID = us.UserID AND us.Crdate >= @DateFlag AND us.GiftTimes > 0
-
- --今天在线时长
- UPDATE
- t
- SET
- t.TodaySeconds = o.TodaySeconds
- FROM
- @tmpLoginUser t INNER JOIN [t_onlinetime] o ON t.UserID = o.UserID
-
- --------------------------------------大盘-------------------------------------------------
- --统计
- SELECT
- @LoginUserCount = COUNT(UserID), @PayMoney = ISNULL(SUM(PayMoney), 0),
- @PayUserCount = ISNULL(SUM(CASE WHEN PayMoney > 0 THEN 1 ELSE 0 END), 0),
- @GameUserCount_1 = ISNULL(SUM(CASE WHEN GameCount >= 1 THEN 1 ELSE 0 END), 0),
- @GameUserCount_3 = ISNULL(SUM(CASE WHEN GameCount >= 3 THEN 1 ELSE 0 END), 0),
- @GameUserCount_7 = ISNULL(SUM(CASE WHEN GameCount >= 7 THEN 1 ELSE 0 END), 0),
- @SubsidyUserCount = ISNULL(SUM(IsSubsidy), 0)
- FROM
- @tmpLoginUser
-
- --记录
- INSERT INTO @tmptable
- (
- ItemType, ItemName, ItemValue
- )
- SELECT 1, N'DAU', @LoginUserCount
- UNION ALL
- SELECT 1, N'充值金额', @PayMoney
- UNION ALL
- SELECT 1, N'充值人数', @PayUserCount
- UNION ALL
- SELECT 1, N'付费率', CAST(@PayUserCount * 100.00 / CASE WHEN @LoginUserCount = 0 THEN 1 ELSE ISNULL(@LoginUserCount, 1) END AS DECIMAL(18, 2))
- UNION ALL
- SELECT 1, N'ARPU', CAST(@PayMoney * 1.00 / CASE WHEN @LoginUserCount = 0 THEN 1 ELSE ISNULL(@LoginUserCount, 1) END AS DECIMAL(18, 2))
- UNION ALL
- SELECT 1, N'ARPPU', CAST(@PayMoney * 1.00 / CASE WHEN @PayUserCount = 0 THEN 1 ELSE ISNULL(@PayUserCount, 1) END AS DECIMAL(18, 2))
- UNION ALL
- SELECT 1, N'三局玩牌率', CAST(@GameUserCount_3 * 100.00 / CASE WHEN @GameUserCount_1 = 0 THEN 1 ELSE ISNULL(@GameUserCount_1, 1) END AS DECIMAL(18, 2))
- UNION ALL
- SELECT 1, N'七局玩牌率', CAST(@GameUserCount_7 * 100.00 / CASE WHEN @GameUserCount_1 = 0 THEN 1 ELSE ISNULL(@GameUserCount_1, 1) END AS DECIMAL(18, 2))
- UNION ALL
- SELECT 1, N'破产率', CAST(@SubsidyUserCount * 100.00 / CASE WHEN @LoginUserCount = 0 THEN 1 ELSE ISNULL(@LoginUserCount, 1) END AS DECIMAL(18, 2))
- UNION ALL
- SELECT 1, N'日活次留率', 0
-
- --清空数据
- SET @LoginUserCount = 0
- SET @PayMoney = 0
- SET @PayUserCount = 0
- SET @GameUserCount_1 = 0
- SET @GameUserCount_3 = 0
- SET @GameUserCount_7 = 0
- SET @SubsidyUserCount = 0
- SET @TodaySeconds = 0
-
- --------------------------------------新玩家-------------------------------------------------
- --统计
- SELECT
- @RegUserCount = COUNT(UserID), @PayMoney = ISNULL(SUM(PayMoney), 0),
- @PayUserCount = ISNULL(SUM(CASE WHEN PayMoney > 0 THEN 1 ELSE 0 END), 0),
- @GuideStempUserCount = ISNULL(SUM(IsGuideStep), 0), @SubsidyUserCount = ISNULL(SUM(IsSubsidy), 0),
- @GameUserCount_1 = ISNULL(SUM(CASE WHEN GameCount >= 1 THEN 1 ELSE 0 END), 0),
- @TodaySeconds = ISNULL(SUM(TodaySeconds), 0)
- FROM
- @tmpLoginUser
- WHERE
- RegTime >= @DateFlag
-
- --记录
- INSERT INTO @tmptable
- (
- ItemType, ItemName, ItemValue
- )
- SELECT 2, N'新增注册', @RegUserCount
- UNION ALL
- SELECT 2, N'充值金额', @PayMoney
- UNION ALL
- SELECT 2, N'充值人数', @PayUserCount
- UNION ALL
- SELECT 2, N'付费率', CAST(@PayUserCount * 100.00 / CASE WHEN @RegUserCount = 0 THEN 1 ELSE ISNULL(@RegUserCount, 1) END AS DECIMAL(18, 2))
- UNION ALL
- SELECT 2, N'新手引导率', CAST(@GuideStempUserCount * 100.00 / CASE WHEN @RegUserCount = 0 THEN 1 ELSE ISNULL(@RegUserCount, 1) END AS DECIMAL(18, 2))
- UNION ALL
- SELECT 2, N'开局率', CAST(@GameUserCount_1 * 100.00 / CASE WHEN @RegUserCount = 0 THEN 1 ELSE ISNULL(@RegUserCount, 1) END AS DECIMAL(18, 2))
- UNION ALL
- SELECT 2, N'破产率', CAST(@SubsidyUserCount * 100.00 / CASE WHEN @RegUserCount = 0 THEN 1 ELSE ISNULL(@RegUserCount, 1) END AS DECIMAL(18, 2))
- UNION ALL
- SELECT 2, N'ARPU', CAST(@PayMoney * 1.00 / CASE WHEN @RegUserCount = 0 THEN 1 ELSE ISNULL(@RegUserCount, 1) END AS DECIMAL(18, 2))
- UNION ALL
- SELECT 2, N'ARPPU', CAST(@PayMoney * 1.00 / CASE WHEN @PayUserCount = 0 THEN 1 ELSE ISNULL(@PayUserCount, 1) END AS DECIMAL(18, 2))
- UNION ALL
- SELECT 2, N'次留率', 0
- UNION ALL
- SELECT 2, N'人均时长', CAST(@TodaySeconds * 1.00 / CASE WHEN @RegUserCount = 0 THEN 1 ELSE ISNULL(@RegUserCount, 1) END AS DECIMAL(18, 2))
-
- --清空数据
- SET @LoginUserCount = 0
- SET @RegUserCount = 0
- SET @PayMoney = 0
- SET @PayUserCount = 0
- SET @GuideStempUserCount = 0
- SET @SubsidyUserCount = 0
- SET @GameUserCount_1 = 0
- SET @GameUserCount_3 = 0
- SET @GameUserCount_7 = 0
- SET @TodaySeconds = 0
-
- --------------------------------------老玩家-------------------------------------------------
- --统计
- SELECT
- @LoginUserCount = COUNT(UserID), @PayMoney = SUM(PayMoney),
- @PayUserCount = ISNULL(SUM(CASE WHEN PayMoney > 0 THEN 1 ELSE 0 END), 0),
- @GameUserCount_1 = ISNULL(SUM(CASE WHEN GameCount >= 1 THEN 1 ELSE 0 END), 0),
- @GameUserCount_3 = ISNULL(SUM(CASE WHEN GameCount >= 3 THEN 1 ELSE 0 END), 0),
- @GameUserCount_7 = ISNULL(SUM(CASE WHEN GameCount >= 7 THEN 1 ELSE 0 END), 0),
- @SubsidyUserCount = ISNULL(SUM(IsSubsidy), 0)
- FROM
- @tmpLoginUser
- WHERE
- RegTime < @DateFlag
-
- --记录
- INSERT INTO @tmptable
- (
- ItemType, ItemName, ItemValue
- )
- SELECT 3, N'DAU', @LoginUserCount
- UNION ALL
- SELECT 3, N'充值金额', @PayMoney
- UNION ALL
- SELECT 3, N'充值人数', @PayUserCount
- UNION ALL
- SELECT 3, N'付费率', CAST(@PayUserCount * 100.00 / CASE WHEN @LoginUserCount = 0 THEN 1 ELSE ISNULL(@LoginUserCount, 1) END AS DECIMAL(18, 2))
- UNION ALL
- SELECT 3, N'ARPU', CAST(@PayMoney * 1.00 / CASE WHEN @LoginUserCount = 0 THEN 1 ELSE ISNULL(@LoginUserCount, 1) END AS DECIMAL(18, 2))
- UNION ALL
- SELECT 3, N'ARPPU', CAST(@PayMoney * 1.00 / CASE WHEN @PayUserCount = 0 THEN 1 ELSE ISNULL(@PayUserCount, 1) END AS DECIMAL(18, 2))
- UNION ALL
- SELECT 3, N'三局玩牌率', CAST(@GameUserCount_3 * 100.00 / CASE WHEN @GameUserCount_1 = 0 THEN 1 ELSE ISNULL(@GameUserCount_1, 1) END AS DECIMAL(18, 2))
- UNION ALL
- SELECT 3, N'七局玩牌率', CAST(@GameUserCount_7 * 100.00 / CASE WHEN @GameUserCount_1 = 0 THEN 1 ELSE ISNULL(@GameUserCount_1, 1) END AS DECIMAL(18, 2))
-
- --清空数据
- SET @LoginUserCount = 0
- SET @RegUserCount = 0
- SET @PayMoney = 0
- SET @PayUserCount = 0
- SET @GuideStempUserCount = 0
- SET @SubsidyUserCount = 0
- SET @GameUserCount_1 = 0
- SET @GameUserCount_3 = 0
- SET @GameUserCount_7 = 0
- SET @TodaySeconds = 0
-
- --------------------------------------注册次留-------------------------------------------------
- --统计
- SELECT
- @LiveRegUserCount = COUNT(UserID),
- @LiveLoginUserCount = ISNULL(SUM(CASE WHEN LoginTime BETWEEN @DateFlag AND @DateFlag + 1 THEN 1 ELSE 0 END), 0)
- FROM
- [AllUser]
- WHERE
- RegTime BETWEEN @DateFlag - 1 AND @DateFlag
-
- --补齐前天次留
- UPDATE
- [IssueStat]
- SET
- ItemValue = CAST(@LiveLoginUserCount * 100.00 / CASE WHEN @LiveRegUserCount = 0 THEN 1 ELSE ISNULL(@LiveRegUserCount, 1) END AS DECIMAL(18, 2))
- WHERE
- DateFlag = @DateFlag - 1 AND ItemName = N'次留率'
-
- SET @LiveLoginUserCount = 0
- SET @LoginUserCount = 0
-
- --------------------------------------日活次留-------------------------------------------------
- --统计第2天登录
- SELECT
- @LiveLoginUserCount = COUNT(u.UserID)
- FROM
- [UserDailyStat] u INNER JOIN @tmpLoginUser t ON u.UserID = t.UserID
- WHERE
- u.DateFlag = @DateFlag - 1
-
- --前天日活
- SELECT @LoginUserCount = ItemValue FROM [IssueStat] WHERE DateFlag = @DateFlag - 1 AND ItemType = 1 AND ItemName = N'DAU'
-
- --补齐前天日活次留
- UPDATE
- [IssueStat]
- SET
- ItemValue = CAST(@LiveLoginUserCount * 100 / CASE WHEN @LoginUserCount = 0 THEN 1 ELSE @LoginUserCount END AS DECIMAL(18, 2))
- WHERE
- DateFlag = @DateFlag - 1 AND ItemName = N'日活次留率'
-
- --------------------------------------永久保存统计数据-------------------------------------------------
- INSERT INTO [IssueStat]
- (
- DateFlag, LabelID, ItemType, ItemName, ItemValue
- )
- SELECT
- @DateFlag, '', ItemType, ItemName, ItemValue
- FROM
- @tmptable
- ORDER BY
- Rid ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_JackPot_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_JackPot_GetInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-17
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 获取游戏奖池信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_JackPot_GetInfo]
- @GameID INT, --用户ID
- @Amount BIGINT OUTPUT --奖池金额
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SET @Amount = 0
- --获取信息
- SELECT @Amount = Amount FROM [JackPot] WHERE GameID = @GameID
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_JackPot_Incr] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_JackPot_Incr]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-17
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 放入奖池
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_JackPot_Incr]
- @UserID INT, --用户ID
- @GameID INT, --游戏ID
- @Amount BIGINT, --操作金额(必须大于0)
- @Balance BIGINT OUTPUT --剩余金额
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @PreAmount BIGINT --操作前金额
- SET @PreAmount = 0
- SET @Balance = 0
- IF(@Amount IS NULL OR @Amount <= 0)
- RETURN
- --添加金额
- UPDATE
- [JackPot]
- SET
- Amount = Amount + @Amount, @PreAmount = Amount, @Balance = Amount + @Amount
- WHERE
- GameID = @GameID
- --还没有数据
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @Balance = @Amount
- INSERT INTO [JackPot](GameID, Amount) VALUES(@GameID, @Amount)
- END
- --加记录
- INSERT INTO [JackPotRecord]
- (
- GameID, FromUserID, PreAmount, WantAmount, StillAmount, Crdate
- )
- VALUES
- (
- @GameID, @UserID, @PreAmount, @Amount, @Balance, GETDATE()
- )
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_JackPot_Modify] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_JackPot_Modify]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-17
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 奖池修改
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_JackPot_Modify]
- @UserID INT, --用户ID
- @GameID INT, --游戏ID
- @Amount BIGINT --操作金额
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @PreAmount BIGINT --操作前金额
- SET @PreAmount = 0
- IF(@Amount IS NULL)
- RETURN
- --添加金额
- UPDATE [JackPot] SET Amount = @Amount, @PreAmount = Amount WHERE GameID = @GameID
- --还没有数据
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [JackPot](GameID, Amount) VALUES(@GameID, @Amount)
- END
- --加记录
- INSERT INTO [JackPotRecord]
- (
- GameID, FromUserID, PreAmount, WantAmount, StillAmount, Crdate
- )
- VALUES
- (
- @GameID, @UserID, @PreAmount, @Amount - @PreAmount, @Amount, GETDATE()
- )
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_JackPot_Sub] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_JackPot_Sub]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-17
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 扣减游戏奖池(用于派奖)
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_JackPot_Sub]
- @UserID INT, --用户ID
- @GameID INT, --游戏ID
- @Amount BIGINT, --操作金额(必须大于0)
- @Balance BIGINT OUTPUT --当前
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @PreAmount BIGINT --操作前金额
- DECLARE @Msg VARCHAR(1024) --系统消息
- SET @Balance = 0
- IF(@Amount IS NULL OR @Amount <= 0)
- RETURN
- --扣减
- UPDATE
- [JackPot]
- SET
- Amount = Amount - @Amount, @PreAmount = Amount, @Balance = Amount - @Amount
- WHERE
- GameID = @GameID AND Amount >= @Amount
-
- --扣减失败
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @Msg = 'JackPot_Sub fail UserID=' + LTRIM(STR(@UserID)) + ',@GameID=' + LTRIM(STR(@GameID)) +
- ',@Amount=' + LTRIM(STR(@Amount))
- RETURN
- END
- --记录
- INSERT INTO [JackPotRecord]
- (
- GameID, FromUserID, PreAmount, WantAmount, StillAmount, Crdate
- )
- VALUES
- (
- @GameID, @UserID, @PreAmount, @Amount, @Balance, GETDATE()
- )
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_JackPotChip_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_JackPotChip_GetInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-17
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 获取游戏奖池信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_JackPotChip_GetInfo]
- @GameID INT, --用户ID
- @Amount BIGINT OUTPUT --奖池金额
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SET @Amount = 0
- --获取信息
- SELECT @Amount = Amount FROM [JackPotChip] WHERE GameID = @GameID
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_JackPotChip_Incr] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_JackPotChip_Incr]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-17
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 放入奖池
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_JackPotChip_Incr]
- @UserID INT, --用户ID
- @GameID INT, --游戏ID
- @Amount INT, --操作金额(必须大于0)
- @Balance BIGINT OUTPUT --剩余金额
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @PreAmount BIGINT --操作前金额
- SET @PreAmount = 0
- SET @Balance = 0
- IF(@Amount IS NULL OR @Amount <= 0)
- RETURN
- --添加金额
- UPDATE
- [JackPotChip]
- SET
- Amount = Amount + @Amount, @PreAmount = Amount, @Balance = Amount + @Amount
- WHERE
- GameID = @GameID
- --还没有数据
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @Balance = @Amount
- INSERT INTO [JackPotChip](GameID, Amount) VALUES(@GameID, @Amount)
- END
- --加记录
- INSERT INTO [JackPotChipRecord]
- (
- GameID, FromUserID, PreAmount, WantAmount, StillAmount, Crdate
- )
- VALUES
- (
- @GameID, @UserID, @PreAmount, @Amount, @Balance, GETDATE()
- )
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_JackPotChip_Modify] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_JackPotChip_Modify]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-17
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 奖池修改
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_JackPotChip_Modify]
- @UserID INT, --用户ID
- @GameID INT, --游戏ID
- @Amount INT --操作金额
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @PreAmount BIGINT --操作前金额
- SET @PreAmount = 0
- IF(@Amount IS NULL)
- RETURN
- --添加金额
- UPDATE [JackPotChip] SET Amount = @Amount, @PreAmount = Amount WHERE GameID = @GameID
- --还没有数据
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [JackPotChip](GameID, Amount) VALUES(@GameID, @Amount)
- END
- --加记录
- INSERT INTO [JackPotChipRecord]
- (
- GameID, FromUserID, PreAmount, WantAmount, StillAmount, Crdate
- )
- VALUES
- (
- @GameID, @UserID, @PreAmount, @Amount - @PreAmount, @Amount, GETDATE()
- )
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_JackPotChip_Sub] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_JackPotChip_Sub]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-17
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 扣减游戏奖池(用于派奖)
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_JackPotChip_Sub]
- @UserID INT, --用户ID
- @GameID INT, --游戏ID
- @Amount INT, --操作金额(必须大于0)
- @Balance BIGINT OUTPUT --当前
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @PreAmount BIGINT --操作前金额
- DECLARE @Msg VARCHAR(1024) --系统消息
- SET @Balance = 0
- IF(@Amount IS NULL OR @Amount <= 0)
- RETURN
- --扣减
- UPDATE
- [JackPotChip]
- SET
- Amount = Amount - @Amount, @PreAmount = Amount, @Balance = Amount - @Amount
- WHERE
- GameID = @GameID AND Amount >= @Amount
-
- --扣减失败
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @Msg = 'JackPotChip_Sub fail UserID=' + LTRIM(STR(@UserID)) + ',@GameID=' + LTRIM(STR(@GameID)) +
- ',@Amount=' + LTRIM(STR(@Amount))
- RETURN
- END
- --记录
- INSERT INTO [JackPotChipRecord]
- (
- GameID, FromUserID, PreAmount, WantAmount, StillAmount, Crdate
- )
- VALUES
- (
- @GameID, @UserID, @PreAmount, @Amount, @Balance, GETDATE()
- )
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_LabelLiveStat_Stat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_LabelLiveStat_Stat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-06-11
- -- Description: 标签留存统计(每天凌晨0:00执行,供作业调用)
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_LabelLiveStat_Stat]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @StatFlag SMALLDATETIME --统计日期标识
- DECLARE @LabelID VARCHAR(32) --标签ID
- DECLARE @RegCount INT --注册人数
- DECLARE @LiveUsers_1 INT --次日留存
- DECLARE @LiveUsers_3 INT --3日留存
- DECLARE @LiveUsers_5 INT --5日留存
- DECLARE @LiveUsers_7 INT --7日留存
- DECLARE @LiveUsers_15 INT --15日留存
- DECLARE @LiveUsers_30 INT --30日留存
- DECLARE @Rid INT --标识
- DECLARE @OneRid INT --当前标识
- DECLARE @Days INT --天数
-
- DECLARE @tmptable TABLE(
- UserID INT NOT NULL, --用户ID
- LabelID VARCHAR(32) NOT NULL --标签ID
- )
-
- SET @DateFlag = CONVERT(CHAR(10), GETDATE() - 1, 120)
-
- --初始化变量
- INSERT INTO @tmptable
- (
- UserID, LabelID
- )
- SELECT
- UserID, LabelID
- FROM
- [LabelPool]
- WHERE
- RegTime >= @DateFlag AND RegTime < @DateFlag + 1 AND LabelID != ''
- IF(@@ROWCOUNT > 0)
- BEGIN
- --初始化各渠道
- INSERT INTO [LabelLiveStat]
- (
- DateFlag, LabelID, RegCount, LiveUsers_1, LiveUsers_3,
- LiveUsers_5, LiveUsers_7, LiveUsers_15, LiveUsers_30
- )
- SELECT
- @DateFlag, LabelID, COUNT(DISTINCT UserID), 0, 0,
- 0, 0, 0, 0
- FROM
- @tmptable
- GROUP BY
- LabelID
- END
-
- SET @Rid = 0
-
- WHILE(1=1)
- BEGIN
- SET @OneRid = @Rid
- SET @Rid = NULL
-
- SET @StatFlag = NULL
- SET @LabelID = NULL
- SET @LiveUsers_1 = NULL
- SET @LiveUsers_3 = NULL
- SET @LiveUsers_5 = NULL
- SET @LiveUsers_7 = NULL
- SET @LiveUsers_15 = NULL
- SET @LiveUsers_30 = NULL
- SET @RegCount = NULL
-
- SELECT TOP 1
- @Rid = Rid, @StatFlag = DateFlag, @LabelID = LabelID, @RegCount = RegCount
- FROM
- [LabelLiveStat]
- WHERE
- DateFlag >= @DateFlag - 30 AND Rid > @OneRid
- ORDER BY
- Rid ASC
-
- IF(@Rid IS NULL)
- BREAK
-
- --计算天数
- SET @Days = DATEDIFF(DAY, @StatFlag, @DateFlag) + 1
-
- --次日
- IF(@Days = 2)
- BEGIN
- --次日留存
- SELECT
- @LiveUsers_1 = COUNT(l.UserID)
- FROM
- [LabelPool] l INNER JOIN [UserDailyStat] u ON l.UserID = u.UserID AND u.DateFlag = @StatFlag + 2
- WHERE
- l.RegTime BETWEEN @StatFlag AND @StatFlag + 1 AND l.Expire >= @StatFlag + 2 AND l.LabelID = @LabelID
- END
-
- --3日留存
- ELSE IF(@Days = 3)
- BEGIN
- --3日留存
- SELECT
- @LiveUsers_3 = COUNT(l.UserID)
- FROM
- [LabelPool] l INNER JOIN [UserDailyStat] u ON l.UserID = u.UserID AND u.DateFlag = @StatFlag + 3
- WHERE
- l.RegTime BETWEEN @StatFlag AND @StatFlag + 1 AND l.Expire >= @StatFlag + 3 AND l.LabelID = @LabelID
- END
-
- --5日留存
- ELSE IF(@Days = 5)
- BEGIN
- --5日留存
- SELECT
- @LiveUsers_5 = COUNT(l.UserID)
- FROM
- [LabelPool] l INNER JOIN [UserDailyStat] u ON l.UserID = u.UserID AND u.DateFlag = @StatFlag + 5
- WHERE
- l.RegTime BETWEEN @StatFlag AND @StatFlag + 1 AND l.Expire >= @StatFlag + 5 AND l.LabelID = @LabelID
- END
-
- --7日留存
- ELSE IF(@Days = 7)
- BEGIN
- --7日留存
- SELECT
- @LiveUsers_7 = COUNT(l.UserID)
- FROM
- [LabelPool] l INNER JOIN [UserDailyStat] u ON l.UserID = u.UserID AND u.DateFlag = @StatFlag + 7
- WHERE
- l.RegTime BETWEEN @StatFlag AND @StatFlag + 1 AND l.Expire >= @StatFlag + 7 AND l.LabelID = @LabelID
- END
-
- --15日留存
- ELSE IF(@Days = 15)
- BEGIN
- --15日留存
- SELECT
- @LiveUsers_15 = COUNT(l.UserID)
- FROM
- [LabelPool] l INNER JOIN [UserDailyStat] u ON l.UserID = u.UserID AND u.DateFlag = @StatFlag + 15
- WHERE
- l.RegTime BETWEEN @StatFlag AND @StatFlag + 1 AND l.Expire >= @StatFlag + 15 AND l.LabelID = @LabelID
- END
-
- --30日留存
- ELSE IF(@Days = 30)
- BEGIN
- --30日留存
- SELECT
- @LiveUsers_30 = COUNT(l.UserID)
- FROM
- [LabelPool] l INNER JOIN [UserDailyStat] u ON l.UserID = u.UserID AND u.DateFlag = @StatFlag + 30
- WHERE
- l.RegTime BETWEEN @StatFlag AND @StatFlag + 1 AND l.Expire >= @StatFlag + 30 AND l.LabelID = @LabelID
- END
-
- SET @LiveUsers_1 = ISNULL(@LiveUsers_1, 0)
- SET @LiveUsers_3 = ISNULL(@LiveUsers_3, 0)
- SET @LiveUsers_5 = ISNULL(@LiveUsers_5, 0)
- SET @LiveUsers_7 = ISNULL(@LiveUsers_7, 0)
- SET @LiveUsers_15 = ISNULL(@LiveUsers_15, 0)
- SET @LiveUsers_30 = ISNULL(@LiveUsers_30, 0)
-
- /*
- PRINT '@Rid=' + LTRIM(STR(@Rid)) + ',@DateFlag=' + CONVERT(VARCHAR(16), @StatFlag, 120) + ',@LabelID=' + @LabelID +
- ',@LiveUsers_1=' + LTRIM(STR(@LiveUsers_1)) + ',@LiveUsers_3=' + LTRIM(STR(@LiveUsers_3)) + ',@LiveUsers_5=' + LTRIM(STR(@LiveUsers_5)) +
- ',@LiveUsers_7=' + LTRIM(STR(@LiveUsers_7)) + ',@LiveUsers_15=' + LTRIM(STR(@LiveUsers_15)) + ',@LiveUsers_30=' + LTRIM(STR(@LiveUsers_30)) +
- ',@Days=' + LTRIM(STR(@Days))
- */
-
- --更新统计
- UPDATE
- [LabelLiveStat]
- SET
- LiveUsers_1 = CASE WHEN @LiveUsers_1 > 0 THEN @LiveUsers_1 ELSE LiveUsers_1 END,
- LiveUsers_3 = CASE WHEN @LiveUsers_3 > 0 THEN @LiveUsers_3 ELSE LiveUsers_3 END,
- LiveUsers_5 = CASE WHEN @LiveUsers_5 > 0 THEN @LiveUsers_5 ELSE LiveUsers_5 END,
- LiveUsers_7 = CASE WHEN @LiveUsers_7 > 0 THEN @LiveUsers_7 ELSE LiveUsers_7 END,
- LiveUsers_15 = CASE WHEN @LiveUsers_15 > 0 THEN @LiveUsers_15 ELSE LiveUsers_15 END,
- LiveUsers_30 = CASE WHEN @LiveUsers_30 > 0 THEN @LiveUsers_30 ELSE LiveUsers_30 END
- WHERE
- Rid = @Rid
- END
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_Level_GetUserInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_Level_GetUserInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-03
- -- Mendor: wolf
- -- Alter Date: 2014-12-02
- -- Description: 用户等级信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_Level_GetUserInfo]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @IsWhite TINYINT --是否白名单(0=普通用户 1=白名单用户 2=黑名单用户)
- DECLARE @IsFacebook TINYINT --是否fb账号
- DECLARE @IMei VARCHAR(64)
- DECLARE @deviceid VARCHAR(64)
- DECLARE @Lv TINYINT --等级
- DECLARE @Exp INT --经验值
- DECLARE @LoginAward TINYINT --登录奖励(0=无效 1=可领取 2=已领取)
- DECLARE @RetCode TINYINT
- DECLARE @IsAdd TINYINT --是否允许加经验(1=允许)
-
- SET @IsWhite = 0
- SET @IsFacebook = 0
- SET @Lv = 1
- SET @Exp = 0
- SET @LoginAward = 0
- SET @RetCode = 0
- SET @IsAdd = 1
-
- --判断是否白名单
- SELECT @IsWhite = WhiteType FROM [ChipWhiteList] WHERE UserID = @UserID
-
- --用户信息
- SELECT @IMei = IMei, @deviceid = deviceid FROM [AllUser] WHERE UserID = @UserID
-
- --非游客用户
- IF(LEFT(@IMei, 3) = 'fb.' OR LEFT(@deviceid, 3) = 'fb.' OR LEFT(@IMei, 3) = 'gg.' OR LEFT(@deviceid, 3) = 'gg.')
- BEGIN
- SET @IsFacebook = 1
- SET @LoginAward = 1
-
- --非埃及平台
- IF NOT EXISTS(SELECT ConfigID FROM [PlatformConfig] WHERE PlatformName IN ('Egypt', 'ME'))
- BEGIN
- SET @IsAdd = 0
- SELECT @Lv = Lv, @Exp = Exp FROM [SysLevel] WHERE Lv = 2
- END
- END
-
- --等级奖励
- SELECT @LoginAward = LoginAward FROM [UserLevel] WHERE UserID = @UserID
-
- --如果不存在,初始化
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserLevel](UserID, Lv, Exp, LoginAward) VALUES(@UserID, @Lv, @Exp, @LoginAward)
- END
-
- /*
- --登录奖励未领取
- IF(@LoginAward = 1)
- BEGIN
- --修改状态
- UPDATE [UserLevel] SET LoginAward = 2 WHERE UserID = @UserID AND LoginAward = 1
- --修改成功
- IF(@@ROWCOUNT > 0)
- BEGIN
- --加筹码
- EXEC [Game_Chip_Give] @UserID = @UserID, @SourceName = N'游戏大厅', @GameID = 0, @WantedAmount = 3000000,
- @LogType = 54, @Remark = N'登录奖励', @IPAddress = '127.0.0.1', @RetCode = @RetCode OUTPUT
- END
- END
- */
-
- SELECT
- Lv, Exp, @IsWhite AS IsWhite,
- CASE
- WHEN @LoginAward = 1 THEN 3 --去通知
- ELSE LoginAward
- END AS LoginAward, @IsFacebook AS IsFacebook, @IsAdd AS IsAdd
- FROM
- [UserLevel]
- WHERE
- UserID = @UserID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_Level_LoginAward] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_Level_LoginAward]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-03
- -- Mendor: wolf
- -- Alter Date: 2014-12-02
- -- Description: 元宝大厅用户登录奖励
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_Level_LoginAward]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT --操作结果
- DECLARE @Amount INT --金额
-
- SET @RetCode = 0
- SET @Amount = 0
-
- SELECT @RetCode AS RetCode, @Amount AS Amount
- RETURN
-
- UPDATE [UserLevel] SET LoginAward = 2 WHERE UserID = @UserID AND LoginAward = 1
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode, @Amount AS Amount
- RETURN
- END
-
- --操作成功
- SET @RetCode = 1
- SELECT @RetCode AS RetCode, @Amount AS Amount
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_Level_SysExpList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_Level_SysExpList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-03
- -- Mendor: wolf
- -- Alter Date: 2014-12-02
- -- Description: 游戏经验数值
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_Level_SysExpList]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- GameID, WinExp, LoseExp
- FROM
- [SysLevelExp]
- ORDER BY
- GameID ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_Level_SysList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_Level_SysList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-03
- -- Mendor: wolf
- -- Alter Date: 2014-12-02
- -- Description: 等级系统数值
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_Level_SysList]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- Lv, Exp, Memo, GiftPack, Privilege
- FROM
- [SysLevel]
- ORDER BY
- Lv ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_Level_UpdateUserInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_Level_UpdateUserInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-03
- -- Mendor: wolf
- -- Alter Date: 2014-12-02
- -- Description: 修改用户等级信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_Level_UpdateUserInfo]
- @UserID INT, --用户ID
- @Lv TINYINT, --等级
- @Exp INT, --经验
- @LoginAward TINYINT --登录奖励(0=无效 1=可领取 2=已领取)
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- IF EXISTS(SELECT UserID FROM [MachineUser] WHERE UserID = @UserID)
- RETURN
- UPDATE
- [UserLevel]
- SET
- Lv = @Lv, Exp = @Exp,
- LoginAward = CASE WHEN LoginAward != 2 THEN @LoginAward ELSE LoginAward END
- WHERE
- UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserLevel](UserID, Lv, Exp, LoginAward) VALUES(@UserID, @Lv, @Exp, 0)
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_LiveStat_Stat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_LiveStat_Stat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-06-11
- -- Description: 留存统计(每天凌晨0:00执行,供作业调用)
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_LiveStat_Stat]
- @CurrTime DATETIME --系统当前时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @StatFlag SMALLDATETIME --统计日期标识
- DECLARE @PartnerID INT --渠道ID
- DECLARE @RegCount INT --注册人数
- DECLARE @LiveUsers_1 INT --次日留存
- DECLARE @LiveUsers_3 INT --3日留存
- DECLARE @LiveUsers_5 INT --5日留存
- DECLARE @LiveUsers_7 INT --7日留存
- DECLARE @LiveUsers_15 INT --15日留存
- DECLARE @LiveUsers_30 INT --30日留存
- DECLARE @Rid INT --标识
- DECLARE @OneRid INT --当前标识
- DECLARE @Days INT --天数
-
- DECLARE @tmptable TABLE(
- UserID INT NOT NULL, --用户ID
- PartnerID INT NOT NULL --渠道ID
- )
-
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime - 1, 120)
-
- --初始化变量
- INSERT INTO @tmptable
- (
- UserID, PartnerID
- )
- SELECT
- UserID, RegPartnerID
- FROM
- [AllUser]
- WHERE
- RegTime >= @DateFlag AND RegTime < @DateFlag + 1
- IF(@@ROWCOUNT > 0)
- BEGIN
- --初始化各渠道
- INSERT INTO [LiveStat]
- (
- DateFlag, PartnerID, RegCount, LiveUsers_1, LiveUsers_3,
- LiveUsers_5, LiveUsers_7, LiveUsers_15, LiveUsers_30
- )
- SELECT
- @DateFlag, PartnerID, COUNT(DISTINCT UserID), 0, 0,
- 0, 0, 0, 0
- FROM
- @tmptable
- GROUP BY
- PartnerID
-
- --初始化所有
- INSERT INTO [LiveStat]
- (
- DateFlag, PartnerID, RegCount, LiveUsers_1, LiveUsers_3,
- LiveUsers_5, LiveUsers_7, LiveUsers_15, LiveUsers_30
- )
- SELECT
- @DateFlag, 1, COUNT(DISTINCT UserID), 0, 0,
- 0, 0, 0, 0
- FROM
- @tmptable
- END
-
- SET @Rid = 0
-
- WHILE(1=1)
- BEGIN
- SET @OneRid = @Rid
- SET @Rid = NULL
-
- SET @StatFlag = NULL
- SET @PartnerID = NULL
- SET @LiveUsers_1 = NULL
- SET @LiveUsers_3 = NULL
- SET @LiveUsers_5 = NULL
- SET @LiveUsers_7 = NULL
- SET @LiveUsers_15 = NULL
- SET @LiveUsers_30 = NULL
- SET @RegCount = NULL
-
- SELECT TOP 1
- @Rid = Rid, @StatFlag = DateFlag, @PartnerID = PartnerID, @RegCount = RegCount
- FROM
- [LiveStat]
- WHERE
- DateFlag >= @DateFlag - 30 AND Rid > @OneRid
- ORDER BY
- Rid ASC
-
- IF(@Rid IS NULL)
- BREAK
-
- --计算天数
- SET @Days = DATEDIFF(DAY, @StatFlag, @DateFlag) + 1
-
- --所有渠道
- IF(@PartnerID = 1)
- BEGIN
- --次日
- IF(@Days = 2)
- BEGIN
- --次日留存
- SELECT
- @LiveUsers_1 = COUNT(UserID)
- FROM
- [AllUser]
- WHERE
- RegTime BETWEEN @StatFlag AND @StatFlag + 1 AND LoginTime BETWEEN @StatFlag + 1 AND @StatFlag + 2
-
- --更新日报统计
- --次日留存
- UPDATE [DailyReport] SET ItemValue = @LiveUsers_1 WHERE DateFlag = @StatFlag AND ItemName = N'次日留存'
- --次日留存率
- UPDATE
- [DailyReport]
- SET
- ItemValue = CAST(@LiveUsers_1 * 100.00 / ISNULL(@RegCount, 1) AS DECIMAL(18, 2))
- WHERE
- DateFlag = @StatFlag AND ItemName = N'次日留存率'
- END
-
- --3日留存
- ELSE IF(@Days = 3)
- BEGIN
- --3日留存
- SELECT
- @LiveUsers_3 = COUNT(UserID)
- FROM
- [AllUser]
- WHERE
- RegTime BETWEEN @StatFlag AND @StatFlag + 1 AND LoginTime BETWEEN @StatFlag + 2 AND @StatFlag + 3
-
- --更新日报统计
- --3日留存
- UPDATE [DailyReport] SET ItemValue = @LiveUsers_3 WHERE DateFlag = @StatFlag AND ItemName = N'3日留存'
- --3日留存率
- UPDATE
- [DailyReport]
- SET
- ItemValue = CAST(@LiveUsers_3 * 100.00 / ISNULL(@RegCount, 1) AS DECIMAL(18, 2))
- WHERE
- DateFlag = @StatFlag AND ItemName = N'3日留存率'
- END
-
- --5日留存
- ELSE IF(@Days = 5)
- BEGIN
- --5日留存
- SELECT
- @LiveUsers_5 = COUNT(UserID)
- FROM
- [AllUser]
- WHERE
- RegTime BETWEEN @StatFlag AND @StatFlag + 1 AND LoginTime BETWEEN @StatFlag + 4 AND @StatFlag + 5
- END
-
- --7日留存
- ELSE IF(@Days = 7)
- BEGIN
- --7日留存
- SELECT
- @LiveUsers_7 = COUNT(UserID)
- FROM
- [AllUser]
- WHERE
- RegTime BETWEEN @StatFlag AND @StatFlag + 1 AND LoginTime BETWEEN @StatFlag + 6 AND @StatFlag + 7
-
- --更新日报统计
- --7日留存
- UPDATE [DailyReport] SET ItemValue = @LiveUsers_7 WHERE DateFlag = @StatFlag AND ItemName = N'7日留存'
- --7日留存率
- UPDATE
- [DailyReport]
- SET
- ItemValue = CAST(@LiveUsers_7 * 100.00 / ISNULL(@RegCount, 1) AS DECIMAL(18, 2))
- WHERE
- DateFlag = @StatFlag AND ItemName = N'7日留存率'
- END
-
- --15日留存
- ELSE IF(@Days = 15)
- BEGIN
- --15日留存
- SELECT
- @LiveUsers_15 = COUNT(UserID)
- FROM
- [AllUser]
- WHERE
- RegTime BETWEEN @StatFlag AND @StatFlag + 1 AND LoginTime BETWEEN @StatFlag + 14 AND @StatFlag + 15
- END
-
- --30日留存
- ELSE IF(@Days = 30)
- BEGIN
- --30日留存
- SELECT
- @LiveUsers_30 = COUNT(UserID)
- FROM
- [AllUser]
- WHERE
- RegTime BETWEEN @StatFlag AND @StatFlag + 1 AND LoginTime BETWEEN @StatFlag + 29 AND @StatFlag + 30
- END
- END
-
- --各渠道
- ELSE
- BEGIN
- --次日
- IF(@Days = 2)
- BEGIN
- --次日留存
- SELECT
- @LiveUsers_1 = COUNT(UserID)
- FROM
- [AllUser]
- WHERE
- RegTime BETWEEN @StatFlag AND @StatFlag + 1 AND LoginTime BETWEEN @StatFlag + 1 AND @StatFlag + 2 AND RegPartnerID = @PartnerID
- END
-
- --3日留存
- ELSE IF(@Days = 3)
- BEGIN
- --3日留存
- SELECT
- @LiveUsers_3 = COUNT(UserID)
- FROM
- [AllUser]
- WHERE
- RegTime BETWEEN @StatFlag AND @StatFlag + 1 AND LoginTime BETWEEN @StatFlag + 2 AND @StatFlag + 3 AND RegPartnerID = @PartnerID
- END
-
- --5日留存
- ELSE IF(@Days = 5)
- BEGIN
- --5日留存
- SELECT
- @LiveUsers_5 = COUNT(UserID)
- FROM
- [AllUser]
- WHERE
- RegTime BETWEEN @StatFlag AND @StatFlag + 1 AND LoginTime BETWEEN @StatFlag + 4 AND @StatFlag + 5 AND RegPartnerID = @PartnerID
- END
-
- --7日留存
- ELSE IF(@Days = 7)
- BEGIN
- --7日留存
- SELECT
- @LiveUsers_7 = COUNT(UserID)
- FROM
- [AllUser]
- WHERE
- RegTime BETWEEN @StatFlag AND @StatFlag + 1 AND LoginTime BETWEEN @StatFlag + 6 AND @StatFlag + 7 AND RegPartnerID = @PartnerID
- END
-
- --15日留存
- ELSE IF(@Days = 15)
- BEGIN
- --15日留存
- SELECT
- @LiveUsers_15 = COUNT(UserID)
- FROM
- [AllUser]
- WHERE
- RegTime BETWEEN @StatFlag AND @StatFlag + 1 AND LoginTime BETWEEN @StatFlag + 14 AND @StatFlag + 15 AND RegPartnerID = @PartnerID
- END
-
- --30日留存
- ELSE IF(@Days = 30)
- BEGIN
- --30日留存
- SELECT
- @LiveUsers_30 = COUNT(UserID)
- FROM
- [AllUser]
- WHERE
- RegTime BETWEEN @StatFlag AND @StatFlag + 1 AND LoginTime BETWEEN @StatFlag + 29 AND @StatFlag + 30 AND RegPartnerID = @PartnerID
- END
- END
-
- SET @LiveUsers_1 = ISNULL(@LiveUsers_1, 0)
- SET @LiveUsers_3 = ISNULL(@LiveUsers_3, 0)
- SET @LiveUsers_5 = ISNULL(@LiveUsers_5, 0)
- SET @LiveUsers_7 = ISNULL(@LiveUsers_7, 0)
- SET @LiveUsers_15 = ISNULL(@LiveUsers_15, 0)
- SET @LiveUsers_30 = ISNULL(@LiveUsers_30, 0)
-
- /*
- PRINT '@Rid=' + LTRIM(STR(@Rid)) + ',@DateFlag=' + CONVERT(VARCHAR(16), @StatFlag, 120) + ',@PartnerID=' + LTRIM(STR(@PartnerID)) +
- ',@LiveUsers_1=' + LTRIM(STR(@LiveUsers_1)) + ',@LiveUsers_3=' + LTRIM(STR(@LiveUsers_3)) + ',@LiveUsers_5=' + LTRIM(STR(@LiveUsers_5)) +
- ',@LiveUsers_7=' + LTRIM(STR(@LiveUsers_7)) + ',@LiveUsers_15=' + LTRIM(STR(@LiveUsers_15)) + ',@LiveUsers_30=' + LTRIM(STR(@LiveUsers_30)) +
- ',@Days=' + LTRIM(STR(@Days))
- */
-
- --更新统计
- UPDATE
- [LiveStat]
- SET
- LiveUsers_1 = CASE WHEN @LiveUsers_1 > 0 THEN @LiveUsers_1 ELSE LiveUsers_1 END,
- LiveUsers_3 = CASE WHEN @LiveUsers_3 > 0 THEN @LiveUsers_3 ELSE LiveUsers_3 END,
- LiveUsers_5 = CASE WHEN @LiveUsers_5 > 0 THEN @LiveUsers_5 ELSE LiveUsers_5 END,
- LiveUsers_7 = CASE WHEN @LiveUsers_7 > 0 THEN @LiveUsers_7 ELSE LiveUsers_7 END,
- LiveUsers_15 = CASE WHEN @LiveUsers_15 > 0 THEN @LiveUsers_15 ELSE LiveUsers_15 END,
- LiveUsers_30 = CASE WHEN @LiveUsers_30 > 0 THEN @LiveUsers_30 ELSE LiveUsers_30 END
- WHERE
- Rid = @Rid
- END
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_Log_Add] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_Log_Add]
- -- @OpUserID = 10001,
- -- @OpUserName = '',
- -- @IPAddress = '',
- -- @Msg = ''
- -- =============================================
- -- Author: wolf
- -- Create Date: 2015-04-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-11
- -- Description: 日志记录
- -- =============================================
- CREATE PROCEDURE [dbo].[Game_Log_Add]
- @OpUserID INT, --操作用户ID
- @OpUserName VARCHAR(32), --操作用户名
- @IPAddress VARCHAR(15), --IP地址
- @Msg NVARCHAR(4000), --消息
- @Type TINYINT = 1 --1=后台操作 2=系统日志
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --2=系统日志
- IF(@Type = 2)
- BEGIN
- INSERT INTO [SysLog]
- (
- OpUserID, OpUserName, IPAddress, Msg, Crdate
- )
- VALUES
- (
- @OpUserID, @OpUserName, @IPAddress, @Msg, GETDATE()
- )
- END
-
- --1=后台操作日志(默认)
- ELSE
- BEGIN
- --后台操作日志
- INSERT INTO [AdminLog]
- (
- AdminUserID, AdminUserName, IPAddress, Msg, Crdate
- )
- VALUES
- (
- @OpUserID, @OpUserName, @IPAddress, @Msg, GETDATE()
- )
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_MidwayStat_Stat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_MidwayStat_Stat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-06-11
- -- Description: 游戏中途退出
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_MidwayStat_Stat]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DateFlag SMALLDATETIME --日期标识
-
- DECLARE @tmpUser TABLE(
- UserID INT NOT NULL
- )
-
- SET @DateFlag = CONVERT(CHAR(10), GETDATE() -1, 120)
-
- --游戏中途退出
- INSERT INTO [GameMidwayStat]
- (
- DateFlag, GameID, TypeID, SourceName, PlayUserCount, PlayCount,
- MidwayUserCount, MidwayTimes
- )
- SELECT
- CONVERT(CHAR(10), m.Crdate, 120) AS DateFlag, m.GameID, 0, m.SourceName, COUNT(DISTINCT UserID), COUNT(UserID),
- COUNT(DISTINCT CASE WHEN IPAddress = '127.0.0.1' THEN UserID ELSE 0 END) - 1,
- SUM(CASE WHEN IPAddress = '127.0.0.1' THEN 1 ELSE 0 END)
- FROM
- [MoneyLog_bak] m INNER JOIN [MoneyLogType] l ON m.LogType = l.LogType AND l.LogTypeName IN (N'结算', N'游戏结算')
- WHERE
- m.Crdate BETWEEN @DateFlag AND @DateFlag + 1
- GROUP BY
- CONVERT(CHAR(10), m.Crdate, 120), m.GameID, m.SourceName
-
- --初始化
- INSERT INTO @tmpUser(UserID)
- SELECT
- UserID
- FROM
- [LabelPool]
- WHERE
- TypeID = 17 AND LabelID != '' AND Expire >= GETDATE()
-
- --游戏中途退出
- INSERT INTO [GameMidwayStat]
- (
- DateFlag, GameID, TypeID, SourceName, PlayUserCount, PlayCount,
- MidwayUserCount, MidwayTimes
- )
- SELECT
- CONVERT(CHAR(10), m.Crdate, 120) AS DateFlag, m.GameID, 17, m.SourceName, COUNT(DISTINCT m.UserID), COUNT(m.UserID),
- COUNT(DISTINCT CASE WHEN IPAddress = '127.0.0.1' THEN m.UserID ELSE 0 END) - 1,
- SUM(CASE WHEN IPAddress = '127.0.0.1' THEN 1 ELSE 0 END)
- FROM
- [MoneyLog_bak] m INNER JOIN [MoneyLogType] l ON m.LogType = l.LogType AND l.LogTypeName IN (N'结算', N'游戏结算')
- INNER JOIN @tmpUser u ON m.UserID = u.UserID
- WHERE
- m.Crdate BETWEEN @DateFlag AND @DateFlag + 1
- GROUP BY
- CONVERT(CHAR(10), m.Crdate, 120), m.GameID, m.SourceName
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_Money_GiveMoney] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RetCode TINYINT
- -- EXEC [Game_Money_GiveMoney]
- -- @UserID = 10001,
- -- @SourceName = '',
- -- @WantedAmount = 100,
- -- @LogType = 1,
- -- @IPAddress = '',
- -- @RetCode = @RetCode OUTPUT
- -- SELECT @RetCode AS RetCode
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-03
- -- Mendor: wolf
- -- Alter Date: 2014-09-04
- -- Description: 加金币接口(供其他接口调用)
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_Money_GiveMoney]
- @UserID INT, --用户ID
- @WantedAmount BIGINT, --金币数
- @GameID INT, --游戏ID
- @LogType INT, --日志类型
- @SourceName NVARCHAR(32), --源名称
- @Remark NVARCHAR(128), --备注
- @IPAddress VARCHAR(16), --IP地址
- @RetCode TINYINT OUTPUT --操作结果
- --操作结果描述: 1=操作成功 11=传入参数错误
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @CurrentAmount BIGINT --当前金币数
- DECLARE @LogID INT --日志ID
- DECLARE @Balance BIGINT --剩余
- SET @RetCode = 0
- SET @CurrentAmount = 0
- SET @Balance = 0
- SET @DateFlag = CONVERT(CHAR(10), GETDATE(), 120)
- --判断领取金币数是否异常
- IF(@WantedAmount IS NULL OR @WantedAmount <= 0)
- BEGIN
- SET @RetCode = 11
- SET @Remark = @Remark + ',Invalid Amount'
- INSERT INTO [MoneyLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- @SourceName, @GameID, 'CASH', @UserID, 0, 0,
- 0, 0, @IPAddress, @Remark, GETDATE(), @LogType
- )
- RETURN
- END
- -------------------先检查输入参数------------------------
- IF(@UserID IS NULL OR @UserID <= 0)
- BEGIN
- SET @RetCode = 11
- SET @Remark = @Remark + ',Invalid User'
- INSERT INTO [MoneyLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- @SourceName, @GameID, 'CASH', @UserID, 0, 0,
- 0, 0, @IPAddress, @Remark, GETDATE(), @LogType
- )
- RETURN
- END
- --不用提高事务隔离级别,Update 原子性操作
- --加金币
- UPDATE
- [Money]
- SET
- Amount = Amount + @WantedAmount, @CurrentAmount = Amount,
- @Balance = Amount + @WantedAmount, RefreshTime = GETDATE()
- WHERE
- UserID = @UserID
- --还没有数据
- IF(@@RowCount = 0)
- BEGIN
- INSERT INTO [Money]
- (
- UserID, Amount, Bank, RegisterTime, RefreshTime
- )
- VALUES
- (
- @UserID, @WantedAmount, 0, GETDATE(), GETDATE()
- )
- END
- --备注
- SET @Remark = @Remark + ' ' + ISNULL((SELECT ChineseName + ',' + LogTypeName FROM [MoneyLogType] WHERE LogType = @LogType), 'UnKnown')
- --写日志
- INSERT INTO [MoneyLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- @SourceName, @GameID, 'CASH', @UserID, @CurrentAmount, @WantedAmount,
- @Balance, 0, @IPAddress, @Remark, GETDATE(), @LogType
- )
-
- --日志ID
- SET @LogID = SCOPE_IDENTITY()
- --统计
- EXEC [Game_MoneyStat_Update] @UserID = @UserID, @MoneySum = @WantedAmount, @TaxSum = 0, @LogType = @LogType
- --机器人
- IF EXISTS(SELECT UserID FROM [MachineUser] WHERE UserID = @UserID)
- BEGIN
- --操作成功
- SET @RetCode = 1
- RETURN @LogID
- END
-
- --用戶日常统计
- --更新
- UPDATE [UserDailyStat] SET StillAmount = @Balance WHERE DateFlag = @DateFlag AND UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserDailyStat]
- (
- DateFlag, UserID, WinAmount, LoseAmount, StillAmount, GameStart, GameEnd,
- PlaySeconds, PayMoney, LoginCount, VideoPlayTimes, VideoSendAmount
- )
- VALUES
- (
- @DateFlag, @UserID, 0, 0, @Balance, '2021-01-01', '2021-01-01',
- 0, 0, 0, 0, 0
- )
- END
- --操作成功
- SET @RetCode = 1
- RETURN @LogID
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_Money_ReduceMoney] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RetCode TINYINT
- -- EXEC [Game_Money_ReduceMoney]
- -- @UserID = 10010,
- -- @SourceName = '',
- -- @WantedAmount = 100,
- -- @LogType = 1,
- -- @IPAddress = '',
- -- @RetCode = @RetCode OUTPUT
- -- SELECT @RetCode AS RetCode
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-03
- -- Mendor: wolf
- -- Alter Date: 2014-12-02
- -- Description: 扣除金币接口(供其他接口调用)
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_Money_ReduceMoney]
- @UserID INT, --用户ID
- @WantedAmount BIGINT, --操作金币(必须>0)
- @GameID INT, --游戏ID
- @LogType INT, --日志类型
- @SourceName NVARCHAR(64), --源名称
- @Remark NVARCHAR(128), --备注
- @IPAddress VARCHAR(16), --IP地址
- @RetCode TINYINT OUTPUT --操作结果
- --操作结果描述:1=操作成功 11=金币不足 12=参数异常 21=金币锁
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @CurrentAmount BIGINT --当前金币数
- DECLARE @ServerName NVARCHAR(32) --服务器名称
- DECLARE @LogID INT --日志ID
- DECLARE @Balance BIGINT --剩余
- SET @RetCode = 0
- SET @CurrentAmount = 0
- SET @Balance = 0
- SET @DateFlag = CONVERT(CHAR(10), GETDATE(), 120)
- --判断领取金币数是否异常
- IF(@WantedAmount IS NULL OR @WantedAmount <= 0)
- BEGIN
- SET @RetCode = 11
- SET @Remark = @Remark + ',Invalid Amount'
- RETURN
- END
- -------------------先检查输入参数------------------------
- IF(@UserID IS NULL OR @UserID <= 0)
- BEGIN
- SET @RetCode = 11
- SET @Remark = @Remark + ',Invalid User'
- RETURN
- END
- --检查用户锁
- SELECT @ServerName = ServerName FROM [CasinoOnline] WHERE UserID = @UserID
- IF(@@ROWCOUNT > 0)
- BEGIN
- SET @RetCode = 21
- SET @Remark = @Remark + ',Hold Money Mutex, ServerName = ' + @ServerName
- RETURN
- END
- --不用提高事务隔离级别, Update 原子性
- --扣金币
- UPDATE
- [Money]
- SET
- Amount = Amount - @WantedAmount, RefreshTime = GETDATE(),
- @CurrentAmount = Amount, @Balance = Amount - @WantedAmount
- WHERE
- UserID = @UserID AND Amount >= @WantedAmount
- --判断是否成功
- IF(@@ROWCOUNT <= 0)
- BEGIN
- SET @RetCode = 11
- SET @Remark = @Remark + ', Reduce Fail'
- RETURN
- END
- --备注
- SET @Remark = @Remark + ' ' + ISNULL((SELECT ChineseName + ',' + LogTypeName FROM [MoneyLogType] WHERE LogType = @LogType), 'Unknown')
- --写日志
- INSERT INTO [MoneyLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- @SourceName, @GameID, 'CASH', @UserID, @CurrentAmount, -@WantedAmount,
- @Balance, 0, @IPAddress, @Remark, GETDATE(), @LogType
- )
-
- --日志ID
- SET @LogID = SCOPE_IDENTITY()
- SET @WantedAmount = -@WantedAmount
-
- --统计
- EXEC [Game_MoneyStat_Update] @UserID = @UserID, @MoneySum = @WantedAmount, @TaxSum = 0, @LogType = @LogType
- --机器人
- IF EXISTS(SELECT UserID FROM [MachineUser] WHERE UserID = @UserID)
- BEGIN
- --操作成功
- SET @RetCode = 1
- RETURN @LogID
- END
- --用戶日常统计
- --更新
- UPDATE [UserDailyStat] SET StillAmount = @Balance WHERE DateFlag = @DateFlag AND UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserDailyStat]
- (
- DateFlag, UserID, WinAmount, LoseAmount, StillAmount, GameStart, GameEnd,
- PlaySeconds, PayMoney, LoginCount, VideoPlayTimes, VideoSendAmount
- )
- VALUES
- (
- @DateFlag, @UserID, 0, 0, @Balance, '2021-01-01', '2021-01-01',
- 0, 0, 0, 0, 0
- )
- END
-
- --操作成功
- SET @RetCode = 1
- RETURN @LogID
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_Money_WriteMoney] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_Money_WriteMoney]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-17
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 用户写分
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_Money_WriteMoney]
- @UserID INT, --用户ID
- @SourceName NVARCHAR(64), --源名称
- @GameID INT, --游戏ID
- @Amount BIGINT, --金额
- @Tax BIGINT, --台费
- @Status TINYINT, --状态(0=无效 1=下注 2=结算 3=派奖 11=下注(扣到零为止) 12=结算(扣减到零))
- @IPAddress VARCHAR(16), --IP地址
- @Type INT, --下注或结算信息(保留)
- @Balance BIGINT OUTPUT, --写分后金额
- @RetCode TINYINT OUTPUT --操作结果 1=操作成功 2=操作成功(扣减到零) 11=操作失败 12=参数错误
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @PreAmount BIGINT --操作前金额
- DECLARE @chvRemark NVARCHAR(128) --备注
- DECLARE @CurrTime DATETIME --时间
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @WinAmount BIGINT --赢金币
- DECLARE @LoseAmount BIGINT --输金币
- DECLARE @PlaySeconds INT --游戏时长(秒)
- DECLARE @RefreshTime DATETIME --刷新时间
- DECLARE @IsRobot TINYINT --是否机器人
- SET @PreAmount = 0
- SET @Balance = 0
- SET @RetCode = 1 --假设成功
- SET @CurrTime = GETDATE()
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
- SET @WinAmount = 0
- SET @LoseAmount = 0
- SET @RefreshTime = 0
- SET @PlaySeconds = 0
- SET @IsRobot = 0
-
- --判断参数
- IF(@UserID IS NULL OR @Amount IS NULL)
- BEGIN
- SET @RetCode = 12
- RETURN
- END
-
- /*
- IF(@GameID = 52 AND @Type = 5201 AND @Amount < -90000000)
- BEGIN
- SET @RetCode = 11
- RETURN
- END
- */
-
- IF(@UserID <= 0)
- BEGIN
- SET @IsRobot = 1
- END
-
- --是否机器人
- IF EXISTS(SELECT UserID FROM [MachineUser] WHERE UserID = @UserID)
- BEGIN
- SET @IsRobot = 1
- END
- --提高事务隔离级别
- SET TRANSACTION ISOLATION LEVEL REPEATABLE READ
-
- --开启事务
- BEGIN TRAN
- --加金币
- IF(@Amount >= 0)
- BEGIN
- UPDATE
- [Money]
- SET
- Amount = Amount + @Amount, RefreshTime = @CurrTime,
- @PreAmount = Amount, @Balance = Amount + @Amount
- WHERE
- UserID = @UserID
- IF(@@ROWCOUNT = 0)
- BEGIN
- --增加一个现金帐号
- INSERT INTO [Money]
- (
- UserID, Amount, Bank, RegisterTime, RefreshTime
- )
- VALUES
- (
- @UserID, @Amount, 0, @CurrTime, @CurrTime
- )
- SET @Balance = @Amount
- END
- END
- --扣减金币
- ELSE IF(@Amount < 0)
- BEGIN
- UPDATE
- [Money]
- SET
- Amount = Amount + @Amount, RefreshTime = @CurrTime,
- @PreAmount = Amount, @Balance = Amount + @Amount
- WHERE
- UserID = @UserID AND Amount >= ABS(@Amount)
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 11
- END
- END
- --提交事务
- COMMIT TRAN
- --恢复事务隔离级别
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
-
- --操作成功
- IF(@RetCode != 1)
- BEGIN
- SET @chvRemark = ISNULL((SELECT ChineseName + ' ' + LogTypeName + ',logType=' + LTRIM(STR(LogType)) FROM [MoneyLogType] WHERE LogType = @Type), 'Unknown,logType=' + LTRIM(STR(@Type))) + ',Operate Fail'
- IF(@IsRobot = 1)
- BEGIN
- --记录日志
- INSERT INTO [RobotMoneyLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- values
- (
- @SourceName, @GameID, 'CASH', @UserID, @PreAmount, @Amount,
- @Balance, @Tax, @IPAddress, @chvRemark, @CurrTime, @Type
- )
-
- RETURN
- END
-
- --记录日志
- INSERT INTO [MoneyLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- values
- (
- @SourceName, @GameID, 'CASH', @UserID, @PreAmount, @Amount,
- @Balance, @Tax, @IPAddress, @chvRemark, @CurrTime, @Type
- )
- RETURN
- END
- SET @chvRemark = ISNULL((SELECT ChineseName + ' ' + LogTypeName + ',logType=' + LTRIM(STR(LogType)) FROM [MoneyLogType] WHERE LogType = @Type), 'Unknown,logType=' + LTRIM(STR(@Type)))
-
- --机器人
- IF(@IsRobot = 1)
- BEGIN
- --添加日志
- INSERT INTO [RobotMoneyLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- values
- (
- @SourceName, @GameID, 'CASH', @UserID, @PreAmount, @Amount,
- @Balance, @Tax, @IPAddress, @chvRemark, @CurrTime, @Type
- )
-
- RETURN
- END
-
- --正常玩家
- ELSE
- BEGIN
- --游戏税收统计
- IF(@Tax > 0)
- BEGIN
- UPDATE [GameTax] SET Tax = Tax + @Tax WHERE DateFlag = @DateFlag AND ServerName = @SourceName
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [GameTax] (DateFlag, ServerName, Tax) VALUES(@DateFlag, @SourceName, @Tax)
- END
-
- --台费触发代理收益
- EXEC [Game_UserAgent_Trigger] @UserID = @UserID, @GameID = @GameID, @Tax = @Tax, @IPAddress = @IPAddress, @TriggerType = 2
- END
- END
- --添加日志
- INSERT INTO [MoneyLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- values
- (
- @SourceName, @GameID, 'CASH', @UserID, @PreAmount, @Amount,
- @Balance, @Tax, @IPAddress, @chvRemark, @CurrTime, @Type
- )
-
- --流水触发代理收益
- IF(@Amount != 0)
- BEGIN
- EXEC [Game_UserAgent_Trigger] @UserID = @UserID, @GameID = @GameID, @Tax = @Amount, @IPAddress = @IPAddress, @TriggerType = 1
- END
-
- --用戶日常统计
-
- --赢金币
- IF(@Amount > 0)
- BEGIN
- SET @WinAmount = @Amount
- END
-
- --输金币
- ELSE IF(@Amount < 0)
- BEGIN
- SET @LoseAmount = @Amount
- END
-
- --获取今天最后游戏时间
- SELECT @RefreshTime = RefreshTime FROM [UserPlayTime] WHERE UserID = @UserID
-
- --计算游戏时长
- IF(@RefreshTime >= @DateFlag)
- BEGIN
- SET @PlaySeconds = DATEDIFF(SECOND, @RefreshTime, @CurrTime)
-
- --超过5分钟
- SET @PlaySeconds = CASE WHEN @PlaySeconds >= 300 THEN 0 ELSE @PlaySeconds END
- END
-
- -- 下面更新统计
- IF(@Amount != 0 OR @Tax != 0)
- BEGIN
- --统计
- IF(@Type % 100 != 99)
- BEGIN
- --游戏记录
- UPDATE
- [DailyBetStat]
- SET
- MoneySum = MoneySum + @Amount, TaxAmount = TaxAmount + @Tax, PlaySeconds = PlaySeconds + @PlaySeconds
- WHERE
- DateFlag = @DateFlag AND UserID = @UserID AND GameID = @GameID AND ServerName = @SourceName
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [DailyBetStat]
- (
- DateFlag, UserID, GameID, ServerName, BetAmount, ResultAmount, WinAmount,
- MoneySum, TaxAmount, TotalCount, WinCount, PlaySeconds
- )
- VALUES
- (
- @DateFlag, @UserID, @GameID, @SourceName, 0, 0, 0,
- @Amount, @Tax, 1, 0, @PlaySeconds
- )
- END
-
- --统计
- EXEC [Game_MoneyStat_Update] @UserID = @UserID, @MoneySum = @Amount, @TaxSum = @Tax, @LogType = @Type
- END
- END
-
- --更新
- UPDATE
- [UserDailyStat]
- SET
- WinAmount = WinAmount + @WinAmount, LoseAmount = LoseAmount + @LoseAmount, StillAmount = @Balance,
- GameStart = CASE WHEN GameStart = '2021-01-01' THEN @CurrTime ELSE GameStart END, GameEnd = @CurrTime,
- PlaySeconds = PlaySeconds + @PlaySeconds
- WHERE
- DateFlag = @DateFlag AND UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserDailyStat]
- (
- DateFlag, UserID, WinAmount, LoseAmount, StillAmount, GameStart, GameEnd,
- PlaySeconds, PayMoney, LoginCount, VideoPlayTimes, VideoSendAmount
- )
- VALUES
- (
- @DateFlag, @UserID, @WinAmount, @LoseAmount, @Balance, @CurrTime, @CurrTime,
- @PlaySeconds, 0, 0, 0, 0
- )
- END
-
- --游戏
- IF(@GameID > 0)
- BEGIN
- --刷新时间
- UPDATE [UserPlayTime] SET RefreshTime = @CurrTime WHERE UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserPlayTime](UserID, RefreshTime) VALUES(@UserID, @CurrTime)
- END
- END
-
- --游戏大厅离线
- IF(@Type = 99)
- BEGIN
- INSERT INTO [UserTrack](UserID, Level_1, Level_2, Level_3, Crdate) VALUES(@UserID, N'大厅', N'离线', '', @CurrTime)
- END
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_Money_WriteMoney_GetModifyAmount] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_Money_WriteMoney_GetModifyAmount]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-17
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 用户写分
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_Money_WriteMoney_GetModifyAmount]
- @UserID INT, --用户ID
- @SourceName NVARCHAR(64), --源名称
- @GameID INT, --游戏ID
- @Amount BIGINT, --金额
- @Tax BIGINT, --台费
- @Status TINYINT, --状态(0=无效 1=下注 2=结算 3=派奖 11=下注(扣到零为止) 12=结算(扣减到零))
- @IPAddress VARCHAR(16), --IP地址
- @Type INT, --下注或结算信息(保留)
- @Balance BIGINT OUTPUT, --写分后金额
- @RetCode TINYINT OUTPUT, --操作结果 1=操作成功 2=操作成功(扣减到零) 11=操作失败 12=参数错误
- @ModifyAmount BIGINT OUTPUT --实际修改的
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @PreAmount BIGINT --操作前金额
- DECLARE @chvRemark NVARCHAR(128) --备注
- DECLARE @CurrTime DATETIME --时间
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @WinAmount BIGINT --赢金币
- DECLARE @LoseAmount BIGINT --输金币
- DECLARE @PlaySeconds INT --游戏时长(秒)
- DECLARE @RefreshTime DATETIME --刷新时间
- DECLARE @IsRobot TINYINT --是否机器人
- SET @PreAmount = 0
- SET @Balance = 0
- SET @RetCode = 1 --假设成功
- SET @CurrTime = GETDATE()
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
- SET @WinAmount = 0
- SET @LoseAmount = 0
- SET @RefreshTime = 0
- SET @PlaySeconds = 0
- SET @IsRobot = 0
- SET @ModifyAmount = 0
-
- --判断参数
- IF(@UserID IS NULL OR @Amount IS NULL)
- BEGIN
- SET @RetCode = 12
- RETURN
- END
-
- IF(@UserID <= 0)
- BEGIN
- SET @IsRobot = 1
- END
-
- --是否机器人
- IF EXISTS(SELECT UserID FROM [MachineUser] WHERE UserID = @UserID)
- BEGIN
- SET @IsRobot = 1
- END
- --提高事务隔离级别
- SET TRANSACTION ISOLATION LEVEL REPEATABLE READ
-
- --开启事务
- BEGIN TRAN
- --加金币
- IF(@Amount >= 0)
- BEGIN
- UPDATE
- [Money]
- SET
- Amount = Amount + @Amount, RefreshTime = @CurrTime,
- @PreAmount = Amount, @Balance = Amount + @Amount,
- @ModifyAmount = @Amount
- WHERE
- UserID = @UserID
- IF(@@ROWCOUNT = 0)
- BEGIN
- --增加一个现金帐号
- INSERT INTO [Money]
- (
- UserID, Amount, Bank, RegisterTime, RefreshTime
- )
- VALUES
- (
- @UserID, @Amount, 0, @CurrTime, @CurrTime
- )
- SET @Balance = @Amount
- SET @ModifyAmount = @Amount
- END
- END
- --扣减金币
- ELSE IF(@Amount < 0)
- BEGIN
- UPDATE
- [Money]
- SET
- Amount = CASE WHEN Amount + @Amount > 0 THEN Amount + @Amount ELSE 0 END,
- RefreshTime = @CurrTime, @PreAmount = Amount,
- @Balance = CASE WHEN Amount + @Amount > 0 THEN Amount + @Amount ELSE 0 END,
- @ModifyAmount = CASE WHEN Amount + @Amount > 0 THEN @Amount ELSE -Amount END
- WHERE
- UserID = @UserID
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 11
- END
- END
- --提交事务
- COMMIT TRAN
- --恢复事务隔离级别
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
-
- --操作成功
- IF(@RetCode != 1)
- BEGIN
- SET @chvRemark = ISNULL((SELECT ChineseName + ' ' + LogTypeName + ',logType=' + LTRIM(STR(LogType)) FROM [MoneyLogType] WHERE LogType = @Type), 'Unknown,logType=' + LTRIM(STR(@Type))) + ',Operate Fail'
- IF(@IsRobot = 1)
- BEGIN
- --记录日志
- INSERT INTO [RobotMoneyLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- values
- (
- @SourceName, @GameID, 'CASH', @UserID, @PreAmount, @ModifyAmount,
- @Balance, @Tax, @IPAddress, @chvRemark, @CurrTime, @Type
- )
-
- RETURN
- END
-
- --记录日志
- INSERT INTO [MoneyLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- values
- (
- @SourceName, @GameID, 'CASH', @UserID, @PreAmount, @ModifyAmount,
- @Balance, @Tax, @IPAddress, @chvRemark, @CurrTime, @Type
- )
- RETURN
- END
- SET @chvRemark = ISNULL((SELECT ChineseName + ' ' + LogTypeName + ',logType=' + LTRIM(STR(LogType)) FROM [MoneyLogType] WHERE LogType = @Type), 'Unknown,logType=' + LTRIM(STR(@Type)))
-
- --机器人
- IF(@IsRobot = 1)
- BEGIN
- --添加日志
- INSERT INTO [RobotMoneyLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- values
- (
- @SourceName, @GameID, 'CASH', @UserID, @PreAmount, @ModifyAmount,
- @Balance, @Tax, @IPAddress, @chvRemark, @CurrTime, @Type
- )
-
- RETURN
- END
-
- --正常玩家
- ELSE
- BEGIN
- --游戏税收统计
- IF(@Tax > 0)
- BEGIN
- UPDATE [GameTax] SET Tax = Tax + @Tax WHERE DateFlag = @DateFlag AND ServerName = @SourceName
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [GameTax] (DateFlag, ServerName, Tax) VALUES(@DateFlag, @SourceName, @Tax)
- END
-
- --台费触发代理收益
- EXEC [Game_UserAgent_Trigger] @UserID = @UserID, @GameID = @GameID, @Tax = @Tax, @IPAddress = @IPAddress, @TriggerType = 2
- END
- END
- --添加日志
- INSERT INTO [MoneyLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- values
- (
- @SourceName, @GameID, 'CASH', @UserID, @PreAmount, @ModifyAmount,
- @Balance, @Tax, @IPAddress, @chvRemark, @CurrTime, @Type
- )
-
- --流水触发代理收益
- IF(@ModifyAmount != 0)
- BEGIN
- EXEC [Game_UserAgent_Trigger] @UserID = @UserID, @GameID = @GameID, @Tax = @ModifyAmount, @IPAddress = @IPAddress, @TriggerType = 1
- END
-
- --用戶日常统计
-
- --赢金币
- IF(@ModifyAmount > 0)
- BEGIN
- SET @WinAmount = @ModifyAmount
- END
-
- --输金币
- ELSE IF(@ModifyAmount < 0)
- BEGIN
- SET @LoseAmount = @ModifyAmount
- END
-
- --获取今天最后游戏时间
- SELECT @RefreshTime = RefreshTime FROM [UserPlayTime] WHERE UserID = @UserID
-
- --计算游戏时长
- IF(@RefreshTime >= @DateFlag)
- BEGIN
- SET @PlaySeconds = DATEDIFF(SECOND, @RefreshTime, @CurrTime)
-
- --超过5分钟
- SET @PlaySeconds = CASE WHEN @PlaySeconds >= 300 THEN 0 ELSE @PlaySeconds END
- END
-
- -- 下面更新统计
- IF(@Amount != 0 OR @Tax != 0)
- BEGIN
- --统计
- IF(@Type % 100 != 99)
- BEGIN
- --游戏记录
- UPDATE
- [DailyBetStat]
- SET
- MoneySum = MoneySum + @ModifyAmount, TaxAmount = TaxAmount + @Tax, PlaySeconds = PlaySeconds + @PlaySeconds
- WHERE
- DateFlag = @DateFlag AND UserID = @UserID AND GameID = @GameID AND ServerName = @SourceName
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [DailyBetStat]
- (
- DateFlag, UserID, GameID, ServerName, BetAmount, ResultAmount, WinAmount,
- MoneySum, TaxAmount, TotalCount, WinCount, PlaySeconds
- )
- VALUES
- (
- @DateFlag, @UserID, @GameID, @SourceName, 0, 0, 0,
- @ModifyAmount, @Tax, 1, 0, @PlaySeconds
- )
- END
-
- --统计
- EXEC [Game_MoneyStat_Update] @UserID = @UserID, @MoneySum = @ModifyAmount, @TaxSum = @Tax, @LogType = @Type
- END
- END
-
- --更新
- UPDATE
- [UserDailyStat]
- SET
- WinAmount = WinAmount + @WinAmount, LoseAmount = LoseAmount + @LoseAmount, StillAmount = @Balance,
- GameStart = CASE WHEN GameStart = '2021-01-01' THEN @CurrTime ELSE GameStart END, GameEnd = @CurrTime,
- PlaySeconds = PlaySeconds + @PlaySeconds
- WHERE
- DateFlag = @DateFlag AND UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserDailyStat]
- (
- DateFlag, UserID, WinAmount, LoseAmount, StillAmount, GameStart, GameEnd,
- PlaySeconds, PayMoney, LoginCount, VideoPlayTimes, VideoSendAmount
- )
- VALUES
- (
- @DateFlag, @UserID, @WinAmount, @LoseAmount, @Balance, @CurrTime, @CurrTime,
- @PlaySeconds, 0, 0, 0, 0
- )
- END
-
- --游戏
- IF(@GameID > 0)
- BEGIN
- --刷新时间
- UPDATE [UserPlayTime] SET RefreshTime = @CurrTime WHERE UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserPlayTime](UserID, RefreshTime) VALUES(@UserID, @CurrTime)
- END
- END
-
- --游戏大厅离线
- IF(@Type = 99)
- BEGIN
- INSERT INTO [UserTrack](UserID, Level_1, Level_2, Level_3, Crdate) VALUES(@UserID, N'大厅', N'离线', '', @CurrTime)
- END
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_MoneyFlow_Stat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_MoneyFlow_Stat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-07-18
- -- Mendor: wolf
- -- Alter Date: 2017-01-05
- -- Description: 游戏金币流量统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_MoneyFlow_Stat]
- @MoneyLogID INT --金币日志ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --系统时间
- DECLARE @DateFlag SMALLDATETIME --日期标识
-
- SET @CurrTime = GETDATE()
-
- IF(DATEPART(MINUTE, @CurrTime) < 10)
- BEGIN
- SET @DateFlag = CONVERT(CHAR(14), @CurrTime, 120) + '00'
- END
-
- ELSE
- BEGIN
- SET @DateFlag = CONVERT(CHAR(14), @CurrTime, 120) + '30'
- END
- --最近30分钟内
- SET @DateFlag = DATEADD(MINUTE, -30, @DateFlag)
- --统计
- INSERT INTO [MoneyFlow]
- (
- DateFlag, GameID, Amount, Tax
- )
- SELECT
- @DateFlag, GameID, SUM(ModifyAmount), SUM(TaxAmount)
- FROM
- [MoneyLog]
- WHERE
- LogID <= @MoneyLogID AND GameID > 0 AND ModifyAmount != 0
- GROUP BY
- GameID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_MoneyStat_Total] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_MoneyStat_Total]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-03
- -- Mendor: wolf
- -- Alter Date: 2016-07-28
- -- Description: 每隔30分钟统计金币总量
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_MoneyStat_Total]
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @TotalAmount BIGINT --总存量
- DECLARE @TotalBank BIGINT --保险柜存量
-
- --现金总量、保险柜存量
- SELECT
- @TotalAmount = SUM(Amount), @TotalBank = SUM(Bank)
- FROM
- [Money]
- WHERE
- UserID NOT IN (SELECT UserID FROM [MachineUser])
-
- SET @TotalAmount = ISNULL(@TotalAmount, 0)
- SET @TotalBank = ISNULL(@TotalBank, 0)
-
- --记录
- INSERT INTO [MoneyStatTotal]
- (
- Crdate, TotalAmount, TotalBank
- )
- VALUES
- (
- CONVERT(CHAR(16), GETDATE(), 120), @TotalAmount, @TotalBank
- )
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_MoneyStat_Update] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_MoneyStat_Update]
- -- @MoneySum = 1,
- -- @TaxSum = 1,
- -- @LogType = 1
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-12
- -- Mendor: wolf
- -- Alter Date: 2014-09-02
- -- Description: 游戏金币统计(暂时只统计普通玩家)
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_MoneyStat_Update]
- @UserID INT, --用户ID
- @MoneySum BIGINT, --金币数
- @TaxSum BIGINT, --税收
- @LogType INT --日志类型
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @DateFlag SMALLDATETIME --日期标志
-
- SET @CurrTime = GETDATE()
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
-
- --更新统计信息
- UPDATE
- [MoneyStat]
- SET
- MoneySum = MoneySum + @MoneySum, TaxSum = TaxSum + @TaxSum
- WHERE
- DateFlag = @DateFlag AND UserID = @UserID AND LogType = @LogType
-
- --还没有统计信息
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [MoneyStat]
- (
- DateFlag, UserID, LogType, MoneySum, TaxSum
- )
- VALUES
- (
- @DateFlag, @UserID, @LogType, @MoneySum, @TaxSum
- )
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_NewUserStat_Stat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_NewUserStat_Stat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 新用户统计(每天统计)
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_NewUserStat_Stat]
- @CurrTime DATETIME --系统当前时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @StatFlag SMALLDATETIME --统计日期标识
- DECLARE @RegCount INT --注册人数
- DECLARE @Source NVARCHAR(256) --UTM源
- DECLARE @LiveUsers_2 INT --次日留存
- DECLARE @Rid INT --标识
- DECLARE @OneRid INT --当前标识
- DECLARE @Days INT --天数
- DECLARE @PayMoney DECIMAL(18, 2) --充值金额
-
- DECLARE @tmptable TABLE(
- UserID INT NOT NULL, --用户ID
- Source NVARCHAR(256) NOT NULL, --UTM源
- IsPay INT NOT NULL, --是否充值
- PayMoney DECIMAL(18, 2) NOT NULL --充值金额
- )
-
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime - 1, 120)
-
- --初始化变量
- INSERT INTO @tmptable
- (
- UserID, Source, IsPay, PayMoney
- )
- SELECT
- u.UserID, CASE WHEN s.Source IS NULL OR s.Source = '' THEN 'unknown' ELSE s.Source END,
- CASE WHEN l.RMBMoney > 0 THEN 1 ELSE 0 END, ISNULL(l.RMBMoney, 0)
- FROM
- [AllUser] u LEFT JOIN [UTM] s ON u.UserID = s.UserID
- LEFT JOIN [UserPayLog] l ON u.UserID = l.UserID AND l.DateFlag = @DateFlag
- WHERE
- u.RegTime >= @DateFlag AND u.RegTime < @DateFlag + 1
- IF(@@ROWCOUNT > 0)
- BEGIN
- --初始化各渠道
- INSERT INTO [NewUserStat]
- (
- DateFlag, Source, RegCount, LiveUsers_2, PayUsers_1,
- PayMoney_1, PayMoney_2, PayMoney_3, PayMoney_7, PayMoney_14, PayMoney_30
- )
- SELECT
- @DateFlag, Source, COUNT(DISTINCT UserID), 0, SUM(IsPay),
- SUM(PayMoney), 0, 0, 0, 0, 0
- FROM
- @tmptable
- GROUP BY
- Source
-
- --初始化所有
- INSERT INTO [NewUserStat]
- (
- DateFlag, Source, RegCount, LiveUsers_2, PayUsers_1,
- PayMoney_1, PayMoney_2, PayMoney_3, PayMoney_7, PayMoney_14, PayMoney_30
- )
- SELECT
- @DateFlag, N'All Source', COUNT(DISTINCT UserID), 0, SUM(IsPay),
- SUM(PayMoney), 0, 0, 0, 0, 0
- FROM
- @tmptable
- END
-
- SET @Rid = 0
-
- WHILE(1=1)
- BEGIN
- SET @OneRid = @Rid
- SET @Rid = NULL
-
- SET @Source = NULL
- SET @LiveUsers_2 = NULL
- SET @PayMoney = NULL
- SET @StatFlag = NULL
-
- SELECT TOP 1
- @Rid = Rid, @StatFlag = DateFlag, @Source = Source
- FROM
- [NewUserStat]
- WHERE
- DateFlag >= @DateFlag - 30 AND Rid > @OneRid
- ORDER BY
- Rid ASC
-
- IF(@Rid IS NULL)
- BREAK
-
- --计算天数
- SET @Days = DATEDIFF(DAY, @StatFlag, @DateFlag) + 1
-
- --所有渠道
- IF(@Source = 'All Source')
- BEGIN
- --次日
- IF(@Days = 2)
- BEGIN
- --次日留存
- SELECT
- @LiveUsers_2 = COUNT(UserID)
- FROM
- [AllUser]
- WHERE
- RegTime BETWEEN @StatFlag AND @StatFlag + 1 AND LoginTime BETWEEN @StatFlag + 1 AND @StatFlag + 2
- END
-
- --充值金额
- SELECT
- @PayMoney = SUM(p.RMBMoney)
- FROM
- [AllUser] u INNER JOIN [UserPayLog] p ON u.UserID = p.UserID AND p.DateFlag <= @DateFlag
- WHERE
- u.RegTime BETWEEN @StatFlag AND @StatFlag + 1
- END
-
- --各渠道
- ELSE
- BEGIN
- --次日
- IF(@Days = 2)
- BEGIN
- --次日留存
- SELECT
- @LiveUsers_2 = COUNT(u.UserID)
- FROM
- [AllUser] u INNER JOIN [UTM] s ON u.UserID = s.UserID
- WHERE
- u.RegTime BETWEEN @StatFlag AND @StatFlag + 1 AND u.LoginTime BETWEEN @StatFlag + 1 AND @StatFlag + 2 AND s.Source = @Source
- END
-
- --充值金额
- SELECT
- @PayMoney = SUM(p.RMBMoney)
- FROM
- [AllUser] u INNER JOIN [UserPayLog] p ON u.UserID = p.UserID AND p.DateFlag <= @DateFlag
- INNER JOIN [UTM] s ON u.UserID = s.UserID
- WHERE
- u.RegTime BETWEEN @StatFlag AND @StatFlag + 1 AND s.Source = @Source
- END
-
- SET @LiveUsers_2 = ISNULL(@LiveUsers_2, 0)
- SET @PayMoney = ISNULL(@PayMoney, 0)
-
- /*
- PRINT '@Rid=' + LTRIM(STR(@Rid)) + ',@DateFlag=' + CONVERT(VARCHAR(16), @StatFlag, 120) + ',@Source=' + @Source +
- ',@Days=' + LTRIM(STR(@Days)) + ',@LiveUsers_2=' + LTRIM(STR(@LiveUsers_2)) + ',@PayMoney=' + CAST(@PayMoney AS VARCHAR(16))
- */
-
- --更新统计
- UPDATE
- [NewUserStat]
- SET
- LiveUsers_2 = CASE WHEN @LiveUsers_2 > 0 THEN @LiveUsers_2 ELSE LiveUsers_2 END,
- PayMoney_2 = CASE WHEN @Days = 2 THEN @PayMoney ELSE PayMoney_2 END,
- PayMoney_3 = CASE WHEN @Days = 3 THEN @PayMoney ELSE PayMoney_3 END,
- PayMoney_7 = CASE WHEN @Days = 7 THEN @PayMoney ELSE PayMoney_7 END,
- PayMoney_14 = CASE WHEN @Days = 14 THEN @PayMoney ELSE PayMoney_14 END,
- PayMoney_30 = CASE WHEN @Days = 30 THEN @PayMoney ELSE PayMoney_30 END
- WHERE
- Rid = @Rid
- END
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_OnlineStat_Stat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_OnlineStat_Stat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-10-08
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 在线人数统计(每小时执行,供作业调用)
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_OnlineStat_Stat]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @Rid INT --标识
- DECLARE @OneRid INT --当前标识
- DECLARE @GameID INT --游戏ID
- DECLARE @OnlineUserCount INT --在线用户数
- --日志
- DECLARE @tmpLog TABLE(
- UserID INT NOT NULL, --用户ID
- GameID INT NOT NULL, --游戏ID
- ServerName NVARCHAR(32) NOT NULL, --服务器名称
- PartnerID INT NOT NULL --渠道ID
- )
- --表变量
- DECLARE @tmptable TABLE(
- Rid INT IDENTITY, --标识
- GameID INT NOT NULL, --游戏ID
- OnlineUserCount INT NOT NULL --在线用户数
- )
- DECLARE @Hour INT --小时
- DECLARE @Hour_0 INT -- 0点
- DECLARE @Hour_1 INT -- 1点
- DECLARE @Hour_2 INT -- 2点
- DECLARE @Hour_3 INT -- 3点
- DECLARE @Hour_4 INT -- 4点
- DECLARE @Hour_5 INT -- 5点
- DECLARE @Hour_6 INT -- 6点
- DECLARE @Hour_7 INT -- 7点
- DECLARE @Hour_8 INT -- 8点
- DECLARE @Hour_9 INT -- 9点
- DECLARE @Hour_10 INT -- 10点
- DECLARE @Hour_11 INT -- 11点
- DECLARE @Hour_12 INT -- 12点
- DECLARE @Hour_13 INT -- 13点
- DECLARE @Hour_14 INT -- 14点
- DECLARE @Hour_15 INT -- 15点
- DECLARE @Hour_16 INT -- 16点
- DECLARE @Hour_17 INT -- 17点
- DECLARE @Hour_18 INT -- 18点
- DECLARE @Hour_19 INT -- 19点
- DECLARE @Hour_20 INT -- 20点
- DECLARE @Hour_21 INT -- 21点
- DECLARE @Hour_22 INT -- 22点
- DECLARE @Hour_23 INT -- 23点
- SET @CurrTime = CONVERT(CHAR(14), DATEADD(HOUR, -1, GETDATE()), 120) + '00'
- SET @Hour = DATEPART(HOUR, @CurrTime)
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
- --初始化
- INSERT INTO @tmpLog
- (
- UserID, GameID, ServerName, PartnerID
- )
- SELECT DISTINCT
- UserID, GameID, ServerName, 0
- FROM
- [t_onlinelog]
- WHERE
- Crdate >= @CurrTime
-
- --获取渠道ID
- UPDATE l SET l.PartnerID = u.PartnerID FROM @tmpLog l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- --统计整个在线用户
- INSERT INTO [OnlineStat]
- (
- DateFlag, PartnerID, OnlineUserCount, GameID, ServerName
- )
- SELECT
- @CurrTime, -1, COUNT(DISTINCT UserID), -1, ''
- FROM
- @tmpLog
- --添加到统计表
- INSERT INTO [OnlineStat]
- (
- DateFlag, PartnerID, OnlineUserCount, GameID, ServerName
- )
- SELECT
- @CurrTime, PartnerID, COUNT(UserID), GameID, ServerName
- FROM
- @tmpLog
- GROUP BY
- PartnerID, GameID, ServerName
- --游戏在线用户
- INSERT INTO @tmptable
- (
- GameID, OnlineUserCount
- )
- SELECT
- GameID, COUNT(DISTINCT UserID)
- FROM
- @tmpLog
- WHERE
- GameID > 0
- GROUP BY
- GameID
- SET @Rid = 0
- --遍历
- WHILE(1=1)
- BEGIN
- SET @OneRid = @Rid
- SET @Rid = NULL
- SET @GameID = NULL
- SET @OnlineUserCount = NULL
- SELECT TOP 1
- @Rid = Rid, @GameID = GameID, @OnlineUserCount = OnlineUserCount
- FROM
- @tmptable
- WHERE
- Rid > @OneRid
- ORDER BY
- Rid ASC
- IF(@Rid IS NULL OR @GameID IS NULL OR @OnlineUserCount IS NULL)
- BREAK
- --分时段
- SELECT
- @Hour_0 = CASE WHEN @Hour = 0 THEN @OnlineUserCount ELSE 0 END, @Hour_1 = CASE WHEN @Hour = 1 THEN @OnlineUserCount ELSE 0 END,
- @Hour_2 = CASE WHEN @Hour = 2 THEN @OnlineUserCount ELSE 0 END, @Hour_3 = CASE WHEN @Hour = 3 THEN @OnlineUserCount ELSE 0 END,
- @Hour_4 = CASE WHEN @Hour = 4 THEN @OnlineUserCount ELSE 0 END, @Hour_5 = CASE WHEN @Hour = 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_6 = CASE WHEN @Hour = 6 THEN @OnlineUserCount ELSE 0 END, @Hour_7 = CASE WHEN @Hour = 7 THEN @OnlineUserCount ELSE 0 END,
- @Hour_8 = CASE WHEN @Hour = 8 THEN @OnlineUserCount ELSE 0 END, @Hour_9 = CASE WHEN @Hour = 9 THEN @OnlineUserCount ELSE 0 END,
- @Hour_10 = CASE WHEN @Hour = 10 THEN @OnlineUserCount ELSE 0 END, @Hour_11 = CASE WHEN @Hour = 11 THEN @OnlineUserCount ELSE 0 END,
- @Hour_12 = CASE WHEN @Hour = 12 THEN @OnlineUserCount ELSE 0 END, @Hour_13 = CASE WHEN @Hour = 13 THEN @OnlineUserCount ELSE 0 END,
- @Hour_14 = CASE WHEN @Hour = 14 THEN @OnlineUserCount ELSE 0 END, @Hour_15 = CASE WHEN @Hour = 15 THEN @OnlineUserCount ELSE 0 END,
- @Hour_16 = CASE WHEN @Hour = 16 THEN @OnlineUserCount ELSE 0 END, @Hour_17 = CASE WHEN @Hour = 17 THEN @OnlineUserCount ELSE 0 END,
- @Hour_18 = CASE WHEN @Hour = 18 THEN @OnlineUserCount ELSE 0 END, @Hour_19 = CASE WHEN @Hour = 19 THEN @OnlineUserCount ELSE 0 END,
- @Hour_20 = CASE WHEN @Hour = 20 THEN @OnlineUserCount ELSE 0 END, @Hour_21 = CASE WHEN @Hour = 21 THEN @OnlineUserCount ELSE 0 END,
- @Hour_22 = CASE WHEN @Hour = 22 THEN @OnlineUserCount ELSE 0 END, @Hour_23 = CASE WHEN @Hour = 23 THEN @OnlineUserCount ELSE 0 END
- --统计
- UPDATE
- [OnlineStatHour]
- SET
- Hour_0 = Hour_0 + @Hour_0, Hour_1 = Hour_1 + @Hour_1, Hour_2 = Hour_2 + @Hour_2, Hour_3 = Hour_3 + @Hour_3,
- Hour_4 = Hour_4 + @Hour_4, Hour_5 = Hour_5 + @Hour_5, Hour_6 = Hour_6 + @Hour_6, Hour_7 = Hour_7 + @Hour_7,
- Hour_8 = Hour_8 + @Hour_8, Hour_9 = Hour_9 + @Hour_9, Hour_10 = Hour_10 + @Hour_10, Hour_11 = Hour_11 + @Hour_11,
- Hour_12 = Hour_12 + @Hour_12, Hour_13 = Hour_13 + @Hour_13, Hour_14 = Hour_14 + @Hour_14, Hour_15 = Hour_15 + @Hour_15,
- Hour_16 = Hour_16 + @Hour_16, Hour_17 = Hour_17 + @Hour_17, Hour_18 = Hour_18 + @Hour_18, Hour_19 = Hour_19 + @Hour_19,
- Hour_20 = Hour_20 + @Hour_20, Hour_21 = Hour_21 + @Hour_21, Hour_22 = Hour_22 + @Hour_22, Hour_23 = Hour_23 + @Hour_23
- WHERE
- DateFlag = @DateFlag AND GameID = @GameID
- --今天还没有
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [OnlineStatHour]
- (
- DateFlag, GameID,
- Hour_0, Hour_1, Hour_2, Hour_3, Hour_4, Hour_5, Hour_6, Hour_7, Hour_8,
- Hour_9, Hour_10, Hour_11, Hour_12, Hour_13, Hour_14, Hour_15, Hour_16,
- Hour_17, Hour_18, Hour_19, Hour_20, Hour_21, Hour_22, Hour_23
- )
- VALUES
- (
- @DateFlag, @GameID,
- @Hour_0, @Hour_1, @Hour_2, @Hour_3, @Hour_4, @Hour_5, @Hour_6, @Hour_7, @Hour_8,
- @Hour_9, @Hour_10, @Hour_11, @Hour_12, @Hour_13, @Hour_14, @Hour_15, @Hour_16,
- @Hour_17, @Hour_18, @Hour_19, @Hour_20, @Hour_21, @Hour_22, @Hour_23
- )
- END
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_OnlineStatChip_Stat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_OnlineStatChip_Stat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-10-08
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 在线人数统计(每小时执行,供作业调用)
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_OnlineStatChip_Stat]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @Rid INT --标识
- DECLARE @OneRid INT --当前标识
- DECLARE @GameID INT --游戏ID
- DECLARE @OnlineUserCount INT --在线用户数
- --日志
- DECLARE @tmpLog TABLE(
- UserID INT NOT NULL, --用户ID
- GameID INT NOT NULL, --游戏ID
- ServerName NVARCHAR(32) NOT NULL, --服务器名称
- PartnerID INT NOT NULL --渠道ID
- )
- --表变量
- DECLARE @tmptable TABLE(
- Rid INT IDENTITY, --标识
- GameID INT NOT NULL, --游戏ID
- OnlineUserCount INT NOT NULL --在线用户数
- )
- DECLARE @Hour INT --小时
- DECLARE @Hour_0 INT -- 0点
- DECLARE @Hour_1 INT -- 1点
- DECLARE @Hour_2 INT -- 2点
- DECLARE @Hour_3 INT -- 3点
- DECLARE @Hour_4 INT -- 4点
- DECLARE @Hour_5 INT -- 5点
- DECLARE @Hour_6 INT -- 6点
- DECLARE @Hour_7 INT -- 7点
- DECLARE @Hour_8 INT -- 8点
- DECLARE @Hour_9 INT -- 9点
- DECLARE @Hour_10 INT -- 10点
- DECLARE @Hour_11 INT -- 11点
- DECLARE @Hour_12 INT -- 12点
- DECLARE @Hour_13 INT -- 13点
- DECLARE @Hour_14 INT -- 14点
- DECLARE @Hour_15 INT -- 15点
- DECLARE @Hour_16 INT -- 16点
- DECLARE @Hour_17 INT -- 17点
- DECLARE @Hour_18 INT -- 18点
- DECLARE @Hour_19 INT -- 19点
- DECLARE @Hour_20 INT -- 20点
- DECLARE @Hour_21 INT -- 21点
- DECLARE @Hour_22 INT -- 22点
- DECLARE @Hour_23 INT -- 23点
- SET @CurrTime = CONVERT(CHAR(14), DATEADD(HOUR, -1, GETDATE()), 120) + '00'
- SET @Hour = DATEPART(HOUR, @CurrTime)
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
- --初始化
- INSERT INTO @tmpLog
- (
- UserID, GameID, ServerName, PartnerID
- )
- SELECT DISTINCT
- UserID, GameID, ServerName, 0
- FROM
- [t_onlinelog]
- WHERE
- Crdate >= @CurrTime AND IsChip = 1
-
- --获取渠道ID
- UPDATE l SET l.PartnerID = u.PartnerID FROM @tmpLog l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- --统计整个在线用户
- INSERT INTO [OnlineStatChip]
- (
- DateFlag, PartnerID, OnlineUserCount, GameID, ServerName
- )
- SELECT
- @CurrTime, -1, COUNT(DISTINCT UserID), -1, ''
- FROM
- @tmpLog
- --添加到统计表
- INSERT INTO [OnlineStatChip]
- (
- DateFlag, PartnerID, OnlineUserCount, GameID, ServerName
- )
- SELECT
- @CurrTime, PartnerID, COUNT(UserID), GameID, ServerName
- FROM
- @tmpLog
- GROUP BY
- PartnerID, GameID, ServerName
- --游戏在线用户
- INSERT INTO @tmptable
- (
- GameID, OnlineUserCount
- )
- SELECT
- GameID, COUNT(DISTINCT UserID)
- FROM
- @tmpLog
- WHERE
- GameID > 0
- GROUP BY
- GameID
- SET @Rid = 0
- --遍历
- WHILE(1=1)
- BEGIN
- SET @OneRid = @Rid
- SET @Rid = NULL
- SET @GameID = NULL
- SET @OnlineUserCount = NULL
- SELECT TOP 1
- @Rid = Rid, @GameID = GameID, @OnlineUserCount = OnlineUserCount
- FROM
- @tmptable
- WHERE
- Rid > @OneRid
- ORDER BY
- Rid ASC
- IF(@Rid IS NULL OR @GameID IS NULL OR @OnlineUserCount IS NULL)
- BREAK
- --分时段
- SELECT
- @Hour_0 = CASE WHEN @Hour = 0 THEN @OnlineUserCount ELSE 0 END, @Hour_1 = CASE WHEN @Hour = 1 THEN @OnlineUserCount ELSE 0 END,
- @Hour_2 = CASE WHEN @Hour = 2 THEN @OnlineUserCount ELSE 0 END, @Hour_3 = CASE WHEN @Hour = 3 THEN @OnlineUserCount ELSE 0 END,
- @Hour_4 = CASE WHEN @Hour = 4 THEN @OnlineUserCount ELSE 0 END, @Hour_5 = CASE WHEN @Hour = 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_6 = CASE WHEN @Hour = 6 THEN @OnlineUserCount ELSE 0 END, @Hour_7 = CASE WHEN @Hour = 7 THEN @OnlineUserCount ELSE 0 END,
- @Hour_8 = CASE WHEN @Hour = 8 THEN @OnlineUserCount ELSE 0 END, @Hour_9 = CASE WHEN @Hour = 9 THEN @OnlineUserCount ELSE 0 END,
- @Hour_10 = CASE WHEN @Hour = 10 THEN @OnlineUserCount ELSE 0 END, @Hour_11 = CASE WHEN @Hour = 11 THEN @OnlineUserCount ELSE 0 END,
- @Hour_12 = CASE WHEN @Hour = 12 THEN @OnlineUserCount ELSE 0 END, @Hour_13 = CASE WHEN @Hour = 13 THEN @OnlineUserCount ELSE 0 END,
- @Hour_14 = CASE WHEN @Hour = 14 THEN @OnlineUserCount ELSE 0 END, @Hour_15 = CASE WHEN @Hour = 15 THEN @OnlineUserCount ELSE 0 END,
- @Hour_16 = CASE WHEN @Hour = 16 THEN @OnlineUserCount ELSE 0 END, @Hour_17 = CASE WHEN @Hour = 17 THEN @OnlineUserCount ELSE 0 END,
- @Hour_18 = CASE WHEN @Hour = 18 THEN @OnlineUserCount ELSE 0 END, @Hour_19 = CASE WHEN @Hour = 19 THEN @OnlineUserCount ELSE 0 END,
- @Hour_20 = CASE WHEN @Hour = 20 THEN @OnlineUserCount ELSE 0 END, @Hour_21 = CASE WHEN @Hour = 21 THEN @OnlineUserCount ELSE 0 END,
- @Hour_22 = CASE WHEN @Hour = 22 THEN @OnlineUserCount ELSE 0 END, @Hour_23 = CASE WHEN @Hour = 23 THEN @OnlineUserCount ELSE 0 END
- --统计
- UPDATE
- [OnlineStatHourChip]
- SET
- Hour_0 = Hour_0 + @Hour_0, Hour_1 = Hour_1 + @Hour_1, Hour_2 = Hour_2 + @Hour_2, Hour_3 = Hour_3 + @Hour_3,
- Hour_4 = Hour_4 + @Hour_4, Hour_5 = Hour_5 + @Hour_5, Hour_6 = Hour_6 + @Hour_6, Hour_7 = Hour_7 + @Hour_7,
- Hour_8 = Hour_8 + @Hour_8, Hour_9 = Hour_9 + @Hour_9, Hour_10 = Hour_10 + @Hour_10, Hour_11 = Hour_11 + @Hour_11,
- Hour_12 = Hour_12 + @Hour_12, Hour_13 = Hour_13 + @Hour_13, Hour_14 = Hour_14 + @Hour_14, Hour_15 = Hour_15 + @Hour_15,
- Hour_16 = Hour_16 + @Hour_16, Hour_17 = Hour_17 + @Hour_17, Hour_18 = Hour_18 + @Hour_18, Hour_19 = Hour_19 + @Hour_19,
- Hour_20 = Hour_20 + @Hour_20, Hour_21 = Hour_21 + @Hour_21, Hour_22 = Hour_22 + @Hour_22, Hour_23 = Hour_23 + @Hour_23
- WHERE
- DateFlag = @DateFlag AND GameID = @GameID
- --今天还没有
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [OnlineStatHourChip]
- (
- DateFlag, GameID,
- Hour_0, Hour_1, Hour_2, Hour_3, Hour_4, Hour_5, Hour_6, Hour_7, Hour_8,
- Hour_9, Hour_10, Hour_11, Hour_12, Hour_13, Hour_14, Hour_15, Hour_16,
- Hour_17, Hour_18, Hour_19, Hour_20, Hour_21, Hour_22, Hour_23
- )
- VALUES
- (
- @DateFlag, @GameID,
- @Hour_0, @Hour_1, @Hour_2, @Hour_3, @Hour_4, @Hour_5, @Hour_6, @Hour_7, @Hour_8,
- @Hour_9, @Hour_10, @Hour_11, @Hour_12, @Hour_13, @Hour_14, @Hour_15, @Hour_16,
- @Hour_17, @Hour_18, @Hour_19, @Hour_20, @Hour_21, @Hour_22, @Hour_23
- )
- END
- END
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_OnlineUser_Stat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_OnlineUser_Stat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-10-08
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 同时在线人数统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_OnlineUser_Stat]
- @CurrTime DATETIME --时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Rid INT --标识
- DECLARE @OneRid INT --当前标识
- DECLARE @GameID INT --游戏ID
- DECLARE @OnlineUserCount INT --在线用户数
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @Hour INT --小时
- DECLARE @Min INT --分钟
- DECLARE @Hour_0000 INT -- 00:00
- DECLARE @Hour_0030 INT -- 00:30
- DECLARE @Hour_0100 INT -- 01:00
- DECLARE @Hour_0130 INT -- 01:30
- DECLARE @Hour_0200 INT -- 02:00
- DECLARE @Hour_0230 INT -- 02:30
- DECLARE @Hour_0300 INT -- 03:00
- DECLARE @Hour_0330 INT -- 03:30
- DECLARE @Hour_0400 INT -- 04:00
- DECLARE @Hour_0430 INT -- 04:30
- DECLARE @Hour_0500 INT -- 05:00
- DECLARE @Hour_0530 INT -- 05:30
- DECLARE @Hour_0600 INT -- 06:00
- DECLARE @Hour_0630 INT -- 06:30
- DECLARE @Hour_0700 INT -- 07:00
- DECLARE @Hour_0730 INT -- 07:30
- DECLARE @Hour_0800 INT -- 08:00
- DECLARE @Hour_0830 INT -- 08:30
- DECLARE @Hour_0900 INT -- 09:00
- DECLARE @Hour_0930 INT -- 09:30
- DECLARE @Hour_1000 INT -- 10:00
- DECLARE @Hour_1030 INT -- 10:30
- DECLARE @Hour_1100 INT -- 11:00
- DECLARE @Hour_1130 INT -- 11:30
- DECLARE @Hour_1200 INT -- 12:00
- DECLARE @Hour_1230 INT -- 12:30
- DECLARE @Hour_1300 INT -- 13:00
- DECLARE @Hour_1330 INT -- 13:30
- DECLARE @Hour_1400 INT -- 14:00
- DECLARE @Hour_1430 INT -- 14:30
- DECLARE @Hour_1500 INT -- 15:00
- DECLARE @Hour_1530 INT -- 15:30
- DECLARE @Hour_1600 INT -- 16:00
- DECLARE @Hour_1630 INT -- 16:30
- DECLARE @Hour_1700 INT -- 17:00
- DECLARE @Hour_1730 INT -- 17:30
- DECLARE @Hour_1800 INT -- 18:00
- DECLARE @Hour_1830 INT -- 18:30
- DECLARE @Hour_1900 INT -- 19:00
- DECLARE @Hour_1930 INT -- 19:30
- DECLARE @Hour_2000 INT -- 20:00
- DECLARE @Hour_2030 INT -- 20:30
- DECLARE @Hour_2100 INT -- 21:00
- DECLARE @Hour_2130 INT -- 21:30
- DECLARE @Hour_2200 INT -- 22:00
- DECLARE @Hour_2230 INT -- 22:30
- DECLARE @Hour_2300 INT -- 23:00
- DECLARE @Hour_2330 INT -- 23:30
-
- DECLARE @tmptable TABLE(
- Rid INT IDENTITY, --自增
- GameID INT NOT NULL, --游戏ID
- OnlineUserCount INT NOT NULL --在线人数
- )
-
- SET @Hour = DATEPART(HOUR, @CurrTime)
- SET @Min = DATEPART(MINUTE, @CurrTime)
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
-
- --初始化
- INSERT INTO @tmptable
- (
- GameID, OnlineUserCount
- )
- SELECT
- GameID, COUNT(UserID)
- FROM
- [t_onlineuser]
- GROUP BY
- GameID
-
- SET @Rid = 0
- --遍历
- WHILE(1=1)
- BEGIN
- SET @OneRid = @Rid
- SET @Rid = NULL
- SET @GameID = NULL
- SET @OnlineUserCount = NULL
- SELECT TOP 1
- @Rid = Rid, @GameID = GameID, @OnlineUserCount = OnlineUserCount
- FROM
- @tmptable
- WHERE
- Rid > @OneRid
- ORDER BY
- Rid ASC
- IF(@Rid IS NULL OR @GameID IS NULL OR @OnlineUserCount IS NULL)
- BREAK
- --分时段
- SELECT
- @Hour_0000 = CASE WHEN @Hour = 0 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_0030 = CASE WHEN @Hour = 0 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_0100 = CASE WHEN @Hour = 1 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_0130 = CASE WHEN @Hour = 1 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_0200 = CASE WHEN @Hour = 2 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_0230 = CASE WHEN @Hour = 2 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_0300 = CASE WHEN @Hour = 3 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_0330 = CASE WHEN @Hour = 3 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_0400 = CASE WHEN @Hour = 4 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_0430 = CASE WHEN @Hour = 4 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_0500 = CASE WHEN @Hour = 5 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_0530 = CASE WHEN @Hour = 5 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_0600 = CASE WHEN @Hour = 6 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_0630 = CASE WHEN @Hour = 6 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_0700 = CASE WHEN @Hour = 7 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_0730 = CASE WHEN @Hour = 7 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_0800 = CASE WHEN @Hour = 8 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_0830 = CASE WHEN @Hour = 8 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_0900 = CASE WHEN @Hour = 9 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_0930 = CASE WHEN @Hour = 9 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_1000 = CASE WHEN @Hour = 10 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_1030 = CASE WHEN @Hour = 10 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_1100 = CASE WHEN @Hour = 11 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_1130 = CASE WHEN @Hour = 11 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_1200 = CASE WHEN @Hour = 12 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_1230 = CASE WHEN @Hour = 12 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_1300 = CASE WHEN @Hour = 13 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_1330 = CASE WHEN @Hour = 13 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_1400 = CASE WHEN @Hour = 14 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_1430 = CASE WHEN @Hour = 14 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_1500 = CASE WHEN @Hour = 15 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_1530 = CASE WHEN @Hour = 15 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_1600 = CASE WHEN @Hour = 16 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_1630 = CASE WHEN @Hour = 16 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_1700 = CASE WHEN @Hour = 17 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_1730 = CASE WHEN @Hour = 17 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_1800 = CASE WHEN @Hour = 18 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_1830 = CASE WHEN @Hour = 18 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_1900 = CASE WHEN @Hour = 19 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_1930 = CASE WHEN @Hour = 19 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_2000 = CASE WHEN @Hour = 20 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_2030 = CASE WHEN @Hour = 20 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_2100 = CASE WHEN @Hour = 21 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_2130 = CASE WHEN @Hour = 21 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_2200 = CASE WHEN @Hour = 22 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_2230 = CASE WHEN @Hour = 22 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_2300 = CASE WHEN @Hour = 23 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_2330 = CASE WHEN @Hour = 23 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END
- --统计
- UPDATE
- [OnlineStatMin]
- SET
- Hour_0000 = Hour_0000 + @Hour_0000, Hour_0030 = Hour_0030 + @Hour_0030,
- Hour_0100 = Hour_0100 + @Hour_0100, Hour_0130 = Hour_0130 + @Hour_0130,
- Hour_0200 = Hour_0200 + @Hour_0200, Hour_0230 = Hour_0230 + @Hour_0230,
- Hour_0300 = Hour_0300 + @Hour_0300, Hour_0330 = Hour_0330 + @Hour_0330,
- Hour_0400 = Hour_0400 + @Hour_0400, Hour_0430 = Hour_0430 + @Hour_0430,
- Hour_0500 = Hour_0500 + @Hour_0500, Hour_0530 = Hour_0530 + @Hour_0530,
- Hour_0600 = Hour_0600 + @Hour_0600, Hour_0630 = Hour_0630 + @Hour_0630,
- Hour_0700 = Hour_0700 + @Hour_0700, Hour_0730 = Hour_0730 + @Hour_0730,
- Hour_0800 = Hour_0800 + @Hour_0800, Hour_0830 = Hour_0830 + @Hour_0830,
- Hour_0900 = Hour_0900 + @Hour_0900, Hour_0930 = Hour_0930 + @Hour_0930,
- Hour_1000 = Hour_1000 + @Hour_1000, Hour_1030 = Hour_1030 + @Hour_1030,
- Hour_1100 = Hour_1100 + @Hour_1100, Hour_1130 = Hour_1130 + @Hour_1130,
- Hour_1200 = Hour_1200 + @Hour_1200, Hour_1230 = Hour_1230 + @Hour_1230,
- Hour_1300 = Hour_1300 + @Hour_1300, Hour_1330 = Hour_1330 + @Hour_1330,
- Hour_1400 = Hour_1400 + @Hour_1400, Hour_1430 = Hour_1430 + @Hour_1430,
- Hour_1500 = Hour_1500 + @Hour_1500, Hour_1530 = Hour_1530 + @Hour_1530,
- Hour_1600 = Hour_1600 + @Hour_1600, Hour_1630 = Hour_1630 + @Hour_1630,
- Hour_1700 = Hour_1700 + @Hour_1700, Hour_1730 = Hour_1730 + @Hour_1730,
- Hour_1800 = Hour_1800 + @Hour_1800, Hour_1830 = Hour_1830 + @Hour_1830,
- Hour_1900 = Hour_1900 + @Hour_1900, Hour_1930 = Hour_1930 + @Hour_1930,
- Hour_2000 = Hour_2000 + @Hour_2000, Hour_2030 = Hour_2030 + @Hour_2030,
- Hour_2100 = Hour_2100 + @Hour_2100, Hour_2130 = Hour_2130 + @Hour_2130,
- Hour_2200 = Hour_2200 + @Hour_2200, Hour_2230 = Hour_2230 + @Hour_2230,
- Hour_2300 = Hour_2300 + @Hour_2300, Hour_2330 = Hour_2330 + @Hour_2330
- WHERE
- DateFlag = @DateFlag AND GameID = @GameID
- --今天还没有
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [OnlineStatMin]
- (
- DateFlag, GameID,
- Hour_0000, Hour_0030, Hour_0100, Hour_0130, Hour_0200, Hour_0230,
- Hour_0300, Hour_0330, Hour_0400, Hour_0430, Hour_0500, Hour_0530,
- Hour_0600, Hour_0630, Hour_0700, Hour_0730, Hour_0800, Hour_0830,
- Hour_0900, Hour_0930, Hour_1000, Hour_1030, Hour_1100, Hour_1130,
- Hour_1200, Hour_1230, Hour_1300, Hour_1330, Hour_1400, Hour_1430,
- Hour_1500, Hour_1530, Hour_1600, Hour_1630, Hour_1700, Hour_1730,
- Hour_1800, Hour_1830, Hour_1900, Hour_1930, Hour_2000, Hour_2030,
- Hour_2100, Hour_2130, Hour_2200, Hour_2230, Hour_2300, Hour_2330
- )
- VALUES
- (
- @DateFlag, @GameID,
- @Hour_0000, @Hour_0030, @Hour_0100, @Hour_0130, @Hour_0200, @Hour_0230,
- @Hour_0300, @Hour_0330, @Hour_0400, @Hour_0430, @Hour_0500, @Hour_0530,
- @Hour_0600, @Hour_0630, @Hour_0700, @Hour_0730, @Hour_0800, @Hour_0830,
- @Hour_0900, @Hour_0930, @Hour_1000, @Hour_1030, @Hour_1100, @Hour_1130,
- @Hour_1200, @Hour_1230, @Hour_1300, @Hour_1330, @Hour_1400, @Hour_1430,
- @Hour_1500, @Hour_1530, @Hour_1600, @Hour_1630, @Hour_1700, @Hour_1730,
- @Hour_1800, @Hour_1830, @Hour_1900, @Hour_1930, @Hour_2000, @Hour_2030,
- @Hour_2100, @Hour_2130, @Hour_2200, @Hour_2230, @Hour_2300, @Hour_2330
- )
- END
- END
-
-
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_OnlineUserChip_Stat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_OnlineUserChip_Stat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-10-08
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 同时在线人数统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_OnlineUserChip_Stat]
- @CurrTime DATETIME --时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Rid INT --标识
- DECLARE @OneRid INT --当前标识
- DECLARE @GameID INT --游戏ID
- DECLARE @OnlineUserCount INT --在线用户数
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @Hour INT --小时
- DECLARE @Min INT --分钟
- DECLARE @Hour_0000 INT -- 00:00
- DECLARE @Hour_0030 INT -- 00:30
- DECLARE @Hour_0100 INT -- 01:00
- DECLARE @Hour_0130 INT -- 01:30
- DECLARE @Hour_0200 INT -- 02:00
- DECLARE @Hour_0230 INT -- 02:30
- DECLARE @Hour_0300 INT -- 03:00
- DECLARE @Hour_0330 INT -- 03:30
- DECLARE @Hour_0400 INT -- 04:00
- DECLARE @Hour_0430 INT -- 04:30
- DECLARE @Hour_0500 INT -- 05:00
- DECLARE @Hour_0530 INT -- 05:30
- DECLARE @Hour_0600 INT -- 06:00
- DECLARE @Hour_0630 INT -- 06:30
- DECLARE @Hour_0700 INT -- 07:00
- DECLARE @Hour_0730 INT -- 07:30
- DECLARE @Hour_0800 INT -- 08:00
- DECLARE @Hour_0830 INT -- 08:30
- DECLARE @Hour_0900 INT -- 09:00
- DECLARE @Hour_0930 INT -- 09:30
- DECLARE @Hour_1000 INT -- 10:00
- DECLARE @Hour_1030 INT -- 10:30
- DECLARE @Hour_1100 INT -- 11:00
- DECLARE @Hour_1130 INT -- 11:30
- DECLARE @Hour_1200 INT -- 12:00
- DECLARE @Hour_1230 INT -- 12:30
- DECLARE @Hour_1300 INT -- 13:00
- DECLARE @Hour_1330 INT -- 13:30
- DECLARE @Hour_1400 INT -- 14:00
- DECLARE @Hour_1430 INT -- 14:30
- DECLARE @Hour_1500 INT -- 15:00
- DECLARE @Hour_1530 INT -- 15:30
- DECLARE @Hour_1600 INT -- 16:00
- DECLARE @Hour_1630 INT -- 16:30
- DECLARE @Hour_1700 INT -- 17:00
- DECLARE @Hour_1730 INT -- 17:30
- DECLARE @Hour_1800 INT -- 18:00
- DECLARE @Hour_1830 INT -- 18:30
- DECLARE @Hour_1900 INT -- 19:00
- DECLARE @Hour_1930 INT -- 19:30
- DECLARE @Hour_2000 INT -- 20:00
- DECLARE @Hour_2030 INT -- 20:30
- DECLARE @Hour_2100 INT -- 21:00
- DECLARE @Hour_2130 INT -- 21:30
- DECLARE @Hour_2200 INT -- 22:00
- DECLARE @Hour_2230 INT -- 22:30
- DECLARE @Hour_2300 INT -- 23:00
- DECLARE @Hour_2330 INT -- 23:30
-
- DECLARE @tmptable TABLE(
- Rid INT IDENTITY, --自增
- GameID INT NOT NULL, --游戏ID
- OnlineUserCount INT NOT NULL --在线人数
- )
-
- SET @Hour = DATEPART(HOUR, @CurrTime)
- SET @Min = DATEPART(MINUTE, @CurrTime)
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
-
- --初始化
- INSERT INTO @tmptable
- (
- GameID, OnlineUserCount
- )
- SELECT
- GameID, COUNT(UserID)
- FROM
- [t_onlineuser]
- WHERE
- IsChip = 1
- GROUP BY
- GameID
-
- SET @Rid = 0
- --遍历
- WHILE(1=1)
- BEGIN
- SET @OneRid = @Rid
- SET @Rid = NULL
- SET @GameID = NULL
- SET @OnlineUserCount = NULL
- SELECT TOP 1
- @Rid = Rid, @GameID = GameID, @OnlineUserCount = OnlineUserCount
- FROM
- @tmptable
- WHERE
- Rid > @OneRid
- ORDER BY
- Rid ASC
- IF(@Rid IS NULL OR @GameID IS NULL OR @OnlineUserCount IS NULL)
- BREAK
- --分时段
- SELECT
- @Hour_0000 = CASE WHEN @Hour = 0 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_0030 = CASE WHEN @Hour = 0 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_0100 = CASE WHEN @Hour = 1 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_0130 = CASE WHEN @Hour = 1 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_0200 = CASE WHEN @Hour = 2 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_0230 = CASE WHEN @Hour = 2 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_0300 = CASE WHEN @Hour = 3 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_0330 = CASE WHEN @Hour = 3 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_0400 = CASE WHEN @Hour = 4 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_0430 = CASE WHEN @Hour = 4 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_0500 = CASE WHEN @Hour = 5 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_0530 = CASE WHEN @Hour = 5 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_0600 = CASE WHEN @Hour = 6 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_0630 = CASE WHEN @Hour = 6 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_0700 = CASE WHEN @Hour = 7 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_0730 = CASE WHEN @Hour = 7 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_0800 = CASE WHEN @Hour = 8 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_0830 = CASE WHEN @Hour = 8 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_0900 = CASE WHEN @Hour = 9 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_0930 = CASE WHEN @Hour = 9 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_1000 = CASE WHEN @Hour = 10 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_1030 = CASE WHEN @Hour = 10 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_1100 = CASE WHEN @Hour = 11 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_1130 = CASE WHEN @Hour = 11 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_1200 = CASE WHEN @Hour = 12 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_1230 = CASE WHEN @Hour = 12 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_1300 = CASE WHEN @Hour = 13 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_1330 = CASE WHEN @Hour = 13 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_1400 = CASE WHEN @Hour = 14 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_1430 = CASE WHEN @Hour = 14 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_1500 = CASE WHEN @Hour = 15 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_1530 = CASE WHEN @Hour = 15 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_1600 = CASE WHEN @Hour = 16 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_1630 = CASE WHEN @Hour = 16 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_1700 = CASE WHEN @Hour = 17 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_1730 = CASE WHEN @Hour = 17 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_1800 = CASE WHEN @Hour = 18 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_1830 = CASE WHEN @Hour = 18 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_1900 = CASE WHEN @Hour = 19 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_1930 = CASE WHEN @Hour = 19 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_2000 = CASE WHEN @Hour = 20 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_2030 = CASE WHEN @Hour = 20 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_2100 = CASE WHEN @Hour = 21 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_2130 = CASE WHEN @Hour = 21 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_2200 = CASE WHEN @Hour = 22 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_2230 = CASE WHEN @Hour = 22 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END,
-
- @Hour_2300 = CASE WHEN @Hour = 23 AND @Min < 5 THEN @OnlineUserCount ELSE 0 END,
- @Hour_2330 = CASE WHEN @Hour = 23 AND @Min BETWEEN 30 AND 35 THEN @OnlineUserCount ELSE 0 END
- --统计
- UPDATE
- [OnlineStatMinChip]
- SET
- Hour_0000 = Hour_0000 + @Hour_0000, Hour_0030 = Hour_0030 + @Hour_0030,
- Hour_0100 = Hour_0100 + @Hour_0100, Hour_0130 = Hour_0130 + @Hour_0130,
- Hour_0200 = Hour_0200 + @Hour_0200, Hour_0230 = Hour_0230 + @Hour_0230,
- Hour_0300 = Hour_0300 + @Hour_0300, Hour_0330 = Hour_0330 + @Hour_0330,
- Hour_0400 = Hour_0400 + @Hour_0400, Hour_0430 = Hour_0430 + @Hour_0430,
- Hour_0500 = Hour_0500 + @Hour_0500, Hour_0530 = Hour_0530 + @Hour_0530,
- Hour_0600 = Hour_0600 + @Hour_0600, Hour_0630 = Hour_0630 + @Hour_0630,
- Hour_0700 = Hour_0700 + @Hour_0700, Hour_0730 = Hour_0730 + @Hour_0730,
- Hour_0800 = Hour_0800 + @Hour_0800, Hour_0830 = Hour_0830 + @Hour_0830,
- Hour_0900 = Hour_0900 + @Hour_0900, Hour_0930 = Hour_0930 + @Hour_0930,
- Hour_1000 = Hour_1000 + @Hour_1000, Hour_1030 = Hour_1030 + @Hour_1030,
- Hour_1100 = Hour_1100 + @Hour_1100, Hour_1130 = Hour_1130 + @Hour_1130,
- Hour_1200 = Hour_1200 + @Hour_1200, Hour_1230 = Hour_1230 + @Hour_1230,
- Hour_1300 = Hour_1300 + @Hour_1300, Hour_1330 = Hour_1330 + @Hour_1330,
- Hour_1400 = Hour_1400 + @Hour_1400, Hour_1430 = Hour_1430 + @Hour_1430,
- Hour_1500 = Hour_1500 + @Hour_1500, Hour_1530 = Hour_1530 + @Hour_1530,
- Hour_1600 = Hour_1600 + @Hour_1600, Hour_1630 = Hour_1630 + @Hour_1630,
- Hour_1700 = Hour_1700 + @Hour_1700, Hour_1730 = Hour_1730 + @Hour_1730,
- Hour_1800 = Hour_1800 + @Hour_1800, Hour_1830 = Hour_1830 + @Hour_1830,
- Hour_1900 = Hour_1900 + @Hour_1900, Hour_1930 = Hour_1930 + @Hour_1930,
- Hour_2000 = Hour_2000 + @Hour_2000, Hour_2030 = Hour_2030 + @Hour_2030,
- Hour_2100 = Hour_2100 + @Hour_2100, Hour_2130 = Hour_2130 + @Hour_2130,
- Hour_2200 = Hour_2200 + @Hour_2200, Hour_2230 = Hour_2230 + @Hour_2230,
- Hour_2300 = Hour_2300 + @Hour_2300, Hour_2330 = Hour_2330 + @Hour_2330
- WHERE
- DateFlag = @DateFlag AND GameID = @GameID
- --今天还没有
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [OnlineStatMinChip]
- (
- DateFlag, GameID,
- Hour_0000, Hour_0030, Hour_0100, Hour_0130, Hour_0200, Hour_0230,
- Hour_0300, Hour_0330, Hour_0400, Hour_0430, Hour_0500, Hour_0530,
- Hour_0600, Hour_0630, Hour_0700, Hour_0730, Hour_0800, Hour_0830,
- Hour_0900, Hour_0930, Hour_1000, Hour_1030, Hour_1100, Hour_1130,
- Hour_1200, Hour_1230, Hour_1300, Hour_1330, Hour_1400, Hour_1430,
- Hour_1500, Hour_1530, Hour_1600, Hour_1630, Hour_1700, Hour_1730,
- Hour_1800, Hour_1830, Hour_1900, Hour_1930, Hour_2000, Hour_2030,
- Hour_2100, Hour_2130, Hour_2200, Hour_2230, Hour_2300, Hour_2330
- )
- VALUES
- (
- @DateFlag, @GameID,
- @Hour_0000, @Hour_0030, @Hour_0100, @Hour_0130, @Hour_0200, @Hour_0230,
- @Hour_0300, @Hour_0330, @Hour_0400, @Hour_0430, @Hour_0500, @Hour_0530,
- @Hour_0600, @Hour_0630, @Hour_0700, @Hour_0730, @Hour_0800, @Hour_0830,
- @Hour_0900, @Hour_0930, @Hour_1000, @Hour_1030, @Hour_1100, @Hour_1130,
- @Hour_1200, @Hour_1230, @Hour_1300, @Hour_1330, @Hour_1400, @Hour_1430,
- @Hour_1500, @Hour_1530, @Hour_1600, @Hour_1630, @Hour_1700, @Hour_1730,
- @Hour_1800, @Hour_1830, @Hour_1900, @Hour_1930, @Hour_2000, @Hour_2030,
- @Hour_2100, @Hour_2130, @Hour_2200, @Hour_2230, @Hour_2300, @Hour_2330
- )
- END
- END
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_Pay_Trigger] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_Pay_Trigger]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 充值触发事件
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_Pay_Trigger]
- @UserID INT, --用户ID
- @ProductID VARCHAR(32), --产品ID
- @Price DECIMAL(18, 2), --价格
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DateFlag SMALLDATETIME --日期标志
- DECLARE @PayMoney DECIMAL(18, 2) --充值总额
- DECLARE @CurrTime DATETIME --系统当前时间
- SET @CurrTime = GETDATE()
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
-
- --充值额度
- UPDATE [AllUser] SET PayMoney = PayMoney + @Price, @PayMoney = PayMoney WHERE UserID = @UserID
-
- --测试账号
- IF(@UserID IN (29465429, 20943465, 39344488, 15346563, 43953178, 93958855, 26301071, 57401563, 73203631, 45810851, 83181000, 87291356, 90234321, 6953582, 72466568, 3960708, 27512942, 26379928))
- RETURN
-
- --首充
- IF(@PayMoney = 0)
- BEGIN
- --充值(首充))触发代理收益
- EXEC [Game_UserAgent_Trigger] @UserID = @UserID, @GameID = 0, @Tax = @Price, @IPAddress = @IPAddress, @TriggerType = 3
- END
-
- --统计当天充值额度
- UPDATE [UserPayLog] SET RMBMoney = RMBMoney + @Price WHERE DateFlag = @DateFlag AND UserID = @UserID
-
- --今天还没有统计
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserPayLog](UserID, RMBMoney, DateFlag) VALUES(@UserID, @Price, @DateFlag)
- END
-
- --触发代理收益
- EXEC [WS_UserTeacher_AddProfit] @StudentID = @UserID, @Price = @Price
-
- --用戶日常统计
-
- --更新
- UPDATE [UserDailyStat] SET PayMoney = PayMoney + @Price WHERE DateFlag = @DateFlag AND UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserDailyStat]
- (
- DateFlag, UserID, WinAmount, LoseAmount, StillAmount, GameStart, GameEnd,
- PlaySeconds, PayMoney, LoginCount, VideoPlayTimes, VideoSendAmount
- )
- VALUES
- (
- @DateFlag, @UserID, 0, 0, 0, '2021-01-01', '2021-01-01',
- 0, @Price, 0, 0, 0
- )
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_PayStat_Stat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_PayStat_Stat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-11-17
- -- Mendor: wolf
- -- Alter Date: 2016-11-28
- -- Description: 充值统计(每10分钟执行,供作业调用)
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_PayStat_Stat]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @BeginTime DATETIME --开始时间
- DECLARE @EndTime DATETIME --截止时间
-
- --创建临时表
- DECLARE @tmptable TABLE(
- UserID INT NOT NULL, --用户ID
- Price DECIMAL(18, 2) NOT NULL --交易金额
- )
- SET @CurrTime = GETDATE()
- --零点零分,特殊处理
- IF(DATEPART(HOUR, @CurrTime) = 0 AND DATEPART(MINUTE, @CurrTime) <= 5)
- BEGIN
- SET @BeginTime = CONVERT(CHAR(10), @CurrTime - 1, 120)
- SET @EndTime = CONVERT(CHAR(10), @CurrTime, 120)
- END
- --正常处理
- ELSE
- BEGIN
- SET @BeginTime = CONVERT(CHAR(10), @CurrTime, 120)
- SET @EndTime = @CurrTime
- END
- INSERT INTO @tmptable(
- Price, UserID
- )
- SELECT
- Price, UserID
- FROM
- [VerifySuccessLog]
- WHERE
- Crdate >= @BeginTime AND Crdate < @EndTime AND IsSandBox = 0
-
- UNION ALL
-
- SELECT
- Price, UserID
- FROM
- [GoogleSuccessLog]
- WHERE
- Crdate >= @BeginTime AND Crdate < @EndTime
-
- UNION ALL
-
- SELECT
- Price, UserID
- FROM
- [CroPay]
- WHERE
- Crdate >= @BeginTime AND Crdate < @EndTime
-
- UNION ALL
-
- SELECT
- Price, UserID
- FROM
- [DingpeiPay]
- WHERE
- Crdate >= @BeginTime AND Crdate < @EndTime
-
- UNION ALL
-
- SELECT
- Price, UserID
- FROM
- [CrushPay]
- WHERE
- Crdate >= @BeginTime AND Crdate < @EndTime
-
- UNION ALL
-
- SELECT
- Price, UserID
- FROM
- [PayerMaxPay]
- WHERE
- Crdate >= @BeginTime AND Crdate < @EndTime
-
- UNION ALL
-
- SELECT
- Price, UserID
- FROM
- [OPay]
- WHERE
- Crdate >= @BeginTime AND Crdate < @EndTime
-
- UNION ALL
-
- SELECT
- Price, UserID
- FROM
- [huaweiPay]
- WHERE
- Crdate >= @BeginTime AND Crdate < @EndTime
-
- UNION ALL
-
- SELECT
- Price, UserID
- FROM
- [ManualPay]
- WHERE
- Crdate >= @BeginTime AND Crdate < @EndTime
-
- --添加到统计表
- INSERT INTO [PayStat]
- (
- DateFlag, RMBMoney, UserCount
- )
- SELECT
- @CurrTime, ISNULL(SUM(Price), 0), COUNT(DISTINCT UserID)
- FROM
- @tmptable
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_Rand_GetRnd] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @Rnd INT
- -- EXEC [Game_Rand_GetRnd]
- -- @Min = 1,
- -- @Max = 10000,
- -- @Rnd = @Rnd OUTPUT
- -- SELECT @Rnd AS Rnd
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2013-07-30
- -- Mendor: wolf
- -- Alter Date: 2013-07-30
- -- Description: 获取随机数
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_Rand_GetRnd]
- @Min INT, --最小值
- @Max INT, --最大值
- @Rnd INT OUTPUT --随机数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SET @Rnd = (@Min + (@Max - @Min + 1) * Rand(CHECKSUM(NEWID())))
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_Rank_Award] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_Rank_Award]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 排行榜奖励
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_Rank_Award]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Rank INT --排名
- DECLARE @OneRank INT --当前排名
- DECLARE @UserID INT --用户ID
- DECLARE @Content NVARCHAR(256) --内容
- DECLARE @Tools VARCHAR(256) --道具
- DECLARE @Crdate DATETIME --时间
- DECLARE @SysMsgID INT
-
- IF( DATEPART(WEEKDAY, GETDATE()) - 1 != 1 OR DATEPART(HOUR, GETDATE()) != 0 OR DATEPART(MINUTE, GETDATE()) >= 2)
- RETURN
-
- SET @Rank = 0
-
- WHILE(1=1)
- BEGIN
- SET @OneRank = @Rank
- SET @Rank = NULL
- SET @UserID = NULL
-
- SELECT TOP 1 @Rank = Rank, @UserID = UserID FROM [WinRank] WHERE Rank > @OneRank ORDER BY Rank ASC
-
- IF(@Rank IS NULL)
- BREAK
-
- SELECT @Tools = Tools FROM [RankAward] WHERE RankType = 1 AND Rank = @Rank
-
- IF(@@ROWCOUNT = 0)
- CONTINUE
-
- SET @Content = N'亲爱的用户,您上周总盈利金币数额进入排行榜第' + LTRIM(STR(@Rank)) + '名,获得了以下奖励,请注意查收附件。'
- SET @Crdate = GETDATE()
-
- --发送邮件
- EXEC [WS_SysMessage_Send] @UserID = @UserID, @Title = N'排行榜奖励', @Content = @Content, @Status = 0,
- @SourceName = '盈利榜', @Crdate = @Crdate, @Tools = @Tools, @SysMsgID = @SysMsgID OUTPUT
- END
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_Rank_Sort] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_Rank_Sort]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 排行榜
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_Rank_Sort]
- @CurrTime DATETIME --系统当前时间(方便调试用)
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @TimeStamp INT --时间戳
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @WeekFlag SMALLDATETIME --周开始
- DECLARE @MonthFlag SMALLDATETIME --月开始
- DECLARE @Rid INT --标识
- DECLARE @OneRid INT --当前标识
- DECLARE @UserID INT --用户ID
- DECLARE @RankType INT --榜单类型
- DECLARE @RankTypeName NVARCHAR(32) --榜单类型名称
- DECLARE @Rank INT --排名
- DECLARE @Content NVARCHAR(256) --内容
- DECLARE @Tools VARCHAR(256) --道具
- DECLARE @Crdate DATETIME --时间
- DECLARE @SysMsgID INT
- DECLARE @Rnd INT
- DECLARE @RobotID INT --机器人ID
-
- DECLARE @tmptable TABLE(
- UserID INT NOT NULL, --用户ID
- Amount BIGINT NOT NULL --赢得金币数
- )
-
- DECLARE @tmpHistory TABLE(
- Rid INT IDENTITY NOT NULL, --标识
- RankType INT NOT NULL, --榜单类型
- Rank INT NOT NULL, --排名
- UserID INT NOT NULL, --用户ID
- Amount BIGINT NOT NULL, --赢得金币数
- Crdate DATETIME NOT NULL, --时间
- IsGift TINYINT NOT NULL --是否领取
- )
-
- SET @TimeStamp = dbo.fn_TimeToStamp(@CurrTime)
- IF(DATEPART(MINUTE, @CurrTime) < 3)
- BEGIN
- SET @CurrTime = DATEADD(MINUTE, -3, @CurrTime)
- END
-
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
- SET @MonthFlag = CONVERT(CHAR(8), @CurrTime, 120) + '01'
-
- --本周日
- SET @WeekFlag = CONVERT(DATE, DATEADD(DAY, -DATEPART(WEEKDAY ,@CurrTime + @@DATEFIRST - 1) + 7, @CurrTime))
-
- --本周日还没到,取上周日日期
- IF(@WeekFlag > @DateFlag)
- BEGIN
- SET @WeekFlag = CONVERT(DATE, DATEADD(DAY, -DATEPART(WEEKDAY ,@CurrTime + @@DATEFIRST - 1) - 0, @CurrTime))
- END
-
- --先去发放奖励
- --EXEC [Game_Rank_Award]
-
- --凌晨(00:10)处理
- IF(DATEPART(HOUR, @CurrTime) = 0 AND DATEPART(MINUTE, @CurrTime) BETWEEN 5 AND 15)
- BEGIN
- --历史记录
- --1=财富榜 2=每日赢金榜 8=魅力日榜 11=语聊房赠送礼物日榜 14=语聊房接收礼物日榜
- --17=语聊房房间消耗钻石日榜 20=好友房赢局数日榜
- INSERT INTO @tmpHistory
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift
- )
- SELECT
- RankType, Rank, UserID, Amount, Crdate, IsGift
- FROM
- [AllRank]
- WHERE
- RankType IN (1, 2, 8, 11, 14, 17, 20)
- --清理上周榜 TODO 测试通过后删除
- DELETE FROM [AllRank] WHERE RankType = 7
-
- --6=语聊房本周榜 7=语聊房上周榜
- INSERT INTO [AllRank]
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift
- )
- SELECT
- 7, Rank, UserID, Amount, Crdate, IsGift
- FROM
- [AllRank]
- WHERE
- RankType = 6
- --周榜
- IF(@DateFlag = @WeekFlag)
- BEGIN
- --清理上周榜
- -- DELETE FROM [AllRank] WHERE RankType = 7
-
- -- --6=语聊房本周榜 7=语聊房上周榜
- -- INSERT INTO [AllRank]
- -- (
- -- RankType, Rank, UserID, Amount, Crdate, IsGift
- -- )
- -- SELECT
- -- 7, Rank, UserID, Amount, Crdate, IsGift
- -- FROM
- -- [AllRank]
- -- WHERE
- -- RankType = 6
-
- --历史记录
- --3=每周赢金榜 7=语聊房上周榜 9=魅力周榜 12=语聊房赠送礼物周榜
- --15=语聊房接收礼物周榜 18=语聊房房间消耗钻石周榜 21=好友房赢局数周榜
- INSERT INTO @tmpHistory
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift
- )
- SELECT
- RankType, Rank, UserID, Amount, Crdate, IsGift
- FROM
- [AllRank]
- WHERE
- RankType IN (3, 7, 9, 12, 15, 18, 21)
- END
-
- --月榜
- IF(@DateFlag = @MonthFlag)
- BEGIN
- --历史记录
- --4=每月赢金榜 10=魅力月榜 13=语聊房赠送礼物月榜 16=语聊房接收礼物月榜
- --19=语聊房房间消耗钻石月榜
- INSERT INTO @tmpHistory
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift
- )
- SELECT
- RankType, Rank, UserID, Amount, Crdate, IsGift
- FROM
- [AllRank]
- WHERE
- RankType IN (4, 10, 13, 16, 19)
- END
-
- --记录到排行榜历史
- INSERT INTO [RankHistory]
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift
- )
- SELECT
- RankType, Rank, UserID, Amount, Crdate, IsGift
- FROM
- @tmpHistory
-
- SET @Rid = 0
-
- --发放奖励
- WHILE(1=1)
- BEGIN
- SET @OneRid = @Rid
- SET @Rid = NULL
- SET @RankType = NULL
- SET @Rank = NULL
- SET @UserID = NULL
- SET @RankTypeName = NULL
- SELECT TOP 1
- @Rid = Rid, @RankType = RankType, @Rank = Rank, @UserID = UserID
- FROM
- @tmpHistory
- WHERE
- Rid > @OneRid
- ORDER BY
- Rid ASC
- IF(@Rid IS NULL)
- BREAK
- SELECT
- @RankTypeName = RankTypeName, @Tools = Tools
- FROM
- [RankAward]
- WHERE
- RankType = @RankType AND Rank = @Rank
-
- IF(@@ROWCOUNT = 0)
- CONTINUE
-
- --SET @Content = N'亲爱的用户,您进入' + @RankTypeName + '排行榜第' + LTRIM(STR(@Rank)) + '名,获得了以下奖励,请注意查收附件。'
- SET @Content = N'عزيزي المستخدم،لقد حصلت على المرتبة##0في تصنيف##1، وقد حصلت على الجوائز التالية، يرجى التحقق من المرفقات.'
- SET @Content = REPLACE(@Content, '##0', @RankTypeName)
- SET @Content = REPLACE(@Content, '##1', LTRIM(STR(@Rank)))
-
- --发送邮件
- EXEC [WS_SysMessage_Send] @UserID = @UserID, @Title = N'مكافآت المتصدرين', @Content = @Content, @Status = 0,
- @SourceName = @RankTypeName, @Crdate = @TimeStamp, @Tools = @Tools, @SysMsgID = @SysMsgID OUTPUT
- END
-
- RETURN
- END
-
- --先清理数据(以下榜单先不删除:7=语聊房上周榜)
- DELETE FROM [AllRank] WHERE RankType != 7
-
- --1=财富榜
- INSERT INTO [AllRank]
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift
- )
- SELECT TOP 50
- 1, ROW_NUMBER() OVER(ORDER BY Amount DESC) AS Rank, UserID, Amount, @CurrTime, 1
- FROM
- [Money]
-
- --2=每日赚金榜
- INSERT INTO @tmptable(UserID, Amount)
- SELECT TOP 50
- UserID, SUM(WinAmount)
- FROM
- [DailyBetStat]
- WHERE
- DateFlag >= @DateFlag AND WinAmount > 0
- GROUP BY
- UserID
- ORDER BY
- SUM(WinAmount) DESC
-
- --不满50名,补充机器人
- IF(@@ROWCOUNT < 50)
- BEGIN
- --随机1名机器人
- SELECT TOP 1 @RobotID = UserID FROM [MachineUser] ORDER BY NEWID()
-
- EXEC [Game_Rand_GetRnd] @Min = 5000, @Max = 20000, @Rnd = @Rnd OUTPUT
-
- UPDATE @tmptable SET Amount = Amount + @Rnd WHERE UserID = @RobotID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO @tmptable(UserID, Amount) VALUES(@RobotID, @Rnd)
- END
-
- --统计每日流水
- UPDATE
- [DailyBetStat]
- SET
- WinAmount = WinAmount + @Rnd
- WHERE
- DateFlag = @DateFlag AND UserID = @RobotID AND GameID = 37 AND ServerName = 'baloot1'
- --当天无流水
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [DailyBetStat]
- (
- DateFlag, UserID, GameID, ServerName, BetAmount, ResultAmount, WinAmount,
- MoneySum, TaxAmount, TotalCount, WinCount, PlaySeconds
- )
- VALUES
- (
- @DateFlag, @RobotID, 37, 'baloot1', 0, 0, @Rnd,
- 0, 0, 0, 0, 0
- )
- END
- END
-
- INSERT INTO [AllRank]
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift
- )
- SELECT TOP 50
- 2, ROW_NUMBER() OVER(ORDER BY Amount DESC) AS Rank, UserID, Amount, @DateFlag, 1
- FROM
- @tmptable
- --3=每周赚金榜
- INSERT INTO [AllRank]
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift
- )
- SELECT TOP 50
- 3, ROW_NUMBER() OVER(ORDER BY SUM(WinAmount) DESC) AS Rank, UserID, SUM(WinAmount), @WeekFlag, 1
- FROM
- [DailyBetStat]
- WHERE
- DateFlag >= @WeekFlag AND WinAmount > 0
- GROUP BY
- UserID
-
- --4=每月赚金榜
- INSERT INTO [AllRank]
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift
- )
- SELECT TOP 50
- 4, ROW_NUMBER() OVER(ORDER BY SUM(WinAmount) DESC) AS Rank, UserID, SUM(WinAmount), @MonthFlag, 1
- FROM
- [DailyBetStat]
- WHERE
- DateFlag >= @MonthFlag AND WinAmount > 0
- GROUP BY
- UserID
-
- --5=徽章榜
- INSERT INTO [AllRank]
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift
- )
- SELECT TOP 50
- 5, ROW_NUMBER() OVER(ORDER BY SUM(Points) DESC) AS Rank, UserID, SUM(Points), @CurrTime, 1
- FROM
- [UserBadge]
- WHERE
- Points > 0
- GROUP BY
- UserID
- --6=语聊房本周榜
- DELETE FROM [AllRank] WHERE RankType = 6
-
- INSERT INTO [AllRank]
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift
- )
- SELECT TOP 50
- 6, ROW_NUMBER() OVER(ORDER BY SUM(Exps) DESC) AS Rank, RoomID, SUM(Exps), @DateFlag, 1
- FROM
- [AudioRoomExpLog]
- WHERE
- DateFlag >= @DateFlag AND Exps > 0
- GROUP BY
- RoomID
- --8=魅力日榜
- INSERT INTO [AllRank]
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift
- )
- SELECT TOP 50
- 8, ROW_NUMBER() OVER(ORDER BY SUM(Charm) DESC) AS Rank, UserID, SUM(Charm), @DateFlag, 1
- FROM
- [UserCharmHistory]
- WHERE
- DateFlag >= @DateFlag AND Charm > 0
- GROUP BY
- UserID
- --9=魅力周榜
- INSERT INTO [AllRank]
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift
- )
- SELECT TOP 50
- 9, ROW_NUMBER() OVER(ORDER BY SUM(Charm) DESC) AS Rank, UserID, SUM(Charm), @WeekFlag, 1
- FROM
- [UserCharmHistory]
- WHERE
- DateFlag >= @WeekFlag AND Charm > 0
- GROUP BY
- UserID
- --10=魅力月榜
- INSERT INTO [AllRank]
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift
- )
- SELECT TOP 50
- 10, ROW_NUMBER() OVER(ORDER BY SUM(Charm) DESC) AS Rank, UserID, SUM(Charm), @MonthFlag, 1
- FROM
- [UserCharmHistory]
- WHERE
- DateFlag >= @MonthFlag AND Charm > 0
- GROUP BY
- UserID
-
- --11=语聊房赠送礼物日榜
- INSERT INTO [AllRank]
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift
- )
- SELECT TOP 50
- 11, ROW_NUMBER() OVER(ORDER BY SUM(DiamondAmount) DESC) AS Rank, Sender, SUM(DiamondAmount), @DateFlag, 1
- FROM
- [AudioRoomGiftHistory]
- WHERE
- Crdate >= @DateFlag
- GROUP BY
- Sender
-
- --12=语聊房赠送礼物周榜
- INSERT INTO [AllRank]
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift
- )
- SELECT TOP 50
- 12, ROW_NUMBER() OVER(ORDER BY SUM(DiamondAmount) DESC) AS Rank, Sender, SUM(DiamondAmount), @WeekFlag, 1
- FROM
- [AudioRoomGiftHistory]
- WHERE
- Crdate >= @WeekFlag
- GROUP BY
- Sender
-
- --13=语聊房赠送礼物月榜
- INSERT INTO [AllRank]
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift
- )
- SELECT TOP 50
- 13, ROW_NUMBER() OVER(ORDER BY SUM(DiamondAmount) DESC) AS Rank, Sender, SUM(DiamondAmount), @MonthFlag, 1
- FROM
- [AudioRoomGiftHistory]
- WHERE
- Crdate >= @MonthFlag
- GROUP BY
- Sender
-
- --14=语聊房接收礼物日榜
- INSERT INTO [AllRank]
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift
- )
- SELECT TOP 50
- 14, ROW_NUMBER() OVER(ORDER BY SUM(DiamondAmount) DESC) AS Rank, Receiver, SUM(DiamondAmount), @DateFlag, 1
- FROM
- [AudioRoomGiftHistory]
- WHERE
- Crdate >= @DateFlag
- GROUP BY
- Receiver
-
- --15=语聊房接收礼物周榜
- INSERT INTO [AllRank]
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift
- )
- SELECT TOP 50
- 15, ROW_NUMBER() OVER(ORDER BY SUM(DiamondAmount) DESC) AS Rank, Receiver, SUM(DiamondAmount), @WeekFlag, 1
- FROM
- [AudioRoomGiftHistory]
- WHERE
- Crdate >= @WeekFlag
- GROUP BY
- Receiver
-
- --16=语聊房接收礼物月榜
- INSERT INTO [AllRank]
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift
- )
- SELECT TOP 50
- 16, ROW_NUMBER() OVER(ORDER BY SUM(DiamondAmount) DESC) AS Rank, Receiver, SUM(DiamondAmount), @MonthFlag, 1
- FROM
- [AudioRoomGiftHistory]
- WHERE
- Crdate >= @MonthFlag
- GROUP BY
- Receiver
-
- --17=语聊房房间消耗钻石日榜
- INSERT INTO [AllRank]
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift
- )
- SELECT TOP 50
- 17, ROW_NUMBER() OVER(ORDER BY SUM(DiamondAmount) DESC) AS Rank, RoomID, SUM(DiamondAmount), @DateFlag, 1
- FROM
- [AudioRoomGiftHistory]
- WHERE
- Crdate >= @DateFlag
- GROUP BY
- RoomID
-
- --18=语聊房房间消耗钻石周榜
- INSERT INTO [AllRank]
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift
- )
- SELECT TOP 50
- 18, ROW_NUMBER() OVER(ORDER BY SUM(DiamondAmount) DESC) AS Rank, RoomID, SUM(DiamondAmount), @WeekFlag, 1
- FROM
- [AudioRoomGiftHistory]
- WHERE
- Crdate >= @WeekFlag
- GROUP BY
- RoomID
-
- --19=语聊房房间消耗钻石月榜
- INSERT INTO [AllRank]
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift
- )
- SELECT TOP 50
- 19, ROW_NUMBER() OVER(ORDER BY SUM(DiamondAmount) DESC) AS Rank, RoomID, SUM(DiamondAmount), @MonthFlag, 1
- FROM
- [AudioRoomGiftHistory]
- WHERE
- Crdate >= @MonthFlag
- GROUP BY
- RoomID
-
- --20=好友房赢局数日榜
- INSERT INTO [AllRank]
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift
- )
- SELECT TOP 50
- 20, ROW_NUMBER() OVER(ORDER BY SUM(WinCount) DESC) AS Rank, UserID, SUM(WinCount), @DateFlag, 1
- FROM
- [DailyBetStat]
- WHERE
- DateFlag >= @DateFlag AND WinCount > 0 AND ServerName = 'PrivateRoom'
- GROUP BY
- UserID
- ORDER BY
- SUM(WinCount) DESC
-
- --21=好友房赢局数周榜
- INSERT INTO [AllRank]
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift
- )
- SELECT TOP 50
- 21, ROW_NUMBER() OVER(ORDER BY SUM(WinCount) DESC) AS Rank, UserID, SUM(WinCount), @WeekFlag, 1
- FROM
- [DailyBetStat]
- WHERE
- DateFlag >= @WeekFlag AND WinCount > 0 AND ServerName = 'PrivateRoom'
- GROUP BY
- UserID
- ORDER BY
- SUM(WinCount) DESC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_RegStat_Stat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_RegStat_Stat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2017-01-04
- -- Mendor: wolf
- -- Alter Date: 2017-01-04
- -- Description: 注册统计(每10分钟执行,供作业调用)
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_RegStat_Stat]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @BeginTime DATETIME --开始时间
- DECLARE @EndTime DATETIME --截止时间
- DECLARE @TotalCount INT --注册总人数
- SET @CurrTime = GETDATE()
- --零点零分,特殊处理
- IF(DATEPART(HOUR, @CurrTime) = 0 AND DATEPART(MINUTE, @CurrTime) <= 5)
- BEGIN
- SET @BeginTime = CONVERT(CHAR(10), @CurrTime - 1, 120)
- SET @EndTime = CONVERT(CHAR(10), @CurrTime, 120)
- END
- --正常处理
- ELSE
- BEGIN
- SET @BeginTime = CONVERT(CHAR(10), @CurrTime, 120)
- SET @EndTime = @CurrTime
- END
-
- --注册总人数
- SELECT
- @TotalCount = COUNT(UserID)
- FROM
- [AllUser]
- WHERE
- RegTime < @EndTime AND UserID NOT IN (SELECT UserID FROM [MachineUser])
- --添加到统计表
- INSERT INTO [RegStat]
- (
- DateFlag, UserCount, TotalCount
- )
- SELECT
- CONVERT(CHAR(16), @CurrTime, 120), COUNT(UserID), @TotalCount
- FROM
- [AllUser]
- WHERE
- RegTime >= @BeginTime AND RegTime < @EndTime AND UserID NOT IN (SELECT UserID FROM [MachineUser])
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_RetentionStat_Stat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_RetentionStat_Stat]
- -- =============================================
- -- Author: wolf
- -- Create Date: 2016-10-21
- -- Mendor: wolf
- -- Alter Date: 2016-10-21
- -- Description: 留存统计
- -- =============================================
- CREATE PROCEDURE [dbo].[Game_RetentionStat_Stat]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @StatFlag SMALLDATETIME --统计日期标识
- DECLARE @Item VARCHAR(256) --事项
- DECLARE @LiveUsers_1 INT --次日留存
- DECLARE @LiveUsers_3 INT --3日留存
- DECLARE @LiveUsers_5 INT --5日留存
- DECLARE @LiveUsers_7 INT --7日留存
- DECLARE @LiveUsers_15 INT --15日留存
- DECLARE @LiveUsers_30 INT --30日留存
- DECLARE @Rid INT --标识
- DECLARE @OneRid INT --当前标识
- DECLARE @Days INT --天数
-
- --表变量
- DECLARE @tmptable TABLE(
- UserID INT NOT NULL, --用户ID
- PayItem VARCHAR(32) NOT NULL, --是否付费
- UTMItem VARCHAR(32) NOT NULL --流量渠道
- )
-
- SET @DateFlag = CONVERT(CHAR(10), GETDATE(), 120)
- SET @DateFlag = @DateFlag - 1
-
- --初始化表变量
- INSERT INTO @tmptable
- (
- UserID, PayItem, UTMItem
- )
- SELECT
- UserID, CASE WHEN PayMoney > 0 THEN '付费用户' ELSE '' END, ''
- FROM
- [UserDailyStat]
- WHERE
- DateFlag = @DateFlag
-
- --获取流量渠道
- UPDATE
- t
- SET
- t.UTMItem =
- CASE
- WHEN u.Source = N'apps.facebook.com' THEN 'Facebook 用户'
- WHEN u.Source = N'google-play' THEN 'google-play 用户'
- WHEN u.Source = N'GoogleAd' THEN 'GoogleAd 用户'
- ELSE ''
- END
- FROM
- @tmptable t INNER JOIN [UTM] u ON t.UserID = u.UserID
-
- --生成全体用户留存数据
- INSERT INTO [RetentionStat]
- (
- DateFlag, Item, UserCount, LiveUsers_1, LiveUsers_3, LiveUsers_5, LiveUsers_7, LiveUsers_15, LiveUsers_30
- )
- SELECT
- @DateFlag, '全体用户', COUNT(UserID), 0, 0, 0, 0, 0, 0
- FROM
- @tmptable
-
- --生成付费用户留存数据
- INSERT INTO [RetentionStat]
- (
- DateFlag, Item, UserCount, LiveUsers_1, LiveUsers_3, LiveUsers_5, LiveUsers_7, LiveUsers_15, LiveUsers_30
- )
- SELECT
- @DateFlag, PayItem, COUNT(UserID), 0, 0, 0, 0, 0, 0
- FROM
- @tmptable
- WHERE
- PayItem = '付费用户'
- GROUP BY
- PayItem
-
- --生成登录用户留存数据
- INSERT INTO [RetentionStat]
- (
- DateFlag, Item, UserCount, LiveUsers_1, LiveUsers_3, LiveUsers_5, LiveUsers_7, LiveUsers_15, LiveUsers_30
- )
- SELECT
- @DateFlag, UTMItem, COUNT(UserID), 0, 0, 0, 0, 0, 0
- FROM
- @tmptable
- WHERE
- UTMItem IN ('Facebook 用户', 'google-play 用户', 'GoogleAd 用户')
- GROUP BY
- UTMItem
-
- SET @Rid = 0
-
- WHILE(1=1)
- BEGIN
- SET @OneRid = @Rid
- SET @Rid = NULL
-
- SET @StatFlag = NULL
- SET @Item = NULL
- SET @LiveUsers_1 = NULL
- SET @LiveUsers_3 = NULL
- SET @LiveUsers_5 = NULL
- SET @LiveUsers_7 = NULL
- SET @LiveUsers_15 = NULL
- SET @LiveUsers_30 = NULL
-
- SELECT TOP 1
- @Rid = Rid, @StatFlag = DateFlag, @Item = Item
- FROM
- [RetentionStat]
- WHERE
- DateFlag >= @DateFlag - 30 AND Rid > @OneRid
- ORDER BY
- Rid ASC
-
- IF(@Rid IS NULL)
- BREAK
-
- --计算天数
- SET @Days = DATEDIFF(DAY, @StatFlag, @DateFlag) + 1
-
- --全体用户
- IF(@Item = '全体用户')
- BEGIN
- --次日
- IF(@Days = 2)
- BEGIN
- --次日留存
- SELECT
- @LiveUsers_1 = COUNT(u.UserID)
- FROM
- [UserDailyStat] u INNER JOIN @tmptable t ON u.UserID = t.UserID
- WHERE
- u.DateFlag = @StatFlag
- END
-
- --3日留存
- ELSE IF(@Days = 3)
- BEGIN
- --3日留存
- SELECT
- @LiveUsers_3 = COUNT(u.UserID)
- FROM
- [UserDailyStat] u INNER JOIN @tmptable t ON u.UserID = t.UserID
- WHERE
- u.DateFlag = @StatFlag
- END
-
- --5日留存
- ELSE IF(@Days = 5)
- BEGIN
- --5日留存
- SELECT
- @LiveUsers_5 = COUNT(u.UserID)
- FROM
- [UserDailyStat] u INNER JOIN @tmptable t ON u.UserID = t.UserID
- WHERE
- u.DateFlag = @StatFlag
- END
-
- --7日留存
- ELSE IF(@Days = 7)
- BEGIN
- --7日留存
- SELECT
- @LiveUsers_7 = COUNT(u.UserID)
- FROM
- [UserDailyStat] u INNER JOIN @tmptable t ON u.UserID = t.UserID
- WHERE
- u.DateFlag = @StatFlag
- END
-
- --15日留存
- ELSE IF(@Days = 15)
- BEGIN
- --15日留存
- SELECT
- @LiveUsers_15 = COUNT(u.UserID)
- FROM
- [UserDailyStat] u INNER JOIN @tmptable t ON u.UserID = t.UserID
- WHERE
- u.DateFlag = @StatFlag
- END
-
- --30日留存
- ELSE IF(@Days = 30)
- BEGIN
- --30日留存
- SELECT
- @LiveUsers_30 = COUNT(u.UserID)
- FROM
- [UserDailyStat] u INNER JOIN @tmptable t ON u.UserID = t.UserID
- WHERE
- u.DateFlag = @StatFlag
- END
- END
-
- --其他事项
- ELSE
- BEGIN
- --次日
- IF(@Days = 2)
- BEGIN
- --次日留存
- SELECT
- @LiveUsers_1 = SUM(
- CASE
- WHEN t.PayItem = @Item THEN 1
- WHEN t.UTMItem = @Item THEN 1
- ELSE 0
- END
- )
- FROM
- [UserDailyStat] u INNER JOIN @tmptable t ON u.UserID = t.UserID
- WHERE
- u.DateFlag = @StatFlag
- END
-
- --3日留存
- ELSE IF(@Days = 3)
- BEGIN
- --3日留存
- SELECT
- @LiveUsers_3 = SUM(
- CASE
- WHEN t.PayItem = @Item THEN 1
- WHEN t.UTMItem = @Item THEN 1
- ELSE 0
- END
- )
- FROM
- [UserDailyStat] u INNER JOIN @tmptable t ON u.UserID = t.UserID
- WHERE
- u.DateFlag = @StatFlag
- END
-
- --5日留存
- ELSE IF(@Days = 5)
- BEGIN
- --5日留存
- SELECT
- @LiveUsers_5 = SUM(
- CASE
- WHEN t.PayItem = @Item THEN 1
- WHEN t.UTMItem = @Item THEN 1
- ELSE 0
- END
- )
- FROM
- [UserDailyStat] u INNER JOIN @tmptable t ON u.UserID = t.UserID
- WHERE
- u.DateFlag = @StatFlag
- END
-
- --7日留存
- ELSE IF(@Days = 7)
- BEGIN
- --7日留存
- SELECT
- @LiveUsers_7 = SUM(
- CASE
- WHEN t.PayItem = @Item THEN 1
- WHEN t.UTMItem = @Item THEN 1
- ELSE 0
- END
- )
- FROM
- [UserDailyStat] u INNER JOIN @tmptable t ON u.UserID = t.UserID
- WHERE
- u.DateFlag = @StatFlag
- END
-
- --15日留存
- ELSE IF(@Days = 15)
- BEGIN
- --15日留存
- SELECT
- @LiveUsers_15 = SUM(
- CASE
- WHEN t.PayItem = @Item THEN 1
- WHEN t.UTMItem = @Item THEN 1
- ELSE 0
- END
- )
- FROM
- [UserDailyStat] u INNER JOIN @tmptable t ON u.UserID = t.UserID
- WHERE
- u.DateFlag = @StatFlag
- END
-
- --30日留存
- ELSE IF(@Days = 30)
- BEGIN
- --30日留存
- SELECT
- @LiveUsers_30 = SUM(
- CASE
- WHEN t.PayItem = @Item THEN 1
- WHEN t.UTMItem = @Item THEN 1
- ELSE 0
- END
- )
- FROM
- [UserDailyStat] u INNER JOIN @tmptable t ON u.UserID = t.UserID
- WHERE
- u.DateFlag = @StatFlag
- END
- END
-
- SET @LiveUsers_1 = ISNULL(@LiveUsers_1, 0)
- SET @LiveUsers_3 = ISNULL(@LiveUsers_3, 0)
- SET @LiveUsers_5 = ISNULL(@LiveUsers_5, 0)
- SET @LiveUsers_7 = ISNULL(@LiveUsers_7, 0)
- SET @LiveUsers_15 = ISNULL(@LiveUsers_15, 0)
- SET @LiveUsers_30 = ISNULL(@LiveUsers_30, 0)
-
- /*
- PRINT '@Rid=' + LTRIM(STR(@Rid)) + ',@DateFlag=' + CONVERT(VARCHAR(16), @StatFlag, 120) + ',@Item=' + @Item + ',@Days=' + LTRIM(STR(@Days)) +
- ',@LiveUsers_1=' + LTRIM(STR(@LiveUsers_1)) + ',@LiveUsers_3=' + LTRIM(STR(@LiveUsers_3)) + ',@LiveUsers_5=' + LTRIM(STR(@LiveUsers_5)) +
- ',@LiveUsers_7=' + LTRIM(STR(@LiveUsers_7)) + ',@LiveUsers_15=' + LTRIM(STR(@LiveUsers_15)) + ',@LiveUsers_30=' + LTRIM(STR(@LiveUsers_30))
- */
-
- --更新统计
- UPDATE
- [RetentionStat]
- SET
- LiveUsers_1 = CASE WHEN @LiveUsers_1 > 0 THEN @LiveUsers_1 ELSE LiveUsers_1 END,
- LiveUsers_3 = CASE WHEN @LiveUsers_3 > 0 THEN @LiveUsers_3 ELSE LiveUsers_3 END,
- LiveUsers_5 = CASE WHEN @LiveUsers_5 > 0 THEN @LiveUsers_5 ELSE LiveUsers_5 END,
- LiveUsers_7 = CASE WHEN @LiveUsers_7 > 0 THEN @LiveUsers_7 ELSE LiveUsers_7 END,
- LiveUsers_15 = CASE WHEN @LiveUsers_15 > 0 THEN @LiveUsers_15 ELSE LiveUsers_15 END,
- LiveUsers_30 = CASE WHEN @LiveUsers_30 > 0 THEN @LiveUsers_30 ELSE LiveUsers_30 END
- WHERE
- Rid = @Rid
- END
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_Score_Cal] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_Score_Cal]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-10-08
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 游戏积分计算
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_Score_Cal]
- @UserID INT, --用户ID
- @GameID INT, --游戏ID
- @ServerName NVARCHAR(32), --服务器名称
- @BetAmount BIGINT --下注金额
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @Score BIGINT --积分
-
- SET @DateFlag = CONVERT(CHAR(10), GETDATE(), 120)
-
- --房间名称
- IF(@GameID IN (86, 70, 11, 12, 13))
- BEGIN
- SELECT
- @Score = Score
- FROM
- [ScoreRankConfig]
- WHERE
- GameID = @GameID AND RoomName = @ServerName
- END
-
- --投注额
- ELSE
- BEGIN
- --获取下注额区间
- SELECT TOP 1
- @Score = Score
- FROM
- [ScoreRankConfig]
- WHERE
- GameID = @GameID AND RoomName >= ABS(@BetAmount)
- ORDER BY
- RoomName ASC
- END
-
- --无效积分
- IF(@Score IS NULL OR @Score <= 0)
- RETURN
-
- --更新用户积分
- UPDATE
- [UserScore]
- SET
- Score = Score + @Score
- WHERE
- DateFlag = @DateFlag AND UserID = @UserID AND GameID = @GameID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserScore]
- (
- DateFlag, UserID, GameID, Score
- )
- VALUES
- (
- @DateFlag, @UserID, @GameID, @Score
- )
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_SettleVideo_Trigger] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_SettleVideo_Trigger]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-08-29
- -- Mendor: wolf
- -- Alter Date: 2015-08-10
- -- Description: 游戏返还视频触发
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_SettleVideo_Trigger]
- @UserID INT, --用户ID
- @GameID INT, --游戏ID
- @PreAmount BIGINT, --操作前金额
- @Balance BIGINT, --余额
- @Type INT --下注或结算信息(保留)
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @SettleID INT --结算ID
- DECLARE @MaxTimes TINYINT --最大返还次数
- DECLARE @MaxAmount BIGINT --最大返还金币
- DECLARE @SettleRate SMALLINT --返还比率
- DECLARE @CarryAmount BIGINT --携带金币
- DECLARE @ResultAmount BIGINT --输赢金币
- DECLARE @Crdate DATETIME --时间
- --查询最近1次
- SELECT TOP 1
- @SettleID = SettleID, @CarryAmount = CarryAmount, @Crdate = Crdate
- FROM
- [UserGameSettleVideo]
- WHERE
- Crdate IN ('2021-01-01', '2021-01-02') AND UserID = @UserID AND GameID = @GameID
- ORDER BY
- SettleID DESC
- --第1次记录下注, 1101=remi 特殊处理,没有结算
- IF(@SettleID IS NULL AND @Type % 100 = 1)
- BEGIN
- INSERT INTO [UserGameSettleVideo]
- (
- UserID, GameID, CarryAmount, StillAmount, ResultAmount, MaxTimes, SettleTimes, MaxAmount, SettleAmount, Crdate
- )
- VALUES
- (
- @UserID, @GameID, @PreAmount, 0, 0, 0, 0, 0, 0, CASE WHEN @Type IN (1101) THEN '2021-01-02' ELSE '2021-01-01' END
- )
-
- RETURN
- END
-
- --没有数据
- IF(@SettleID IS NULL)
- RETURN
-
- --游戏结算(龙虎特殊处理)、球球、多米诺
- IF((@Type % 100 = 2 AND @Type NOT IN (8802, 7002, 8602)) OR @Type IN (8803, 8813, 8823, 7000, 8600))
- BEGIN
- --更新
- UPDATE [UserGameSettleVideo] SET Crdate = '2021-01-02' WHERE SettleID = @SettleID
- RETURN
- END
-
- --退出游戏
- IF(@Type % 100 = 99)
- BEGIN
- --输赢金币
- SET @ResultAmount = @CarryAmount - @Balance
-
- --还没有结算,就退出房间视为无效
- IF(@Crdate != '2021-01-02')
- BEGIN
- UPDATE
- [UserGameSettleVideo]
- SET
- StillAmount = @Balance, ResultAmount = -@ResultAmount, Crdate = GETDATE()
- WHERE
- SettleID = @SettleID
-
- --删除
- DELETE FROM [UserGameSettleVideo] WHERE SettleID = @SettleID
- RETURN
- END
-
- SET @MaxTimes = 0
- SET @MaxAmount = 0
- --输,才有返还信息
- IF(@ResultAmount > 0)
- BEGIN
- --获取返还信息
- SELECT TOP 1
- @MaxTimes = MaxTimes, @MaxAmount = @ResultAmount * (MaxRate / 100.00)
- FROM
- [GameSettleVideo]
- WHERE
- GameID IN (0, @GameID) AND LoseAmount >= @ResultAmount
- ORDER BY
- GameID DESC, LoseAmount ASC
-
- --更新
- UPDATE
- [UserGameSettleVideo]
- SET
- StillAmount = @Balance, ResultAmount = -@ResultAmount,
- MaxTimes = @MaxTimes, MaxAmount = @MaxAmount, Crdate = GETDATE()
- WHERE
- SettleID = @SettleID
- END
-
- --赢,需要清理
- ELSE
- BEGIN
- --删除
- DELETE FROM [UserGameSettleVideo] WHERE SettleID = @SettleID
- END
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_Slot_Trigger] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_Slot_Trigger]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-10-08
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: Slot游戏统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_Slot_Trigger]
- @UserID INT, --用户ID
- @GameID INT, --游戏ID
- @BetAmount BIGINT, --投注额
- @ResultAmount BIGINT, --返还额
- @WinAmount BIGINT, --输赢额
- @Tax BIGINT, --台费
- @InvestAmount BIGINT --下注额 取余操作 3=游戏免费 4=广告免费
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @Msg NVARCHAR(4000) --操作描述
-
- SET @DateFlag = CONVERT(CHAR(11), GETDATE(), 120) + LTRIM(STR(DATEPART(HOUR, GETDATE()))) + ':00'
- --非免费类型
- IF(@InvestAmount = 0)
- BEGIN
- --获取下注额区间
- SELECT TOP 1
- @InvestAmount = InvestAmount
- FROM
- [SlotStatConfig]
- WHERE
- GameID = @GameID AND InvestAmount >= ABS(@BetAmount)
- ORDER BY
- InvestAmount ASC
-
- --没有配置数据
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @Msg = N'Slot Stat 缺少系统配置, @UserID=' + LTRIM(STR(@UserID)) + ',@GameID=' + LTRIM(STR(@GameID)) +
- ',@BetAmount=' + CAST(@BetAmount AS VARCHAR(32)) + ',@ResultAmount=' + CAST(@ResultAmount AS VARCHAR(32)) +
- ',@WinAmount=' + CAST(@WinAmount AS VARCHAR(32)) + ',@Tax=' + CAST(@Tax AS VARCHAR(32))
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = '-1', @OpUserName = 'System', @Msg = @Msg, @IPAddress = '127.0.0.1'
- RETURN
- END
- END
-
- --更新数据
- UPDATE
- [SlotStat]
- SET
- BetAmount = BetAmount + @BetAmount, BetTimes = BetTimes + 1, ResultAmount = ResultAmount + @ResultAmount,
- WinAmount = WinAmount + @WinAmount, WinTimes = WinTimes + CASE WHEN @WinAmount > 0 THEN 1 ELSE 0 END,
- Tax = Tax + @Tax,
- MaxResultAmount = CASE
- WHEN @ResultAmount > MaxResultAmount THEN @ResultAmount
- ELSE MaxResultAmount
- END
- WHERE
- DateFlag = @DateFlag AND GameID = @GameID AND InvestAmount = @InvestAmount
-
- --添加数据
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [SlotStat]
- (
- DateFlag, GameID, InvestAmount, BetAmount, BetTimes,
- ResultAmount, WinTimes, WinAmount, Tax, MaxResultAmount
- )
- VALUES
- (
- @DateFlag, @GameID, @InvestAmount, @BetAmount, 1,
- @ResultAmount, CASE WHEN @WinAmount > 0 THEN 1 ELSE 0 END, @WinAmount, @Tax, @ResultAmount
- )
- END
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_SlotChip_Trigger] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_SlotChip_Trigger]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-10-08
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: Slot游戏统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_SlotChip_Trigger]
- @UserID INT, --用户ID
- @GameID INT, --游戏ID
- @BetAmount BIGINT, --投注额
- @ResultAmount BIGINT, --返还额
- @WinAmount BIGINT, --输赢额
- @Tax BIGINT, --台费
- @InvestAmount BIGINT --下注额 取余操作 3=游戏免费 4=广告免费
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @Msg NVARCHAR(4000) --操作描述
-
- SET @DateFlag = CONVERT(CHAR(11), GETDATE(), 120) + LTRIM(STR(DATEPART(HOUR, GETDATE()))) + ':00'
- --非免费类型
- IF(@InvestAmount = 0)
- BEGIN
- --获取下注额区间
- SELECT TOP 1
- @InvestAmount = InvestAmount
- FROM
- [SlotStatConfig]
- WHERE
- GameID = @GameID AND InvestAmount >= ABS(@BetAmount)
- ORDER BY
- InvestAmount ASC
-
- --没有配置数据
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @Msg = N'Slot Chip Stat 缺少系统配置, @UserID=' + LTRIM(STR(@UserID)) + ',@GameID=' + LTRIM(STR(@GameID)) +
- ',@BetAmount=' + CAST(@BetAmount AS VARCHAR(32)) + ',@ResultAmount=' + CAST(@ResultAmount AS VARCHAR(32)) +
- ',@WinAmount=' + CAST(@WinAmount AS VARCHAR(32)) + ',@Tax=' + CAST(@Tax AS VARCHAR(32))
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = '-1', @OpUserName = 'system', @Msg = @Msg, @IPAddress = '127.0.0.1'
- RETURN
- END
- END
-
- --更新数据
- UPDATE
- [SlotChipStat]
- SET
- BetAmount = BetAmount + @BetAmount, BetTimes = BetTimes + 1, ResultAmount = ResultAmount + @ResultAmount,
- WinAmount = WinAmount + @WinAmount, WinTimes = WinTimes + CASE WHEN @WinAmount > 0 THEN 1 ELSE 0 END,
- Tax = Tax + @Tax,
- MaxResultAmount = CASE
- WHEN @ResultAmount > MaxResultAmount THEN @ResultAmount
- ELSE MaxResultAmount
- END
- WHERE
- DateFlag = @DateFlag AND GameID = @GameID AND InvestAmount = @InvestAmount
-
- --添加数据
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [SlotChipStat]
- (
- DateFlag, GameID, InvestAmount, BetAmount, BetTimes,
- ResultAmount, WinTimes, WinAmount, Tax, MaxResultAmount
- )
- VALUES
- (
- @DateFlag, @GameID, @InvestAmount, @BetAmount, 1,
- @ResultAmount, CASE WHEN @WinAmount > 0 THEN 1 ELSE 0 END, @WinAmount, @Tax, @ResultAmount
- )
- END
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_SNGMatchReport_Stat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_SNGMatchReport_Stat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 挑战赛统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_SNGMatchReport_Stat]
- @CurrTime DATETIME --系统当前时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @BeginTime DATETIME --开始时间
- DECLARE @EndTime DATETIME --截止时间
- DECLARE @Times INT --报名次数
- DECLARE @Users INT --报名人数(去重)
- DECLARE @Rid INT --标识
- DECLARE @OneRid INT --当前标识
- DECLARE @Amount BIGINT --金额
- DECLARE @TotalAmount BIGINT --总金额
- DECLARE @SignTotalAmount BIGINT --报名费总额
- DECLARE @AwardTotalAmount BIGINT --奖金总额
- DECLARE @ReturnTotalAmount BIGINT --退还总额
- DECLARE @Count INT --计算器
-
- DECLARE @tmptable TABLE(
- UserID INT NOT NULL, --用户ID
- Amount BIGINT NOT NULL, --金币
- LogType INT NOT NULL --日志类型
- )
-
- DECLARE @tmpSignUp TABLE(
- Rid INT IDENTITY, --标识
- Amount BIGINT NOT NULL, --金币
- TotalAmount BIGINT NOT NULL, --总金额
- Users INT NOT NULL, --用户数
- Times INT NOT NULL --次数
- )
-
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime - 1, 120)
- SET @BeginTime = @DateFlag
- SET @EndTime = CONVERT(CHAR(11), @DateFlag, 120) + '23:59:59'
-
- --65=挑战赛报名 66=挑战赛退赛 67=挑战赛奖金
- INSERT INTO @tmptable
- (
- UserID, Amount, LogType
- )
- SELECT
- UserID, ModifyAmount, LogType
- FROM
- [MoneyLog_bak]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND LogType IN (65, 66, 67)
-
- IF(@@ROWCOUNT = 0)
- RETURN
-
- --65=挑战赛报名 66=挑战赛退赛 67=挑战赛奖金
- SELECT
- @SignTotalAmount = SUM(CASE WHEN LogType = 65 THEN Amount ELSE 0 END),
- @ReturnTotalAmount = SUM(CASE WHEN LogType = 66 THEN Amount ELSE 0 END),
- @AwardTotalAmount = SUM(CASE WHEN LogType = 67 THEN Amount ELSE 0 END)
- FROM
- @tmptable
-
- --登录用户数及去重
- SELECT
- @Times = COUNT(UserID), @Users = COUNT(DISTINCT UserID)
- FROM
- @tmptable
-
- INSERT INTO [SNGMatchReport]
- (
- DateFlag, ItemName, ItemValue, ItemType, ItemTag, Crdate
- )
- SELECT @DateFlag, N'报名次数', @Times, 1, 1, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'报名人数(去重)', @Users, 1, 2, @CurrTime
-
- SET @SignTotalAmount = ISNULL(@SignTotalAmount, 0)
- SET @AwardTotalAmount = ISNULL(@AwardTotalAmount, 0)
- SET @ReturnTotalAmount = ISNULL(@ReturnTotalAmount, 0)
-
- INSERT INTO [SNGMatchReport]
- (
- DateFlag, ItemName, ItemValue, ItemType, ItemTag, Crdate
- )
- SELECT @DateFlag, N'挑战赛报名', @SignTotalAmount, 2, 1, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'挑战赛退赛', @ReturnTotalAmount, 2, 2, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'挑战赛有效报名', @SignTotalAmount + @ReturnTotalAmount, 2, 3, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'挑战赛奖金', @AwardTotalAmount, 2, 4, @CurrTime
- UNION ALL
- SELECT @DateFlag, N'挑战赛收益', @SignTotalAmount + @ReturnTotalAmount + @AwardTotalAmount, 2, 5, @CurrTime
-
- --统计各项
- INSERT INTO @tmpSignUp(Amount, TotalAmount, Times, Users)
- SELECT
- Amount, SUM(Amount), COUNT(UserID), COUNT(DISTINCT UserID)
- FROM
- @tmptable
- WHERE
- LogType = 65
- GROUP BY
- Amount
- ORDER BY
- SUM(Amount) ASC
- SET @Rid = 0
- SET @Count = 11
-
- WHILE(1=1)
- BEGIN
- SET @OneRid = @Rid
- SET @Rid = NULL
- SET @Amount = NULL
- SET @TotalAmount = NULL
- SET @Times = NULL
- SET @Users = NULL
-
- SELECT TOP 1
- @Rid = Rid, @Amount = Amount, @TotalAmount = TotalAmount, @Times = Times, @Users = Users
- FROM
- @tmpSignUp
- WHERE
- Rid > @OneRid
- ORDER BY
- Rid ASC
-
- IF(@@ROWCOUNT = 0)
- BREAK
-
- INSERT INTO [SNGMatchReport]
- (
- DateFlag, ItemName, ItemValue, ItemType, ItemTag, Crdate
- )
- SELECT @DateFlag, CAST(ABS(@Amount) AS VARCHAR(32)) + N'累计报名费', @TotalAmount, @Count, 1, @CurrTime
- UNION ALL
- SELECT @DateFlag, CAST(ABS(@Amount) AS VARCHAR(32)) + N'报名次数', @Times, @Count, 2, @CurrTime
- UNION ALL
- SELECT @DateFlag, CAST(ABS(@Amount) AS VARCHAR(32)) + N'报名人数(去重)', @Users, @Count, 3, @CurrTime
-
- SET @Count = @Count + 1
- END
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_TimePeriod_Stat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_TimePeriod_Stat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 时段统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_TimePeriod_Stat]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DateFlag SMALLDATETIME --日期标识
-
- SET @DateFlag = CONVERT(CHAR(10), GETDATE(), 120)
-
- --移动数据
- INSERT INTO [t_onlinetimeHistory]
- (
- UserID, TodaySeconds, LoginTime
- )
- SELECT
- UserID, TodaySeconds, LoginTime
- FROM
- [t_onlinetime]
- WHERE
- LoginTime BETWEEN @DateFlag - 1 AND @DateFlag
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_Translate_Get] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_Translate_Get]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-03-13
- -- Mendor: wolf
- -- Alter Date: 2017-02-16
- -- Description: 获取译文
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_Translate_Get]
- @Source NVARCHAR(4000), --原文
- @Target NVARCHAR(4000) OUTPUT --译文
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
-
- SET @Target = ''
-
- --获取译文
- SELECT @Target = Target FROM [TranslateText] WHERE Source = @Source
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @Msg = N'获取翻译失败,原文=' + @Source
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = '-1', @OpUserName = 'system', @Msg = @Msg, @IPAddress = '127.0.0.1'
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_UserAgent_IncrCommission] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_UserAgent_IncrCommission]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 代理--增加佣金接口
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_UserAgent_IncrCommission]
- @UserID INT, --用户ID
- @GameID INT, --游戏ID
- @FromUserID INT, --源用户ID
- @Tax BIGINT, --台费
- @Commission BIGINT, --佣金
- @Direct TINYINT, --属级
- @Memo NVARCHAR(128), --备注
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --时间
- DECLARE @DateFlag SMALLDATETIME --日期标志
- DECLARE @LogType INT --日志类型
- DECLARE @RetCode TINYINT --操作结果
- DECLARE @Balance BIGINT --余额
- DECLARE @Remark VARCHAR(128)
- DECLARE @PreCommission BIGINT --佣金
- DECLARE @Members INT --有效会员
- DECLARE @Profit BIGINT
- SET @Balance = 0
- SET @CurrTime = GETDATE()
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
- IF(@Tax IS NULL OR @Tax < 0 OR @Commission IS NULL OR @Commission <= 0 OR @UserID <= 0)
- RETURN
- --增加佣金
- UPDATE
- [UserAgent]
- SET
- Commission = Commission + @Commission, @Balance = Commission + @Commission
- WHERE
- UserID = @UserID
-
- --佣金日志
- INSERT INTO [CommissionLog]
- (
- UserID, GameID, FromUserID, Tax, WantCommission,
- StillCommission, Direct, Memo, Crdate
- )
- VALUES
- (
- @UserID, @GameID, @FromUserID, @Tax, @Commission,
- @Balance, @Direct, @Memo, @CurrTime
- )
-
- --更新佣金统计
- UPDATE
- [CommissionStat]
- SET
- Commission = Commission + @Commission
- WHERE
- DateFlag = @DateFlag AND UserID = @UserID AND FromUserID = @FromUserID AND GameID = @GameID AND Direct = @Direct
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [CommissionStat]
- (
- DateFlag, UserID, GameID, FromUserID, Commission, Direct
- )
- VALUES
- (
- @DateFlag, @UserID, @GameID, @FromUserID, @Commission, @Direct
- )
- END
-
- --贡献收益
- UPDATE
- [AgentMember]
- SET
- Commission = Commission + @Commission, @PreCommission = Commission
- WHERE
- UserID = @FromUserID
-
- --有效会员触发
- IF(@PreCommission = 0 AND @Commission > 0)
- BEGIN
- --有效会员数
- SELECT @Members = COUNT(UserID) FROM [AgentMember] WHERE HigherUserID = @UserID AND Commission > 0
-
- --奖励
- SELECT @Profit = Profit FROM [AgentBindAward] WHERE Members = @Members
-
- --有收益
- IF(@Profit > 0)
- BEGIN
- --增加佣金
- UPDATE
- [UserAgent]
- SET
- Commission = Commission + @Profit, @Balance = Commission + @Profit
- WHERE
- UserID = @UserID
-
- --佣金日志
- INSERT INTO [CommissionLog]
- (
- UserID, GameID, FromUserID, Tax, WantCommission,
- StillCommission, Direct, Memo, Crdate
- )
- VALUES
- (
- @UserID, @GameID, @UserID, 0, @Profit,
- @Balance, 5, N'有效会员数' + LTRIM(STR(@Members)) + '位奖励', @CurrTime
- )
- --更新佣金统计
- UPDATE
- [CommissionStat]
- SET
- Commission = Commission + @Profit
- WHERE
- DateFlag = @DateFlag AND UserID = @UserID AND FromUserID = @UserID AND GameID = @GameID AND Direct = 5
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [CommissionStat]
- (
- DateFlag, UserID, GameID, FromUserID, Commission, Direct
- )
- VALUES
- (
- @DateFlag, @UserID, @GameID, @UserID, @Profit, 5
- )
- END
- END
- END
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_UserAgent_Trigger] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_UserAgent_Trigger]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 代理触发(收益)
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_UserAgent_Trigger]
- @UserID INT, --用户ID
- @GameID INT, --游戏ID
- @Tax BIGINT, --台费
- @TriggerType INT, --触发类型(1=流水 2=台费 3=充值(首充))
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Commission BIGINT --操作金额
- DECLARE @IsOpen TINYINT --是否开启
- DECLARE @HigherUserID INT --上级用户ID
- DECLARE @Enabled TINYINT --是否启用
- DECLARE @BetOneDirect SMALLINT --流水1级代理返佣(以万为基数)
- DECLARE @BetTwoDirect SMALLINT --流水2级代理返佣(以万为基数)
- DECLARE @TaxOneDirect SMALLINT --服务费1级代理返佣(以万为基数)
- DECLARE @TaxTwoDirect SMALLINT --服务费2级代理返佣(以万为基数)
- DECLARE @PayOneDirect SMALLINT --充值1级代理返佣(以万为基数)
- DECLARE @PayTwoDirect SMALLINT --充值2级代理返佣(以万为基数)
- DECLARE @OneDirect SMALLINT --1级代理返佣(以万为基数)
- DECLARE @TwoDirect SMALLINT --2级代理返佣(以万为基数)
- DECLARE @SuperUserID INT --上级代理用户ID
- DECLARE @Memo NVARCHAR(128) --备注
- SET @OneDirect = 0
- SET @TwoDirect = 0
- --代理配置
- SELECT
- @IsOpen = IsOpen,
- @BetOneDirect = BetOneDirect, @BetTwoDirect = BetTwoDirect,
- @TaxOneDirect = TaxOneDirect, @TaxTwoDirect = TaxTwoDirect,
- @PayOneDirect = PayOneDirect, @PayTwoDirect = PayTwoDirect
- FROM
- [AgentConfig]
- WHERE
- ConfigID = 1
- IF(@IsOpen IS NULL OR @IsOpen != 1)
- RETURN
- --1=流水
- IF(@TriggerType = 1)
- BEGIN
- SET @OneDirect = @BetOneDirect
- SET @TwoDirect = @BetTwoDirect
-
- --取正值
- IF(@Tax < 0)
- BEGIN
- SET @Tax = -@Tax
- END
- END
- --2=台费
- ELSE IF(@TriggerType = 2)
- BEGIN
- SET @OneDirect = @TaxOneDirect
- SET @TwoDirect = @TaxTwoDirect
- END
- --3=充值(首充)
- ELSE IF(@TriggerType = 3)
- BEGIN
- SET @OneDirect = @PayOneDirect
- SET @TwoDirect = @PayTwoDirect
- END
- --没有开启
- IF(@OneDirect IS NULL OR @OneDirect <= 0)
- RETURN
- --会员上级代理
- SELECT @HigherUserID = HigherUserID FROM [AgentMember] WHERE UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- RETURN
- --获取上级代理等级
- SELECT @Enabled = Enabled FROM [UserAgent] WHERE UserID = @HigherUserID
- --------------------父级代理-------------------------------------------------
- --1级代理
- IF(@Enabled = 1)
- BEGIN
- --是否启用
- IF(@OneDirect NOT BETWEEN 1 AND 10000)
- RETURN
-
- --计算收益
- SET @Commission = @Tax * (@OneDirect / 10000.00)
-
- IF(@Commission IS NULL OR @Commission <= 0)
- RETURN
- SET @Memo = N'Tier 1 Commission(' + CAST(CAST(@OneDirect / 100.00 AS DECIMAL(10, 2)) AS VARCHAR(8)) + '%),Direct deduction'
- --增加佣金
- EXEC [Game_UserAgent_IncrCommission] @UserID = @HigherUserID, @GameID = @GameID, @FromUserID = @UserID, @Tax = @Tax,
- @Commission = @Commission, @Direct = 1, @Memo = @Memo, @IPAddress = @IPAddress
- --继续获取上一级
- SELECT @SuperUserID = HigherUserID FROM [AgentMember] WHERE UserID = @HigherUserID
-
- IF(@@ROWCOUNT = 0)
- RETURN
-
- --获取上级代理等级
- SELECT @Enabled = Enabled FROM [UserAgent] WHERE UserID = @SuperUserID
- END
- --------------------爷级代理-------------------------------------------------
- --2级代理
- IF(@Enabled = 1)
- BEGIN
- --是否启用
- IF(@TwoDirect NOT BETWEEN 1 AND 10000)
- RETURN
- --非直属提成金额
- SET @Commission = @Tax * (@TwoDirect / 10000.00)
- IF(@Commission IS NULL OR @Commission <= 0)
- RETURN
- SET @Memo = N'Tier 2 Commission(' + CAST(CAST(@TwoDirect / 100.00 AS DECIMAL(10, 2)) AS VARCHAR(8)) + '%),Non direct deduction'
- --增加佣金
- EXEC [Game_UserAgent_IncrCommission] @UserID = @SuperUserID, @GameID = @GameID, @FromUserID = @UserID, @Tax = @Tax,
- @Commission = @Commission, @Direct = 2, @Memo = @Memo, @IPAddress = @IPAddress
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_UserBehavior_Stat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_UserBehavior_Stat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-02-06
- -- Mendor: wolf
- -- Alter Date: 2016-09-11
- -- Description: 用户行为统计分析
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_UserBehavior_Stat]
- @UserID INT, --用户ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME --截止时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @SourceName NVARCHAR(32)
- DECLARE @Remark NVARCHAR(128) --备注
- DECLARE @Crdate DATETIME --时间
- DECLARE @CurrAmount BIGINT --操作前金额
- DECLARE @ModifyAmount BIGINT --操作金额
- DECLARE @StillAmount BIGINT --余额
- DECLARE @Status TINYINT --状态(0=begin 1=end)
- DECLARE @GameCount INT --局数
- DECLARE @Rid INT
- DECLARE @LogID INT
- DECLARE @OneLogID INT
-
- DECLARE @tmptable TABLE(
- LogID INT NOT NULL, --标识
- SourceName NVARCHAR(32) NOT NULL,
- CurrAmount BIGINT NOT NULL,
- ModifyAmount BIGINT NOT NULL,
- Remark NVARCHAR(128) NOT NULL,
- Crdate DATETIME NOT NULL,
- StillAmount BIGINT NOT NULL
- )
-
- SET @LogID = 0
-
- INSERT INTO @tmptable
- (
- LogID, SourceName, CurrAmount, ModifyAmount, Remark, Crdate, StillAmount
- )
- SELECT
- LogID, SourceName, CurrentAmount, ModifyAmount, Remark, Crdate, StillAmount
- FROM
- [ChipLog_bak]
- WHERE
- Crdate >= @BeginTime AND Crdate < @EndTime AND UserID = @UserID
- ORDER BY
- LogID ASC
-
- --遍历元宝区域
- WHILE(1=1)
- BEGIN
- SET @OneLogID = @LogID
- SET @LogID = NULL
- SET @SourceName = NULL
- SET @Remark = NULL
- SET @CurrAmount = NULL
- SET @ModifyAmount = NULL
- SET @Crdate = NULL
- SET @StillAmount = NULL
- SET @Status = NULL
- SET @Rid = NULL
-
- SELECT TOP 1
- @LogID = LogID, @SourceName = SourceName, @CurrAmount = CurrAmount, @ModifyAmount = ModifyAmount,
- @Remark = Remark, @Crdate = Crdate, @StillAmount = StillAmount
- FROM
- @tmptable
- WHERE
- LogID > @OneLogID
- ORDER BY
- LogID ASC
-
- IF(@@ROWCOUNT = 0)
- BREAK
-
- --充值
- IF(CHARINDEX(N'商城购买', @Remark, 0) > 0)
- BEGIN
- --PRINT '元宝商城购买,SourceName=' + ISNULL(@SourceName, '') + ', Remark=' + ISNULL(@Remark, '')
-
- INSERT INTO [UserBehavior]
- (
- UserID, SceneName, ActTime, Amount, EndTime, StaySeconds, StillAmount, WinAmount, GameCount, Status
- )
- VALUES
- (
- @UserID, N'元宝商城', @Crdate, @ModifyAmount, @Crdate, 0, @StillAmount, 0, 0, 4
- )
- END
-
- --赠送
- ELSE IF(CHARINDEX(N'Safe transfer', @Remark, 0) > 0)
- BEGIN
- --PRINT '玩家赠送,SourceName=' + ISNULL(@SourceName, '') + ', Remark=' + ISNULL(@Remark, '')
-
- INSERT INTO [UserBehavior]
- (
- UserID, SceneName, ActTime, Amount, EndTime, StaySeconds, StillAmount, WinAmount, GameCount, Status
- )
- VALUES
- (
- @UserID, N'元宝赠送', @Crdate, @ModifyAmount, @Crdate, 0, @StillAmount, 0, 0, 4
- )
- END
-
- --游戏下注
- ELSE IF(CHARINDEX(N'结算', @Remark, 0) > 0)
- BEGIN
- --获取最近1条
- SELECT TOP 1
- @Rid = Rid, @Status = Status, @GameCount = GameCount
- FROM
- [UserBehavior]
- WHERE
- UserID = @UserID AND Status IN (3, 4)
- ORDER BY
- Rid DESC
-
- IF(@Status = 3)
- BEGIN
- --PRINT '元宝游戏下注,SourceName=' + ISNULL(@SourceName, '') + ', Remark=' + ISNULL(@Remark, '') + ', Status=' + LTRIM(STR(ISNULL(@Status, 0))) + ', 局数=' + LTRIM(STR(ISNULL(@GameCount, 0) + 1))
-
- --局数+1
- UPDATE [UserBehavior] SET GameCount = GameCount + 1, EndTime = @Crdate WHERE Rid = @Rid
- CONTINUE
- END
-
- --PRINT '元宝游戏下注,SourceName=' + ISNULL(@SourceName, '') + ', Remark=' + ISNULL(@Remark, '') + ', Status=' + LTRIM(STR(ISNULL(@Status, 0))) + ', 生成新记录, 局数=1'
-
- INSERT INTO [UserBehavior]
- (
- UserID, SceneName, ActTime, Amount, EndTime, StaySeconds, StillAmount, WinAmount, GameCount, Status
- )
- VALUES
- (
- @UserID, @SourceName + N' 元宝场', @Crdate, @CurrAmount, @Crdate, 0, @CurrAmount, 0, 1, 3
- )
- END
-
- --退出房间
- ELSE IF(CHARINDEX(N'退出房间', @Remark, 0) > 0)
- BEGIN
- --获取最近1条
- SELECT TOP 1
- @Rid = Rid, @Status = Status
- FROM
- [UserBehavior]
- WHERE
- UserID = @UserID AND Status IN (3, 4)
- ORDER BY
- Rid DESC
-
- IF(@Status = 4)
- BEGIN
- --PRINT '元宝结算(异常),SourceName=' + ISNULL(@SourceName, '') + ', Remark=' + ISNULL(@Remark, '') + ', Status=' + LTRIM(STR(ISNULL(@Status, 0)))
- CONTINUE
- END
-
- --PRINT '元宝结算,SourceName=' + ISNULL(@SourceName, '') + ', Remark=' + ISNULL(@Remark, '') + ', Status=' + LTRIM(STR(ISNULL(@Status, 0)))
-
- UPDATE
- [UserBehavior]
- SET
- EndTime = @Crdate, StaySeconds = DATEDIFF(SECOND, ActTime, @Crdate), StillAmount= @StillAmount,
- WinAmount = @StillAmount - Amount, Status = 4
- WHERE
- Rid = @Rid
- END
- END
-
- DELETE FROM @tmptable
-
- SET @LogID = 0
-
- INSERT INTO @tmptable
- (
- LogID, SourceName, CurrAmount, ModifyAmount, Remark, Crdate, StillAmount
- )
- SELECT
- LogID, SourceName, CurrentAmount, ModifyAmount, Remark, Crdate, StillAmount
- FROM
- [MoneyLog_bak]
- WHERE
- Crdate >= @BeginTime AND Crdate < @EndTime AND UserID = @UserID
- ORDER BY
- LogID ASC
-
- --遍历休闲区域
- WHILE(1=1)
- BEGIN
- SET @OneLogID = @LogID
- SET @LogID = NULL
- SET @SourceName = NULL
- SET @Remark = NULL
- SET @CurrAmount = NULL
- SET @ModifyAmount = NULL
- SET @Rid = NULL
- SET @Crdate = NULL
- SET @StillAmount = NULL
- SET @Status = NULL
-
- SELECT TOP 1
- @LogID = LogID, @SourceName = SourceName, @CurrAmount = CurrAmount, @ModifyAmount = ModifyAmount,
- @Remark = Remark, @Crdate = Crdate, @StillAmount = StillAmount
- FROM
- @tmptable
- WHERE
- LogID > @OneLogID
- ORDER BY
- LogID ASC
-
- IF(@@ROWCOUNT = 0)
- BREAK
-
- --充值
- IF(CHARINDEX(N'商城购买', @Remark, 0) > 0)
- BEGIN
- --PRINT '休闲商城购买,SourceName=' + ISNULL(@SourceName, '') + ', Remark=' + ISNULL(@Remark, '')
-
- INSERT INTO [UserBehavior]
- (
- UserID, SceneName, ActTime, Amount, EndTime, StaySeconds, StillAmount, WinAmount, GameCount, Status
- )
- VALUES
- (
- @UserID, N'休闲商城', @Crdate, @ModifyAmount, @Crdate, 0, @StillAmount, 0, 0, 2
- )
- END
-
- --游戏下注
- ELSE IF(CHARINDEX(N'结算', @Remark, 0) > 0)
- BEGIN
- --获取最近1条
- SELECT TOP 1
- @Rid = Rid, @Status = Status, @GameCount = GameCount
- FROM
- [UserBehavior]
- WHERE
- UserID = @UserID AND Status IN (1, 2)
- ORDER BY
- Rid DESC
-
- IF(@Status = 1)
- BEGIN
- --PRINT '休闲游戏下注,SourceName=' + ISNULL(@SourceName, '') + ', Remark=' + ISNULL(@Remark, '') + ', Status=' + LTRIM(STR(ISNULL(@Status, 0))) + ', 局数=' + LTRIM(STR(ISNULL(@GameCount, 0) + 1))
-
- --局数+1
- UPDATE [UserBehavior] SET GameCount = GameCount + 1, EndTime = @Crdate WHERE Rid = @Rid
- CONTINUE
- END
-
- --PRINT '休闲游戏下注,SourceName=' + ISNULL(@SourceName, '') + ', Remark=' + ISNULL(@Remark, '') + ', Status=' + LTRIM(STR(ISNULL(@Status, 0))) + ', 生成新记录, 局数=1'
-
- INSERT INTO [UserBehavior]
- (
- UserID, SceneName, ActTime, Amount, EndTime, StaySeconds, StillAmount, WinAmount, GameCount, Status
- )
- VALUES
- (
- @UserID, @SourceName + N' 休闲场', @Crdate, @CurrAmount, @Crdate, 0, @CurrAmount, 0, 1, 1
- )
- END
-
- --退出房间
- ELSE IF(CHARINDEX(N'退出房间', @Remark, 0) > 0)
- BEGIN
- --获取最近1条
- SELECT TOP 1
- @Rid = Rid, @Status = Status
- FROM
- [UserBehavior]
- WHERE
- UserID = @UserID AND Status IN (1, 2)
- ORDER BY
- Rid DESC
-
- IF(@Status = 2)
- BEGIN
- --PRINT '休闲结算(异常),SourceName=' + ISNULL(@SourceName, '') + ', Remark=' + ISNULL(@Remark, '') + ', Status=' + LTRIM(STR(ISNULL(@Status, 0)))
- CONTINUE
- END
-
- --PRINT '休闲结算,SourceName=' + ISNULL(@SourceName, '') + ', Remark=' + ISNULL(@Remark, '') + ', Status=' + LTRIM(STR(ISNULL(@Status, 0)))
-
- UPDATE
- [UserBehavior]
- SET
- EndTime = @Crdate, StaySeconds = DATEDIFF(SECOND, ActTime, @Crdate), StillAmount= @StillAmount,
- WinAmount = @StillAmount - Amount, Status = 2
- WHERE
- Rid = @Rid
- END
- END
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_UserDot_Stat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_UserDot_Stat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 打点统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_UserDot_Stat]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @DateFlag SMALLDATETIME --日期标识
- --表变量
- DECLARE @tmptable TABLE(
- DateFlag SMALLDATETIME NOT NULL, --日期
- Event VARCHAR(32) NOT NULL, --事件
- LabelID VARCHAR(32) NOT NULL, --标签ID
- UserID VARCHAR(16) NOT NULL, --用户ID
- Action TINYINT NOT NULL, --动作(1=点击 2=完成 3=领取)
- Times INT NOT NULL --次数
- )
- --表变量
- DECLARE @tmpStat TABLE(
- Event VARCHAR(32) NOT NULL, --事件
- LabelID VARCHAR(32) NOT NULL, --标签ID
- Days INT NOT NULL, --天数(0=当天 7=过去7天 30=过去30天)
- ClickTimes INT NOT NULL, --点击次数
- ClickUserCount INT NOT NULL, --点击人数
- CompleteUserCount INT NOT NULL --完成人数
- )
-
- SET @CurrTime = GETDATE()
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime - 1, 120)
-
- --拉出最近30天数据(任务排除)
- INSERT INTO @tmptable
- (
- DateFlag, Event, LabelID, UserID, Action, Times
- )
- SELECT
- d.DateFlag, d.Event, '', d.UserID, d.Action, d.Times
- FROM
- [UserDotHistory] d
- WHERE
- d.DateFlag BETWEEN @DateFlag - 30 AND @DateFlag AND d.Scene != '任务'
-
-
- --统计当天数据
- INSERT INTO @tmpStat
- (
- Event, LabelID, Days,
- ClickTimes, ClickUserCount, CompleteUserCount
- )
- SELECT
- Event, LabelID, 0,
- ISNULL(SUM(CASE WHEN Action = 1 THEN Times ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN Action = 1 THEN 1 ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN Action = 2 THEN 1 ELSE 0 END), 0)
- FROM
- @tmptable
- WHERE
- DateFlag = @DateFlag
- GROUP BY
- Event, LabelID
-
- --统计7天数据
- INSERT INTO @tmpStat
- (
- Event, LabelID, Days,
- ClickTimes, ClickUserCount, CompleteUserCount
- )
- SELECT
- Event, LabelID, 7,
- ISNULL(SUM(CASE WHEN Action = 1 THEN Times ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN Action = 1 THEN 1 ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN Action = 2 THEN 1 ELSE 0 END), 0)
- FROM
- @tmptable
- WHERE
- DateFlag >= @DateFlag - 7
- GROUP BY
- Event, LabelID
-
- --统计30天数据
- INSERT INTO @tmpStat
- (
- Event, LabelID, Days,
- ClickTimes, ClickUserCount, CompleteUserCount
- )
- SELECT
- Event, LabelID, 30,
- ISNULL(SUM(CASE WHEN Action = 1 THEN Times ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN Action = 1 THEN 1 ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN Action = 2 THEN 1 ELSE 0 END), 0)
- FROM
- @tmptable
- GROUP BY
- Event, LabelID
-
- --保存统计数据
- INSERT INTO [UserDotStat]
- (
- DateFlag, Event, LabelID, Days, ClickTimes, ClickUserCount, CompleteUserCount
- )
- SELECT
- @DateFlag, Event, LabelID, Days, ClickTimes, ClickUserCount, CompleteUserCount
- FROM
- @tmpStat
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_UserLoginLog_Stat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_UserLoginLog_Stat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-10-17
- -- Mendor: wolf
- -- Alter Date: 2014-10-77
- -- Description: 登陆统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_UserLoginLog_Stat]
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DateFlag SMALLDATETIME --日期标志
- DECLARE @BeginTime DATETIME --开始时间
- DECLARE @EndTime DATETIME --截止时间
-
- SET @DateFlag = CONVERT(CHAR(10), GETDATE(), 120)
- SET @DateFlag = @DateFlag - 1
- SET @BeginTime = @DateFlag
- SET @EndTime = CONVERT(CHAR(11), @DateFlag, 120) + '23:59:59'
- --判断是否已生成
- IF EXISTS(SELECT DateFlag FROM [LoginStat] WHERE DateFlag = @DateFlag)
- RETURN
- --统计登陆
- INSERT INTO [LoginStat]
- (
- DateFlag, PartnerID, LoginCount
- )
- SELECT
- CONVERT(CHAR(10), Crdate, 120), PartnerID, COUNT(DISTINCT(UserID))
- FROM
- [UserLoginLog_bak]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- GROUP BY
- CONVERT(CHAR(10), Crdate, 120), PartnerID
- --判断是否已生成
- IF EXISTS(SELECT DateFlag FROM [ChipLoginStat] WHERE DateFlag = @DateFlag)
- RETURN
- --元宝大厅登录用户数
- INSERT INTO [ChipLoginStat]
- (
- DateFlag, LoginCount
- )
- SELECT
- DateFlag, COUNT(DISTINCT UserID)
- FROM
- [ChipStat]
- WHERE
- DateFlag = @DateFlag AND LogType IN (SELECT LogType FROM [MoneyLogType] WHERE IsGameWin = 1)
- GROUP BY
- DateFlag
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_VideoStat_Stat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_VideoStat_Stat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-10-08
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 视频统计(每10分钟)
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_VideoStat_Stat]
- @CurrTime DATETIME --时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @Hour INT --小时
- DECLARE @Min INT --分钟
- DECLARE @PlayCount INT --播放数
- DECLARE @Hour_0000 INT -- 00:00
- DECLARE @Hour_0030 INT -- 00:30
- DECLARE @Hour_0100 INT -- 01:00
- DECLARE @Hour_0130 INT -- 01:30
- DECLARE @Hour_0200 INT -- 02:00
- DECLARE @Hour_0230 INT -- 02:30
- DECLARE @Hour_0300 INT -- 03:00
- DECLARE @Hour_0330 INT -- 03:30
- DECLARE @Hour_0400 INT -- 04:00
- DECLARE @Hour_0430 INT -- 04:30
- DECLARE @Hour_0500 INT -- 05:00
- DECLARE @Hour_0530 INT -- 05:30
- DECLARE @Hour_0600 INT -- 06:00
- DECLARE @Hour_0630 INT -- 06:30
- DECLARE @Hour_0700 INT -- 07:00
- DECLARE @Hour_0730 INT -- 07:30
- DECLARE @Hour_0800 INT -- 08:00
- DECLARE @Hour_0830 INT -- 08:30
- DECLARE @Hour_0900 INT -- 09:00
- DECLARE @Hour_0930 INT -- 09:30
- DECLARE @Hour_1000 INT -- 10:00
- DECLARE @Hour_1030 INT -- 10:30
- DECLARE @Hour_1100 INT -- 11:00
- DECLARE @Hour_1130 INT -- 11:30
- DECLARE @Hour_1200 INT -- 12:00
- DECLARE @Hour_1230 INT -- 12:30
- DECLARE @Hour_1300 INT -- 13:00
- DECLARE @Hour_1330 INT -- 13:30
- DECLARE @Hour_1400 INT -- 14:00
- DECLARE @Hour_1430 INT -- 14:30
- DECLARE @Hour_1500 INT -- 15:00
- DECLARE @Hour_1530 INT -- 15:30
- DECLARE @Hour_1600 INT -- 16:00
- DECLARE @Hour_1630 INT -- 16:30
- DECLARE @Hour_1700 INT -- 17:00
- DECLARE @Hour_1730 INT -- 17:30
- DECLARE @Hour_1800 INT -- 18:00
- DECLARE @Hour_1830 INT -- 18:30
- DECLARE @Hour_1900 INT -- 19:00
- DECLARE @Hour_1930 INT -- 19:30
- DECLARE @Hour_2000 INT -- 20:00
- DECLARE @Hour_2030 INT -- 20:30
- DECLARE @Hour_2100 INT -- 21:00
- DECLARE @Hour_2130 INT -- 21:30
- DECLARE @Hour_2200 INT -- 22:00
- DECLARE @Hour_2230 INT -- 22:30
- DECLARE @Hour_2300 INT -- 23:00
- DECLARE @Hour_2330 INT -- 23:30
-
- DECLARE @Rid INT --标识
- DECLARE @OneRid INT --当前标识
- DECLARE @PartnerID INT --渠道ID
-
- DECLARE @tmptable TABLE(
- Rid INT IDENTITY NOT NULL, --标识
- PartnerID INT NOT NULL, --渠道ID
- PlayCount INT NOT NULL --播放次数
- )
-
- --统计播放次数
- INSERT INTO @tmptable(PartnerID, PlayCount)
- SELECT
- u.PartnerID, COUNT(v.Rid)
- FROM
- [UserVideoLogHistory] v INNER JOIN [AllUser] u ON v.UserID = u.UserID
- WHERE
- v.Crdate >= DATEADD(MINUTE, -30, @CurrTime) AND v.Status = 1
- GROUP BY
- u.PartnerID
-
- SET @Hour = DATEPART(HOUR, @CurrTime)
- SET @Min = DATEPART(MINUTE, @CurrTime)
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
- SET @Rid = 0
- WHILE(1=1)
- BEGIN
- SET @OneRid = @Rid
- SET @Rid = NULL
-
- SELECT TOP 1
- @Rid = Rid, @PartnerID = PartnerID, @PlayCount = PlayCount
- FROM
- @tmptable
- WHERE
- Rid > @OneRid
- ORDER BY
- Rid ASC
-
- IF(@@ROWCOUNT = 0)
- BREAK
-
- --分时段
- SELECT
- @Hour_0000 = CASE WHEN @Hour = 0 AND @Min < 30 THEN @PlayCount ELSE 0 END,
- @Hour_0030 = CASE WHEN @Hour = 0 AND @Min >= 30 THEN @PlayCount ELSE 0 END,
-
- @Hour_0100 = CASE WHEN @Hour = 1 AND @Min < 30 THEN @PlayCount ELSE 0 END,
- @Hour_0130 = CASE WHEN @Hour = 1 AND @Min >= 30 THEN @PlayCount ELSE 0 END,
-
- @Hour_0200 = CASE WHEN @Hour = 2 AND @Min < 30 THEN @PlayCount ELSE 0 END,
- @Hour_0230 = CASE WHEN @Hour = 2 AND @Min >= 30 THEN @PlayCount ELSE 0 END,
-
- @Hour_0300 = CASE WHEN @Hour = 3 AND @Min < 30 THEN @PlayCount ELSE 0 END,
- @Hour_0330 = CASE WHEN @Hour = 3 AND @Min >= 30 THEN @PlayCount ELSE 0 END,
-
- @Hour_0400 = CASE WHEN @Hour = 4 AND @Min < 30 THEN @PlayCount ELSE 0 END,
- @Hour_0430 = CASE WHEN @Hour = 4 AND @Min >= 30 THEN @PlayCount ELSE 0 END,
-
- @Hour_0500 = CASE WHEN @Hour = 5 AND @Min < 30 THEN @PlayCount ELSE 0 END,
- @Hour_0530 = CASE WHEN @Hour = 5 AND @Min >= 30 THEN @PlayCount ELSE 0 END,
-
- @Hour_0600 = CASE WHEN @Hour = 6 AND @Min < 30 THEN @PlayCount ELSE 0 END,
- @Hour_0630 = CASE WHEN @Hour = 6 AND @Min >= 30 THEN @PlayCount ELSE 0 END,
-
- @Hour_0700 = CASE WHEN @Hour = 7 AND @Min < 30 THEN @PlayCount ELSE 0 END,
- @Hour_0730 = CASE WHEN @Hour = 7 AND @Min >= 30 THEN @PlayCount ELSE 0 END,
-
- @Hour_0800 = CASE WHEN @Hour = 8 AND @Min < 30 THEN @PlayCount ELSE 0 END,
- @Hour_0830 = CASE WHEN @Hour = 8 AND @Min >= 30 THEN @PlayCount ELSE 0 END,
-
- @Hour_0900 = CASE WHEN @Hour = 9 AND @Min < 30 THEN @PlayCount ELSE 0 END,
- @Hour_0930 = CASE WHEN @Hour = 9 AND @Min >= 30 THEN @PlayCount ELSE 0 END,
-
- @Hour_1000 = CASE WHEN @Hour = 10 AND @Min < 30 THEN @PlayCount ELSE 0 END,
- @Hour_1030 = CASE WHEN @Hour = 10 AND @Min >= 30 THEN @PlayCount ELSE 0 END,
-
- @Hour_1100 = CASE WHEN @Hour = 11 AND @Min < 30 THEN @PlayCount ELSE 0 END,
- @Hour_1130 = CASE WHEN @Hour = 11 AND @Min >= 30 THEN @PlayCount ELSE 0 END,
-
- @Hour_1200 = CASE WHEN @Hour = 12 AND @Min < 30 THEN @PlayCount ELSE 0 END,
- @Hour_1230 = CASE WHEN @Hour = 12 AND @Min >= 30 THEN @PlayCount ELSE 0 END,
-
- @Hour_1300 = CASE WHEN @Hour = 13 AND @Min < 30 THEN @PlayCount ELSE 0 END,
- @Hour_1330 = CASE WHEN @Hour = 13 AND @Min >= 30 THEN @PlayCount ELSE 0 END,
-
- @Hour_1400 = CASE WHEN @Hour = 14 AND @Min < 30 THEN @PlayCount ELSE 0 END,
- @Hour_1430 = CASE WHEN @Hour = 14 AND @Min >= 30 THEN @PlayCount ELSE 0 END,
-
- @Hour_1500 = CASE WHEN @Hour = 15 AND @Min < 30 THEN @PlayCount ELSE 0 END,
- @Hour_1530 = CASE WHEN @Hour = 15 AND @Min >= 30 THEN @PlayCount ELSE 0 END,
-
- @Hour_1600 = CASE WHEN @Hour = 16 AND @Min < 30 THEN @PlayCount ELSE 0 END,
- @Hour_1630 = CASE WHEN @Hour = 16 AND @Min >= 30 THEN @PlayCount ELSE 0 END,
-
- @Hour_1700 = CASE WHEN @Hour = 17 AND @Min < 30 THEN @PlayCount ELSE 0 END,
- @Hour_1730 = CASE WHEN @Hour = 17 AND @Min >= 30 THEN @PlayCount ELSE 0 END,
-
- @Hour_1800 = CASE WHEN @Hour = 18 AND @Min < 30 THEN @PlayCount ELSE 0 END,
- @Hour_1830 = CASE WHEN @Hour = 18 AND @Min >= 30 THEN @PlayCount ELSE 0 END,
-
- @Hour_1900 = CASE WHEN @Hour = 19 AND @Min < 30 THEN @PlayCount ELSE 0 END,
- @Hour_1930 = CASE WHEN @Hour = 19 AND @Min >= 30 THEN @PlayCount ELSE 0 END,
-
- @Hour_2000 = CASE WHEN @Hour = 20 AND @Min < 30 THEN @PlayCount ELSE 0 END,
- @Hour_2030 = CASE WHEN @Hour = 20 AND @Min >= 30 THEN @PlayCount ELSE 0 END,
-
- @Hour_2100 = CASE WHEN @Hour = 21 AND @Min < 30 THEN @PlayCount ELSE 0 END,
- @Hour_2130 = CASE WHEN @Hour = 21 AND @Min >= 30 THEN @PlayCount ELSE 0 END,
-
- @Hour_2200 = CASE WHEN @Hour = 22 AND @Min < 30 THEN @PlayCount ELSE 0 END,
- @Hour_2230 = CASE WHEN @Hour = 22 AND @Min >= 30 THEN @PlayCount ELSE 0 END,
-
- @Hour_2300 = CASE WHEN @Hour = 23 AND @Min < 30 THEN @PlayCount ELSE 0 END,
- @Hour_2330 = CASE WHEN @Hour = 23 AND @Min >= 30 THEN @PlayCount ELSE 0 END
- --统计
- UPDATE
- [VideoStatMin]
- SET
- Hour_0000 = Hour_0000 + @Hour_0000, Hour_0030 = Hour_0030 + @Hour_0030,
- Hour_0100 = Hour_0100 + @Hour_0100, Hour_0130 = Hour_0130 + @Hour_0130,
- Hour_0200 = Hour_0200 + @Hour_0200, Hour_0230 = Hour_0230 + @Hour_0230,
- Hour_0300 = Hour_0300 + @Hour_0300, Hour_0330 = Hour_0330 + @Hour_0330,
- Hour_0400 = Hour_0400 + @Hour_0400, Hour_0430 = Hour_0430 + @Hour_0430,
- Hour_0500 = Hour_0500 + @Hour_0500, Hour_0530 = Hour_0530 + @Hour_0530,
- Hour_0600 = Hour_0600 + @Hour_0600, Hour_0630 = Hour_0630 + @Hour_0630,
- Hour_0700 = Hour_0700 + @Hour_0700, Hour_0730 = Hour_0730 + @Hour_0730,
- Hour_0800 = Hour_0800 + @Hour_0800, Hour_0830 = Hour_0830 + @Hour_0830,
- Hour_0900 = Hour_0900 + @Hour_0900, Hour_0930 = Hour_0930 + @Hour_0930,
- Hour_1000 = Hour_1000 + @Hour_1000, Hour_1030 = Hour_1030 + @Hour_1030,
- Hour_1100 = Hour_1100 + @Hour_1100, Hour_1130 = Hour_1130 + @Hour_1130,
- Hour_1200 = Hour_1200 + @Hour_1200, Hour_1230 = Hour_1230 + @Hour_1230,
- Hour_1300 = Hour_1300 + @Hour_1300, Hour_1330 = Hour_1330 + @Hour_1330,
- Hour_1400 = Hour_1400 + @Hour_1400, Hour_1430 = Hour_1430 + @Hour_1430,
- Hour_1500 = Hour_1500 + @Hour_1500, Hour_1530 = Hour_1530 + @Hour_1530,
- Hour_1600 = Hour_1600 + @Hour_1600, Hour_1630 = Hour_1630 + @Hour_1630,
- Hour_1700 = Hour_1700 + @Hour_1700, Hour_1730 = Hour_1730 + @Hour_1730,
- Hour_1800 = Hour_1800 + @Hour_1800, Hour_1830 = Hour_1830 + @Hour_1830,
- Hour_1900 = Hour_1900 + @Hour_1900, Hour_1930 = Hour_1930 + @Hour_1930,
- Hour_2000 = Hour_2000 + @Hour_2000, Hour_2030 = Hour_2030 + @Hour_2030,
- Hour_2100 = Hour_2100 + @Hour_2100, Hour_2130 = Hour_2130 + @Hour_2130,
- Hour_2200 = Hour_2200 + @Hour_2200, Hour_2230 = Hour_2230 + @Hour_2230,
- Hour_2300 = Hour_2300 + @Hour_2300, Hour_2330 = Hour_2330 + @Hour_2330
- WHERE
- DateFlag = @DateFlag AND PartnerID = @PartnerID
- --今天还没有
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [VideoStatMin]
- (
- DateFlag, PartnerID,
- Hour_0000, Hour_0030, Hour_0100, Hour_0130, Hour_0200, Hour_0230,
- Hour_0300, Hour_0330, Hour_0400, Hour_0430, Hour_0500, Hour_0530,
- Hour_0600, Hour_0630, Hour_0700, Hour_0730, Hour_0800, Hour_0830,
- Hour_0900, Hour_0930, Hour_1000, Hour_1030, Hour_1100, Hour_1130,
- Hour_1200, Hour_1230, Hour_1300, Hour_1330, Hour_1400, Hour_1430,
- Hour_1500, Hour_1530, Hour_1600, Hour_1630, Hour_1700, Hour_1730,
- Hour_1800, Hour_1830, Hour_1900, Hour_1930, Hour_2000, Hour_2030,
- Hour_2100, Hour_2130, Hour_2200, Hour_2230, Hour_2300, Hour_2330
- )
- VALUES
- (
- @DateFlag, @PartnerID,
- @Hour_0000, @Hour_0030, @Hour_0100, @Hour_0130, @Hour_0200, @Hour_0230,
- @Hour_0300, @Hour_0330, @Hour_0400, @Hour_0430, @Hour_0500, @Hour_0530,
- @Hour_0600, @Hour_0630, @Hour_0700, @Hour_0730, @Hour_0800, @Hour_0830,
- @Hour_0900, @Hour_0930, @Hour_1000, @Hour_1030, @Hour_1100, @Hour_1130,
- @Hour_1200, @Hour_1230, @Hour_1300, @Hour_1330, @Hour_1400, @Hour_1430,
- @Hour_1500, @Hour_1530, @Hour_1600, @Hour_1630, @Hour_1700, @Hour_1730,
- @Hour_1800, @Hour_1830, @Hour_1900, @Hour_1930, @Hour_2000, @Hour_2030,
- @Hour_2100, @Hour_2130, @Hour_2200, @Hour_2230, @Hour_2300, @Hour_2330
- )
- END
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Game_VideoUser_Stat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Game_VideoUser_Stat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-10-08
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 视频用户统计(每10分钟)
- -- ==============================================
- CREATE PROCEDURE [dbo].[Game_VideoUser_Stat]
- @CurrTime DATETIME --时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @Hour INT --小时
- DECLARE @Min INT --分钟
- DECLARE @PlayUsers INT --用户数
- DECLARE @Hour_0000 INT -- 00:00
- DECLARE @Hour_0030 INT -- 00:30
- DECLARE @Hour_0100 INT -- 01:00
- DECLARE @Hour_0130 INT -- 01:30
- DECLARE @Hour_0200 INT -- 02:00
- DECLARE @Hour_0230 INT -- 02:30
- DECLARE @Hour_0300 INT -- 03:00
- DECLARE @Hour_0330 INT -- 03:30
- DECLARE @Hour_0400 INT -- 04:00
- DECLARE @Hour_0430 INT -- 04:30
- DECLARE @Hour_0500 INT -- 05:00
- DECLARE @Hour_0530 INT -- 05:30
- DECLARE @Hour_0600 INT -- 06:00
- DECLARE @Hour_0630 INT -- 06:30
- DECLARE @Hour_0700 INT -- 07:00
- DECLARE @Hour_0730 INT -- 07:30
- DECLARE @Hour_0800 INT -- 08:00
- DECLARE @Hour_0830 INT -- 08:30
- DECLARE @Hour_0900 INT -- 09:00
- DECLARE @Hour_0930 INT -- 09:30
- DECLARE @Hour_1000 INT -- 10:00
- DECLARE @Hour_1030 INT -- 10:30
- DECLARE @Hour_1100 INT -- 11:00
- DECLARE @Hour_1130 INT -- 11:30
- DECLARE @Hour_1200 INT -- 12:00
- DECLARE @Hour_1230 INT -- 12:30
- DECLARE @Hour_1300 INT -- 13:00
- DECLARE @Hour_1330 INT -- 13:30
- DECLARE @Hour_1400 INT -- 14:00
- DECLARE @Hour_1430 INT -- 14:30
- DECLARE @Hour_1500 INT -- 15:00
- DECLARE @Hour_1530 INT -- 15:30
- DECLARE @Hour_1600 INT -- 16:00
- DECLARE @Hour_1630 INT -- 16:30
- DECLARE @Hour_1700 INT -- 17:00
- DECLARE @Hour_1730 INT -- 17:30
- DECLARE @Hour_1800 INT -- 18:00
- DECLARE @Hour_1830 INT -- 18:30
- DECLARE @Hour_1900 INT -- 19:00
- DECLARE @Hour_1930 INT -- 19:30
- DECLARE @Hour_2000 INT -- 20:00
- DECLARE @Hour_2030 INT -- 20:30
- DECLARE @Hour_2100 INT -- 21:00
- DECLARE @Hour_2130 INT -- 21:30
- DECLARE @Hour_2200 INT -- 22:00
- DECLARE @Hour_2230 INT -- 22:30
- DECLARE @Hour_2300 INT -- 23:00
- DECLARE @Hour_2330 INT -- 23:30
-
- --统计视频播放用户数
- SELECT
- @PlayUsers = COUNT(DISTINCT UserID)
- FROM
- [UserVideoLogHistory]
- WHERE
- Crdate >= DATEADD(MINUTE, -30, @CurrTime) AND Status = 1
-
- SET @Hour = DATEPART(HOUR, @CurrTime)
- SET @Min = DATEPART(MINUTE, @CurrTime)
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
- --分时段
- SELECT
- @Hour_0000 = CASE WHEN @Hour = 0 AND @Min < 30 THEN @PlayUsers ELSE 0 END,
- @Hour_0030 = CASE WHEN @Hour = 0 AND @Min >= 30 THEN @PlayUsers ELSE 0 END,
-
- @Hour_0100 = CASE WHEN @Hour = 1 AND @Min < 30 THEN @PlayUsers ELSE 0 END,
- @Hour_0130 = CASE WHEN @Hour = 1 AND @Min >= 30 THEN @PlayUsers ELSE 0 END,
-
- @Hour_0200 = CASE WHEN @Hour = 2 AND @Min < 30 THEN @PlayUsers ELSE 0 END,
- @Hour_0230 = CASE WHEN @Hour = 2 AND @Min >= 30 THEN @PlayUsers ELSE 0 END,
-
- @Hour_0300 = CASE WHEN @Hour = 3 AND @Min < 30 THEN @PlayUsers ELSE 0 END,
- @Hour_0330 = CASE WHEN @Hour = 3 AND @Min >= 30 THEN @PlayUsers ELSE 0 END,
-
- @Hour_0400 = CASE WHEN @Hour = 4 AND @Min < 30 THEN @PlayUsers ELSE 0 END,
- @Hour_0430 = CASE WHEN @Hour = 4 AND @Min >= 30 THEN @PlayUsers ELSE 0 END,
-
- @Hour_0500 = CASE WHEN @Hour = 5 AND @Min < 30 THEN @PlayUsers ELSE 0 END,
- @Hour_0530 = CASE WHEN @Hour = 5 AND @Min >= 30 THEN @PlayUsers ELSE 0 END,
-
- @Hour_0600 = CASE WHEN @Hour = 6 AND @Min < 30 THEN @PlayUsers ELSE 0 END,
- @Hour_0630 = CASE WHEN @Hour = 6 AND @Min >= 30 THEN @PlayUsers ELSE 0 END,
-
- @Hour_0700 = CASE WHEN @Hour = 7 AND @Min < 30 THEN @PlayUsers ELSE 0 END,
- @Hour_0730 = CASE WHEN @Hour = 7 AND @Min >= 30 THEN @PlayUsers ELSE 0 END,
-
- @Hour_0800 = CASE WHEN @Hour = 8 AND @Min < 30 THEN @PlayUsers ELSE 0 END,
- @Hour_0830 = CASE WHEN @Hour = 8 AND @Min >= 30 THEN @PlayUsers ELSE 0 END,
-
- @Hour_0900 = CASE WHEN @Hour = 9 AND @Min < 30 THEN @PlayUsers ELSE 0 END,
- @Hour_0930 = CASE WHEN @Hour = 9 AND @Min >= 30 THEN @PlayUsers ELSE 0 END,
-
- @Hour_1000 = CASE WHEN @Hour = 10 AND @Min < 30 THEN @PlayUsers ELSE 0 END,
- @Hour_1030 = CASE WHEN @Hour = 10 AND @Min >= 30 THEN @PlayUsers ELSE 0 END,
-
- @Hour_1100 = CASE WHEN @Hour = 11 AND @Min < 30 THEN @PlayUsers ELSE 0 END,
- @Hour_1130 = CASE WHEN @Hour = 11 AND @Min >= 30 THEN @PlayUsers ELSE 0 END,
-
- @Hour_1200 = CASE WHEN @Hour = 12 AND @Min < 30 THEN @PlayUsers ELSE 0 END,
- @Hour_1230 = CASE WHEN @Hour = 12 AND @Min >= 30 THEN @PlayUsers ELSE 0 END,
-
- @Hour_1300 = CASE WHEN @Hour = 13 AND @Min < 30 THEN @PlayUsers ELSE 0 END,
- @Hour_1330 = CASE WHEN @Hour = 13 AND @Min >= 30 THEN @PlayUsers ELSE 0 END,
-
- @Hour_1400 = CASE WHEN @Hour = 14 AND @Min < 30 THEN @PlayUsers ELSE 0 END,
- @Hour_1430 = CASE WHEN @Hour = 14 AND @Min >= 30 THEN @PlayUsers ELSE 0 END,
-
- @Hour_1500 = CASE WHEN @Hour = 15 AND @Min < 30 THEN @PlayUsers ELSE 0 END,
- @Hour_1530 = CASE WHEN @Hour = 15 AND @Min >= 30 THEN @PlayUsers ELSE 0 END,
-
- @Hour_1600 = CASE WHEN @Hour = 16 AND @Min < 30 THEN @PlayUsers ELSE 0 END,
- @Hour_1630 = CASE WHEN @Hour = 16 AND @Min >= 30 THEN @PlayUsers ELSE 0 END,
-
- @Hour_1700 = CASE WHEN @Hour = 17 AND @Min < 30 THEN @PlayUsers ELSE 0 END,
- @Hour_1730 = CASE WHEN @Hour = 17 AND @Min >= 30 THEN @PlayUsers ELSE 0 END,
-
- @Hour_1800 = CASE WHEN @Hour = 18 AND @Min < 30 THEN @PlayUsers ELSE 0 END,
- @Hour_1830 = CASE WHEN @Hour = 18 AND @Min >= 30 THEN @PlayUsers ELSE 0 END,
-
- @Hour_1900 = CASE WHEN @Hour = 19 AND @Min < 30 THEN @PlayUsers ELSE 0 END,
- @Hour_1930 = CASE WHEN @Hour = 19 AND @Min >= 30 THEN @PlayUsers ELSE 0 END,
-
- @Hour_2000 = CASE WHEN @Hour = 20 AND @Min < 30 THEN @PlayUsers ELSE 0 END,
- @Hour_2030 = CASE WHEN @Hour = 20 AND @Min >= 30 THEN @PlayUsers ELSE 0 END,
-
- @Hour_2100 = CASE WHEN @Hour = 21 AND @Min < 30 THEN @PlayUsers ELSE 0 END,
- @Hour_2130 = CASE WHEN @Hour = 21 AND @Min >= 30 THEN @PlayUsers ELSE 0 END,
-
- @Hour_2200 = CASE WHEN @Hour = 22 AND @Min < 30 THEN @PlayUsers ELSE 0 END,
- @Hour_2230 = CASE WHEN @Hour = 22 AND @Min >= 30 THEN @PlayUsers ELSE 0 END,
-
- @Hour_2300 = CASE WHEN @Hour = 23 AND @Min < 30 THEN @PlayUsers ELSE 0 END,
- @Hour_2330 = CASE WHEN @Hour = 23 AND @Min >= 30 THEN @PlayUsers ELSE 0 END
- --统计
- UPDATE
- [VideoUserStatMin]
- SET
- Hour_0000 = Hour_0000 + @Hour_0000, Hour_0030 = Hour_0030 + @Hour_0030,
- Hour_0100 = Hour_0100 + @Hour_0100, Hour_0130 = Hour_0130 + @Hour_0130,
- Hour_0200 = Hour_0200 + @Hour_0200, Hour_0230 = Hour_0230 + @Hour_0230,
- Hour_0300 = Hour_0300 + @Hour_0300, Hour_0330 = Hour_0330 + @Hour_0330,
- Hour_0400 = Hour_0400 + @Hour_0400, Hour_0430 = Hour_0430 + @Hour_0430,
- Hour_0500 = Hour_0500 + @Hour_0500, Hour_0530 = Hour_0530 + @Hour_0530,
- Hour_0600 = Hour_0600 + @Hour_0600, Hour_0630 = Hour_0630 + @Hour_0630,
- Hour_0700 = Hour_0700 + @Hour_0700, Hour_0730 = Hour_0730 + @Hour_0730,
- Hour_0800 = Hour_0800 + @Hour_0800, Hour_0830 = Hour_0830 + @Hour_0830,
- Hour_0900 = Hour_0900 + @Hour_0900, Hour_0930 = Hour_0930 + @Hour_0930,
- Hour_1000 = Hour_1000 + @Hour_1000, Hour_1030 = Hour_1030 + @Hour_1030,
- Hour_1100 = Hour_1100 + @Hour_1100, Hour_1130 = Hour_1130 + @Hour_1130,
- Hour_1200 = Hour_1200 + @Hour_1200, Hour_1230 = Hour_1230 + @Hour_1230,
- Hour_1300 = Hour_1300 + @Hour_1300, Hour_1330 = Hour_1330 + @Hour_1330,
- Hour_1400 = Hour_1400 + @Hour_1400, Hour_1430 = Hour_1430 + @Hour_1430,
- Hour_1500 = Hour_1500 + @Hour_1500, Hour_1530 = Hour_1530 + @Hour_1530,
- Hour_1600 = Hour_1600 + @Hour_1600, Hour_1630 = Hour_1630 + @Hour_1630,
- Hour_1700 = Hour_1700 + @Hour_1700, Hour_1730 = Hour_1730 + @Hour_1730,
- Hour_1800 = Hour_1800 + @Hour_1800, Hour_1830 = Hour_1830 + @Hour_1830,
- Hour_1900 = Hour_1900 + @Hour_1900, Hour_1930 = Hour_1930 + @Hour_1930,
- Hour_2000 = Hour_2000 + @Hour_2000, Hour_2030 = Hour_2030 + @Hour_2030,
- Hour_2100 = Hour_2100 + @Hour_2100, Hour_2130 = Hour_2130 + @Hour_2130,
- Hour_2200 = Hour_2200 + @Hour_2200, Hour_2230 = Hour_2230 + @Hour_2230,
- Hour_2300 = Hour_2300 + @Hour_2300, Hour_2330 = Hour_2330 + @Hour_2330
- WHERE
- DateFlag = @DateFlag
- --今天还没有
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [VideoUserStatMin]
- (
- DateFlag, Hour_0000, Hour_0030, Hour_0100, Hour_0130, Hour_0200, Hour_0230,
- Hour_0300, Hour_0330, Hour_0400, Hour_0430, Hour_0500, Hour_0530,
- Hour_0600, Hour_0630, Hour_0700, Hour_0730, Hour_0800, Hour_0830,
- Hour_0900, Hour_0930, Hour_1000, Hour_1030, Hour_1100, Hour_1130,
- Hour_1200, Hour_1230, Hour_1300, Hour_1330, Hour_1400, Hour_1430,
- Hour_1500, Hour_1530, Hour_1600, Hour_1630, Hour_1700, Hour_1730,
- Hour_1800, Hour_1830, Hour_1900, Hour_1930, Hour_2000, Hour_2030,
- Hour_2100, Hour_2130, Hour_2200, Hour_2230, Hour_2300, Hour_2330
- )
- VALUES
- (
- @DateFlag, @Hour_0000, @Hour_0030, @Hour_0100, @Hour_0130, @Hour_0200, @Hour_0230,
- @Hour_0300, @Hour_0330, @Hour_0400, @Hour_0430, @Hour_0500, @Hour_0530,
- @Hour_0600, @Hour_0630, @Hour_0700, @Hour_0730, @Hour_0800, @Hour_0830,
- @Hour_0900, @Hour_0930, @Hour_1000, @Hour_1030, @Hour_1100, @Hour_1130,
- @Hour_1200, @Hour_1230, @Hour_1300, @Hour_1330, @Hour_1400, @Hour_1430,
- @Hour_1500, @Hour_1530, @Hour_1600, @Hour_1630, @Hour_1700, @Hour_1730,
- @Hour_1800, @Hour_1830, @Hour_1900, @Hour_1930, @Hour_2000, @Hour_2030,
- @Hour_2100, @Hour_2130, @Hour_2200, @Hour_2230, @Hour_2300, @Hour_2330
- )
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[H5_AllUser_Register] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [H5_AllUser_Register]
- -- @IMei = '',
- -- @NickName = '',
- -- @PartnerID = 500,
- -- @Version = 0,
- -- @IPAddress = ''
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-03-13
- -- Mendor: wolf
- -- Alter Date: 2017-02-16
- -- Description: IMei号登陆
- -- ==============================================
- CREATE PROCEDURE [dbo].[H5_AllUser_Register]
- @IMei VARCHAR(64), --IMei
- @NickName NVARCHAR(32), --昵称
- @Sex TINYINT, --性别 0=默认(无) 1=男 2=女
- @FaceID SMALLINT, --头像ID
- @FaceUrl VARCHAR(1024), --头像地址
- @PartnerID INT, --渠道
- @Version INT, --版本
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --System当前时间
- DECLARE @Count SMALLINT --计数器
- DECLARE @RetCode INT --返回值
- DECLARE @Rnd INT --随机数
- DECLARE @UserID INT --用户ID
- DECLARE @NewNickName NVARCHAR(32) --新昵称
- DECLARE @EPassword VARCHAR(32) --MD5密文
- DECLARE @Msg NVARCHAR(256) --消息
- DECLARE @ErrMsg NVARCHAR(4000)
- DECLARE @SendAmount BIGINT --赠送
- DECLARE @ForbidTime DATETIME --封号时间
- DECLARE @DateFlag DATETIME --日期标识
- DECLARE @SysMsgID INT --系统消息ID
- DECLARE @TimeStamp INT
- DECLARE @Tools VARCHAR(32)
- DECLARE @Title NVARCHAR(32)
- DECLARE @BindFacebook INT --绑定赠送
- SET @CurrTime = GETDATE()
- SET @UserID = 0
- SET @RetCode = 0
- SET @ForbidTime = '2021-01-01'
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
- SET @SysMsgID = 0
- SET @TimeStamp = dbo.fn_TimeToStamp(@CurrTime)
- SET @NewNickName = ''
-
- --不是facebook账号
- IF(@IMei IS NULL OR (LEFT(@IMei, 3) != 'fb.' AND LEFT(@IMei, 3) != 'gg.'))
- BEGIN
- --操作成功
- SET @RetCode = 13
- SELECT @RetCode AS RetCode, @UserID AS UserID, @NewNickName AS NewNickName
- RETURN
- END
- --获取用户信息
- SELECT TOP 1
- @UserID = UserID, @NewNickName = NickName
- FROM
- [AllUser]
- WHERE
- IMei = @IMei
- ORDER BY
- PayMoney DESC, RegTime DESC
-
- IF(@UserID = 0)
- BEGIN
- SELECT TOP 1
- @UserID = UserID, @NewNickName = NickName
- FROM
- [AllUser]
- WHERE
- deviceid = @IMei
- ORDER BY
- PayMoney DESC, RegTime DESC
- END
-
- --当前有用户信息,直接返回
- IF(@UserID > 0)
- BEGIN
- --封杀时间
- SELECT @ForbidTime = EndTime FROM [ForbidUser] WHERE UserID = @UserID AND EndTime > @CurrTime
-
- --判断账号是否被封杀
- IF(@ForbidTime > @CurrTime)
- BEGIN
- SET @RetCode = -12
- SELECT @RetCode AS RetCode, @UserID AS UserID, @NewNickName AS NewNickName
- RETURN
- END
-
- --操作结果
- SET @RetCode = 1
- SELECT @RetCode AS RetCode, @UserID AS UserID, @NewNickName AS NewNickName
- RETURN
- END
-
- --在5分钟内限制同一个ip段只能注册2个用户,超过了则不让注册,提示:“当前网络繁忙,请稍后尝试”
- IF((SELECT COUNT(RegTime) FROM [AllUser] WHERE RegTime >= DATEADD(MINUTE, -5, @CurrTime) AND RegIP = @IPAddress) >= 5)
- BEGIN
- SET @RetCode = 13
- SELECT @RetCode AS RetCode, @UserID AS UserID, @NewNickName AS NewNickName
- RETURN
- END
-
- SET @Count = 0
-
- --遍历100次
- WHILE(@Count < 100)
- BEGIN
- --计数器+1
- SET @Count = @Count + 1
-
- --生成随机数
- EXEC [Game_Rand_GetRnd] @Min = 1000000, @Max = 99999999, @Rnd = @Rnd OUTPUT
-
- --判断是否存在
- IF NOT EXISTS(SELECT UserID FROM [UserIdentity] WHERE UserID = @Rnd)
- BEGIN
- --添加
- INSERT INTO [UserIdentity](UserID, IMei) VALUES(@Rnd, @IMei)
-
- --用户ID
- SET @UserID = @Rnd
-
- BREAK
- END
-
- SET @ErrMsg = N'H5注册游客生成帐号异常,UserID重复!关联的信息:@IMei=' + @IMei + ',@NickName=' + @NickName + ',@PartnerID=' + LTRIM(STR(@PartnerID)) +
- ',@Version=' + LTRIM(STR(@Version)) + ',@Count=' + LTRIM(STR(@Count))
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @IPAddress = @IPAddress, @Msg = @ErrMsg, @Type = 2
- END
-
- --生成随机数
- EXEC [Game_Rand_GetRnd] @Min = 100000, @Max = 999999, @Rnd = @Rnd OUTPUT
-
- --生成MD5密码
- SET @EPassword = dbo.fn_MD5(@Rnd)
-
- --昵称为空的情况
- IF(LEN(@NickName) <= 0)
- BEGIN
- SET @NickName = 'Guest' + LTRIM(STR(@UserID))
- END
-
- --新昵称(过滤特殊字符: ', <, >)
- SET @NickName = Replace(Replace(Replace(@NickName, '<', ''), '''', ''),'>','')
-
- --生成用户信息
- INSERT INTO [AllUser]
- (
- UserID, NickName, PartnerID, IMei, EPassword, RegTime, RegIP,
- LoginTime, IPAddress, PayMoney, deviceid, RegPartnerID, UserWords,
- DeviceName, Version
- )
- VALUES
- (
- @UserID, @NickName, @PartnerID, @IMei, @EPassword, @CurrTime, @IPAddress,
- @CurrTime, @IPAddress, 0, '', @PartnerID, '', '', @Version
- )
-
- --头像
- INSERT INTO [UserFace](UserID, FaceID, FaceUrl, Sex) VALUES(@UserID, @FaceID, @FaceUrl, @Sex)
-
- --新昵称
- SET @NewNickName = @NickName
-
- --赠送数量
- SELECT @SendAmount = RegGoldSend FROM [PlatformConfig] WHERE ConfigID = 1
- IF(@SendAmount > 0)
- BEGIN
- --加金豆
- EXEC [Game_Money_GiveMoney] @UserID = @UserID, @SourceName = 'Register', @GameID = 0, @WantedAmount = @SendAmount,
- @LogType = 5, @Remark = 'Visitor registration', @IPAddress = @IPAddress, @RetCode = @RetCode OUTPUT
- END
-
- --Facebook 账号注册赠送
- IF(LEFT(@IMei, 3) = 'fb.' OR LEFT(@IMei, 3) = 'gg.')
- BEGIN
- SELECT @BindFacebook = BindFacebook FROM [PlatformConfig] WHERE ConfigID = 1
-
- IF(@BindFacebook > 0)
- BEGIN
- EXEC [Game_Translate_Get] @Source = N'绑定账号奖励', @Target = @Title OUTPUT
- EXEC [Game_Translate_Get] @Source = N'恭喜您获得绑定账号奖励,请及时查收附件', @Target = @Msg OUTPUT
-
- --道具
- SET @Tools = '[{"ItemId":1,"Count":' + LTRIM(STR(@BindFacebook)) + '}]'
-
- --发送邮件
- EXEC [WS_SysMessage_Send] @UserID = @UserID, @Title = @Title, @Content = @Msg, @Status = 0,
- @SourceName = 'Facebook Register', @Crdate = @TimeStamp, @Tools = @Tools, @SysMsgID = @SysMsgID OUTPUT
- END
- END
-
- --生成新手登录任务
- INSERT INTO [NewUserGift]
- (
- UserID, DayIndex, Status, DateFlag
- )
- SELECT
- @UserID, DayIndex, 0, @DateFlag + (DayIndex - 1)
- FROM
- [NewGiftConfig]
- ORDER BY
- DayIndex ASC
-
- --操作成功
- SET @RetCode = 1
- SELECT @RetCode AS RetCode, @UserID AS UserID, @NewNickName AS NewNickName
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Job_Hour] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Job_Hour]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-07-18
- -- Mendor: wolf
- -- Alter Date: 2017-01-05
- -- Description: 每小时作业
- -- ==============================================
- CREATE PROCEDURE [dbo].[Job_Hour]
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @BeginTime DATETIME
- DECLARE @EndTime DATETIME
- DECLARE @Rid INT --标识
- DECLARE @OneRid INT
- DECLARE @UserID INT
- DECLARE @DateFlag SMALLDATETIME
- DECLARE @MaxLogID INT --日志ID
-
- DECLARE @tmptable TABLE(
- Rid INT IDENTITY,
- UserID INT NOT NULL
- )
-
- SET @CurrTime = GETDATE()
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
- SET @BeginTime = DATEADD(HOUR, -1, @CurrTime)
- SET @EndTime = @CurrTime
-
- --在线统计(元宝大厅)
- EXEC [Game_OnlineStatChip_Stat]
-
- --在线统计
- EXEC [Game_OnlineStat_Stat]
-
- --初始化表变量
- INSERT INTO @tmptable(
- UserID
- )
- SELECT
- DISTINCT UserID
- FROM
- [t_onlinelog]
- WHERE
- Crdate >= @BeginTime AND Crdate < @EndTime
-
- SET @Rid = 0
-
- WHILE(1=1)
- BEGIN
- SET @OneRid = @Rid
- SET @Rid = NULL
- SET @UserID = NULL
-
- SELECT TOP 1
- @Rid = Rid, @UserID = UserID
- FROM
- @tmptable
- WHERE
- Rid > @OneRid
- ORDER BY
- Rid ASC
- IF(@UserID IS NULL)
- BREAK
-
- IF(@UserID <= 0)
- CONTINUE
-
- --游戏行为统计
- EXEC [Game_UserBehavior_Stat] @UserID = @UserID, @BeginTime = @BeginTime, @EndTime = @EndTime
- END
-
- --凌晨0点
- IF(DATEPART(HOUR, @CurrTime) = 0)
- BEGIN
- --打点数据
- SET @MaxLogID = (SELECT MAX(Rid) FROM [UserDot] WHERE DateFlag < @DateFlag)
-
- IF(@MaxLogID > 0)
- BEGIN
- --打点数据
- INSERT INTO [UserDotHistory]
- (
- UserID, DateFlag, Scene, Event, Action, Times
- )
- SELECT
- UserID, DateFlag, Scene, Event, Action, Times
- FROM
- [UserDot]
- WHERE
- Rid <= @MaxLogID
-
- --清除
- DELETE FROM [UserDot] WHERE Rid <= @MaxLogID
- END
-
- --打点统计
- EXEC [Game_UserDot_Stat]
-
- --发行统计
- EXEC [Game_Issue_Stat]
-
- --时段统计
- EXEC [Game_TimePeriod_Stat]
-
- --推广渠道分析
- EXEC [Game_NewUserStat_Stat] @CurrTime = @CurrTime
-
- --留存统计
- EXEC [Game_LiveStat_Stat] @CurrTime = @CurrTime
-
- --登陆统计
- EXEC [Game_UserLoginLog_Stat]
-
- --日常统计
- EXEC [Game_DailyStat_Stat]
-
- --游戏日常统计
- EXEC [Game_GameDailyStat_Stat]
-
- --游戏日报统计
- EXEC [Game_DailyReport_Stat] @CurrTime = @CurrTime
-
- --挑战赛统计
- EXEC [Game_SNGMatchReport_Stat] @CurrTime = @CurrTime
-
- --游戏报表
- EXEC [Game_GameReport_Stat] @CurrTime = @CurrTime
-
- --标签留存统计
- EXEC [Game_LabelLiveStat_Stat]
-
- --留存统计(分类)
- EXEC [Game_RetentionStat_Stat]
- END
-
- --凌晨3点
- IF(DATEPART(HOUR, @CurrTime) = 3)
- BEGIN
- --玩牌统计
- EXEC [Game_CardStat_Stat]
-
- --游戏中途退出统计
- EXEC [Game_MidwayStat_Stat]
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Job_Minute] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Job_Minute]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-07-18
- -- Mendor: wolf
- -- Alter Date: 2017-01-05
- -- Description: 每分钟作业
- -- ==============================================
- CREATE PROCEDURE [dbo].[Job_Minute]
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @DateFlag SMALLDATETIME --系统当前时间
- DECLARE @Min INT --分钟
- DECLARE @Hour INT --小时
- DECLARE @MaxLogID INT --日志ID
- DECLARE @MonthFlag SMALLDATETIME --月标志
- DECLARE @LastMonthFlag SMALLDATETIME --月标志
- DECLARE @MaxBattleRID INT --战绩日志ID
- DECLARE @MaxRecordID INT --分数集日志ID
- DECLARE @MaxTime DATETIME --时间
- SET @CurrTime = GETDATE()
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
- SET @Min = DATEPART(MINUTE, @CurrTime)
- SET @Hour = DATEPART(HOUR, @CurrTime)
-
- --游戏记录ID
- SET @MaxTime = (SELECT MAX(BetTime) FROM [BetInfo])
- IF(@MaxTime IS NOT NULL)
- BEGIN
- INSERT INTO [BetInfoHistory]
- (
- RecordID, UserID, GameID, TransType, BetAmount, BetTime, BetZone, Odds, ResultAmount, ResultTime, ResultZone,
- Tax, StillAmount, Status
- )
- SELECT
- RecordID, UserID, GameID, TransType, BetAmount, BetTime, BetZone, Odds, ResultAmount, ResultTime, ResultZone,
- Tax, StillAmount, Status
- FROM
- [BetInfo]
- WHERE
- BetTime <= @MaxTime
- --清理游戏记录
- DELETE FROM [BetInfo] WHERE BetTime <= @MaxTime
- END
-
- --游戏记录ID
- SET @MaxTime = (SELECT MAX(BetTime) FROM [ChipBetInfo])
- IF(@MaxTime IS NOT NULL)
- BEGIN
- INSERT INTO [ChipBetInfoHistory]
- (
- RecordID, UserID, GameID, TransType, BetAmount, BetTime, BetZone, Odds, ResultAmount, ResultTime, ResultZone,
- Tax, StillAmount, Status
- )
- SELECT
- RecordID, UserID, GameID, TransType, BetAmount, BetTime, BetZone, Odds, ResultAmount, ResultTime, ResultZone,
- Tax, StillAmount, Status
- FROM
- [ChipBetInfo]
- WHERE
- BetTime <= @MaxTime
- --清理游戏记录
- DELETE FROM [ChipBetInfo] WHERE BetTime <= @MaxTime
- END
-
- --每2分钟
- IF(@Min % 2 = 0)
- BEGIN
- --最大记录时间
- SET @MaxTime = (SELECT MAX(ResultTime) FROM [Bet] WHERE Status >= 2)
- IF(@MaxTime IS NOT NULL)
- BEGIN
- INSERT INTO [BetInfo]
- (
- RecordID, UserID, GameID, TransType, BetAmount, BetTime, BetZone, Odds, ResultAmount, ResultTime, ResultZone,
- Tax, StillAmount, Status
- )
- SELECT
- RecordID, UserID, GameID, TransType, BetAmount, BetTime, BetZone, Odds, ResultAmount, ResultTime, ResultZone,
- Tax, StillAmount, Status
- FROM
- [Bet]
- WHERE
- BetTime <= @MaxTime AND Status >= 2
- --清理游戏记录
- DELETE FROM [Bet] WHERE BetTime <= @MaxTime AND Status >= 2
- END
-
- --最大记录时间
- SET @MaxTime = (SELECT MAX(ResultTime) FROM [ChipBet] WHERE Status >= 2)
- IF(@MaxTime IS NOT NULL)
- BEGIN
- INSERT INTO [ChipBetInfo]
- (
- RecordID, UserID, GameID, TransType, BetAmount, BetTime, BetZone, Odds, ResultAmount, ResultTime, ResultZone,
- Tax, StillAmount, Status
- )
- SELECT
- RecordID, UserID, GameID, TransType, BetAmount, BetTime, BetZone, Odds, ResultAmount, ResultTime, ResultZone,
- Tax, StillAmount, Status
- FROM
- [ChipBet]
- WHERE
- BetTime <= @MaxTime AND Status >= 2
- --清理游戏记录
- DELETE FROM [ChipBet] WHERE BetTime <= @MaxTime AND Status >= 2
- END
-
- --登陆日志
- SET @MaxLogID = (SELECT MAX(LogID) FROM [UserLoginLog])
-
- IF(@MaxLogID > 0)
- BEGIN
- --登陆日志
- INSERT INTO [UserLoginLog_bak]
- (
- LogID, UserID, IMei, PartnerID, Version, LoginType, IPAddress, Crdate, DeviceName
- )
- SELECT
- LogID, UserID, IMei, PartnerID, Version, LoginType, IPAddress, Crdate, DeviceName
- FROM
- [UserLoginLog]
- WHERE
- LogID <= @MaxLogID
-
- --清除日志
- DELETE FROM [UserLoginLog] WHERE LogID <= @MaxLogID
- END
- END
-
- --每10分钟左右
- IF(@Min % 10 = 0)
- BEGIN
- --富豪排行榜
- --EXEC [Game_Rank_SortTotalAmount]
-
- --排行榜
- EXEC [Game_Rank_Sort] @CurrTime = @CurrTime
-
- --清除机器人锁
- DELETE FROM MachineUserLock
-
- --充值统计
- EXEC [Game_PayStat_Stat]
-
- --注册统计
- EXEC [Game_RegStat_Stat]
-
- --游戏记录
- SET @MaxLogID = (SELECT MAX(Rid) FROM [GameData])
-
- IF(@MaxLogID > 0)
- BEGIN
- INSERT INTO [GameDataHistory]
- (
- Rid, UserID, GameID, RoomName, RoomData, Crdate
- )
- SELECT
- Rid, UserID, GameID, RoomName, RoomData, Crdate
- FROM
- [GameData]
- WHERE
- Rid <= @MaxLogID
-
- --清除
- DELETE FROM [GameData] WHERE Rid <= @MaxLogID
- END
-
- --足迹
- SELECT @MaxLogID = (SELECT MAX(Rid) FROM [UserTrack])
-
- IF(@MaxLogID > 0)
- BEGIN
- INSERT INTO [UserTrackHistory]
- (
- Rid, UserID, Level_1, Level_2, Level_3, Crdate
- )
- SELECT
- Rid, UserID, Level_1, Level_2, Level_3, Crdate
- FROM
- [UserTrack]
- WHERE
- Rid <= @MaxLogID
-
- --清除
- DELETE FROM [UserTrack] WHERE Rid <= @MaxLogID
- END
-
- --视频广告记录
- SELECT @MaxLogID = (SELECT MAX(Rid) FROM [UserVideoLog] WHERE Crdate < @CurrTime)
-
- IF(@MaxLogID > 0)
- BEGIN
- INSERT INTO [UserVideoLogHistory]
- (
- Rid, VideoName, UserID, ModuleName, Status, Amount, Crdate
- )
- SELECT
- Rid, VideoName, UserID, ModuleName, Status, Amount, Crdate
- FROM
- [UserVideoLog]
- WHERE
- Rid <= @MaxLogID
-
- --清除
- DELETE FROM [UserVideoLog] WHERE Rid <= @MaxLogID
- END
-
- --金币日志ID
- SET @MaxLogID = (SELECT MAX(LogID) FROM [MoneyLog])
-
- IF(@MaxLogID > 0)
- BEGIN
- --游戏金币流量统计
- --EXEC [Game_MoneyFlow_Stat] @MoneyLogID = @MaxLogID
-
- INSERT INTO [MoneyLog_bak]
- (
- LogID, SourceName, GameID, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- TaxAmount, Remark, IPAddress, Crdate, LogType
- )
- SELECT
- LogID, SourceName, GameID, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- TaxAmount, Remark, IPAddress, Crdate, LogType
- FROM
- [MoneyLog]
- WHERE
- LogID <= @MaxLogID
-
- --清除日志
- DELETE FROM [MoneyLog] WHERE LogID <= @MaxLogID
- END
-
- --佣金日志
- SET @MaxLogID = (SELECT MAX(Rid) FROM [CommissionLog])
-
- IF(@MaxLogID > 0)
- BEGIN
- INSERT INTO [CommissionLogHistory]
- (
- Rid, UserID, GameID, FromUserID, Tax, WantCommission,
- StillCommission, Direct, Memo, Crdate
- )
- SELECT
- Rid, UserID, GameID, FromUserID, Tax, WantCommission,
- StillCommission, Direct, Memo, Crdate
- FROM
- [CommissionLog]
- WHERE
- Rid <= @MaxLogID
-
- --清除日志
- DELETE FROM [CommissionLog] WHERE Rid <= @MaxLogID
- END
-
- --金币日志ID
- SET @MaxLogID = (SELECT MAX(LogID) FROM [ChipLog])
-
- IF(@MaxLogID > 0)
- BEGIN
- INSERT INTO [ChipLog_bak]
- (
- LogID, SourceName, GameID, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- TaxAmount, Remark, IPAddress, Crdate, LogType
- )
- SELECT
- LogID, SourceName, GameID, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- TaxAmount, Remark, IPAddress, Crdate, LogType
- FROM
- [ChipLog]
- WHERE
- LogID <= @MaxLogID
-
- --清除日志
- DELETE FROM [ChipLog] WHERE LogID <= @MaxLogID
- END
- END
-
- --每30分钟执行一次
- IF(@Min IN (0, 30))
- BEGIN
- --每隔30分钟统计金币总量
- EXEC [Game_MoneyStat_Total]
-
- --每隔30分钟统计筹码总量
- EXEC [Game_ChipStat_Total]
-
- --每小时清理在线
- DELETE FROM [t_OnlineUser] WHERE LoginTime <= DATEADD(MINUTE, -30, @CurrTime)
-
- --在线统计(元宝大厅)
- EXEC [Game_OnlineUserChip_Stat] @CurrTime = @CurrTime
-
- --同时在线统计
- EXEC [Game_OnlineUser_Stat] @CurrTime = @CurrTime
-
- --视频用户统计
- EXEC [Game_VideoUser_Stat] @CurrTime = @CurrTime
- END
-
- --整点作业
- IF(@Min = 0)
- BEGIN
- --凌晨0点作业
- IF(@Hour = 0)
- BEGIN
- --红包券统计
- EXEC [Game_CouponTask_Stat]
-
- --移动数据
- INSERT INTO [ChipSendLogHistory]
- (
- Rid, DateFlag, UserID, Amount
- )
- SELECT
- Rid, DateFlag, UserID, Amount
- FROM
- [ChipSendLog]
- WHERE
- DateFlag < @DateFlag AND IsShow = 1
-
- --清理数据
- DELETE FROM [ChipSendLog] WHERE DateFlag < @DateFlag AND IsShow = 1
- END
- --每天8点
- IF(@Hour = 8)
- BEGIN
- --用户视频统计
- SET @MaxLogID = (SELECT MAX(Rid) FROM [UserVideoStat] WHERE DateFlag < @DateFlag)
-
- IF(@MaxLogID > 0)
- BEGIN
- --用户视频统计
- INSERT INTO [UserVideoStatHistory]
- (
- Rid, DateFlag, UserID, PartnerID, VideoName, ModuleName, ReqTimes, PlayTimes, UnPlayTimes, Amount
- )
- SELECT
- Rid, DateFlag, UserID, PartnerID, VideoName, ModuleName, ReqTimes, PlayTimes, UnPlayTimes, Amount
- FROM
- [UserVideoStat]
- WHERE
- Rid <= @MaxLogID
-
- --清除日志
- DELETE FROM [UserVideoStat] WHERE Rid <= @MaxLogID
- END
-
- --游戏轨迹统计
- SET @MaxLogID = (SELECT MAX(Rid) FROM [UserTrackStat] WHERE DateFlag < @DateFlag)
-
- IF(@MaxLogID > 0)
- BEGIN
- INSERT INTO [UserTrackStatHistory]
- (
- Rid, DateFlag, UserID, Level_1, Level_2, Level_3, Times
- )
- SELECT
- Rid, DateFlag, UserID, Level_1, Level_2, Level_3, Times
- FROM
- [UserTrackStat]
- WHERE
- Rid <= @MaxLogID
-
- --清除日志
- DELETE FROM [UserTrackStat] WHERE Rid <= @MaxLogID
- END
-
- --每月8号清理日志
- IF(DATEPART(DAY, @CurrTime) = 8)
- BEGIN
- --计算月标志
- SET @MonthFlag = CONVERT(CHAR(8), @CurrTime, 120) + '01'
-
- --金币日志
- DELETE FROM [MoneyLog_bak] WHERE Crdate < @MonthFlag
-
- --游戏记录
- DELETE FROM [BetInfoHistory] WHERE BetTime < @MonthFlag
-
- --清除登陆日志
- DELETE FROM [UserLoginLog_bak] WHERE Crdate < @MonthFlag
- --前一个月
- SET @LastMonthFlag = DATEADD(MONTH, -1, @MonthFlag)
- --系统消息
- DELETE FROM [SysMessage] WHERE Crdate <= @LastMonthFlag
- END
-
- --清理过期在线日志
- DELETE FROM [t_onlinelog] WHERE Crdate < @DateFlag - 1
- END
- END
-
- --最耗时的统计放最后
- IF(@Min IN (0, 30))
- BEGIN
- --视频统计
- EXEC [Game_VideoStat_Stat] @CurrTime = @CurrTime
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AdminRole_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AdminRole_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2013-07-09
- -- Mendor: wolf
- -- Alter Date: 2013-07-09
- -- Description: 获取系统角色列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_AdminRole_GetList]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息:角色ID(AdminRoleID)(int)、角色名称(AdminRoleName)(varchar(32))
- SELECT
- RoleID, RoleName
- FROM
- [Role]
- ORDER BY
- RoleID ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AdminRole_GetListByAdmin] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AdminRole_GetListByAdmin]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2013-07-10
- -- Mendor: wolf
- -- Alter Date: 2013-07-10
- -- Description: 获取用户角色列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_AdminRole_GetListByAdmin]
- @AdminUserID INT --管理用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息:角色ID(AdminRoleID)(int)、角色名称(AdminRoleName)(varchar(32))、管理员ID(AdminUserID)(int)
- SELECT
- r.RoleID, r.RoleName, ISNULL(ru.AdminUserID, 0) AS AdminUserID
- FROM
- [Role] r LEFT JOIN [RoleUser] ru ON r.RoleID = ru.RoleID AND ru.AdminUserID = @AdminUserID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AdminRole_GetPageList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @AdminRoleName VARCHAR(32)
- -- EXEC [Manage_AdminRole_GetPageList]
- -- @AdminRoleID = 0,
- -- @AdminRoleName = @AdminRoleName OUTPUT
- -- SELECT @AdminRoleName AS AdminRoleName
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2013-07-09
- -- Mendor: wolf
- -- Alter Date: 2013-07-10
- -- Description: 获取角色页面列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_AdminRole_GetPageList]
- @AdminRoleID INT, --角色ID
- @AdminRoleName NVARCHAR(32) OUTPUT --角色名称
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --角色名称
- SET @AdminRoleName = (SELECT RoleName FROM [Role] WHERE RoleID = @AdminRoleID)
- --返回信息:角色ID(AdminRoleID)(int)、管理页ID(AdminPageID)(int)、管理页名称(PageName)(varchar(32))
- SELECT
- ISNULL(arp.RoleID, 0) AS AdminRoleID, ap.AdminPageID, ap.PageName
- FROM
- [AdminPage] ap LEFT JOIN [RolePage] arp ON ap.AdminPageID = arp.PageID AND arp.RoleID = @AdminRoleID
- ORDER BY
- ap.AdminPageID ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AdminRole_SetPage] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AdminRole_SetPage]
- -- @OpUserID = 10001,
- -- @OpUserName = '',
- -- @AdminRoleID = 1,
- -- @AdminPageIDs = '1,2,3,',
- -- @IPAddress = '192.168.0.1'
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2013-07-10
- -- Mendor: wolf
- -- Alter Date: 2015-12-14
- -- Description: 后台管理--设置页面
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_AdminRole_SetPage]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @AdminRoleID INT, --管理角色ID
- @AdminPageIDs VARCHAR(MAX), --页面ID集(格式如:1,2,3,)
- @IPAddress VARCHAR(15) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartIndex INT --起始索引
- DECLARE @EndIndex INT --截止索引
- DECLARE @AdminPageID INT --管理页面ID
- DECLARE @PageList NVARCHAR(4000) --页列表
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @AdminRoleName NVARCHAR(32) --管理角色名称
- --申请表变量
- DECLARE @tmptable TABLE(
- PageID INT NOT NULL,
- PageName NVARCHAR(32) NOT NULL
- )
- SET @StartIndex = 0
- SET @EndIndex = 0
- WHILE(1=1)
- BEGIN
- --截止索引
- SET @EndIndex = CHARINDEX(',', @AdminPageIDs, @StartIndex)
- IF(@EndIndex <= 0)
- BREAK
- --管理页面ID
- SET @AdminPageID = CAST(SUBSTRING(@AdminPageIDs, @StartIndex, @EndIndex - @StartIndex) AS INT)
- --初始化表变量
- INSERT INTO @tmptable(PageID, PageName) VALUES(@AdminPageID, '')
- --起始索引
- SET @StartIndex = @EndIndex + 1
- END
- --删除当前管理角色的所有页面
- DELETE FROM [RolePage] WHERE RoleID = @AdminRoleID
- --添加新权限
- INSERT INTO [RolePage]
- (
- RoleID, PageID
- )
- SELECT
- @AdminRoleID, PageID
- FROM
- @tmptable
- --页面名称
- UPDATE t SET t.PageName = ap.PageName FROM @tmptable t INNER JOIN [AdminPage] ap on t.PageID = ap.AdminPageID
- --管理角色名称
- SET @AdminRoleName = (SELECT RoleName FROM [Role] WHERE RoleID = @AdminRoleID)
- SET @Msg = 'Give role to(' + @AdminRoleName + ')Setting permissions'
- --有页面
- IF(@StartIndex > 0)
- BEGIN
- SET @Msg = @Msg + ' Current permissions:'
- SET @PageList = ''
- --页面名称
- SELECT @PageList = @PageList + ',' + PageName FROM @tmptable
- SET @Msg = @Msg + STUFF(@PageList, 1, 1, '')
- END
- ELSE
- BEGIN
- SET @Msg = @Msg + ' all permissions removed'
- END
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName,
- @IPAddress = @IPAddress, @Msg = @Msg
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AdminUser_Add] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RetCode TINYINT
- -- EXEC [Manage_AdminUser_Add]
- -- @OpUserID = 0,
- -- @OpUserName = '',
- -- @AdminUserName = '',
- -- @LoginPassword = '',
- -- @RetCode = @RetCode OUTPUT
- -- SELECT @RetCode AS RetCode
- -- =============================================
- -- Author: wolf
- -- Create Date: 2012-05-21
- -- Mendor: wolf
- -- Alter Date: 2012-05-29
- -- Description: 游戏后台--添加管理用户
- -- =============================================
- CREATE PROCEDURE [dbo].[Manage_AdminUser_Add]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @AdminUserName VARCHAR(32), --管理员用户名
- @LoginPassword VARCHAR(32), --登录密码(MD5加密)
- @IPAddress VARCHAR(16), --IP地址
- @RetCode TINYINT OUTPUT --操作结果
- --1:操作成功
- --数据库:11:用户名已经存在
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @Msg VARCHAR(1024) --操作描述
-
- SET @RetCode = 1
- SET @CurrTime = GETDATE()
-
- --判断用户是否存在
- IF EXISTS(SELECT AdminUserName FROM [AdminUser] WHERE AdminUserName = @AdminUserName)
- BEGIN
- SET @RetCode = 11
-
- SET @Msg = 'Add management account(' + @AdminUserName + ')failed because the account alreday exists'
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress
-
- RETURN
- END
-
- --添加用户
- INSERT INTO [AdminUser]
- (
- AdminUserName, LoginPassword, FailureTimes, UpdateTime, Crdate, Memo, IPAddress
- )
- VALUES
- (
- @AdminUserName, @LoginPassword, 0, @CurrTime, @CurrTime, '', @IPAddress
- )
-
- SET @Msg = 'Successfully add management account(' + @AdminUserName + '),Account number ID(' + LTRIM(STR(@@IDENTITY)) + ')'
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AdminUser_Del] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RetCode TINYINT
- -- EXEC [Manage_AdminUser_Del]
- -- @OpUserID = 0,
- -- @OpUserName = '',
- -- @AdminUserName = '',
- -- @IPAddress = '',
- -- @RetCode = @RetCode OUTPUT
- -- SELECT @RetCode AS RetCode
- -- =============================================
- -- Author: wolf
- -- Create Date: 2012-05-21
- -- Mendor: wolf
- -- Alter Date: 2012-05-24
- -- Description: 后台管理,删除后台管理用户
- -- =============================================
- CREATE PROCEDURE [dbo].[Manage_AdminUser_Del]
- @OpUserID INT, --操作用户ID
- @OpUserName VARCHAR(32), --操作用户名
- @AdminUserName VARCHAR(32), --管理用户名
- @IPAddress VARCHAR(15), --IP地址
- @RetCode TINYINT OUTPUT --操作结果
- --1:操作成功
- --数据库:11:操作失败
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @AdminUserID INT --后台用户ID
-
- SET @RetCode = 1
-
- --后台用户ID
- SELECT @AdminUserID = AdminUserID FROM [AdminUser] WHERE AdminUserName = @AdminUserName
-
- --1001属于系统管理员,不能删除
- IF(@AdminUserID IS NULL OR @AdminUserID = 10001)
- BEGIN
- SET @RetCode = 11
- RETURN
- END
-
- --删除管理用户
- DELETE FROM [AdminUser] WHERE AdminUserName = @AdminUserName
-
- --删除角色用户
- DELETE FROM [RoleUser] WHERE AdminUserID = @AdminUserID
-
- DECLARE @Msg VARCHAR(1024)
-
- SET @Msg = 'Delete administrator(' + @AdminUserName + ')'
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName,
- @IPAddress = @IPAddress, @Msg = @Msg
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AdminUser_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AdminUser_GetInfo]
- -- @AdminUserID = 1
- -- =============================================
- -- Author: wolf
- -- Create Date: 2013-06-18
- -- Mendor: wolf
- -- Alter Date: 2015-09-17
- -- Description: 后台管理--获取管理用户信息
- -- =============================================
- CREATE PROCEDURE [dbo].[Manage_AdminUser_GetInfo]
- @AdminUserID INT --管理ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @AdminUserName VARCHAR(32) --后台管理用户
- DECLARE @IPAddress VARCHAR(16) --IP地址
- DECLARE @FailureTimes TINYINT --失败次数
- DECLARE @UpdateTime DATETIME --更新时间
- DECLARE @Crdate DATETIME --创建时间
- DECLARE @RoleNames NVARCHAR(256) --角色名称集
- SET @RoleNames = ''
- --后台管理用户相关信息
- SELECT
- @AdminUserName = AdminUserName, @IPAddress = IPAddress, @FailureTimes = FailureTimes,
- @UpdateTime = UpdateTime, @Crdate = Crdate
- FROM
- [AdminUser]
- WHERE
- AdminUserID = @AdminUserID
-
- --用户不存在
- IF(@@ROWCOUNT = 0)
- BEGIN
- --返回信息:管理用户ID(AdminUserID)、IP地址(IPAddress)、失败次数(FailureTimes)、更新时间(UpdateTime)、
- -- 创建时间(Crdate)、所属角色(RoleName)
- SELECT @AdminUserID AS AdminUserID, @IPAddress AS IPAddress, @FailureTimes AS FailureTimes,
- @UpdateTime AS UpdateTime, @Crdate AS Crdate, @RoleNames AS RoleNames
- RETURN
- END
- --角色名称集
- SELECT
- @RoleNames = @RoleNames + RoleName + ','
- FROM
- [Role]
- WHERE
- RoleID IN (SELECT RoleID FROM [RoleUser] WHERE AdminUserID = @AdminUserID)
- --返回信息:管理用户ID(AdminUserID)、IP地址(IPAddress)、失败次数(FailureTimes)、更新时间(UpdateTime)、
- -- 创建时间(Crdate)、所属角色(RoleName)
- SELECT @AdminUserID AS AdminUserID, @IPAddress AS IPAddress, @FailureTimes AS FailureTimes,
- @UpdateTime AS UpdateTime, @Crdate AS Crdate, @RoleNames AS RoleNames
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AdminUser_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AdminUser_GetList]
- -- =============================================
- -- Author: wolf
- -- Create Date: 2012-05-21
- -- Mendor: wolf
- -- Alter Date: 2012-05-29
- -- Description: 后台管理--获取后台管理用户列表
- -- =============================================
- CREATE PROCEDURE [dbo].[Manage_AdminUser_GetList]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息:管理用户ID(AdminUserID)、管理用户名(AdminUserName)、IP地址(IPAddress)、是否绑定IP(IsFixIP)、
- -- 失败次数(FailureTimes)、更新时间(UpdateTime)、备注(Memo)、创建时间(Crdate)
- SELECT
- AdminUserID, AdminUserName, IPAddress, FailureTimes,
- CONVERT(VARCHAR(20), UpdateTime, 120) AS UpdateTime, Memo,
- CONVERT(VARCHAR(20), Crdate, 120) AS Crdate
- FROM
- [AdminUser]
- ORDER BY
- AdminUserID DESC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AdminUser_GetLogList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RecordCount INT
- -- EXEC [Manage_AdminUser_GetLogList]
- -- @AdminUserID = 0,
- -- @StartTime = '',
- -- @EndTime = '',
- -- @PageIndex = 1,
- -- @PageSize = 10,
- -- @RecordCount = @RecordCount OUTPUT
- -- SELECT @RecordCount AS RecordCount
- -- =============================================
- -- Author: wolf
- -- Create Date: 2012-05-24
- -- Mendor: wolf
- -- Alter Date: 2014-07-23
- -- Description: 后台管理--操作日志
- -- =============================================
- CREATE PROCEDURE [dbo].[Manage_AdminUser_GetLogList]
- @AdminUserID INT, --管理员ID
- @StartTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT = 1, --页索引
- @PageSize INT = 10, --页大小
- @RecordCount INT OUTPUT --总记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始索引
- DECLARE @EndRowIndex INT --终止索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --创建临时表
- CREATE TABLE #tmpLog
- (
- AdminLogID INT NOT NULL,
- AdminUserID INT NOT NULL,
- AdminUserName VARCHAR(32) NOT NULL,
- IPAddress VARCHAR(15) NOT NULL,
- Msg NVARCHAR(4000) NOT NULL,
- Crdate DATETIME NOT NULL
- )
-
- --查询某个管理员日志
- IF(@AdminUserID > 0)
- BEGIN
- INSERT INTO #tmpLog
- (
- AdminLogID, AdminUserID, AdminUserName, IPAddress, Msg, Crdate
- )
- SELECT
- AdminLogID, AdminUserID, AdminUserName, IPAddress, Msg, Crdate
- FROM
- [AdminLog]
- WHERE
- AdminUserID = @AdminUserID AND Crdate BETWEEN @StartTime AND @EndTime
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
- END
-
- --查询所有管理员日志
- ELSE
- BEGIN
- INSERT INTO #tmpLog
- (
- AdminLogID, AdminUserID, AdminUserName, IPAddress, Msg, Crdate
- )
- SELECT
- AdminLogID, AdminUserID, AdminUserName, IPAddress, Msg, Crdate
- FROM
- [AdminLog]
- WHERE
- Crdate BETWEEN @StartTime AND @EndTime
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
- END
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY AdminLogID DESC) AS RowNumber,
- AdminLogID, AdminUserID, AdminUserName, IPAddress, Msg, Crdate
- FROM
- #tmpLog
- )
-
- --返回信息:日志ID(AdminLogID)、管理员ID(AdminUserID)、管理员名称(AdminUserName)、
- -- IP地址(IPAddress)、消息(Msg)、创建时间(Crdate)
- SELECT
- AdminLogID, AdminUserID, AdminUserName, IPAddress, Msg,
- CONVERT(CHAR(20), Crdate, 120) AS Crdate
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- --删除临时表
- DROP TABLE #tmpLog
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AdminUser_GetPageList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RetCode TINYINT
- -- EXEC [Manage_AdminUser_GetPageList]
- -- @AdminUserName = '',
- -- @RetCode = @RetCode OUTPUT
- -- SELECT @RetCode AS RetCode
- -- =============================================
- -- Author: wolf
- -- Create Date: 2013-06-18
- -- Mendor: wolf
- -- Alter Date: 2016-11-24
- -- Description: 后台管理--获取页面列表
- -- =============================================
- CREATE PROCEDURE [dbo].[Manage_AdminUser_GetPageList]
- @AdminUserID INT, --后台用户ID
- @RetCode TINYINT OUTPUT --操作结果
- --1:操作成功
- --数据库:11:第1次登录,需要修改密码
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @UpdateTime DATETIME --更新时间
- DECLARE @Crdate DATETIME --创建时间
- SET @RetCode = 1
- --后台用户ID、更新时间、创建时间
- SELECT
- @UpdateTime = UpdateTime, @Crdate = Crdate
- FROM
- [AdminUser]
- WHERE
- AdminUserID = @AdminUserID
- --判断是否已经修改密码
- IF(@UpdateTime = @Crdate)
- BEGIN
- SET @RetCode = 11
- RETURN
- END
- --返回信息:页面ID(AdminPageID)、页面名称(PageName)、页面路径(PageUrl)
- SELECT DISTINCT
- arp.PageID, ap.PageName AS PageName, ap.PageUrl, ap.IsMenu
- FROM
- [RoleUser] ru INNER JOIN [Role] r ON ru.RoleID = r.RoleID
- INNER JOIN [RolePage] arp ON arp.RoleID = r.RoleID
- INNER JOIN [AdminPage] ap ON ap.AdminPageID = arp.PageID
- WHERE
- ru.AdminUserID = @AdminUserID AND ap.IsMenu >= 1
- ORDER BY
- arp.PageID ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AdminUser_GetPassword] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AdminUser_GetPassword]
- -- =============================================
- -- Author: wolf
- -- Create Date: 2012-05-21
- -- Mendor: wolf
- -- Alter Date: 2012-05-29
- -- Description: 后台管理--获取后台登录密码
- -- =============================================
- CREATE PROCEDURE [dbo].[Manage_AdminUser_GetPassword]
- @AdminUserName VARCHAR(32), --账号名称
- @IPAddress VARCHAR(16), --IP地址
- @AdminUserID INT OUTPUT, --后台账号ID
- @LoginPassword VARCHAR(32) OUTPUT --登录密码(MD5加密)
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --消息
- DECLARE @UpdateTime DATETIME --更新时间
- DECLARE @Crdate DATETIME --创建时间
-
- SET @AdminUserID = 0
- SET @LoginPassword = ''
- SET @UpdateTime = GETDATE()
- SET @Crdate = @UpdateTime
-
- --获取登录密码
- SELECT
- @AdminUserID = AdminUserID, @LoginPassword = LoginPassword, @UpdateTime = UpdateTime,
- @Crdate = Crdate
- FROM
- [AdminUser]
- WHERE
- AdminUserName = @AdminUserName
-
- --账号不存在
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @Msg = N'SSO单点登录失败,账号不存在'
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @AdminUserID, @OpUserName = @AdminUserName, @IPAddress = @IPAddress, @Msg = @Msg
-
- RETURN
- END
-
- --未修改过密码
- IF(@UpdateTime = @Crdate)
- BEGIN
- SET @LoginPassword = ''
- SET @Msg = N'SSO单点登录失败,需修改密码'
- END
- ELSE
- BEGIN
- SET @Msg = N'SSO单点登录成功,获取后台账号信息'
- END
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @AdminUserID, @OpUserName = @AdminUserName, @IPAddress = @IPAddress, @Msg = @Msg
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AdminUser_Login] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RetCode TINYINT
- -- DECLARE @CurrAdminUserID INT
- -- DECLARE @CurrAdminUserName VARCHAR(32)
- -- EXEC [Manage_AdminUser_Login]
- -- @AdminUserID = 0,
- -- @AdminUserName = '',
- -- @LoginPassword = '',
- -- @IPAddress = '',
- -- @CurrAdminUserID = @CurrAdminUserID OUTPUT,
- -- @CurrAdminUserName = @CurrAdminUserName OUTPUT,
- -- @RetCode = @RetCode OUTPUT
- -- SELECT @CurrAdminUserID AS CurrAdminUserID, @CurrAdminUserName AS CurrAdminUserName,
- -- @RetCode AS RetCode
- -- =============================================
- -- Author: wolf
- -- Create Date: 2012-05-21
- -- Mendor: wolf
- -- Alter Date: 2016-10-03
- -- Description: 后台管理--用户登录
- -- =============================================
- CREATE PROCEDURE [dbo].[Manage_AdminUser_Login]
- @AdminUserID INT = 0, --管理用户ID
- @AdminUserName VARCHAR(32) = '', --管理用户名
- @LoginPassword VARCHAR(32), --登录密码(明文)
- @IPAddress VARCHAR(15), --IP地址
- @CurrAdminUserID INT OUTPUT, --当前用户ID
- @CurrAdminUserName VARCHAR(32) OUTPUT, --当前用户名
- @RetCode TINYINT OUTPUT --操作结果
- --1:操作成功
- --数据库:11:数据异常 12:用户不存在 13:绑定IP,请在固定IP上登录
- -- 14:密码输入错误10次 15:密码错误,请重新输入 16:第1次登录,请修改密码
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @OldLoginPassword VARCHAR(32) --当前登录密码
- DECLARE @OldIPAddress VARCHAR(32) --当前IP地址
- DECLARE @FailureTimes TINYINT --登录失败次数
- DECLARE @UpdateTime DATETIME --更新时间
- DECLARE @Crdate DATETIME --创建时间
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @Msg VARCHAR(1024) --消息
-
- SET @RetCode = 1
- SET @CurrAdminUserID = 0
- SET @CurrAdminUserName = ''
- SET @CurrTime = GETDATE()
-
- --判断是否异常
- IF(@AdminUserID <= 0 AND LEN(@AdminUserName) <= 0)
- BEGIN
- SET @RetCode = 11
-
- SET @Msg = 'Login failed, account data is abnormal'
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @CurrAdminUserID,
- @OpUserName = @CurrAdminUserName, @IPAddress = @IPAddress, @Msg = @Msg
-
- RETURN
- END
-
- --判断密码是否为NULL
- IF(@AdminUserID IS NULL OR @AdminUserName IS NULL OR @LoginPassword IS NULL)
- BEGIN
- SET @RetCode = 11
-
- SET @Msg = 'Login failed, data exception'
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @CurrAdminUserID,
- @OpUserName = @CurrAdminUserName, @IPAddress = @IPAddress, @Msg = @Msg
-
- RETURN
- END
-
- --当前管理用户信息
- SELECT
- @CurrAdminUserID = AdminUserID, @CurrAdminUserName = AdminUserName,
- @OldLoginPassword = LoginPassword, @OldIPAddress = IPAddress,
- @FailureTimes = FailureTimes, @UpdateTime = UpdateTime,
- @Crdate = Crdate
- FROM
- [AdminUser]
- WHERE
- (AdminUserID = @AdminUserID) OR (AdminUserName = @AdminUserName)
-
- --判断用户是否存在
- IF(@CurrAdminUserID IS NULL OR @CurrAdminUserID = 0)
- BEGIN
- SET @RetCode = 12
-
- SET @Msg = 'Login failed, user does not exist'
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @CurrAdminUserID,
- @OpUserName = @AdminUserName, @IPAddress = @IPAddress, @Msg = @Msg
-
- RETURN
- END
-
- --判断是否过期
- IF(@UpdateTime < CONVERT(CHAR(10), GETDATE(), 120))
- BEGIN
- SET @FailureTimes = 0
- END
-
- --判断密码是否输入错误10次
- IF(@FailureTimes >= 10)
- BEGIN
- SET @RetCode = 14
-
- SET @Msg = 'Login failed, The password entered has been wrong 10 times today'
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @CurrAdminUserID,
- @OpUserName = @CurrAdminUserName, @IPAddress = @IPAddress, @Msg = @Msg
-
- RETURN
- END
-
- --判断密码是否正确
- IF(@OldLoginPassword != dbo.fn_md5(@LoginPassword))
- BEGIN
- SET @RetCode = 15
-
- SET @Msg = 'Login failed, password input error'
-
- --失败次数+1
- UPDATE
- [AdminUser]
- SET
- FailureTimes = CASE
- WHEN UpdateTime >= CONVERT(CHAR(10), GETDATE(), 120) THEN FailureTimes + 1
- ELSE 1
- END,
- UpdateTime = GETDATE()
- WHERE
- AdminUserName = @CurrAdminUserName
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @CurrAdminUserID,
- @OpUserName = @CurrAdminUserName, @IPAddress = @IPAddress, @Msg = @Msg
-
- RETURN
- END
-
- --判断是否是第1次登录,第1次登录,提示修改密码
- IF(@UpdateTime = @Crdate)
- BEGIN
- SET @RetCode = 16
-
- SET @Msg = 'Login successed, need to change password'
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @CurrAdminUserID,
- @OpUserName = @CurrAdminUserName, @IPAddress = @IPAddress, @Msg = @Msg
- END
-
- --登录成功,更新登录信息
- UPDATE
- [AdminUser]
- SET
- IPAddress = @IPAddress, FailureTimes = 0,
- UpdateTime = CASE WHEN @RetCode = 1 THEN @CurrTime ELSE UpdateTime END
- WHERE
- AdminUserName = @CurrAdminUserName
-
- SET @Msg = 'Login successfully'
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @CurrAdminUserID,
- @OpUserName = @CurrAdminUserName, @IPAddress = @IPAddress, @Msg = @Msg
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AdminUser_UpdateMemo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AdminUser_UpdateMemo]
- -- @OpUserID = 10001,
- -- @OpUserName = '',
- -- @AdminUserName = '',
- -- @Memo = '',
- -- @IPAddress = ''
- -- =============================================
- -- Author: wolf
- -- Create Date: 2012-05-29
- -- Mendor: wolf
- -- Alter Date: 2012-05-29
- -- Description: 后台管理--添加备注
- -- =============================================
- CREATE PROCEDURE [dbo].[Manage_AdminUser_UpdateMemo]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @AdminUserName VARCHAR(32), --管理员用户名
- @Memo NVARCHAR(128), --备注
- @IPAddress VARCHAR(15) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
-
- --更新备注
- UPDATE [AdminUser] SET Memo = @Memo WHERE AdminUserName = @AdminUserName
-
- IF(LEN(@Memo) > 0)
- BEGIN
- SET @Msg = N'Successfully modify management account(' + @AdminUserName + ')remarks, contents:' + @Memo
- END
-
- ELSE
- BEGIN
- SET @Msg = N'Successfully removed the management account(' + @AdminUserName + ')remarks, There are currently no comments'
- END
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName,
- @IPAddress = @IPAddress, @Msg = @Msg
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AdminUser_UpdatePassword] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AdminUser_UpdatePassword]
- -- =============================================
- -- Author: wolf
- -- Create Date: 2012-05-21
- -- Mendor: wolf
- -- Alter Date: 2012-05-24
- -- Description: 后台管理--修改密码
- -- =============================================
- CREATE PROCEDURE [dbo].[Manage_AdminUser_UpdatePassword]
- @AdminUserID INT, --管理用户名
- @OldPassword VARCHAR(32), --旧密码(MD5加密)
- @NewPassword VARCHAR(32), --新密码(MD5加密)
- @IPAddress VARCHAR(16), --IP地址
- @RetCode TINYINT OUTPUT --操作结果
- --1:操作成功
- --数据库:11:旧密码输入错误 12:新密码不能与旧密码相同
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @AdminUserName VARCHAR(32) --管理员名称
- DECLARE @LoginPassword VARCHAR(32) --登录密码
- DECLARE @Msg VARCHAR(1024) --操作描述
-
- SET @RetCode = 1
- SET @AdminUserName = ''
-
- --旧密码与新密码不能相同
- IF(@OldPassword = @NewPassword)
- BEGIN
- SET @RetCode = 12
-
- SET @Msg = 'Old pasword and new password cannot be the same'
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @AdminUserID, @OpUserName = @AdminUserName,
- @IPAddress = @IPAddress, @Msg = @Msg
-
- RETURN
- END
-
- --管理员ID、登录密码
- SELECT
- @AdminUserName = AdminUserName, @LoginPassword = LoginPassword
- FROM
- [AdminUser]
- WHERE
- AdminUserID = @AdminUserID
-
- --判断密码是否正确
- IF(@LoginPassword IS NULL OR @LoginPassword != @OldPassword)
- BEGIN
- SET @RetCode = 11
-
- SET @Msg = 'Password modification failed'
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @AdminUserID, @OpUserName = @AdminUserName,
- @IPAddress = @IPAddress, @Msg = @Msg
-
- RETURN
- END
-
- --更改用户密码
- UPDATE [AdminUser] SET LoginPassword = @NewPassword, UpdateTime = GETDATE() WHERE AdminUserID = @AdminUserID
-
- SET @Msg = 'Password modification successfully'
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @AdminUserID, @OpUserName = @AdminUserName,
- @IPAddress = @IPAddress, @Msg = @Msg
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AdminUser_VerifyPage] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RetCode TINYINT
- -- EXEC [Manage_AdminUser_VerifyPage]
- -- @AdminUserID = 1001,
- -- @AdminPageID = 1001,
- -- @RetCode = @RetCode OUTPUT
- -- SELECT @RetCode AS RetCode
- -- =============================================
- -- Author: wolf
- -- Create Date: 2013-06-18
- -- Mendor: wolf
- -- Alter Date: 2013-07-10
- -- Description: 后台管理--验证用户访问当前页权限
- -- =============================================
- CREATE PROCEDURE [dbo].[Manage_AdminUser_VerifyPage]
- @AdminUserID INT, --管理用户ID
- @AdminPageID INT, --管理页面ID
- @RetCode TINYINT OUTPUT --操作结果
- --1:操作成功
- --数据库:11:没有访问权限
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SET @RetCode = 1
- --判断是否有记录
- IF NOT EXISTS(SELECT RoleID FROM [RolePage] WHERE RoleID IN (SELECT RoleID FROM [RoleUser] WHERE AdminUserID = @AdminUserID) AND PageID = @AdminPageID)
- BEGIN
- SET @RetCode = 11
- RETURN
- END
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AgentConfig_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AgentConfig_GetInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-03-13
- -- Mendor: wolf
- -- Alter Date: 2017-02-16
- -- Description: 获取代理配置信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_AgentConfig_GetInfo]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- IsOpen, BindSend, BetOneDirect, BetTwoDirect, TaxOneDirect, TaxTwoDirect,
- PayOneDirect, PayTwoDirect, AuditEnabled
- FROM
- [AgentConfig]
- WHERE
- ConfigID = 1
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AgentConfig_Update] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AgentConfig_Update]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-03-13
- -- Mendor: wolf
- -- Alter Date: 2017-02-16
- -- Description: 获取代理配置信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_AgentConfig_Update]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @IsOpen INT, --是否开启
- @BindSend INT, --绑码赠送
- @BetOneDirect INT, --流水1级代理返佣(以万为基数)
- @BetTwoDirect INT, --流水2级代理返佣(以万为基数)
- @TaxOneDirect INT, --服务费1级代理返佣(以万为基数)
- @TaxTwoDirect INT, --服务费2级代理返佣(以万为基数)
- @PayOneDirect INT, --充值1级代理返佣(以万为基数)
- @PayTwoDirect INT, --充值2级代理返佣(以万为基数)
- @AuditEnabled INT, --审核是否启用
- @IPAddress VARCHAR(16), --IP地址
- @RetCode TINYINT OUTPUT --操作结果
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
-
- SET @RetCode = 0
-
- UPDATE
- [AgentConfig]
- SET
- IsOpen = @IsOpen, BindSend = @BindSend,
- BetOneDirect = @BetOneDirect, BetTwoDirect = @BetTwoDirect,
- TaxOneDirect = @TaxOneDirect, TaxTwoDirect = @TaxTwoDirect,
- PayOneDirect = @PayOneDirect, PayTwoDirect = @PayTwoDirect,
- AuditEnabled = @AuditEnabled
- WHERE
- ConfigID = 1
-
- SET @Msg = N'修改代理配置信息,IsOpen=' + LTRIM(STR(@IsOpen)) + ',BindSend=' + CAST(@BindSend AS VARCHAR(32)) +
- ',BetOne=' + CAST(@BetOneDirect AS VARCHAR(32)) + ',BetTwo=' + CAST(@BetTwoDirect AS VARCHAR(32)) +
- ',TaxOne=' + CAST(@TaxOneDirect AS VARCHAR(32)) + ',TaxTwo=' + CAST(@TaxTwoDirect AS VARCHAR(32)) +
- ',PayOne=' + CAST(@PayOneDirect AS VARCHAR(32)) + ',PayTwo=' + CAST(@PayTwoDirect AS VARCHAR(32)) +
- ',AuditEnabled=' + CAST(@AuditEnabled AS VARCHAR(32))
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress, @Type = 1
-
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AllGame_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AllGame_GetList]
- -- @GameID = 0
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-09-07
- -- Mendor: wolf
- -- Alter Date: 2016-10-31
- -- Description: 所有游戏
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_AllGame_GetList]
- @GameID INT --游戏ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --某个游戏信息
- IF(@GameID > 0)
- BEGIN
- --返回信息:游戏ID(GameID)(int)、中文名(ChineseName)(varchar(32))、英文名(EnglishName)(varchar(32))
- SELECT
- GameID, ChineseName, EnglishName, DisplaySort, Enabled, DBName,
- CASE
- WHEN Enabled IN (1, 2) THEN ChineseName
- ELSE ChineseName + '(<font color="red">Unavailable</font>)'
- END AS GameName, GameType, NeedLevel
- FROM
- [AllGame]
- WHERE
- GameID = @GameID
- ORDER BY
- DisplaySort ASC
-
- RETURN
- END
-
- --返回信息:游戏ID(GameID)(int)、中文名(ChineseName)(varchar(32))、英文名(EnglishName)(varchar(32))
- SELECT
- GameID, ChineseName, EnglishName, DisplaySort, Enabled, DBName,
- CASE
- WHEN Enabled IN (1, 2) THEN ChineseName
- ELSE ChineseName + '(<font color="red">Unavailable</font>)'
- END AS GameName, GameType, NeedLevel
- FROM
- [AllGame]
- ORDER BY
- Enabled DESC, DisplaySort ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AllGame_Update] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AllGame_Update]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-09-07
- -- Mendor: wolf
- -- Alter Date: 2016-11-17
- -- Description: 游戏信息修改
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_AllGame_Update]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员
- @GameID INT, --游戏ID
- @IPAddress VARCHAR(16), --IP地址
- @Enabled TINYINT, --是否启用
- @DisplaySort INT, --显示顺序
- @GameType TINYINT, --游戏类型 (0=无限制 1=金币游戏 2=元宝游戏)
- @NeedLevel INT --所需等级
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @EnglishName VARCHAR(32) --英文名
-
- --修改当前游戏版本号
- UPDATE
- [AllGame]
- SET
- @EnglishName = EnglishName, DisplaySort = @DisplaySort, Enabled = @Enabled, GameType = @GameType, NeedLevel = @NeedLevel
- WHERE
- GameID = @GameID
-
- SET @Msg = N'Modify game version information, @GameID=' + LTRIM(STR(@GameID)) + ',@EnglishName=' + @EnglishName +
- ',@Enabled=' + LTRIM(STR(@Enabled)) + ',@DisplaySort=' + LTRIM(STR(@DisplaySort)) + ',@GameType=' + LTRIM(STR(@GameType)) +
- ',@NeedLevel=' + LTRIM(STR(@NeedLevel))
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AllUser_BindFacebook] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AllUser_BindFacebook]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-03-13
- -- Mendor: wolf
- -- Alter Date: 2017-02-16
- -- Description: 后台绑定facebook账号(多个账号)
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_AllUser_BindFacebook]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @UserID_1 INT, --账号ID1
- @UserID_2 INT, --账号ID2
- @IPAddress VARCHAR(16), --IP地址
- @RetCode TINYINT OUTPUT-- 操作结果
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @IMei_1 VARCHAR(64) --IMei
- DECLARE @Facebook_1_ID VARCHAR(64) --facebook
- DECLARE @RegTime_1 DATETIME --注册时间
-
- DECLARE @IMei_2 VARCHAR(64) --IMei
- DECLARE @Facebook_2_ID VARCHAR(64) --facebook
- DECLARE @RegTime_2 DATETIME --注册时间
-
- DECLARE @UserID INT --账号ID
- DECLARE @IMei VARCHAR(64) --IMei
-
- DECLARE @Amount BIGINT --金币数
-
- DECLARE @Msg NVARCHAR(4000) --消息
-
- SET @RetCode = 0
-
- --账号信息
- SELECT
- @IMei_1 = CASE WHEN UserID = @UserID_1 THEN IMei ELSE @IMei_1 END,
- @Facebook_1_ID = CASE
- WHEN UserID = @UserID_1 AND LEFT(IMei, 3) IN ('fb.', 'gg.') THEN IMei
- WHEN UserID = @UserID_1 AND LEFT(deviceid, 3) IN ('fb.', 'gg.') THEN deviceid
- ELSE @Facebook_1_ID
- END,
- @RegTime_1 = CASE WHEN UserID =@UserID_1 THEN RegTime ELSE @RegTime_1 END,
-
- @IMei_2 = CASE WHEN UserID = @UserID_2 THEN IMei ELSE @IMei_2 END,
- @Facebook_2_ID = CASE
- WHEN UserID = @UserID_2 AND LEFT(IMei, 3) IN ('fb.', 'gg.') THEN IMei
- WHEN UserID = @UserID_2 AND LEFT(deviceid, 3) IN ('fb.', 'gg.') THEN deviceid
- ELSE @Facebook_2_ID
- END,
- @RegTime_2 = CASE WHEN UserID =@UserID_2 THEN RegTime ELSE @RegTime_2 END
- FROM
- [AllUser]
- WHERE
- UserID IN (@UserID_1, @UserID_2)
-
- --没有2个账号
- IF(@@ROWCOUNT != 2)
- BEGIN
- SET @RetCode = 11
- RETURN
- END
-
- --判断是否已经绑定
- IF EXISTS(SELECT UserID FROM [UserBindFacebook] WHERE Facebook_1_ID = @Facebook_1_ID OR Facebook_2_ID = @Facebook_1_ID)
- BEGIN
- SET @RetCode = 12
- RETURN
- END
-
- --判断是否已经绑定
- IF EXISTS(SELECT UserID FROM [UserBindFacebook] WHERE Facebook_1_ID = @Facebook_2_ID OR Facebook_2_ID = @Facebook_2_ID)
- BEGIN
- SET @RetCode = 13
- RETURN
- END
-
- --新账号
- SET @UserID = @UserID_1
- SET @IMei = @IMei_1
-
- --账号信息无效
- IF(@UserID IS NULL OR @UserID <= 0)
- BEGIN
- SET @RetCode = 11
- RETURN
- END
-
- --关联多个facebook账号信息
- INSERT INTO [UserBindFacebook]
- (
- UserID, IMei, Facebook_1_ID, Facebook_2_ID
- )
- VALUES
- (
- @UserID, @IMei, @Facebook_1_ID, @Facebook_2_ID
- )
-
- --加金币
- SELECT @Amount = Amount FROM [Money] WHERE UserID = @UserID_2
-
- IF(@Amount > 0)
- BEGIN
- --清理
- UPDATE [Money] SET Amount = 0 WHERE UserID = @UserID_2
-
- --补给旧账号
- UPDATE [Money] SET Amount = Amount + @Amount WHERE UserID = @UserID_1
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [Money]
- (
- UserID, Amount, Bank, RegisterTime, RefreshTime
- )
- VALUES
- (
- @UserID, @Amount, 0, GETDATE(), GETDATE()
- )
- END
- END
-
- SET @Msg = N'关联多个facebook账号!关联的信息:@UserID_1=' + LTRIM(STR(@UserID_1)) + ',@UserID_2=' + LTRIM(STR(@UserID_2)) + ',@Amount=' + CAST(@Amount AS VARCHAR(32))
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @IPAddress = @IPAddress, @Msg = @Msg, @Type = 2
-
- --操作结果
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AllUser_ChangeLevel] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AllUser_ChangeLevel]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-03-16
- -- Mendor: wolf
- -- Alter Date: 2016-04-11
- -- Description: 修改用户等级
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_AllUser_ChangeLevel]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @UserID INT, --用户ID
- @Lv INT, --等级
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @OldLv INT --等级
- DECLARE @OldExp INT --经验
- DECLARE @Msg NVARCHAR(4000) --消息
- DECLARE @RetCode TINYINT
-
- SET @RetCode = 0
-
- SELECT @OldLv = Lv, @OldExp = Exp FROM [UserLevel] WHERE UserID = @UserID
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- RETURN
- END
- --更新等级
- UPDATE [UserLevel] SET Lv = @Lv WHERE UserID = @UserID
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 12
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- SET @Msg = N'后台修改等级,@UserID=' + LTRIM(STR(@UserID)) + ',@OldLv=' + LTRIM(STR(@OldLv)) + ',@OldExp=' + LTRIM(STR(@OldExp))
-
- --添加后台操作日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @IPAddress = @IPAddress, @Msg = @Msg, @Type = 1
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AllUser_ChangeNickName] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RetCode TINYINT
- -- EXEC [Manage_AllUser_ChangeNickName]
- -- @UserID = 100,
- -- @NickName = '',
- -- @RetCode = @RetCode OUTPUT
- -- SELECT @RetCode AS RetCode
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-03-16
- -- Mendor: wolf
- -- Alter Date: 2016-04-11
- -- Description: 修改用户昵称
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_AllUser_ChangeNickName]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @UserID INT, --用户ID
- @NickName NVARCHAR(32), --昵称
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @OldNickName NVARCHAR(32) --旧昵称
- DECLARE @Msg NVARCHAR(4000) --消息
- DECLARE @RetCode TINYINT
-
- SET @RetCode = 0
-
- SELECT @OldNickName = NickName FROM [AllUser] WHERE UserID = @UserID
- IF(LEN(@NickName) <= 0)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- RETURN
- END
- --更新昵称
- UPDATE [AllUser] SET NickName = @NickName, @OldNickName = NickName WHERE UserID = @UserID
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 12
- SELECT @RetCode AS RetCode
- RETURN
- END
- --修改昵称日志
- INSERT INTO [ChangedNickNameLog]
- (
- UserID, OldNickName, NewNickName, Crdate
- )
- VALUES
- (
- @UserID, @OldNickName, @NickName, GETDATE()
- )
-
- SET @Msg = N'后台修改昵称,@UserID=' + LTRIM(STR(@UserID)) + ',@NickName=' + @NickName + ',@OldNickName=' + @OldNickName
-
- --添加后台操作日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @IPAddress = @IPAddress, @Msg = @Msg, @Type = 1
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AllUser_ConvertReport] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AllUser_ConvertReport]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 用户转化报表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_AllUser_ConvertReport]
- @DateFlag DATETIME, --日期
- @IsReg TINYINT --是否含注册用户
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @LoginUsers INT --登录用户数
- DECLARE @PlayUsers INT --游戏用户数
- DECLARE @VideoReqUsers INT --广告请求用户数
- DECLARE @VideoPlayUsers INT --广告播放用户数
- DECLARE @PayUsers INT --付费用户数
- DECLARE @BeginTime DATETIME --开始时间
- DECLARE @EndTime DATETIME --截止时间
-
- DECLARE @tmptable TABLE(
- UserID INT NOT NULL --用户ID
- )
- SET @BeginTime = CONVERT(CHAR(10), @DateFlag, 120)
- SET @EndTime = CONVERT(CHAR(11), @DateFlag, 120) + '23:59:59'
-
- --机器人
- INSERT INTO @tmptable(UserID)
- SELECT UserID FROM [MachineUser]
-
- --不含注册用户
- IF(@IsReg != 1)
- BEGIN
- INSERT INTO @tmptable(UserID)
- SELECT UserID FROM [AllUser] WHERE RegTime BETWEEN @BeginTime AND @EndTime AND UserID NOT IN (SELECT UserID FROM [MachineUser])
- END
- --1、登录用户数
- --2、游戏用户数
- SELECT
- @LoginUsers = COUNT(DISTINCT UserID),
- @PlayUsers = COUNT(DISTINCT(CASE WHEN PlaySeconds > 0 THEN UserID ELSE 0 END))
- FROM
- [UserDailyStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND UserID NOT IN (SELECT UserID FROM @tmptable)
-
- --2、游戏用户数
- /*
- SELECT
- @PlayUsers = COUNT(DISTINCT UserID)
- FROM
- [DailyBetStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND UserID NOT IN (SELECT UserID FROM @tmptable)
- */
-
- --3、广告请求用户数、广告播放用户数
- SELECT
- @VideoReqUsers = COUNT(DISTINCT (CASE WHEN ReqTimes > 0 THEN UserID ELSE 0 END)),
- @VideoPlayUsers = COUNT(DISTINCT (CASE WHEN PlayTimes > 0 THEN UserID ELSE 0 END))
- FROM
- (
- SELECT
- UserID, ReqTimes, PlayTimes
- FROM
- [UserVideoStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND UserID NOT IN (SELECT UserID FROM @tmptable)
-
- UNION
-
- SELECT
- UserID, ReqTimes, PlayTimes
- FROM
- [UserVideoStatHistory]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND UserID NOT IN (SELECT UserID FROM @tmptable)
-
- ) t
-
- --4、付费用户数
- SELECT
- @PayUsers = COUNT(DISTINCT UserID)
- FROM
- [UserPayLog]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND UserID NOT IN (SELECT UserID FROM @tmptable)
-
- --返回信息
- SELECT
- ISNULL(@LoginUsers, 0) AS LoginUsers, ISNULL(@PlayUsers, 0) AS PlayUsers,
- ISNULL(@VideoReqUsers, 0) AS VideoReqUsers, ISNULL(@PayUsers , 0) AS PayUsers,
- ISNULL(@VideoPlayUsers, 0) AS VideoPlayUsers
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AllUser_Del] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AllUser_Del]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 删除账号
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_AllUser_Del]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @UserID INT, --用户ID
- @IPAddress VARCHAR(16), --IP地址
- @RetCode TINYINT OUTPUT --操作结果
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --消息
- DECLARE @IsTest TINYINT --是否测试账号
- DECLARE @NickName NVARCHAR(32) --昵称
- DECLARE @IMei VARCHAR(64) --IMei
-
- SET @RetCode = 0
- SET @IsTest = 0
-
- --判断是否测试账号
- IF EXISTS(SELECT UserID FROM [MachineUser] WHERE UserID = @UserID)
- BEGIN
- SET @IsTest = 1
- END
-
- --划分到测试账号里去,可以排除数据统计
- ELSE
- BEGIN
- UPDATE [UserIdentity] SET IMei = LTRIM(STR(UserID)), @IMei = IMei WHERE UserID = @UserID
- UPDATE [AllUser] SET IMei = LTRIM(STR(UserID)), @NickName = NickName WHERE UserID = @UserID
- END
- --添加日志
- SET @Msg = N'Del User, UserID=' + LTRIM(STR(@UserID)) + ',@NickName=' + @NickName + ',@IsTest=' + LTRIM(STR(@IsTest)) + ',IMei=' + @IMei
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress, @Type = 1
- --操作成功
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AllUser_ExportChipStat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AllUser_ExportChipStat]
- -- =============================================
- -- Author: wolf
- -- Create Date: 2014-12-04
- -- Mendor: wolf
- -- Alter Date: 2016-09-21
- -- Description: 后台管理--导出筹码变化
- -- =============================================
- CREATE PROCEDURE [dbo].[Manage_AllUser_ExportChipStat]
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME --截止时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --申请表变量
- DECLARE @tmptable TABLE(
- UserID INT NOT NULL, --用户ID
- NickName NVARCHAR(32) NOT NULL, --昵称
- PartnerID INT NOT NULL, --渠道ID
- PartnerName NVARCHAR(32) NOT NULL, --渠道名称
- InvestAmount BIGINT NOT NULL, --投注金额
- WinAmount BIGINT NOT NULL --赢金额
- )
- --初始化表变量
- INSERT INTO @tmptable(
- UserID, NickName, PartnerID, PartnerName, InvestAmount, WinAmount
- )
- SELECT
- UserID, '', 0, '', 0, ISNULL(SUM(MoneySum), 0)
- FROM
- [ChipStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND UserID > 0 AND LogType IN (SELECT LogType FROM [MoneyLogType] WHERE IsGameWin = 1)
- GROUP BY
- UserID
-
- --获取渠道ID
- UPDATE
- t
- SET
- t.NickName = u.NickName, t.PartnerID = u.PartnerID, t.PartnerName = u.PartnerID
- FROM
- @tmptable t INNER JOIN [AllUser] u ON t.UserID = u.UserID
-
- --获取渠道名称
- UPDATE t SET t.PartnerName = p.PartnerName FROM @tmptable t INNER JOIN [Partner] p ON t.PartnerID = p.PartnerID
-
- --返回信息
- SELECT
- UserID, NickName, PartnerName, InvestAmount, WinAmount
- FROM
- @tmptable
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AllUser_ExportMoneyStat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AllUser_ExportMoneyStat]
- -- =============================================
- -- Author: wolf
- -- Create Date: 2014-12-04
- -- Mendor: wolf
- -- Alter Date: 2016-09-21
- -- Description: 后台管理--导出金币变化
- -- =============================================
- CREATE PROCEDURE [dbo].[Manage_AllUser_ExportMoneyStat]
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME --截止时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --申请表变量
- DECLARE @tmptable TABLE(
- UserID INT NOT NULL, --用户ID
- NickName NVARCHAR(32) NOT NULL, --昵称
- PartnerID INT NOT NULL, --渠道ID
- PartnerName NVARCHAR(32) NOT NULL, --渠道名称
- InvestAmount BIGINT NOT NULL, --投注金额
- WinAmount BIGINT NOT NULL --赢金额
- )
- --初始化表变量
- INSERT INTO @tmptable(
- UserID, NickName, PartnerID, PartnerName, InvestAmount, WinAmount
- )
- SELECT
- UserID, '', 0, '', 0, ISNULL(SUM(MoneySum), 0)
- FROM
- [MoneyStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND UserID > 0 AND LogType IN (SELECT LogType FROM [MoneyLogType] WHERE IsGameWin = 1)
- GROUP BY
- UserID
-
- --获取渠道ID
- UPDATE
- t
- SET
- t.NickName = u.NickName, t.PartnerID = u.PartnerID, t.PartnerName = u.PartnerID
- FROM
- @tmptable t INNER JOIN [AllUser] u ON t.UserID = u.UserID
-
- --获取渠道名称
- UPDATE t SET t.PartnerName = p.PartnerName FROM @tmptable t INNER JOIN [Partner] p ON t.PartnerID = p.PartnerID
-
- --返回信息
- SELECT
- UserID, NickName, PartnerName, InvestAmount, WinAmount
- FROM
- @tmptable
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AllUser_GetBankInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AllUser_GetBankInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-11
- -- Mendor: wolf
- -- Alter Date: 2017-02-23
- -- Description: 获取银行账号信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_AllUser_GetBankInfo]
- @UserID INT
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回
- SELECT
- RealName, BankName, BankCode, BankCard, Mobile,
- CONVERT(VARCHAR(16), Crdate, 120) AS Crdate
- FROM
- [UserBankInfo]
- WHERE
- UserID = @UserID
- ORDER BY
- Rid DESC
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AllUser_GetChipStatDetail] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AllUser_GetChipStatDetail]
- -- @UserID = 1,
- -- @StartTime = '',
- -- @EndTime = ''
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-02
- -- Mendor: wolf
- -- Alter Date: 2016-09-05
- -- Description: 后台管理--用户货币变化详情
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_AllUser_GetChipStatDetail]
- @UserID INT, --用户ID
- @StartTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @IsGameWin TINYINT --是否输赢
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @NickName NVARCHAR(32) --昵称
- --昵称
- SELECT @NickName = NickName FROM [AllUser] WHERE UserID = @UserID
- --输赢标识
- IF(@IsGameWin = 1)
- BEGIN
- --返回信息
- SELECT
- CONVERT(CHAR(10), DateFlag, 120) AS DateFlag, mlt.ChineseName,
- mlt.LogTypeName, ms.MoneySum, @UserID AS UserID, @NickName AS NickName
- FROM
- [ChipStat] ms INNER JOIN [MoneyLogType] mlt ON ms.LogType = mlt.LogType AND mlt.IsGameWin = 1
- WHERE
- ms.DateFlag BETWEEN @StartTime AND @EndTime AND ms.UserID = @UserID
- ORDER BY
- ms.DateFlag DESC, mlt.GameID DESC, ABS(ms.MoneySum) DESC
- RETURN
- END
-
- --返回信息
- SELECT
- CONVERT(CHAR(10), DateFlag, 120) AS DateFlag, mlt.ChineseName,
- mlt.LogTypeName, ms.MoneySum, @UserID AS UserID, @NickName AS NickName
- FROM
- [ChipStat] ms INNER JOIN [MoneyLogType] mlt ON ms.LogType = mlt.LogType
- WHERE
- ms.DateFlag BETWEEN @StartTime AND @EndTime AND ms.UserID = @UserID
- ORDER BY
- ms.DateFlag DESC, mlt.GameID DESC, ABS(ms.MoneySum) DESC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AllUser_GetChipStatList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AllUser_GetChipStatList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-02
- -- Mendor: wolf
- -- Alter Date: 2016-09-05
- -- Description: 后台管理--货币变化
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_AllUser_GetChipStatList]
- @UserID INT, --用户ID
- @IsGameWin TINYINT, --是否输赢
- @BeginTime DATETIME, --起始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT = 1, --页索引
- @PageSize INT = 10, --页大小
- @RecordCount INT OUTPUT, --记录数
- @TotalAmount BIGINT OUTPUT --总计
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- --创建临时表
- DECLARE @tmptable TABLE(
- UserID INT NOT NULL, --用户ID
- MoneySum BIGINT NOT NULL --总额
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- SET @TotalAmount = 0
-
- --某个用户
- IF(@UserID > 0)
- BEGIN
- IF(@IsGameWin = 1)
- BEGIN
- INSERT INTO @tmptable(UserID, MoneySum)
- SELECT
- @UserID, ISNULL(SUM(MoneySum), 0)
- FROM
- [ChipStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND UserID = @UserID AND LogType IN (SELECT LogType FROM [MoneyLogType] WHERE IsGameWin = 1)
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable(UserID, MoneySum)
- SELECT
- @UserID, ISNULL(SUM(MoneySum), 0)
- FROM
- [ChipStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND UserID = @UserID AND LogType IN (SELECT LogType FROM [MoneyLogType])
- END
- END
-
- --所有用户
- ELSE
- BEGIN
- IF(@IsGameWin = 1)
- BEGIN
- INSERT INTO @tmptable(UserID, MoneySum)
- SELECT
- UserID, ISNULL(SUM(MoneySum), 0)
- FROM
- [ChipStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND LogType IN (SELECT LogType FROM [MoneyLogType] WHERE IsGameWin = 1) AND UserID > 0
- GROUP BY
- UserID
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable(UserID, MoneySum)
- SELECT
- UserID, ISNULL(SUM(MoneySum), 0)
- FROM
- [ChipStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND LogType IN (SELECT LogType FROM [MoneyLogType]) AND UserID > 0
- GROUP BY
- UserID
- END
- END
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- --总计
- SET @TotalAmount = ISNULL((SELECT SUM(MoneySum) FROM @tmptable WHERE UserID > 100), 0)
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY ABS(MoneySum) DESC) AS RowNumber,
- UserID, MoneySum
- FROM
- @tmptable
- )
-
- --返回信息:用户ID(UserID)(int)、昵称(NickName)(varchar(32))、总量(MoneySum)
- SELECT
- l.RowNumber, l.UserID, u.NickName, l.MoneySum
- FROM
- [List] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AllUser_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AllUser_GetInfo]
- -- =============================================
- -- Author: wolf
- -- Create Date: 2016-10-21
- -- Mendor: wolf
- -- Alter Date: 2016-10-21
- -- Description: 后台用户信息
- -- =============================================
- CREATE PROCEDURE [dbo].[Manage_AllUser_GetInfo]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @NickName NVARCHAR(32) --昵称
- DECLARE @RegPartnerID INT --注册渠道ID
- DECLARE @PartnerName NVARCHAR(32) --渠道名称
- DECLARE @Amount BIGINT --金币
- DECLARE @Bank BIGINT --保险柜
- DECLARE @VipLevel INT --VIP等级
- DECLARE @PayMoney DECIMAL(18, 2) --累计充值
- DECLARE @RegTime DATETIME --注册时间
- DECLARE @RegIP VARCHAR(16) --注册IP
- DECLARE @IMei VARCHAR(64) --IMei
- DECLARE @LoginTime DATETIME --登录时间
- DECLARE @LoginIP VARCHAR(16) --登录IP
- DECLARE @FaceUrl VARCHAR(1024) --头像地址
- DECLARE @MonthExpire DATETIME --月卡过期时间
- DECLARE @UserWords NVARCHAR(256) --个性签名
- DECLARE @Tel VARCHAR(32) --手机号
- DECLARE @deviceid VARCHAR(64)
- DECLARE @ChipAmount BIGINT --筹码金额
- DECLARE @ChipBank BIGINT --筹码保险柜
- DECLARE @Lv TINYINT --等级
- DECLARE @Exp INT --经验
- DECLARE @TotalSeconds INT --总在线时长
- DECLARE @TodaySeconds INT --今天在线时长
- DECLARE @HigherUserID INT --代理用户ID
- DECLARE @HigherNickName NVARCHAR(32) --代理名称
- DECLARE @Source NVARCHAR(128) --广告系列来源。用来标识搜索引擎、简报名称或其他来源。示例: utm_source=google
- DECLARE @Medium NVARCHAR(128) ----广告系列媒介。用来标识媒介,比如电子邮件或每次点击费用。示例:utm_medium=cpc
- DECLARE @DeviceName VARCHAR(32) --设备型号
-
- SET @NickName = ''
- SET @PartnerName = ''
- SET @Amount = 0
- SET @Bank = 0
- SET @VipLevel = 0
- SET @FaceUrl = ''
- SET @MonthExpire = '2021-01-01'
- SET @UserWords = ''
- SET @Tel = ''
- SET @deviceid = ''
- SET @ChipAmount = 0
- SET @ChipBank = 0
- SET @Lv = 0
- SET @Exp = 0
- SET @TotalSeconds = 0
- SET @TodaySeconds = 0
- SET @HigherUserID = 0
- SET @HigherNickName = ''
- SET @Source = ''
- SET @Medium = ''
- SET @DeviceName = ''
-
- --获取基本信息
- SELECT
- @NickName = NickName, @RegPartnerID = RegPartnerID,
- @PayMoney = PayMoney, @RegTime = RegTime, @RegIP = RegIP,
- @IMei = IMei, @LoginTime = LoginTime, @LoginIP = IPAddress,
- @UserWords = UserWords, @deviceid = deviceid, @DeviceName = DeviceName
- FROM
- [AllUser]
- WHERE
- UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- RETURN
-
- SET @PartnerName = LTRIM(STR(@RegPartnerID))
-
- --获取渠道名称
- SELECT @PartnerName = PartnerName FROM [Partner] WHERE PartnerID = @RegPartnerID
-
- --金币
- EXEC [p_if_getmoney] @userid = @UserID, @moneyamount = @Amount OUTPUT, @Bank = @Bank OUTPUT
-
- --筹码
- EXEC [Game_Chip_GetInfo] @UserID = @UserID, @Amount = @ChipAmount OUTPUT, @Bank = @ChipBank OUTPUT
-
- --Vip级别
- SELECT @VipLevel = VipLevel FROM [UserVip] WHERE UserID = @UserID
-
- --头像URL
- SELECT @FaceUrl = FaceUrl FROM [UserFace] WHERE UserID = @UserID
-
- --月卡
- SELECT @MonthExpire = MonthExpire FROM [UserMonthlyCard] WHERE UserID = @UserID
-
- --手机号
- SELECT @Tel = Tel FROM [UserTel] WHERE UserID = @UserID
-
- SELECT @Lv = Lv, @Exp = Exp FROM [UserLevel] WHERE UserID = @UserID
-
- --在线时长
- SELECT @TotalSeconds = TotalSeconds, @TodaySeconds = TodaySeconds FROM [t_onlinetime] WHERE UserID = @UserID
-
- --代理信息
- SELECT @HigherUserID = HigherUserID FROM [AgentMember] WHERE UserID = @UserID
-
- IF(@HigherUserID > 0)
- BEGIN
- SELECT @HigherNickName = NickName FROM [AllUser] WHERE UserID = @HigherUserID
- END
-
- --流量渠道追踪
- SELECT @Source = Source, @Medium = Medium FROM [UTM] WHERE UserID = @UserID
-
- --返回信息
- SELECT
- @NickName AS NickName, @PartnerName AS PartnerName, @Amount AS Amount,
- @VipLevel AS VipLevel, @PayMoney AS PayMoney, CONVERT(CHAR(20), @RegTime, 120) AS RegTime,
- @RegIP AS RegIP, @IMei AS IMei, CONVERT(CHAR(20), @LoginTime, 120) AS LoginTime,
- @LoginIP AS LoginIP, @FaceUrl AS FaceUrl, CONVERT(CHAR(10), @MonthExpire, 120) AS MonthExpire,
- @UserWords AS UserWords, @Tel AS Tel, @deviceid AS deviceid, @ChipAmount AS ChipAmount, @ChipBank AS ChipBank,
- @Lv AS Lv, @Exp AS [Exp], @TotalSeconds AS TotalSeconds, @TodaySeconds AS TodaySeconds,
- @HigherUserID AS HigherUserID, @HigherNickName AS HigherNickName, @Source AS Source, @Medium AS Medium,
- @DeviceName AS DeviceName
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AllUser_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AllUser_GetList]
- -- =============================================
- -- Author: wolf
- -- Create Date: 2016-10-21
- -- Mendor: wolf
- -- Alter Date: 2016-10-21
- -- Description: 后台用户列表
- -- =============================================
- CREATE PROCEDURE [dbo].[Manage_AllUser_GetList]
- @PartnerID INT, --渠道ID
- @UserID INT, --用户ID
- @NickName NVARCHAR(32), --昵称
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --总记录数
- AS
- SET NOCOUNT ON -- 节约反馈资源
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
- DECLARE @tmpUser TABLE(
- PartnerID INT NOT NULL, --渠道ID
- UserID INT NOT NULL, --用户ID
- NickName NVARCHAR(32) NOT NULL, --昵称
- LoginTime DATETIME NOT NULL, --登录时间
- PayMoney DECIMAL(18, 2) NOT NULL, --累计充值
- RegTime DATETIME NOT NULL, --注册时间
- RegIP VARCHAR(16) NOT NULL --注册IP
- )
- --创建临时表
- DECLARE @tmptable TABLE(
- PartnerID INT NOT NULL, --渠道ID
- PartnerName NVARCHAR(32) NOT NULL, --渠道名称
- UserID INT NOT NULL, --用户ID
- NickName NVARCHAR(32) NOT NULL, --昵称
- Amount BIGINT NOT NULL, --金币
- VipLevel INT NOT NULL, --VIP等级
- LoginTime DATETIME NOT NULL, --登陆时间
- PayMoney DECIMAL(18, 2) NOT NULL, --累计充值
- RegTime DATETIME NOT NULL, --注册时间
- RegIP VARCHAR(16) NOT NULL --注册IP
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --渠道
- IF(@PartnerID > 0)
- BEGIN
- INSERT INTO @tmpUser(PartnerID, UserID, NickName, LoginTime, PayMoney, RegTime, RegIP)
- SELECT
- RegPartnerID, UserID, NickName, LoginTime, PayMoney, RegTime, RegIP
- FROM
- [AllUser]
- WHERE
- RegPartnerID = @PartnerID AND UserID NOT IN (SELECT UserID FROM [MachineUser])
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
- END
-
- --查询某个账号信息
- ELSE IF(LEN(@NickName) > 0 OR @UserID > 0)
- BEGIN
- --查询昵称
- IF(LEN(@NickName) > 0)
- BEGIN
- INSERT INTO @tmpUser(PartnerID, UserID, NickName, LoginTime, PayMoney, RegTime, RegIP)
- SELECT
- RegPartnerID, UserID, NickName, LoginTime, PayMoney, RegTime, RegIP
- FROM
- [AllUser]
- WHERE
- NickName LIKE '%' + @NickName + '%'
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
- END
-
- --查询某个ID
- IF(@UserID > 0)
- BEGIN
- --账号不存在
- IF NOT EXISTS(SELECT UserID FROM @tmpUser WHERE UserID = @UserID)
- BEGIN
- INSERT INTO @tmpUser(PartnerID, UserID, NickName, LoginTime, PayMoney, RegTime, RegIP)
- SELECT RegPartnerID, UserID, NickName, LoginTime, PayMoney, RegTime, RegIP FROM [AllUser] WHERE UserID = @UserID
-
- --记录数
- SET @RecordCount = @RecordCount + @@ROWCOUNT
- END
- END
- END
-
- --其他
- ELSE
- BEGIN
- INSERT INTO @tmpUser(PartnerID, UserID, NickName, LoginTime, PayMoney, RegTime, RegIP)
- SELECT TOP 1000
- RegPartnerID, UserID, NickName, LoginTime, PayMoney, RegTime, RegIP
- FROM
- [AllUser]
- WHERE
- UserID NOT IN (SELECT UserID FROM [MachineUser])
- ORDER BY
- LoginTime DESC
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
- END
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY RegTime DESC) AS RowNumber,
- PartnerID, UserID, NickName, LoginTime, PayMoney, RegTime, RegIP
- FROM
- @tmpUser
- )
-
- --获取当前页用户信息
- INSERT INTO @tmptable
- (
- PartnerID, PartnerName, UserID, NickName, Amount, VipLevel, LoginTime, PayMoney, RegTime, RegIP
- )
- SELECT
- PartnerID, '', UserID, NickName, 0, 0, LoginTime, PayMoney, RegTime, RegIP
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- --获取渠道名称
- UPDATE t SET t.PartnerName = p.PartnerName FROM @tmptable t INNER JOIN [Partner] p ON t.PartnerID = p.PartnerID
-
- --获取金豆信息
- UPDATE t SET t.Amount = m.Amount FROM @tmptable t INNER JOIN [Money] m ON t.UserID = m.UserID
-
- --获取vip
- UPDATE t SET t.VipLevel = v.VipLevel FROM @tmptable t INNER JOIN [UserVip] v ON t.UserID = v.UserID
-
- --返回信息:
- SELECT
- CASE WHEN PartnerName = '' THEN LTRIM(STR(PartnerID)) ELSE PartnerName END AS PartnerName,
- UserID, NickName, Amount, VipLevel, CONVERT(CHAR(23), LoginTime, 120) AS LoginTime, PayMoney,
- CONVERT(VARCHAR(23), RegTime, 120) AS RegTime, RegIP
- FROM
- @tmptable
- ORDER BY
- RegTime DESC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AllUser_GetMoneyStatDetail] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AllUser_GetMoneyStatDetail]
- -- @UserID = 1,
- -- @StartTime = '',
- -- @EndTime = ''
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-02
- -- Mendor: wolf
- -- Alter Date: 2016-09-05
- -- Description: 后台管理--用户货币变化详情
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_AllUser_GetMoneyStatDetail]
- @UserID INT, --用户ID
- @StartTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @IsGameWin TINYINT --是否输赢
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @NickName NVARCHAR(32) --昵称
- --昵称
- SELECT @NickName = NickName FROM [AllUser] WHERE UserID = @UserID
- --输赢标识
- IF(@IsGameWin = 1)
- BEGIN
- --返回信息
- SELECT
- CONVERT(CHAR(10), DateFlag, 120) AS DateFlag, mlt.ChineseName,
- mlt.LogTypeName, ms.MoneySum, @UserID AS UserID, @NickName AS NickName
- FROM
- [MoneyStat] ms INNER JOIN [MoneyLogType] mlt ON ms.LogType = mlt.LogType AND mlt.IsGameWin = 1
- WHERE
- ms.DateFlag BETWEEN @StartTime AND @EndTime AND ms.UserID = @UserID
- ORDER BY
- ms.DateFlag DESC, mlt.GameID DESC, ABS(ms.MoneySum) DESC
- RETURN
- END
-
- --返回信息
- SELECT
- CONVERT(CHAR(10), DateFlag, 120) AS DateFlag, mlt.ChineseName,
- mlt.LogTypeName, ms.MoneySum, @UserID AS UserID, @NickName AS NickName
- FROM
- [MoneyStat] ms INNER JOIN [MoneyLogType] mlt ON ms.LogType = mlt.LogType
- WHERE
- ms.DateFlag BETWEEN @StartTime AND @EndTime AND ms.UserID = @UserID
- ORDER BY
- ms.DateFlag DESC, mlt.GameID DESC, ABS(ms.MoneySum) DESC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AllUser_GetMoneyStatList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RecordCount INT
- -- EXEC [Manage_AllUser_GetMoneyStatList]
- -- @UserID = 1,
- -- @PageIndex = 1,
- -- @PageSize = 10,
- -- @RecordCount = @RecordCount OUTPUT
- -- SELECT @RecordCount AS RecordCount
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-02
- -- Mendor: wolf
- -- Alter Date: 2016-09-05
- -- Description: 后台管理--货币变化
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_AllUser_GetMoneyStatList]
- @UserID INT, --用户ID
- @IsGameWin TINYINT, --是否输赢
- @BeginTime DATETIME, --起始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT = 1, --页索引
- @PageSize INT = 10, --页大小
- @RecordCount INT OUTPUT, --记录数
- @TotalAmount BIGINT OUTPUT --总计
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- --创建临时表
- DECLARE @tmptable TABLE(
- UserID INT NOT NULL, --用户ID
- MoneySum BIGINT NOT NULL --总额
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- SET @TotalAmount = 0
-
- --某个用户
- IF(@UserID > 0)
- BEGIN
- IF(@IsGameWin = 1)
- BEGIN
- INSERT INTO @tmptable(UserID, MoneySum)
- SELECT
- @UserID, ISNULL(SUM(MoneySum), 0)
- FROM
- [MoneyStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND UserID = @UserID AND LogType IN (SELECT LogType FROM [MoneyLogType] WHERE IsGameWin = 1)
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable(UserID, MoneySum)
- SELECT
- @UserID, ISNULL(SUM(MoneySum), 0)
- FROM
- [MoneyStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND UserID = @UserID AND LogType IN (SELECT LogType FROM [MoneyLogType])
- END
- END
-
- --所有用户
- ELSE
- BEGIN
- IF(@IsGameWin = 1)
- BEGIN
- INSERT INTO @tmptable(UserID, MoneySum)
- SELECT
- UserID, ISNULL(SUM(MoneySum), 0)
- FROM
- [MoneyStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND LogType IN (SELECT LogType FROM [MoneyLogType] WHERE IsGameWin = 1) AND UserID > 0
- GROUP BY
- UserID
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable(UserID, MoneySum)
- SELECT
- UserID, ISNULL(SUM(MoneySum), 0)
- FROM
- [MoneyStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND LogType IN (SELECT LogType FROM [MoneyLogType]) AND UserID > 0
- GROUP BY
- UserID
- END
- END
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- --总计
- SET @TotalAmount = ISNULL((SELECT SUM(MoneySum) FROM @tmptable WHERE UserID > 100), 0)
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY ABS(MoneySum) DESC) AS RowNumber,
- UserID, MoneySum
- FROM
- @tmptable
- )
-
- --返回信息:用户ID(UserID)(int)、昵称(NickName)(varchar(32))、总量(MoneySum)
- SELECT
- l.RowNumber, l.UserID, u.NickName, l.MoneySum
- FROM
- [List] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AllUser_GetNewUserStat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AllUser_GetNewUserStat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 获取新注册用户统计信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_AllUser_GetNewUserStat]
- @Source NVARCHAR(128), --广告系列来源。用来标识搜索引擎、简报名称或其他来源。示例: utm_source=google
- @BeginTime DATETIME, --起始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
- DECLARE @tmptable TABLE(
- Rid INT NOT NULL, --标识
- DateFlag SMALLDATETIME NOT NULL, --日期标识
- Source NVARCHAR(256) NOT NULL, --UTM源
- RegCount INT NOT NULL, --注册人数
- LiveUsers_2 INT NOT NULL, --次日留存
- PayUsers_1 INT NOT NULL, --第1天充值人数
- PayMoney_1 DECIMAL(18, 2) NOT NULL, --第1天充值金额
- PayMoney_2 DECIMAL(18, 2) NOT NULL, --第2天充值金额
- PayMoney_3 DECIMAL(18, 2) NOT NULL, --第3天充值金额
- PayMoney_7 DECIMAL(18, 2) NOT NULL, --第7天充值金额
- PayMoney_14 DECIMAL(18, 2) NOT NULL, --第14天充值金额
- PayMoney_30 DECIMAL(18, 2) NOT NULL --第30天充值金额
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- IF(@Source = 'All Source v2')
- BEGIN
- INSERT INTO @tmptable
- (
- Rid, DateFlag, Source, RegCount, LiveUsers_2, PayUsers_1,
- PayMoney_1, PayMoney_2, PayMoney_3, PayMoney_7, PayMoney_14, PayMoney_30
- )
- SELECT
- Rid, DateFlag, Source, RegCount, LiveUsers_2, PayUsers_1,
- PayMoney_1, PayMoney_2, PayMoney_3, PayMoney_7, PayMoney_14, PayMoney_30
- FROM
- [NewUserStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- Rid, DateFlag, Source, RegCount, LiveUsers_2, PayUsers_1,
- PayMoney_1, PayMoney_2, PayMoney_3, PayMoney_7, PayMoney_14, PayMoney_30
- )
- SELECT
- Rid, DateFlag, Source, RegCount, LiveUsers_2, PayUsers_1,
- PayMoney_1, PayMoney_2, PayMoney_3, PayMoney_7, PayMoney_14, PayMoney_30
- FROM
- [NewUserStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND Source = @Source
- END
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY DateFlag DESC, RegCount DESC, Rid DESC) AS RowNumber,
- DateFlag, Source, RegCount, LiveUsers_2, PayUsers_1,
- PayMoney_1, PayMoney_2, PayMoney_3, PayMoney_7, PayMoney_14, PayMoney_30
- FROM
- @tmptable
- )
-
- SELECT
- CONVERT(VARCHAR(10), DateFlag, 120) AS DateFlag, Source, RegCount, LiveUsers_2, PayUsers_1,
- PayMoney_1, PayMoney_2, PayMoney_3, PayMoney_7, PayMoney_14, PayMoney_30
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AllUser_GetRegLogList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AllUser_GetRegLogList]
- -- @PartnerID = 1,
- -- @BeginTime = '',
- -- @EndTime = '',
- -- @RecordCount = @RecordCount OUTPUT
- -- SELECT @RecordCount AS RecordCount
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 注册日志
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_AllUser_GetRegLogList]
- @PartnerIDs VARCHAR(256), --合作商ID
- @SourceIDs VARCHAR(32), --注册来源
- @Lv TINYINT, --等级
- @Exp INT, --经验
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --结束时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --总记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
- DECLARE @PartnerID INT --渠道ID
- DECLARE @StartIndex INT --起始
- DECLARE @EndIndex INT --截止
- DECLARE @SourceId INT
-
- DECLARE @tmPartner TABLE(
- PartnerID INT NOT NULL --渠道ID
- )
-
- DECLARE @tmpSource TABLE(
- SourceId INT NOT NULL
- )
-
- --表变量
- DECLARE @tmptable TABLE(
- PartnerID INT NOT NULL, --合作商ID
- UserID INT NOT NULL, --用户ID
- NickName NVARCHAR(32) NOT NULL, --昵称
- IMei VARCHAR(64) NOT NULL, --IMei
- RegIP VARCHAR(16) NOT NULL, --注册IP
- RegTime DATETIME NOT NULL, --注册时间
- LoginTime DATETIME NOT NULL, --登录时间
- deviceid VARCHAR(64) NOT NULL, --设备号
- SourceId VARCHAR(32) NOT NULL, --注册源
- Lv INT NOT NULL, --等级
- Exp INT NOT NULL, --经验值
- GuideStep INT NOT NULL, --新手指引
- UTMSource NVARCHAR(1024) NOT NULL, --流量渠道
- Amount BIGINT NOT NULL, --金币
- DeviceName VARCHAR(32) NOT NULL, --设备名称
- PayMoney DECIMAL(18, 2) NOT NULL --累计充值
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- SET @StartIndex = 0
- SET @EndIndex = 0
-
- WHILE(1=1)
- BEGIN
- SET @EndIndex = CHARINDEX(',', @PartnerIDs, @StartIndex)
- IF(@EndIndex <= 0)
- BREAK
-
- SET @PartnerID = CAST(SUBSTRING(@PartnerIDs, @StartIndex, @EndIndex - @StartIndex) AS INT)
-
- INSERT INTO @tmPartner(PartnerID) VALUES(@PartnerID)
-
- SET @StartIndex = @EndIndex + 1
- END
-
- SET @StartIndex = 0
- SET @EndIndex = 0
-
- WHILE(1=1)
- BEGIN
- SET @EndIndex = CHARINDEX(',', @SourceIDs, @StartIndex)
- IF(@EndIndex <= 0)
- BREAK
-
- SET @SourceId = CAST(SUBSTRING(@SourceIDs, @StartIndex, @EndIndex - @StartIndex) AS INT)
-
- INSERT INTO @tmpSource(SourceId) VALUES(@SourceId)
-
- SET @StartIndex = @EndIndex + 1
- END
-
- --初始化数据
- INSERT INTO @tmptable
- (
- PartnerID, UserID, NickName, IMei, RegIP, RegTime, deviceid,
- SourceId, Lv, Exp, GuideStep, UTMSource, LoginTime, Amount, DeviceName, PayMoney
- )
- SELECT
- RegPartnerID, UserID, NickName, IMei, RegIP, RegTime, deviceid,
- CASE
- WHEN LEFT(IMei, 3) = 'fb.' THEN 2
- WHEN LEFT(IMei, 3) = 'gg.' THEN 3
- ELSE 1
- END, 1, 0, 0, '', u.LoginTime, 0, u.DeviceName, u.PayMoney
- FROM
- [AllUser] u INNER JOIN @tmPartner t ON u.RegPartnerID = t.PartnerID
- WHERE
- RegTime BETWEEN @BeginTime AND @EndTime AND UserID NOT IN (SELECT UserID FROM [MachineUser])
-
- --获取等级、经验
- UPDATE t SET t.Lv = v.Lv, t.Exp = v.Exp FROM @tmptable t INNER JOIN [UserLevel] v ON t.UserID = v.UserID
-
- --删除不合条件的数据
- DELETE FROM @tmptable WHERE Lv < @Lv
- DELETE FROM @tmptable WHERE Exp < @Exp
- DELETE FROM @tmptable WHERE SourceId NOT IN (SELECT SourceId FROM @tmpSource)
-
- --获取新手指引
- UPDATE t SET t.GuideStep = ut.Status FROM @tmptable t INNER JOIN [UserTask] ut ON t.UserID = ut.UserID AND ut.TaskID = 20014
-
- --获取流量渠道
- UPDATE t SET t.UTMSource = u.Source FROM @tmptable t INNER JOIN [UTM] u ON t.UserID = u.UserID
-
- --获取金豆信息
- UPDATE t SET t.Amount = m.Amount FROM @tmptable t INNER JOIN [Money] m ON t.UserID = m.UserID
-
- --总记录数
- SELECT @RecordCount = COUNT(*) FROM @tmptable
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY RegTime DESC) AS RowNumber,
- PartnerID, UserID, NickName, IMei, RegIP, RegTime, deviceid, Lv, Exp, GuideStep, UTMSource, LoginTime, Amount, DeviceName, PayMoney
- FROM
- @tmptable
- )
-
- --返回信息:合作商名称(PartnerName)(varchar(32))、用户ID(UserID)(int)、昵称(NickName)(varchar(32))、
- -- IMei(IMei)(varchar(32))、注册IP(RegIP)(varchar(20))
- SELECT
- l.RowNumber, ISNULL(p.PartnerName, CAST(l.PartnerID AS VARCHAR)) AS PartnerName, l.UserID, l.NickName,
- l.IMei, l.RegIP, CONVERT(CHAR(20), l.RegTime, 120) AS RegTime, l.deviceid, l.Lv, l.Exp, l.GuideStep,
- l.UTMSource, CONVERT(CHAR(20), l.LoginTime, 120) AS LoginTime, l.Amount, l.DeviceName, l.PayMoney
- FROM
- [List] l LEFT JOIN [Partner] p ON l.PartnerID = p.PartnerID
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AllUser_GetRegLogList_V2] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AllUser_GetRegLogList_V2]
- -- @PartnerID = 1,
- -- @BeginTime = '',
- -- @EndTime = '',
- -- @RecordCount = @RecordCount OUTPUT
- -- SELECT @RecordCount AS RecordCount
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 流量渠道注册日志
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_AllUser_GetRegLogList_V2]
- @UTMSources VARCHAR(1024), --合作商ID
- @Lv TINYINT, --等级
- @Exp INT, --经验
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --结束时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --总记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
- DECLARE @SourceName VARCHAR(32) --源名称
- DECLARE @StartIndex INT --起始
- DECLARE @EndIndex INT --截止
-
- DECLARE @tmpSource TABLE(
- SourceName VARCHAR(32) NOT NULL
- )
-
- --表变量
- DECLARE @tmptable TABLE(
- PartnerID INT NOT NULL, --合作商ID
- UserID INT NOT NULL, --用户ID
- NickName NVARCHAR(32) NOT NULL, --昵称
- IMei VARCHAR(64) NOT NULL, --IMei
- RegIP VARCHAR(16) NOT NULL, --注册IP
- RegTime DATETIME NOT NULL, --注册时间
- deviceid VARCHAR(64) NOT NULL, --设备号
- Lv INT NOT NULL, --等级
- Exp INT NOT NULL, --经验值
- GuideStep INT NOT NULL, --新手指引
- UTMSource NVARCHAR(1024) NOT NULL, --流量渠道
- PayMoney DECIMAL(18, 2) NOT NULL, --累计充值
- DeviceName VARCHAR(32) NOT NULL, --设备名称
- LoginTime DATETIME NOT NULL, --登录时间
- Amount BIGINT NOT NULL, --金币
- Version INT NOT NULL --版本号
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- SET @StartIndex = 0
- SET @EndIndex = 0
-
- WHILE(1=1)
- BEGIN
- SET @EndIndex = CHARINDEX(',', @UTMSources, @StartIndex)
- IF(@EndIndex <= 0)
- BREAK
-
- SET @SourceName = CAST(SUBSTRING(@UTMSources, @StartIndex, @EndIndex - @StartIndex) AS VARCHAR(32))
-
- INSERT INTO @tmpSource(SourceName) VALUES(@SourceName)
-
- SET @StartIndex = @EndIndex + 1
- END
-
- --初始化数据
- INSERT INTO @tmptable
- (
- PartnerID, UserID, NickName, IMei, RegIP, RegTime, deviceid,
- Lv, Exp, GuideStep, UTMSource, DeviceName, PayMoney, LoginTime, Amount, Version
- )
- SELECT
- RegPartnerID, UserID, NickName, IMei, RegIP, RegTime, deviceid,
- 1, 0, 0, 'unknown', DeviceName, PayMoney, LoginTime, 0, Version
- FROM
- [AllUser]
- WHERE
- RegTime BETWEEN @BeginTime AND @EndTime AND UserID NOT IN (SELECT UserID FROM [MachineUser])
-
- --获取流量渠道
- UPDATE t SET t.UTMSource = u.Source FROM @tmptable t INNER JOIN [UTM] u ON t.UserID = u.UserID AND u.Source != ''
-
- --获取等级、经验
- UPDATE t SET t.Lv = v.Lv, t.Exp = v.Exp FROM @tmptable t INNER JOIN [UserLevel] v ON t.UserID = v.UserID
-
- --获取金豆信息
- UPDATE t SET t.Amount = m.Amount FROM @tmptable t INNER JOIN [Money] m ON t.UserID = m.UserID
-
- --删除不合条件的数据
- DELETE FROM @tmptable WHERE Lv < @Lv
- DELETE FROM @tmptable WHERE Exp < @Exp
- DELETE FROM @tmptable WHERE UTMSource NOT IN (SELECT SourceName FROM @tmpSource)
-
- --获取新手指引
- UPDATE t SET t.GuideStep = ut.Status FROM @tmptable t INNER JOIN [UserTask] ut ON t.UserID = ut.UserID AND ut.TaskID = 20014
-
- --总记录数
- SELECT @RecordCount = COUNT(*) FROM @tmptable
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY RegTime DESC) AS RowNumber,
- PartnerID, UserID, NickName, IMei, RegIP, RegTime, deviceid, Lv, Exp, GuideStep, UTMSource,
- DeviceName, PayMoney, LoginTime, Amount, Version
- FROM
- @tmptable
- )
-
- --返回信息:合作商名称(PartnerName)(varchar(32))、用户ID(UserID)(int)、昵称(NickName)(varchar(32))、
- -- IMei(IMei)(varchar(32))、注册IP(RegIP)(varchar(20))
- SELECT
- l.RowNumber, ISNULL(p.PartnerName, CAST(l.PartnerID AS VARCHAR)) AS PartnerName, l.UserID, l.NickName,
- l.IMei, l.RegIP, CONVERT(CHAR(20), l.RegTime, 120) AS RegTime, l.deviceid, l.Lv, l.Exp, l.GuideStep, l.UTMSource,
- l.DeviceName, l.PayMoney, CONVERT(CHAR(20), l.LoginTime, 120) AS LoginTime, l.Amount, l.Version
- FROM
- [List] l LEFT JOIN [Partner] p ON l.PartnerID = p.PartnerID
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AllUser_GetSimpleInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AllUser_GetSimpleInfo]
- -- =============================================
- -- Author: wolf
- -- Create Date: 2016-10-21
- -- Mendor: wolf
- -- Alter Date: 2016-10-21
- -- Description: 后台用户简单信息
- -- =============================================
- CREATE PROCEDURE [dbo].[Manage_AllUser_GetSimpleInfo]
- @UserID INT, --用户ID
- @NickName NVARCHAR(32) --昵称
- AS
- SET NOCOUNT ON -- 节约反馈资源
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @NewUserID INT --用户ID
- DECLARE @NewNickName NVARCHAR(32) --昵称
- DECLARE @Amount BIGINT --金额
- DECLARE @Bank BIGINT --保险柜
- DECLARE @ChipAmount BIGINT --筹码金额
- DECLARE @ChipBank BIGINT --筹码保险柜
- SET @NewUserID = 0
- SET @NewNickName = ''
- SET @Amount = 0
- SET @Bank = 0
- SET @ChipAmount = 0
- SET @ChipBank = 0
- --查询某个账号
- IF(@UserID > 0)
- BEGIN
- SELECT @NewUserID = UserID, @NewNickName = NickName FROM [AllUser] WHERE UserID = @UserID
- END
-
- --查询昵称
- ELSE
- BEGIN
- SELECT @NewUserID = UserID, @NewNickName = NickName FROM [AllUser] WHERE NickName = @NickName
- END
- --有账号信息,查询金币信息
- IF(@NewUserID > 0)
- BEGIN
- --金币
- EXEC [p_if_getmoney] @userid = @NewUserID, @moneyamount = @Amount OUTPUT, @Bank = @Bank OUTPUT
-
- --筹码
- EXEC [Game_Chip_GetInfo] @UserID = @NewUserID, @Amount = @ChipAmount OUTPUT, @Bank = @ChipBank OUTPUT
- END
- --返回信息
- SELECT
- @NewUserID AS UserID, @NewNickName AS NickName, @Amount AS Amount, @Bank AS Bank,
- @ChipAmount AS ChipAmount, @ChipBank AS ChipBank
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AllUser_GetTags] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AllUser_GetTags]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-07-18
- -- Mendor: wolf
- -- Alter Date: 2017-01-05
- -- Description: 获取用户标签信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_AllUser_GetTags]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DateFlag SMALLDATETIME
- DECLARE @RowCount INT --记录数
- DECLARE @tmptable TABLE(
- UserID INT NOT NULL, --用户ID
- NickName NVARCHAR(32) NOT NULL, --昵称
- VipLevel INT NOT NULL, --VIP等级
- PayMoney DECIMAL(18, 2) NOT NULL, --充值累计
- LastPayTime DATETIME NOT NULL --最近支付时间
- )
-
- SET @DateFlag = CONVERT(CHAR(10), GETDATE(), 120)
-
- --初始化
- INSERT INTO @tmptable
- (
- UserID, NickName, VipLevel, PayMoney, LastPayTime
- )
- SELECT
- UserID, '', 0, SUM(RMBMoney), MAX(DateFlag)
- FROM
- [UserPayLog]
- GROUP BY
- UserID
-
- SET @RowCount = @@ROWCOUNT
-
- --初始化
- INSERT INTO @tmptable
- (
- UserID, NickName, VipLevel, PayMoney, LastPayTime
- )
- SELECT
- UserID, '', 0, SUM(Price), MAX(Crdate)
- FROM
- [KayaPay]
- GROUP BY
- UserID
-
- SET @RowCount = @RowCount + @@ROWCOUNT
-
- --初始化
- INSERT INTO @tmptable
- (
- UserID, NickName, VipLevel, PayMoney, LastPayTime
- )
- SELECT
- UserID, '', 0, SUM(Price), MAX(Crdate)
- FROM
- [FlashPay]
- GROUP BY
- UserID
-
- SET @RowCount = @RowCount + @@ROWCOUNT
-
- --初始化
- INSERT INTO @tmptable
- (
- UserID, NickName, VipLevel, PayMoney, LastPayTime
- )
- SELECT
- UserID, '', 0, SUM(Price), MAX(Crdate)
- FROM
- [DingpeiPay]
- GROUP BY
- UserID
-
- SET @RowCount = @RowCount + @@ROWCOUNT
- --有记录
- IF(@RowCount > 0)
- BEGIN
- --获取VIP等级
- UPDATE t SET t.VipLevel = v.VipLevel FROM @tmptable t INNER JOIN [UserVIP] v ON t.UserID = v.UserID
-
- --昵称
- UPDATE t SET t.NickName = u.NickName FROM @tmptable t INNER JOIN [AllUser] u ON t.UserID = u.UserID
- END
-
- --返回信息
- SELECT
- UserID, VipLevel, PayMoney,
- CASE
- WHEN @DateFlag - 7 <= LastPayTime THEN 3 --只要玩家最近一周时间内进行充值后,玩家昵称、id显示为红色
- WHEN @DateFlag - 30 <= LastPayTime THEN 2 --只要玩家最近一个月时间内有充值,玩家昵称、id显示为橙色
- ELSE 1 --只要玩家有充值则玩家昵称、id显示为黄色
- END AS ColorValue, NickName
- FROM
- @tmptable
- ORDER BY
- ColorValue DESC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AllUser_GetTrack] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AllUser_GetTrack]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 用户足迹
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_AllUser_GetTrack]
- @UserID INT, --用户ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
- --表变量
- DECLARE @tmptable TABLE(
- Level_1 NVARCHAR(32) NOT NULL, --1级类目
- Level_2 NVARCHAR(32) NOT NULL, --2级类目
- Level_3 NVARCHAR(32) NOT NULL, --3级类目
- Crdate DATETIME NOT NULL --时间
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --初始化数据
- INSERT INTO @tmptable(
- Level_1, Level_2, Level_3, Crdate
- )
- SELECT
- Level_1, Level_2, Level_3, Crdate
- FROM
- [UserTrack]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
-
- UNION ALL
-
- SELECT
- Level_1, Level_2, Level_3, Crdate
- FROM
- [UserTrackHistory]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Crdate ASC) AS RowNumber,
- Level_1, Level_2, Level_3, Crdate
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- RowNumber, CONVERT(CHAR(23), Crdate, 121) AS Crdate, Level_1, Level_2, Level_3
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AllUser_GetUserID] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AllUser_GetUserID]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 获取用户ID(根据昵称)
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_AllUser_GetUserID]
- @UserID INT, --用户ID
- @NickName NVARCHAR(32), --昵称
- @NewUserID INT OUTPUT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SET @NewUserID = 0
-
- --根据昵称查询
- IF(LEN(@NickName) > 0)
- BEGIN
- SELECT @NewUserID = UserID FROM [AllUser] WHERE NickName = @NickName
- END
-
- --其他
- ELSE IF(@UserID > 0)
- BEGIN
- SELECT @NewUserID = UserID FROM [AllUser] WHERE UserID = @UserID
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Announce_Del] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Announce_Del]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 删除公告
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Announce_Del]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @Rid INT, --标识
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
-
- --删除公告
- DELETE FROM [Announce] WHERE Rid = @Rid
-
- SET @Msg = N'删除系统公告,Rid=' + LTRIM(STR(@Rid))
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName,
- @IPAddress = @IPAddress, @Msg = @Msg
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Announce_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Announce_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 公告列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Announce_GetList]
- @Rid INT --标识
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- IF(@Rid > 0)
- BEGIN
- SELECT
- Rid, Title_En, Content_En, Title_Eg, Content_Eg,
- Priority, Version, CONVERT(VARCHAR(20), BeginTime, 120) AS BeginTime,
- CONVERT(VARCHAR(20), EndTime, 120) AS EndTime, Enabled,
- CONVERT(VARCHAR(20), Crdate, 120) AS Crdate
- FROM
- [Announce]
- WHERE
- Rid = @Rid
-
- RETURN
- END
-
- SELECT
- Rid, Title_En, Content_En, Title_Eg, Content_Eg,
- Priority, Version, CONVERT(VARCHAR(20), BeginTime, 120) AS BeginTime,
- CONVERT(VARCHAR(20), EndTime, 120) AS EndTime, Enabled,
- CONVERT(VARCHAR(20), Crdate, 120) AS Crdate
- FROM
- [Announce]
- ORDER BY
- Rid DESC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Announce_Send] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Announce_Send]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 发布公告
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Announce_Send]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @Title_En NVARCHAR(32), --英文标题
- @Content_En NVARCHAR(4000), --英文内容
- @Title_Eg NVARCHAR(32), --埃及标题
- @Content_Eg NVARCHAR(4000), --埃及内容
- @Priority TINYINT, --优先级,5个等级,5优先级最高,1优先级最低
- @Version INT, --版本号
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @Enabled TINYINT, --是否启用
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @Rid INT
-
- --初始化
- INSERT INTO [Announce]
- (
- Title_En, Content_En, Title_Eg, Content_Eg, Priority, Version,
- BeginTime, EndTime, Enabled, Crdate
- )
- VALUES
- (
- @Title_En, @Content_En, @Title_Eg, @Content_Eg, @Priority, @Version,
- @BeginTime, @EndTime, @Enabled, GETDATE()
- )
-
- SET @Rid = SCOPE_IDENTITY()
-
- SET @Msg = N'发布系统公告,Title=' + @Title_En + '(' + @Title_Eg + '),Rid=' + LTRIM(STR(@Rid))
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName,
- @IPAddress = @IPAddress, @Msg = @Msg
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Announce_Update] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Announce_Update]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 修改公告
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Announce_Update]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @Rid INT, --标识
- @Title_En NVARCHAR(32), --英文标题
- @Content_En NVARCHAR(4000), --英文内容
- @Title_Eg NVARCHAR(32), --埃及标题
- @Content_Eg NVARCHAR(4000), --埃及内容
- @Priority TINYINT, --优先级,5个等级,5优先级最高,1优先级最低
- @Version INT, --版本号
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @Enabled TINYINT, --是否启用
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
-
- --修改
- UPDATE
- [Announce]
- SET
- Title_En = @Title_En, Content_En = @Content_En,
- Title_Eg = @Title_Eg, Content_Eg = @Content_Eg,
- Priority = @Priority, Version = @Version,
- BeginTime = @BeginTime, EndTime = @EndTime, Enabled = @Enabled
- WHERE
- Rid = @Rid
-
- SET @Rid = SCOPE_IDENTITY()
-
- SET @Msg = N'修改系统公告,Title=' + @Title_En + '(' + @Title_Eg + '),Rid=' + LTRIM(STR(@Rid))
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName,
- @IPAddress = @IPAddress, @Msg = @Msg
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Apple_GetErrorList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RecordCount INT
- -- EXEC [Manage_Apple_GetErrorList]
- -- @PartnerID = 10001,
- -- @UserID = 1,
- -- @BeginTime = '',
- -- @EndTime = '',
- -- @PageIndex = 1,
- -- @PageSize = 10,
- -- @RecordCount = @RecordCount OUTPUT
- -- SELECT @RecordCount AS RecordCount
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-07-23
- -- Mendor: wolf
- -- Alter Date: 2015-09-16
- -- Description: 苹果--充值错误列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Apple_GetErrorList]
- @UserID INT, --用户ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --创建临时表
- DECLARE @tmptable TABLE(
- PartnerID INT NOT NULL, --合作商ID
- UserID INT NOT NULL, --用户ID
- ErrorMsg VARCHAR(1024) NOT NULL, --错误消息
- Crdate DATETIME NOT NULL, --创建时间
- NickName NVARCHAR(32) NOT NULL, --昵称
- IPAddress VARCHAR(16) NOT NULL --IP地址
- )
- --用户查询
- IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- PartnerID, UserID, ErrorMsg, Crdate, NickName, IPAddress
- )
- SELECT
- url.PartnerID, ael.UserID, ael.ErrorMsg, ael.Crdate, url.NickName, ael.IPAddress
- FROM
- [VerifyErrorLog] ael INNER JOIN [AllUser] url ON ael.UserID = url.UserID
- WHERE
- ael.UserID = @UserID AND ael.Crdate BETWEEN @BeginTime AND @EndTime
- ORDER BY
- ael.Crdate DESC
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
- END
-
- --时间段内所有记录
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- PartnerID, UserID, ErrorMsg, Crdate, NickName, IPAddress
- )
- SELECT
- url.PartnerID, ael.UserID, ael.ErrorMsg, ael.Crdate, url.NickName, ael.IPAddress
- FROM
- [VerifyErrorLog] ael INNER JOIN [AllUser] url ON ael.UserID = url.UserID
- WHERE
- ael.Crdate BETWEEN @BeginTime AND @EndTime
- ORDER BY
- ael.Crdate DESC
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
- END
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Crdate DESC) AS RowNumber,
- PartnerID, UserID, ErrorMsg, Crdate, NickName, IPAddress
- FROM
- @tmptable
- )
-
- --返回信息:用户ID(UserID)(int)、用户名称(NickName)(varchar(32))、错误消息(ErrorMsg)(int)、
- -- 创建时间(Crdate)(varchar(16))、合作商名称(PartnerName)(varchar)
- SELECT
- l.UserID, l.NickName, l.ErrorMsg, CONVERT(CHAR(16), l.Crdate, 120) AS Crdate,
- ISNULL(p.PartnerName, CAST(l.PartnerID AS VARCHAR)) AS PartnerName, l.IPAddress
- FROM
- [List] l LEFT JOIN [Partner] p ON l.PartnerID = p.PartnerID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Apple_GetLogList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RecordCount INT
- -- EXEC [Manage_Apple_GetLogList]
- -- @UserID = 1,
- -- @BeginTime = '',
- -- @EndTime = '',
- -- @PageIndex = 1,
- -- @PageSize = 10,
- -- @RecordCount = @RecordCount OUTPUT
- -- SELECT @RecordCount AS RecordCount
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-07-23
- -- Mendor: wolf
- -- Alter Date: 2015-09-16
- -- Description: 苹果--充值日志列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Apple_GetLogList]
- @UserID INT, --用户ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --创建临时表
- DECLARE @tmptable TABLE(
- PartnerID INT NOT NULL, --合作商ID
- UserID INT NOT NULL, --用户ID
- ReceiptBuffer VARCHAR(4096) NOT NULL, --内容
- Crdate DATETIME NOT NULL, --创建时间
- NickName NVARCHAR(32) NOT NULL, --昵称
- IPAddress VARCHAR(16) NOT NULL --IP地址
- )
-
- --用户查询
- IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- PartnerID, UserID, ReceiptBuffer, Crdate, NickName, IPAddress
- )
- SELECT
- url.PartnerID, p.UserID, p.ReceiptBuffer, p.Crdate, url.NickName, p.IPAddress
- FROM
- [VerifyLog] p INNER JOIN [AllUser] url ON p.UserID = url.UserID
- WHERE
- p.UserID = @UserID AND p.Crdate BETWEEN @BeginTime AND @EndTime
- ORDER BY
- p.Crdate DESC
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
- END
-
- --时间段内所有记录
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- PartnerID, UserID, ReceiptBuffer, Crdate, NickName, IPAddress
- )
- SELECT
- url.PartnerID, p.UserID, p.ReceiptBuffer, p.Crdate, url.NickName, p.IPAddress
- FROM
- [VerifyLog] p INNER JOIN [AllUser] url ON p.UserID = url.UserID
- WHERE
- p.Crdate BETWEEN @BeginTime AND @EndTime
- ORDER BY
- p.Crdate DESC
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
- END
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Crdate DESC) AS RowNumber,
- PartnerID, UserID, ReceiptBuffer, Crdate, NickName, IPAddress
- FROM
- @tmptable
- )
-
- --返回信息:用户ID(UserID)(int)、用户名称(NickName)(varchar(32))、内容(ReceiptBuffer)(int)、创建时间(Crdate)(varchar(16))
- SELECT
- l.UserID, l.NickName, ReceiptBuffer, CONVERT(CHAR(16), l.Crdate, 120) AS Crdate,
- ISNULL(p.PartnerName, CAST(l.PartnerID AS VARCHAR)) AS PartnerName, l.IPAddress
- FROM
- [List] l LEFT JOIN [Partner] p ON l.PartnerID = p.PartnerID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AudioRoom_BlackIdentity] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AudioRoom_BlackIdentity]
- -- @RoomID = 1
- -- @BlackType = 2
- -- @BeginTime = '2023-05-01 00:00:00'
- -- @EndTime = '2023-06-30 23:59:59'
- -- @PageIndex = 1
- -- @PageSize = 50
- -- @RecordCount = 0
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-06-28
- -- Mendor: wolf
- -- Alter Date: 2023-06-28
- -- Description: 获取语聊房的黑名单列表(含用户身份)
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_AudioRoom_BlackIdentity]
- @RoomID INT, -- 房间ID
- @BlackType INT, -- 黑名单的类型(1:房间,2:麦位)
- @BeginTime DATETIME, -- 开始时间
- @EndTime DATETIME, -- 结束时间
- @PageIndex INT, -- 页索引
- @PageSize INT, -- 页大小
- @RecordCount INT OUTPUT -- 记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT -- 起始行索引
- DECLARE @EndRowIndex INT -- 截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- -- 创建临时表变量
- DECLARE @tmptable TABLE(
- RoomID INT NOT NULL, -- 房间ID
- UserID INT NOT NULL, -- 用户ID
- ExpireTime DATETIME NOT NULL -- 过期时间戳
- )
- INSERT INTO @tmptable
- (
- RoomID, UserID, ExpireTime
- )
- SELECT
- RoomID, UserID, ExpireTime
- FROM
- [AudioRoomBlack]
- WHERE
- -- ExpireTime BETWEEN @BeginTime AND @EndTime AND
- RoomID = CASE
- WHEN @RoomID > 0 THEN @RoomID
- ELSE RoomID
- END
- AND BlackType = CASE
- WHEN @BlackType > 0 THEN @BlackType
- ELSE BlackType
- END
- -- 记录数
- SET @RecordCount = @@ROWCOUNT
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY ExpireTime ASC) AS RowNumber,
- RoomID, UserID, ExpireTime
- FROM
- @tmptable
- )
- -- 返回信息
- SELECT
- l.UserID, u.NickName, r.RoleID, r.Level, [dbo].fn_TimeToStamp(l.ExpireTime) AS ExpireTime,
- CONVERT(CHAR(20), r.Crdate, 120) AS Crdate
- FROM
- [List] AS l
- INNER JOIN [UserAudioRoom] AS r ON l.UserID = r.UserID AND l.RoomID = r.RoomID
- INNER JOIN [AllUser] AS u ON l.UserID = u.UserID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AudioRoom_GetAllRoom] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AudioRoom_GetAllRoom]
- -- @RoomID = 1,
- -- @RoomName = '',
- -- @BeginTime = '2023-06-21 00:00:00',
- -- @EndTime = '2023-06-21 23:59:59',
- -- @PageIndex = 1,
- -- @PageSize = 10,
- -- @SortName = 'Level',
- -- @SortType = 'ASC',
- -- @RecordCount = @RecordCount OUTPUT
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-06-26
- -- Mendor: wolf
- -- Alter Date: 2023-06-26
- -- Description: 获取语音房的所有房间
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_AudioRoom_GetAllRoom]
- @RoomID INT, -- 房间ID
- @RoomName NVARCHAR(32), -- 房间名称
- @BeginTime DATETIME, -- 开始时间
- @EndTime DATETIME, -- 结束时间
- @PageIndex INT, -- 页索引
- @PageSize INT, -- 页大小
- @SortName VARCHAR(16), -- 排序名称
- @SortType CHAR(4), -- 排序类型
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT -- 起始行索引
- DECLARE @EndRowIndex INT -- 截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- DECLARE @tmptable TABLE(
- RoomID INT NOT NULL, -- 房间ID
- RoomName NVARCHAR(32) NOT NULL, -- 房间名称
- UserID INT NOT NULL, -- 用户ID
- Level INT NOT NULL, -- 等级
- Exps INT NOT NULL, -- 经验
- MemberCount INT NOT NULL, -- 会员数
- Crdate DATETIME NOT NULL, -- 创建时间
- CollectDiamond INT NOT NULL, -- 钻石收益
- DiamondAmount INT NOT NULL, -- 钻石消耗数量
- CollectGold INT NOT NULL, -- 金币收益
- GoldAmount INT NOT NULL -- 金币消耗数量
- )
- -- 创建一个表变量来存储收益总和
- DECLARE @IncomeTotals TABLE (
- UserID INT NOT NULL, -- 用户ID
- TotalCollectDiamond INT NOT NULL, -- 钻石收益总和
- TotalCollectGold INT NOT NULL -- 金币收益总和
- )
- INSERT INTO @tmptable
- (
- RoomID, RoomName, UserID, [Level], Exps, MemberCount, Crdate, CollectDiamond, DiamondAmount, CollectGold, GoldAmount
- )
- SELECT
- RoomID, RoomName, UserID, [Level], Exps, MemberCount, Crdate, 0, 0, 0, 0
- FROM
- [AudioRoom]
- WHERE
- -- Crdate BETWEEN @BeginTime AND @EndTime AND
- RoomID = CASE -- 查询某个房间ID
- WHEN @RoomID > 0 THEN @RoomID
- ELSE RoomID
- END
- AND RoomName = CASE -- 查询某个房间名称
- WHEN @RoomName != '' THEN @RoomName
- ELSE RoomName
- END
- -- 记录数
- SET @RecordCount = @@ROWCOUNT
- -- 计算收益总和并插入到表变量中
- INSERT INTO @IncomeTotals
- (
- UserID, TotalCollectDiamond, TotalCollectGold
- )
- SELECT
- UserID,
- SUM(CASE WHEN ItemType = 2 THEN TotalProfit ELSE 0 END) AS TotalCollectDiamond,
- SUM(CASE WHEN ItemType = 1 THEN TotalProfit ELSE 0 END) AS TotalCollectGold
- FROM
- [UserIncome]
- GROUP BY
- UserID
- -- 更新 @tmptable 表中的 CollectDiamond 和 CollectGold 字段
- UPDATE t
- SET t.CollectDiamond = COALESCE(it.TotalCollectDiamond, 0),
- t.CollectGold = COALESCE(it.TotalCollectGold, 0)
- FROM
- @tmptable AS t
- INNER JOIN @IncomeTotals AS it ON t.RoomID = it.UserID
- -- 钻石、金币消耗总和
- UPDATE t
- SET t.DiamondAmount = COALESCE(agh.TotalDiamondAmount, 0),
- t.GoldAmount = COALESCE(agh.TotalGoldAmount, 0)
- FROM
- @tmptable AS t
- INNER JOIN (
- SELECT
- RoomID,
- SUM(DiamondAmount) AS TotalDiamondAmount,
- SUM(GoldAmount) AS TotalGoldAmount
- FROM
- [AudioRoomGiftHistory]
- GROUP BY
- RoomID
- ) AS agh ON t.RoomID = agh.RoomID;
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY
- CASE WHEN @SortName = 'Level' AND @SortType = 'ASC' THEN Level END ASC, -- 房间等级
- CASE WHEN @SortName = 'Level' AND @SortType = 'DESC' THEN Level END DESC,
- CASE WHEN @SortName = 'Level' AND @SortType = 'ASC' THEN Exps END ASC, -- 经验值
- CASE WHEN @SortName = 'Level' AND @SortType = 'DESC' THEN Exps END DESC,
- CASE WHEN @SortName = 'MemberCount' AND @SortType = 'ASC' THEN MemberCount END ASC, -- 成员数量
- CASE WHEN @SortName = 'MemberCount' AND @SortType = 'DESC' THEN MemberCount END DESC,
- CASE WHEN @SortName = 'CollectDiamond' AND @SortType = 'ASC' THEN CollectDiamond END ASC, -- 钻石收益
- CASE WHEN @SortName = 'CollectDiamond' AND @SortType = 'DESC' THEN CollectDiamond END DESC,
- CASE WHEN @SortName = 'DiamondAmount' AND @SortType = 'ASC' THEN DiamondAmount END ASC, -- 钻石消耗数量
- CASE WHEN @SortName = 'DiamondAmount' AND @SortType = 'DESC' THEN DiamondAmount END DESC,
- CASE WHEN @SortName = 'CollectGold' AND @SortType = 'ASC' THEN CollectGold END ASC, -- 金币收益
- CASE WHEN @SortName = 'CollectGold' AND @SortType = 'DESC' THEN CollectGold END DESC,
- CASE WHEN @SortName = 'GoldAmount' AND @SortType = 'ASC' THEN GoldAmount END ASC, -- 金币消耗数量
- CASE WHEN @SortName = 'GoldAmount' AND @SortType = 'DESC' THEN GoldAmount END DESC,
- Crdate DESC
- ) AS RowNumber,
- RoomID, RoomName, UserID, Level, Exps, MemberCount, Crdate, CollectDiamond, DiamondAmount, CollectGold, GoldAmount
- FROM
- @tmptable
- )
- -- 返回信息
- SELECT
- l.RoomID, l.RoomName, l.UserID, u.NickName, l.Level, l.Exps, l.MemberCount, l.CollectDiamond,
- l.DiamondAmount, l.CollectGold, l.GoldAmount, CONVERT(CHAR(20), l.Crdate, 120) AS Crdate
- FROM
- [List] AS l
- INNER JOIN [AllUser] AS u ON l.UserID = u.UserID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AudioRoom_GetAllRoomExpend] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AudioRoom_GetAllRoomExpend]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-06-30
- -- Mendor: wolf
- -- Alter Date: 2023-06-30
- -- Description: 获取全部房间的消耗情况
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_AudioRoom_GetAllRoomExpend]
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @tmptable TABLE(
- RoomID INT NOT NULL, -- 房间ID
- CollectDiamond INT NOT NULL, -- 钻石收益
- DiamondAmount INT NOT NULL, -- 钻石消耗数量
- CollectGold INT NOT NULL, -- 金币收益
- GoldAmount INT NOT NULL -- 金币消耗数量
- )
- -- 创建一个表变量来存储收益总和
- DECLARE @IncomeTotals TABLE (
- UserID INT NOT NULL, -- 用户ID
- TotalCollectDiamond INT NOT NULL, -- 钻石收益总和
- TotalCollectGold INT NOT NULL -- 金币收益总和
- )
- INSERT INTO @tmptable
- (
- RoomID, CollectDiamond, DiamondAmount, CollectGold, GoldAmount
- )
- SELECT
- RoomID, 0, 0, 0, 0
- FROM
- [AudioRoom]
- -- 计算收益总和并插入到表变量中
- INSERT INTO @IncomeTotals
- (
- UserID, TotalCollectDiamond, TotalCollectGold
- )
- SELECT
- UserID,
- SUM(CASE WHEN ItemType = 2 THEN TotalProfit ELSE 0 END) AS TotalCollectDiamond,
- SUM(CASE WHEN ItemType = 1 THEN TotalProfit ELSE 0 END) AS TotalCollectGold
- FROM
- [UserIncome]
- GROUP BY
- UserID
- -- 更新 @tmptable 表中的 CollectDiamond 和 CollectGold 字段
- UPDATE t
- SET t.CollectDiamond = COALESCE(it.TotalCollectDiamond, 0),
- t.CollectGold = COALESCE(it.TotalCollectGold, 0)
- FROM
- @tmptable AS t
- INNER JOIN @IncomeTotals AS it ON t.RoomID = it.UserID
- -- 钻石、金币消耗总和
- UPDATE t
- SET t.DiamondAmount = COALESCE(agh.TotalDiamondAmount, 0),
- t.GoldAmount = COALESCE(agh.TotalGoldAmount, 0)
- FROM
- @tmptable AS t
- INNER JOIN (
- SELECT
- RoomID,
- SUM(DiamondAmount) AS TotalDiamondAmount,
- SUM(GoldAmount) AS TotalGoldAmount
- FROM
- [AudioRoomGiftHistory]
- GROUP BY
- RoomID
- ) AS agh ON t.RoomID = agh.RoomID;
- -- 返回信息
- SELECT
- RoomID, CollectDiamond, DiamondAmount, CollectGold, GoldAmount
- FROM
- @tmptable
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AudioRoom_GetExtraInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AudioRoom_GetExtraInfo]
- -- @RoomId = 1
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-06-27
- -- Mendor: wolf
- -- Alter Date: 2023-06-27
- -- Description: 获取语聊房的额外信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_AudioRoom_GetExtraInfo]
- @RoomId INT --房间ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Rid INT -- 房间ID
- DECLARE @RoomName NVARCHAR(32) -- 房间名称
- DECLARE @RoomImg VARCHAR(256) -- 房间图片
- DECLARE @Family NVARCHAR(32) -- 家族
- DECLARE @Country NVARCHAR(32) -- 国家
- DECLARE @Language NVARCHAR(32) -- 语言
- DECLARE @JoinFee INT -- 入会费
- DECLARE @Announce NVARCHAR(256) -- 公告内容
- DECLARE @Tag NVARCHAR(32) -- 标签
- DECLARE @MemberCount INT -- 会员数
- DECLARE @Crdate DATETIME -- 创建日期
- DECLARE @Level INT -- 等级
- DECLARE @Exps INT -- 经验值
- DECLARE @CollectDiamond INT -- 钻石收益
- DECLARE @DiamondAmount INT -- 钻石消耗数量
- DECLARE @CollectGold INT -- 金币收益
- DECLARE @GoldAmount INT -- 金币消耗数量
- DECLARE @MicInfo VARCHAR(1024) -- 麦位信息
- -- 房间信息
- SELECT
- @Rid = RoomID, @RoomName = RoomName, @RoomImg = RoomImg, @Family = Family,
- @Country = Country, @Language = [Language], @JoinFee = JoinFee, @Announce = Announce,
- @Tag = Tag, @MemberCount = MemberCount, @Crdate = Crdate, @Level = [Level], @Exps = Exps
- FROM
- [AudioRoom]
- WHERE
- RoomID = @RoomId
- IF(@@ROWCOUNT = 0)
- RETURN
- -- 钻石、金币收益
- SELECT
- @CollectDiamond = SUM(CASE WHEN ItemType = 2 THEN TotalProfit ELSE 0 END),
- @CollectGold = SUM(CASE WHEN ItemType = 1 THEN TotalProfit ELSE 0 END)
- FROM
- [UserIncome]
- WHERE
- UserID = @RoomId
- -- 钻石、金币消耗数量
- SELECT
- @DiamondAmount = SUM(DiamondAmount),
- @GoldAmount = SUM(GoldAmount)
- FROM
- [AudioRoomGiftHistory]
- WHERE
- RoomID = @RoomId
- -- 麦位信息
- SELECT
- @MicInfo = MicInfo
- FROM
- [AudioRoomMic]
- WHERE
- RoomID = @RoomId
- -- 返回结果
- SELECT
- @Rid AS RoomId, @RoomName AS RoomName, @RoomImg AS RoomImg, @Family AS Family,
- @Country AS Country, @Language AS [Language], @JoinFee AS JoinFee, @Announce AS Announce,
- @Tag AS Tag, @MemberCount AS MemberCount, CONVERT(CHAR(20), @Crdate, 120) AS Crdate, @Level AS [Level],
- @Exps AS Exps, ISNULL(@CollectDiamond, 0) AS CollectDiamond, ISNULL(@DiamondAmount, 0) AS DiamondAmount,
- ISNULL(@CollectGold, 0) AS CollectGold, ISNULL(@GoldAmount, 0) AS GoldAmount, @MicInfo AS MicInfo
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AudioRoom_GetRoomLogRecord] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AudioRoom_GetRoomLogRecord]
- -- @RoomID = 1,
- -- @BeginTime = '2023-06-21 00:00:00',
- -- @EndTime = '2023-06-21 23:59:59',
- -- @PageIndex = 1,
- -- @PageSize = 10,
- -- @RecordCount = @RecordCount OUTPUT
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-07-04
- -- Mendor: wolf
- -- Alter Date: 2023-07-04
- -- Description: 获取房内操作记录
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_AudioRoom_GetRoomLogRecord]
- @RoomID INT, -- 房间ID
- @BeginTime DATETIME, -- 开始时间
- @EndTime DATETIME, -- 结束时间
- @PageIndex INT, -- 页索引
- @PageSize INT, -- 页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT -- 起始行索引
- DECLARE @EndRowIndex INT -- 截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- DECLARE @tmptable TABLE(
- Rid INT IDENTITY NOT NULL, -- 自增
- RoomID INT NOT NULL, -- 房间ID
- UserID INT NOT NULL, -- 用户ID
- ToUserID INT NOT NULL, -- 对象用户ID
- OperateType TINYINT NOT NULL, -- 操作类型(11=踢麦 21=禁麦 22=解麦 31=添加房间黑名单 32=移除房间黑名单)
- Crdate DATETIME NOT NULL -- 创建时间
- )
- -- 指定某个房间
- INSERT INTO @tmptable
- (
- RoomID, UserID, ToUserID, OperateType, Crdate
- )
- SELECT
- RoomID, UserID, ToUserID, OperateType, Crdate
- FROM
- [AudioRoomOperateLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- AND RoomID = CASE
- WHEN @RoomID > 0 THEN @RoomID
- ELSE RoomID
- END
- -- 记录数
- SET @RecordCount = @@ROWCOUNT
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Crdate DESC) AS RowNumber,
- RoomID, UserID, ToUserID, OperateType, Crdate
- FROM
- @tmptable
- )
- -- 返回信息
- SELECT
- RoomID, UserID, ToUserID, OperateType, CONVERT(CHAR(20), Crdate, 120) AS Crdate
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AudioRoom_GetRoomMember] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AudioRoom_GetRoomMember]
- -- @RoomID = 1,
- -- @BeginTime = '2023-06-21 00:00:00',
- -- @EndTime = '2023-06-21 23:59:59',
- -- @PageIndex = 1,
- -- @PageSize = 10,
- -- @RecordCount = @RecordCount OUTPUT
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-06-30
- -- Mendor: wolf
- -- Alter Date: 2023-06-30
- -- Description: 获取语聊房的成员信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_AudioRoom_GetRoomMember]
- @RoomID INT, -- 房间ID
- @BeginTime DATETIME, -- 开始时间
- @EndTime DATETIME, -- 结束时间
- @PageIndex INT, -- 页索引
- @PageSize INT, -- 页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT -- 起始行索引
- DECLARE @EndRowIndex INT -- 截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- DECLARE @tmptable TABLE(
- RoomID INT NOT NULL, -- 房间id
- UserID INT NOT NULL, -- 用户id
- RoleID TINYINT NOT NULL, -- 角色ID(0=关注 1=管理员 2=助理 3=成员)
- Exps INT NOT NULL, -- 经验值
- Level INT NOT NULL, -- 等级
- Crdate DATETIME NOT NULL -- 创建日期
- )
-
- INSERT INTO @tmptable
- (
- RoomID, UserID, RoleID, Exps, Level, Crdate
- )
- SELECT
- RoomID, UserID, RoleID, Exps, Level, Crdate
- FROM
- [UserAudioRoom]
- WHERE
- -- Crdate BETWEEN @BeginTime AND @EndTime AND
- RoomID = CASE
- WHEN @RoomID > 0 THEN @RoomID
- ELSE RoomID
- END
- --记录数
- SET @RecordCount = @@ROWCOUNT
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER (ORDER BY
- CASE
- WHEN RoleID > 0 THEN RoleID
- ELSE 99
- END ASC,
- Exps DESC, Level DESC, Crdate DESC
- ) AS RowNumber,
- RoomID, UserID, RoleID, Exps, Level, Crdate
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- l.RoomID, l.UserID, u.NickName, l.RoleID, l.Exps, l.Level, CONVERT(VARCHAR(20), l.Crdate, 120) AS Crdate
- FROM
- [List] AS l INNER JOIN [AllUser] AS u ON l.UserID = u.UserID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AudioRoom_GetRoomMicLog] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AudioRoom_GetRoomMicLog]
- -- @RoomId = 0 -- 房间ID
- -- @RoomName = '' -- 房间昵称(暂不支持)
- -- @UserId = 0 -- 用户ID
- -- @NickName = '' -- 用户昵称(暂不支持)
- -- @BeginTime = '' -- 开始时间
- -- @EndTime = '' -- 结束时间
- -- @PageIndex = 1 -- 页索引
- -- @PageSize = 50 -- 页大小
- -- @RecordCount = 0 -- 记录数
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-06-27
- -- Mendor: wolf
- -- Alter Date: 2023-06-27
- -- Description: 获取房间上下麦日志
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_AudioRoom_GetRoomMicLog]
- @RoomId INT, -- 房间ID
- @RoomName NVARCHAR(32), -- 房间昵称
- @UserId INT, -- 用户ID
- @NickName NVARCHAR(32), -- 用户昵称
- @BeginTime DATETIME, -- 开始时间
- @EndTime DATETIME, -- 结束时间
- @PageIndex INT, -- 页索引
- @PageSize INT, -- 页大小
- @RecordCount INT OUTPUT -- 记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT -- 起始行索引
- DECLARE @EndRowIndex INT -- 截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- DECLARE @tmptable TABLE(
- RoomID INT NOT NULL, -- 房间ID
- RoomName NVARCHAR(32) NOT NULL, -- 房间名称
- UserID INT NOT NULL, -- 用户ID
- NickName NVARCHAR(32) NOT NULL, -- 用户昵称
- RoleID TINYINT NOT NULL, -- 用户身份 【角色ID】 (0=关注 1=管理员 2=助理 3=成员)
- MicMode TINYINT NOT NULL, -- 麦位模式(上麦方式)
- OnMicTime DATETIME NOT NULL, -- 上麦时间
- OffMicTime DATETIME NOT NULL, -- 下麦时间
- Seconds INT NOT NULL, -- 时长
- OpUserID INT NOT NULL, -- 操作人ID
- OpUserRoleID TINYINT NOT NULL -- 操作人身份 【角色ID】 (0=关注 1=管理员 2=助理 3=成员)
- )
- INSERT INTO @tmptable
- (
- RoomID, RoomName, UserID, NickName, RoleID, MicMode, OnMicTime, OffMicTime, Seconds, OpUserID, OpUserRoleID
- )
- SELECT
- RoomID, '', UserID, '', RoleID, MicMode, OnMicTime, OffMicTime, Seconds, OpUserID, 0
- FROM
- [RoomMicLog]
- WHERE
- OffMicTime BETWEEN @BeginTime AND @EndTime
- AND RoomID = CASE -- 查询某个房间ID
- WHEN @RoomId > 0 THEN @RoomId
- ELSE RoomID
- END
- AND UserID = CASE -- 查询某个用户ID
- WHEN @UserId > 0 THEN @UserId
- ELSE UserID
- END
- -- 记录数
- SET @RecordCount = @@ROWCOUNT
- -- 修改临时表变量的房间名称
- UPDATE t SET t.RoomName = r.RoomName FROM @tmptable AS t INNER JOIN [AudioRoom] AS r ON t.RoomID = r.RoomID
- -- 修改临时表变量的用户昵称
- UPDATE t SET t.NickName = u.NickName FROM @tmptable AS t INNER JOIN [AllUser] AS u ON t.UserID = u.UserID
- -- 修改临时表变量的操作人角色ID
- UPDATE t SET t.OpUserRoleID = ua.RoleID FROM @tmptable AS t INNER JOIN [UserAudioRoom] AS ua ON t.RoomID = ua.RoomID AND t.OpUserID = ua.UserID
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY OffMicTime DESC) AS RowNumber,
- RoomID, RoomName, UserID, NickName, RoleID, MicMode, OnMicTime, OffMicTime, Seconds, OpUserID, OpUserRoleID
- FROM
- @tmptable
- )
- -- 返回信息
- SELECT
- RoomID, RoomName, UserID, NickName, RoleID, MicMode,
- CONVERT(CHAR(20), OnMicTime, 120) AS OnMicTime, CONVERT(CHAR(20), OffMicTime, 120) AS OffMicTime,
- Seconds, OpUserID, OpUserRoleID
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AudioRoom_GetRoomTaskList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AudioRoom_GetRoomTaskList]
- -- @RoomID = 0
- -- @BeginTime = '2023-08-10 00:00:00'
- -- @EndTime = '2023-08-10 00:00:00'
- -- @PageIndex = 0
- -- @PageSize = 0
- -- @RecordCount = 0
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 获取房间的任务列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_AudioRoom_GetRoomTaskList]
- @RoomID INT, --房间ID
- @BeginTime DATETIME, -- 开始时间
- @EndTime DATETIME, -- 结束时间
- @PageIndex INT, -- 页索引
- @PageSize INT, -- 页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
-
- DECLARE @StartRowIndex INT -- 起始行索引
- DECLARE @EndRowIndex INT -- 截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- DECLARE @tmptable TABLE(
- Rid INT IDENTITY NOT NULL, -- 自增
- RoomID INT NOT NULL, -- 房间ID
- TaskID INT NOT NULL, -- 任务ID
- Schedule INT NOT NULL, -- 进度
- CurrNum INT NOT NULL, -- 当前数值
- UpdateTime DATETIME NOT NULL -- 更新时间
- )
- IF(@RoomID > 0)
- BEGIN
- -- 指定某个房间
- INSERT INTO @tmptable
- (
- RoomID, TaskID, Schedule, CurrNum, UpdateTime
- )
- SELECT
- RoomID, TaskID, Schedule, CurrNum, UpdateTime
- FROM
- [RoomTask]
- WHERE
- UpdateTime BETWEEN @BeginTime AND @EndTime AND RoomID = @RoomID
- END
- ELSE
- BEGIN
- -- 指定某个房间
- INSERT INTO @tmptable
- (
- RoomID, TaskID, Schedule, CurrNum, UpdateTime
- )
- SELECT
- RoomID, TaskID, Schedule, CurrNum, UpdateTime
- FROM
- [RoomTask]
- WHERE
- UpdateTime BETWEEN @BeginTime AND @EndTime
- END
- -- 记录数
- SET @RecordCount = @@ROWCOUNT
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY UpdateTime DESC) AS RowNumber,
- RoomID, TaskID, Schedule, CurrNum, UpdateTime
- FROM
- @tmptable
- )
- -- 返回信息
- SELECT
- RoomID, TaskID, Schedule, CurrNum, CONVERT(CHAR(20), UpdateTime, 120) AS UpdateTime
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_AudioRoom_GetUserRoomTaskList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_AudioRoom_GetUserRoomTaskList]
- -- @RoomID = 0
- -- @UserID = 0
- -- @PageIndex = 0
- -- @PageSize = 0
- -- @RecordCount = 0
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 获取用户的房间任务
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_AudioRoom_GetUserRoomTaskList]
- @RoomID INT, --房间ID
- @UserID INT, --用户ID
- @PageIndex INT, -- 页索引
- @PageSize INT, -- 页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
-
- DECLARE @StartRowIndex INT -- 起始行索引
- DECLARE @EndRowIndex INT -- 截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- DECLARE @tmptable TABLE(
- UserID INT NOT NULL, --用户ID
- RoomID INT NOT NULL, --房间ID
- TaskID INT NOT NULL, --任务ID
- Schedule INT NOT NULL, --进度
- CurrNum INT NOT NULL, --当前数值
- Status INT NOT NULL, --状态(0=进行中 1=完成)
- UpdateTime DATETIME NOT NULL --更新时间
- )
- -- 返回结果集
- INSERT INTO @tmptable
- (
- UserID, RoomID, TaskID, Schedule, CurrNum, Status, UpdateTime
- )
- SELECT
- UserID, RoomID, TaskID, Schedule, CurrNum, Status, UpdateTime
- FROM
- [UserRoomTask]
- WHERE
- RoomID = CASE -- 指定查找某个房间的所有用户
- WHEN @RoomID > 0 THEN @RoomID
- ELSE RoomID
- END
- AND UserID = CASE -- 指定查找某个用户所在的房间
- WHEN @UserID > 0 THEN @UserID
- ELSE UserID
- END
- -- 记录数
- SET @RecordCount = @@ROWCOUNT
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY UpdateTime DESC, Schedule DESC) AS RowNumber,
- UserID, RoomID, TaskID, Schedule, CurrNum, Status, UpdateTime
- FROM
- @tmptable
- )
- -- 返回信息
- SELECT
- UserID, RoomID, TaskID, Schedule, CurrNum, Status, CONVERT(CHAR(20), UpdateTime, 120) AS UpdateTime
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_CardStat_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_CardStat_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-06-11
- -- Description: 玩牌统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_CardStat_GetList]
- @GameID INT, --游戏ID
- @TypeID INT, --类型ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- DECLARE @tmptable TABLE(
- DateFlag SMALLDATETIME NOT NULL, --日期标志
- GameID INT NOT NULL, --游戏ID
- PlayUserCount INT NOT NULL, --游戏人数
- SendAmount BIGINT NOT NULL, --发放
- ConsumeAmount BIGINT NOT NULL, --消耗
- BreakUserCount INT NOT NULL, --破产人数
- BreakTimes INT NOT NULL, --破产次数
- PlayCount INT NOT NULL, --游戏局数
- PlaySeconds INT NOT NULL, --游戏时长
- MidwayUserCount INT NOT NULL, --中途退出人数
- MidwayTimes INT NOT NULL --中途退出次数
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --某个标签类型
- IF(@TypeID > 0)
- BEGIN
- IF(@GameID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- DateFlag, GameID, PlayUserCount, SendAmount, ConsumeAmount,
- BreakUserCount, BreakTimes, PlayCount, PlaySeconds, MidwayUserCount, MidwayTimes
- )
- SELECT
- DateFlag, GameID, PlayUserCount, SendAmount, ConsumeAmount,
- BreakUserCount, BreakTimes, PlayCount, PlaySeconds, 0, 0
- FROM
- [GameCardStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND GameID = @GameID AND TypeID = @TypeID
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- DateFlag, GameID, PlayUserCount, SendAmount, ConsumeAmount,
- BreakUserCount, BreakTimes, PlayCount, PlaySeconds, MidwayUserCount, MidwayTimes
- )
- SELECT
- DateFlag, GameID, PlayUserCount, SendAmount, ConsumeAmount,
- BreakUserCount, BreakTimes, PlayCount, PlaySeconds, 0, 0
- FROM
- [GameCardStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND TypeID = @TypeID
- END
- END
-
- --所有类型
- ELSE
- BEGIN
- IF(@GameID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- DateFlag, GameID, PlayUserCount, SendAmount, ConsumeAmount,
- BreakUserCount, BreakTimes, PlayCount, PlaySeconds, MidwayUserCount, MidwayTimes
- )
- SELECT
- DateFlag, GameID, PlayUserCount, SendAmount, ConsumeAmount,
- BreakUserCount, BreakTimes, PlayCount, PlaySeconds, 0, 0
- FROM
- [GameCardStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND GameID = @GameID AND TypeID = 0
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- DateFlag, GameID, PlayUserCount, SendAmount, ConsumeAmount,
- BreakUserCount, BreakTimes, PlayCount, PlaySeconds, MidwayUserCount, MidwayTimes
- )
- SELECT
- DateFlag, GameID, PlayUserCount, SendAmount, ConsumeAmount,
- BreakUserCount, BreakTimes, PlayCount, PlaySeconds, 0, 0
- FROM
- [GameCardStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND TypeID = 0
- END
- END
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY DateFlag DESC) AS RowNumber,
- DateFlag, GameID, PlayUserCount, SendAmount, ConsumeAmount,
- BreakUserCount, BreakTimes, PlayCount, PlaySeconds, MidwayUserCount, MidwayTimes
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- CONVERT(CHAR(10), l.DateFlag, 120) AS DateFlag, l.GameID, g.EnglishName, l.PlayUserCount,
- l.SendAmount, l.ConsumeAmount, l.BreakUserCount, l.BreakTimes,
- l.PlayCount, l.PlaySeconds, l.MidwayUserCount, l.MidwayTimes
- FROM
- [List] l INNER JOIN [AllGame] g ON l.GameID = g.GameID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Cash_GetTransferLog] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Cash_GetTransferLog]
- -- =============================================
- -- Author: wolf
- -- Create Date: 2016-08-11
- -- Mendor: wolf
- -- Alter Date: 2016-08-24
- -- Description: 赠送日志列表
- -- =============================================
- CREATE PROCEDURE [dbo].[Manage_Cash_GetTransferLog]
- @UserID INT, --账号ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --结束时间
- @PageIndex INT = 1, --页索引
- @PageSize INT = 10, --页大小
- @RecordCount INT OUTPUT, --总记录数
- @OutTotalAmount BIGINT = 0 OUTPUT, --总转出
- @InTotalAmount BIGINT = 0 OUTPUT, --总转入
- @TotalTaxAmount BIGINT = 0 OUTPUT, --总台费
- @AcceptUserID INT --接受账号ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- --表变量
- DECLARE @tmptable TABLE(
- Rid INT NOT NULL, --标识
- UserID INT NOT NULL, --用户ID
- NickName NVARCHAR(32) NOT NULL, --昵称
- CurrAmount BIGINT NOT NULL, --操作前
- WantAmount BIGINT NOT NULL, --操作
- StillAmount BIGINT NOT NULL, --剩余
- Action INT NOT NULL, --1=转入 -1=转出
- AcceptUserID INT NOT NULL, --接收方ID
- AcceptNickName NVARCHAR(32) NOT NULL, --接收方昵称
- AcceptCurrAmount BIGINT NOT NULL, --接收方操作前
- AcceptWantAmount BIGINT NOT NULL, --接收方操作
- AcceptStillAmount BIGINT NOT NULL, --接收方剩余
- TaxAmount BIGINT NOT NULL, --台费
- Memo NVARCHAR(256) NOT NULL, --备注
- IPAddress VARCHAR(16) NOT NULL, --IP地址
- Crdate DATETIME NOT NULL --时间
- )
-
- SET @RecordCount = 0
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- SET @OutTotalAmount = 0
- SET @InTotalAmount = 0
- SET @TotalTaxAmount = 0
-
- --查询某个用户
- IF(@UserID > 0)
- BEGIN
- IF(@AcceptUserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- Rid, UserID, NickName, CurrAmount, WantAmount, StillAmount, Action,
- AcceptUserID, AcceptNickName, AcceptCurrAmount, AcceptWantAmount, AcceptStillAmount,
- TaxAmount, Memo, IPAddress, Crdate
- )
- SELECT
- LogID, UserID, NickName, CurrAmount, WantAmount, StillAmount, -1,
- AcceptUserID, AcceptNickName, AcceptCurrAmount, AcceptWantAmount, AcceptStillAmount,
- TaxAmount, Memo, IPAddress, Crdate
- FROM
- [TransferLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID AND AcceptUserID = @AcceptUserID
-
- UNION ALL
-
- SELECT
- LogID, UserID, NickName, CurrAmount, WantAmount, StillAmount, 1,
- AcceptUserID, AcceptNickName, AcceptCurrAmount, AcceptWantAmount, AcceptStillAmount,
- TaxAmount, Memo, IPAddress, Crdate
- FROM
- [TransferLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @AcceptUserID AND AcceptUserID = @UserID
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- Rid, UserID, NickName, CurrAmount, WantAmount, StillAmount, Action,
- AcceptUserID, AcceptNickName, AcceptCurrAmount, AcceptWantAmount, AcceptStillAmount,
- TaxAmount, Memo, IPAddress, Crdate
- )
- SELECT
- LogID, UserID, NickName, CurrAmount, WantAmount, StillAmount, -1,
- AcceptUserID, AcceptNickName, AcceptCurrAmount, AcceptWantAmount, AcceptStillAmount,
- TaxAmount, Memo, IPAddress, Crdate
- FROM
- [TransferLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
-
- UNION ALL
-
- SELECT
- LogID, UserID, NickName, CurrAmount, WantAmount, StillAmount, 1,
- AcceptUserID, AcceptNickName, AcceptCurrAmount, AcceptWantAmount, AcceptStillAmount,
- TaxAmount, Memo, IPAddress, Crdate
- FROM
- [TransferLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND AcceptUserID = @UserID
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
- END
-
- --总转出
- SELECT @OutTotalAmount = SUM(AcceptWantAmount) FROM @tmptable WHERE Action = -1
-
- --总转入
- SELECT @InTotalAmount = SUM(AcceptWantAmount) FROM @tmptable WHERE Action = 1
-
- --总台费
- SELECT @TotalTaxAmount = SUM(TaxAmount) FROM @tmptable
-
- SET @OutTotalAmount = ISNULL(@OutTotalAmount, 0)
- SET @InTotalAmount = ISNULL(@InTotalAmount, 0)
- SET @TotalTaxAmount = ISNULL(@TotalTaxAmount, 0)
- END
-
- --查询时间段内该应用的所有数据
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- Rid, UserID, NickName, CurrAmount, WantAmount, StillAmount, Action,
- AcceptUserID, AcceptNickName, AcceptCurrAmount, AcceptWantAmount, AcceptStillAmount,
- TaxAmount, Memo, IPAddress, Crdate
- )
- SELECT
- LogID, UserID, NickName, CurrAmount, WantAmount, StillAmount, -1,
- AcceptUserID, AcceptNickName, AcceptCurrAmount, AcceptWantAmount, AcceptStillAmount,
- TaxAmount, Memo, IPAddress, Crdate
- FROM
- [TransferLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
- END
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Rid DESC) AS RowNumber,
- Rid, UserID, NickName, CurrAmount, WantAmount, StillAmount, Action,
- AcceptUserID, AcceptNickName, AcceptCurrAmount, AcceptWantAmount, AcceptStillAmount,
- TaxAmount, Memo, IPAddress, Crdate
- FROM
- @tmptable
- )
-
- --返回信息:标识(Rid)(int)、账号ID(UserID)(int)、昵称(NickName)(varchar(32))、当前钻石(CurrAmount)(int)、
- -- 修改钻石(WantAmount)(int)、备注(Memo)(varchar(128))、IP地址(IPAddress)(varchar(16))、时间(Crdate)(varchar)
- SELECT
- Rid, UserID, NickName, CurrAmount, WantAmount, StillAmount,
- CASE
- WHEN Action = -1 THEN N'<span class="badge badge-success radius">赠送</span>'
- WHEN Action = 1 THEN N'<span class="badge badge-warning radius">接收</span>'
- ELSE ''
- END AS Action,
- AcceptUserID, AcceptNickName, AcceptCurrAmount, AcceptWantAmount, AcceptStillAmount,
- TaxAmount, Memo, IPAddress, CONVERT(CHAR(20), Crdate, 120) AS Crdate
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_CasinoOnline_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_CasinoOnline_GetInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2017-02-13
- -- Mendor: wolf
- -- Alter Date: 2017-02-13
- -- Description: 后台管理--解锁金币场
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_CasinoOnline_GetInfo]
- @UserID INT, --用户ID
- @NickName NVARCHAR(32) --昵称
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @NewUserID INT --用户ID
- DECLARE @NewNickName NVARCHAR(32) --昵称
- DECLARE @LoginTime DATETIME --登陆时间
- DECLARE @ServerName NVARCHAR(32) --服务器名称
- SET @NewUserID = 0
- SET @NewNickName = ''
- SET @LoginTime = 0
- SET @ServerName = ''
- --用户ID
- IF(@UserID > 0)
- BEGIN
- SELECT @NewUserID = UserID, @NewNickName = NickName FROM [AllUser] WHERE UserID = @UserID
- END
- --昵称
- ELSE
- BEGIN
- SELECT @NewUserID = UserID, @NewNickName = NickName FROM [AllUser] WHERE NickName = @NickName
- END
- --金币锁信息
- SELECT @LoginTime = LoginTime, @ServerName = ServerName FROM [CasinoOnline] WHERE UserID = @UserID
- --返回信息
- SELECT @NewUserID AS UserID, @ServerName AS NickName, @LoginTime AS LoginTime, @ServerName AS ServerName
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_CasinoOnline_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RecordCount INT
- -- EXEC [Manage_CasinoOnline_GetList]
- -- @UserID = 1,
- -- @PageIndex = 1,
- -- @PageSize = 10,
- -- @RecordCount = @RecordCount OUTPUT
- -- SELECT @RecordCount AS RecordCount
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-01
- -- Mendor: wolf
- -- Alter Date: 2016-10-10
- -- Description: 后台管理--获取在线列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_CasinoOnline_GetList]
- @UserID INT, --用户ID
- @GameID INT, --游戏ID
- @PartnerID INT, --渠道ID
- @IsChip SMALLINT, --是否元宝 (-1=所有 0=休闲 1=元宝)
- @PageIndex INT = 1, --页索引
- @PageSize INT = 10, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- --表变量
- DECLARE @tmptable TABLE(
- UserID INT NOT NULL, --用户ID
- LoginTime DATETIME NOT NULL, --登陆时间
- ServerName NVARCHAR(64) NOT NULL, --服务器名称
- PartnerID INT NOT NULL, --渠道ID
- GameID INT NOT NULL, --游戏ID
- NickName NVARCHAR(32) NOT NULL, --昵称
- IPAddress VARCHAR(16) NOT NULL, --IP地址
- IsChip TINYINT NOT NULL --是否元宝
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --用户ID
- IF(@UserID > 0)
- BEGIN
- IF(@GameID >= 0)
- BEGIN
- INSERT INTO @tmptable
- (
- UserID, LoginTime, ServerName, PartnerID, GameID, NickName, IPAddress, IsChip
- )
- SELECT
- c.UserID, c.LoginTime, c.ServerName, u.PartnerID, c.GameID, u.NickName, u.IPAddress, c.IsChip
- FROM
- [t_onlineuser] c INNER JOIN [AllUser] u ON c.UserID = u.UserID
- WHERE
- c.UserID = @UserID AND c.GameID = @GameID
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- UserID, LoginTime, ServerName, PartnerID, GameID, NickName, IPAddress, IsChip
- )
- SELECT
- c.UserID, c.LoginTime, c.ServerName, u.PartnerID, c.GameID, u.NickName, u.IPAddress, c.IsChip
- FROM
- [t_onlineuser] c INNER JOIN [AllUser] u ON c.UserID = u.UserID
- WHERE
- c.UserID = @UserID
- END
- END
-
- --某个渠道
- ELSE IF(@PartnerID > 0)
- BEGIN
- IF(@GameID > 0)
- BEGIN
- IF(@IsChip != -1)
- BEGIN
- INSERT INTO @tmptable
- (
- UserID, LoginTime, ServerName, PartnerID, GameID, NickName, IPAddress, IsChip
- )
- SELECT
- c.UserID, c.LoginTime, c.ServerName, u.PartnerID, c.GameID, u.NickName, u.IPAddress, c.IsChip
- FROM
- [t_onlineuser] c INNER JOIN [AllUser] u ON c.UserID = u.UserID
- WHERE
- u.PartnerID = @PartnerID AND c.GameID = @GameID AND c.IsChip = @IsChip
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- UserID, LoginTime, ServerName, PartnerID, GameID, NickName, IPAddress, IsChip
- )
- SELECT
- c.UserID, c.LoginTime, c.ServerName, u.PartnerID, c.GameID, u.NickName, u.IPAddress, c.IsChip
- FROM
- [t_onlineuser] c INNER JOIN [AllUser] u ON c.UserID = u.UserID
- WHERE
- u.PartnerID = @PartnerID AND c.GameID = @GameID
- END
- END
-
- ELSE
- BEGIN
- IF(@IsChip != -1)
- BEGIN
- INSERT INTO @tmptable
- (
- UserID, LoginTime, ServerName, PartnerID, GameID, NickName, IPAddress, IsChip
- )
- SELECT
- c.UserID, c.LoginTime, c.ServerName, u.PartnerID, c.GameID, u.NickName, u.IPAddress, c.IsChip
- FROM
- [t_onlineuser] c INNER JOIN [AllUser] u ON c.UserID = u.UserID
- WHERE
- u.PartnerID = @PartnerID AND c.IsChip = @IsChip
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- UserID, LoginTime, ServerName, PartnerID, GameID, NickName, IPAddress, IsChip
- )
- SELECT
- c.UserID, c.LoginTime, c.ServerName, u.PartnerID, c.GameID, u.NickName, u.IPAddress, c.IsChip
- FROM
- [t_onlineuser] c INNER JOIN [AllUser] u ON c.UserID = u.UserID
- WHERE
- u.PartnerID = @PartnerID
- END
- END
- END
-
- --某个游戏
- ELSE IF(@GameID > 0)
- BEGIN
- IF(@PartnerID > 0)
- BEGIN
- IF(@IsChip != -1)
- BEGIN
- INSERT INTO @tmptable
- (
- UserID, LoginTime, ServerName, PartnerID, GameID, NickName, IPAddress, IsChip
- )
- SELECT
- c.UserID, c.LoginTime, c.ServerName, u.PartnerID, c.GameID, u.NickName, u.IPAddress, c.IsChip
- FROM
- [t_onlineuser] c INNER JOIN [AllUser] u ON c.UserID = u.UserID
- WHERE
- c.GameID = @GameID AND u.PartnerID = @PartnerID AND c.IsChip = @IsChip
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- UserID, LoginTime, ServerName, PartnerID, GameID, NickName, IPAddress, IsChip
- )
- SELECT
- c.UserID, c.LoginTime, c.ServerName, u.PartnerID, c.GameID, u.NickName, u.IPAddress, c.IsChip
- FROM
- [t_onlineuser] c INNER JOIN [AllUser] u ON c.UserID = u.UserID
- WHERE
- c.GameID = @GameID AND u.PartnerID = @PartnerID
- END
- END
-
- ELSE
- BEGIN
- IF(@IsChip != -1)
- BEGIN
- INSERT INTO @tmptable
- (
- UserID, LoginTime, ServerName, PartnerID, GameID, NickName, IPAddress, IsChip
- )
- SELECT
- c.UserID, c.LoginTime, c.ServerName, u.PartnerID, c.GameID, u.NickName, u.IPAddress, c.IsChip
- FROM
- [t_onlineuser] c INNER JOIN [AllUser] u ON c.UserID = u.UserID
- WHERE
- c.GameID = @GameID AND c.IsChip = @IsChip
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- UserID, LoginTime, ServerName, PartnerID, GameID, NickName, IPAddress, IsChip
- )
- SELECT
- c.UserID, c.LoginTime, c.ServerName, u.PartnerID, c.GameID, u.NickName, u.IPAddress, c.IsChip
- FROM
- [t_onlineuser] c INNER JOIN [AllUser] u ON c.UserID = u.UserID
- WHERE
- c.GameID = @GameID
- END
- END
- END
-
- --所有用户
- ELSE
- BEGIN
- IF(@IsChip != -1)
- BEGIN
- INSERT INTO @tmptable
- (
- UserID, LoginTime, ServerName, PartnerID, GameID, NickName, IPAddress, IsChip
- )
- SELECT
- c.UserID, c.LoginTime, c.ServerName, u.PartnerID, c.GameID, u.NickName, u.IPAddress, c.IsChip
- FROM
- [t_onlineuser] c INNER JOIN [AllUser] u ON c.UserID = u.UserID AND c.IsChip = @IsChip
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- UserID, LoginTime, ServerName, PartnerID, GameID, NickName, IPAddress, IsChip
- )
- SELECT
- c.UserID, c.LoginTime, c.ServerName, u.PartnerID, c.GameID, u.NickName, u.IPAddress, c.IsChip
- FROM
- [t_onlineuser] c INNER JOIN [AllUser] u ON c.UserID = u.UserID
- END
- END
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY LoginTime DESC) AS RowNumber,
- UserID, LoginTime, ServerName, PartnerID, GameID, NickName, IPAddress, IsChip
- FROM
- @tmptable
- )
-
- --返回信息:用户ID(UserID)(int)、昵称(NickName)(varchar(32))、登陆时间(LoginTime)(varchar(16))、服务器名称(ServerName)(varchar(32))
- SELECT
- l.UserID, l.NickName, CONVERT(CHAR(23), l.LoginTime, 121) AS LoginTime,
- CASE
- WHEN l.ServerName = '' THEN N'游戏大厅'
- ELSE l.ServerName
- END AS ServerName,
- l.IPAddress, ISNULL(p.PartnerName, CAST(l.PartnerID AS VARCHAR)) AS PartnerName,
- CASE
- WHEN l.GameID > 0 THEN N'<font color="#9400D3">游戏中</font>'
- WHEN CHARINDEX(N'练习场', l.ServerName) > 0 THEN N'练习场'
- ELSE N'<font color="#C0C0C0">空闲</font>'
- END AS GameType, ISNULL(g.ChineseName, N'游戏大厅') AS ChineseName, l.IsChip
- FROM
- [List] l LEFT JOIN [AllGame] g ON l.GameID = g.GameID
- LEFT JOIN [Partner] p ON l.PartnerID = p.PartnerID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_CasinoOnline_GetListByGame] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RecordCount INT
- -- EXEC [Manage_CasinoOnline_GetListByGame]
- -- @UserID = 1,
- -- @PageIndex = 1,
- -- @PageSize = 10,
- -- @RecordCount = @RecordCount OUTPUT
- -- SELECT @RecordCount AS RecordCount
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-01
- -- Mendor: wolf
- -- Alter Date: 2016-10-31
- -- Description: 后台管理--获取在线列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_CasinoOnline_GetListByGame]
- @UserID INT, --用户ID
- @DBName VARCHAR(32), --数据库名称
- @PartnerID INT, --渠道ID
- @PageIndex INT = 1, --页索引
- @PageSize INT = 10, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
- DECLARE @GameID INT --游戏ID
-
- --创建临时表
- CREATE TABLE #tmptable(
- UserID INT NOT NULL, --用户ID
- LoginTime DATETIME NOT NULL, --登陆时间
- ServerName NVARCHAR(64) NOT NULL, --服务器名称
- PartnerID INT NOT NULL, --渠道ID
- NickName NVARCHAR(32) NOT NULL, --昵称
- IPAddress VARCHAR(16) NOT NULL, --IP地址
- IsChip TINYINT NOT NULL --是否元宝
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --游戏ID
- SELECT @GameID = GameID FROM [AllGame] WHERE DBName = @DBName
-
- --用户ID
- IF(@UserID > 0)
- BEGIN
- IF(@GameID > 0)
- BEGIN
- INSERT INTO #tmptable
- (
- UserID, LoginTime, ServerName, PartnerID, NickName, IPAddress, IsChip
- )
- SELECT
- c.UserID, c.LoginTime, c.ServerName, u.PartnerID, u.NickName, u.IPAddress, c.IsChip
- FROM
- [t_onlineuser] c INNER JOIN [AllUser] u ON c.UserID = u.UserID
- WHERE
- c.UserID = @UserID AND c.GameID = @GameID
- END
-
- ELSE
- BEGIN
- INSERT INTO #tmptable
- (
- UserID, LoginTime, ServerName, PartnerID, NickName, IPAddress, IsChip
- )
- SELECT
- c.UserID, c.LoginTime, c.ServerName, u.PartnerID, u.NickName, u.IPAddress, c.IsChip
- FROM
- [t_onlineuser] c INNER JOIN [AllUser] u ON c.UserID = u.UserID
- WHERE
- c.UserID = @UserID
- END
- END
-
- --某个渠道
- ELSE IF(@PartnerID > 0)
- BEGIN
- INSERT INTO #tmptable
- (
- UserID, LoginTime, ServerName, PartnerID, NickName, IPAddress, IsChip
- )
- SELECT
- c.UserID, c.LoginTime, c.ServerName, u.PartnerID, u.NickName, u.IPAddress, c.IsChip
- FROM
- [t_onlineuser] c INNER JOIN [AllUser] u ON c.UserID = u.UserID
- WHERE
- u.PartnerID = @PartnerID
- END
-
- --所有用户
- ELSE
- BEGIN
- IF(@GameID > 0)
- BEGIN
- INSERT INTO #tmptable
- (
- UserID, LoginTime, ServerName, PartnerID, NickName, IPAddress, IsChip
- )
- SELECT
- c.UserID, c.LoginTime, c.ServerName, u.PartnerID, u.NickName, u.IPAddress, c.IsChip
- FROM
- [t_onlineuser] c INNER JOIN [AllUser] u ON c.UserID = u.UserID
- WHERE
- c.GameID = @GameID
- END
-
- ELSE
- BEGIN
- INSERT INTO #tmptable
- (
- UserID, LoginTime, ServerName, PartnerID, NickName, IPAddress, IsChip
- )
- SELECT
- c.UserID, c.LoginTime, c.ServerName, u.PartnerID, u.NickName, u.IPAddress, c.IsChip
- FROM
- [t_onlineuser] c INNER JOIN [AllUser] u ON c.UserID = u.UserID
- END
- END
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY LoginTime DESC) AS RowNumber,
- UserID, LoginTime, ServerName, PartnerID, NickName, IPAddress, IsChip
- FROM
- #tmptable
- )
-
- --返回信息:用户ID(UserID)(int)、昵称(NickName)(varchar(32))、登陆时间(LoginTime)(varchar(16))、服务器名称(ServerName)(varchar(32))
- SELECT
- l.UserID, l.NickName, l.LoginTime AS LoginTime, l.ServerName, l.IPAddress,
- ISNULL(p.PartnerName, CAST(l.PartnerID AS VARCHAR)) AS PartnerName, l.IsChip
- FROM
- [List] l LEFT JOIN [Partner] p ON l.PartnerID = p.PartnerID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- --清除临时表
- DROP TABLE #tmptable
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_CasinoOnline_Unlock] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_CasinoOnline_Unlock]
- -- @OpUserID = 1,
- -- @OpUserName = '',
- -- @UserID = 1,
- -- @Memo = '',
- -- @Days = 1,
- -- @IPAddress = ''
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2017-02-13
- -- Mendor: wolf
- -- Alter Date: 2017-02-13
- -- Description: 后台管理--解锁金币场
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_CasinoOnline_Unlock]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @UserID INT, --用户ID
- @IPAddress VARCHAR(16), --IP地址
- @RetCode TINYINT OUTPUT --操作结果
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @LoginTime DATETIME --登录时间
- DECLARE @ServerName NVARCHAR(64) --服务器名称
- DECLARE @GameID INT --游戏ID
- DECLARE @Msg NVARCHAR(4000) --消息
-
- SET @Retcode = 0
-
- --获取金币锁信息
- SELECT @LoginTime = LoginTime, @ServerName = ServerName, @GameID = GameID FROM [CasinoOnline] WHERE UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 11
- RETURN
- END
- --解锁
- DELETE FROM [CasinoOnline] WHERE UserID = @UserID
-
- --消息
- SET @Msg = N'Backstage gold field unlocking, Related information:@UserID=' + LTRIM(STR(@UserID)) + ',@ServerName=' + @ServerName +
- ',@LoginTime=' + CONVERT(CHAR(16), @LoginTime, 120) + ',@GameID=' + LTRIM(STR(@GameID))
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Chip_DelCoin] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- /*
- WEB通用调用加金币接口
- */
- CREATE PROCEDURE [dbo].[Manage_Chip_DelCoin]
- @UserID INT,
- @SourceName VARCHAR(32), --Web应用名称
- @Reason VARCHAR(128),
- @WantAmount BIGINT,
- @WantBank BIGINT,
- @IPAddress VARCHAR(16),
- @OpUserID INT,
- @OpUserName VARCHAR(32),
- @RetCode TINYINT OUTPUT,
- @ErrorMsg NVARCHAR(128) OUTPUT
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @intCurrentAmount BIGINT
- DECLARE @chvDBServerName NVARCHAR(64)
- DECLARE @chvRemark VARCHAR(128)
- DECLARE @LogType INT
- DECLARE @Msg NVARCHAR(4000)
-
- SET @intCurrentAmount = 0
- SET @Reason = '(' + LTRIM(STR(@OpUserID)) + ',' + @OpUserName + '),' + @Reason
- SET @RetCode = 0
- SET @ErrorMsg = ''
- SET @LogType = 7
- IF(@SourceName IS NULL OR @SourceName = '')
- BEGIN
- SET @SourceName = ''
- SET @chvRemark = 'Web application name is empty (deduction) ' + @Reason
-
- INSERT INTO [ChipLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- @SourceName, 0, 'CASH', @UserID, 0, -@WantAmount,
- 0, 0, @IPAddress, @chvRemark, GETDATE(), @LogType
- )
-
- SET @RetCode = 11
- SET @ErrorMsg = N'WEB应用名称为空(扣金)'
- RETURN
- END
- IF(@UserID IS NULL OR @UserID <= 0)
- BEGIN
- SET @UserID = 1
- SET @chvRemark = 'Web deduction - safe: incorrect user ID ' + @Reason
-
- INSERT INTO [ChipLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- @SourceName, 0, 'CASH', @UserID, 0, -@WantAmount,
- 0, 0, @IPAddress, @chvRemark, GETDATE(), @LogType
- )
-
- SET @RetCode = 12
- SET @ErrorMsg = N'WEB扣金:用户ID不正确'
- RETURN
- END
- IF(@WantAmount < 0)
- BEGIN
- SET @chvRemark = 'Web deduction: incorrect amount of deduction ' + @Reason
-
- INSERT INTO [ChipLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- @SourceName, 0, 'CASH', @UserID, 0, -@WantAmount,
- 0, 0, @IPAddress, @chvRemark, GETDATE(), @LogType
- )
- SET @RetCode = 13
- SET @ErrorMsg = N'WEB扣金:扣金数量不正确'
- RETURN
- END
-
- --添加日志
- SET @Msg = N'Admin Reduce Coin, @UserID=' + LTRIM(STR(@UserID)) + ',@WantAmount=' + CAST(@WantAmount AS VARCHAR(32)) + ',@Reason=' + @Reason
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress, @Type = 1
- SET TRANSACTION ISOLATION LEVEL REPEATABLE READ
- BEGIN TRAN
- --扣除现金
- IF(@WantAmount > 0)
- BEGIN
- SET @chvDBServerName = (SELECT ServerName FROM [CasinoOnline] WHERE UserID = @UserID )
- IF(@chvDBServerName IS NOT NULL)
- BEGIN
- ROLLBACK TRAN
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
-
- SET @chvRemark = 'Web deduction: users have locks ' + @Reason
- INSERT INTO [ChipLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- @SourceName, 0, 'CASH', @UserID, 0, -@WantAmount,
- 0, 0, @IPAddress, @chvRemark, GETDATE(), @LogType
- )
-
- SET @RetCode = 15
- SET @ErrorMsg = N'当前您在服务器:' + @chvDBServerName + '中,请退出'
- RETURN
-
- END
-
- -----------------检查用户现金-------------------------------
- SELECT @intCurrentAmount = [Amount] FROM [Chip] WHERE [UserID] = @UserID
-
- IF(@intCurrentAmount < @WantAmount)
- BEGIN
- ROLLBACK TRAN
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
-
- SET @chvRemark = 'Web deduction: user cash is not enough ' + @Reason
- INSERT INTO [ChipLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- @SourceName, 0, 'CASH', @UserID, 0, -@WantAmount,
- 0, 0, @IPAddress, @chvRemark, GETDATE(), @LogType
- )
-
- SET @RetCode = 16
- SET @ErrorMsg = N'对不起,您的现金量不足不可以进行这次操作'
- RETURN
- END
-
- UPDATE [Chip] SET Amount = Amount - @WantAmount WHERE UserID = @UserID
- END
-
- COMMIT TRAN
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- --------------写Log和统计----------------
-
- IF(@WantAmount > 0)
- BEGIN
- SET @chvRemark = 'Successful gold coin deduction ' + @Reason
- INSERT INTO [ChipLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- @SourceName, 0, 'CASH', @UserID, @intCurrentAmount, -@WantAmount,
- @intCurrentAmount - @WantAmount, 0, @IPAddress, @chvRemark, GETDATE(), @LogType
- )
- END
-
- --统计
- SET @WantAmount = -@WantAmount
- EXEC [Game_ChipStat_Update] @UserID = @UserID, @MoneySum = @WantAmount, @TaxSum = 0, @LogType = @LogType
- SET @RetCode = 1
- SET @ErrorMsg = N'扣金币成功'
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Chip_GetCashLog] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Chip_GetCashLog]
- -- =============================================
- -- Author: wolf
- -- Create Date: 2014-04-23
- -- Mendor: wolf
- -- Alter Date: 2015-10-12
- -- Description: 后台管理--筹码日志列表
- -- =============================================
- CREATE PROCEDURE [dbo].[Manage_Chip_GetCashLog]
- @UserID INT, --账号ID
- @PartnerID INT, --渠道ID
- @SourceName NVARCHAR(32), --应用名称
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --结束时间
- @PageIndex INT = 1, --页索引
- @PageSize INT = 10, --页大小
- @RecordCount INT OUTPUT --总记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- --申请表变量
- DECLARE @tmptable TABLE(
- LogID INT NOT NULL, --标识
- SourceName NVARCHAR(32) NOT NULL, --应用
- MoneyType VARCHAR(8) NOT NULL, --货币类型
- UserID INT NOT NULL, --用户ID
- CurrentAmount BIGINT NOT NULL, --当前数量
- ModifyAmount BIGINT NOT NULL, --修改数量
- StillAmount BIGINT NOT NULL, --剩余数量
- Remark VARCHAR(128) NOT NULL, --备注
- IPAddress VARCHAR(16) NOT NULL, --IP地址
- Crdate DATETIME NOT NULL, --时间
- TaxAmount BIGINT NOT NULL --台费
- )
-
- SET @RecordCount = 0
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --应用
- IF(LEN(@SourceName) > 0)
- BEGIN
- --查询应用下的某个账号
- IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- )
- SELECT TOP 10000
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- FROM
- [ChipLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID AND SourceName = @SourceName
- ORDER BY
- LogID DESC
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- IF(@RecordCount < 10000)
- BEGIN
- INSERT INTO @tmptable
- (
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- )
- SELECT TOP (10000 - @RecordCount)
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- FROM
- [ChipLog_bak]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID AND SourceName = @SourceName
- ORDER BY
- LogID DESC
-
- --总记录数
- SET @RecordCount = @RecordCount + @@ROWCOUNT
- END
- END
-
- --查询应用下的所有账号
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- )
- SELECT TOP 10000
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- FROM
- [ChipLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND SourceName = @SourceName
- ORDER BY
- LogID DESC
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- IF(@RecordCount < 10000)
- BEGIN
- INSERT INTO @tmptable
- (
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- )
- SELECT TOP (10000 - @RecordCount)
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- FROM
- [ChipLog_bak]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND SourceName = @SourceName
- ORDER BY
- LogID DESC
-
- --总记录数
- SET @RecordCount = @RecordCount + @@ROWCOUNT
- END
- END
- END
-
- --查询用户的某个应用
- ELSE IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- )
- SELECT TOP 10000
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- FROM
- [ChipLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
- ORDER BY
- LogID DESC
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- IF(@RecordCount < 10000)
- BEGIN
- INSERT INTO @tmptable
- (
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- )
- SELECT TOP (10000 - @RecordCount)
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- FROM
- [ChipLog_bak]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
- ORDER BY
- LogID DESC
-
- --总记录数
- SET @RecordCount = @RecordCount + @@ROWCOUNT
- END
- END
-
- --查询某个渠道
- ELSE IF(@PartnerID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- )
- SELECT TOP 10000
- l.LogID, l.SourceName, l.MoneyType, l.UserID, l.CurrentAmount, l.ModifyAmount, l.StillAmount,
- l.Remark, l.IPAddress, l.Crdate, l.TaxAmount
- FROM
- [ChipLog] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- WHERE
- l.Crdate BETWEEN @BeginTime AND @EndTime AND u.PartnerID = @PartnerID
- ORDER BY
- l.LogID DESC
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- IF(@RecordCount < 10000)
- BEGIN
- INSERT INTO @tmptable
- (
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- )
- SELECT TOP (10000 - @RecordCount)
- l.LogID, l.SourceName, l.MoneyType, l.UserID, l.CurrentAmount, l.ModifyAmount, l.StillAmount,
- l.Remark, l.IPAddress, l.Crdate, l.TaxAmount
- FROM
- [ChipLog_bak] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- WHERE
- l.Crdate BETWEEN @BeginTime AND @EndTime AND u.PartnerID = @PartnerID
- ORDER BY
- l.LogID DESC
-
- --总记录数
- SET @RecordCount = @RecordCount + @@ROWCOUNT
- END
- END
-
- --查询所有应用
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- )
- SELECT TOP 10000
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- FROM
- [ChipLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID > 100
- ORDER BY
- LogID DESC
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- IF(@RecordCount < 10000)
- BEGIN
- INSERT INTO @tmptable
- (
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- )
- SELECT TOP (10000 - @RecordCount)
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- FROM
- [ChipLog_bak]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID > 100
- ORDER BY
- LogID DESC
-
- --总记录数
- SET @RecordCount = @RecordCount + @@ROWCOUNT
- END
- END
-
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY LogID DESC) AS RowNumber,
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- l.LogID, l.SourceName, l.MoneyType, l.UserID, u.NickName, l.CurrentAmount, l.ModifyAmount, l.StillAmount,
- l.Remark, l.IPAddress, CONVERT(CHAR(20), l.Crdate, 120) AS Crdate,
- ISNULL(p.PartnerName, LTRIM(STR(u.PartnerID))) AS PartnerName, l.TaxAmount
- FROM
- [List] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- LEFT JOIN [Partner] p ON u.PartnerID = p.PartnerID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Chip_GetTop] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Chip_GetTop]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-04
- -- Mendor: wolf
- -- Alter Date: 2015-11-06
- -- Description: 筹码排行
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Chip_GetTop]
- @PartnerID INT, --渠道ID
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --总记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
- DECLARE @tmptable TABLE(
- Rank INT NOT NULL, --名次
- PartnerID INT NOT NULL, --渠道ID
- PartnerName NVARCHAR(32) NOT NULL, --渠道名称
- UserID INT NOT NULL, --用户ID
- NickName NVARCHAR(32) NOT NULL, --昵称
- Amount BIGINT NOT NULL, --金币数量
- Bank BIGINT NOT NULL, --保险柜
- PayMoney DECIMAL(18, 2) NOT NULL --充值金额
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --记录数
- SET @RecordCount = (SELECT COUNT(UserID) FROM [Chip] WHERE UserID NOT IN (SELECT UserID FROM [MachineUser]) AND UserID > 0)
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Amount + Bank DESC) AS RowNumber,
- UserID, Amount, Bank
- FROM
- [Chip]
- WHERE
- UserID NOT IN (SELECT UserID FROM [MachineUser]) AND UserID > 0
- )
-
- --获取变量
- INSERT INTO @tmptable
- (
- Rank, PartnerID, PartnerName, UserID, NickName, Amount, Bank, PayMoney
- )
- SELECT
- RowNumber, 0, '', UserID, '', Amount, Bank, 0
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- --获取用户信息
- UPDATE
- t
- SET
- t.NickName = u.NickName, t.PartnerID = u.PartnerID, t.PayMoney = u.PayMoney
- FROM
- @tmptable t INNER JOIN [AllUser] u ON t.UserID = u.UserID
-
- --获取渠道名称
- UPDATE t SET t.PartnerName = p.PartnerName FROM @tmptable t INNER JOIN [Partner] p ON t.PartnerID = p.PartnerID
-
- --返回信息
- SELECT
- Rank, CASE WHEN PartnerName = '' THEN LTRIM(STR(PartnerID)) ELSE PartnerName END AS PartnerName,
- UserID, NickName, Amount, Bank, PayMoney
- FROM
- @tmptable
- ORDER BY
- Rank ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Chip_GetTransferLog] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Chip_GetTransferLog]
- -- =============================================
- -- Author: wolf
- -- Create Date: 2016-08-11
- -- Mendor: wolf
- -- Alter Date: 2016-08-24
- -- Description: 赠送日志列表
- -- =============================================
- CREATE PROCEDURE [dbo].[Manage_Chip_GetTransferLog]
- @UserID INT, --账号ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --结束时间
- @PageIndex INT = 1, --页索引
- @PageSize INT = 10, --页大小
- @RecordCount INT OUTPUT, --总记录数
- @OutTotalAmount BIGINT = 0 OUTPUT, --总转出
- @InTotalAmount BIGINT = 0 OUTPUT, --总转入
- @TotalTaxAmount BIGINT = 0 OUTPUT, --总台费
- @AcceptUserID INT --接受账号ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- --表变量
- DECLARE @tmptable TABLE(
- Rid INT NOT NULL, --标识
- UserID INT NOT NULL, --用户ID
- NickName NVARCHAR(32) NOT NULL, --昵称
- CurrAmount BIGINT NOT NULL, --操作前
- WantAmount BIGINT NOT NULL, --操作
- StillAmount BIGINT NOT NULL, --剩余
- Action INT NOT NULL, --1=转入 -1=转出
- AcceptUserID INT NOT NULL, --接收方ID
- AcceptNickName NVARCHAR(32) NOT NULL, --接收方昵称
- AcceptCurrAmount BIGINT NOT NULL, --接收方操作前
- AcceptWantAmount BIGINT NOT NULL, --接收方操作
- AcceptStillAmount BIGINT NOT NULL, --接收方剩余
- TaxAmount BIGINT NOT NULL, --台费
- Memo NVARCHAR(256) NOT NULL, --备注
- IPAddress VARCHAR(16) NOT NULL, --IP地址
- Crdate DATETIME NOT NULL --时间
- )
-
- SET @RecordCount = 0
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- SET @OutTotalAmount = 0
- SET @InTotalAmount = 0
- SET @TotalTaxAmount = 0
-
- --查询某个用户
- IF(@UserID > 0)
- BEGIN
- IF(@AcceptUserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- Rid, UserID, NickName, CurrAmount, WantAmount, StillAmount, Action,
- AcceptUserID, AcceptNickName, AcceptCurrAmount, AcceptWantAmount, AcceptStillAmount,
- TaxAmount, Memo, IPAddress, Crdate
- )
- SELECT
- LogID, UserID, NickName, CurrAmount, WantAmount, StillAmount, -1,
- AcceptUserID, AcceptNickName, AcceptCurrAmount, AcceptWantAmount, AcceptStillAmount,
- TaxAmount, Memo, IPAddress, Crdate
- FROM
- [ChipTransferLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID AND AcceptUserID = @AcceptUserID
-
- UNION ALL
-
- SELECT
- LogID, UserID, NickName, CurrAmount, WantAmount, StillAmount, 1,
- AcceptUserID, AcceptNickName, AcceptCurrAmount, AcceptWantAmount, AcceptStillAmount,
- TaxAmount, Memo, IPAddress, Crdate
- FROM
- [ChipTransferLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @AcceptUserID AND AcceptUserID = @UserID
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- Rid, UserID, NickName, CurrAmount, WantAmount, StillAmount, Action,
- AcceptUserID, AcceptNickName, AcceptCurrAmount, AcceptWantAmount, AcceptStillAmount,
- TaxAmount, Memo, IPAddress, Crdate
- )
- SELECT
- LogID, UserID, NickName, CurrAmount, WantAmount, StillAmount, -1,
- AcceptUserID, AcceptNickName, AcceptCurrAmount, AcceptWantAmount, AcceptStillAmount,
- TaxAmount, Memo, IPAddress, Crdate
- FROM
- [ChipTransferLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
-
- UNION ALL
-
- SELECT
- LogID, UserID, NickName, CurrAmount, WantAmount, StillAmount, 1,
- AcceptUserID, AcceptNickName, AcceptCurrAmount, AcceptWantAmount, AcceptStillAmount,
- TaxAmount, Memo, IPAddress, Crdate
- FROM
- [ChipTransferLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND AcceptUserID = @UserID
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
- END
-
- --总转出
- SELECT @OutTotalAmount = SUM(AcceptWantAmount) FROM @tmptable WHERE Action = -1
-
- --总转入
- SELECT @InTotalAmount = SUM(AcceptWantAmount) FROM @tmptable WHERE Action = 1
-
- --总台费
- SELECT @TotalTaxAmount = SUM(TaxAmount) FROM @tmptable
-
- SET @OutTotalAmount = ISNULL(@OutTotalAmount, 0)
- SET @InTotalAmount = ISNULL(@InTotalAmount, 0)
- SET @TotalTaxAmount = ISNULL(@TotalTaxAmount, 0)
- END
-
- --查询时间段内该应用的所有数据
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- Rid, UserID, NickName, CurrAmount, WantAmount, StillAmount, Action,
- AcceptUserID, AcceptNickName, AcceptCurrAmount, AcceptWantAmount, AcceptStillAmount,
- TaxAmount, Memo, IPAddress, Crdate
- )
- SELECT
- LogID, UserID, NickName, CurrAmount, WantAmount, StillAmount, -1,
- AcceptUserID, AcceptNickName, AcceptCurrAmount, AcceptWantAmount, AcceptStillAmount,
- TaxAmount, Memo, IPAddress, Crdate
- FROM
- [ChipTransferLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
- END
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Rid DESC) AS RowNumber,
- Rid, UserID, NickName, CurrAmount, WantAmount, StillAmount, Action,
- AcceptUserID, AcceptNickName, AcceptCurrAmount, AcceptWantAmount, AcceptStillAmount,
- TaxAmount, Memo, IPAddress, Crdate
- FROM
- @tmptable
- )
-
- --返回信息:标识(Rid)(int)、账号ID(UserID)(int)、昵称(NickName)(varchar(32))、当前钻石(CurrAmount)(int)、
- -- 修改钻石(WantAmount)(int)、备注(Memo)(varchar(128))、IP地址(IPAddress)(varchar(16))、时间(Crdate)(varchar)
- SELECT
- Rid, UserID, NickName, CurrAmount, WantAmount, StillAmount,
- CASE
- WHEN Action = -1 THEN '<span class="badge badge-success radius">赠送</span>'
- WHEN Action = 1 THEN '<span class="badge badge-warning radius">接收</span>'
- ELSE ''
- END AS Action,
- AcceptUserID, AcceptNickName, AcceptCurrAmount, AcceptWantAmount, AcceptStillAmount,
- TaxAmount, Memo, IPAddress, CONVERT(CHAR(20), Crdate, 120) AS Crdate
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Chip_SendCoin] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- /*
- WEB通用调用加金币接口
- */
- CREATE PROCEDURE [dbo].[Manage_Chip_SendCoin]
- @UserID INT,
- @SourceName NVARCHAR(32), --Web应用名称 BuyKey (U币购买门票)
- @Reason NVARCHAR(128),
- @WantAmount BIGINT,
- @IPAddress VARCHAR(16),
- @OpUserID INT,
- @OpUserName VARCHAR(32),
- @RetCode TINYINT OUTPUT,
- @ErrorMsg NVARCHAR(64) OUTPUT --错误描述
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @intCurrentAmount BIGINT
- DECLARE @chvRemark NVARCHAR(128)
- DECLARE @LogType INT
- DECLARE @MaxAmount BIGINT --最大额度
- DECLARE @SendAmount BIGINT --发送金额
- DECLARE @Msg NVARCHAR(4000)
- DECLARE @RoleID INT --角色ID
- SET @intCurrentAmount = 0
- SET @Reason = '(' + LTRIM(STR(@OpUserID)) + ',' + @OpUserName + '),' + @Reason
- SET @RetCode = 0
- SET @ErrorMsg = ''
- SET @LogType = 5
- SET @MaxAmount = 1000000
- SET @RoleID = 0
- IF(@SourceName IS NULL OR @SourceName = '')
- BEGIN
- SET @SourceName = ''
- SET @chvRemark = N'Web application name is empty,' + @Reason
-
- INSERT INTO [ChipLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- @SourceName, 0, 'CASH', @UserID, 0, @WantAmount,
- 0, 0, @IPAddress, @chvRemark, GETDATE(), @LogType
- )
-
- SET @RetCode = 11
- SET @ErrorMsg = N'Web application name is empty'
- RETURN
- END
- IF(@UserID IS NULL OR @UserID <=0)
- BEGIN
- SET @UserID = 1
- SET @chvRemark = N'Incorrect user ID ' + @Reason
-
- INSERT INTO [ChipLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- @SourceName, 0, 'CASH', @UserID, 0, @WantAmount,
- 0, 0, @IPAddress, @chvRemark, GETDATE(), @LogType
- )
-
- SET @RetCode = 12
- SET @ErrorMsg = N'Incorrect user ID'
- END
- IF(@WantAmount < 0)
- BEGIN
- SET @chvRemark = N'Incorrect amount of money delivered ' + @Reason
- INSERT INTO [ChipLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- @SourceName, 0, 'CASH', @UserID, 0, @WantAmount,
- 0, 0, @IPAddress, @chvRemark, GETDATE(), @LogType
- )
-
- SET @RetCode = 13
- SET @ErrorMsg = N'送金数量不正确'
- RETURN
- END
-
- --角色ID
- SELECT TOP 1 @RoleID = RoleID FROM [RoleUser] WHERE AdminUserID = @OpUserID ORDER BY RoleID ASC
-
- --管理员角色
- IF(@RoleID = 1)
- BEGIN
- SET @MaxAmount = 999999999999999
-
- --测试账号
- IF EXISTS(SELECT UserID FROM [MachineUser] WHERE UserID = @UserID)
- BEGIN
- SET @MaxAmount = 999999999999999
- END
- END
-
- --发送总额
- SELECT @SendAmount = ISNULL(SUM(WantAmount), 0) FROM [AdminSendCoin] WHERE Crdate >= CONVERT(CHAR(10), GETDATE(), 120)
-
- --赠送超出今天限额
- IF(@SendAmount + @WantAmount > @MaxAmount)
- BEGIN
- SET @RetCode = 15
- SET @ErrorMsg = N'The increase exceeds the limit'
- RETURN
- END
-
- --加入今天赠送日志
- INSERT INTO [AdminSendCoin]
- (
- OpUserID, OpUserName, UserID, WantAmount, Crdate
- )
- VALUES
- (
- @OpUserID, @OpUserName, @UserID, @WantAmount, GETDATE()
- )
-
- --添加日志
- SET @Msg = N'Admin Send Coin, @UserID=' + LTRIM(STR(@UserID)) + ',@WantAmount=' + CAST(@WantAmount AS VARCHAR(32)) + ',@Reason=' + @Reason
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress, @Type = 1
- SELECT @intCurrentAmount = [Amount] FROM [Chip] WHERE [UserID] = @UserID
- -------------加金币、保险柜------------------------
- UPDATE [Chip] SET [Amount] = [Amount] + @WantAmount WHERE [UserID] = @UserID
- IF(@@RowCount = 0)
- BEGIN
- INSERT INTO [Chip](UserID, Amount, Bank) VALUES(@UserID, @WantAmount, 0)
- END
- --------------写Log和统计----------------
- IF(@WantAmount > 0)
- BEGIN
- SET @chvRemark = N'Gold coin delivered successfully ' + @Reason
- INSERT INTO [ChipLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- @SourceName, 0, 'CASH', @UserID, @intCurrentAmount, @WantAmount,
- @intCurrentAmount + @WantAmount, 0, @IPAddress, @chvRemark, GETDATE(), @LogType
- )
- END
- --统计
- EXEC [Game_ChipStat_Update] @UserID = @UserID, @MoneySum = @WantAmount, @TaxSum = 0, @LogType = @LogType
- SET @RetCode = 1
- SET @ErrorMsg = N'送金币成功'
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_ChipScoreRank_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_ChipScoreRank_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-11
- -- Mendor: wolf
- -- Alter Date: 2017-02-23
- -- Description: 元宝积分榜
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_ChipScoreRank_GetList]
- @RankType TINYINT --榜单类型
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --表变量
- DECLARE @tmptable TABLE(
- DateFlag SMALLDATETIME NOT NULL, --日期
- Rank INT NOT NULL, --排名
- UserID INT NOT NULL, --用户ID
- Amount BIGINT NOT NULL, --积分
- Crdate DATETIME NOT NULL --时间
- )
-
- --总榜
- IF(@RankType = 1)
- BEGIN
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY SUM(Amount) DESC) AS RowNumber,
- UserID, SUM(Amount) AS Score
- FROM
- [ChipScoreRank]
- GROUP BY
- UserID
- )
-
- INSERT INTO @tmptable
- (
- DateFlag, Rank, UserID, Amount, Crdate
- )
- SELECT
- '2022-05-01', RowNumber, UserID, Score, GETDATE()
- FROM
- [List]
- WHERE
- RowNumber <= 50
- END
-
- --每天榜
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- DateFlag, Rank, UserID, Amount, Crdate
- )
- SELECT
- DateFlag, Rank, UserID, Amount, Crdate
- FROM
- [ChipScoreRank]
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Score DESC) AS RowNumber,
- UserID, Score
- FROM
- [UserChipScore]
- WHERE
- DateFlag = CONVERT(CHAR(10), GETDATE(), 120)
- )
-
- --生成排行
- INSERT INTO @tmptable
- (
- DateFlag, Rank, UserID, Amount, Crdate
- )
- SELECT
- CONVERT(CHAR(16), GETDATE(), 120), RowNumber, UserID, Score, CONVERT(CHAR(16), GETDATE(), 120)
- FROM
- [List]
- WHERE
- RowNumber <= 50
- END
-
- --返回信息
- SELECT
- CONVERT(VARCHAR(16), t.DateFlag, 120) AS DateFlag, t.Rank, t.UserID, u.NickName, t.Amount,
- CONVERT(VARCHAR(16), t.Crdate, 120) AS Crdate
- FROM
- @tmptable t INNER JOIN [AllUser] u ON t.UserID = u.UserID
- ORDER BY
- t.DateFlag DESC, t.Rank ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_ChipStat_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_ChipStat_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-09
- -- Mendor: wolf
- -- Alter Date: 2014-12-22
- -- Description: 筹码统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_ChipStat_GetList]
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
-
- @Send BIGINT OUTPUT, --总发行
- @Consume BIGINT OUTPUT, --总消耗
-
- @GameSend BIGINT OUTPUT, --游戏发行
- @GameConsume BIGINT OUTPUT, --游戏消耗
- @GameDiff BIGINT OUTPUT, --游戏差额
-
- @Cash BIGINT OUTPUT, --金币总额
- @Bank BIGINT OUTPUT, --保险柜总额
- @YesterdayAmount BIGINT OUTPUT, --前日总额
- @CurrAmount BIGINT OUTPUT --当前总额
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Yesterday SMALLDATETIME --前日日期
- DECLARE @Today SMALLDATETIME --当前日期
-
- --表变量
- DECLARE @tmptable TABLE(
- LogType INT NOT NULL, --日志类型
- LogTypeName NVARCHAR(32) NOT NULL, --日志类型名称
- GameID INT NOT NULL, --游戏ID
- Amount BIGINT NOT NULL, --金额
- SendAmount BIGINT NOT NULL, --发行
- DelAmount BIGINT NOT NULL, --消耗
- DiffAmount BIGINT NOT NULL --游戏总额
- )
- --申请表变量
- DECLARE @tmpSum TABLE(
- GameID INT NOT NULL, --游戏ID
- SendAmount BIGINT NOT NULL, --发行
- DelAmount BIGINT NOT NULL, --消耗
- DiffAmount BIGINT NOT NULL --游戏总额
- )
- SET @Yesterday = CONVERT(CHAR(10), @BeginTime, 120)
- SET @Today = CONVERT(CHAR(10), @EndTime + 1, 120)
-
- --金币统计
- INSERT INTO @tmptable
- (
- LogType, LogTypeName, GameID, Amount, SendAmount, DelAmount, DiffAmount
- )
- SELECT
- LogType, '', 0, SUM(MoneySum), 0, 0, 0
- FROM
- [ChipStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND UserID NOT IN (SELECT UserID FROM [MachineUser])
- GROUP BY
- LogType
- --获取类型名称、游戏ID
- UPDATE
- t
- SET
- t.LogTypeName = m.LogTypeName, t.GameID = m.GameID
- FROM
- @tmptable t INNER JOIN [MoneyLogType] m ON t.LogType = m.LogType
-
- --统计
- SELECT
- @Send = ISNULL(SUM(CASE WHEN Amount > 0 THEN Amount ELSE 0 END), 0), --总发行
- @Consume = ISNULL(SUM(CASE WHEN Amount < 0 THEN Amount ELSE 0 END), 0), --总消耗
-
- @GameSend = ISNULL(SUM(CASE WHEN GameID > 0 AND Amount > 0 THEN Amount ELSE 0 END), 0), --游戏发行
- @GameConsume = ISNULL(SUM(CASE WHEN GameID > 0 AND Amount < 0 THEN Amount ELSE 0 END), 0), --游戏消耗
- @GameDiff = ISNULL(SUM(CASE WHEN GameID > 0 THEN Amount ELSE 0 END), 0) --游戏差额
- FROM
- @tmptable
- --按游戏统计总额
- INSERT INTO @tmpSum
- (
- GameID, SendAmount, DelAmount, DiffAmount
- )
- SELECT
- GameID, ISNULL(SUM(CASE WHEN Amount > 0 THEN Amount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN Amount < 0 THEN Amount ELSE 0 END), 0), ISNULL(SUM(Amount), 0)
- FROM
- @tmptable
- GROUP BY
- GameID
-
- --金币统计
- INSERT INTO @tmptable
- (
- LogType, LogTypeName, GameID, Amount, SendAmount, DelAmount, DiffAmount
- )
- SELECT
- (LogType / 100) * 100 + 24, N'游戏消耗', LogType / 100, SUM(-TaxSum), 0, 0, 0
- FROM
- [ChipStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND UserID NOT IN (SELECT UserID FROM [MachineUser]) AND TaxSum > 0
- GROUP BY
- LogType / 100
- --获取游戏总计
- UPDATE
- l
- SET
- l.SendAmount = s.SendAmount, l.DelAmount = s.DelAmount, l.DiffAmount = s.DiffAmount
- FROM
- @tmptable l INNER JOIN @tmpSum s ON l.GameID = s.GameID
- --今天数据,实时统计
- IF(@EndTime >= CONVERT(CHAR(10), GETDATE(), 120))
- BEGIN
- --金币总额、存款总额
- SELECT @Cash = ISNULL(SUM(Amount), 0), @Bank = ISNULL(SUM(Bank), 0) FROM [Chip] WHERE UserID NOT IN (SELECT UserID FROM [MachineUser])
- END
- --历史数据,取存量统计数据
- ELSE
- BEGIN
- --金币总额
- SELECT
- @Cash = TotalAmount, @Bank = TotalBank
- FROM
- [ChipStatTotal]
- WHERE
- Crdate = @Today
- END
- --当前总存量
- SET @CurrAmount = @Cash + @Bank
- --前日总存量
- SELECT @YesterdayAmount = TotalAmount + TotalBank FROM [ChipStatTotal] WHERE Crdate = @Yesterday
- --返回信息
- SELECT
- t.LogType, t.LogTypeName, t.GameID, t.Amount,
- CASE WHEN t.GameID = 0 THEN N'游戏大厅' ELSE ISNULL(g.ChineseName, ISNULL(t.GameID, 0)) END AS ChineseName,
- t.SendAmount, t.DelAmount, t.DiffAmount
- FROM
- @tmptable t LEFT JOIN [AllGame] g ON t.GameID = g.GameID
- ORDER BY
- t.GameID ASC, t.Amount DESC, t.LogType ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_ChipStatTotal_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RecordCount INT
- -- EXEC [Manage_ChipStatTotal_GetList]
- -- @BeginTime = '',
- -- @EndTime = '',
- -- @PageIndex = 1,
- -- @PageSize = 10,
- -- @RecordCount = @RecordCount OUTPUT
- -- SELECT @RecordCount AS RecordCount
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-04
- -- Mendor: wolf
- -- Alter Date: 2015-11-06
- -- Description: 获取游戏库存量
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_ChipStatTotal_GetList]
- @BeginTime DATETIME, --起始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --总记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --总记录数
- SELECT @RecordCount = (SELECT COUNT(Crdate) FROM [ChipStatTotal] WHERE Crdate BETWEEN @BeginTime AND @EndTime)
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Crdate DESC) AS RowNumber,
- Crdate, TotalAmount, TotalBank
- FROM
- [ChipStatTotal]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- )
-
- --返回信息:
- SELECT
- RowNumber, CONVERT(CHAR(16), Crdate, 120) AS Crdate, TotalAmount, TotalBank
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_ChipStatTotal_GetListByDay] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RecordCount INT
- -- EXEC [Manage_ChipStatTotal_GetListByDay]
- -- @BeginTime = '',
- -- @EndTime = '',
- -- @PageIndex = 1,
- -- @PageSize = 10,
- -- @RecordCount = @RecordCount OUTPUT
- -- SELECT @RecordCount AS RecordCount
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-04
- -- Mendor: wolf
- -- Alter Date: 2015-04-03
- -- Description: 获取游戏库存量
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_ChipStatTotal_GetListByDay]
- @BeginTime DATETIME, --起始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --总记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --申请表变量
- DECLARE @tmptable TABLE(
- Crdate SMALLDATETIME NOT NULL,
- TotalAmount BIGINT NOT NULL, --当前总存量
- TotalBank BIGINT NOT NULL --当前保险柜存量
- )
-
- SET @EndTime = CONVERT(CHAR(11), @EndTime, 120) + '23:59:59'
-
- --初始化表变量
- INSERT INTO @tmptable
- (
- Crdate, TotalAmount, TotalBank
- )
- SELECT
- Crdate, TotalAmount, TotalBank
- FROM
- [ChipStatTotal]
- WHERE
- Crdate IN (SELECT MAX(Crdate) FROM [ChipStatTotal] WHERE Crdate BETWEEN @BeginTime AND @EndTime GROUP BY CONVERT(CHAR(10), Crdate, 120))
-
- --总记录数
- SELECT @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Crdate DESC) AS RowNumber,
- Crdate, TotalAmount, TotalBank, (TotalAmount + TotalBank) AS Total
- FROM
- @tmptable
- )
-
- --返回信息:
- SELECT
- RowNumber, CONVERT(CHAR(10), Crdate, 120) AS Crdate, TotalAmount, TotalBank, Total
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- RETURN
- END
-
- GO
- /****** Object: StoredProcedure [dbo].[Manage_ChipTaxStatTotal_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_ChipTaxStatTotal_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-04
- -- Mendor: wolf
- -- Alter Date: 2016-01-27
- -- Description: 后台管理--获取游戏税收总计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_ChipTaxStatTotal_GetList]
- @BeginTime DATETIME, --起始时间
- @EndTime DATETIME, --截止时间
- @TotalTaxAmount BIGINT OUTPUT --总税收
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --申请表变量
- DECLARE @tmptable TABLE(
- ServerName NVARCHAR(32) NOT NULL, --服务器
- TaxSum BIGINT NOT NULL --税收
- )
-
- SET @EndTime = @EndTime + ' 23:59:59'
- SET @TotalTaxAmount = 0
-
- --初始化表变量
- INSERT INTO @tmptable(ServerName, TaxSum)
- SELECT
- ServerName, SUM(Tax)
- FROM
- [ChipTax]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime
- GROUP BY
- ServerName
-
- --有税收才统计
- IF(@@ROWCOUNT > 0)
- BEGIN
- SET @TotalTaxAmount = (SELECT SUM(TaxSum) FROM @tmptable)
- END
-
- --返回信息:服务器名称、税收(TaxSum)(bigint)
- SELECT
- ServerName, TaxSum
- FROM
- @tmptable
- ORDER BY
- TaxSum DESC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_CouponTask_GetRank] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_CouponTask_GetRank]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 红包券排行榜
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_CouponTask_GetRank]
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
- --表变量
- DECLARE @tmptable TABLE(
- UserID INT NOT NULL, --用户ID
- ItemCount INT NOT NULL --数量
- )
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- --排名
- INSERT INTO @tmptable(UserID, ItemCount)
- SELECT
- UserID, SUM(ItemCount)
- FROM
- [UserItem]
- WHERE
- ItemID = 620100
- GROUP BY
- UserID
- ORDER BY
- SUM(ItemCount) DESC
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY ItemCount DESC) AS RowNumber,
- UserID, ItemCount
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- l.RowNumber, l.UserID, u.NickName, l.ItemCount, u.PayMoney,
- ISNULL(p.PartnerName, LTRIM(STR(u.PartnerID))) AS PartnerName
- FROM
- [List] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- LEFT JOIN [Partner] p ON u.PartnerID = p.PartnerID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_CouponTask_GetStatByDay] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_CouponTask_GetStatByDay]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 红包券统计(每天)
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_CouponTask_GetStatByDay]
- @DateFlag DATETIME --日期
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --当天数据
- IF(@DateFlag = CONVERT(CHAR(10), GETDATE(), 120))
- BEGIN
- SELECT
- CONVERT(VARCHAR(10), @DateFlag, 120) AS DateFlag, ISNULL(SUM(CouponCount), 0) AS CouponCount,
- COUNT(DISTINCT UserID) AS UserCount
- FROM
- [UserCouponStat]
- WHERE
- DateFlag >= @DateFlag AND DateFlag < @DateFlag + 1
-
- RETURN
- END
- --返回信息
- SELECT
- CONVERT(VARCHAR(10), DateFlag, 120) AS DateFlag, CouponCount, UserCount
- FROM
- [CouponStat]
- WHERE
- DateFlag = @DateFlag
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_CouponTask_GetStatByHour] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_CouponTask_GetStatByHour]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 红包券统计(每小时)
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_CouponTask_GetStatByHour]
- @DateFlag SMALLDATETIME --日期
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- CONVERT(CHAR(11), DateFlag, 120) + LTRIM(STR(DATEPART(HOUR, DateFlag))) + ':00' AS DateFlag,
- Remark, SUM(CouponCount) AS CouponCount, COUNT(DISTINCT(UserID)) AS UserCount
- FROM
- [UserCouponStat]
- WHERE
- DateFlag >= @DateFlag AND DateFlag < @DateFlag + 1
- GROUP BY
- CONVERT(CHAR(11), DateFlag, 120) + LTRIM(STR(DATEPART(HOUR, DateFlag))) + ':00', Remark
- ORDER BY
- CONVERT(CHAR(11), DateFlag, 120) + LTRIM(STR(DATEPART(HOUR, DateFlag))) + ':00' ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_CroOrder_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_CroOrder_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: CroPay--获取订单列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_CroOrder_GetList]
- @UserID INT, --用户ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT, --总记录数
- @TotalRMBMoney INT OUTPUT, --成功充值数
- @UserCount INT OUTPUT --下订单用户数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --创建临时表
- DECLARE @tmptable TABLE(
- OrderID VARCHAR(32) NOT NULL, --订单号
- TradeID VARCHAR(64) NOT NULL, --交易号
- UserID INT NOT NULL, --用户ID
- ProductID VARCHAR(32) NOT NULL, --产品ID
- Price DECIMAL(18, 2) NOT NULL, --价格
- GetStatus TINYINT NOT NULL, --状态
- PartnerID INT NOT NULL, --渠道ID
- IPAddress VARCHAR(16) NOT NULL, --IP地址
- Crdate DATETIME NOT NULL --时间
- )
- --用户ID查询
- IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- )
- SELECT
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- FROM
- [CroOrder]
- WHERE
- UserID = @UserID AND Crdate BETWEEN @BeginTime AND @EndTime
- ORDER BY
- Crdate DESC
- END
-
- --所有订单
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- )
- SELECT
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- FROM
- [CroOrder]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- ORDER BY
- Crdate DESC
- END
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- --成功充值总额
- SET @TotalRMBMoney = ISNULL((SELECT SUM(Price) FROM @tmptable WHERE GetStatus = 1), 0)
-
- SET @UserCount = ISNULL((SELECT COUNT(DISTINCT UserID) FROM @tmptable), 0)
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Crdate DESC) AS RowNumber,
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- l.OrderID, l.TradeID, l.UserID, u.NickName, l.ProductID, l.Price, l.GetStatus,
- ISNULL(p.PartnerName, LTRIM(STR(l.PartnerID))) AS PartnerName, l.IPAddress,
- CONVERT(CHAR(20), l.Crdate, 120) AS Crdate
- FROM
- [List] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- LEFT JOIN [Partner] p ON l.PartnerID = p.PartnerID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_CrushOrder_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_CrushOrder_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2022-11-07
- -- Description: CrushPay--获取订单列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_CrushOrder_GetList]
- @UserID INT, --用户ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT, --总记录数
- @TotalRMBMoney INT OUTPUT, --成功充值数
- @UserCount INT OUTPUT --下订单用户数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --创建临时表
- DECLARE @tmptable TABLE(
- OrderID VARCHAR(32) NOT NULL, --订单号
- TradeID VARCHAR(64) NOT NULL, --交易号
- UserID INT NOT NULL, --用户ID
- ProductID VARCHAR(32) NOT NULL, --产品ID
- Price DECIMAL(18, 2) NOT NULL, --价格
- GetStatus TINYINT NOT NULL, --状态
- PartnerID INT NOT NULL, --渠道ID
- IPAddress VARCHAR(16) NOT NULL, --IP地址
- Crdate DATETIME NOT NULL --时间
- )
- --用户ID查询
- IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- )
- SELECT
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- FROM
- [CrushOrder]
- WHERE
- UserID = @UserID AND Crdate BETWEEN @BeginTime AND @EndTime
- ORDER BY
- Crdate DESC
- END
-
- --所有订单
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- )
- SELECT
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- FROM
- [CrushOrder]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- ORDER BY
- Crdate DESC
- END
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- --成功充值总额
- SET @TotalRMBMoney = ISNULL((SELECT SUM(Price) FROM @tmptable WHERE GetStatus = 1), 0)
-
- SET @UserCount = ISNULL((SELECT COUNT(DISTINCT UserID) FROM @tmptable), 0)
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Crdate DESC) AS RowNumber,
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- l.OrderID, l.TradeID, l.UserID, ISNULL(u.NickName, '') AS NickName, l.ProductID, l.Price, l.GetStatus,
- ISNULL(p.PartnerName, LTRIM(STR(l.PartnerID))) AS PartnerName, l.IPAddress,
- CONVERT(CHAR(20), l.Crdate, 120) AS Crdate
- FROM
- [List] l LEFT JOIN [AllUser] u ON l.UserID = u.UserID
- LEFT JOIN [Partner] p ON l.PartnerID = p.PartnerID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Currency_GetTop] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Currency_GetTop]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-04
- -- Mendor: wolf
- -- Alter Date: 2015-11-06
- -- Description: 货币排行
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Currency_GetTop]
- @PartnerID INT, --渠道ID
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --总记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
- DECLARE @tmptable TABLE(
- Rank INT NOT NULL, --名次
- PartnerID INT NOT NULL, --渠道ID
- PartnerName NVARCHAR(32) NOT NULL, --渠道名称
- UserID INT NOT NULL, --用户ID
- NickName NVARCHAR(32) NOT NULL, --昵称
- Amount BIGINT NOT NULL, --金币数量
- Bank BIGINT NOT NULL, --保险柜
- PayMoney DECIMAL(18, 2) NOT NULL --充值金额
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --记录数
- SET @RecordCount = (SELECT COUNT(UserID) FROM [Money] WHERE UserID NOT IN (SELECT UserID FROM [MachineUser]) AND UserID > 0)
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Amount + Bank DESC) AS RowNumber,
- UserID, Amount, Bank
- FROM
- [Money]
- WHERE
- UserID NOT IN (SELECT UserID FROM [MachineUser]) AND UserID > 0
- )
-
- --获取变量
- INSERT INTO @tmptable
- (
- Rank, PartnerID, PartnerName, UserID, NickName, Amount, Bank, PayMoney
- )
- SELECT
- RowNumber, 0, '', UserID, '', Amount, Bank, 0
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- --获取用户信息
- UPDATE
- t
- SET
- t.NickName = u.NickName, t.PartnerID = u.PartnerID, t.PayMoney = u.PayMoney
- FROM
- @tmptable t INNER JOIN [AllUser] u ON t.UserID = u.UserID
-
- --获取渠道名称
- UPDATE t SET t.PartnerName = p.PartnerName FROM @tmptable t INNER JOIN [Partner] p ON t.PartnerID = p.PartnerID
-
- --返回信息
- SELECT
- Rank, CASE WHEN PartnerName = '' THEN LTRIM(STR(PartnerID)) ELSE PartnerName END AS PartnerName,
- UserID, NickName, Amount, Bank, PayMoney
- FROM
- @tmptable
- ORDER BY
- Rank ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_DailyReport_Del] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_DailyReport_Del]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 每日报表项删除
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_DailyReport_Del]
- @Rid INT --标识
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT --操作结果
- DECLARE @Crdate DATETIME --时间
-
- SET @RetCode = 0
-
- --信息
- SELECT @Crdate = Crdate FROM [DailyReport] WHERE Rid = @Rid
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --只能删除7天内数据
- IF(@Crdate <= GETDATE() - 7)
- BEGIN
- SET @RetCode = 12
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --删除
- DELETE FROM [DailyReport] WHERE Rid = @Rid
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --返回信息
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_DailyReport_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_DailyReport_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 每日报表列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_DailyReport_GetList]
- @BeginTime SMALLDATETIME, --开始时间
- @EndTime SMALLDATETIME --截止时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- Rid, CONVERT(VARCHAR(10), DateFlag, 120) AS DateFlag,
- ItemType, ItemName, ItemValue, ItemTag
- FROM
- [DailyReport]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime
- ORDER BY
- DateFlag DESC, ItemType ASC, ItemTag ASC, Rid ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_DailyReport_GetListByMonth] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_DailyReport_GetListByMonth]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 每日报表列表(月报)
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_DailyReport_GetListByMonth]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- CONVERT(VARCHAR(7), DateFlag, 120) AS DateFlag,
- ItemType, ItemName, SUM(ItemValue) AS ItemValue, ItemTag
- FROM
- [DailyReport]
- GROUP BY
- CONVERT(VARCHAR(7), DateFlag, 120), ItemType, ItemName, ItemTag
- ORDER BY
- DateFlag DESC, ItemType ASC, ItemTag ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_DailyReport_Insert] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_DailyReport_Insert]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 每日报表项录入
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_DailyReport_Insert]
- @DateFlag SMALLDATETIME, --日期标识
- @ItemType TINYINT, --类型(1=用户数据 2=充值提现 3=注册留存 4=金币收支)
- @ItemName NVARCHAR(32), --项名称
- @ItemValue DECIMAL(18, 2), --项值
- @ItemTag SMALLINT --标签
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- INSERT INTO [DailyReport]
- (
- DateFlag, ItemType, ItemName, ItemValue, ItemTag, Crdate
- )
- VALUES
- (
- @DateFlag, @ItemType, @ItemName, @ItemValue, @ItemTag, GETDATE()
- )
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_DailyStat_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_DailyStat_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-09
- -- Mendor: wolf
- -- Alter Date: 2014-12-22
- -- Description: 日常统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_DailyStat_GetList]
- @BeginTime DATETIME, --起始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --总记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --行起始索引
- DECLARE @EndRowIndex INT --截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --表变量
- DECLARE @tmptable TABLE(
- DateFlag SMALLDATETIME NOT NULL, --日期标志
- AvgOnlineCount INT NOT NULL, --平均在线
- MaxOnlineCount INT NOT NULL, --最高在线
- RegCount INT NOT NULL, --注册用户
- LoginCount INT NOT NULL, --登陆用户
- ActiveCount INT NOT NULL, --活跃用户(活跃用户是指参与过游戏的用户)
- PayMoney DECIMAL(18, 2) NOT NULL, --充值
- CosumeAmount BIGINT NOT NULL, --消耗货币(消耗货币是指昨日的货币总额变化数量)
- PayUserCount INT NOT NULL, --付费人数
- AvgPayMoney DECIMAL(18, 2) NOT NULL, --人均付费
- LiveUsers_1 INT NOT NULL, --次日留存
- LiveUsers_3 INT NOT NULL, --3日留存
- LiveUsers_7 INT NOT NULL, --7日留存
- ReturnUserCount INT NOT NULL, --回归用户(回归用户是指这天登录,但此前超过10天没有登录过的用户)
- VideoPlayTimes INT NOT NULL, --视频广告播放次数
- VideoSendAmount BIGINT NOT NULL --视频广告播放赠送金币
- )
-
- --初始化临时表
- INSERT INTO @tmptable
- (
- DateFlag, AvgOnlineCount, MaxOnlineCount, RegCount, LoginCount, ActiveCount, PayMoney,
- CosumeAmount, PayUserCount, AvgPayMoney, LiveUsers_1, LiveUsers_3, LiveUsers_7, ReturnUserCount,
- VideoPlayTimes, VideoSendAmount
- )
- SELECT
- DateFlag, AvgOnlineCount, MaxOnlineCount, RegCount, LoginCount, ActiveCount, PayMoney,
- CosumeAmount, PayUserCount, AvgPayMoney, LiveUsers_1, LiveUsers_3, LiveUsers_7, ReturnUserCount,
- VideoPlayTimes, VideoSendAmount
- FROM
- [DailyStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY DateFlag DESC) AS RowNumber,
- DateFlag, AvgOnlineCount, MaxOnlineCount, RegCount, LoginCount, ActiveCount, PayMoney,
- CosumeAmount, PayUserCount, AvgPayMoney, LiveUsers_1, LiveUsers_3, LiveUsers_7, ReturnUserCount,
- VideoPlayTimes, VideoSendAmount
- FROM
- @tmptable
- )
-
- --返回信息:
- SELECT
- CONVERT(CHAR(10), DateFlag, 120) AS DateFlag, AvgOnlineCount,
- MaxOnlineCount, RegCount, LoginCount, ActiveCount, PayMoney, CosumeAmount, PayUserCount,
- AvgPayMoney, LiveUsers_1, LiveUsers_3, LiveUsers_7, ReturnUserCount,
- VideoPlayTimes, VideoSendAmount
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_DingpeiOrder_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_DingpeiOrder_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2022-11-07
- -- Description: DingpeiPay--获取订单列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_DingpeiOrder_GetList]
- @UserID INT, --用户ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT, --总记录数
- @TotalRMBMoney INT OUTPUT, --成功充值数
- @UserCount INT OUTPUT --下订单用户数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --创建临时表
- DECLARE @tmptable TABLE(
- OrderID VARCHAR(32) NOT NULL, --订单号
- TradeID VARCHAR(64) NOT NULL, --交易号
- UserID INT NOT NULL, --用户ID
- ProductID VARCHAR(32) NOT NULL, --产品ID
- Price DECIMAL(18, 2) NOT NULL, --价格
- GetStatus TINYINT NOT NULL, --状态
- PartnerID INT NOT NULL, --渠道ID
- IPAddress VARCHAR(16) NOT NULL, --IP地址
- Crdate DATETIME NOT NULL --时间
- )
- --用户ID查询
- IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- )
- SELECT
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- FROM
- [DingpeiOrder]
- WHERE
- UserID = @UserID AND Crdate BETWEEN @BeginTime AND @EndTime
- ORDER BY
- Crdate DESC
- END
-
- --所有订单
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- )
- SELECT
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- FROM
- [DingpeiOrder]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- ORDER BY
- Crdate DESC
- END
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- --成功充值总额
- SET @TotalRMBMoney = ISNULL((SELECT SUM(Price) FROM @tmptable WHERE GetStatus = 1), 0)
-
- SET @UserCount = ISNULL((SELECT COUNT(DISTINCT UserID) FROM @tmptable), 0)
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Crdate DESC) AS RowNumber,
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- l.OrderID, l.TradeID, l.UserID, ISNULL(u.NickName, '') AS NickName, l.ProductID, l.Price, l.GetStatus,
- ISNULL(p.PartnerName, LTRIM(STR(l.PartnerID))) AS PartnerName, l.IPAddress,
- CONVERT(CHAR(20), l.Crdate, 120) AS Crdate
- FROM
- [List] l LEFT JOIN [AllUser] u ON l.UserID = u.UserID
- LEFT JOIN [Partner] p ON l.PartnerID = p.PartnerID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Exchange_GetCashList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Exchange_GetCashList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 兑换cash列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Exchange_GetCashList]
- @UserID INT, --用户ID
- @Memo VARCHAR(1024), --备注
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT, --记录数
- @Status SMALLINT
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- DECLARE @tmptable TABLE(
- Id INT NOT NULL, --标识
- UserID INT NOT NULL, --用户ID
- ExchangeID INT NOT NULL, --兑换ID
- Price DECIMAL(18, 2) NOT NULL, --价格
- Items VARCHAR(128) NOT NULL, --物品
- Remark NVARCHAR(1024) NOT NULL, --备注
- Status TINYINT NOT NULL, --状态(0=待发货 1=已发货)
- Crdate DATETIME NOT NULL, --时间
- ExchangeType INT NOT NULL --兑换类型(1=奖券兑换金币 2=代理兑换元宝 3=代理兑换电话卡 4=代理兑换RP 5=金币提现)
- )
-
- --用户ID
- IF(@UserID > 0)
- BEGIN
- IF(LEN(@Memo) > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- Id, UserID, ExchangeID, Price, Items, Remark, Status, Crdate, ExchangeType
- )
- SELECT
- h.Id, h.UserID, h.ExchangeID, h.Price, h.Items, h.Remark, h.Status, h.Crdate, h.ExchangeType
- FROM
- [ExchangeHistory] h INNER JOIN [Exchange] e ON h.ExchangeID = e.Id
- WHERE
- h.Crdate BETWEEN @BeginTime AND @EndTime AND h.UserID = @UserID AND e.Memo = @Memo AND e.Amount > 0
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- Id, UserID, ExchangeID, Price, Items, Remark, Status, Crdate, ExchangeType
- )
- SELECT
- h.Id, h.UserID, h.ExchangeID, h.Price, h.Items, h.Remark, h.Status, h.Crdate, h.ExchangeType
- FROM
- [ExchangeHistory] h INNER JOIN [Exchange] e ON h.ExchangeID = e.Id
- WHERE
- h.Crdate BETWEEN @BeginTime AND @EndTime AND h.UserID = @UserID AND e.Amount > 0
- END
- END
-
- --所有
- ELSE
- BEGIN
- IF(LEN(@Memo) > 0)
- BEGIN
- IF(@Status = -1)
- BEGIN
- INSERT INTO @tmptable
- (
- Id, UserID, ExchangeID, Price, Items, Remark, Status, Crdate, ExchangeType
- )
- SELECT
- h.Id, h.UserID, h.ExchangeID, h.Price, h.Items, h.Remark, h.Status, h.Crdate, h.ExchangeType
- FROM
- [ExchangeHistory] h INNER JOIN [Exchange] e ON h.ExchangeID = e.Id
- WHERE
- h.Crdate BETWEEN @BeginTime AND @EndTime AND e.Memo = @Memo AND e.Amount > 0
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- Id, UserID, ExchangeID, Price, Items, Remark, Status, Crdate, ExchangeType
- )
- SELECT
- h.Id, h.UserID, h.ExchangeID, h.Price, h.Items, h.Remark, h.Status, h.Crdate, h.ExchangeType
- FROM
- [ExchangeHistory] h INNER JOIN [Exchange] e ON h.ExchangeID = e.Id
- WHERE
- h.Crdate BETWEEN @BeginTime AND @EndTime AND e.Memo = @Memo AND h.Status = @Status AND e.Amount > 0
- END
- END
-
- ELSE
- BEGIN
- IF(@Status = -1)
- BEGIN
- INSERT INTO @tmptable
- (
- Id, UserID, ExchangeID, Price, Items, Remark, Status, Crdate, ExchangeType
- )
- SELECT
- h.Id, h.UserID, h.ExchangeID, h.Price, h.Items, h.Remark, h.Status, h.Crdate, h.ExchangeType
- FROM
- [ExchangeHistory] h INNER JOIN [Exchange] e ON h.ExchangeID = e.Id
- WHERE
- h.Crdate BETWEEN @BeginTime AND @EndTime AND e.Amount > 0
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- Id, UserID, ExchangeID, Price, Items, Remark, Status, Crdate, ExchangeType
- )
- SELECT
- h.Id, h.UserID, h.ExchangeID, h.Price, h.Items, h.Remark, h.Status, h.Crdate, h.ExchangeType
- FROM
- [ExchangeHistory] h INNER JOIN [Exchange] e ON h.ExchangeID = e.Id
- WHERE
- h.Crdate BETWEEN @BeginTime AND @EndTime AND h.Status = @Status AND e.Amount > 0
- END
- END
- END
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Id DESC) AS RowNumber,
- Id, UserID, ExchangeID, Price, Items, Remark, Status, Crdate, ExchangeType
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- l.Id, l.UserID, u.NickName, l.ExchangeID, l.Price, l.Items, l.Remark, l.Status,
- CONVERT(CHAR(20), l.Crdate, 120) AS Crdate, l.ExchangeType
- FROM
- [List] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Exchange_GetHistoryList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Exchange_GetHistoryList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 兑换历史列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Exchange_GetHistoryList]
- @Id INT, --标识
- @UserID INT, --用户ID
- @Memo VARCHAR(1024), --备注
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT, --记录数
- @Status SMALLINT
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- DECLARE @tmptable TABLE(
- Id INT NOT NULL, --标识
- UserID INT NOT NULL, --用户ID
- ExchangeID INT NOT NULL, --兑换ID
- Price DECIMAL(18, 2) NOT NULL, --价格
- Items VARCHAR(128) NOT NULL, --物品
- Remark NVARCHAR(1024) NOT NULL, --备注
- Status TINYINT NOT NULL, --状态(0=待发货 1=已发货)
- Crdate DATETIME NOT NULL, --时间
- ExchangeType INT NOT NULL --兑换类型(1=奖券兑换金币 2=代理兑换元宝 3=代理兑换电话卡 4=代理兑换RP 5=金币提现)
- )
-
- --某个标识
- IF(@Id > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- Id, UserID, ExchangeID, Price, Items, Remark, Status, Crdate, ExchangeType
- )
- SELECT
- Id, UserID, ExchangeID, Price, Items, Remark, Status, Crdate, ExchangeType
- FROM
- [ExchangeHistory]
- WHERE
- Id = @Id
- END
-
- --用户ID
- ELSE IF(@UserID > 0)
- BEGIN
- IF(LEN(@Memo) > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- Id, UserID, ExchangeID, Price, Items, Remark, Status, Crdate, ExchangeType
- )
- SELECT
- h.Id, h.UserID, h.ExchangeID, h.Price, h.Items, h.Remark, h.Status, h.Crdate, h.ExchangeType
- FROM
- [ExchangeHistory] h INNER JOIN [Exchange] e ON h.ExchangeID = e.Id
- WHERE
- h.Crdate BETWEEN @BeginTime AND @EndTime AND h.UserID = @UserID AND e.Memo = @Memo
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- Id, UserID, ExchangeID, Price, Items, Remark, Status, Crdate, ExchangeType
- )
- SELECT
- Id, UserID, ExchangeID, Price, Items, Remark, Status, Crdate, ExchangeType
- FROM
- [ExchangeHistory]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
- END
- END
-
- --所有
- ELSE
- BEGIN
- IF(LEN(@Memo) > 0)
- BEGIN
- IF(@Status = -1)
- BEGIN
- INSERT INTO @tmptable
- (
- Id, UserID, ExchangeID, Price, Items, Remark, Status, Crdate, ExchangeType
- )
- SELECT
- h.Id, h.UserID, h.ExchangeID, h.Price, h.Items, h.Remark, h.Status, h.Crdate, h.ExchangeType
- FROM
- [ExchangeHistory] h INNER JOIN [Exchange] e ON h.ExchangeID = e.Id
- WHERE
- h.Crdate BETWEEN @BeginTime AND @EndTime AND e.Memo = @Memo
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- Id, UserID, ExchangeID, Price, Items, Remark, Status, Crdate, ExchangeType
- )
- SELECT
- h.Id, h.UserID, h.ExchangeID, h.Price, h.Items, h.Remark, h.Status, h.Crdate, h.ExchangeType
- FROM
- [ExchangeHistory] h INNER JOIN [Exchange] e ON h.ExchangeID = e.Id
- WHERE
- h.Crdate BETWEEN @BeginTime AND @EndTime AND e.Memo = @Memo AND h.Status = @Status
- END
- END
-
- ELSE
- BEGIN
- IF(@Status = -1)
- BEGIN
- INSERT INTO @tmptable
- (
- Id, UserID, ExchangeID, Price, Items, Remark, Status, Crdate, ExchangeType
- )
- SELECT
- Id, UserID, ExchangeID, Price, Items, Remark, Status, Crdate, ExchangeType
- FROM
- [ExchangeHistory]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- Id, UserID, ExchangeID, Price, Items, Remark, Status, Crdate, ExchangeType
- )
- SELECT
- Id, UserID, ExchangeID, Price, Items, Remark, Status, Crdate, ExchangeType
- FROM
- [ExchangeHistory]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND Status = @Status
- END
- END
- END
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Id DESC) AS RowNumber,
- Id, UserID, ExchangeID, Price, Items, Remark, Status, Crdate, ExchangeType
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- l.Id, l.UserID, u.NickName, l.ExchangeID, l.Price, l.Items, l.Remark, l.Status,
- CONVERT(CHAR(20), l.Crdate, 120) AS Crdate, l.ExchangeType
- FROM
- [List] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Exchange_UpdateHistory] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Exchange_UpdateHistory]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 修改兑换历史
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Exchange_UpdateHistory]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @Id INT, --兑换历史标识
- @Status TINYINT, --状态(0=待发货 1=已发货 2=拒绝)
- @Remark NVARCHAR(1024), --备注
- @IPAddress VARCHAR(16), --ip地址
- @RetCode TINYINT OUTPUT, --操作结果
- @NewRemark NVARCHAR(1024) OUTPUT --备注
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
- SET @RetCode = 0
- SET @NewRemark = ''
- --修改兑换历史
- UPDATE
- [ExchangeHistory]
- SET
- Status = @Status,
- Remark =CASE
- WHEN LEN(@Remark) > 0 THEN CASE WHEN Remark = '.' THEN '||' + @Remark ELSE Remark + '||' + @Remark END
- ELSE Remark
- END,
- @NewRemark = CASE
- WHEN LEN(@Remark) > 0 THEN CASE WHEN Remark = '.' THEN '||' + @Remark ELSE Remark + '||' + @Remark END
- ELSE Remark
- END
- WHERE
- Id = @Id AND Status = 0
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 11
- RETURN
- END
-
- SET @Msg = N'修改兑换历史,@Id=' + LTRIM(STR(@Id)) + ',@Status=' + LTRIM(STR(@Status)) + ',Remark=' + @Remark
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName,
- @IPAddress = @IPAddress, @Msg = @Msg
-
- --操作成功
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_ExchangeCard_Gen] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_ExchangeCard_Gen]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 兑换卡生成
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_ExchangeCard_Gen]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @CardNo VARCHAR(32), --卡号
- @PerDays INT, --每天(0=无限制 1=每1天)
- @UseTimes BIGINT, --可使用次数
- @OpenTime DATETIME, --开始时间
- @ExpireTime DATETIME, --过期时间
- @Items VARCHAR(128), --物品
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT --操作结果
- DECLARE @Msg NVARCHAR(4000) --操作描述
-
- SET @RetCode = 0
-
- --自动生成码
- IF(@CardNo = '')
- BEGIN
- SET @CardNo = 'E' + SUBSTRING(REPLACE(NEWID(), '-', ''), 1, 7)
- END
-
- --判断是否已经存在
- IF EXISTS(SELECT CardNo FROM [ExchangeCard] WHERE CardNo = @CardNo)
- BEGIN
- PRINT N'兑换卡生成失败,卡号=' + @CardNo + N',已存在......!'
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --生成兑换卡
- INSERT INTO [ExchangeCard]
- (
- CardNo, PerDays, UseTimes, OpenTime, ExpireTime, Items, Crdate
- )
- VALUES
- (
- @CardNo, @PerDays, @UseTimes, @OpenTime, @ExpireTime, @Items, GETDATE()
- )
-
- --添加日志
- SET @Msg = N'兑换卡生成成功,关联的信息:@CardNo=' + @CardNo + ',@PerDays=' + LTRIM(STR(@PerDays)) +
- ',@UseTimes=' + CAST(@UseTimes AS VARCHAR(16)) + ',@OpenTime=' + CONVERT(VARCHAR(20), @OpenTime, 120) +
- ',@ExpireTime=' + CONVERT(VARCHAR(20), @ExpireTime, 120) + ',@Items=' + @Items
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress, @Type = 1
-
- --操作结果
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_ExchangeCard_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_ExchangeCard_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 兑换卡列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_ExchangeCard_GetList]
- @CardNo VARCHAR(32) --卡号
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --获取某卡号
- IF(LEN(@CardNo) > 0)
- BEGIN
- SELECT
- CardNo, PerDays, UseTimes, CONVERT(VARCHAR(20), OpenTime, 120) AS OpenTime,
- CONVERT(VARCHAR(20), ExpireTime, 120) AS ExpireTime, Items,
- CONVERT(VARCHAR(20), Crdate, 120) AS Crdate
- FROM
- [ExchangeCard]
- WHERE
- CardNo = @CardNo
-
- RETURN
- END
-
- --兑换卡
- SELECT
- CardNo, PerDays, UseTimes, CONVERT(VARCHAR(20), OpenTime, 120) AS OpenTime,
- CONVERT(VARCHAR(20), ExpireTime, 120) AS ExpireTime, Items,
- CONVERT(VARCHAR(20), Crdate, 120) AS Crdate
- FROM
- [ExchangeCard]
- ORDER BY
- ExpireTime DESC, Crdate DESC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_ExchangeCard_GetLogList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_ExchangeCard_GetLogList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 兑换卡日志
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_ExchangeCard_GetLogList]
- @CardNo VARCHAR(32), --卡号
- @UserID INT, --用户ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --总记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- DECLARE @tmptable TABLE(
- Rid INT NOT NULL, --标识
- UserID INT NOT NULL, --用户ID
- CardNo VARCHAR(32) NOT NULL, --卡号
- Crdate DATETIME NOT NULL --时间
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- SET @RecordCount = 0
-
- IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- Rid, UserID, CardNo, Crdate
- )
- SELECT
- Rid, UserID, CardNo, Crdate
- FROM
- [ExchangeCardLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
- END
-
- ELSE IF(@CardNo != '')
- BEGIN
- INSERT INTO @tmptable
- (
- Rid, UserID, CardNo, Crdate
- )
- SELECT
- Rid, UserID, CardNo, Crdate
- FROM
- [ExchangeCardLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND CardNo = @CardNo
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- Rid, UserID, CardNo, Crdate
- )
- SELECT
- Rid, UserID, CardNo, Crdate
- FROM
- [ExchangeCardLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- END
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Rid DESC) AS RowNumber,
- Rid, UserID, CardNo, Crdate
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- l.Rid, l.UserID, u.NickName, l.CardNo, CONVERT(VARCHAR(20), l.Crdate, 120) AS Crdate
- FROM
- [List] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_ExchangeCard_Update] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_ExchangeCard_Update]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 兑换卡修改
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_ExchangeCard_Update]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @CardNo VARCHAR(32), --卡号
- @PerDays INT, --每天(0=无限制 1=每1天)
- @UseTimes BIGINT, --可使用次数
- @OpenTime DATETIME, --开始时间
- @ExpireTime DATETIME, --过期时间
- @Items VARCHAR(128), --物品
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT --操作结果
- DECLARE @Msg NVARCHAR(4000) --操作描述
-
- SET @RetCode = 0
-
- UPDATE
- [ExchangeCard]
- SET
- PerDays = @PerDays, UseTimes = @UseTimes, OpenTime = @OpenTime,
- ExpireTime = @ExpireTime, Items = @Items
- WHERE
- CardNO = @CardNo
-
- --修改失败
- IF(@@ROWCOUNT = 0)
- BEGIN
- --添加日志
- SET @Msg = N'兑换卡修改失败,关联的信息:@CardNo=' + @CardNo + ',@PerDays=' + LTRIM(STR(@PerDays)) +
- ',@UseTimes=' + CAST(@UseTimes AS VARCHAR(16)) + ',@OpenTime=' + CONVERT(VARCHAR(20), @OpenTime, 120) +
- ',@ExpireTime=' + CONVERT(VARCHAR(20), @ExpireTime, 120) + ',@Items=' + @Items
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress, @Type = 1
-
- --操作结果
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- END
-
- --添加日志
- SET @Msg = N'兑换卡修改成功,关联的信息:@CardNo=' + @CardNo + ',@PerDays=' + LTRIM(STR(@PerDays)) +
- ',@UseTimes=' + CAST(@UseTimes AS VARCHAR(16)) + ',@OpenTime=' + CONVERT(VARCHAR(20), @OpenTime, 120) +
- ',@ExpireTime=' + CONVERT(VARCHAR(20), @ExpireTime, 120) + ',@Items=' + @Items
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress, @Type = 1
-
- --操作结果
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Feedback_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Feedback_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-17
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 反馈列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Feedback_GetList]
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndedx INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- DECLARE @tmptable TABLE(
- Rid INT NOT NULL, --标识
- EMail NVARCHAR(64) NOT NULL, --邮箱
- Msg NVARCHAR(512) NOT NULL, --消息
- ToUserID INT NOT NULL, --用户ID
- Status TINYINT NOT NULL, --状态
- OpUserID INT, --操作员ID
- OpUserName VARCHAR(32), --操作员名称
- IPAddress VARCHAR(16) NOT NULL, --IP地址
- Crdate DATETIME NOT NULL --时间
- )
-
- SET @StartRowIndedx = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- INSERT INTO @tmptable
- (
- Rid, EMail, Msg, ToUserID, Status, OpUserID, OpUserName, IPAddress, Crdate
- )
- SELECT
- Rid, EMail, Msg, ToUserID, Status, OpUserID, OpUserName, IPAddress, Crdate
- FROM
- [Feedback]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND Email NOT LIKE N'问卷调查%'
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Rid DESC) AS RowNumber,
- Rid, EMail, Msg, ToUserID, Status, OpUserID, OpUserName, IPAddress, Crdate
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- l.Rid, l.EMail, l.Msg, l.Status, l.OpUserID, l.OpUserName, l.IPAddress,
- CONVERT(CHAR(23), l.Crdate, 121) AS Crdate, l.ToUserID, ISNULL(u.NickName, '') AS ToNickName
- FROM
- [List] l LEFT JOIN [AllUser] u ON l.ToUserID = u.UserID
- WHERE
- l.RowNumber BETWEEN @StartRowIndedx AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Feedback_Update] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Feedback_Update]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-17
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 反馈修改
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Feedback_Update]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @Rid INT, --标识
- @Status TINYINT --状态
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT --操作结果
- UPDATE
- [Feedback]
- SET
- Status = @Status, OpUserID = @OpUserID, OpUserName = @OpUserName
- WHERE
- Rid = @Rid AND Status = 0
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_FlashOrder_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_FlashOrder_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2022-11-07
- -- Description: FlashPay--获取订单列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_FlashOrder_GetList]
- @UserID INT, --用户ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT, --总记录数
- @TotalRMBMoney INT OUTPUT, --成功充值数
- @UserCount INT OUTPUT --下订单用户数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --创建临时表
- DECLARE @tmptable TABLE(
- OrderID VARCHAR(32) NOT NULL, --订单号
- TradeID VARCHAR(64) NOT NULL, --交易号
- UserID INT NOT NULL, --用户ID
- ProductID VARCHAR(32) NOT NULL, --产品ID
- Price DECIMAL(18, 2) NOT NULL, --价格
- GetStatus TINYINT NOT NULL, --状态
- PartnerID INT NOT NULL, --渠道ID
- IPAddress VARCHAR(16) NOT NULL, --IP地址
- Crdate DATETIME NOT NULL --时间
- )
- --用户ID查询
- IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- )
- SELECT
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- FROM
- [FlashOrder]
- WHERE
- UserID = @UserID AND Crdate BETWEEN @BeginTime AND @EndTime
- ORDER BY
- Crdate DESC
- END
-
- --所有订单
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- )
- SELECT
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- FROM
- [FlashOrder]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- ORDER BY
- Crdate DESC
- END
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- --成功充值总额
- SET @TotalRMBMoney = ISNULL((SELECT SUM(Price) FROM @tmptable WHERE GetStatus = 1), 0)
-
- SET @UserCount = ISNULL((SELECT COUNT(DISTINCT UserID) FROM @tmptable), 0)
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Crdate DESC) AS RowNumber,
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- l.OrderID, l.TradeID, l.UserID, ISNULL(u.NickName, '') AS NickName, l.ProductID, l.Price, l.GetStatus,
- ISNULL(p.PartnerName, LTRIM(STR(l.PartnerID))) AS PartnerName, l.IPAddress,
- CONVERT(CHAR(20), l.Crdate, 120) AS Crdate
- FROM
- [List] l LEFT JOIN [AllUser] u ON l.UserID = u.UserID
- LEFT JOIN [Partner] p ON l.PartnerID = p.PartnerID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_FlashWithdraw_GetLog] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_FlashWithdraw_GetLog]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-09
- -- Mendor: wolf
- -- Alter Date: 2014-12-22
- -- Description: 提现日志
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_FlashWithdraw_GetLog]
- @UserID INT, --用户ID
- @BeginTime DATETIME, --起始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT, --记录数
- @TotalAmount BIGINT OUTPUT --提现总额
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
- --表变量
- DECLARE @tmptable TABLE(
- OrderID VARCHAR(32) PRIMARY KEY, --订单号
- TradeID VARCHAR(64) NOT NULL, --交易号
- UserID INT NOT NULL, --用户ID
- Amount INT NOT NULL, --金额
- RealAmount INT NOT NULL, --实际扣除金额
- DfTransactionId VARCHAR(32) NOT NULL, --平台代付单号,32字符以内
- GetStatus TINYINT NOT NULL, --状态 (0=下单(无审核) 1=待审核 2=已审核 3=提现成功(审核) 4=提现成功(无审核) 13=Pending(审核) 14=Pending(无审核) 11=拒绝
- --251=提现失败(无审核) 252=提现失败(审核) 255=提现失败)
- DfDesc VARCHAR(256) NOT NULL, --代付状态描述
- Balance INT NOT NULL, --余额
- NotifyTime DATETIME NOT NULL, --通知时间
- Crdate DATETIME NOT NULL --时间
- )
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- SET @RecordCount = 0
- --查询某个账号
- IF(@UserID > 0)
- BEGIN
- --查询
- INSERT INTO @tmptable
- (
- OrderID, TradeID, UserID, Amount, RealAmount, DfTransactionId, GetStatus, DfDesc, Balance, NotifyTime, Crdate
- )
- SELECT
- OrderID, TradeID, UserID, Amount, RealAmount, DfTransactionId, GetStatus, DfDesc, Balance, NotifyTime, Crdate
- FROM
- [FlashWithdraw]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
- END
- --查询所有
- ELSE
- BEGIN
- --查询
- INSERT INTO @tmptable
- (
- OrderID, TradeID, UserID, Amount, RealAmount, DfTransactionId, GetStatus, DfDesc, Balance, NotifyTime, Crdate
- )
- SELECT
- OrderID, TradeID, UserID, Amount, RealAmount, DfTransactionId, GetStatus, DfDesc, Balance, NotifyTime, Crdate
- FROM
- [FlashWithdraw]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
- END
- --统计总额
- SELECT @TotalAmount = ISNULL(SUM(Amount), 0) FROM @tmptable WHERE GetStatus IN (3, 4)
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Crdate DESC) AS RowNumber,
- OrderID, TradeID, UserID, Amount, RealAmount, DfTransactionId,
- GetStatus, DfDesc, Balance, NotifyTime, Crdate
- FROM
- @tmptable
- )
- --返回信息
- SELECT
- l.OrderID, l.TradeID, l.UserID, ISNULL(u.NickName, '') AS NickName, l.Amount, l.RealAmount, l.DfTransactionId,
- l.GetStatus, l.DfDesc, l.Balance, CONVERT(CHAR(23), l.NotifyTime, 120) AS NotifyTime,
- CONVERT(CHAR(23), l.Crdate, 120) AS Crdate
- FROM
- [List] l LEFT JOIN [AllUser] u ON l.UserID = u.UserID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_ForbidUser_Add] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_ForbidUser_Add]
- -- @OpUserID = 1,
- -- @OpUserName = '',
- -- @UserID = 1,
- -- @Memo = '',
- -- @Days = 1,
- -- @IPAddress = ''
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-24
- -- Mendor: wolf
- -- Alter Date: 2016-04-11
- -- Description: 后台管理--封杀玩家
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_ForbidUser_Add]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @UserID INT, --用户ID
- @Memo NVARCHAR(128), --备注
- @Days INT, --封杀天数
- @IPAddress VARCHAR(16), --IP地址
- @GameIDs VARCHAR(128), --游戏ID集(以逗号分隔)
- @RetCode TINYINT OUTPUT --操作结果 1 成功 2已经封杀
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @Msg NVARCHAR(4000) --操作描述
-
- SET @CurrTime = GETDATE()
- SET @RetCode = 0
-
- --判断是否已经封杀
- IF EXISTS(SELECT UserID FROM [ForbidUser] WHERE UserID = @UserID)
- BEGIN
- SET @RetCode = 2
- RETURN
- END
-
- --添加封杀
- INSERT INTO [ForbidUser]
- (
- UserID, Memo, BeginTime, EndTime, GameIDs
- )
- VALUES
- (
- @UserID, @Memo, @CurrTime, @CurrTime + @Days, @GameIDs
- )
-
- --消息
- SET @Msg = N'Prohibit account(' + LTRIM(STR(@UserID)) + '), Prohibit cause:' + @Memo +
- ',Prohibit ' + LTRIM(STR(@Days)) + ' Days,GameIDs = ' + @GameIDs
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_ForbidUser_Del] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_ForbidUser_Del]
- -- @OpUserID = 1,
- -- @OpUserName = '',
- -- @UserID = 1,
- -- @Memo = '',
- -- @IPAddress = ''
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-24
- -- Mendor: wolf
- -- Alter Date: 2016-04-08
- -- Description: 后台管理--解除封杀
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_ForbidUser_Del]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @UserID INT, --用户ID
- @Memo VARCHAR(128), --备注
- @IPAddress VARCHAR(16), --IP地址
- @GameIDs VARCHAR(128) OUTPUT --游戏ID集
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
- SET @GameIDs = ''
- --封杀账号信息
- SELECT @GameIDs = GameIDs FROM [ForbidUser] WHERE UserID = @UserID
- IF(@@ROWCOUNT = 0)
- RETURN
- --解除
- DELETE FROM [ForbidUser] WHERE UserID = @UserID
-
- --消息
- SET @Msg = N'Release prohibit(' + LTRIM(STR(@UserID)) + '), Cause for release:' + @Memo
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_ForbidUser_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RecordCount INT
- -- EXEC [Manage_EasouPay_GetList]
- -- @UserID = 1,
- -- @PageIndex = 1,
- -- @PageSize = 10,
- -- @RecordCount = @RecordCount OUTPUT
- -- SELECT @RecordCount AS RecordCount
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-25
- -- Mendor: wolf
- -- Alter Date: 2015-09-07
- -- Description: 后台管理--获取列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_ForbidUser_GetList]
- @UserID INT, --用户ID
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --总记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- --申请表变量
- DECLARE @tmptable TABLE(
- Rid INT NOT NULL IDENTITY(1, 1), --标识
- UserID INT NOT NULL, --用户ID
- Memo NVARCHAR(128) NOT NULL, --备注
- BeginTime DATETIME NOT NULL, --开始时间
- EndTime DATETIME NOT NULL, --结束时间
- GameIDs VARCHAR(128) NOT NULL --游戏ID集
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- SET @CurrTime = GETDATE()
-
- --某个账号
- IF(@UserID > 0)
- BEGIN
- --初始化表变量
- INSERT INTO @tmptable
- (
- UserID, Memo, BeginTime, EndTime, GameIDs
- )
- SELECT TOP 500
- UserID, Memo, BeginTime, EndTime, GameIDs
- FROM
- [ForbidUser]
- WHERE
- UserID = @UserID
- ORDER BY
- UserID DESC
- END
-
- --所有账号
- ELSE
- BEGIN
- --初始化表变量
- INSERT INTO @tmptable
- (
- UserID, Memo, BeginTime, EndTime, GameIDs
- )
- SELECT TOP 500
- UserID, Memo, BeginTime, EndTime, GameIDs
- FROM
- [ForbidUser]
- ORDER BY
- UserID DESC
- END
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Rid DESC) AS RowNumber,
- Rid, UserID, Memo, BeginTime, EndTime, GameIDs
- FROM
- @tmptable
- )
-
- --返回信息:标识(Rid)(int)、用户ID(UserID)(int)、昵称(NickName)(varchar(32))、备注(Memo)(varchar(128))、
- -- 开始时间(BeginTime)(varchar(16))、截止时间(EndTime)(varchar(16))
- SELECT
- l.Rid, l.UserID, u.NickName, l.Memo,
- CONVERT(CHAR(20), l.BeginTime, 120) AS BeginTime,
- CONVERT(CHAR(20), l.EndTime, 120) AS EndTime,
- l.GameIDs
- FROM
- [List] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Game_GetBetDetail] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Game_GetBetDetail]
- -- =============================================
- -- Author: wolf
- -- Create Date: 2014-04-23
- -- Mendor: wolf
- -- Alter Date: 2015-10-12
- -- Description: 后台管理--投注详情
- -- =============================================
- CREATE PROCEDURE [dbo].[Manage_Game_GetBetDetail]
- @UserID INT, --账号ID
- @RecordID VARCHAR(32), --标识
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME --结束时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --申请表变量
- DECLARE @tmptable TABLE(
- RecordID VARCHAR(32) NOT NULL, --记录ID
- ResultZone VARCHAR(1024) NOT NULL --结果描述
- )
-
- --查询某账号
- IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- RecordID, ResultZone
- )
- SELECT
- RecordID, ResultZone
- FROM
- [Bet]
- WHERE
- BetTime BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
-
- INSERT INTO @tmptable
- (
- RecordID, ResultZone
- )
- SELECT
- RecordID, ResultZone
- FROM
- [BetInfo]
- WHERE
- BetTime BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
- INSERT INTO @tmptable
- (
- RecordID, ResultZone
- )
- SELECT
- RecordID, ResultZone
- FROM
- [BetInfoHistory]
- WHERE
- BetTime BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
- END
-
- --查询用户的所有应用
- ELSE IF(LEN(@RecordID) > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- RecordID, ResultZone
- )
- SELECT
- RecordID, ResultZone
- FROM
- [Bet]
- WHERE
- RecordID = @RecordID
-
- INSERT INTO @tmptable
- (
- RecordID, ResultZone
- )
- SELECT
- RecordID, ResultZone
- FROM
- [BetInfo]
- WHERE
- RecordID = @RecordID
- INSERT INTO @tmptable
- (
- RecordID, ResultZone
- )
- SELECT
- RecordID, ResultZone
- FROM
- [BetInfoHistory]
- WHERE
- RecordID = @RecordID
- END
- --所有记录
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- RecordID, ResultZone
- )
- SELECT
- RecordID, ResultZone
- FROM
- [Bet]
- WHERE
- BetTime BETWEEN @BeginTime AND @EndTime
-
- INSERT INTO @tmptable
- (
- RecordID, ResultZone
- )
- SELECT
- RecordID, ResultZone
- FROM
- [BetInfo]
- WHERE
- BetTime BETWEEN @BeginTime AND @EndTime
- INSERT INTO @tmptable
- (
- RecordID, ResultZone
- )
- SELECT
- RecordID, ResultZone
- FROM
- [BetInfoHistory]
- WHERE
- BetTime BETWEEN @BeginTime AND @EndTime
- END
- --返回信息
- SELECT RecordID, ResultZone FROM @tmptable ORDER BY RecordID ASC
- RETURN
- END
-
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Game_GetBetLog] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Game_GetBetLog]
- -- =============================================
- -- Author: wolf
- -- Create Date: 2014-04-23
- -- Mendor: wolf
- -- Alter Date: 2015-10-12
- -- Description: 后台管理--投注日志
- -- =============================================
- CREATE PROCEDURE [dbo].[Manage_Game_GetBetLog]
- @UserID INT, --账号ID
- @GameID INT, --游戏ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --结束时间
- @PageIndex INT = 1, --页索引
- @PageSize INT = 10, --页大小
- @RecordCount INT OUTPUT, --总记录数
- @WinAmount BIGINT OUTPUT --输赢
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- --申请表变量
- DECLARE @tmptable TABLE(
- RecordID VARCHAR(32) NOT NULL, --标识
- UserID INT NOT NULL, --用户ID
- GameID INT NOT NULL, --游戏ID
-
- BetAmount BIGINT NOT NULL, --下注金额
- BetTime DATETIME NOT NULL, --下注时间
- BetZone VARCHAR(128) NOT NULL, --下注区域
- Odds DECIMAL(10, 2) NOT NULL, --赔率
- ResultAmount BIGINT NOT NULL, --结算金额
- ResultTime DATETIME NOT NULL, --结算时间
- ResultZone VARCHAR(1024) NOT NULL, --结果描述
- StillAmount BIGINT NOT NULL, --剩余金额
- Status TINYINT NOT NULL, --状态 0=下注 1=结算
- Tax BIGINT NOT NULL --台费
- )
-
- DECLARE @tmpRecord TABLE(
- RecordID VARCHAR(32) NOT NULL
- )
-
- SET @RecordCount = 0
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- SET @WinAmount = 0
-
- --查询某账号某游戏
- IF(@UserID > 0 AND @GameID >= 0)
- BEGIN
- INSERT INTO @tmptable
- (
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- )
- SELECT TOP 10000
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- FROM
- [Bet]
- WHERE
- BetTime BETWEEN @BeginTime AND @EndTime AND UserID = @UserID AND GameID = @GameID
- ORDER BY
- RecordID DESC
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- IF(@RecordCount < 10000)
- BEGIN
- INSERT INTO @tmptable
- (
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- )
- SELECT TOP (10000 - @RecordCount)
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- FROM
- [BetInfo]
- WHERE
- BetTime BETWEEN @BeginTime AND @EndTime AND UserID = @UserID AND GameID = @GameID
- ORDER BY
- RecordID DESC
-
- --总记录数
- SET @RecordCount = @RecordCount + @@ROWCOUNT
- IF(@RecordCount < 10000)
- BEGIN
- INSERT INTO @tmptable
- (
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- )
- SELECT TOP (10000 - @RecordCount)
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- FROM
- [BetInfoHistory]
- WHERE
- BetTime BETWEEN @BeginTime AND @EndTime AND UserID = @UserID AND GameID = @GameID
- ORDER BY
- RecordID DESC
-
- --总记录数
- SET @RecordCount = @RecordCount + @@ROWCOUNT
- END
- END
- END
-
- --查询用户的所有应用
- ELSE IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- )
- SELECT TOP 10000
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- FROM
- [Bet]
- WHERE
- BetTime BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
- ORDER BY
- RecordID DESC
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- IF(@RecordCount < 10000)
- BEGIN
- INSERT INTO @tmptable
- (
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- )
- SELECT TOP (10000 - @RecordCount)
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- FROM
- [BetInfo]
- WHERE
- BetTime BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
- ORDER BY
- RecordID DESC
-
- --总记录数
- SET @RecordCount = @RecordCount + @@ROWCOUNT
- IF(@RecordCount < 10000)
- BEGIN
- INSERT INTO @tmptable
- (
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- )
- SELECT TOP (10000 - @RecordCount)
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- FROM
- [BetInfoHistory]
- WHERE
- BetTime BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
- ORDER BY
- RecordID DESC
-
- --总记录数
- SET @RecordCount = @RecordCount + @@ROWCOUNT
- END
- END
- END
-
- --查询用户的某个应用
- ELSE IF(@GameID >= 0)
- BEGIN
- INSERT INTO @tmptable
- (
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- )
- SELECT TOP 10000
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- FROM
- [Bet]
- WHERE
- BetTime BETWEEN @BeginTime AND @EndTime AND GameID = @GameID
- ORDER BY
- RecordID DESC
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- IF(@RecordCount < 10000)
- BEGIN
- INSERT INTO @tmptable
- (
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- )
- SELECT TOP (10000 - @RecordCount)
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- FROM
- [BetInfo]
- WHERE
- BetTime BETWEEN @BeginTime AND @EndTime AND GameID = @GameID
- ORDER BY
- RecordID DESC
-
- --总记录数
- SET @RecordCount = @RecordCount + @@ROWCOUNT
- IF(@RecordCount < 10000)
- BEGIN
- INSERT INTO @tmptable
- (
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- )
- SELECT TOP (10000 - @RecordCount)
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- FROM
- [BetInfoHistory]
- WHERE
- BetTime BETWEEN @BeginTime AND @EndTime AND GameID = @GameID
- ORDER BY
- RecordID DESC
-
- --总记录数
- SET @RecordCount = @RecordCount + @@ROWCOUNT
- END
- END
- END
- --所有记录
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- )
- SELECT TOP 10000
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- FROM
- [Bet]
- WHERE
- BetTime BETWEEN @BeginTime AND @EndTime
- ORDER BY
- RecordID DESC
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- IF(@RecordCount < 10000)
- BEGIN
- INSERT INTO @tmptable
- (
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- )
- SELECT TOP (10000 - @RecordCount)
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- FROM
- [BetInfo]
- WHERE
- BetTime BETWEEN @BeginTime AND @EndTime
- ORDER BY
- RecordID DESC
-
- --总记录数
- SET @RecordCount = @RecordCount + @@ROWCOUNT
- IF(@RecordCount < 10000)
- BEGIN
- INSERT INTO @tmptable
- (
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- )
- SELECT TOP (10000 - @RecordCount)
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- FROM
- [BetInfoHistory]
- WHERE
- BetTime BETWEEN @BeginTime AND @EndTime
- ORDER BY
- RecordID DESC
-
- --总记录数
- SET @RecordCount = @RecordCount + @@ROWCOUNT
- END
- END
- END
- --计算输赢
- SELECT @WinAmount = ISNULL(SUM(ResultAmount - BetAmount), 0) FROM @tmptable
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY RecordID DESC) AS RowNumber,
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- l.RecordID, l.UserID, u.NickName, g.EnglishName, l.BetAmount,
- CONVERT(CHAR(16), l.BetTime, 120) AS BetTime, l.BetZone, l.Odds, l.ResultAmount,
- CONVERT(CHAR(16), l.ResultTime, 120) AS ResultTime, l.ResultZone,
- (l.ResultAmount - l.BetAmount) AS WinAmount, l.StillAmount, l.Status, l.Tax,
- DATEDIFF(SECOND, l.BetTime, l.ResultTime) AS SubSeconds
- FROM
- [List] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- INNER JOIN [AllGame] g ON l.GameID = g.GameID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
-
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Game_GetChipBetLog] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Game_GetChipBetLog]
- -- =============================================
- -- Author: wolf
- -- Create Date: 2014-04-23
- -- Mendor: wolf
- -- Alter Date: 2015-10-12
- -- Description: 后台管理--投注日志
- -- =============================================
- CREATE PROCEDURE [dbo].[Manage_Game_GetChipBetLog]
- @UserID INT, --账号ID
- @GameID INT, --游戏ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --结束时间
- @PageIndex INT = 1, --页索引
- @PageSize INT = 10, --页大小
- @RecordCount INT OUTPUT, --总记录数
- @WinAmount BIGINT OUTPUT --输赢
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- --申请表变量
- DECLARE @tmptable TABLE(
- RecordID VARCHAR(32) NOT NULL, --标识
- UserID INT NOT NULL, --用户ID
- GameID INT NOT NULL, --游戏ID
-
- BetAmount BIGINT NOT NULL, --下注金额
- BetTime DATETIME NOT NULL, --下注时间
- BetZone VARCHAR(128) NOT NULL, --下注区域
- Odds DECIMAL(10, 2) NOT NULL, --赔率
- ResultAmount BIGINT NOT NULL, --结算金额
- ResultTime DATETIME NOT NULL, --结算时间
- ResultZone VARCHAR(1024) NOT NULL, --结果描述
- StillAmount BIGINT NOT NULL, --剩余金额
- Status TINYINT NOT NULL, --状态 0=下注 1=结算
- Tax BIGINT NOT NULL --台费
- )
-
- DECLARE @tmpRecord TABLE(
- RecordID VARCHAR(32) NOT NULL
- )
-
- SET @RecordCount = 0
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- SET @WinAmount = 0
-
- --查询某账号某游戏
- IF(@UserID > 0 AND @GameID >= 0)
- BEGIN
- INSERT INTO @tmptable
- (
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- )
- SELECT TOP 10000
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- FROM
- [ChipBet]
- WHERE
- BetTime BETWEEN @BeginTime AND @EndTime AND UserID = @UserID AND GameID = @GameID
- ORDER BY
- RecordID DESC
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- IF(@RecordCount < 10000)
- BEGIN
- INSERT INTO @tmptable
- (
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- )
- SELECT TOP (10000 - @RecordCount)
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- FROM
- [ChipBetInfo]
- WHERE
- BetTime BETWEEN @BeginTime AND @EndTime AND UserID = @UserID AND GameID = @GameID
- ORDER BY
- RecordID DESC
-
- --总记录数
- SET @RecordCount = @RecordCount + @@ROWCOUNT
- IF(@RecordCount < 10000)
- BEGIN
- INSERT INTO @tmptable
- (
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- )
- SELECT TOP (10000 - @RecordCount)
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- FROM
- [ChipBetInfoHistory]
- WHERE
- BetTime BETWEEN @BeginTime AND @EndTime AND UserID = @UserID AND GameID = @GameID
- ORDER BY
- RecordID DESC
-
- --总记录数
- SET @RecordCount = @RecordCount + @@ROWCOUNT
- END
- END
- END
-
- --查询用户的所有应用
- ELSE IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- )
- SELECT TOP 10000
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- FROM
- [ChipBet]
- WHERE
- BetTime BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
- ORDER BY
- RecordID DESC
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- IF(@RecordCount < 10000)
- BEGIN
- INSERT INTO @tmptable
- (
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- )
- SELECT TOP (10000 - @RecordCount)
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- FROM
- [ChipBetInfo]
- WHERE
- BetTime BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
- ORDER BY
- RecordID DESC
-
- --总记录数
- SET @RecordCount = @RecordCount + @@ROWCOUNT
- IF(@RecordCount < 10000)
- BEGIN
- INSERT INTO @tmptable
- (
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- )
- SELECT TOP (10000 - @RecordCount)
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- FROM
- [ChipBetInfoHistory]
- WHERE
- BetTime BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
- ORDER BY
- RecordID DESC
-
- --总记录数
- SET @RecordCount = @RecordCount + @@ROWCOUNT
- END
- END
- END
-
- --查询用户的某个应用
- ELSE IF(@GameID >= 0)
- BEGIN
- INSERT INTO @tmptable
- (
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- )
- SELECT TOP 10000
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- FROM
- [ChipBet]
- WHERE
- BetTime BETWEEN @BeginTime AND @EndTime AND GameID = @GameID
- ORDER BY
- RecordID DESC
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- IF(@RecordCount < 10000)
- BEGIN
- INSERT INTO @tmptable
- (
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- )
- SELECT TOP (10000 - @RecordCount)
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- FROM
- [ChipBetInfo]
- WHERE
- BetTime BETWEEN @BeginTime AND @EndTime AND GameID = @GameID
- ORDER BY
- RecordID DESC
-
- --总记录数
- SET @RecordCount = @RecordCount + @@ROWCOUNT
- IF(@RecordCount < 10000)
- BEGIN
- INSERT INTO @tmptable
- (
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- )
- SELECT TOP (10000 - @RecordCount)
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- FROM
- [ChipBetInfoHistory]
- WHERE
- BetTime BETWEEN @BeginTime AND @EndTime AND GameID = @GameID
- ORDER BY
- RecordID DESC
-
- --总记录数
- SET @RecordCount = @RecordCount + @@ROWCOUNT
- END
- END
- END
- --所有记录
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- )
- SELECT TOP 10000
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- FROM
- [ChipBet]
- WHERE
- BetTime BETWEEN @BeginTime AND @EndTime
- ORDER BY
- RecordID DESC
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- IF(@RecordCount < 10000)
- BEGIN
- INSERT INTO @tmptable
- (
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- )
- SELECT TOP (10000 - @RecordCount)
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- FROM
- [ChipBetInfo]
- WHERE
- BetTime BETWEEN @BeginTime AND @EndTime
- ORDER BY
- RecordID DESC
-
- --总记录数
- SET @RecordCount = @RecordCount + @@ROWCOUNT
- IF(@RecordCount < 10000)
- BEGIN
- INSERT INTO @tmptable
- (
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- )
- SELECT TOP (10000 - @RecordCount)
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- FROM
- [ChipBetInfoHistory]
- WHERE
- BetTime BETWEEN @BeginTime AND @EndTime
- ORDER BY
- RecordID DESC
-
- --总记录数
- SET @RecordCount = @RecordCount + @@ROWCOUNT
- END
- END
- END
- --计算输赢
- SELECT @WinAmount = ISNULL(SUM(ResultAmount - BetAmount), 0) FROM @tmptable
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY RecordID DESC) AS RowNumber,
- RecordID, UserID, GameID, BetAmount, BetTime, BetZone, Odds,
- ResultAmount, ResultTime, ResultZone, StillAmount, Status, Tax
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- l.RecordID, l.UserID, u.NickName, g.ChineseName, l.BetAmount,
- CONVERT(CHAR(16), l.BetTime, 120) AS BetTime, l.BetZone, l.Odds, l.ResultAmount,
- CONVERT(CHAR(16), l.ResultTime, 120) AS ResultTime, l.ResultZone,
- (l.ResultAmount - l.BetAmount) AS WinAmount, l.StillAmount, l.Status, l.Tax,
- DATEDIFF(SECOND, l.BetTime, l.ResultTime) AS SubSeconds
- FROM
- [List] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- INNER JOIN [AllGame] g ON l.GameID = g.GameID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
-
- GO
- /****** Object: StoredProcedure [dbo].[Manage_GameDailyStat_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_GameDailyStat_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 游戏日常统计列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_GameDailyStat_GetList]
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- DECLARE @tmptable TABLE(
- DateFlag DATETIME NOT NULL, --时间
- GameID INT NOT NULL, --游戏ID
- ServerName NVARCHAR(32) NOT NULL, --服务器名称
- AvgOnlineCount INT NOT NULL, --平均在线
- MaxOnlineCount INT NOT NULL, --最高在线
- ActiveCount INT NOT NULL, --活跃用户(指有消耗的用户数)
- BetAmount BIGINT NOT NULL, --下注金额
- ResultAmount BIGINT NOT NULL --结算金额
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- INSERT INTO @tmptable
- (
- DateFlag, GameID, ServerName, AvgOnlineCount, MaxOnlineCount, BetAmount, ResultAmount, ActiveCount
- )
- SELECT
- DateFlag, GameID, ServerName, AvgOnlineCount, MaxOnlineCount, BetAmount, ResultAmount, ActiveCount
- FROM
- [GameDailyStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime
-
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY DateFlag DESC) AS RowNumber,
- DateFlag, GameID, ServerName, AvgOnlineCount, MaxOnlineCount, BetAmount, ResultAmount, ActiveCount
- FROM
- @tmptable
- )
-
- SELECT
- CONVERT(CHAR(10), DateFlag, 120) AS DateFlg,
- CASE
- WHEN ServerName = 'EmperorCrab' THEN N'浅水滩'
- WHEN ServerName = 'AlmightyOctopus' THEN N'深海寻宝'
- WHEN ServerName = 'AncientCrocodile' THEN N'海底密藏'
- WHEN ServerName = 'DarknessMonster' THEN N'深海沉船'
- ELSE ''
- END AS ServerName, AvgOnlineCount, MaxOnlineCount, BetAmount, ResultAmount, ActiveCount
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_GameRecord_GetReport] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_GameRecord_GetReport]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 游戏记录报表(局数、时长)
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_GameRecord_GetReport]
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @GameID INT, --游戏ID
- @PartnerID INT --渠道ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @tmptable TABLE(
- DateFlag SMALLDATETIME NOT NULL, --日期标识
- TotalCount INT NOT NULL, --总局数
- WinCount INT NOT NULL, --赢局数
- PlaySeconds INT NOT NULL, --游戏时长(秒)
- Players INT NOT NULL, --游戏用户数
- TaxAmount BIGINT NOT NULL --台费
- )
-
- --获取某款游戏
- IF(@GameID > 0)
- BEGIN
- --某个渠道
- IF(@PartnerID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- DateFlag, TotalCount, WinCount, PlaySeconds, Players, TaxAmount
- )
- SELECT
- d.DateFlag, SUM(d.TotalCount), SUM(d.WinCount), SUM(d.PlaySeconds), COUNT(DISTINCT d.UserID), SUM(d.TaxAmount)
- FROM
- [DailyBetStat] d INNER JOIN [AllUser] u ON d.UserID = u.UserID AND u.PartnerID = @PartnerID
- WHERE
- d.DateFlag BETWEEN @BeginTime AND @EndTime AND d.GameID = @GameID AND d.UserID > 0
- GROUP BY
- d.DateFlag
- END
-
- --所有渠道
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- DateFlag, TotalCount, WinCount, PlaySeconds, Players, TaxAmount
- )
- SELECT
- DateFlag, SUM(TotalCount), SUM(WinCount), SUM(PlaySeconds), COUNT(DISTINCT UserID), SUM(TaxAmount)
- FROM
- [DailyBetStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND GameID = @GameID AND UserID > 0
- GROUP BY
- DateFlag
- END
- END
-
- --获取所有游戏
- ELSE
- BEGIN
- IF(@PartnerID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- DateFlag, TotalCount, WinCount, PlaySeconds, Players, TaxAmount
- )
- SELECT
- d.DateFlag, SUM(d.TotalCount), SUM(d.WinCount), SUM(d.PlaySeconds), COUNT(DISTINCT d.UserID), SUM(d.TaxAmount)
- FROM
- [DailyBetStat] d INNER JOIN [AllUser] u ON d.UserID = u.UserID AND u.PartnerID = @PartnerID
- WHERE
- d.DateFlag BETWEEN @BeginTime AND @EndTime AND d.UserID > 0
- GROUP BY
- d.DateFlag
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- DateFlag, TotalCount, WinCount, PlaySeconds, Players, TaxAmount
- )
- SELECT
- DateFlag, SUM(TotalCount), SUM(WinCount), SUM(PlaySeconds), COUNT(DISTINCT UserID), SUM(TaxAmount)
- FROM
- [DailyBetStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND UserID > 0
- GROUP BY
- DateFlag
- END
- END
-
- --返回信息
- SELECT
- CONVERT(CHAR(10), DateFlag, 120) AS DateFlag, TotalCount, WinCount,
- PlaySeconds, Players, TaxAmount
- FROM
- @tmptable
- ORDER BY
- DateFlag ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_GameRecord_ReportDetail] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_GameRecord_ReportDetail]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 游戏记录详情报表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_GameRecord_ReportDetail]
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME --截止时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @tmptable TABLE(
- GameID INT NOT NULL, --游戏ID
- ServerName NVARCHAR(32) NOT NULL, --服务器名称
- MoneySum BIGINT NOT NULL, --变化金币
- TotalCount INT NOT NULL, --总局数
- WinCount INT NOT NULL, --胜局数
- PlaySeconds BIGINT NOT NULL, --游戏时长
- Players INT NOT NULL --游戏玩家数
- )
-
- --初始化表变量
- INSERT INTO @tmptable
- (
- GameID, ServerName, MoneySum, TotalCount, WinCount,
- PlaySeconds, Players
- )
- SELECT
- GameID, ServerName, SUM(MoneySum), SUM(TotalCount), SUM(WinCount),
- SUM(PlaySeconds), COUNT(DISTINCT UserID)
- FROM
- [DailyBetStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime
- GROUP BY
- GameID, ServerName
-
- --返回信息
- SELECT
- t.GameID, g.EnglishName, t.ServerName, t.MoneySum, t.TotalCount, t.WinCount,
- t.PlaySeconds, t.Players
- FROM
- @tmptable t INNER JOIN [AllGame] g ON t.GameID = g.GameID
- ORDER BY
- t.GameID ASC, t.ServerName ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_GameReport_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_GameReport_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 游戏报表统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_GameReport_GetList]
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME --截止时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- Rid, CONVERT(VARCHAR(10), DateFlag, 120) AS DateFlag,
- ItemType, ItemName, ItemValue, ItemTag
- FROM
- [GameReport]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime
- ORDER BY
- DateFlag DESC, ItemType ASC, ItemTag ASC, Rid ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_GameRequest_Add] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RetCode TINYINT
- -- EXEC [Manage_GameRequest_Add]
- -- @OpUserID = 1,
- -- @OpUserName = '',
- -- @PartnerID = 1,
- -- @PartnerName = '',
- -- @VersionCode = 1,
- -- @GameName = '',
- -- @IPAddress = '',
- -- @RetCode = @RetCode OUTPUT
- -- SELECT @RetCode AS RetCode
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-06-26
- -- Mendor: wolf
- -- Alter Date: 2015-06-26
- -- Description: 添加游戏审核信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_GameRequest_Add]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @PartnerID INT, --渠道ID
- @PartnerName NVARCHAR(32), --渠道名称
- @VersionCode INT, --版本号
- @GameName VARCHAR(32), --游戏名称
- @IPAddress VARCHAR(16), --IP地址
- @RetCode TINYINT OUTPUT --操作结果
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
-
- SET @RetCode = 0
- --判断是否已经存在
- IF EXISTS(SELECT PartnerID FROM [GameRequest] WHERE PartnerID = @PartnerID)
- BEGIN
- SET @RetCode = 11
- RETURN
- END
- --添加审核信息
- INSERT INTO [GameRequest]
- (
- PartnerID, VersionCode, GameName
- )
- VALUES
- (
- @PartnerID, @VersionCode, @GameName
- )
-
- SET @Msg = N'Add game review, @PartnerID=' + LTRIM(STR(@PartnerID)) + ',@PartnerName=' + @PartnerName + ',@VersionCode=' + LTRIM(STR(@VersionCode)) + ',@GameName=' + @GameName
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress
-
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_GameRequest_Del] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RetCode TINYINT
- -- EXEC [Manage_GameRequest_Del]
- -- @OpUserID = 1,
- -- @OpUserName = '',
- -- @PartnerID = 1,
- -- @IPAddress = '',
- -- @RetCode = @RetCode OUTPUT
- -- SELECT @RetCode AS RetCode
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-06-26
- -- Mendor: wolf
- -- Alter Date: 2015-06-26
- -- Description: 删除游戏审核信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_GameRequest_Del]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @PartnerID INT, --渠道ID
- @IPAddress VARCHAR(16), --IP地址
- @RetCode TINYINT OUTPUT --操作结果
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @PartnerName NVARCHAR(32) --渠道名称
- DECLARE @VersionCode INT --版本
- DECLARE @GameName VARCHAR(32) --游戏名称
-
- SET @RetCode = 0
-
- --获取审核信息
- SELECT
- @VersionCode = VersionCode, @GameName = GameName
- FROM
- [GameRequest]
- WHERE
- PartnerID = @PartnerID
- --判断是否已经存在
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 11
- RETURN
- END
-
- --渠道名称
- SELECT @PartnerName = PartnerName FROM [Partner] WHERE PartnerID = @PartnerID
- --删除游戏审核
- DELETE FROM [GameRequest] WHERE PartnerID = @PartnerID
-
- SET @Msg = N'Delete Game Review, @PartnerID=' + LTRIM(STR(@PartnerID)) + ',@PartnerName=' + @PartnerName + ',@VersionCode=' + LTRIM(STR(@VersionCode)) + ',@GameName=' + @GameName
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress
-
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_GameRequest_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_GameRequest_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-06-26
- -- Mendor: wolf
- -- Alter Date: 2016-05-31
- -- Description: 获取游戏审核列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_GameRequest_GetList]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- r.PartnerID, p.PartnerName, r.VersionCode, r.GameName, ISNULL(g.ChineseName, r.GameName) AS ChineseName
- FROM
- [GameRequest] r INNER JOIN [Partner] p ON r.PartnerID = p.PartnerID
- LEFT JOIN [AllGame] g ON r.GameName = g.EnglishName
- ORDER BY
- r.PartnerID ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_GiftCard_Deal] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_GiftCard_Deal]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 礼品卡处理
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_GiftCard_Deal]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @Rid INT, --标识
- @OperateStatus TINYINT, --操作状态(0=待处理 1=已兑换 2=不予兑换)
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT --操作结果
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @UserID INT --用户ID
- DECLARE @ItemID INT --道具ID
- DECLARE @Key VARCHAR(16) --兑换码
-
- SET @RetCode = 0
-
- --修改
- UPDATE
- [GiftCard]
- SET
- OperateStatus = @OperateStatus, @UserID = UserID, @ItemID = ItemID, @Key = [Key]
- WHERE
- Rid = @Rid AND OperateStatus = 0
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --添加日志
- SET @Msg = N'礼品卡处理,关联的信息:@Rid=' + LTRIM(STR(@Rid)) + ',@UserID=' + LTRIM(STR(@UserID)) +
- ',@ItemID=' + LTRIM(STR(@ItemID)) + ',@Key=' + @Key + ',@OperateStatus=' + LTRIM(STR(@OperateStatus))
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress, @Type = 1
-
- --返回信息
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_GiftCard_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_GiftCard_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 获取礼品卡记录
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_GiftCard_GetList]
- @UserID INT, --用户ID
- @OperateStatus INT, --状态
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- DECLARE @tmptable TABLE(
- Rid INT NOT NULL, --标识
- UserID INT NOT NULL, --用户ID
- ItemID INT NOT NULL, --道具ID
- [Key] VARCHAR(16) NOT NULL, --兑换码
- ActivateTime INT NOT NULL, --激活时间
- OperateStatus TINYINT NOT NULL, --操作状态(0=待处理 1=已兑换 2=不予兑换)
- Crdate DATETIME NOT NULL
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- SET @RecordCount = 0
-
- IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- Rid, UserID, ItemID, [Key], ActivateTime, OperateStatus, Crdate
- )
- SELECT
- Rid, UserID, ItemID, [Key], ActivateTime, OperateStatus, Crdate
- FROM
- [GiftCard]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
- END
-
- ELSE IF(@OperateStatus >= 0)
- BEGIN
- INSERT INTO @tmptable
- (
- Rid, UserID, ItemID, [Key], ActivateTime, OperateStatus, Crdate
- )
- SELECT
- Rid, UserID, ItemID, [Key], ActivateTime, OperateStatus, Crdate
- FROM
- [GiftCard]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND OperateStatus = @OperateStatus
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- Rid, UserID, ItemID, [Key], ActivateTime, OperateStatus, Crdate
- )
- SELECT
- Rid, UserID, ItemID, [Key], ActivateTime, OperateStatus, Crdate
- FROM
- [GiftCard]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- END
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Crdate DESC) AS RowNumber,
- Rid, UserID, ItemID, [Key], ActivateTime, OperateStatus, Crdate
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- l.Rid, l.UserID, u.NickName, l.ItemID, l.[Key], l.ActivateTime, l.OperateStatus,
- CONVERT(CHAR(16), l.Crdate, 120) AS Crdate
- FROM
- [List] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_GoogleOrder_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_GooglePayOrder_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: GooglePay--获取订单列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_GoogleOrder_GetList]
- @UserID INT, --用户ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --总记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --创建临时表
- DECLARE @tmptable TABLE(
- UserID INT NOT NULL, --用户ID
- ProductID VARCHAR(32) NOT NULL, --产品ID
- Price DECIMAL(18, 2) NOT NULL, --价格
- PartnerID INT NOT NULL, --渠道ID
- Token VARCHAR(256) NOT NULL, --token
- IPAddress VARCHAR(16) NOT NULL, --IP地址
- Crdate DATETIME NOT NULL --时间
- )
- --用户ID查询
- IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- UserID, ProductID, Price, PartnerID, Token, IPAddress, Crdate
- )
- SELECT
- UserID, ProductID, Price, PartnerID, Token, IPAddress, Crdate
- FROM
- [GoogleLog]
- WHERE
- UserID = @UserID AND Crdate BETWEEN @BeginTime AND @EndTime
- ORDER BY
- Crdate DESC
- END
-
- --所有订单
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- UserID, ProductID, Price, PartnerID, Token, IPAddress, Crdate
- )
- SELECT
- UserID, ProductID, Price, PartnerID, Token, IPAddress, Crdate
- FROM
- [GoogleLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- ORDER BY
- Crdate DESC
- END
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Crdate DESC) AS RowNumber,
- UserID, ProductID, Price, PartnerID, Token, IPAddress, Crdate
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- l.UserID, ISNULL(u.NickName, '') AS NickName, l.ProductID, l.Price,
- ISNULL(p.PartnerName, LTRIM(STR(l.PartnerID))) AS PartnerName, l.Token,
- l.IPAddress, CONVERT(CHAR(20), l.Crdate, 120) AS Crdate
- FROM
- [List] l LEFT JOIN [AllUser] u ON l.UserID = u.UserID
- LEFT JOIN [Partner] p ON l.PartnerID = p.PartnerID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Guess_AddMatch] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Guess_AddMatch]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-06-28
- -- Mendor: wolf
- -- Alter Date: 2023-06-28
- -- Description: 竞猜添加赛事
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Guess_AddMatch]
- @Title NVARCHAR(32), --标题
- @StartAt VARCHAR(32), --开始时间
- @EndAt VARCHAR(32), --结束时间
- @ShowStartAt VARCHAR(32), --展示开始时间
- @ShowEndAt VARCHAR(32), --展示截止时间
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @SerialNumber VARCHAR(32) --流水号
- --表变量
- DECLARE @tmptable TABLE(
- SerialNumber UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID(), --订单ID
- Title NVARCHAR(32) --标题
- )
-
- --生成数据
- INSERT INTO @tmptable(Title) VALUES(@Title)
-
- --流水号
- SELECT @SerialNumber = REPLACE(SerialNumber, '-', '') FROM @tmptable WHERE Title = @Title
-
- --组装成有序的订单
- SET @SerialNumber = CONVERT(CHAR(6), GETDATE(), 12) + REPLACE(CONVERT(CHAR(8), GETDATE(), 108), ':', '') + SUBSTRING(@SerialNumber, 1, 20)
- --添加
- INSERT INTO [Match]
- (
- SerialNumber, Title, Status, Result, StartAt, EndAt, ShowStartAt, ShowEndAt
- )
- VALUES
- (
- @SerialNumber, @Title, 0, '', @StartAt, @EndAt, @ShowStartAt, @ShowEndAt
- )
-
- SET @Msg = N'添加赛事信息, @SerialNumber=' + @SerialNumber + ',@Title=' + @Title + ',@StartAt=' + @StartAt + ',@EndAt=' + @EndAt +
- ',@ShowStartAt=' + @ShowStartAt + ',@ShowEndAt=' + @ShowEndAt
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress
-
- --返回信息
- SELECT @SerialNumber AS SerialNumber
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Guess_AddMatchBet] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Guess_AddMatchBet]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-06-28
- -- Mendor: wolf
- -- Alter Date: 2023-06-28
- -- Description: 竞猜添加赛事投注
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Guess_AddMatchBet]
- @SerialNumber VARCHAR(32), --流水号
- @BetName NVARCHAR(32), --投注名称
- @BetOdds DECIMAL(10, 2), --投注赔率
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @RetCode TINYINT --操作结果
-
- SET @RetCode = 0
-
- --赛事不存在
- IF NOT EXISTS(SELECT SerialNumber FROM [Match] WHERE SerialNumber = @SerialNumber)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --赛事投注项已存在
- IF EXISTS(SELECT BetID FROM [MatchBet] WHERE SerialNumber = @SerialNumber AND BetName = @BetName)
- BEGIN
- SET @RetCode = 12
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --赛事球队
- INSERT INTO [MatchBet]
- (
- SerialNumber, BetName, BetOdds, BetAmount, IsWin
- )
- VALUES
- (
- @SerialNumber, @BetName, @BetOdds, 0, 0
- )
-
- SET @Msg = N'添加赛事投注, @SerialNumber=' + @SerialNumber + ',@BetName=' + @BetName + ',@BetOdds=' + CAST(@BetOdds AS VARCHAR(32))
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress
-
- --返回信息
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Guess_AddMatchTeam] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Guess_AddMatchTeam]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-06-28
- -- Mendor: wolf
- -- Alter Date: 2023-06-28
- -- Description: 竞猜添加赛事球队
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Guess_AddMatchTeam]
- @SerialNumber VARCHAR(32), --流水号
- @TeamID INT, --球队ID
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @RetCode TINYINT --操作结果
-
- SET @RetCode = 0
-
- --赛事不存在
- IF NOT EXISTS(SELECT SerialNumber FROM [Match] WHERE SerialNumber = @SerialNumber)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --球队不存在
- IF NOT EXISTS(SELECT Id FROM [Team] WHERE Id = @TeamID)
- BEGIN
- SET @RetCode = 12
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --赛事球队
- INSERT INTO [MatchTeam](SerialNumber, TeamID) VALUES(@SerialNumber, @TeamID)
-
- SET @Msg = N'添加赛事球队, @SerialNumber=' + @SerialNumber + ',@TeamID=' + LTRIM(STR(@TeamID))
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress
-
- --返回信息
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Guess_AddTeam] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Guess_AddTeam]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-06-28
- -- Mendor: wolf
- -- Alter Date: 2023-06-28
- -- Description: 竞猜球队添加
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Guess_AddTeam]
- @Name NVARCHAR(32), --球队名称
- @Icon VARCHAR(128), --球队图标
- @ShortName NVARCHAR(32), --球队简称
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @TeamID INT --球队ID
- INSERT INTO [Team]
- (
- Name, Icon, ShortName
- )
- VALUES
- (
- @Name, @Icon, @ShortName
- )
-
- --球队ID
- SET @TeamID = SCOPE_IDENTITY()
-
- SET @Msg = N'添加球队信息, @Name=' + @Name + ',@Icon=' + @Icon + ',@ShortName=' + @ShortName + ',@TeamID=' + LTRIM(STR(@TeamID))
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress
-
- --返回信息
- SELECT @TeamID AS TeamID
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Guess_BetRecordAward] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Guess_BetRecordAward]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-06-28
- -- Mendor: wolf
- -- Alter Date: 2023-06-28
- -- Description: 赛事派奖
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Guess_BetRecordAward]
- @Rid INT, --标识
- @ResultAmount INT, --返奖金额
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
-
- UPDATE
- [BetRecord]
- SET
- ResultAmount = @ResultAmount
- WHERE
- Rid = @Rid
-
- SET @Msg = N'赛事派奖, @Rid=' + LTRIM(STR(@Rid)) + ',@ResultAmount=' + @ResultAmount
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Guess_SetMatchResult] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Guess_SetMatchResult]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-06-28
- -- Mendor: wolf
- -- Alter Date: 2023-06-28
- -- Description: 设置赛事结果
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Guess_SetMatchResult]
- @SerialNumber VARCHAR(32), --流水号
- @BetID INT, --投注ID
- @Result NVARCHAR(32), --赛事结果
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
-
- --设置赛事结果
- UPDATE [Match] SET Result = @Result WHERE SerialNumber = @SerialNumber
-
- --设置投注选项
- UPDATE
- [MatchBet]
- SET
- IsWin = CASE
- WHEN BetID = @BetID THEN 1
- ELSE 0
- END
- WHERE
- SerialNumber = @SerialNumber
-
- SET @Msg = N'设置赛事结果, @SerialNumber=' + @SerialNumber + ',@BetID=' + LTRIM(STR(@BetID)) + ',@Result=' + @Result
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Guess_UpdateMatch] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Guess_UpdateMatch]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-06-28
- -- Mendor: wolf
- -- Alter Date: 2023-06-28
- -- Description: 竞猜修改赛事
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Guess_UpdateMatch]
- @SerialNumber VARCHAR(32), --流水号
- @Title NVARCHAR(32), --标题
- @StartAt VARCHAR(32), --开始时间
- @EndAt VARCHAR(32), --结束时间
- @ShowStartAt VARCHAR(32), --展示开始时间
- @ShowEndAt VARCHAR(32), --展示截止时间
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @RetCode TINYINT
-
- SET @RetCode = 0
-
- --修改
- UPDATE
- [Match]
- SET
- Title = @Title, StartAt = @StartAt, EndAt = @EndAt,
- ShowStartAt = @ShowStartAt, ShowEndAt = @ShowEndAt
- WHERE
- SerialNumber = @SerialNumber
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- SET @Msg = N'修改赛事信息, @SerialNumber=' + @SerialNumber + ',@Title=' + @Title + ',@StartAt=' + @StartAt + ',@EndAt=' + @EndAt +
- ',@ShowStartAt=' + @ShowStartAt + ',@ShowEndAt=' + @ShowEndAt
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress
-
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Guess_UpdateMatchBet] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Guess_UpdateMatchBet]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-06-28
- -- Mendor: wolf
- -- Alter Date: 2023-06-28
- -- Description: 竞猜修改赛事投注
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Guess_UpdateMatchBet]
- @BetID INT, --投注ID
- @SerialNumber VARCHAR(32), --流水号
- @BetName NVARCHAR(32), --投注名称
- @BetOdds DECIMAL(10, 2), --投注赔率
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @RetCode TINYINT --操作结果
-
- SET @RetCode = 0
-
- --赛事不存在
- IF NOT EXISTS(SELECT SerialNumber FROM [Match] WHERE SerialNumber = @SerialNumber)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- /*
- --赛事投注项已存在
- IF EXISTS(SELECT BetID FROM [MatchBet] WHERE BetName = @BetName)
- BEGIN
- SET @RetCode = 12
- SELECT @RetCode AS RetCode
- RETURN
- END
- */
-
- --赛事球队
- UPDATE
- [MatchBet]
- SET
- SerialNumber = @SerialNumber, BetName = @BetName, BetOdds = @BetOdds
- WHERE
- BetID = @BetID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 13
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- SET @Msg = N'修改赛事投注信息, @BetID=' + LTRIM(STR(@BetID)) + ',@SerialNumber=' + @SerialNumber + ',@BetName=' + @BetName + ',@BetOdds=' + CAST(@BetOdds AS VARCHAR(32))
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress
-
- --返回信息
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Guess_UpdateMatchTeam] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Guess_UpdateMatchTeam]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-06-28
- -- Mendor: wolf
- -- Alter Date: 2023-06-28
- -- Description: 竞猜修改赛事球队
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Guess_UpdateMatchTeam]
- @Rid INT, --标识
- @SerialNumber VARCHAR(32), --流水号
- @TeamID INT, --球队ID
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @RetCode TINYINT --操作结果
-
- SET @RetCode = 0
-
- --赛事不存在
- IF NOT EXISTS(SELECT SerialNumber FROM [Match] WHERE SerialNumber = @SerialNumber)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --球队不存在
- IF NOT EXISTS(SELECT Id FROM [Team] WHERE Id = @TeamID)
- BEGIN
- SET @RetCode = 12
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --赛事球队
- UPDATE
- [MatchTeam]
- SET
- SerialNumber = @SerialNumber, TeamID = @TeamID
- WHERE
- Rid = @Rid
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 13
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- SET @Msg = N'修改赛事球队信息, @Rid=' + LTRIM(STR(@Rid)) + ',@SerialNumber=' + @SerialNumber + ',@TeamID=' + LTRIM(STR(@TeamID))
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress
-
- --返回信息
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Guess_UpdateTeam] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Guess_UpdateTeam]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-06-28
- -- Mendor: wolf
- -- Alter Date: 2023-06-28
- -- Description: 竞猜球队修改
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Guess_UpdateTeam]
- @Id INT, --球队ID
- @Name NVARCHAR(32), --球队名称
- @Icon VARCHAR(128), --球队图标
- @ShortName NVARCHAR(32), --球队简称
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
-
- UPDATE
- [Team]
- SET
- Name = @Name, Icon = @Icon, ShortName = @ShortName
- WHERE
- Id = @Id
-
- SET @Msg = N'修改球队信息, @Id = ' + LTRIM(STR(@Id)) + ',@Name=' + @Name + ',@Icon=' + @Icon + ',@ShortName=' + @ShortName
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_HuaweiOrder_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_HuaweiOrder_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2022-11-07
- -- Description: 华为支付--获取订单列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_HuaweiOrder_GetList]
- @UserID INT, --用户ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT, --总记录数
- @TotalRMBMoney INT OUTPUT, --成功充值数
- @UserCount INT OUTPUT --下订单用户数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --创建临时表
- DECLARE @tmptable TABLE(
- OrderID VARCHAR(32) NOT NULL, --订单号
- TradeID VARCHAR(64) NOT NULL, --交易号
- UserID INT NOT NULL, --用户ID
- ProductID VARCHAR(32) NOT NULL, --产品ID
- Price DECIMAL(18, 2) NOT NULL, --价格
- GetStatus TINYINT NOT NULL, --状态
- PartnerID INT NOT NULL, --渠道ID
- IPAddress VARCHAR(16) NOT NULL, --IP地址
- Crdate DATETIME NOT NULL --时间
- )
- --用户ID查询
- IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- )
- SELECT
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- FROM
- [huaweiOrder]
- WHERE
- UserID = @UserID AND Crdate BETWEEN @BeginTime AND @EndTime
- ORDER BY
- Crdate DESC
- END
-
- --所有订单
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- )
- SELECT
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- FROM
- [huaweiOrder]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- ORDER BY
- Crdate DESC
- END
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- --成功充值总额
- SET @TotalRMBMoney = ISNULL((SELECT SUM(Price) FROM @tmptable WHERE GetStatus = 1), 0)
-
- SET @UserCount = ISNULL((SELECT COUNT(DISTINCT UserID) FROM @tmptable), 0)
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Crdate DESC) AS RowNumber,
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- l.OrderID, l.TradeID, l.UserID, ISNULL(u.NickName, '') AS NickName, l.ProductID, l.Price, l.GetStatus,
- ISNULL(p.PartnerName, LTRIM(STR(l.PartnerID))) AS PartnerName, l.IPAddress,
- CONVERT(CHAR(20), l.Crdate, 120) AS Crdate
- FROM
- [List] l LEFT JOIN [AllUser] u ON l.UserID = u.UserID
- LEFT JOIN [Partner] p ON l.PartnerID = p.PartnerID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Issue_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Issue_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 发行统计列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Issue_GetList]
- @BeginTime SMALLDATETIME, --开始时间
- @EndTime SMALLDATETIME --截止时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- Rid, CONVERT(VARCHAR(10), DateFlag, 120) AS DateFlag,
- ItemType, ItemName, ItemValue
- FROM
- [IssueStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime
- ORDER BY
- DateFlag DESC, ItemType ASC, Rid ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_KayaOrder_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_KayaOrder_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2022-11-07
- -- Description: KayaPay--获取订单列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_KayaOrder_GetList]
- @UserID INT, --用户ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT, --总记录数
- @TotalRMBMoney INT OUTPUT, --成功充值数
- @UserCount INT OUTPUT --下订单用户数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --创建临时表
- DECLARE @tmptable TABLE(
- OrderID VARCHAR(32) NOT NULL, --订单号
- TradeID VARCHAR(64) NOT NULL, --交易号
- UserID INT NOT NULL, --用户ID
- ProductID VARCHAR(32) NOT NULL, --产品ID
- Price DECIMAL(18, 2) NOT NULL, --价格
- GetStatus TINYINT NOT NULL, --状态
- PartnerID INT NOT NULL, --渠道ID
- IPAddress VARCHAR(16) NOT NULL, --IP地址
- Crdate DATETIME NOT NULL --时间
- )
- --用户ID查询
- IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- )
- SELECT
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- FROM
- [KayaOrder]
- WHERE
- UserID = @UserID AND Crdate BETWEEN @BeginTime AND @EndTime
- ORDER BY
- Crdate DESC
- END
-
- --所有订单
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- )
- SELECT
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- FROM
- [KayaOrder]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- ORDER BY
- Crdate DESC
- END
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- --成功充值总额
- SET @TotalRMBMoney = ISNULL((SELECT SUM(Price) FROM @tmptable WHERE GetStatus = 1), 0)
-
- SET @UserCount = ISNULL((SELECT COUNT(DISTINCT UserID) FROM @tmptable), 0)
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Crdate DESC) AS RowNumber,
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- l.OrderID, l.TradeID, l.UserID, ISNULL(u.NickName, '') AS NickName, l.ProductID, l.Price, l.GetStatus,
- ISNULL(p.PartnerName, LTRIM(STR(l.PartnerID))) AS PartnerName, l.IPAddress,
- CONVERT(CHAR(20), l.Crdate, 120) AS Crdate
- FROM
- [List] l LEFT JOIN [AllUser] u ON l.UserID = u.UserID
- LEFT JOIN [Partner] p ON l.PartnerID = p.PartnerID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_LabelLiveStat_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RecordCount INT
- -- EXEC [Manage_LabelLiveStat_GetList]
- -- @LabelID = '',
- -- @BeginTime = '',
- -- @EndTime = '',
- -- @PageIndex = 1,
- -- @PageSize = 10,
- -- @RecordCount = @RecordCount OUTPUT
- -- SELECT @RecordCount AS RecordCount
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2015-03-18
- -- Description: 获取标签留存统计列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_LabelLiveStat_GetList]
- @LabelID VARCHAR(32), --标签ID
- @BeginTime DATETIME, --起始时间
- @EndTime DATETIME, --结束时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --总记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartIndex INT --起始索引
- DECLARE @EndIndex INT --截止索引
-
- --创建临时表
- DECLARE @tmptable TABLE(
- DateFlag SMALLDATETIME NOT NULL, --日期标志
- LabelID VARCHAR(32) NOT NULL, --标签ID
- RegCount INT NOT NULL, --注册用户数
- LiveUsers_1 INT NOT NULL, --次日留存
- LiveUsers_3 INT NOT NULL, --3日留存
- LiveUsers_5 INT NOT NULL, --5日留存
- LiveUsers_7 INT NOT NULL, --7日留存
- LiveUsers_15 INT NOT NULL, --15日留存
- LiveUsers_30 INT NOT NULL --30日留存
- )
- SET @StartIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndIndex = @PageIndex * @PageSize
- INSERT INTO @tmptable
- (
- DateFlag, LabelID, RegCount, LiveUsers_1, LiveUsers_3,
- LiveUsers_5, LiveUsers_7, LiveUsers_15, LiveUsers_30
- )
- SELECT
- DateFlag, LabelID, RegCount, LiveUsers_1, LiveUsers_3,
- LiveUsers_5, LiveUsers_7, LiveUsers_15, LiveUsers_30
- FROM
- [LabelLiveStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND LabelID = @LabelID
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY DateFlag DESC, RegCount DESC, LabelID ASC) AS RowNumber,
- DateFlag, LabelID, RegCount, LiveUsers_1, LiveUsers_3,
- LiveUsers_5, LiveUsers_7, LiveUsers_15, LiveUsers_30
- FROM
- @tmptable
- )
- --返回信息
- SELECT
- CONVERT(CHAR(10), DateFlag, 120) AS DateFlag, LabelID, RegCount,
- LiveUsers_1, LiveUsers_3, LiveUsers_5, LiveUsers_7, LiveUsers_15, LiveUsers_30
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartIndex AND @EndIndex
- ORDER BY
- RowNumber ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_LiveStat_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RecordCount INT
- -- EXEC [Manage_LiveStat_GetList]
- -- @PartnerID = 100001,
- -- @BeginTime = '',
- -- @EndTime = '',
- -- @PageIndex = 1,
- -- @PageSize = 10,
- -- @RecordCount = @RecordCount OUTPUT
- -- SELECT @RecordCount AS RecordCount
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2015-03-18
- -- Description: 获取留存统计列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_LiveStat_GetList]
- @PartnerID INT, --合作商ID
- @BeginTime DATETIME, --起始时间
- @EndTime DATETIME, --结束时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --总记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartIndex INT --起始索引
- DECLARE @EndIndex INT --截止索引
-
- --创建临时表
- DECLARE @tmptable TABLE(
- DateFlag SMALLDATETIME NOT NULL, --日期标志
- PartnerID INT NOT NULL, --合作商ID
- RegCount INT NOT NULL, --注册用户数
- LiveUsers_1 INT NOT NULL, --次日留存
- LiveUsers_3 INT NOT NULL, --3日留存
- LiveUsers_5 INT NOT NULL, --5日留存
- LiveUsers_7 INT NOT NULL, --7日留存
- LiveUsers_15 INT NOT NULL, --15日留存
- LiveUsers_30 INT NOT NULL --30日留存
- )
- SET @StartIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndIndex = @PageIndex * @PageSize
- --所有合作商
- IF(@PartnerID = 0)
- BEGIN
- INSERT INTO @tmptable
- (
- DateFlag, PartnerID, RegCount, LiveUsers_1, LiveUsers_3,
- LiveUsers_5, LiveUsers_7, LiveUsers_15, LiveUsers_30
- )
- SELECT
- DateFlag, PartnerID, RegCount, LiveUsers_1, LiveUsers_3,
- LiveUsers_5, LiveUsers_7, LiveUsers_15, LiveUsers_30
- FROM
- [LiveStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- DateFlag, PartnerID, RegCount, LiveUsers_1, LiveUsers_3,
- LiveUsers_5, LiveUsers_7, LiveUsers_15, LiveUsers_30
- )
- SELECT
- DateFlag, PartnerID, RegCount, LiveUsers_1, LiveUsers_3,
- LiveUsers_5, LiveUsers_7, LiveUsers_15, LiveUsers_30
- FROM
- [LiveStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND PartnerID = @PartnerID
- END
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY DateFlag DESC, RegCount DESC, PartnerID ASC) AS RowNumber,
- DateFlag, PartnerID, RegCount, LiveUsers_1, LiveUsers_3,
- LiveUsers_5, LiveUsers_7, LiveUsers_15, LiveUsers_30
- FROM
- @tmptable
- )
- --返回信息
- SELECT
- CONVERT(CHAR(10), l.DateFlag, 120) AS DateFlag,
- CASE
- WHEN l.PartnerID = 1 THEN N'所有渠道'
- ELSE ISNULL(p.PartnerName, LTRIM(STR(l.PartnerID)))
- END AS PartnerName,
- RegCount, LiveUsers_1, LiveUsers_3, LiveUsers_5, LiveUsers_7, LiveUsers_15, LiveUsers_30
- FROM
- [List] l LEFT JOIN [Partner] p ON l.PartnerID = p.PartnerID
- WHERE
- l.RowNumber BETWEEN @StartIndex AND @EndIndex
- ORDER BY
- l.RowNumber ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_LiveStat_GetListByPartner] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RecordCount INT
- -- EXEC [Manage_LiveStat_GetListByPartner]
- -- @PartnerID = 100001,
- -- @BeginTime = '',
- -- @EndTime = '',
- -- @PageIndex = 1,
- -- @PageSize = 10,
- -- @RecordCount = @RecordCount OUTPUT
- -- SELECT @RecordCount AS RecordCount
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-10-27
- -- Mendor: wolf
- -- Alter Date: 2014-10-27
- -- Description: 获取留存统计列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_LiveStat_GetListByPartner]
- @PartnerID INT, --合作商ID
- @BeginTime DATETIME, --起始时间
- @EndTime DATETIME, --结束时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --总记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartIndex INT --起始索引
- DECLARE @EndIndex INT --截止索引
-
- --创建临时表
- CREATE TABLE #tmptable(
- DateFlag SMALLDATETIME NOT NULL, --日期标志
- PartnerID INT NOT NULL, --合作商ID
- CreateUsers_1 INT NOT NULL, --昨天创建用户数
- LiveUsers_1 INT NOT NULL, --昨天创建,今天还登录的用户数
- CreateUsers_3 INT NOT NULL, --3天前创建用户数
- LiveUsers_3 INT NOT NULL, --3天前创建,今天还登录的用户数
- CreateUsers_7 INT NOT NULL, --7天前创建创建用户数
- LiveUsers_7 INT NOT NULL, --7天前创建,今天还登录的用户数
- CreateUsers_15 INT NOT NULL, --15天前创建用户数
- LiveUsers_15 INT NOT NULL, --15天前创建,今天还登录的用户数
- CreateUsers_30 INT NOT NULL, --30天前创建用户数
- LiveUsers_30 INT NOT NULL --30天前创建,今天还登录的用户数
- )
-
- SET @StartIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndIndex = @PageIndex * @PageSize
-
- --某个合作商
- IF(@PartnerID > 0)
- BEGIN
- INSERT INTO #tmptable
- (
- DateFlag, PartnerID, CreateUsers_1, LiveUsers_1,
- CreateUsers_3, LiveUsers_3, CreateUsers_7, LiveUsers_7,
- CreateUsers_15, LiveUsers_15, CreateUsers_30, LiveUsers_30
- )
- SELECT
- DateFlag, PartnerID, CreateUsers_1, LiveUsers_1,
- CreateUsers_3, LiveUsers_3, CreateUsers_7, LiveUsers_7,
- CreateUsers_15, LiveUsers_15, CreateUsers_30, LiveUsers_30
- FROM
- [LiveStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND PartnerID = @PartnerID
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
- END
-
- ELSE
- BEGIN
- INSERT INTO #tmptable
- (
- DateFlag, PartnerID, CreateUsers_1, LiveUsers_1,
- CreateUsers_3, LiveUsers_3, CreateUsers_7, LiveUsers_7,
- CreateUsers_15, LiveUsers_15, CreateUsers_30, LiveUsers_30
- )
- SELECT
- DateFlag, PartnerID, SUM(CreateUsers_1), SUM(LiveUsers_1),
- SUM(CreateUsers_3), SUM(LiveUsers_3), SUM(CreateUsers_7), SUM(LiveUsers_7),
- SUM(CreateUsers_15), SUM(LiveUsers_15), SUM(CreateUsers_30), SUM(LiveUsers_30)
- FROM
- [LiveStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime
- GROUP BY
- DateFlag, PartnerID
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
- END
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY DateFlag DESC, CreateUsers_1 DESC, LiveUsers_1 DESC) AS RowNumber,
- DateFlag, PartnerID, CreateUsers_1, LiveUsers_1,
- CreateUsers_3, LiveUsers_3, CreateUsers_7, LiveUsers_7,
- CreateUsers_15, LiveUsers_15, CreateUsers_30, LiveUsers_30
- FROM
- #tmptable
- )
-
- --返回信息
- SELECT
- CONVERT(CHAR(10), l.DateFlag, 120) AS DateFlag, l.CreateUsers_1, l.LiveUsers_1,
- CAST(CAST(l.LiveUsers_1 * 100.00 / CASE WHEN l.CreateUsers_1 = 0 THEN 1 ELSE l.CreateUsers_1 END AS DECIMAL(10, 2)) AS VARCHAR(32)) + '%' AS Ratio_1,
- l.CreateUsers_3, l.LiveUsers_3, CAST(CAST(l.LiveUsers_3 * 100.00 / CASE WHEN l.CreateUsers_3 = 0 THEN 1 ELSE l.CreateUsers_3 END AS DECIMAL(10, 2)) AS VARCHAR(32)) + '%' AS Ratio_3,
- l.CreateUsers_7, l.LiveUsers_7, CAST(CAST(l.LiveUsers_7 * 100.00 / CASE WHEN l.CreateUsers_7 = 0 THEN 1 ELSE l.CreateUsers_7 END AS DECIMAL(10, 2)) AS VARCHAR(32)) + '%' AS Ratio_7,
- l.CreateUsers_15, l.LiveUsers_15, CAST(CAST(l.LiveUsers_15 * 100.00 / CASE WHEN l.CreateUsers_15 = 0 THEN 1 ELSE l.CreateUsers_15 END AS DECIMAL(10, 2)) AS VARCHAR(32)) + '%' AS Ratio_15,
- l.CreateUsers_30, l.LiveUsers_30, CAST(CAST(l.LiveUsers_30 * 100.00 / CASE WHEN l.CreateUsers_30 = 0 THEN 1 ELSE l.CreateUsers_30 END AS DECIMAL(10, 2)) AS VARCHAR(32)) + '%' AS Ratio_30,
- ISNULL(p.PartnerName, N'所有渠道') AS PartnerName
- FROM
- [List] l INNER JOIN [Partner] p ON l.PartnerID = p.PartnerID
- WHERE
- l.RowNumber BETWEEN @StartIndex AND @EndIndex
- ORDER BY
- l.RowNumber ASC
-
- --删除临时表
- DROP TABLE #tmptable
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_MachineUser_Reg] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_MachineUser_Reg]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-03-13
- -- Mendor: wolf
- -- Alter Date: 2017-02-16
- -- Description: 注册机器人
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_MachineUser_Reg]
- @NickName NVARCHAR(32), --昵称
- @FaceUrl VARCHAR(1024), --头像地址
- @Sex TINYINT --性别 0=默认(无) 1=男 2=女
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @IMei VARCHAR(64) --IMei
- DECLARE @PartnerID INT --渠道ID
- DECLARE @IPAddress VARCHAR(16)
- DECLARE @CurrTime DATETIME --System当前时间
- DECLARE @Count SMALLINT --计数器
- DECLARE @RetCode INT --返回值
- DECLARE @Rnd INT --随机数
- DECLARE @UserID INT --用户ID
- DECLARE @FaceID SMALLINT --脸谱ID(-1=玩家上传头像)
- DECLARE @EPassword VARCHAR(32) --MD5密文
- DECLARE @Msg NVARCHAR(4000) --消息
- SET @CurrTime = GETDATE()
- SET @PartnerID = 0
- SET @IPAddress = '127.0.0.1'
- SET @UserID = 0
- SET @FaceID = 0
- SET @RetCode = 0
- SET @IMei = NEWID()
-
- --用户信息
- SELECT @UserID = UserID FROM [AllUser] WHERE NickName = @NickName AND RegIP = '127.0.0.1'
-
- --用户id存在
- IF(@UserID > 0)
- BEGIN
- --自定义头像路径为空信息
- IF(LEN(@FaceUrl) = 0)
- BEGIN
- --1=男
- IF(@Sex = 1)
- BEGIN
- --随机头像,男性头像 1-5=普通头像, 6-10=vip头像
- EXEC [Game_Rand_GetRnd] @Min = 1, @Max = 5, @Rnd = @FaceID OUTPUT
- END
-
- --2=女
- ELSE IF(@Sex = 2)
- BEGIN
- --随机头像,女性头像 11-15=普通头像, 16-20=vip头像
- EXEC [Game_Rand_GetRnd] @Min = 11, @Max = 15, @Rnd = @FaceID OUTPUT
- END
- END
-
- --头像修改
- UPDATE [UserFace] SET FaceID = @FaceID, FaceUrl = @FaceUrl WHERE UserID = @UserID
-
- --操作成功
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- SET @Count = 0
-
- --遍历100次
- WHILE(@Count < 100)
- BEGIN
- --计数器+1
- SET @Count = @Count + 1
-
- --生成随机数
- EXEC [Game_Rand_GetRnd] @Min = 1000000, @Max = 99999999, @Rnd = @Rnd OUTPUT
-
- --判断是否存在
- IF NOT EXISTS(SELECT UserID FROM [UserIdentity] WHERE UserID = @Rnd)
- BEGIN
- --添加
- INSERT INTO [UserIdentity](UserID, IMei) VALUES(@Rnd, @IMei)
-
- --用户ID
- SET @UserID = @Rnd
-
- BREAK
- END
-
- SET @Msg = N'注册机器人生成帐号异常,UserID重复!关联的信息:@IMei=' + @IMei + ',@NickName=' + @NickName +
- ',@PartnerID=' + LTRIM(STR(@PartnerID)) + ',@Count=' + LTRIM(STR(@Count))
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @IPAddress = @IPAddress, @Msg = @Msg, @Type = 2
- END
-
- --生成MD5密码
- SET @EPassword = dbo.fn_MD5('89020BB5-7F1D-499E-B9B4-40B79B3C3EBC')
-
- --昵称为空的情况
- IF(LEN(@NickName) <= 0)
- BEGIN
- SET @NickName = 'Guest' + LTRIM(STR(@UserID))
- END
-
- --新昵称(过滤特殊字符: ', <, >)
- SET @NickName = Replace(Replace(Replace(@NickName, '<', ''), '''', ''),'>','')
-
- --生成用户信息
- INSERT INTO [AllUser]
- (
- UserID, NickName, PartnerID, IMei, EPassword, RegTime, RegIP,
- LoginTime, IPAddress, PayMoney, deviceid, RegPartnerID, UserWords,
- DeviceName, Version
- )
- VALUES
- (
- @UserID, @NickName, @PartnerID, @IMei, @EPassword, @CurrTime, @IPAddress,
- @CurrTime, @IPAddress, 0, @IMei, @PartnerID, '',
- '', 0
- )
- --性别为空,则随机
- IF(@Sex IS NULL OR @Sex = 0)
- BEGIN
- --随机性别
- EXEC [Game_Rand_GetRnd] @Min = 1, @Max = 2, @Rnd = @Sex OUTPUT
-
- --随机头像
- IF(LEN(@FaceUrl) <= 0)
- BEGIN
- --1=男
- IF(@Sex = 1)
- BEGIN
- --随机头像,男性头像1-4
- EXEC [Game_Rand_GetRnd] @Min = 1, @Max = 4, @Rnd = @FaceID OUTPUT
- END
-
- --2=女
- ELSE IF(@Sex = 2)
- BEGIN
- --随机头像,女性头像5-8
- EXEC [Game_Rand_GetRnd] @Min = 5, @Max = 8, @Rnd = @FaceID OUTPUT
- END
- END
- END
-
- --头像
- INSERT INTO [UserFace](UserID, FaceID, FaceUrl, Sex) VALUES(@UserID, @FaceID, @FaceUrl, @Sex)
-
- --机器人
- INSERT INTO [MachineUser]
- (
- UserID, LoginName, Password, BatchID, WriteTime, Levels1, Levels2, Levels3
- )
- VALUES
- (
- @UserID, @NickName, @EPassword, 0, @CurrTime, 1, 2, 3
- )
-
- --操作成功
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_ManualPay_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_ManualPay_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 手动充值列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_ManualPay_GetList]
- @UserID INT, --用户ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT, --总记录数
- @TotalRMBMoney INT OUTPUT, --成功充值数
- @UserCount INT OUTPUT --下订单用户数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --创建临时表
- DECLARE @tmptable TABLE(
- OrderID VARCHAR(32) NOT NULL, --订单号
- UserID INT NOT NULL, --用户ID
- ProductID VARCHAR(32) NOT NULL, --产品ID
- Price DECIMAL(18, 2) NOT NULL, --价格
- OpUserID INT NOT NULL, --操作员ID
- OpUserName VARCHAR(32) NOT NULL, --操作员名称
- Crdate DATETIME NOT NULL --时间
- )
- --用户ID查询
- IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, UserID, ProductID, Price, OpUserID, OpUserName, Crdate
- )
- SELECT
- OrderID, UserID, ProductID, Price, OpUserID, OpUserName, Crdate
- FROM
- [ManualPay]
- WHERE
- UserID = @UserID AND Crdate BETWEEN @BeginTime AND @EndTime
- ORDER BY
- Crdate DESC
- END
-
- --所有订单
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, UserID, ProductID, Price, OpUserID, OpUserName, Crdate
- )
- SELECT
- OrderID, UserID, ProductID, Price, OpUserID, OpUserName, Crdate
- FROM
- [ManualPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- ORDER BY
- Crdate DESC
- END
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- --成功充值总额
- SET @TotalRMBMoney = ISNULL((SELECT SUM(Price) FROM @tmptable), 0)
-
- SET @UserCount = ISNULL((SELECT COUNT(DISTINCT UserID) FROM @tmptable), 0)
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Crdate DESC) AS RowNumber,
- OrderID, UserID, ProductID, Price, OpUserID, OpUserName, Crdate
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- l.OrderID, l.UserID, u.NickName, l.ProductID, l.Price, l.OpUserID, l.OpUserName,
- CONVERT(CHAR(20), l.Crdate, 120) AS Crdate
- FROM
- [List] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_MatchCard_Gen] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_MatchCard_Gen]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 比赛卡生成
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_MatchCard_Gen]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @OpenTime DATETIME, --开始时间
- @ExpireTime DATETIME, --过期时间
- @TimeMemo NVARCHAR(1024), --时间描述
- @SceneMemo NVARCHAR(2048), --场地描述
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CardNo VARCHAR(32) --卡号
- DECLARE @Rnd INT --随机数
- DECLARE @RetCode TINYINT --操作结果
- DECLARE @Msg NVARCHAR(4000) --操作描述
-
- SET @RetCode = 0
- SET @CardNo = 0
- WHILE(1=1)
- BEGIN
- --生成随机数
- EXEC [Game_Rand_GetRnd] @Min = 100000, @Max = 999999, @Rnd = @Rnd OUTPUT
-
- --判断是否已生成
- IF EXISTS(SELECT CardNo FROM [MatchCard] WHERE CardNo = @Rnd)
- BEGIN
- CONTINUE
- END
-
- --卡号
- SET @CardNo = 'M' + LTRIM(STR(@Rnd))
- BREAK
- END
- --生成兑换卡
- INSERT INTO [MatchCard]
- (
- CardNo, OpenTime, ExpireTime, TimeMemo, SceneMemo, UseTimes, Crdate
- )
- VALUES
- (
- @CardNo, @OpenTime, @ExpireTime, @TimeMemo, @SceneMemo, 0, GETDATE()
- )
-
- --添加日志
- SET @Msg = N'比赛卡生成成功,关联的信息:@CardNo=' + @CardNo + ',@OpenTime=' + CONVERT(VARCHAR(20), @OpenTime, 120) +
- ',@ExpireTime=' + CONVERT(VARCHAR(20), @ExpireTime, 120) + ',@TimeMemo=' + @TimeMemo + ',@SceneMemo=' + @SceneMemo
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress, @Type = 1
-
- --操作结果
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_MatchCard_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_MatchCard_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 比赛卡列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_MatchCard_GetList]
- @CardNo VARCHAR(32) --卡号
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --获取某卡号
- IF(LEN(@CardNo) > 0)
- BEGIN
- SELECT
- CardNo, UseTimes, CONVERT(VARCHAR(20), OpenTime, 120) AS OpenTime,
- CONVERT(VARCHAR(20), ExpireTime, 120) AS ExpireTime,
- CONVERT(VARCHAR(20), Crdate, 120) AS Crdate,
- TimeMemo, SceneMemo
- FROM
- [MatchCard]
- WHERE
- CardNo = @CardNo
-
- RETURN
- END
-
- --比赛卡
- SELECT
- CardNo, UseTimes, CONVERT(VARCHAR(20), OpenTime, 120) AS OpenTime,
- CONVERT(VARCHAR(20), ExpireTime, 120) AS ExpireTime,
- CONVERT(VARCHAR(20), Crdate, 120) AS Crdate,
- TimeMemo, SceneMemo
- FROM
- [MatchCard]
- ORDER BY
- ExpireTime DESC, Crdate DESC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_MatchCard_Update] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_MatchCard_Update]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 比赛卡修改
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_MatchCard_Update]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @CardNo VARCHAR(32), --卡号
- @OpenTime DATETIME, --开始时间
- @ExpireTime DATETIME, --过期时间
- @TimeMemo NVARCHAR(1024), --时间描述
- @SceneMemo NVARCHAR(2048), --场地描述
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT --操作结果
- DECLARE @Msg NVARCHAR(4000) --操作描述
-
- SET @RetCode = 0
-
- UPDATE
- [MatchCard]
- SET
- OpenTime = @OpenTime, ExpireTime = @ExpireTime,
- TimeMemo = @TimeMemo, SceneMemo = @SceneMemo
- WHERE
- CardNO = @CardNo
-
- --修改失败
- IF(@@ROWCOUNT = 0)
- BEGIN
- --添加日志
- SET @Msg = N'比赛卡修改失败,关联的信息:@CardNo=' + @CardNo + ',@OpenTime=' + CONVERT(VARCHAR(20), @OpenTime, 120) +
- ',@ExpireTime=' + CONVERT(VARCHAR(20), @ExpireTime, 120) + ',@TimeMemo=' + @TimeMemo + ',@SceneMemo=' + @SceneMemo
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress, @Type = 1
-
- --操作结果
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- END
-
- --添加日志
- SET @Msg = N'比赛卡修改成功,关联的信息:@CardNo=' + @CardNo + ',@OpenTime=' + CONVERT(VARCHAR(20), @OpenTime, 120) +
- ',@ExpireTime=' + CONVERT(VARCHAR(20), @ExpireTime, 120) + ',@TimeMemo=' + @TimeMemo + ',@SceneMemo=' + @SceneMemo
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress, @Type = 1
-
- --操作结果
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_MatchData_GetJoinList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_MatchData_GetJoinList]
- -- @SerialNumber = '0'
- -- @UserID = 0
- -- @IsAward = -1
- -- @BeginTime = '2023-08-01 00:00:00'
- -- @EndTime = '2023-08-31 23:59:59'
- -- @PageIndex = 1
- -- @PageSize = 50
- -- @RecordCount = 0
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-08-18
- -- Mendor: wolf
- -- Alter Date: 2023-08-18
- -- Description: 获取加入的名单
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_MatchData_GetJoinList]
- @SerialNumber VARCHAR(32), --比赛场次
- @UserID INT, --用户ID
- @IsAward INT, --是否获奖(-1=全部,0=否,1=是)
- @BeginTime DATETIME, -- 开始时间
- @EndTime DATETIME, -- 结束时间
- @PageIndex INT, -- 页索引
- @PageSize INT, -- 页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT -- 起始行索引
- DECLARE @EndRowIndex INT -- 截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- DECLARE @tmptable TABLE(
- SerialNumber VARCHAR(32) NOT NULL, --比赛场次
- GameID INT NOT NULL, --比赛ID
- Rank INT NOT NULL, --排名
- UserID INT NOT NULL, --用户ID
- ItemID INT NOT NULL, --道具ID(报名道具)
- ItemCount INT NOT NULL, --报名道具的数量
- EnrollTime DATETIME NOT NULL, --报名时间
- Score INT NOT NULL, --分数
- Prize VARCHAR(128) NOT NULL, --奖品
- RobotID INT NOT NULL --机器人ID
- )
- INSERT INTO @tmptable
- (
- SerialNumber, GameID, [Rank], UserID, ItemID, ItemCount, EnrollTime, Score, Prize, RobotID
- )
- SELECT
- SerialNumber, GameID, [Rank], UserID, ItemID, ItemCount, EnrollTime, Score, Prize, 0
- FROM
- [MatchDataUserList]
- WHERE
- EnrollTime BETWEEN @BeginTime AND @EndTime
- AND SerialNumber = CASE -- 指定赛事场次
- WHEN @SerialNumber != '' THEN @SerialNumber
- ELSE SerialNumber
- END
- AND UserID = CASE -- 指定用户ID
- WHEN @UserID > 0 THEN @UserID
- ELSE UserID
- END
- AND Prize = CASE -- 指定是否获奖
- WHEN @IsAward = 0 THEN '' --没获奖
- WHEN @IsAward = 1 THEN CASE --获奖
- WHEN Prize != '' THEN Prize
- ELSE '0'
- END
- ELSE Prize END --默认所有
- -- 修改临时表变量机器人ID
- UPDATE t SET t.RobotID = ISNULL(m.UserID, 0) FROM @tmptable AS t INNER JOIN [MachineUser] AS m ON t.UserID = m.UserID
- -- 记录数,过滤掉机器人
- SELECT @RecordCount = COUNT(*) FROM @tmptable WHERE RobotID = 0
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY
- SerialNumber DESC,
- CASE WHEN [Rank] <= 0 THEN 9999 ELSE [Rank] END ASC,
- EnrollTime DESC) AS RowNumber,
- SerialNumber, GameID, [Rank], UserID, ItemID, ItemCount, EnrollTime, Score, Prize, RobotID
- FROM
- @tmptable
- WHERE
- RobotID = 0
- )
- -- 返回信息
- SELECT
- l.SerialNumber, l.Rank, l.UserID, u.NickName, l.ItemID, l.ItemCount, g.ChineseName,
- CONVERT(CHAR(20), l.EnrollTime, 120) AS EnrollTime, l.Score, l.Prize, l.RobotID
- FROM
- [List] AS l
- INNER JOIN [AllGame] AS g ON l.GameID = g.GameID
- INNER JOIN [AllUser] AS u ON l.UserID = u.UserID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_MatchData_GetJoinTotalFee] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_MatchData_GetJoinTotalFee]
- -- @SerialNumber = 0
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-08-18
- -- Mendor: wolf
- -- Alter Date: 2023-08-18
- -- Description: 获取加入的总费用
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_MatchData_GetJoinTotalFee]
- @SerialNumber VARCHAR(32) --比赛场次
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- -- 返回信息
- SELECT
- ItemID, SUM(ItemCount) AS ItemCount
- FROM
- [MatchDataUserList]
- WHERE
- SerialNumber = @SerialNumber
- GROUP BY
- ItemID
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_MatchData_GetStatistics] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_MatchData_GetStatistics]
- -- @SerialNumber = '0'
- -- @BeginTime = '2023-08-01 00:00:00'
- -- @EndTime = '2023-08-31 23:59:59'
- -- @PageIndex = 1
- -- @PageSize = 50
- -- @RecordCount = 0
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-08-18
- -- Mendor: wolf
- -- Alter Date: 2023-08-18
- -- Description: 获取赛事数据统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_MatchData_GetStatistics]
- @SerialNumber VARCHAR(32), --比赛场次
- @BeginTime DATETIME, -- 开始时间
- @EndTime DATETIME, -- 结束时间
- @PageIndex INT, -- 页索引
- @PageSize INT, -- 页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT -- 起始行索引
- DECLARE @EndRowIndex INT -- 截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- DECLARE @tmptable TABLE(
- SerialNumber VARCHAR(32) NOT NULL, --比赛场次
- GameID INT NOT NULL, --游戏ID
- EnrollFee VARCHAR(256) NOT NULL, --报名费(存在多种报名方式)[ItemId, Count]
- MaxUserCount INT NOT NULL, --最多报名人数
- TableUserCount INT NOT NULL, --每张桌子人数
- JoinUserCount INT NOT NULL, --加入的用户数
- StartTime DATETIME NOT NULL, --开始时间
- EndTime DATETIME NOT NULL --结束时间
- )
- --临时表变量用户参与记录
- DECLARE @participateTable TABLE(
- SerialNumber VARCHAR(32) NOT NULL, --比赛场次
- UserCount INT NOT NULL --用户数量
- )
- INSERT INTO @tmptable
- (
- SerialNumber, GameID, EnrollFee, MaxUserCount, TableUserCount, JoinUserCount, StartTime, EndTime
- )
- SELECT
- SerialNumber, GameID, EnrollFee, MaxUserCount, TableUserCount, JoinUserCount, StartTime, EndTime
- FROM
- [MatchDataStatistics]
- WHERE
- StartTime BETWEEN @BeginTime AND @EndTime
- AND SerialNumber = CASE -- 指定某个场次的赛事
- WHEN @SerialNumber != '' THEN @SerialNumber
- ELSE SerialNumber
- END
- -- 记录数
- SET @RecordCount = @@ROWCOUNT
- INSERT INTO @participateTable
- (
- SerialNumber, UserCount
- )
- SELECT
- ms.SerialNumber, count(mul.UserID) AS UserCount
- FROM
- [MatchDataStatistics] AS ms
- INNER JOIN [MatchDataUserList] AS mul ON ms.SerialNumber = mul.SerialNumber
- LEFT JOIN [MachineUser] AS mu ON mul.UserID = mu.UserID
- where
- mu.UserID IS NULL
- GROUP BY
- ms.SerialNumber
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY StartTime DESC) AS RowNumber,
- SerialNumber, GameID, EnrollFee, MaxUserCount, TableUserCount, JoinUserCount, StartTime, EndTime
- FROM
- @tmptable
- )
- -- 返回信息
- SELECT
- l.SerialNumber, ChineseName, EnrollFee, pt.UserCount, TableUserCount, pt.UserCount,
- CONVERT(CHAR(20), StartTime, 120) AS StartTime, CONVERT(CHAR(20), EndTime, 120) AS EndTime
- FROM
- [List] AS l INNER JOIN [AllGame] AS g ON l.GameID = g.GameID
- INNER JOIN @participateTable AS pt ON l.SerialNumber = pt.SerialNumber
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_MatchData_GetTypeList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_MatchData_GetTypeList]
- -- @SerialNumber = '0'
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-08-18
- -- Mendor: wolf
- -- Alter Date: 2023-08-18
- -- Description: 获取类型的名单
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_MatchData_GetTypeList]
- @SerialNumber VARCHAR(32) --比赛场次
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @tmptable TABLE(
- SerialNumber VARCHAR(32) NOT NULL, --比赛场次
- Rank INT NOT NULL, --排名
- UserID INT NOT NULL, --用户ID
- ItemID INT NOT NULL, --道具ID(报名道具)
- ItemCount INT NOT NULL, --报名道具的数量
- EnrollTime DATETIME NOT NULL, --报名时间
- Score INT NOT NULL, --分数
- Prize VARCHAR(128) NOT NULL, --奖品
- RobotID INT NOT NULL --机器人ID
- )
- -- 查询某个场次的赛事
- INSERT INTO @tmptable
- (
- SerialNumber, [Rank], UserID, ItemID, ItemCount, EnrollTime, Score, Prize, RobotID
- )
- SELECT
- SerialNumber, [Rank], UserID, ItemID, ItemCount, EnrollTime, Score, Prize, 0
- FROM
- [MatchDataUserList]
- WHERE
- SerialNumber = @SerialNumber
- -- 修改临时表变量机器人ID
- UPDATE t SET t.RobotID = ISNULL(m.UserID, 0) FROM @tmptable AS t INNER JOIN [MachineUser] AS m ON t.UserID = m.UserID
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY
- CASE WHEN [Rank] <= 0 THEN 9999 ELSE [Rank] END ASC,
- EnrollTime DESC) AS RowNumber,
- SerialNumber, [Rank], UserID, ItemID, ItemCount, EnrollTime, Score, Prize, RobotID
- FROM
- @tmptable
- )
- -- 返回信息
- SELECT
- l.SerialNumber, l.Rank, l.UserID, u.NickName, l.ItemID, l.ItemCount,
- CONVERT(CHAR(20), l.EnrollTime, 120) AS EnrollTime, l.Score, l.Prize, l.RobotID
- FROM
- [List] AS l INNER JOIN [AllUser] AS u ON l.UserID = u.UserID
- ORDER BY
- l.RowNumber ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_MidwayStat_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_MidwayStat_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-06-11
- -- Description: 中途退出统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_MidwayStat_GetList]
- @GameID INT, --游戏ID
- @TypeID INT, --类型ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- DECLARE @tmptable TABLE(
- DateFlag SMALLDATETIME NOT NULL, --日期标识
- GameID INT NOT NULL, --游戏ID
- SourceName NVARCHAR(32) NOT NULL, --服务器名称
- PlayUserCount INT NOT NULL, --游戏人数
- PlayCount INT NOT NULL, --游戏局数
- MidwayUserCount INT NOT NULL, --中途退出人数
- MidwayTimes INT NOT NULL --中途退出次数
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- IF(@TypeID > 0)
- BEGIN
- IF(@GameID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- DateFlag, GameID, SourceName, PlayUserCount, PlayCount,
- MidwayUserCount, MidwayTimes
- )
- SELECT
- DateFlag, GameID, SourceName, PlayUserCount, PlayCount,
- MidwayUserCount, MidwayTimes
- FROM
- [GameMidwayStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND GameID = @GameID AND TypeID = @TypeID
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- DateFlag, GameID, SourceName, PlayUserCount, PlayCount,
- MidwayUserCount, MidwayTimes
- )
- SELECT
- DateFlag, GameID, SourceName, PlayUserCount, PlayCount,
- MidwayUserCount, MidwayTimes
- FROM
- [GameMidwayStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND GameID = @GameID AND TypeID = @TypeID
- END
- END
-
- ELSE
- BEGIN
- IF(@GameID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- DateFlag, GameID, SourceName, PlayUserCount, PlayCount,
- MidwayUserCount, MidwayTimes
- )
- SELECT
- DateFlag, GameID, SourceName, PlayUserCount, PlayCount,
- MidwayUserCount, MidwayTimes
- FROM
- [GameMidwayStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND GameID = @GameID AND TypeID = 0
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- DateFlag, GameID, SourceName, PlayUserCount, PlayCount,
- MidwayUserCount, MidwayTimes
- )
- SELECT
- DateFlag, GameID, SourceName, PlayUserCount, PlayCount,
- MidwayUserCount, MidwayTimes
- FROM
- [GameMidwayStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND GameID = @GameID AND TypeID = 0
- END
- END
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY DateFlag DESC, GameID ASC) AS RowNumber,
- DateFlag, GameID, SourceName, PlayUserCount, PlayCount,
- MidwayUserCount, MidwayTimes
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- CONVERT(CHAR(10), l.DateFlag, 120) AS DateFlag, l.GameID, g.EnglishName,
- l.SourceName, l.PlayUserCount, l.PlayCount,
- l.MidwayUserCount, l.MidwayTimes
- FROM
- [List] l INNER JOIN [AllGame] g ON l.GameID = g.GameID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Money_GetCashLog] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Money_GetCashLog]
- -- =============================================
- -- Author: wolf
- -- Create Date: 2014-04-23
- -- Mendor: wolf
- -- Alter Date: 2015-10-12
- -- Description: 后台管理--金币日志列表
- -- =============================================
- CREATE PROCEDURE [dbo].[Manage_Money_GetCashLog]
- @UserID INT, --账号ID
- @PartnerID INT, --渠道ID
- @SourceName NVARCHAR(32), --应用名称
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --结束时间
- @PageIndex INT = 1, --页索引
- @PageSize INT = 10, --页大小
- @RecordCount INT OUTPUT --总记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- --申请表变量
- DECLARE @tmptable TABLE(
- LogID INT NOT NULL, --标识
- SourceName NVARCHAR(32) NOT NULL, --应用
- MoneyType VARCHAR(8) NOT NULL, --货币类型
- UserID INT NOT NULL, --用户ID
- CurrentAmount BIGINT NOT NULL, --当前数量
- ModifyAmount BIGINT NOT NULL, --修改数量
- StillAmount BIGINT NOT NULL, --剩余数量
- Remark NVARCHAR(128) NOT NULL, --备注
- IPAddress VARCHAR(16) NOT NULL, --IP地址
- Crdate DATETIME NOT NULL, --时间
- TaxAmount BIGINT NOT NULL --台费
- )
-
- SET @RecordCount = 0
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --应用
- IF(LEN(@SourceName) > 0)
- BEGIN
- --查询应用下的某个账号
- IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- )
- SELECT TOP 10000
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- FROM
- [MoneyLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID AND SourceName = @SourceName
- ORDER BY
- LogID DESC
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- IF(@RecordCount < 10000)
- BEGIN
- INSERT INTO @tmptable
- (
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- )
- SELECT TOP (10000 - @RecordCount)
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- FROM
- [MoneyLog_bak]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID AND SourceName = @SourceName
- ORDER BY
- LogID DESC
-
- --总记录数
- SET @RecordCount = @RecordCount + @@ROWCOUNT
- END
- END
-
- --查询应用下的所有账号
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- )
- SELECT TOP 10000
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- FROM
- [MoneyLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND SourceName = @SourceName
- ORDER BY
- LogID DESC
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- IF(@RecordCount < 10000)
- BEGIN
- INSERT INTO @tmptable
- (
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- )
- SELECT TOP (10000 - @RecordCount)
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- FROM
- [MoneyLog_bak]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND SourceName = @SourceName
- ORDER BY
- LogID DESC
-
- --总记录数
- SET @RecordCount = @RecordCount + @@ROWCOUNT
- END
- END
- END
-
- --查询用户的某个应用
- ELSE IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- )
- SELECT TOP 10000
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- FROM
- [MoneyLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
- ORDER BY
- LogID DESC
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- IF(@RecordCount < 10000)
- BEGIN
- INSERT INTO @tmptable
- (
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- )
- SELECT TOP (10000 - @RecordCount)
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- FROM
- [MoneyLog_bak]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
- ORDER BY
- LogID DESC
-
- --总记录数
- SET @RecordCount = @RecordCount + @@ROWCOUNT
- END
- END
-
- --查询某个渠道
- ELSE IF(@PartnerID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- )
- SELECT TOP 10000
- l.LogID, l.SourceName, l.MoneyType, l.UserID, l.CurrentAmount, l.ModifyAmount, l.StillAmount,
- l.Remark, l.IPAddress, l.Crdate, l.TaxAmount
- FROM
- [MoneyLog] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- WHERE
- l.Crdate BETWEEN @BeginTime AND @EndTime AND u.PartnerID = @PartnerID
- ORDER BY
- l.LogID DESC
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- IF(@RecordCount < 10000)
- BEGIN
- INSERT INTO @tmptable
- (
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- )
- SELECT TOP (10000 - @RecordCount)
- l.LogID, l.SourceName, l.MoneyType, l.UserID, l.CurrentAmount, l.ModifyAmount, l.StillAmount,
- l.Remark, l.IPAddress, l.Crdate, l.TaxAmount
- FROM
- [MoneyLog_bak] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- WHERE
- l.Crdate BETWEEN @BeginTime AND @EndTime AND u.PartnerID = @PartnerID
- ORDER BY
- l.LogID DESC
-
- --总记录数
- SET @RecordCount = @RecordCount + @@ROWCOUNT
- END
- END
-
- --查询所有应用
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- )
- SELECT TOP 10000
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- FROM
- [MoneyLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID > 100
- ORDER BY
- LogID DESC
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- IF(@RecordCount < 10000)
- BEGIN
- INSERT INTO @tmptable
- (
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- )
- SELECT TOP (10000 - @RecordCount)
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- FROM
- [MoneyLog_bak]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID > 100
- ORDER BY
- LogID DESC
-
- --总记录数
- SET @RecordCount = @RecordCount + @@ROWCOUNT
- END
- END
-
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY LogID DESC) AS RowNumber,
- LogID, SourceName, MoneyType, UserID, CurrentAmount, ModifyAmount, StillAmount,
- Remark, IPAddress, Crdate, TaxAmount
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- l.LogID, l.SourceName, l.MoneyType, l.UserID, u.NickName, l.CurrentAmount, l.ModifyAmount, l.StillAmount,
- l.Remark, l.IPAddress, CONVERT(CHAR(20), l.Crdate, 120) AS Crdate,
- ISNULL(p.PartnerName, LTRIM(STR(u.PartnerID))) AS PartnerName, l.TaxAmount
- FROM
- [List] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- LEFT JOIN [Partner] p ON u.PartnerID = p.PartnerID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_MoneyFlow_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_MoneyFlow_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2013-08-27
- -- Mendor: wolf
- -- Alter Date: 2015-09-08
- -- Description: 金币流量(游戏)
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_MoneyFlow_GetList]
- @GameID INT, --游戏ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- DECLARE @tmptable TABLE(
- DateFlag SMALLDATETIME NOT NULL, --时间标识
- GameID INT NOT NULL, --游戏ID
- Amount BIGINT NOT NULL, --金币
- Tax BIGINT NOT NULL --台费
- )
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --某个游戏
- IF(@GameID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- DateFlag, GameID, Amount, Tax
- )
- SELECT
- DateFlag, GameID, Amount, Tax
- FROM
- [MoneyFlow]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND GameID = @GameID
- END
-
- --所有游戏
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- DateFlag, GameID, Amount, Tax
- )
- SELECT
- DateFlag, GameID, Amount, Tax
- FROM
- [MoneyFlow]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime
- END
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY DateFlag DESC) AS RowNumber,
- DateFlag, GameID, Amount, Tax
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- CONVERT(CHAR(16), l.DateFlag, 120) AS DateFlag, g.ChineseName, l.Amount, l.Tax
- FROM
- [List] l INNER JOIN [AllGame] g ON l.GameID = g.GameID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_MoneyStat_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_MoneyStat_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-09
- -- Mendor: wolf
- -- Alter Date: 2014-12-22
- -- Description: 金币统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_MoneyStat_GetList]
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
-
- @Send BIGINT OUTPUT, --总发行
- @Consume BIGINT OUTPUT, --总消耗
-
- @GameSend BIGINT OUTPUT, --游戏发行
- @GameConsume BIGINT OUTPUT, --游戏消耗
- @GameDiff BIGINT OUTPUT, --游戏差额
-
- @Cash BIGINT OUTPUT, --金币总额
- @Bank BIGINT OUTPUT, --保险柜总额
- @YesterdayAmount BIGINT OUTPUT, --前日总额
- @CurrAmount BIGINT OUTPUT --当前总额
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Yesterday SMALLDATETIME --前日日期
- DECLARE @Today SMALLDATETIME --当前日期
-
- --表变量
- DECLARE @tmptable TABLE(
- LogType INT NOT NULL, --日志类型
- LogTypeName NVARCHAR(32) NOT NULL, --日志类型名称
- GameID INT NOT NULL, --游戏ID
- Amount BIGINT NOT NULL, --金额
- SendAmount BIGINT NOT NULL, --发行
- DelAmount BIGINT NOT NULL, --消耗
- DiffAmount BIGINT NOT NULL --游戏总额
- )
- --申请表变量
- DECLARE @tmpSum TABLE(
- GameID INT NOT NULL, --游戏ID
- SendAmount BIGINT NOT NULL, --发行
- DelAmount BIGINT NOT NULL, --消耗
- DiffAmount BIGINT NOT NULL --游戏总额
- )
- SET @Yesterday = CONVERT(CHAR(10), @BeginTime, 120)
- SET @Today = CONVERT(CHAR(10), @EndTime + 1, 120)
-
- --金币统计
- INSERT INTO @tmptable
- (
- LogType, LogTypeName, GameID, Amount, SendAmount, DelAmount, DiffAmount
- )
- SELECT
- LogType, '', 0, SUM(MoneySum), 0, 0, 0
- FROM
- [MoneyStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND UserID NOT IN (SELECT UserID FROM [MachineUser])
- GROUP BY
- LogType
- --获取类型名称、游戏ID
- UPDATE
- t
- SET
- t.LogTypeName = m.LogTypeName, t.GameID = m.GameID
- FROM
- @tmptable t INNER JOIN [MoneyLogType] m ON t.LogType = m.LogType
- --按游戏统计总额
- INSERT INTO @tmpSum
- (
- GameID, SendAmount, DelAmount, DiffAmount
- )
- SELECT
- GameID, ISNULL(SUM(CASE WHEN Amount > 0 THEN Amount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN Amount < 0 THEN Amount ELSE 0 END), 0), ISNULL(SUM(Amount), 0)
- FROM
- @tmptable
- GROUP BY
- GameID
- --获取游戏总计
- UPDATE
- l
- SET
- l.SendAmount = s.SendAmount, l.DelAmount = s.DelAmount, l.DiffAmount = s.DiffAmount
- FROM
- @tmptable l INNER JOIN @tmpSum s ON l.GameID = s.GameID
- --统计
- SELECT
- @Send = ISNULL(SUM(CASE WHEN Amount > 0 THEN Amount ELSE 0 END), 0), --总发行
- @Consume = ISNULL(SUM(CASE WHEN Amount < 0 THEN Amount ELSE 0 END), 0), --总消耗
-
- @GameSend = ISNULL(SUM(CASE WHEN GameID > 0 AND Amount > 0 THEN Amount ELSE 0 END), 0), --游戏发行
- @GameConsume = ISNULL(SUM(CASE WHEN GameID > 0 AND Amount < 0 THEN Amount ELSE 0 END), 0), --游戏消耗
- @GameDiff = ISNULL(SUM(CASE WHEN GameID > 0 THEN Amount ELSE 0 END), 0) --游戏差额
- FROM
- @tmptable
- --今天数据,实时统计
- IF(@EndTime >= CONVERT(CHAR(10), GETDATE(), 120))
- BEGIN
- --金币总额、存款总额
- SELECT @Cash = ISNULL(SUM(Amount), 0), @Bank = ISNULL(SUM(Bank), 0) FROM [Money] WHERE UserID NOT IN (SELECT UserID FROM [MachineUser])
- END
- --历史数据,取存量统计数据
- ELSE
- BEGIN
- --金币总额
- SELECT
- @Cash = TotalAmount, @Bank = TotalBank
- FROM
- [MoneyStatTotal]
- WHERE
- Crdate = @Today
- END
- --当前总存量
- SET @CurrAmount = @Cash + @Bank
- --前日总存量
- SELECT @YesterdayAmount = TotalAmount + TotalBank FROM [MoneyStatTotal] WHERE Crdate = @Yesterday
-
- --金币统计
- INSERT INTO @tmptable
- (
- LogType, LogTypeName, GameID, Amount, SendAmount, DelAmount, DiffAmount
- )
- SELECT
- (LogType / 100) * 100 + 24, N'游戏台费', LogType / 100, SUM(-TaxSum), 0, 0, 0
- FROM
- [MoneyStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND UserID NOT IN (SELECT UserID FROM [MachineUser]) AND TaxSum > 0 AND LogType > 100
- GROUP BY
- LogType / 100
- --返回信息
- SELECT
- t.LogType, t.LogTypeName, t.GameID, t.Amount,
- CASE WHEN t.GameID = 0 THEN N'游戏大厅' ELSE ISNULL(g.EnglishName, ISNULL(t.GameID, 0)) END AS ChineseName,
- t.SendAmount, t.DelAmount, t.DiffAmount
- FROM
- @tmptable t LEFT JOIN [AllGame] g ON t.GameID = g.GameID
- ORDER BY
- t.GameID ASC, t.Amount DESC, t.LogType ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_MoneyStatTotal_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RecordCount INT
- -- EXEC [Manage_MoneyStatTotal_GetList]
- -- @BeginTime = '',
- -- @EndTime = '',
- -- @PageIndex = 1,
- -- @PageSize = 10,
- -- @RecordCount = @RecordCount OUTPUT
- -- SELECT @RecordCount AS RecordCount
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-04
- -- Mendor: wolf
- -- Alter Date: 2015-11-06
- -- Description: 获取游戏库存量
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_MoneyStatTotal_GetList]
- @BeginTime DATETIME, --起始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --总记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --总记录数
- SELECT @RecordCount = (SELECT COUNT(Crdate) FROM [MoneyStatTotal] WHERE Crdate BETWEEN @BeginTime AND @EndTime)
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Crdate DESC) AS RowNumber,
- Crdate, TotalAmount, TotalBank
- FROM
- [MoneyStatTotal]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- )
-
- --返回信息:
- SELECT
- RowNumber, CONVERT(CHAR(16), Crdate, 120) AS Crdate, TotalAmount, TotalBank
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_MoneyStatTotal_GetListByDay] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RecordCount INT
- -- EXEC [Manage_MoneyStatTotal_GetListByDay]
- -- @BeginTime = '',
- -- @EndTime = '',
- -- @PageIndex = 1,
- -- @PageSize = 10,
- -- @RecordCount = @RecordCount OUTPUT
- -- SELECT @RecordCount AS RecordCount
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-04
- -- Mendor: wolf
- -- Alter Date: 2015-04-03
- -- Description: 获取游戏库存量
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_MoneyStatTotal_GetListByDay]
- @BeginTime DATETIME, --起始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --总记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --申请表变量
- DECLARE @tmptable TABLE(
- Crdate SMALLDATETIME NOT NULL,
- TotalAmount BIGINT NOT NULL, --当前总存量
- TotalBank BIGINT NOT NULL --当前保险柜存量
- )
-
- SET @EndTime = CONVERT(CHAR(11), @EndTime, 120) + '23:59:59'
-
- --初始化表变量
- INSERT INTO @tmptable
- (
- Crdate, TotalAmount, TotalBank
- )
- SELECT
- Crdate, TotalAmount, TotalBank
- FROM
- [MoneyStatTotal]
- WHERE
- Crdate IN (SELECT MAX(Crdate) FROM [MoneyStatTotal] WHERE Crdate BETWEEN @BeginTime AND @EndTime GROUP BY CONVERT(CHAR(10), Crdate, 120))
-
- --总记录数
- SELECT @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Crdate DESC) AS RowNumber,
- Crdate, TotalAmount, TotalBank, (TotalAmount + TotalBank) AS Total
- FROM
- @tmptable
- )
-
- --返回信息:
- SELECT
- RowNumber, CONVERT(CHAR(10), Crdate, 120) AS Crdate, TotalAmount, TotalBank, Total
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- RETURN
- END
-
- GO
- /****** Object: StoredProcedure [dbo].[Manage_MyMatch_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
-
- -- EXEC [Manage_MyMatch_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 用户比赛列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_MyMatch_GetList]
- @UserID INT, --用户ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- DECLARE @tmpTable TABLE(
- Rid INT NOT NULL, --标识
- UserID INT NOT NULL, --用户ID
- MatchName NVARCHAR(32) NOT NULL, --比赛名称
- Rank INT NOT NULL, --名次
- Items VARCHAR(128) NOT NULL, --道具
- Status SMALLINT NOT NULL, --状态(0=没有奖励 1=可领取 2=等待发放 3=已领取)
- Crdate VARCHAR(16) NOT NULL -- 时间
- )
-
- IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmpTable
- (
- Rid, UserID, MatchName, Rank, Items, Status, Crdate
- )
- SELECT
- Rid, UserID, MatchName, Rank, Items, Status, Crdate
- FROM
- [MyMatch]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
-
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmpTable
- (
- Rid, UserID, MatchName, Rank, Items, Status, Crdate
- )
- SELECT
- Rid, UserID, MatchName, Rank, Items, Status, Crdate
- FROM
- [MyMatch]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- END
-
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Rid DESC) AS RowNumber,
- Rid, UserID, MatchName, Rank, Items, Status, Crdate
- FROM
- @tmpTable
- )
-
- --返回信息
- SELECT
- l.Rid, l.UserID, u.NickName, l.MatchName, l.Rank, l.Items, l.Status,
- CONVERT(VARCHAR(16), l.Crdate, 120) AS Crdate
- FROM
- [List] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_NewUser_ConvertReport] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_NewUser_ConvertReport]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 注册用户转化报表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_NewUser_ConvertReport]
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME --截止时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RegUsers INT --注册用户数
- DECLARE @LoginUsers INT --登录用户数
- DECLARE @PlayUsers INT --游戏用户数
- DECLARE @VideoReqUsers INT --广告请求用户数
- DECLARE @VideoPlayUsers INT --广告播放用户数
- DECLARE @PayUsers INT --付费用户数
- DECLARE @RegBeginTime DATETIME --注册开始时间
- DECLARE @RegEndTime DATETIME --注册截止时间
- DECLARE @ActiveBeginTime DATETIME --活跃开始时间
- DECLARE @ActiveEndTime DATETIME --活跃截止时间
- DECLARE @tmptable TABLE(
- UserID INT NOT NULL --用户ID
- )
- SET @RegBeginTime = CONVERT(CHAR(10), @BeginTime, 120)
- SET @RegEndTime = CONVERT(CHAR(11), @BeginTime, 120) + '23:59:59'
-
- SET @ActiveBeginTime = CONVERT(CHAR(10), @EndTime, 120)
- SET @ActiveEndTime = CONVERT(CHAR(11), @EndTime, 120) + '23:59:59'
-
- INSERT INTO @tmptable(UserID)
- SELECT UserID FROM [AllUser] WHERE RegTime BETWEEN @RegBeginTime AND @RegEndTime AND UserID NOT IN (SELECT UserID FROM [MachineUser])
-
- --1、注册用户数
- SET @RegUsers = @@ROWCOUNT
-
- IF(@RegUsers <= 0)
- RETURN
- --2、登录用户数
- --3、游戏用户数
- SELECT
- @LoginUsers = COUNT(DISTINCT u.UserID),
- @PlayUsers = COUNT(DISTINCT(CASE WHEN u.PlaySeconds > 0 THEN u.UserID ELSE 0 END))
- FROM
- [UserDailyStat] u INNER JOIN @tmptable t ON u.UserID = t.UserID
- WHERE
- u.DateFlag BETWEEN @ActiveBeginTime AND @ActiveEndTime
-
-
- /*
- SELECT
- @PlayUsers = COUNT(DISTINCT d.UserID)
- FROM
- [DailyBetStat] d INNER JOIN @tmptable t ON d.UserID = t.UserID
- WHERE
- d.DateFlag BETWEEN @ActiveBeginTime AND @ActiveEndTime
- */
-
- --4、广告请求用户数、广告播放用户数
- SELECT
- @VideoReqUsers = COUNT(DISTINCT (CASE WHEN ReqTimes > 0 THEN UserID ELSE 0 END)),
- @VideoPlayUsers = COUNT(DISTINCT (CASE WHEN PlayTimes > 0 THEN UserID ELSE 0 END))
- FROM
- (
- SELECT
- u.UserID, u.ReqTimes, u.PlayTimes
- FROM
- [UserVideoStat] u INNER JOIN @tmptable t ON u.UserID = t.UserID
- WHERE
- u.DateFlag BETWEEN @ActiveBeginTime AND @ActiveEndTime
-
- UNION
-
- SELECT
- u.UserID, u.ReqTimes, u.PlayTimes
- FROM
- [UserVideoStatHistory] u INNER JOIN @tmptable t ON u.UserID = t.UserID
- WHERE
- u.DateFlag BETWEEN @ActiveBeginTime AND @ActiveEndTime
-
- ) t
-
- --5、付费用户数
- SELECT
- @PayUsers = COUNT(DISTINCT u.UserID)
- FROM
- [UserPayLog] u INNER JOIN @tmptable t ON u.UserID = t.UserID
- WHERE
- u.DateFlag BETWEEN @ActiveBeginTime AND @ActiveEndTime
-
- --返回信息
- SELECT
- ISNULL(@RegUsers, 0) AS RegUsers, ISNULL(@LoginUsers, 0) AS LoginUsers,
- ISNULL(@PlayUsers, 0) AS PlayUsers, ISNULL(@VideoReqUsers, 0) AS VideoReqUsers,
- ISNULL(@PayUsers , 0) AS PayUsers, ISNULL(@VideoPlayUsers, 0) AS VideoPlayUsers
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_OnlineStat_GetHourList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_OnlineStat_GetHourList]
- -- =============================================
- -- Author: wolf
- -- Create Date: 2016-09-23
- -- Mendor: wolf
- -- Alter Date: 2016-09-23
- -- Description: 后台管理--在线统计(小时)
- -- =============================================
- CREATE PROCEDURE [dbo].[Manage_OnlineStat_GetHourList]
- @GameID INT, --游戏ID
- @StartTime DATETIME, --开始时间
- @EndTime DATETIME --截止时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --在线统计(小时)
- DECLARE @tmpStat TABLE(
- GameID INT NOT NULL, --游戏ID
- Hour_0 INT NOT NULL, -- 0点
- Hour_1 INT NOT NULL, -- 1点
- Hour_2 INT NOT NULL, -- 2点
- Hour_3 INT NOT NULL, -- 3点
- Hour_4 INT NOT NULL, -- 4点
- Hour_5 INT NOT NULL, -- 5点
- Hour_6 INT NOT NULL, -- 6点
- Hour_7 INT NOT NULL, -- 7点
- Hour_8 INT NOT NULL, -- 8点
- Hour_9 INT NOT NULL, -- 9点
- Hour_10 INT NOT NULL, -- 10点
- Hour_11 INT NOT NULL, -- 11点
- Hour_12 INT NOT NULL, -- 12点
- Hour_13 INT NOT NULL, -- 13点
- Hour_14 INT NOT NULL, -- 14点
- Hour_15 INT NOT NULL, -- 15点
- Hour_16 INT NOT NULL, -- 16点
- Hour_17 INT NOT NULL, -- 17点
- Hour_18 INT NOT NULL, -- 18点
- Hour_19 INT NOT NULL, -- 19点
- Hour_20 INT NOT NULL, -- 20点
- Hour_21 INT NOT NULL, -- 21点
- Hour_22 INT NOT NULL, -- 22点
- Hour_23 INT NOT NULL -- 23点
- )
- --查询某个游戏
- IF(@GameID > 0)
- BEGIN
- --统计在线
- INSERT INTO @tmpStat
- (
- GameID, Hour_0, Hour_1, Hour_2, Hour_3, Hour_4, Hour_5, Hour_6, Hour_7, Hour_8,
- Hour_9, Hour_10, Hour_11, Hour_12, Hour_13, Hour_14, Hour_15, Hour_16,
- Hour_17, Hour_18, Hour_19, Hour_20, Hour_21, Hour_22, Hour_23
- )
- SELECT
- GameID, SUM(Hour_0) AS Hour_0, SUM(Hour_1) AS Hour_1, SUM(Hour_2) AS Hour_2, SUM(Hour_3) AS Hour_3,
- SUM(Hour_4) AS Hour_4, SUM(Hour_5) AS Hour_5, SUM(Hour_6) AS Hour_6, SUM(Hour_7) AS Hour_7, SUM(Hour_8) AS Hour_8,
- SUM(Hour_9) AS Hour_9, SUM(Hour_10) AS Hour_10, SUM(Hour_11) AS Hour_11, SUM(Hour_12) AS Hour_12, SUM(Hour_13) AS Hour_13,
- SUM(Hour_14) AS Hour_14, SUM(Hour_15) AS Hour_15, SUM(Hour_16) AS Hour_16, SUM(Hour_17) AS Hour_17, SUM(Hour_18) AS Hour_18,
- SUM(Hour_19) AS Hour_19, SUM(Hour_20) AS Hour_20, SUM(Hour_21) AS Hour_21, SUM(Hour_22) AS Hour_22, SUM(Hour_23) AS Hour_23
- FROM
- [OnlineStatHour]
- WHERE
- DateFlag BETWEEN @StartTime AND @EndTime AND GameID = @GameID
- GROUP BY
- GameID
- --返回信息
- SELECT
- g.EnglishName, Hour_0, Hour_1, Hour_2, Hour_3, Hour_4, Hour_5, Hour_6, Hour_7, Hour_8,
- Hour_9, Hour_10, Hour_11, Hour_12, Hour_13, Hour_14, Hour_15, Hour_16,
- Hour_17, Hour_18, Hour_19, Hour_20, Hour_21, Hour_22, Hour_23
- FROM
- @tmpStat t INNER JOIN [AllGame] g ON t.GameID = g.GameID
-
- RETURN
- END
-
- --统计在线
- INSERT INTO @tmpStat
- (
- GameID, Hour_0, Hour_1, Hour_2, Hour_3, Hour_4, Hour_5, Hour_6, Hour_7, Hour_8,
- Hour_9, Hour_10, Hour_11, Hour_12, Hour_13, Hour_14, Hour_15, Hour_16,
- Hour_17, Hour_18, Hour_19, Hour_20, Hour_21, Hour_22, Hour_23
- )
- SELECT
- GameID, SUM(Hour_0) AS Hour_0, SUM(Hour_1) AS Hour_1, SUM(Hour_2) AS Hour_2, SUM(Hour_3) AS Hour_3,
- SUM(Hour_4) AS Hour_4, SUM(Hour_5) AS Hour_5, SUM(Hour_6) AS Hour_6, SUM(Hour_7) AS Hour_7, SUM(Hour_8) AS Hour_8,
- SUM(Hour_9) AS Hour_9, SUM(Hour_10) AS Hour_10, SUM(Hour_11) AS Hour_11, SUM(Hour_12) AS Hour_12, SUM(Hour_13) AS Hour_13,
- SUM(Hour_14) AS Hour_14, SUM(Hour_15) AS Hour_15, SUM(Hour_16) AS Hour_16, SUM(Hour_17) AS Hour_17, SUM(Hour_18) AS Hour_18,
- SUM(Hour_19) AS Hour_19, SUM(Hour_20) AS Hour_20, SUM(Hour_21) AS Hour_21, SUM(Hour_22) AS Hour_22, SUM(Hour_23) AS Hour_23
- FROM
- [OnlineStatHour]
- WHERE
- DateFlag BETWEEN @StartTime AND @EndTime
- GROUP BY
- GameID
- --返回信息
- SELECT
- g.EnglishName, Hour_0, Hour_1, Hour_2, Hour_3, Hour_4, Hour_5, Hour_6, Hour_7, Hour_8,
- Hour_9, Hour_10, Hour_11, Hour_12, Hour_13, Hour_14, Hour_15, Hour_16,
- Hour_17, Hour_18, Hour_19, Hour_20, Hour_21, Hour_22, Hour_23
- FROM
- @tmpStat t INNER JOIN [AllGame] g ON t.GameID = g.GameID
- ORDER BY
- Hour_0 + Hour_1 + Hour_2 + Hour_3 + Hour_4 + Hour_5 + Hour_6 + Hour_7 + Hour_8 + Hour_9 + Hour_10 +
- Hour_11 + Hour_12 + Hour_13 + Hour_14 + Hour_15 + Hour_16 + Hour_17 + Hour_18 + Hour_19 + Hour_20 +
- Hour_21 + Hour_22 + Hour_23
- DESC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_OnlineStat_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RecordCount INT
- -- DECLARE @MaxCount INT
- -- DECLARE @MinCount INT
- -- DECLARE @AvgCount INT
- -- EXEC [Manage_OnlineStat_GetList]
- -- @PartnerID = 10001,
- -- @BeginTime = '',
- -- @EndTime = '',
- -- @PageIndex = 1,
- -- @PageSize = 10,
- -- @RecordCount = @RecordCount OUTPUT,
- -- @MaxCount = @MaxCount OUTPUT,
- -- @MinCount = @MinCount OUTPUT,
- -- @AvgCount = @AvgCount OUTPUT
- -- SELECT @RecordCount AS RecordCount, @MaxCount AS MaxCount, @MinCount AS MinCount, @AvgCount AS AvgCount
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-10-08
- -- Mendor: wolf
- -- Alter Date: 2016-11-02
- -- Description: 在线人数统计列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_OnlineStat_GetList]
- @PartnerID INT, --合作商ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --结束时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT, --总记录数
- @MaxCount INT OUTPUT, --最高数
- @MinCount INT OUTPUT, --最低数
- @AvgCount INT OUTPUT --平均数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartIndex INT --起始索引
- DECLARE @EndIndex INT --截止索引
- --创建临时表
- CREATE TABLE #tmptable(
- DateFlag SMALLDATETIME NOT NULL, --日期标志
- OnlineUserCount INT NOT NULL, --在线人数
- PartnerID INT NOT NULL, --合作商ID
- LastOnlineUserCount INT NOT NULL --昨天在线人数
- )
-
- --创建临时表
- CREATE TABLE #tmpLast(
- DateFlag SMALLDATETIME NOT NULL, --日期标志
- OnlineUserCount INT NOT NULL, --在线人数
- PartnerID INT NOT NULL --合作商ID
- )
- SET @StartIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndIndex = @PageIndex * @PageSize
- SET @RecordCount = 0
- SET @MaxCount = 0
- SET @MinCount = 0
- SET @AvgCount = 0
- --某个合作商
- IF(@PartnerID > 0)
- BEGIN
- --初始化临时表
- INSERT INTO #tmptable(DateFlag, OnlineUserCount, PartnerID, LastOnlineUserCount)
- SELECT TOP 1000
- DateFlag, OnlineUserCount, PartnerID, 0
- FROM
- [OnlineStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND PartnerID = @PartnerID
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- --初始化临时表
- INSERT INTO #tmpLast(DateFlag, OnlineUserCount, PartnerID)
- SELECT TOP 1000
- DateFlag + 1, OnlineUserCount, PartnerID
- FROM
- [OnlineStat]
- WHERE
- DateFlag BETWEEN @BeginTime - 1 AND @EndTime - 1 AND PartnerID = @PartnerID
- END
- ELSE
- BEGIN
- --初始化临时表
- INSERT INTO #tmptable(DateFlag, OnlineUserCount, PartnerID, LastOnlineUserCount)
- SELECT TOP 1000
- DateFlag, SUM(OnlineUserCount), 0, 0
- FROM
- [OnlineStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND PartnerID = -1
- GROUP BY
- DateFlag
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- --初始化临时表
- INSERT INTO #tmpLast(DateFlag, OnlineUserCount, PartnerID)
- SELECT TOP 1000
- DateFlag + 1, SUM(OnlineUserCount), 0
- FROM
- [OnlineStat]
- WHERE
- DateFlag BETWEEN @BeginTime - 1 AND @EndTime - 1 AND PartnerID = -1
- GROUP BY
- DateFlag
- END
- --计算最高人数、最低人数、平均人数
- SELECT
- @MaxCount = MAX(OnlineUserCount), @MinCount = MIN(OnlineUserCount), @AvgCount = AVG(OnlineUserCount)
- FROM
- #tmptable
-
- --获取昨天的人数统计
- UPDATE
- t
- SET
- t.LastOnlineUserCount = l.OnlineUserCount
- FROM
- #tmptable t INNER JOIN #tmpLast l ON t.DateFlag = l.DateFlag AND t.PartnerID = l.PartnerID
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY DateFlag DESC) AS RowNumber,
- DateFlag, OnlineUserCount, PartnerID, LastOnlineUserCount
- FROM
- #tmptable
- )
- --返回信息:日期标志(DateFlag)(datetime)、在线人数(OnlineUserCount)(int)
- SELECT
- DateFlag, l.OnlineUserCount, ISNULL(p.PartnerName, 'All channels') AS PartnerName, LastOnlineUserCount
- FROM
- [List] l LEFT JOIN [Partner] p ON l.PartnerID = p.PartnerID
- WHERE
- l.RowNumber BETWEEN @StartIndex AND @EndIndex
- ORDER BY
- l.RowNumber
- --删除临时表
- DROP TABLE #tmptable
- DROP TABLE #tmpLast
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_OnlineStat_GetListByDay] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RecordCount INT
- -- DECLARE @MaxCount INT
- -- DECLARE @MinCount INT
- -- DECLARE @AvgCount INT
- -- EXEC [Manage_OnlineStat_GetListByDay]
- -- @PartnerID = 10001,
- -- @BeginTime = '',
- -- @EndTime = '',
- -- @PageIndex = 1,
- -- @PageSize = 10,
- -- @RecordCount = @RecordCount OUTPUT,
- -- @MaxCount = @MaxCount OUTPUT,
- -- @MinCount = @MinCount OUTPUT,
- -- @AvgCount = @AvgCount OUTPUT
- -- SELECT @RecordCount AS RecordCount, @MaxCount AS MaxCount, @MinCount AS MinCount, @AvgCount AS AvgCount
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 每天在线人数统计列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_OnlineStat_GetListByDay]
- @PartnerID INT, --合作商ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --结束时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT, --总记录数
- @MaxCount INT OUTPUT, --最高数
- @MinCount INT OUTPUT, --最低数
- @AvgCount INT OUTPUT --平均数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartIndex INT --起始索引
- DECLARE @EndIndex INT --截止索引
- --创建临时表
- CREATE TABLE #tmptable(
- DateFlag DATETIME NOT NULL, --日期标志
- OnlineUserCount INT NOT NULL, --在线人数
- PartnerID INT NOT NULL, --合作商ID
- TimeFlag CHAR(5) NOT NULL --时间标志
- )
-
- CREATE TABLE #tmp(
- DateFlag DATETIME NOT NULL, --日期标志
- OnlineUserCount INT NOT NULL --在线标志
- )
- SET @StartIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndIndex = @PageIndex * @PageSize
- SET @RecordCount = 0
- SET @MaxCount = 0
- SET @MinCount = 0
- SET @AvgCount = 0
- SET @EndTime = CONVERT(CHAR(11), @EndTime, 120) + '23:59'
- --某个合作商
- IF(@PartnerID > 0)
- BEGIN
- --某个时间段的合作商在线人数加在一起
- INSERT INTO #tmp(DateFlag, OnlineUserCount)
- SELECT
- DateFlag, OnlineUserCount
- FROM
- [OnlineStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND PartnerID = @PartnerID
-
- --初始化临时表
- INSERT INTO #tmptable(DateFlag, OnlineUserCount, PartnerID, TimeFlag)
- SELECT
- CONVERT(CHAR(10), a.DateFlag, 120), MAX(a.OnlineUserCount), @PartnerID, MAX(a.TimeFlag)
- FROM
- (
- SELECT
- DateFlag, OnlineUserCount, CONVERT(CHAR(5), DateFlag, 108) AS TimeFlag
- FROM
- #tmp AS t
- WHERE
- OnlineUserCount = (SELECT MAX(OnlineUserCount) FROM #tmp WHERE CONVERT(CHAR(10), DateFlag, 120) = CONVERT(CHAR(10), t.DateFlag, 120))
- ) AS a
- GROUP BY
- CONVERT(CHAR(10), a.DateFlag, 120)
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
- END
- ELSE
- BEGIN
- --某个时间段的合作商在线人数加在一起
- INSERT INTO #tmp(DateFlag, OnlineUserCount)
- SELECT
- DateFlag, SUM(OnlineUserCount) AS OnlineUserCount
- FROM
- [OnlineStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND PartnerID = -1
- GROUP BY
- DateFlag
-
- --初始化临时表
- INSERT INTO #tmptable(DateFlag, OnlineUserCount, PartnerID, TimeFlag)
- SELECT
- CONVERT(CHAR(10), a.DateFlag, 120), MAX(a.OnlineUserCount), 0, MAX(a.TimeFlag)
- FROM
- (
- SELECT
- DateFlag, OnlineUserCount, CONVERT(CHAR(5), DateFlag, 108) AS TimeFlag
- FROM
- #tmp AS t
- WHERE
- OnlineUserCount = (SELECT MAX(OnlineUserCount) FROM #tmp WHERE CONVERT(CHAR(10), DateFlag, 120) = CONVERT(CHAR(10), t.DateFlag, 120))
- ) AS a
- GROUP BY
- CONVERT(CHAR(10), a.DateFlag, 120)
- --总记录数
- SET @RecordCount = @@ROWCOUNT
- END
-
- --删除临时表
- DROP TABLE #tmp
- --计算最高人数、最低人数、平均人数
- SELECT
- @MaxCount = MAX(OnlineUserCount), @MinCount = MIN(OnlineUserCount), @AvgCount = AVG(OnlineUserCount)
- FROM
- #tmptable
-
- SET @MaxCount = ISNULL(@MaxCount, 0)
- SET @MinCount = ISNULL(@MinCount, 0)
- SET @AvgCount = ISNULL(@AvgCount, 0)
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY DateFlag DESC) AS RowNumber,
- DateFlag, OnlineUserCount, PartnerID, TimeFlag
- FROM
- #tmptable
- )
- --返回信息:日期标志(DateFlag)(datetime)、在线人数(OnlineUserCount)(int)
- SELECT
- CONVERT(CHAR(10), l.DateFlag, 120) AS DateFlag, l.OnlineUserCount,
- ISNULL(p.PartnerName, N'所有渠道') AS PartnerName, l.TimeFlag
- FROM
- [List] l LEFT JOIN [Partner] p ON l.PartnerID = p.PartnerID
- WHERE
- l.RowNumber BETWEEN @StartIndex AND @EndIndex
- ORDER BY
- l.RowNumber
- --删除临时表
- DROP TABLE #tmptable
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_OnlineStat_GetReport] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_OnlineStat_GetReport]
- -- @BeginTime = '',
- -- @EndTime = '',
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 每天在线人数统计报表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_OnlineStat_GetReport]
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME --结束时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --表变量
- DECLARE @tmptable TABLE(
- DateFlag SMALLDATETIME NOT NULL, --日期标志
- Hour_0 INT NOT NULL, --0点
- Hour_1 INT NOT NULL, --1点
- Hour_2 INT NOT NULL, --2点
- Hour_3 INT NOT NULL, --3点
- Hour_4 INT NOT NULL, --4点
- Hour_5 INT NOT NULL, --5点
- Hour_6 INT NOT NULL, --6点
- Hour_7 INT NOT NULL, --7点
- Hour_8 INT NOT NULL, --8点
- Hour_9 INT NOT NULL, --9点
- Hour_10 INT NOT NULL, --10点
- Hour_11 INT NOT NULL, --11点
- Hour_12 INT NOT NULL, --12点
- Hour_13 INT NOT NULL, --13点
- Hour_14 INT NOT NULL, --14点
- Hour_15 INT NOT NULL, --15点
- Hour_16 INT NOT NULL, --16点
- Hour_17 INT NOT NULL, --17点
- Hour_18 INT NOT NULL, --18点
- Hour_19 INT NOT NULL, --19点
- Hour_20 INT NOT NULL, --20点
- Hour_21 INT NOT NULL, --21点
- Hour_22 INT NOT NULL, --22点
- Hour_23 INT NOT NULL --23点
- )
- SET @EndTime = CONVERT(CHAR(11), @EndTime, 120) + '23:59'
- --初始化表变量
- INSERT INTO @tmptable
- (
- DateFlag, Hour_0, Hour_1, Hour_2, Hour_3, Hour_4, Hour_5, Hour_6, Hour_7, Hour_8, Hour_9, Hour_10,
- Hour_11, Hour_12, Hour_13, Hour_14, Hour_15, Hour_16, Hour_17, Hour_18, Hour_19, Hour_20, Hour_21,
- Hour_22, Hour_23
- )
- SELECT
- CONVERT(CHAR(10), DateFlag, 120),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 0 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 1 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 2 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 3 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 4 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 5 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 6 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 7 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 8 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 9 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 10 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 11 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 12 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 13 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 14 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 15 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 16 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 17 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 18 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 19 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 20 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 21 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 22 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 23 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0)
- FROM
- [OnlineStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND PartnerID = -1
- GROUP BY
- CONVERT(CHAR(10), DateFlag, 120)
- --返回信息
- SELECT
- CONVERT(CHAR(10), DateFlag, 120) AS DateFlag, Hour_0, Hour_1, Hour_2, Hour_3, Hour_4, Hour_5, Hour_6, Hour_7, Hour_8, Hour_9, Hour_10, Hour_11,
- Hour_12, Hour_13, Hour_14, Hour_15, Hour_16, Hour_17, Hour_18, Hour_19, Hour_20, Hour_21, Hour_22, Hour_23
- FROM
- @tmptable
- ORDER BY
- DateFlag ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_OnlineStatChip_GetHourList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_OnlineStatChip_GetHourList]
- -- =============================================
- -- Author: wolf
- -- Create Date: 2016-09-23
- -- Mendor: wolf
- -- Alter Date: 2016-09-23
- -- Description: 后台管理--在线统计(小时)
- -- =============================================
- CREATE PROCEDURE [dbo].[Manage_OnlineStatChip_GetHourList]
- @GameID INT, --游戏ID
- @StartTime DATETIME, --开始时间
- @EndTime DATETIME --截止时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --在线统计(小时)
- DECLARE @tmpStat TABLE(
- GameID INT NOT NULL, --游戏ID
- Hour_0 INT NOT NULL, -- 0点
- Hour_1 INT NOT NULL, -- 1点
- Hour_2 INT NOT NULL, -- 2点
- Hour_3 INT NOT NULL, -- 3点
- Hour_4 INT NOT NULL, -- 4点
- Hour_5 INT NOT NULL, -- 5点
- Hour_6 INT NOT NULL, -- 6点
- Hour_7 INT NOT NULL, -- 7点
- Hour_8 INT NOT NULL, -- 8点
- Hour_9 INT NOT NULL, -- 9点
- Hour_10 INT NOT NULL, -- 10点
- Hour_11 INT NOT NULL, -- 11点
- Hour_12 INT NOT NULL, -- 12点
- Hour_13 INT NOT NULL, -- 13点
- Hour_14 INT NOT NULL, -- 14点
- Hour_15 INT NOT NULL, -- 15点
- Hour_16 INT NOT NULL, -- 16点
- Hour_17 INT NOT NULL, -- 17点
- Hour_18 INT NOT NULL, -- 18点
- Hour_19 INT NOT NULL, -- 19点
- Hour_20 INT NOT NULL, -- 20点
- Hour_21 INT NOT NULL, -- 21点
- Hour_22 INT NOT NULL, -- 22点
- Hour_23 INT NOT NULL -- 23点
- )
- --查询某个游戏
- IF(@GameID > 0)
- BEGIN
- --统计在线
- INSERT INTO @tmpStat
- (
- GameID, Hour_0, Hour_1, Hour_2, Hour_3, Hour_4, Hour_5, Hour_6, Hour_7, Hour_8,
- Hour_9, Hour_10, Hour_11, Hour_12, Hour_13, Hour_14, Hour_15, Hour_16,
- Hour_17, Hour_18, Hour_19, Hour_20, Hour_21, Hour_22, Hour_23
- )
- SELECT
- GameID, SUM(Hour_0) AS Hour_0, SUM(Hour_1) AS Hour_1, SUM(Hour_2) AS Hour_2, SUM(Hour_3) AS Hour_3,
- SUM(Hour_4) AS Hour_4, SUM(Hour_5) AS Hour_5, SUM(Hour_6) AS Hour_6, SUM(Hour_7) AS Hour_7, SUM(Hour_8) AS Hour_8,
- SUM(Hour_9) AS Hour_9, SUM(Hour_10) AS Hour_10, SUM(Hour_11) AS Hour_11, SUM(Hour_12) AS Hour_12, SUM(Hour_13) AS Hour_13,
- SUM(Hour_14) AS Hour_14, SUM(Hour_15) AS Hour_15, SUM(Hour_16) AS Hour_16, SUM(Hour_17) AS Hour_17, SUM(Hour_18) AS Hour_18,
- SUM(Hour_19) AS Hour_19, SUM(Hour_20) AS Hour_20, SUM(Hour_21) AS Hour_21, SUM(Hour_22) AS Hour_22, SUM(Hour_23) AS Hour_23
- FROM
- [OnlineStatHourChip]
- WHERE
- DateFlag BETWEEN @StartTime AND @EndTime AND GameID = @GameID
- GROUP BY
- GameID
- --返回信息
- SELECT
- g.ChineseName, Hour_0, Hour_1, Hour_2, Hour_3, Hour_4, Hour_5, Hour_6, Hour_7, Hour_8,
- Hour_9, Hour_10, Hour_11, Hour_12, Hour_13, Hour_14, Hour_15, Hour_16,
- Hour_17, Hour_18, Hour_19, Hour_20, Hour_21, Hour_22, Hour_23
- FROM
- @tmpStat t INNER JOIN [AllGame] g ON t.GameID = g.GameID
-
- RETURN
- END
-
- --统计在线
- INSERT INTO @tmpStat
- (
- GameID, Hour_0, Hour_1, Hour_2, Hour_3, Hour_4, Hour_5, Hour_6, Hour_7, Hour_8,
- Hour_9, Hour_10, Hour_11, Hour_12, Hour_13, Hour_14, Hour_15, Hour_16,
- Hour_17, Hour_18, Hour_19, Hour_20, Hour_21, Hour_22, Hour_23
- )
- SELECT
- GameID, SUM(Hour_0) AS Hour_0, SUM(Hour_1) AS Hour_1, SUM(Hour_2) AS Hour_2, SUM(Hour_3) AS Hour_3,
- SUM(Hour_4) AS Hour_4, SUM(Hour_5) AS Hour_5, SUM(Hour_6) AS Hour_6, SUM(Hour_7) AS Hour_7, SUM(Hour_8) AS Hour_8,
- SUM(Hour_9) AS Hour_9, SUM(Hour_10) AS Hour_10, SUM(Hour_11) AS Hour_11, SUM(Hour_12) AS Hour_12, SUM(Hour_13) AS Hour_13,
- SUM(Hour_14) AS Hour_14, SUM(Hour_15) AS Hour_15, SUM(Hour_16) AS Hour_16, SUM(Hour_17) AS Hour_17, SUM(Hour_18) AS Hour_18,
- SUM(Hour_19) AS Hour_19, SUM(Hour_20) AS Hour_20, SUM(Hour_21) AS Hour_21, SUM(Hour_22) AS Hour_22, SUM(Hour_23) AS Hour_23
- FROM
- [OnlineStatHourChip]
- WHERE
- DateFlag BETWEEN @StartTime AND @EndTime
- GROUP BY
- GameID
- --返回信息
- SELECT
- g.ChineseName, Hour_0, Hour_1, Hour_2, Hour_3, Hour_4, Hour_5, Hour_6, Hour_7, Hour_8,
- Hour_9, Hour_10, Hour_11, Hour_12, Hour_13, Hour_14, Hour_15, Hour_16,
- Hour_17, Hour_18, Hour_19, Hour_20, Hour_21, Hour_22, Hour_23
- FROM
- @tmpStat t INNER JOIN [AllGame] g ON t.GameID = g.GameID
- ORDER BY
- Hour_0 + Hour_1 + Hour_2 + Hour_3 + Hour_4 + Hour_5 + Hour_6 + Hour_7 + Hour_8 + Hour_9 + Hour_10 +
- Hour_11 + Hour_12 + Hour_13 + Hour_14 + Hour_15 + Hour_16 + Hour_17 + Hour_18 + Hour_19 + Hour_20 +
- Hour_21 + Hour_22 + Hour_23
- DESC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_OnlineStatChip_GetListByDay] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RecordCount INT
- -- DECLARE @MaxCount INT
- -- DECLARE @MinCount INT
- -- DECLARE @AvgCount INT
- -- EXEC [Manage_OnlineStatChip_GetListByDay]
- -- @PartnerID = 10001,
- -- @BeginTime = '',
- -- @EndTime = '',
- -- @PageIndex = 1,
- -- @PageSize = 10,
- -- @RecordCount = @RecordCount OUTPUT,
- -- @MaxCount = @MaxCount OUTPUT,
- -- @MinCount = @MinCount OUTPUT,
- -- @AvgCount = @AvgCount OUTPUT
- -- SELECT @RecordCount AS RecordCount, @MaxCount AS MaxCount, @MinCount AS MinCount, @AvgCount AS AvgCount
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 每天在线人数统计列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_OnlineStatChip_GetListByDay]
- @PartnerID INT, --合作商ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --结束时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT, --总记录数
- @MaxCount INT OUTPUT, --最高数
- @MinCount INT OUTPUT, --最低数
- @AvgCount INT OUTPUT --平均数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartIndex INT --起始索引
- DECLARE @EndIndex INT --截止索引
- --创建临时表
- CREATE TABLE #tmptable(
- DateFlag DATETIME NOT NULL, --日期标志
- OnlineUserCount INT NOT NULL, --在线人数
- PartnerID INT NOT NULL, --合作商ID
- TimeFlag CHAR(5) NOT NULL --时间标志
- )
-
- CREATE TABLE #tmp(
- DateFlag DATETIME NOT NULL, --日期标志
- OnlineUserCount INT NOT NULL --在线标志
- )
- SET @StartIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndIndex = @PageIndex * @PageSize
- SET @RecordCount = 0
- SET @MaxCount = 0
- SET @MinCount = 0
- SET @AvgCount = 0
- SET @EndTime = CONVERT(CHAR(11), @EndTime, 120) + '23:59'
- --某个合作商
- IF(@PartnerID > 0)
- BEGIN
- --某个时间段的合作商在线人数加在一起
- INSERT INTO #tmp(DateFlag, OnlineUserCount)
- SELECT
- DateFlag, OnlineUserCount
- FROM
- [OnlineStatChip]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND PartnerID = @PartnerID
-
- --初始化临时表
- INSERT INTO #tmptable(DateFlag, OnlineUserCount, PartnerID, TimeFlag)
- SELECT
- CONVERT(CHAR(10), a.DateFlag, 120), MAX(a.OnlineUserCount), @PartnerID, MAX(a.TimeFlag)
- FROM
- (
- SELECT
- DateFlag, OnlineUserCount, CONVERT(CHAR(5), DateFlag, 108) AS TimeFlag
- FROM
- #tmp AS t
- WHERE
- OnlineUserCount = (SELECT MAX(OnlineUserCount) FROM #tmp WHERE CONVERT(CHAR(10), DateFlag, 120) = CONVERT(CHAR(10), t.DateFlag, 120))
- ) AS a
- GROUP BY
- CONVERT(CHAR(10), a.DateFlag, 120)
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
- END
- ELSE
- BEGIN
- --某个时间段的合作商在线人数加在一起
- INSERT INTO #tmp(DateFlag, OnlineUserCount)
- SELECT
- DateFlag, SUM(OnlineUserCount) AS OnlineUserCount
- FROM
- [OnlineStatChip]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND PartnerID = -1
- GROUP BY
- DateFlag
-
- --初始化临时表
- INSERT INTO #tmptable(DateFlag, OnlineUserCount, PartnerID, TimeFlag)
- SELECT
- CONVERT(CHAR(10), a.DateFlag, 120), MAX(a.OnlineUserCount), 0, MAX(a.TimeFlag)
- FROM
- (
- SELECT
- DateFlag, OnlineUserCount, CONVERT(CHAR(5), DateFlag, 108) AS TimeFlag
- FROM
- #tmp AS t
- WHERE
- OnlineUserCount = (SELECT MAX(OnlineUserCount) FROM #tmp WHERE CONVERT(CHAR(10), DateFlag, 120) = CONVERT(CHAR(10), t.DateFlag, 120))
- ) AS a
- GROUP BY
- CONVERT(CHAR(10), a.DateFlag, 120)
- --总记录数
- SET @RecordCount = @@ROWCOUNT
- END
-
- --删除临时表
- DROP TABLE #tmp
- --计算最高人数、最低人数、平均人数
- SELECT
- @MaxCount = MAX(OnlineUserCount), @MinCount = MIN(OnlineUserCount), @AvgCount = AVG(OnlineUserCount)
- FROM
- #tmptable
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY DateFlag DESC) AS RowNumber,
- DateFlag, OnlineUserCount, PartnerID, TimeFlag
- FROM
- #tmptable
- )
- --返回信息:日期标志(DateFlag)(datetime)、在线人数(OnlineUserCount)(int)
- SELECT
- CONVERT(CHAR(10), l.DateFlag, 120) AS DateFlag, l.OnlineUserCount,
- ISNULL(p.PartnerName, N'所有渠道') AS PartnerName, l.TimeFlag
- FROM
- [List] l LEFT JOIN [Partner] p ON l.PartnerID = p.PartnerID
- WHERE
- l.RowNumber BETWEEN @StartIndex AND @EndIndex
- ORDER BY
- l.RowNumber
- --删除临时表
- DROP TABLE #tmptable
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_OnlineStatChip_GetReport] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_OnlineStatChip_GetReport]
- -- @BeginTime = '',
- -- @EndTime = '',
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 每天在线人数统计报表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_OnlineStatChip_GetReport]
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME --结束时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --表变量
- DECLARE @tmptable TABLE(
- DateFlag SMALLDATETIME NOT NULL, --日期标志
- Hour_0 INT NOT NULL, --0点
- Hour_1 INT NOT NULL, --1点
- Hour_2 INT NOT NULL, --2点
- Hour_3 INT NOT NULL, --3点
- Hour_4 INT NOT NULL, --4点
- Hour_5 INT NOT NULL, --5点
- Hour_6 INT NOT NULL, --6点
- Hour_7 INT NOT NULL, --7点
- Hour_8 INT NOT NULL, --8点
- Hour_9 INT NOT NULL, --9点
- Hour_10 INT NOT NULL, --10点
- Hour_11 INT NOT NULL, --11点
- Hour_12 INT NOT NULL, --12点
- Hour_13 INT NOT NULL, --13点
- Hour_14 INT NOT NULL, --14点
- Hour_15 INT NOT NULL, --15点
- Hour_16 INT NOT NULL, --16点
- Hour_17 INT NOT NULL, --17点
- Hour_18 INT NOT NULL, --18点
- Hour_19 INT NOT NULL, --19点
- Hour_20 INT NOT NULL, --20点
- Hour_21 INT NOT NULL, --21点
- Hour_22 INT NOT NULL, --22点
- Hour_23 INT NOT NULL --23点
- )
- SET @EndTime = CONVERT(CHAR(11), @EndTime, 120) + '23:59'
- --初始化表变量
- INSERT INTO @tmptable
- (
- DateFlag, Hour_0, Hour_1, Hour_2, Hour_3, Hour_4, Hour_5, Hour_6, Hour_7, Hour_8, Hour_9, Hour_10,
- Hour_11, Hour_12, Hour_13, Hour_14, Hour_15, Hour_16, Hour_17, Hour_18, Hour_19, Hour_20, Hour_21,
- Hour_22, Hour_23
- )
- SELECT
- CONVERT(CHAR(10), DateFlag, 120),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 0 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 1 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 2 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 3 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 4 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 5 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 6 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 7 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 8 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 9 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 10 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 11 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 12 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 13 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 14 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 15 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 16 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 17 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 18 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 19 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 20 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 21 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 22 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN DATEPART(HOUR, DateFlag) = 23 AND DATEPART(MINUTE, DateFlag) BETWEEN 0 AND 9 THEN OnlineUserCount ELSE 0 END), 0)
- FROM
- [OnlineStatChip]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND PartnerID = -1
- GROUP BY
- CONVERT(CHAR(10), DateFlag, 120)
- --返回信息
- SELECT
- CONVERT(CHAR(10), DateFlag, 120) AS DateFlag, Hour_0, Hour_1, Hour_2, Hour_3, Hour_4, Hour_5, Hour_6, Hour_7, Hour_8, Hour_9, Hour_10, Hour_11,
- Hour_12, Hour_13, Hour_14, Hour_15, Hour_16, Hour_17, Hour_18, Hour_19, Hour_20, Hour_21, Hour_22, Hour_23
- FROM
- @tmptable
- ORDER BY
- DateFlag ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_OnlineUser_GetReport] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_OnlineUser_GetReport]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 同时在线人数统计报表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_OnlineUser_GetReport]
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME --结束时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- CONVERT(CHAR(10), DateFlag, 120),
- SUM(Hour_0000) AS Hour_0000, SUM(Hour_0030) AS Hour_0030, SUM(Hour_0100) AS Hour_0100, SUM(Hour_0130) AS Hour_0130,
- SUM(Hour_0200) AS Hour_0200, SUM(Hour_0230) AS Hour_0230, SUM(Hour_0300) AS Hour_0300, SUM(Hour_0330) AS Hour_0330,
- SUM(Hour_0400) AS Hour_0400, SUM(Hour_0430) AS Hour_0430, SUM(Hour_0500) AS Hour_0500, SUM(Hour_0530) AS Hour_0530,
- SUM(Hour_0600) AS Hour_0600, SUM(Hour_0630) AS Hour_0630, SUM(Hour_0700) AS Hour_0700, SUM(Hour_0730) AS Hour_0730,
- SUM(Hour_0800) AS Hour_0800, SUM(Hour_0830) AS Hour_0830, SUM(Hour_0900) AS Hour_0900, SUM(Hour_0930) AS Hour_0930,
- SUM(Hour_1000) AS Hour_1000, SUM(Hour_1030) AS Hour_1030, SUM(Hour_1100) AS Hour_1100, SUM(Hour_1130) AS Hour_1130,
- SUM(Hour_1200) AS Hour_1200, SUM(Hour_1230) AS Hour_1230, SUM(Hour_1300) AS Hour_1300, SUM(Hour_1330) AS Hour_1330,
- SUM(Hour_1400) AS Hour_1400, SUM(Hour_1430) AS Hour_1430, SUM(Hour_1500) AS Hour_1500, SUM(Hour_1530) AS Hour_1530,
- SUM(Hour_1600) AS Hour_1600, SUM(Hour_1630) AS Hour_1630, SUM(Hour_1700) AS Hour_1700, SUM(Hour_1730) AS Hour_1730,
- SUM(Hour_1800) AS Hour_1800, SUM(Hour_1830) AS Hour_1830, SUM(Hour_1900) AS Hour_1900, SUM(Hour_1930) AS Hour_1930,
- SUM(Hour_2000) AS Hour_2000, SUM(Hour_2030) AS Hour_2030, SUM(Hour_2100) AS Hour_2100, SUM(Hour_2130) AS Hour_2130,
- SUM(Hour_2200) AS Hour_2200, SUM(Hour_2230) AS Hour_2230, SUM(Hour_2300) AS Hour_2300, SUM(Hour_2330) AS Hour_2330
- FROM
- [OnlineStatMin]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime
- GROUP BY
- CONVERT(CHAR(10), DateFlag, 120)
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_OnlineUserChip_GetReport] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_OnlineUserChip_GetReport]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 同时在线人数统计报表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_OnlineUserChip_GetReport]
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME --结束时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- CONVERT(CHAR(10), DateFlag, 120),
- SUM(Hour_0000) AS Hour_0000, SUM(Hour_0030) AS Hour_0030, SUM(Hour_0100) AS Hour_0100, SUM(Hour_0130) AS Hour_0130,
- SUM(Hour_0200) AS Hour_0200, SUM(Hour_0230) AS Hour_0230, SUM(Hour_0300) AS Hour_0300, SUM(Hour_0330) AS Hour_0330,
- SUM(Hour_0400) AS Hour_0400, SUM(Hour_0430) AS Hour_0430, SUM(Hour_0500) AS Hour_0500, SUM(Hour_0530) AS Hour_0530,
- SUM(Hour_0600) AS Hour_0600, SUM(Hour_0630) AS Hour_0630, SUM(Hour_0700) AS Hour_0700, SUM(Hour_0730) AS Hour_0730,
- SUM(Hour_0800) AS Hour_0800, SUM(Hour_0830) AS Hour_0830, SUM(Hour_0900) AS Hour_0900, SUM(Hour_0930) AS Hour_0930,
- SUM(Hour_1000) AS Hour_1000, SUM(Hour_1030) AS Hour_1030, SUM(Hour_1100) AS Hour_1100, SUM(Hour_1130) AS Hour_1130,
- SUM(Hour_1200) AS Hour_1200, SUM(Hour_1230) AS Hour_1230, SUM(Hour_1300) AS Hour_1300, SUM(Hour_1330) AS Hour_1330,
- SUM(Hour_1400) AS Hour_1400, SUM(Hour_1430) AS Hour_1430, SUM(Hour_1500) AS Hour_1500, SUM(Hour_1530) AS Hour_1530,
- SUM(Hour_1600) AS Hour_1600, SUM(Hour_1630) AS Hour_1630, SUM(Hour_1700) AS Hour_1700, SUM(Hour_1730) AS Hour_1730,
- SUM(Hour_1800) AS Hour_1800, SUM(Hour_1830) AS Hour_1830, SUM(Hour_1900) AS Hour_1900, SUM(Hour_1930) AS Hour_1930,
- SUM(Hour_2000) AS Hour_2000, SUM(Hour_2030) AS Hour_2030, SUM(Hour_2100) AS Hour_2100, SUM(Hour_2130) AS Hour_2130,
- SUM(Hour_2200) AS Hour_2200, SUM(Hour_2230) AS Hour_2230, SUM(Hour_2300) AS Hour_2300, SUM(Hour_2330) AS Hour_2330
- FROM
- [OnlineStatMinChip]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime
- GROUP BY
- CONVERT(CHAR(10), DateFlag, 120)
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_OOrder_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_OOrder_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2022-11-07
- -- Description: CrushPay--获取订单列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_OOrder_GetList]
- @UserID INT, --用户ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT, --总记录数
- @TotalRMBMoney INT OUTPUT, --成功充值数
- @UserCount INT OUTPUT --下订单用户数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --创建临时表
- DECLARE @tmptable TABLE(
- OrderID VARCHAR(32) NOT NULL, --订单号
- TradeID VARCHAR(64) NOT NULL, --交易号
- UserID INT NOT NULL, --用户ID
- ProductID VARCHAR(32) NOT NULL, --产品ID
- Price DECIMAL(18, 2) NOT NULL, --价格
- GetStatus TINYINT NOT NULL, --状态
- PartnerID INT NOT NULL, --渠道ID
- IPAddress VARCHAR(16) NOT NULL, --IP地址
- Crdate DATETIME NOT NULL --时间
- )
- --用户ID查询
- IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- )
- SELECT
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- FROM
- [OOrder]
- WHERE
- UserID = @UserID AND Crdate BETWEEN @BeginTime AND @EndTime
- ORDER BY
- Crdate DESC
- END
-
- --所有订单
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- )
- SELECT
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- FROM
- [OOrder]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- ORDER BY
- Crdate DESC
- END
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- --成功充值总额
- SET @TotalRMBMoney = ISNULL((SELECT SUM(Price) FROM @tmptable WHERE GetStatus = 1), 0)
-
- SET @UserCount = ISNULL((SELECT COUNT(DISTINCT UserID) FROM @tmptable), 0)
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Crdate DESC) AS RowNumber,
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- l.OrderID, l.TradeID, l.UserID, ISNULL(u.NickName, '') AS NickName, l.ProductID, l.Price, l.GetStatus,
- ISNULL(p.PartnerName, LTRIM(STR(l.PartnerID))) AS PartnerName, l.IPAddress,
- CONVERT(CHAR(20), l.Crdate, 120) AS Crdate
- FROM
- [List] l LEFT JOIN [AllUser] u ON l.UserID = u.UserID
- LEFT JOIN [Partner] p ON l.PartnerID = p.PartnerID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Partner_Add] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RetCode TINYINT
- -- EXEC [Manage_Partner_Add]
- -- @OpUserID = 1,
- -- @OpUserName = '',
- -- @PartnerID = 1,
- -- @PartnerName = '',
- -- @PrePartnerID = 1,
- -- @IPAddress = '',
- -- @RetCode = @RetCode OUTPUT
- -- SELECT @RetCode AS RetCode
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-06-26
- -- Mendor: wolf
- -- Alter Date: 2016-04-22
- -- Description: 添加渠道
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Partner_Add]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @PartnerID INT, --渠道ID
- @PartnerName NVARCHAR(32), --渠道名称
- @PrePartnerID INT, --父渠道ID
- @IPAddress VARCHAR(16), --IP地址
- @EnglishName VARCHAR(32), --游戏英文名
- @RetCode TINYINT OUTPUT --操作结果
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
-
- SET @RetCode = 0
-
- --判断是否存在
- IF EXISTS(SELECT PartnerID FROM [Partner] WHERE PartnerID = @PartnerID)
- BEGIN
- SET @RetCode = 11
- RETURN
- END
-
- --添加渠道
- INSERT INTO [Partner]
- (
- PartnerID, PartnerName, PrePartnerID, EnglishName
- )
- VALUES
- (
- @PartnerID, @PartnerName, @PrePartnerID, @EnglishName
- )
-
- SET @Msg = N'Add channel successfully, @PartnerID=' + LTRIM(STR(@PartnerID)) + ',@PartnerName=' + @PartnerName + ',@PrePartnerID=' + LTRIM(STR(@PrePartnerID))
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress
-
- SET @RetCode = 1
- RETURN
- END
-
-
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Partner_Del] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RetCode TINYINT
- -- EXEC [Manage_Partner_Del]
- -- @OpUserID = 1,
- -- @OpUserName = '',
- -- @PartnerID = 1,
- -- @IPAddress = '',
- -- @RetCode = @RetCode OUTPUT
- -- SELECT @RetCode AS RetCode
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-06-26
- -- Mendor: wolf
- -- Alter Date: 2016-04-08
- -- Description: 删除渠道
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Partner_Del]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @PartnerID INT, --渠道ID
- @IPAddress VARCHAR(16), --IP地址
- @RetCode TINYINT OUTPUT --操作结果
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @PartnerName NVARCHAR(32) --渠道名称
- DECLARE @PrePartnerID INT --父渠道ID
-
- SET @RetCode = 0
-
- --渠道信息
- SELECT @PartnerName = PartnerName, @PrePartnerID = PrePartnerID FROM [Partner] WHERE PartnerID = @PartnerID
-
- --判断是否存在
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 11
- RETURN
- END
-
- --删除渠道
- DELETE FROM [Partner] WHERE PartnerID = @PartnerID
-
- SET @Msg = N'Delete channel succeeded, @PartnerID=' + LTRIM(STR(@PartnerID)) + ',@PartnerName=' + @PartnerName + ',@PrePartnerID=' + LTRIM(STR(@PrePartnerID))
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress
-
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Partner_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Partner_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-12
- -- Mendor: wolf
- -- Alter Date: 2016-04-22
- -- Description: 合作商列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Partner_GetList]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息;合作商ID(PartnerID)(int)、合作商名称(PartnerName)(varchar(32))
- SELECT PartnerID, PartnerName, PrePartnerID, EnglishName FROM [Partner] ORDER BY PartnerID ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Pay_GetChannelList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RecordCount INT
- -- DECLARE @TotalRMBMoney DECIMAL(10, 2)
- -- DECLARE @UserCount INT
- -- DECLARE @CurrRMBMoney DECIMAL(10, 2)
- -- EXEC [Manage_Pay_GetChannelList]
- -- @PartnerID = 1,
- -- @BeginTime = '',
- -- @EndTime = '',
- -- @PageIndex = 1,
- -- @PageSize = 10,
- -- @RecordCount = @RecordCount OUTPUT,
- -- @TotalRMBMoney = @TotalRMBMoney OUTPUT,
- -- @UserCount = @UserCount OUTPUT,
- -- @CurrRMBMoney = @CurrRMBMoney OUTPUT
- -- SELECT @RecordCount AS RecordCount, @TotalRMBMoney AS TotalRMBMoney,
- -- @UserCount AS UserCount, @CurrRMBMoney AS CurrRMBMoney
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-11-13
- -- Mendor: wolf
- -- Alter Date: 2016-08-05
- -- Description: 游戏充值--获取各渠道充值列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Pay_GetChannelList]
- @PartnerID INT, --合作商ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT, --总记录数
- @TotalRMBMoney DECIMAL(18, 2) OUTPUT, --成功充值数
- @UserCount INT OUTPUT, --充值用户数
- @CurrRMBMoney DECIMAL(18, 2) OUTPUT --今天充值总额
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- --申请表变量
- DECLARE @tmpPay TABLE(
- PartnerID INT NOT NULL, --合作商ID
- DateFlag VARCHAR(10) NOT NULL, --日期标志
- TotalRMBMoney DECIMAL(18, 2) NOT NULL, --充值总额
- TotalUserCount INT NOT NULL --充值用户数(除去重复的)
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- SET @EndTime = CONVERT(CHAR(11), @EndTime, 120) + '23:59:59'
- SET @UserCount = 0
- SET @RecordCount = 0
- SET @CurrRMBMoney = 0
-
- --创建临时表
- CREATE TABLE #tmptable(
- PartnerID INT NOT NULL, --合作商ID
- Crdate DATETIME NOT NULL, --充值时间
- UserID INT NOT NULL, --用户ID
- Price DECIMAL(18, 2) NOT NULL --交易金额
- )
-
- --根据渠道统计
- IF(@PartnerID > 0)
- BEGIN
- INSERT INTO #tmptable
- (
- PartnerID, Crdate, UserID, Price
- )
-
- --AppStore
- SELECT
- PartnerID, Crdate, UserID, Price
- FROM
- [VerifySuccessLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND PartnerID = @PartnerID AND IsSandBox = 0
-
- UNION ALL
-
- --GooglePay
- SELECT
- PartnerID, Crdate, UserID, Price
- FROM
- [GoogleSuccessLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND PartnerID = @PartnerID
-
- UNION ALL
-
- --croPay
- SELECT
- PartnerID, Crdate, UserID, Price
- FROM
- [CroPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND PartnerID = @PartnerID
-
- UNION ALL
-
- --DingpeiPay
- SELECT
- PartnerID, Crdate, UserID, Price
- FROM
- [DingpeiPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND PartnerID = @PartnerID
-
- UNION ALL
-
- --CrushPay
- SELECT
- PartnerID, Crdate, UserID, Price
- FROM
- [CrushPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND PartnerID = @PartnerID
-
- UNION ALL
-
- --PayerMaxPay
- SELECT
- PartnerID, Crdate, UserID, Price
- FROM
- [PayerMaxPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND PartnerID = @PartnerID
-
- UNION ALL
-
- --OPay
- SELECT
- PartnerID, Crdate, UserID, Price
- FROM
- [OPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND PartnerID = @PartnerID
-
- UNION ALL
-
- --huaweiPay
- SELECT
- PartnerID, Crdate, UserID, Price
- FROM
- [huaweiPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND PartnerID = @PartnerID
- END
-
- --所有
- ELSE
- BEGIN
- INSERT INTO #tmptable
- (
- PartnerID, Crdate, UserID, Price
- )
- --苹果充值
- SELECT
- PartnerID, Crdate, UserID, Price
- FROM
- [VerifySuccessLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND IsSandBox = 0
-
- UNION ALL
-
- --GooglePay
- SELECT
- PartnerID, Crdate, UserID, Price
- FROM
- [GoogleSuccessLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
-
- UNION ALL
-
- --croPay
- SELECT
- PartnerID, Crdate, UserID, Price
- FROM
- [CroPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
-
- UNION ALL
-
- --DingpeiPay
- SELECT
- PartnerID, Crdate, UserID, Price
- FROM
- [DingpeiPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
-
- UNION ALL
-
- --CrushPay
- SELECT
- PartnerID, Crdate, UserID, Price
- FROM
- [CrushPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
-
- UNION ALL
-
- --PayerMaxPay
- SELECT
- PartnerID, Crdate, UserID, Price
- FROM
- [PayerMaxPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
-
- UNION ALL
-
- --OPay
- SELECT
- PartnerID, Crdate, UserID, Price
- FROM
- [OPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
-
- UNION ALL
-
- --ManualPay
- SELECT
- 0, Crdate, UserID, Price
- FROM
- [ManualPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
-
- UNION ALL
-
- --huawei
- SELECT
- PartnerID, Crdate, UserID, Price
- FROM
- [huaweiPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- END
-
- --成功充值总额
- SET @TotalRMBMoney = ISNULL((SELECT SUM(Price) FROM #tmptable), 0)
- SET @TotalRMBMOney = CAST(@TotalRMBMOney / 1.00 AS DECIMAL(18, 2))
-
- SET @UserCount = ISNULL((SELECT COUNT(DISTINCT UserID) FROM #tmptable), 0)
-
- SET @CurrRMBMoney = ISNULL((SELECT SUM(Price) FROM #tmptable WHERE Crdate >= CONVERT(CHAR(10), GETDATE(), 120)), 0)
- SET @CurrRMBMoney = CAST(@CurrRMBMoney / 1.00 AS DECIMAL(18, 2))
-
- --初始化表变量
- INSERT INTO @tmpPay
- (
- PartnerID, DateFlag, TotalRMBMoney, TotalUserCount
- )
- SELECT
- PartnerID, CONVERT(CHAR(10), Crdate, 120), SUM(Price), COUNT(DISTINCT UserID)
- FROM
- #tmptable
- GROUP BY
- PartnerID, CONVERT(CHAR(10), Crdate, 120)
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY DateFlag DESC, TotalRMBMoney DESC) AS RowNumber,
- PartnerID, DateFlag, TotalRMBMoney, TotalUserCount
- FROM
- @tmpPay
- )
-
- --返回信息:充值渠道名称(PayName)(varchar)、日期(DateFlag)(smalldatetime)、充值额度(RMBMoney)(decimal)、
- -- 下订单用户数(UserCount)(int)、付费用户数(PayUserCount)(int)
- SELECT
- l.DateFlag, CAST(l.TotalRMBMoney / 1.00 AS DECIMAL(10, 2)) AS RMBMoney,
- l.TotalUserCount AS PayUserCount, CAST(l.TotalRMBMoney / 1.00 / l.TotalUserCount AS DECIMAL(10, 2)) AS ARPU,
- ISNULL(p.PartnerName, N'所有渠道') AS PartnerName
- FROM
- [List] l LEFT JOIN [Partner] p ON l.PartnerID = p.PartnerID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- --删除临时表
- DROP TABLE #tmptable
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Pay_GetChipListByDay] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RecordCount INT
- -- EXEC [Manage_Pay_GetChipListByDay]
- -- @BeginTime = '',
- -- @EndTime = '',
- -- @PageIndex = 1,
- -- @PageSize = 10,
- -- @RecordCount = @RecordCount OUTPUT
- -- SELECT @RecordCount AS RecordCount
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-02-06
- -- Mendor: wolf
- -- Alter Date: 2016-09-11
- -- Description: 游戏充值--日充值总额
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Pay_GetChipListByDay]
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT, --总记录数
- @TotalRMBMoney BIGINT OUTPUT, --成功充值数
- @UserCount INT OUTPUT, --充值用户数
- @CurrRMBMoney BIGINT OUTPUT --今天充值总额
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- --申请表变量
- DECLARE @tmpPay TABLE(
- DateFlag SMALLDATETIME NOT NULL, --日期标志
- TotalRMBMoney DECIMAL(18, 2) NOT NULL, --充值总额
- TotalUserCount INT NOT NULL --充值用户数(除去重复的)
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- SET @UserCount = 0
- SET @RecordCount = 0
- SET @EndTime = CONVERT(CHAR(11), @EndTime, 120) + '23:59:59'
-
- --创建临时表
- CREATE TABLE #tmptable(
- Crdate SMALLDATETIME NOT NULL, --充值时间
- UserID INT NOT NULL, --用户ID
- Price DECIMAL(18, 2) NOT NULL --交易金额
- )
-
- --微信充值
- INSERT INTO #tmptable
- (
- Crdate, UserID, Price
- )
- SELECT
- g.Crdate, g.UserID, g.Price
- FROM
- [GoogleSuccessLog] g INNER JOIN [DiamondMall] d ON g.ProductID = d.ProductID AND d.ShopType = 2
- WHERE
- g.Crdate BETWEEN @BeginTime AND @EndTime
-
- UNION ALL
-
- SELECT
- Crdate, UserID, Price
- FROM
- [Flashpay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
-
- UNION ALL
-
- SELECT
- Crdate, UserID, Price
- FROM
- [Kayapay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
-
- UNION ALL
-
- SELECT
- m.Crdate, m.UserID, m.Price
- FROM
- [ManualPay] m INNER JOIN [DiamondMall] d ON m.ProductID = d.ProductID AND d.ShopType = 2
- WHERE
- m.Crdate BETWEEN @BeginTime AND @EndTime
- --成功充值总额
- SET @TotalRMBMoney = ISNULL((SELECT SUM(Price) FROM #tmptable), 0)
-
- SET @UserCount = ISNULL((SELECT COUNT(DISTINCT UserID) FROM #tmptable), 0)
-
- SET @CurrRMBMoney = ISNULL((SELECT SUM(Price) FROM #tmptable WHERE Crdate >= CONVERT(CHAR(10), @EndTime, 120)), 0)
-
- --初始化表变量
- INSERT INTO @tmpPay
- (
- DateFlag, TotalRMBMoney, TotalUserCount
- )
- SELECT
- CONVERT(CHAR(10), Crdate, 120), SUM(Price), COUNT(DISTINCT UserID)
- FROM
- #tmptable
- GROUP BY
- CONVERT(CHAR(10), Crdate, 120)
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY DateFlag DESC, TotalRMBMoney DESC) AS RowNumber,
- DateFlag, TotalRMBMoney, TotalUserCount
- FROM
- @tmpPay
- )
-
- --返回信息:充值渠道名称(PayName)(varchar)、日期(DateFlag)(smalldatetime)、充值额度(RMBMoney)(decimal)、
- -- 下订单用户数(UserCount)(int)、付费用户数(PayUserCount)(int)
- SELECT
- CONVERT(CHAR(10), DateFlag, 120) AS DateFlag, TotalRMBMoney AS RMBMoney,
- TotalUserCount AS PayUserCount, CAST(TotalRMBMoney / 1.00 / TotalUserCount AS DECIMAL(10, 2)) AS ARPU
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- --删除临时表
- DROP TABLE #tmptable
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Pay_GetChipLog] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Pay_GetChipLog]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-09
- -- Mendor: wolf
- -- Alter Date: 2014-12-22
- -- Description: google充值日志
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Pay_GetChipLog]
- @PayID INT, --充值渠道ID
- @UserID INT, --用户ID
- @BeginTime DATETIME, --起始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT, --记录数
- @TotalAmount BIGINT OUTPUT --充值总额
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
- --表变量
- DECLARE @tmptable TABLE(
- OrderID VARCHAR(256) NOT NULL, --订单
- PayChannel VARCHAR(16) NOT NULL, --充值渠道
- UserID INT NOT NULL, --用户ID
- ProductID VARCHAR(32) NOT NULL, --产品ID
- Price DECIMAL(18, 2) NOT NULL, --充值金额
- Crdate DATETIME NOT NULL, --时间
- IPAddress VARCHAR(16) NOT NULL --IP地址
- )
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- SET @RecordCount = 0
-
- --查询某个账号
- IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, PayChannel, UserID, ProductID, Price, Crdate, IPAddress
- )
- SELECT
- g.Token, 'GooglePay', g.UserID, g.ProductID, g.Price, g.Crdate, g.IPAddress
- FROM
- [GoogleSuccessLog] g INNER JOIN [DiamondMall] d ON g.ProductID = d.ProductID AND d.ShopType = 2
- WHERE
- g.Crdate BETWEEN @BeginTime AND @EndTime AND g.UserID = @UserID
- END
- --查询所有
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, PayChannel, UserID, ProductID, Price, Crdate, IPAddress
- )
- SELECT
- g.Token, 'GooglePay', g.UserID, g.ProductID, g.Price, g.Crdate, g.IPAddress
- FROM
- [GoogleSuccessLog] g INNER JOIN [DiamondMall] d ON g.ProductID = d.ProductID AND d.ShopType = 2
- WHERE
- g.Crdate BETWEEN @BeginTime AND @EndTime
- END
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
- --统计总额
- SELECT @TotalAmount = ISNULL(SUM(Price), 0) FROM @tmptable
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Crdate DESC) AS RowNumber,
- OrderID, PayChannel, UserID, ProductID, Price, Crdate, IPAddress
- FROM
- @tmptable
- )
- --返回信息
- SELECT
- l.OrderID, l.PayChannel, l.UserID, u.NickName, l.ProductID, l.Price,
- CONVERT(CHAR(20), l.Crdate, 120) AS Crdate, l.IPAddress
- FROM
- [List] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Pay_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RecordCount INT
- -- EXEC [Manage_Pay_GetList]
- -- @BeginTime = '',
- -- @EndTime = '',
- -- @PageIndex = 1,
- -- @PageSize = 10,
- -- @RecordCount = @RecordCount OUTPUT
- -- SELECT @RecordCount AS RecordCount
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-04-23
- -- Mendor: wolf
- -- Alter Date: 2016-09-11
- -- Description: 游戏充值--获取各渠道充值列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Pay_GetList]
- @PayID INT, --充值渠道ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT, --总记录数
- @TotalRMBMoney DECIMAL(18, 2) OUTPUT, --成功充值数
- @UserCount INT OUTPUT, --充值用户数
- @CurrRMBMoney DECIMAL(18, 2) OUTPUT --今天充值总额
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- --申请表变量
- DECLARE @tmpPay TABLE(
- PayID INT NOT NULL, --充值渠道ID
- DateFlag SMALLDATETIME NOT NULL, --日期标志
- TotalRMBMoney DECIMAL(18, 2) NOT NULL, --充值总额
- TotalUserCount INT NOT NULL --充值用户数(除去重复的)
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- SET @UserCount = 0
- SET @RecordCount = 0
- SET @EndTime = CONVERT(CHAR(11), @EndTime, 120) + '23:59:59'
-
- --表变量
- DECLARE @tmptable TABLE(
- PayID INT NOT NULL, --充值渠道ID
- Crdate DATETIME NOT NULL, --充值时间
- UserID INT NOT NULL, --用户ID
- Price DECIMAL(18, 2) NOT NULL --交易金额
- )
-
- --1=Google
- IF(@PayID IN (0, 1))
- BEGIN
- INSERT INTO @tmptable(
- PayID, Crdate, UserID, Price
- )
- SELECT
- 1, Crdate, UserID, Price
- FROM
- [GoogleSuccessLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- END
-
- --2=AppStore
- IF(@PayID IN (0, 2))
- BEGIN
- INSERT INTO @tmptable
- (
- PayID, Crdate, UserID, Price
- )
- SELECT
- 2, Crdate, UserID, Price
- FROM
- [VerifySuccessLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND IsSandBox = 0
- END
-
- --3=CroPay
- IF(@PayID IN (0, 3))
- BEGIN
- INSERT INTO @tmptable
- (
- PayID, Crdate, UserID, Price
- )
- SELECT
- 3, Crdate, UserID, Price
- FROM
- [CroPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- END
-
- --6=DingpeiPay
- IF(@PayID IN (0, 6))
- BEGIN
- INSERT INTO @tmptable
- (
- PayID, Crdate, UserID, Price
- )
- SELECT
- 6, Crdate, UserID, Price
- FROM
- [DingpeiPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- END
-
- --7=CrushPay
- IF(@PayID IN (0, 7))
- BEGIN
- INSERT INTO @tmptable
- (
- PayID, Crdate, UserID, Price
- )
- SELECT
- 7, Crdate, UserID, Price
- FROM
- [CrushPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- END
-
- --8=PayerMaxPay
- IF(@PayID IN (0, 8))
- BEGIN
- INSERT INTO @tmptable
- (
- PayID, Crdate, UserID, Price
- )
- SELECT
- 8, Crdate, UserID, Price
- FROM
- [PayerMaxPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- END
-
- --9=OPay
- IF(@PayID IN (0, 9))
- BEGIN
- INSERT INTO @tmptable
- (
- PayID, Crdate, UserID, Price
- )
- SELECT
- 9, Crdate, UserID, Price
- FROM
- [OPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- END
-
- --10=华为
- IF(@PayID IN (0, 10))
- BEGIN
- INSERT INTO @tmptable
- (
- PayID, Crdate, UserID, Price
- )
- SELECT
- 10, Crdate, UserID, Price
- FROM
- [huaweiPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- END
-
- --99=手动补单
- IF(@PayID IN (0, 99))
- BEGIN
- INSERT INTO @tmptable
- (
- PayID, Crdate, UserID, Price
- )
- SELECT
- 99, Crdate, UserID, Price
- FROM
- [ManualPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- END
- --成功充值总额
- SET @TotalRMBMoney = ISNULL((SELECT SUM(Price) FROM @tmptable), 0)
-
- SET @UserCount = ISNULL((SELECT COUNT(DISTINCT UserID) FROM @tmptable), 0)
-
- SET @CurrRMBMoney = ISNULL((SELECT SUM(Price) FROM @tmptable WHERE Crdate >= CONVERT(CHAR(10), @EndTime, 120)), 0)
-
- --初始化表变量
- INSERT INTO @tmpPay
- (
- PayID, DateFlag, TotalRMBMoney, TotalUserCount
- )
- SELECT
- PayID, CONVERT(CHAR(10), Crdate, 120), SUM(Price), COUNT(DISTINCT UserID)
- FROM
- @tmptable
- GROUP BY
- PayID, CONVERT(CHAR(10), Crdate, 120)
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY DateFlag DESC, TotalRMBMoney DESC) AS RowNumber,
- PayID, DateFlag, TotalRMBMoney, TotalUserCount
- FROM
- @tmpPay
- )
-
- --返回信息:充值渠道名称(PayName)(varchar)、日期(DateFlag)(smalldatetime)、充值额度(RMBMoney)(decimal)、
- -- 下订单用户数(UserCount)(int)、付费用户数(PayUserCount)(int)
- SELECT
- CASE
- WHEN PayID = 0 THEN N'所有渠道'
- WHEN PayID = 1 THEN N'GooglePay'
- WHEN PayID = 2 THEN N'AppStore'
- WHEN PayID = 3 THEN N'CroPay'
- WHEN PayID = 6 THEN N'Dingpei'
- WHEN PayID = 7 THEN N'CrushPay'
- WHEN PayID = 8 THEN N'PayerMaxPay'
- WHEN PayID = 9 THEN N'OPay'
- WHEN PayID = 10 THEN N'华为支付'
- WHEN PayID = 99 THEN N'手动补单'
- ELSE ''
- END AS PayName, CONVERT(CHAR(10), DateFlag, 120) AS DateFlag,
- TotalRMBMoney AS RMBMoney, TotalUserCount AS PayUserCount,
- CAST(TotalRMBMoney / 1.00 / TotalUserCount AS DECIMAL(10, 2)) AS ARPU
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Pay_GetListByDay] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RecordCount INT
- -- EXEC [Manage_Pay_GetListByDay]
- -- @BeginTime = '',
- -- @EndTime = '',
- -- @PageIndex = 1,
- -- @PageSize = 10,
- -- @RecordCount = @RecordCount OUTPUT
- -- SELECT @RecordCount AS RecordCount
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-02-06
- -- Mendor: wolf
- -- Alter Date: 2016-09-11
- -- Description: 游戏充值--日充值总额
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Pay_GetListByDay]
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT, --总记录数
- @TotalRMBMoney DECIMAL(18, 2) OUTPUT, --成功充值数
- @UserCount INT OUTPUT, --充值用户数
- @CurrRMBMoney DECIMAL(18, 2) OUTPUT --今天充值总额
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- --申请表变量
- DECLARE @tmpPay TABLE(
- DateFlag SMALLDATETIME NOT NULL, --日期标志
- TotalRMBMoney DECIMAL(18, 2) NOT NULL, --充值总额
- TotalUserCount INT NOT NULL --充值用户数(除去重复的)
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- SET @UserCount = 0
- SET @RecordCount = 0
- SET @EndTime = CONVERT(CHAR(11), @EndTime, 120) + '23:59:59'
-
- --创建临时表
- CREATE TABLE #tmptable(
- Crdate SMALLDATETIME NOT NULL, --充值时间
- UserID INT NOT NULL, --用户ID
- Price DECIMAL(18, 2) NOT NULL --交易金额
- )
-
- --微信充值
- INSERT INTO #tmptable
- (
- Crdate, UserID, Price
- )
- SELECT
- Crdate, UserID, Price
- FROM
- [VerifySuccessLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND IsSandBox = 0
-
- UNION ALL
-
- SELECT
- Crdate, UserID, Price
- FROM
- [GoogleSuccessLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
-
- UNION ALL
-
- SELECT
- Crdate, UserID, Price
- FROM
- [CroPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
-
- UNION ALL
-
- SELECT
- Crdate, UserID, Price
- FROM
- [DingpeiPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
-
- UNION ALL
-
- SELECT
- Crdate, UserID, Price
- FROM
- [CrushPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
-
- UNION ALL
-
- SELECT
- Crdate, UserID, Price
- FROM
- [PayerMaxPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
-
- UNION ALL
-
- SELECT
- Crdate, UserID, Price
- FROM
- [OPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
-
- UNION ALL
-
- SELECT
- Crdate, UserID, Price
- FROM
- [huaweiPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
-
- UNION ALL
-
- SELECT
- Crdate, UserID, Price
- FROM
- [ManualPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- --成功充值总额
- SET @TotalRMBMoney = ISNULL((SELECT SUM(Price) FROM #tmptable), 0)
-
- SET @UserCount = ISNULL((SELECT COUNT(DISTINCT UserID) FROM #tmptable), 0)
-
- SET @CurrRMBMoney = ISNULL((SELECT SUM(Price) FROM #tmptable WHERE Crdate >= CONVERT(CHAR(10), @EndTime, 120)), 0)
-
- --初始化表变量
- INSERT INTO @tmpPay
- (
- DateFlag, TotalRMBMoney, TotalUserCount
- )
- SELECT
- CONVERT(CHAR(10), Crdate, 120), SUM(Price), COUNT(DISTINCT UserID)
- FROM
- #tmptable
- GROUP BY
- CONVERT(CHAR(10), Crdate, 120)
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY DateFlag DESC, TotalRMBMoney DESC) AS RowNumber,
- DateFlag, TotalRMBMoney, TotalUserCount
- FROM
- @tmpPay
- )
-
- --返回信息:充值渠道名称(PayName)(varchar)、日期(DateFlag)(smalldatetime)、充值额度(RMBMoney)(decimal)、
- -- 下订单用户数(UserCount)(int)、付费用户数(PayUserCount)(int)
- SELECT
- CONVERT(CHAR(10), DateFlag, 120) AS DateFlag, TotalRMBMoney AS RMBMoney,
- TotalUserCount AS PayUserCount, CAST(TotalRMBMoney / 1.00 / TotalUserCount AS DECIMAL(10, 2)) AS ARPU
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- --删除临时表
- DROP TABLE #tmptable
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Pay_GetLog] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Pay_GetLog]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-09
- -- Mendor: wolf
- -- Alter Date: 2014-12-22
- -- Description: 充值日志
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Pay_GetLog]
- @PayID INT, --充值渠道ID
- @UserID INT, --用户ID
- @BeginTime DATETIME, --起始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT, --记录数
- @TotalAmount DECIMAL(18, 2) OUTPUT --充值总额
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
- --表变量
- DECLARE @tmptable TABLE(
- OrderID VARCHAR(256) NOT NULL, --订单
- PayChannel NVARCHAR(32) NOT NULL, --充值渠道
- UserID INT NOT NULL, --用户ID
- ProductID VARCHAR(32) NOT NULL, --产品ID
- Price DECIMAL(18, 2) NOT NULL, --充值金额
- Crdate DATETIME NOT NULL, --时间
- IPAddress VARCHAR(16) NOT NULL --IP地址
- )
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- SET @RecordCount = 0
-
- --查询某个账号
- IF(@UserID > 0)
- BEGIN
- --1=GooglePay
- IF(@PayID IN (0, 1))
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, PayChannel, UserID, ProductID, Price, Crdate, IPAddress
- )
- SELECT
- Token, N'GooglePay', UserID, ProductID, Price, Crdate, IPAddress
- FROM
- [GoogleSuccessLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
-
- --记录数
- SET @RecordCount = @@ROWCOUNT + @RecordCount
- END
-
- --2=AppStore
- IF(@PayID IN (0, 2))
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, PayChannel, UserID, ProductID, Price, Crdate, IPAddress
- )
- SELECT
- TransactionID, N'AppStore', UserID, ProductID, Price, Crdate, IPAddress
- FROM
- [VerifySuccessLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID AND IsSandBox = 0
-
- --记录数
- SET @RecordCount = @@ROWCOUNT + @RecordCount
- END
-
- --3=CroPay
- IF(@PayID IN (0, 3))
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, PayChannel, UserID, ProductID, Price, Crdate, IPAddress
- )
- SELECT
- TradeID, N'CroPay', UserID, ProductID, Price, Crdate, IPAddress
- FROM
- [CroPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
-
- --记录数
- SET @RecordCount = @@ROWCOUNT + @RecordCount
- END
-
- --6=DingpeiPay
- IF(@PayID IN (0, 6))
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, PayChannel, UserID, ProductID, Price, Crdate, IPAddress
- )
- SELECT
- TradeID, N'DingpeiPay', UserID, ProductID, Price, Crdate, IPAddress
- FROM
- [DingpeiPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
-
- --记录数
- SET @RecordCount = @@ROWCOUNT + @RecordCount
- END
-
- --7=CrushPay
- IF(@PayID IN (0, 7))
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, PayChannel, UserID, ProductID, Price, Crdate, IPAddress
- )
- SELECT
- TradeID, N'CrushPay', UserID, ProductID, Price, Crdate, IPAddress
- FROM
- [CrushPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
-
- --记录数
- SET @RecordCount = @@ROWCOUNT + @RecordCount
- END
-
- --8=PayerMaxPay
- IF(@PayID IN (0, 8))
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, PayChannel, UserID, ProductID, Price, Crdate, IPAddress
- )
- SELECT
- TradeID, N'PayerMaxPay', UserID, ProductID, Price, Crdate, IPAddress
- FROM
- [PayerMaxPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
-
- --记录数
- SET @RecordCount = @@ROWCOUNT + @RecordCount
- END
-
- --9=OPay
- IF(@PayID IN (0, 9))
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, PayChannel, UserID, ProductID, Price, Crdate, IPAddress
- )
- SELECT
- TradeID, N'OPay', UserID, ProductID, Price, Crdate, IPAddress
- FROM
- [OPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
-
- --记录数
- SET @RecordCount = @@ROWCOUNT + @RecordCount
- END
-
- --10=华为
- IF(@PayID IN (0, 10))
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, PayChannel, UserID, ProductID, Price, Crdate, IPAddress
- )
- SELECT
- TradeID, N'华为支付', UserID, ProductID, Price, Crdate, IPAddress
- FROM
- [huaweiPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
-
- --记录数
- SET @RecordCount = @@ROWCOUNT + @RecordCount
- END
-
- --99=手动补单
- IF(@PayID IN (0, 99))
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, PayChannel, UserID, ProductID, Price, Crdate, IPAddress
- )
- SELECT
- OrderID, N'手动补单', UserID, ProductID, Price, Crdate, '127.0.0.1'
- FROM
- [ManualPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
-
- --记录数
- SET @RecordCount = @@ROWCOUNT + @RecordCount
- END
- END
- --查询所有
- ELSE
- BEGIN
- --1=GooglePay
- IF(@PayID IN (0, 1))
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, PayChannel, UserID, ProductID, Price, Crdate, IPAddress
- )
- SELECT
- Token, N'GooglePay', UserID, ProductID, Price, Crdate, IPAddress
- FROM
- [GoogleSuccessLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
-
- --记录数
- SET @RecordCount = @@ROWCOUNT + @RecordCount
- END
-
- --2=AppStore
- IF(@PayID IN (0, 2))
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, PayChannel, UserID, ProductID, Price, Crdate, IPAddress
- )
- SELECT
- TransactionID, N'AppStore', UserID, ProductID, Price, Crdate, IPAddress
- FROM
- [VerifySuccessLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND IsSandBox = 0
-
- --记录数
- SET @RecordCount = @@ROWCOUNT + @RecordCount
- END
-
- --3=CroPay
- IF(@PayID IN (0, 3))
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, PayChannel, UserID, ProductID, Price, Crdate, IPAddress
- )
- SELECT
- TradeID, N'CroPay', UserID, ProductID, Price, Crdate, IPAddress
- FROM
- [CroPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
-
- --记录数
- SET @RecordCount = @@ROWCOUNT + @RecordCount
- END
-
- --6=DingpeiPay
- IF(@PayID IN (0, 6))
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, PayChannel, UserID, ProductID, Price, Crdate, IPAddress
- )
- SELECT
- TradeID, N'DingpeiPay', UserID, ProductID, Price, Crdate, IPAddress
- FROM
- [DingpeiPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
-
- --记录数
- SET @RecordCount = @@ROWCOUNT + @RecordCount
- END
-
- --7=CrushPay
- IF(@PayID IN (0, 7))
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, PayChannel, UserID, ProductID, Price, Crdate, IPAddress
- )
- SELECT
- TradeID, N'CrushPay', UserID, ProductID, Price, Crdate, IPAddress
- FROM
- [CrushPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
-
- --记录数
- SET @RecordCount = @@ROWCOUNT + @RecordCount
- END
-
- --8=PayerMaxPay
- IF(@PayID IN (0, 8))
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, PayChannel, UserID, ProductID, Price, Crdate, IPAddress
- )
- SELECT
- TradeID, N'PayerMaxPay', UserID, ProductID, Price, Crdate, IPAddress
- FROM
- [PayerMaxPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
-
- --记录数
- SET @RecordCount = @@ROWCOUNT + @RecordCount
- END
-
- --9=OPay
- IF(@PayID IN (0, 9))
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, PayChannel, UserID, ProductID, Price, Crdate, IPAddress
- )
- SELECT
- TradeID, N'OPay', UserID, ProductID, Price, Crdate, IPAddress
- FROM
- [OPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
-
- --记录数
- SET @RecordCount = @@ROWCOUNT + @RecordCount
- END
-
- --10=华为支付
- IF(@PayID IN (0, 10))
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, PayChannel, UserID, ProductID, Price, Crdate, IPAddress
- )
- SELECT
- TradeID, N'华为支付', UserID, ProductID, Price, Crdate, IPAddress
- FROM
- [huaweiPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
-
- --记录数
- SET @RecordCount = @@ROWCOUNT + @RecordCount
- END
-
- --99=手动补单
- IF(@PayID IN (0, 99))
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, PayChannel, UserID, ProductID, Price, Crdate, IPAddress
- )
- SELECT
- OrderID, N'手动补单', UserID, ProductID, Price, Crdate, '127.0.0.1'
- FROM
- [ManualPay]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
-
- --记录数
- SET @RecordCount = @@ROWCOUNT + @RecordCount
- END
- END
- --统计总额
- SELECT @TotalAmount = ISNULL(SUM(Price), 0) FROM @tmptable
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Crdate DESC) AS RowNumber,
- OrderID, PayChannel, UserID, ProductID, Price, Crdate, IPAddress
- FROM
- @tmptable
- )
- --返回信息
- SELECT
- l.OrderID, l.PayChannel, l.UserID, u.NickName, l.ProductID, l.Price,
- CONVERT(CHAR(20), l.Crdate, 120) AS Crdate, l.IPAddress
- FROM
- [List] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Pay_GetRank] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Pay_GetRank]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-09
- -- Mendor: wolf
- -- Alter Date: 2014-12-22
- -- Description: 充值排行
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Pay_GetRank]
- @BeginTime DATETIME, --起始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- --表变量
- DECLARE @tmptable TABLE(
- UserID INT NOT NULL, --用户ID
- TotalAmount DECIMAL(18, 2) NOT NULL --金额
- )
- --初始化表变量
- INSERT INTO @tmptable(UserID, TotalAmount)
- SELECT
- UserID, SUM(RMBMoney)
- FROM
- [UserPayLog]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime
- GROUP BY
- UserID
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY TotalAmount DESC) AS RowNumber,
- UserID, TotalAmount
- FROM
- @tmptable
- )
- --返回信息
- SELECT
- t.RowNumber, t.UserID, u.NickName, t.TotalAmount
- FROM
- [List] t INNER JOIN [AllUser] u ON t.UserID = u.UserID
- WHERE
- t.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- t.RowNumber ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Pay_GetUserList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Pay_GetUserList]
- -- =============================================
- -- Author: wolf
- -- Create Date: 2016-10-21
- -- Mendor: wolf
- -- Alter Date: 2016-10-21
- -- Description: 后台用户充值列表
- -- =============================================
- CREATE PROCEDURE [dbo].[Manage_Pay_GetUserList]
- @DateFlag SMALLDATETIME, --日期标识
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
- --创建临时表
- DECLARE @tmptable TABLE(
- UserID INT NOT NULL, --用户ID
- Amount BIGINT NOT NULL, --金币
- VipLevel INT NOT NULL, --VIP等级
- RMBMoney DECIMAL(18, 2) NOT NULL --充值金额
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --初始化表变量
- INSERT INTO @tmptable
- (
- UserID, Amount, VipLevel, RMBMoney
- )
- SELECT
- UserID, 0, 0, RMBMoney
- FROM
- [UserPayLog]
- WHERE
- DateFlag = @DateFlag
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- --获取金豆信息
- UPDATE t SET t.Amount = m.Amount FROM @tmptable t INNER JOIN [Money] m ON t.UserID = m.UserID
-
- --获取vip
- UPDATE t SET t.VipLevel = v.VipLevel FROM @tmptable t INNER JOIN [UserVip] v ON t.UserID = v.UserID
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY RMBMoney DESC) AS RowNumber,
- UserID, Amount, VIPLevel, RMBMoney
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- l.RowNumber, l.UserID, u.NickName, l.Amount, l.VIPLevel, l.RMBMoney, u.PayMoney,
- CONVERT(CHAR(23), u.RegTime, 120) AS RegTime, u.RegIP,
- CONVERT(CHAR(23), u.LoginTime, 120) AS LoginTime
- FROM
- [List] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_PayerMaxOrder_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_PayerMaxOrder_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2022-11-07
- -- Description: PayerMaxPay--获取订单列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_PayerMaxOrder_GetList]
- @UserID INT, --用户ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT, --总记录数
- @TotalRMBMoney INT OUTPUT, --成功充值数
- @UserCount INT OUTPUT --下订单用户数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --创建临时表
- DECLARE @tmptable TABLE(
- OrderID VARCHAR(32) NOT NULL, --订单号
- TradeID VARCHAR(64) NOT NULL, --交易号
- UserID INT NOT NULL, --用户ID
- ProductID VARCHAR(32) NOT NULL, --产品ID
- Price DECIMAL(18, 2) NOT NULL, --价格
- GetStatus TINYINT NOT NULL, --状态
- PartnerID INT NOT NULL, --渠道ID
- IPAddress VARCHAR(16) NOT NULL, --IP地址
- Crdate DATETIME NOT NULL --时间
- )
- --用户ID查询
- IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- )
- SELECT
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- FROM
- [PayerMaxOrder]
- WHERE
- UserID = @UserID AND Crdate BETWEEN @BeginTime AND @EndTime
- ORDER BY
- Crdate DESC
- END
-
- --所有订单
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- )
- SELECT
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- FROM
- [PayerMaxOrder]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- ORDER BY
- Crdate DESC
- END
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- --成功充值总额
- SET @TotalRMBMoney = ISNULL((SELECT SUM(Price) FROM @tmptable WHERE GetStatus = 1), 0)
-
- SET @UserCount = ISNULL((SELECT COUNT(DISTINCT UserID) FROM @tmptable), 0)
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Crdate DESC) AS RowNumber,
- OrderID, TradeID, UserID, ProductID, Price, GetStatus, PartnerID, IPAddress, Crdate
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- l.OrderID, l.TradeID, l.UserID, ISNULL(u.NickName, '') AS NickName, l.ProductID, l.Price, l.GetStatus,
- ISNULL(p.PartnerName, LTRIM(STR(l.PartnerID))) AS PartnerName, l.IPAddress,
- CONVERT(CHAR(20), l.Crdate, 120) AS Crdate
- FROM
- [List] l LEFT JOIN [AllUser] u ON l.UserID = u.UserID
- LEFT JOIN [Partner] p ON l.PartnerID = p.PartnerID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_PayStat_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RecordCount INT
- -- EXEC [Manage_PayStat_GetList]
- -- @BeginTime = '',
- -- @EndTime = '',
- -- @PageIndex = 1,
- -- @PageSize = 10,
- -- @RecordCount = @RecordCount OUTPUT
- -- SELECT @RecordCount AS RecordCount
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-11-17
- -- Mendor: wolf
- -- Alter Date: 2016-11-17
- -- Description: 充值统计列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_PayStat_GetList]
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --结束时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --总记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartIndex INT --起始索引
- DECLARE @EndIndex INT --截止索引
- --创建临时表
- CREATE TABLE #tmptable(
- DateFlag SMALLDATETIME NOT NULL, --日期标志
- RMBMoney DECIMAL(18, 2) NOT NULL, --充值金额
- UserCount INT NOT NULL, --充值用户数(除去重复的)
- LastRMBMoney DECIMAL(18, 2) NOT NULL, --昨天充值金额
- LastUserCount INT NOT NULL --昨天充值用户数(除去重复的)
- )
-
- --创建临时表
- CREATE TABLE #tmpLast(
- DateFlag SMALLDATETIME NOT NULL, --日期标志
- RMBMoney DECIMAL(18, 2) NOT NULL, --充值金额
- UserCount INT NOT NULL --充值用户数(除去重复的)
- )
- SET @StartIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndIndex = @PageIndex * @PageSize
- SET @RecordCount = 0
-
- --初始化临时表
- INSERT INTO #tmptable(DateFlag, RMBMoney, UserCount, LastRMBMoney, LastUserCount)
- SELECT
- DateFlag, SUM(RMBMoney), SUM(UserCount), 0, 0
- FROM
- [PayStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime
- GROUP BY
- DateFlag
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- --初始化临时表
- INSERT INTO #tmpLast(DateFlag, RMBMoney, UserCount)
- SELECT
- DateFlag, SUM(RMBMoney), SUM(UserCount)
- FROM
- [PayStat]
- WHERE
- DateFlag BETWEEN @BeginTime - 1 AND @EndTime - 1
- GROUP BY
- DateFlag
-
- --获取昨天的充值统计
- UPDATE
- t
- SET
- t.LastRMBMoney = l.RMBMoney, t.LastUserCount = l.UserCount
- FROM
- #tmptable t INNER JOIN #tmpLast l ON t.DateFlag = l.DateFlag + 1
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY DateFlag DESC) AS RowNumber,
- DateFlag, RMBMoney, UserCount, LastRMBMoney, LastUserCount
- FROM
- #tmptable
- )
- --返回信息:日期标志(DateFlag)(datetime)
- SELECT
- CONVERT(CHAR(16), DateFlag, 120) AS DateFlag,
- RMBMoney, UserCount, LastRMBMoney, LastUserCount
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartIndex AND @EndIndex
- ORDER BY
- RowNumber
- --删除临时表
- DROP TABLE #tmptable
- DROP TABLE #tmpLast
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_PlatformConfig_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_PlatformConfig_GetInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-03-13
- -- Mendor: wolf
- -- Alter Date: 2017-02-16
- -- Description: 获取平台配置信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_PlatformConfig_GetInfo]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- RegGoldSend, DailyTransferAmount, BindFacebook, BindMobile, UpgradeAPK, IsCouponTask
- FROM
- [PlatformConfig]
- WHERE
- ConfigID = 1
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_PlatformConfig_Update] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_PlatformConfig_Update]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-03-13
- -- Mendor: wolf
- -- Alter Date: 2017-02-16
- -- Description: 修改平台配置信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_PlatformConfig_Update]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @RegGoldSend INT, --注册赠送金币
- @DailyTransferAmount BIGINT, --日转账限额
- @BindFacebook INT, --绑定Facebook
- @BindMobile INT, --绑定手机号
- @UpgradeAPK INT, --升级APK
- @IPAddress VARCHAR(16), --IP地址
- @RetCode TINYINT OUTPUT --操作结果
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @CurrRegGoldSend INT
-
- SET @RetCode = 0
-
- --更新
- UPDATE
- [PlatformConfig]
- SET
- RegGoldSend = @RegGoldSend, DailyTransferAmount = @DailyTransferAmount, BindFacebook = @BindFacebook,
- BindMobile = @BindMobile, UpgradeAPK = @UpgradeAPK,
- @CurrRegGoldSend = RegGoldSend
- WHERE
- ConfigID = 1
-
- SET @Msg = N'修改平台配置信息,RegGoldSend=' + CAST(@RegGoldSend AS VARCHAR(32))
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress, @Type = 1
-
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_PlatformInfo_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_PlatformInfo_GetList]
- -- @PartnerID = 0
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-09-07
- -- Mendor: wolf
- -- Alter Date: 2015-11-12
- -- Description: 获取平台信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_PlatformInfo_GetList]
- @PartnerID INT --渠道
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --获取某渠道信息
- IF(@PartnerID >= 0)
- BEGIN
- --返回信息:渠道ID(PartnerID)(int)、版本(Version)(varchar(16))、下载(Download)(varchar(128))
- SELECT
- PartnerID, Version, Download, ApplePartnerID, ProductStart
- FROM
- [PlatformInfo]
- WHERE
- PartnerID = @PartnerID
-
- RETURN
- END
-
- --返回信息:渠道ID(PartnerID)(int)、版本(Version)(varchar(16))、下载(Download)(varchar(128))
- SELECT
- PartnerID, Version, Download, ApplePartnerID, ProductStart
- FROM
- [PlatformInfo]
- ORDER BY
- PartnerID ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_PlatformInfo_Update] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_PlatformInfo_Update]
- -- @OpUserID = 1,
- -- @OpUserName = '',
- -- @PartnerID = 1,
- -- @Version = '',
- -- @IPAddress = ''
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-09-07
- -- Mendor: wolf
- -- Alter Date: 2015-09-07
- -- Description: 平台信息修改
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_PlatformInfo_Update]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员
- @PartnerID INT, --渠道
- @Version VARCHAR(16), --版本号
- @IPAddress VARCHAR(16), --IP地址
- @Download VARCHAR(128) --下载地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
-
- --修改当前游戏版本号
- UPDATE
- [PlatformInfo]
- SET
- Version = @Version, Download = @Download
- WHERE
- PartnerID = @PartnerID
-
- SET @Msg = N'Modify platform information, @PartnerID=' + LTRIM(STR(@PartnerID)) + ',@Version=' + @Version + ',@Download=' + @Download
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_PrivateRoom_GetChairHistory] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_PrivateRoom_GetChairHistory]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 私人场椅子历史
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_PrivateRoom_GetChairHistory]
- @RoomID BIGINT --房间ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- c.ChairNo, c.UserID, u.NickName, c.Fee, c.Tax, c.AwardAmount, c.Score
- FROM
- [ChairHistory] c LEFT JOIN [AllUser] u ON c.UserID = u.UserID
- WHERE
- c.RoomID = @RoomID
- ORDER BY
- c.ChairNo ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_PrivateRoom_GetHistoryList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_PrivateRoom_GetHistoryList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 私人场历史
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_PrivateRoom_GetHistoryList]
- @UserID INT, --用户ID
- @OwnerUserID INT, --创建者
- @GameID INT, --游戏ID
- @RoomNo VARCHAR(32), --房间号
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- --变量用户
- DECLARE @tmpRoom TABLE(
- RoomID BIGINT NOT NULL --房间ID
- )
-
- --表变量
- DECLARE @tmptable TABLE(
- RoomID BIGINT NOT NULL, --标识
- RoomNo VARCHAR(32) NOT NULL, --房间号
- GameID INT NOT NULL, --游戏ID
- OwnerUserID INT NOT NULL, --创建者
- BeginTime DATETIME NOT NULL, --开始时间
- EndTime DATETIME NOT NULL, --结束时间
- TotalAwardAmount BIGINT NOT NULL, --奖金
- TotalFee BIGINT NOT NULL, --总费用(报名)
- TotalTax BIGINT NOT NULL, --总税收
- ExtInfo VARCHAR(1024) NOT NULL, --扩展信息
- Crdate DATETIME NOT NULL --创建时间
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --查询某个用户
- IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmpRoom(RoomID)
- SELECT DISTINCT
- RoomID
- FROM
- [ChairHistory]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
-
- INSERT INTO @tmptable
- (
- RoomID, RoomNo, GameID, OwnerUserID, BeginTime, EndTime,
- TotalAwardAmount, TotalFee, TotalTax, ExtInfo, Crdate
- )
- SELECT
- RoomID, RoomNo, GameID, OwnerUserID, BeginTime, EndTime,
- TotalAwardAmount, TotalFee, TotalTax, ExtInfo, Crdate
- FROM
- [RoomHistory]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND RoomID IN (SELECT RoomID FROM @tmpRoom)
- END
-
- --查询创建者
- ELSE IF(@OwnerUserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- RoomID, RoomNo, GameID, OwnerUserID, BeginTime, EndTime,
- TotalAwardAmount, TotalFee, TotalTax, ExtInfo, Crdate
- )
- SELECT
- RoomID, RoomNo, GameID, OwnerUserID, BeginTime, EndTime,
- TotalAwardAmount, TotalFee, TotalTax, ExtInfo, Crdate
- FROM
- [RoomHistory]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND OwnerUserID = @OwnerUserID
- END
-
- --查询某个游戏
- ELSE IF(@GameID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- RoomID, RoomNo, GameID, OwnerUserID, BeginTime, EndTime,
- TotalAwardAmount, TotalFee, TotalTax, ExtInfo, Crdate
- )
- SELECT
- RoomID, RoomNo, GameID, OwnerUserID, BeginTime, EndTime,
- TotalAwardAmount, TotalFee, TotalTax, ExtInfo, Crdate
- FROM
- [RoomHistory]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND GameID = @GameID
- END
-
- --查询房间号
- ELSE IF(@RoomNo != '')
- BEGIN
- INSERT INTO @tmptable
- (
- RoomID, RoomNo, GameID, OwnerUserID, BeginTime, EndTime,
- TotalAwardAmount, TotalFee, TotalTax, ExtInfo, Crdate
- )
- SELECT
- RoomID, RoomNo, GameID, OwnerUserID, BeginTime, EndTime,
- TotalAwardAmount, TotalFee, TotalTax, ExtInfo, Crdate
- FROM
- [RoomHistory]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND RoomNo = @RoomNo
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- RoomID, RoomNo, GameID, OwnerUserID, BeginTime, EndTime,
- TotalAwardAmount, TotalFee, TotalTax, ExtInfo, Crdate
- )
- SELECT
- RoomID, RoomNo, GameID, OwnerUserID, BeginTime, EndTime,
- TotalAwardAmount, TotalFee, TotalTax, ExtInfo, Crdate
- FROM
- [RoomHistory]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- END
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Crdate DESC) AS RowNumber,
- RoomID, RoomNo, GameID, OwnerUserID, BeginTime, EndTime,
- TotalAwardAmount, TotalFee, TotalTax, ExtInfo, Crdate
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- l.RoomID, l.RoomNo, l.GameID, g.EnglishName, l.OwnerUserID, ISNULL(u.NickName, N'比赛创建') AS OwnerNickName,
- CONVERT(VARCHAR(20), l.BeginTime, 120) AS BeginTime, CONVERT(VARCHAR(20), l.EndTime, 120) AS EndTime,
- l.TotalAwardAmount, l.TotalFee, l.TotalTax, l.ExtInfo, CONVERT(VARCHAR(20), l.Crdate, 120) AS Crdate,
- DATEDIFF(SECOND, l.BeginTime, l.EndTime) AS PlaySeconds,
- DATEDIFF(SECOND, l.Crdate, l.BeginTime) AS WaitSeconds
- FROM
- [List] l LEFT JOIN [AllUser] u ON l.OwnerUserID = u.UserID
- INNER JOIN [AllGame] g ON l.GameID = g.GameID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Rank_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Rank_GetList]
- -- @UserID = 0
- -- @NickName = '0'
- -- @RankType = 1
- -- @BeginTime = '2023-08-01 00:00:00'
- -- @EndTime = '2023-08-31 23:59:59'
- -- @PageIndex = 1
- -- @PageSize = 50
- -- @RecordCount = 0
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-08-18
- -- Mendor: wolf
- -- Alter Date: 2023-08-18
- -- Description: 获取排行榜榜单列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Rank_GetList]
- @UserID INT, -- 用户ID
- @NickName NVARCHAR(32), -- 用户昵称
- @RankType INT, -- 榜单类型
- @BeginTime DATETIME, -- 开始时间
- @EndTime DATETIME, -- 结束时间
- @PageIndex INT, -- 页索引
- @PageSize INT, -- 页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT -- 起始行索引
- DECLARE @EndRowIndex INT -- 截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- DECLARE @tmptable TABLE(
- RankType INT NOT NULL, --榜单类型
- Rank INT NOT NULL, --排名
- UserID INT NOT NULL, --用户ID
- Amount BIGINT NOT NULL, --赢得金币数
- Crdate DATETIME NOT NULL, --时间
- IsGift TINYINT NOT NULL, --是否领取
- NickName NVARCHAR(32) NOT NULL --用户昵称
- )
- IF(@RankType = 1)
- BEGIN
- -- 财富榜
- INSERT INTO @tmptable
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift, NickName
- )
- SELECT
- @RankType,
- ROW_NUMBER() OVER(ORDER BY SUM(t.Amount) DESC, MAX(t.RefreshTime) ASC) AS Rank,
- t.UserID, SUM(t.Amount), MAX(t.RefreshTime), 1, u.NickName
- FROM
- [Money] AS t INNER JOIN [AllUser] AS u ON t.UserID = u.UserID
- WHERE
- t.RefreshTime BETWEEN @BeginTime AND @EndTime
- AND t.UserID = CASE -- 指定某个用户ID
- WHEN @UserID > 0 THEN @UserID
- ELSE t.UserID
- END
- AND u.NickName = CASE -- 指定某个用户昵称
- WHEN @NickName != '' then @NickName
- ELSE u.NickName
- END
- GROUP BY
- t.UserID, u.NickName
- END
- ELSE IF(@RankType IN (2, 3, 4))
- BEGIN
- -- 每日(周、月)赚金榜
- INSERT INTO @tmptable
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift, NickName
- )
- SELECT
- @RankType,
- ROW_NUMBER() OVER(ORDER BY SUM(t.WinAmount) DESC, MAX(t.DateFlag) ASC) AS Rank,
- t.UserID, SUM(t.WinAmount), MAX(t.DateFlag), 1, u.NickName
- FROM
- [DailyBetStat] AS t INNER JOIN [AllUser] AS u ON t.UserID = u.UserID
- WHERE
- t.DateFlag BETWEEN @BeginTime AND @EndTime
- AND t.UserID = CASE -- 指定某个用户ID
- WHEN @UserID > 0 THEN @UserID
- ELSE t.UserID
- END
- AND u.NickName = CASE -- 指定某个用户昵称
- WHEN @NickName != '' then @NickName
- ELSE u.NickName
- END
- AND t.WinAmount > 0
- GROUP BY
- t.UserID, u.NickName
- END
- ELSE IF(@RankType = 5)
- BEGIN
- -- 徽章榜
- INSERT INTO @tmptable
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift, NickName
- )
- SELECT
- @RankType,
- ROW_NUMBER() OVER(ORDER BY SUM(t.Points) DESC, MAX(t.Crdate) ASC) AS Rank,
- t.UserID, SUM(t.Points), MAX(t.Crdate), 1, u.NickName
- FROM
- [UserBadge] AS t INNER JOIN [AllUser] AS u ON t.UserID = u.UserID
- WHERE
- t.Crdate BETWEEN @BeginTime AND @EndTime
- AND t.UserID = CASE -- 指定某个用户ID
- WHEN @UserID > 0 THEN @UserID
- ELSE t.UserID
- END
- AND u.NickName = CASE -- 指定某个用户昵称
- WHEN @NickName != '' then @NickName
- ELSE u.NickName
- END
- AND t.Points > 0
- GROUP BY
- t.UserID, u.NickName
- END
- ELSE IF(@RankType IN (6, 7))
- BEGIN
- -- 语聊房上(本)周榜
- INSERT INTO @tmptable
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift, NickName
- )
- SELECT
- @RankType,
- ROW_NUMBER() OVER(ORDER BY SUM(t.Exps) DESC, MAX(t.DateFlag) ASC) AS Rank,
- t.RoomID, SUM(t.Exps), MAX(t.DateFlag), 1, u.NickName
- FROM
- [AudioRoomExpLog] AS t INNER JOIN [AllUser] AS u ON t.RoomID = u.UserID
- WHERE
- t.DateFlag BETWEEN @BeginTime AND @EndTime
- AND t.RoomID = CASE -- 指定某个用户ID
- WHEN @UserID > 0 THEN @UserID
- ELSE t.RoomID
- END
- AND u.NickName = CASE -- 指定某个用户昵称
- WHEN @NickName != '' then @NickName
- ELSE u.NickName
- END
- AND t.Exps > 0
- GROUP BY
- t.RoomID, u.NickName
- END
- ELSE IF(@RankType IN (8, 9, 10))
- BEGIN
- -- 魅力日(周、月)榜
- INSERT INTO @tmptable
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift, NickName
- )
- SELECT
- @RankType,
- ROW_NUMBER() OVER(ORDER BY SUM(t.Charm) DESC, MAX(t.DateFlag) ASC) AS Rank,
- t.UserID, SUM(t.Charm), MAX(t.DateFlag), 1, u.NickName
- FROM
- [UserCharmHistory] AS t INNER JOIN [AllUser] AS u ON t.UserID = u.UserID
- WHERE
- t.DateFlag BETWEEN @BeginTime AND @EndTime
- AND t.UserID = CASE -- 指定某个用户ID
- WHEN @UserID > 0 THEN @UserID
- ELSE t.UserID
- END
- AND u.NickName = CASE -- 指定某个用户昵称
- WHEN @NickName != '' then @NickName
- ELSE u.NickName
- END
- AND t.Charm > 0
- GROUP BY
- t.UserID, u.NickName
- END
- ELSE IF(@RankType IN (11, 12, 13))
- BEGIN
- -- 语聊房赠送礼物日(周、月)榜
- INSERT INTO @tmptable
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift, NickName
- )
- SELECT
- @RankType,
- ROW_NUMBER() OVER(ORDER BY SUM(t.DiamondAmount) DESC, MAX(t.Crdate) ASC) AS Rank,
- t.Sender, SUM(t.DiamondAmount), MAX(t.Crdate), 1, u.NickName
- FROM
- [AudioRoomGiftHistory] AS t INNER JOIN [AllUser] AS u ON t.Sender = u.UserID
- WHERE
- t.Crdate BETWEEN @BeginTime AND @EndTime
- AND t.Sender = CASE -- 指定某个用户ID
- WHEN @UserID > 0 THEN @UserID
- ELSE t.Sender
- END
- AND u.NickName = CASE -- 指定某个用户昵称
- WHEN @NickName != '' then @NickName
- ELSE u.NickName
- END
- GROUP BY
- t.Sender, u.NickName
- END
- ELSE IF(@RankType IN (14, 15, 16))
- BEGIN
- -- 语聊房接收礼物日(周、月)榜
- INSERT INTO @tmptable
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift, NickName
- )
- SELECT
- @RankType,
- ROW_NUMBER() OVER(ORDER BY SUM(t.DiamondAmount) DESC, MAX(t.Crdate) ASC) AS Rank,
- t.Receiver, SUM(t.DiamondAmount), MAX(t.Crdate), 1, u.NickName
- FROM
- [AudioRoomGiftHistory] AS t INNER JOIN [AllUser] AS u ON t.Receiver = u.UserID
- WHERE
- t.Crdate BETWEEN @BeginTime AND @EndTime
- AND t.Receiver = CASE -- 指定某个用户ID
- WHEN @UserID > 0 THEN @UserID
- ELSE t.Receiver
- END
- AND u.NickName = CASE -- 指定某个用户昵称
- WHEN @NickName != '' then @NickName
- ELSE u.NickName
- END
- GROUP BY
- t.Receiver, u.NickName
- END
- ELSE IF(@RankType IN (17, 18, 19))
- BEGIN
- -- 语聊房房间消耗钻石日(周、月)榜
- INSERT INTO @tmptable
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift, NickName
- )
- SELECT
- @RankType,
- ROW_NUMBER() OVER(ORDER BY SUM(t.DiamondAmount) DESC, MAX(t.Crdate) ASC) AS Rank,
- t.RoomID, SUM(t.DiamondAmount), MAX(t.Crdate), 1, u.NickName
- FROM
- [AudioRoomGiftHistory] AS t INNER JOIN [AllUser] AS u ON t.RoomID = u.UserID
- WHERE
- t.Crdate BETWEEN @BeginTime AND @EndTime
- AND t.RoomID = CASE -- 指定某个用户ID
- WHEN @UserID > 0 THEN @UserID
- ELSE t.RoomID
- END
- AND u.NickName = CASE -- 指定某个用户昵称
- WHEN @NickName != '' then @NickName
- ELSE u.NickName
- END
- GROUP BY
- t.RoomID, u.NickName
- END
- ELSE IF(@RankType IN (20, 21))
- BEGIN
- -- 好友房赢局数日(周)榜
- INSERT INTO @tmptable
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift, NickName
- )
- SELECT
- @RankType,
- ROW_NUMBER() OVER(ORDER BY SUM(t.WinCount) DESC, MAX(t.DateFlag) ASC) AS Rank,
- t.UserID, SUM(t.WinCount), MAX(t.DateFlag), 1, u.NickName
- FROM
- [DailyBetStat] AS t INNER JOIN [AllUser] AS u ON t.UserID = u.UserID
- WHERE
- t.DateFlag BETWEEN @BeginTime AND @EndTime
- AND t.UserID = CASE -- 指定某个用户ID
- WHEN @UserID > 0 THEN @UserID
- ELSE t.UserID
- END
- AND u.NickName = CASE -- 指定某个用户昵称
- WHEN @NickName != '' then @NickName
- ELSE u.NickName
- END
- AND t.WinCount > 0
- AND t.ServerName = 'PrivateRoom'
- GROUP BY
- t.UserID, u.NickName
- END
- ELSE
- BEGIN
- -- 所有排行榜
- INSERT INTO @tmptable
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift, NickName
- )
- SELECT
- r.RankType, r.Rank, r.UserID, r.Amount, r.Crdate, r.IsGift, u.NickName
- FROM
- [AllRank] AS r INNER JOIN [AllUser] AS u ON r.UserID = u.UserID
- WHERE
- r.UserID = CASE -- 指定某个用户ID
- WHEN @UserID > 0 THEN @UserID
- ELSE r.UserID
- END
- AND u.NickName = CASE -- 指定某个用户昵称
- WHEN @NickName != '' then @NickName
- ELSE u.NickName
- END
- END
- -- 记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY RankType ASC, Rank ASC) AS RowNumber,
- RankType, Rank, UserID, Amount, Crdate, IsGift, NickName
- FROM
- @tmptable
- )
- -- 返回信息
- SELECT
- RankType, Rank, UserID, Amount, CONVERT(CHAR(20), Crdate, 120) AS Crdate, IsGift, NickName
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_RechargeCard_Gen] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_RechargeCard_Gen]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 充值卡生成
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_RechargeCard_Gen]
- @GoldAmount BIGINT, --金币
- @CardNum INT --卡数量
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CardNo VARCHAR(32) --卡号
- DECLARE @Count INT --计数器
-
- SET @Count = 0
-
- --遍历生成
- WHILE(@Count <= @CardNum)
- BEGIN
- SET @CardNo = 'P' + SUBSTRING(REPLACE(NEWID(), '-', ''), 1, 7)
-
- --判断是否已经存在
- IF EXISTS(SELECT CardNo FROM [RechargeCard] WHERE CardNo = @CardNo)
- BEGIN
- PRINT N'计数器=' + LTRIM(STR(@Count)) + N',卡号=' + @CardNo + N',已存在......!'
- CONTINUE
- END
-
- --计数器+1
- SET @Count = @Count + 1
-
- --生成数据
- INSERT INTO [RechargeCard]
- (
- CardNo, GoldAmount, UserID, UseTime, Crdate
- )
- VALUES
- (
- @CardNo, @GoldAmount, 0, '2022-01-01', GETDATE()
- )
-
- PRINT N'计数器=' + LTRIM(STR(@Count)) + N',卡号=' + @CardNo + N',已成功生成!'
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_RechargeCard_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_RechargeCard_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 充值卡列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_RechargeCard_GetList]
- @UserID INT, --用户ID
- @Status SMALLINT, --状态 (-1=所有 0=未使用 1=使用)
- @CardNo VARCHAR(32), --卡号
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT, --记录数
- @ErrorTimes INT OUTPUT, --错误次数
- @Crdate VARCHAR(32) OUTPUT --时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartIndex INT --起始索引
- DECLARE @EndIndex INT --截止索引
-
- DECLARE @tmptable TABLE(
- CardNo VARCHAR(32) PRIMARY KEY, --卡号
- GoldAmount BIGINT NOT NULL, --金币
- UserID INT NOT NULL, --用户ID
- UseTime DATETIME NOT NULL, --使用时间
- Crdate DATETIME NOT NULL --时间
- )
-
- SET @StartIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndIndex = @PageIndex * @PageSize
- SET @ErrorTimes = 0
- SET @Crdate = '2022-01-01'
-
- --查询某张卡号
- IF(@CardNo != '')
- BEGIN
- INSERT INTO @tmptable
- (
- CardNo, GoldAmount, UserID, UseTime, Crdate
- )
- SELECT
- CardNo, GoldAmount, UserID, UseTime, Crdate
- FROM
- [RechargeCard]
- WHERE
- CardNo = @CardNo
- END
-
- --查询某个用户
- ELSE IF(@UserID > 0)
- BEGIN
- --充值卡记录
- SELECT
- @ErrorTimes = ErrorTimes, @Crdate = CONVERT(VARCHAR(20), Crdate, 120)
- FROM
- [RechargeCardLog]
- WHERE
- UserID = @UserID
-
- INSERT INTO @tmptable
- (
- CardNo, GoldAmount, UserID, UseTime, Crdate
- )
- SELECT
- CardNo, GoldAmount, UserID, UseTime, Crdate
- FROM
- [RechargeCard]
- WHERE
- UserID = @UserID
- END
-
- --查询未使用情况
- ELSE IF(@Status = 0)
- BEGIN
- INSERT INTO @tmptable
- (
- CardNo, GoldAmount, UserID, UseTime, Crdate
- )
- SELECT
- CardNo, GoldAmount, UserID, UseTime, Crdate
- FROM
- [RechargeCard]
- WHERE
- UserID = @Status
- END
-
- --查询使用情况
- ELSE IF(@Status > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- CardNo, GoldAmount, UserID, UseTime, Crdate
- )
- SELECT
- CardNo, GoldAmount, UserID, UseTime, Crdate
- FROM
- [RechargeCard]
- WHERE
- UserID > 0
- END
-
- --查询所有
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- CardNo, GoldAmount, UserID, UseTime, Crdate
- )
- SELECT
- CardNo, GoldAmount, UserID, UseTime, Crdate
- FROM
- [RechargeCard]
- END
-
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY CardNo ASC) AS RowNumber,
- CardNo, GoldAmount, UserID, UseTime, Crdate
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- l.RowNumber, l.CardNo, l.GoldAmount, l.UserID, ISNULL(u.NickName, '') AS NickName,
- CONVERT(VARCHAR(20), l.UseTime, 120) AS UseTime,
- CONVERT(VARCHAR(20), l.Crdate, 120) AS Crdate
- FROM
- [List] l LEFT JOIN [AllUser] u ON l.UserID = u.UserID
- WHERE
- l.RowNumber BETWEEN @StartIndex AND @EndIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_RegStat_GetListByHour] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_RegStat_GetListByHour]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2017-01-04
- -- Mendor: wolf
- -- Alter Date: 2017-01-04
- -- Description: 注册统计每小时
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_RegStat_GetListByHour]
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @UserType TINYINT --用户类型(0=所有用户 1=游客 2=Facebook)
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @tmptable TABLE(
- DateFlag SMALLDATETIME NOT NULL, --日期标识
- UserCount INT NOT NULL, --总人数
- Hour_0 INT NOT NULL, --0点钟
- Hour_1 INT NOT NULL, --1点钟
- Hour_2 INT NOT NULL, --2点钟
- Hour_3 INT NOT NULL, --3点钟
- Hour_4 INT NOT NULL, --4点钟
- Hour_5 INT NOT NULL, --5点钟
- Hour_6 INT NOT NULL, --6点钟
- Hour_7 INT NOT NULL, --7点钟
- Hour_8 INT NOT NULL, --8点钟
- Hour_9 INT NOT NULL, --9点钟
- Hour_10 INT NOT NULL, --10点钟
- Hour_11 INT NOT NULL, --11点钟
- Hour_12 INT NOT NULL, --12点钟
- Hour_13 INT NOT NULL, --13点钟
- Hour_14 INT NOT NULL, --14点钟
- Hour_15 INT NOT NULL, --15点钟
- Hour_16 INT NOT NULL, --16点钟
- Hour_17 INT NOT NULL, --17点钟
- Hour_18 INT NOT NULL, --18点钟
- Hour_19 INT NOT NULL, --19点钟
- Hour_20 INT NOT NULL, --20点钟
- Hour_21 INT NOT NULL, --21点钟
- Hour_22 INT NOT NULL, --22点钟
- Hour_23 INT NOT NULL --23点钟
- )
-
- --1=游客
- IF(@UserType = 1)
- BEGIN
- INSERT INTO @tmptable
- (
- DateFlag, UserCount, Hour_0, Hour_1, Hour_2, Hour_3, Hour_4, Hour_5, Hour_6, Hour_7,
- Hour_8, Hour_9, Hour_10, Hour_11, Hour_12, Hour_13, Hour_14, Hour_15, Hour_16,
- Hour_17, Hour_18, Hour_19, Hour_20, Hour_21, Hour_22, Hour_23
- )
- SELECT
- CONVERT(CHAR(10), RegTime, 120), COUNT(UserID),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 0 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 1 THEN 1 ELSE 0 END),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 2 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 3 THEN 1 ELSE 0 END),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 4 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 5 THEN 1 ELSE 0 END),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 6 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 7 THEN 1 ELSE 0 END),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 8 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 9 THEN 1 ELSE 0 END),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 10 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 11 THEN 1 ELSE 0 END),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 12 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 13 THEN 1 ELSE 0 END),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 14 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 15 THEN 1 ELSE 0 END),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 16 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 17 THEN 1 ELSE 0 END),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 18 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 19 THEN 1 ELSE 0 END),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 20 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 21 THEN 1 ELSE 0 END),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 22 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 23 THEN 1 ELSE 0 END)
- FROM
- [AllUser]
- WHERE
- RegTime >= @BeginTime AND RegTime < @EndTime + 1 AND IMei NOT LIKE 'fb%' AND UserID NOT IN (SELECT UserID FROM [MachineUser])
- GROUP BY
- CONVERT(CHAR(10), RegTime, 120)
- END
-
- --2=Facebook
- ELSE IF(@UserType = 2)
- BEGIN
- INSERT INTO @tmptable
- (
- DateFlag, UserCount, Hour_0, Hour_1, Hour_2, Hour_3, Hour_4, Hour_5, Hour_6, Hour_7,
- Hour_8, Hour_9, Hour_10, Hour_11, Hour_12, Hour_13, Hour_14, Hour_15, Hour_16,
- Hour_17, Hour_18, Hour_19, Hour_20, Hour_21, Hour_22, Hour_23
- )
- SELECT
- CONVERT(CHAR(10), RegTime, 120), COUNT(UserID),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 0 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 1 THEN 1 ELSE 0 END),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 2 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 3 THEN 1 ELSE 0 END),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 4 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 5 THEN 1 ELSE 0 END),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 6 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 7 THEN 1 ELSE 0 END),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 8 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 9 THEN 1 ELSE 0 END),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 10 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 11 THEN 1 ELSE 0 END),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 12 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 13 THEN 1 ELSE 0 END),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 14 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 15 THEN 1 ELSE 0 END),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 16 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 17 THEN 1 ELSE 0 END),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 18 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 19 THEN 1 ELSE 0 END),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 20 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 21 THEN 1 ELSE 0 END),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 22 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 23 THEN 1 ELSE 0 END)
- FROM
- [AllUser]
- WHERE
- RegTime >= @BeginTime AND RegTime < @EndTime + 1 AND IMei LIKE 'fb%'
- GROUP BY
- CONVERT(CHAR(10), RegTime, 120)
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- DateFlag, UserCount, Hour_0, Hour_1, Hour_2, Hour_3, Hour_4, Hour_5, Hour_6, Hour_7,
- Hour_8, Hour_9, Hour_10, Hour_11, Hour_12, Hour_13, Hour_14, Hour_15, Hour_16,
- Hour_17, Hour_18, Hour_19, Hour_20, Hour_21, Hour_22, Hour_23
- )
- SELECT
- CONVERT(CHAR(10), RegTime, 120), COUNT(UserID),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 0 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 1 THEN 1 ELSE 0 END),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 2 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 3 THEN 1 ELSE 0 END),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 4 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 5 THEN 1 ELSE 0 END),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 6 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 7 THEN 1 ELSE 0 END),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 8 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 9 THEN 1 ELSE 0 END),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 10 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 11 THEN 1 ELSE 0 END),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 12 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 13 THEN 1 ELSE 0 END),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 14 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 15 THEN 1 ELSE 0 END),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 16 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 17 THEN 1 ELSE 0 END),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 18 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 19 THEN 1 ELSE 0 END),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 20 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 21 THEN 1 ELSE 0 END),
- SUM(CASE WHEN DATEPART(HOUR, RegTime) = 22 THEN 1 ELSE 0 END), SUM(CASE WHEN DATEPART(HOUR, RegTime) = 23 THEN 1 ELSE 0 END)
- FROM
- [AllUser]
- WHERE
- RegTime >= @BeginTime AND RegTime < @EndTime + 1 AND UserID NOT IN (SELECT UserID FROM [MachineUser])
- GROUP BY
- CONVERT(CHAR(10), RegTime, 120)
- END
-
- --返回信息
- SELECT
- CONVERT(CHAR(10), DateFlag, 120) AS DateFlag, UserCount, Hour_0, Hour_1, Hour_2, Hour_3, Hour_4, Hour_5, Hour_6, Hour_7,
- Hour_8, Hour_9, Hour_10, Hour_11, Hour_12, Hour_13, Hour_14, Hour_15, Hour_16,
- Hour_17, Hour_18, Hour_19, Hour_20, Hour_21, Hour_22, Hour_23
- FROM
- @tmptable
- ORDER BY
- DateFlag ASC
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_RegStat_GetSourceList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_RegStat_GetSourceList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2017-01-04
- -- Mendor: wolf
- -- Alter Date: 2017-01-04
- -- Description: 注册来源统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_RegStat_GetSourceList]
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME --截止时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @tmptable TABLE(
- DateFlag SMALLDATETIME NOT NULL, --日期标识
- SourceName NVARCHAR(32) NOT NULL, --源名名称
- UserCount INT NOT NULL --用户数
- )
-
- --FaceBook
- INSERT INTO @tmptable
- (
- DateFlag, SourceName, UserCount
- )
- SELECT
- CONVERT(CHAR(10), RegTime, 120), N'Facebook', COUNT(UserID)
- FROM
- [AllUser]
- WHERE
- RegTime >= @BeginTime AND RegTime < @EndTime + 1 AND IMei LIKE 'fb%' AND UserID NOT IN (SELECT UserID FROM [MachineUser])
- GROUP BY
- CONVERT(CHAR(10), RegTime, 120)
-
- --Google
- INSERT INTO @tmptable
- (
- DateFlag, SourceName, UserCount
- )
- SELECT
- CONVERT(CHAR(10), RegTime, 120), N'Google', COUNT(UserID)
- FROM
- [AllUser]
- WHERE
- RegTime >= @BeginTime AND RegTime < @EndTime + 1 AND IMei LIKE 'gg%' AND UserID NOT IN (SELECT UserID FROM [MachineUser])
- GROUP BY
- CONVERT(CHAR(10), RegTime, 120)
-
- --游客
- INSERT INTO @tmptable
- (
- DateFlag, SourceName, UserCount
- )
- SELECT
- CONVERT(CHAR(10), RegTime, 120), N'游客', COUNT(UserID)
- FROM
- [AllUser]
- WHERE
- RegTime >= @BeginTime AND RegTime < @EndTime + 1 AND IMei NOT LIKE 'fb%' AND IMei NOT LIKE 'gg%' AND UserID NOT IN (SELECT UserID FROM [MachineUser])
- GROUP BY
- CONVERT(CHAR(10), RegTime, 120)
-
- --返回信息
- SELECT
- CONVERT(CHAR(10), DateFlag, 120) AS DateFlag, SourceName, UserCount
- FROM
- @tmptable
- ORDER BY
- DateFlag ASC, SourceName ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_RegStat_GetSubsistList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_RegStat_GetSubsistList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 注册统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_RegStat_GetSubsistList]
- @PartnerID INT, --渠道ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --结束时间
- @TotalRegCount INT OUTPUT --总注册人数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @TotalUserCount INT --总注册人数
- --用户信息
- DECLARE @tmpUser TABLE(
- PartnerID INT NOT NULL, --渠道ID
- UserID INT NOT NULL, --用户ID
- RegTime SMALLDATETIME NOT NULL, --注册时间
- PayMoney DECIMAL(18, 2) NOT NULL --充值
- )
- --表变量
- DECLARE @tmptable TABLE(
- DateFlag SMALLDATETIME NOT NULL, --日期标识
- PartnerID INT NOT NULL, --渠道ID
- RegUserCount INT NOT NULL, --注册用户数
- TotalPayMoney DECIMAL(18, 2) NOT NULL, --充值总额
- TotalUserCount INT NOT NULL --注册总人数
- )
-
- SET @EndTime = CONVERT(CHAR(11), @EndTime, 120) + '23:59:59'
- SET @DateFlag = CONVERT(CHAR(10), GETDATE(), 120)
- SET @TotalRegCount = 0
- --查询用户
- INSERT INTO @tmpUser
- (
- PartnerID, UserID, RegTime, PayMoney
- )
- SELECT
- RegPartnerID, UserID, CONVERT(CHAR(10), RegTime, 120), 0
- FROM
- [AllUser]
- WHERE
- RegTime BETWEEN @BeginTime AND @EndTime AND UserID NOT IN (SELECT UserID FROM [MachineUser])
-
- --获取充值
- UPDATE
- @tmpUser
- SET
- t.PayMoney = p.RMBMoney
- FROM
- @tmpUser t INNER JOIN [UserPayLog] p ON t.UserID = p.UserID AND t.RegTime = p.DateFlag
- --查询某个渠道
- IF(@PartnerID > 0)
- BEGIN
- --初始化表变量
- INSERT INTO @tmptable
- (
- PartnerID, DateFlag, RegUserCount, TotalPayMoney, TotalUserCount
- )
- SELECT
- @PartnerID, RegTime, COUNT(UserID), SUM(PayMoney), 0
- FROM
- @tmpUser
- WHERE
- PartnerID = @PartnerID
- GROUP BY
- RegTime
- END
-
- ELSE
- BEGIN
- --初始化表变量
- INSERT INTO @tmptable
- (
- PartnerID, DateFlag, RegUserCount, TotalPayMoney, TotalUserCount
- )
- SELECT
- 0, RegTime, COUNT(UserID), SUM(PayMoney), 0
- FROM
- @tmpUser
- GROUP BY
- RegTime
- END
- --总注册数
- SELECT @TotalRegCount = ISNULL(SUM(RegUserCount), 0) FROM @tmptable
-
- --获取总注册人数
- UPDATE t SET t.TotalUserCount = s.TotalCount FROM @tmptable t INNER JOIN [RegStat] s ON t.DateFlag = s.DateFlag - 1
-
- --今天
- SELECT TOP 1 @TotalUserCount = TotalCount FROM [RegStat] WHERE DateFlag = @DateFlag ORDER BY DateFlag DESC
-
- IF(@@ROWCOUNT > 0)
- BEGIN
- UPDATE @tmptable SET TotalUserCount = RegUserCount + @TotalUserCount WHERE DateFlag = @DateFlag
- END
- --返回信息
- SELECT
- CONVERT(CHAR(10), t.DateFlag, 120) AS DateFlag, t.RegUserCount, t.TotalPayMoney,
- ISNULL(p.PartnerName, 'All Channels') AS PartnerName, t.TotalUserCount
- FROM
- @tmptable t LEFT JOIN [Partner] p ON t.PartnerID = p.PartnerID
- ORDER BY
- t.DateFlag DESC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_RetentionStat_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RecordCount INT
- -- EXEC [Manage_RetentionStat_GetList]
- -- @PartnerID = 100001,
- -- @BeginTime = '',
- -- @EndTime = '',
- -- @PageIndex = 1,
- -- @PageSize = 10,
- -- @RecordCount = @RecordCount OUTPUT
- -- SELECT @RecordCount AS RecordCount
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2015-03-18
- -- Description: 获取留存统计列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_RetentionStat_GetList]
- @Item VARCHAR(32), --事项(如:全体用户、付费用户、Facebook用户、Google用户)
- @BeginTime DATETIME, --起始时间
- @EndTime DATETIME, --结束时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --总记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartIndex INT --起始索引
- DECLARE @EndIndex INT --截止索引
-
- --创建临时表
- DECLARE @tmptable TABLE(
- DateFlag SMALLDATETIME NOT NULL, --日期标志
- Item VARCHAR(32) NOT NULL, --事项
- UserCount INT NOT NULL, --用户数
- LiveUsers_1 INT NOT NULL, --次日留存
- LiveUsers_3 INT NOT NULL, --3日留存
- LiveUsers_5 INT NOT NULL, --5日留存
- LiveUsers_7 INT NOT NULL, --7日留存
- LiveUsers_15 INT NOT NULL, --15日留存
- LiveUsers_30 INT NOT NULL --30日留存
- )
- SET @StartIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndIndex = @PageIndex * @PageSize
- --所有合作商
- IF(LEN(@Item) > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- DateFlag, Item, UserCount, LiveUsers_1, LiveUsers_3,
- LiveUsers_5, LiveUsers_7, LiveUsers_15, LiveUsers_30
- )
- SELECT
- DateFlag, Item, UserCount, LiveUsers_1, LiveUsers_3,
- LiveUsers_5, LiveUsers_7, LiveUsers_15, LiveUsers_30
- FROM
- [RetentionStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND Item = @Item
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- DateFlag, Item, UserCount, LiveUsers_1, LiveUsers_3,
- LiveUsers_5, LiveUsers_7, LiveUsers_15, LiveUsers_30
- )
- SELECT
- DateFlag, Item, UserCount, LiveUsers_1, LiveUsers_3,
- LiveUsers_5, LiveUsers_7, LiveUsers_15, LiveUsers_30
- FROM
- [RetentionStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime
- END
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY DateFlag DESC, UserCount DESC) AS RowNumber,
- DateFlag, Item, UserCount, LiveUsers_1, LiveUsers_3,
- LiveUsers_5, LiveUsers_7, LiveUsers_15, LiveUsers_30
- FROM
- @tmptable
- )
- --返回信息
- SELECT
- CONVERT(CHAR(10), DateFlag, 120) AS DateFlag, Item, UserCount,
- LiveUsers_1, LiveUsers_3, LiveUsers_5, LiveUsers_7, LiveUsers_15, LiveUsers_30
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartIndex AND @EndIndex
- ORDER BY
- RowNumber ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Robot_CreateData] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Robot_CreateData]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-07-27
- -- Mendor: wolf
- -- Alter Date: 2023-07-27
- -- Description: 创建机器人数据
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Robot_CreateData]
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- -- 删除道具数据记录
- DELETE FROM [UserItem]
- WHERE ItemID IN (
- SELECT
- ItemID
- FROM
- [UserItemLog]
- WHERE
- Remark = '系统添加道具' AND
- IPAddress = '127.0.0.1'
- GROUP BY
- ItemID
- ) AND UserID IN ( SELECT UserID FROM [MachineUser] )
- -- 删除用户道具记录
- DELETE FROM [UserItemLog]
- WHERE LogID IN (
- SELECT
- LogID
- FROM
- UserItemLog
- WHERE
- Remark = '系统添加道具' AND
- IPAddress = '127.0.0.1'
- )
- -- 生成机器人类型
- EXEC [Manage_Robot_GenerateType]
- DECLARE @RefreshTime DATETIME -- 创建日期变量
- DECLARE @Rid INT -- 自增ID
- DECLARE @RobotID INT -- 机器人ID
- DECLARE @RobotType TINYINT -- 机器人类型(0=普通,1=小R,2=中R,3=大R,4=超R)
- DECLARE @AvatarFrame INT -- 头像框
- DECLARE @CardBack INT -- 牌背
- DECLARE @Dice INT -- 骰子
- DECLARE @VipLevel INT -- vip等级
- DECLARE @Gold BIGINT -- 金币
- DECLARE @Charm INT -- 魅力值
- DECLARE @Level INT -- 游戏等级
- DECLARE @Counter INT -- 初始化计数器
- DECLARE @RowCount INT -- 获取待处理数据的总行数
- SET @Counter = 1
- SET @RefreshTime = GETDATE()
- -- 创建临时表变量:记录机器人类型
- DECLARE @tmptable TABLE(
- RowNum INT NOT NULL, -- Rid 正序排序标识
- RobotID INT NOT NULL, -- 机器人ID
- RobotType TINYINT NOT NULL -- 机器人类型(0=普通,1=小R,2=中R,3=大R,4=超R)
- )
- -- 创建临时表变量:记录需要更新的数据
- DECLARE @tempUpdates TABLE(
- RobotID INT NOT NULL, -- 机器人ID
- AvatarFrame INT NOT NULL, -- 头像框
- CardBack INT NOT NULL, -- 牌背
- Dice INT NOT NULL, -- 骰子
- VipLevel INT NOT NULL, -- vip等级
- Gold BIGINT NOT NULL, -- 金币
- Charm INT NOT NULL, -- 魅力值
- Level INT NOT NULL -- 游戏等级
- )
- -- 插入待处理数据到临时表变量
- INSERT INTO @tmptable
- (
- RowNum, RobotID, RobotType
- )
- SELECT
- ROW_NUMBER() OVER (ORDER BY Rid ASC) AS RowNum, RobotID, RobotType
- FROM
- [RobotClassification]
- SET @RowCount = @@ROWCOUNT
- -- 循环处理数据
- WHILE @Counter <= @RowCount
- BEGIN
- -- 获取当前行的数据
- SELECT
- @RobotID = RobotID, @RobotType = RobotType
- FROM
- @tmptable
- WHERE
- RowNum = @Counter
- -- 执行存储过程,获取结果
- EXEC Manage_Robot_GetItemsByRobotType
- @RobotType = @RobotType,
- @AvatarFrame = @AvatarFrame OUTPUT,
- @CardBack = @CardBack OUTPUT,
- @Dice = @Dice OUTPUT,
- @VipLevel = @VipLevel OUTPUT,
- @Gold = @Gold OUTPUT,
- @Charm = @Charm OUTPUT,
- @Level = @Level OUTPUT;
- -- 将需要更新的数据插入到临时表变量中
- INSERT INTO @tempUpdates
- (
- RobotID, AvatarFrame, CardBack, Dice, VipLevel, Gold, Charm, [Level]
- )
- VALUES
- (
- @RobotID, @AvatarFrame, @CardBack, @Dice, @VipLevel, @Gold, @Charm, @Level
- )
- -- 增加计数器
- SET @Counter = @Counter + 1
- END
- -- 批量更新其他表
- -- 道具
- INSERT INTO [UserItem]
- (
- UserID, ItemID, ItemCount, EnegyPoint, Start, Duration
- )
- -- 头像框
- SELECT
- RobotID, AvatarFrame, 1, 0, 0, 0
- FROM
- @tempUpdates
- WHERE
- AvatarFrame > 0
- UNION ALL
- -- 牌背
- SELECT
- RobotID, CardBack, 1, 0, 0, 0
- FROM
- @tempUpdates
- WHERE
- CardBack > 0
- UNION ALL
- -- 骰子
- SELECT
- RobotID, Dice, 1, 0, 0, 0
- FROM
- @tempUpdates
- WHERE
- Dice > 0
- -- 道具记录
- INSERT INTO [UserItemLog]
- (
- UserID, ItemID, CurrCount, WantCount, StillCount, Remark, IPAddress, Crdate
- )
- -- 头像框
- SELECT
- RobotID, AvatarFrame, 1, 1, 1, '系统添加道具', '127.0.0.1', @RefreshTime
- FROM
- @tempUpdates
- WHERE
- AvatarFrame > 0
- UNION ALL
- -- 牌背
- SELECT
- RobotID, CardBack, 1, 1, 1, '系统添加道具', '127.0.0.1', @RefreshTime
- FROM
- @tempUpdates
- WHERE
- CardBack > 0
- UNION ALL
- -- 骰子
- SELECT
- RobotID, Dice, 1, 1, 1, '系统添加道具', '127.0.0.1', @RefreshTime
- FROM
- @tempUpdates
- WHERE
- Dice > 0
- -- 佩戴:头像框
- MERGE INTO
- [UserDecoration] AS target
- USING
- @tempUpdates AS source ON target.UserID = source.RobotID AND target.DecorationType = 1
- WHEN MATCHED THEN
- UPDATE SET target.ItemID = source.AvatarFrame
- WHEN NOT MATCHED THEN
- INSERT (UserID, DecorationType, ItemID)
- VALUES (source.RobotID, 1, source.AvatarFrame);
- -- 佩戴:牌背
- MERGE INTO
- [UserDecoration] AS target
- USING
- @tempUpdates AS source ON target.UserID = source.RobotID AND target.DecorationType = 6
- WHEN MATCHED THEN
- UPDATE SET target.ItemID = source.CardBack
- WHEN NOT MATCHED THEN
- INSERT (UserID, DecorationType, ItemID)
- VALUES (source.RobotID, 6, source.CardBack);
- -- 佩戴:骰子
- MERGE INTO
- [UserDecoration] AS target
- USING
- @tempUpdates AS source ON target.UserID = source.RobotID AND target.DecorationType = 8
- WHEN MATCHED THEN
- UPDATE SET target.ItemID = source.Dice
- WHEN NOT MATCHED THEN
- INSERT (UserID, DecorationType, ItemID)
- VALUES (source.RobotID, 8, source.Dice);
- -- vip等级
- MERGE INTO
- [UserVip] AS target
- USING
- @tempUpdates AS source ON target.UserID = source.RobotID
- WHEN MATCHED THEN
- UPDATE SET target.VipLevel = source.VipLevel
- WHEN NOT MATCHED THEN
- INSERT (UserID, VipLevel, VipPoint, Expire, DailyPackageClaimDay)
- VALUES (source.RobotID, source.VipLevel, 0, 0, 0);
- -- 金币
- MERGE INTO
- [Money] AS target
- USING
- @tempUpdates AS source ON target.UserID = source.RobotID
- WHEN MATCHED THEN
- UPDATE SET target.Amount = source.Gold
- WHEN NOT MATCHED THEN
- INSERT (UserID, Amount, Bank, RegisterTime, RefreshTime)
- VALUES (source.RobotID, source.Gold, 0, @RefreshTime, @RefreshTime);
- -- 魅力值
- MERGE INTO
- [UserCharm] AS target
- USING
- @tempUpdates AS source ON target.UserID = source.RobotID
- WHEN MATCHED THEN
- UPDATE SET target.Charm = source.Charm
- WHEN NOT MATCHED THEN
- INSERT (UserID, Charm)
- VALUES (source.RobotID, source.Charm);
- -- 游戏等级
- MERGE INTO
- [UserLevel] AS target
- USING
- @tempUpdates AS source ON target.UserID = source.RobotID
- WHEN MATCHED THEN
- UPDATE SET target.Lv = source.Level
- WHEN NOT MATCHED THEN
- INSERT (UserID, Lv, Exp, LoginAward)
- VALUES (source.RobotID, source.Level, 0, 0);
- -- 更新机器人分类(方便查看记录)
- UPDATE rc
- SET
- rc.AvatarFrame = tu.AvatarFrame,
- rc.CardBack = tu.CardBack,
- rc.Dice = tu.Dice,
- rc.VipLevel = tu.VipLevel,
- rc.Gold = tu.Gold,
- rc.Charm = tu.Charm,
- rc.Level = tu.Level
- FROM [RobotClassification] AS rc
- JOIN @tempUpdates AS tu ON rc.RobotID = tu.RobotID
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Robot_GenerateType] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Robot_GenerateType]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-07-27
- -- Mendor: wolf
- -- Alter Date: 2023-07-27
- -- Description: 生成机器人类型
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Robot_GenerateType]
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- -- 截断表数据:机器人分类
- TRUNCATE TABLE [RobotClassification]
- DECLARE @Crdate DATETIME -- 创建日期变量
- DECLARE @RowCount INT -- 总记录数
- DECLARE @Counter INT -- 计数器
- DECLARE @Rnd INT -- 随机数
- SET @Rnd = 0 -- 随机数
- SET @Counter = 1 -- 计数器
- SET @Crdate = GETDATE() -- 当前日期
- -- 创建临时表变量
- DECLARE @tmptable TABLE(
- Rid INT IDENTITY NOT NULL, -- 自增
- RobotID INT NOT NULL, -- 机器人ID
- RobotType TINYINT NOT NULL, -- 机器人类型(0=普通,1=小R,2=中R,3=大R,4=超R)
- RobotDesc NVARCHAR(256) NOT NULL, -- 机器人描述
- AvatarFrame INT NOT NULL, -- 头像框
- CardBack INT NOT NULL, -- 牌背
- Dice INT NOT NULL, -- 骰子
- VipLevel INT NOT NULL, -- vip等级
- Gold BIGINT NOT NULL, -- 金币
- Charm INT NOT NULL, -- 魅力值
- Level INT NOT NULL -- 游戏等级
- )
- -- 插入机器人数据
- INSERT INTO @tmptable(
- RobotID, RobotType, RobotDesc, AvatarFrame, CardBack, Dice, VipLevel, Gold, Charm, Level
- )
- SELECT
- UserID, 0, '', 0, 0, 0, 0, 0, 0, 0
- FROM
- [MachineUser]
- -- 总记录数
- SET @RowCount = @@ROWCOUNT
- WHILE @Counter <= @RowCount
- BEGIN
- EXEC [Game_Rand_GetRnd] 1, 100, @Rnd OUTPUT
- UPDATE @tmptable
- SET RobotType =
- CASE
- WHEN @Rnd < 10 THEN 0 -- 普通 10%
- WHEN @Rnd < 45 THEN 1 -- 小R 35%
- WHEN @Rnd < 79 THEN 2 -- 中R 34%
- WHEN @Rnd < 95 THEN 3 -- 大R 16%
- ELSE 4 -- 超R 5%
- END
- WHERE Rid = @Counter
- SET @Counter = @Counter + 1
- END
- -- 插入数据
- INSERT INTO [RobotClassification](
- RobotID, RobotType, RobotDesc, AvatarFrame, CardBack, Dice, VipLevel, Gold, Charm, Level, Crdate
- )
- SELECT
- RobotID, RobotType,
- CASE
- WHEN RobotType = 0 THEN '金币不多、整体看着简单'
- WHEN RobotType = 1 THEN '金币不多、整体看着比普通好一点'
- WHEN RobotType = 2 THEN '金币中等、整体看着稍微高贵一点'
- WHEN RobotType = 3 THEN '金币不多不少、整体看着高贵'
- ELSE '金币很多、整体看着很炫'
- END AS RobotDesc,
- AvatarFrame, CardBack, Dice, VipLevel, Gold, Charm, Level,
- @Crdate
- FROM
- @tmptable
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Robot_GetItemsByRobotType] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Robot_GetItemsByRobotType]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-07-27
- -- Mendor: wolf
- -- Alter Date: 2023-07-27
- -- Description: 按机器人类型获取道具
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Robot_GetItemsByRobotType]
- @RobotType INT, -- 机器人类型
- @AvatarFrame INT OUTPUT, -- 头像框
- @CardBack INT OUTPUT, -- 牌背
- @Dice INT OUTPUT, -- 骰子
- @VipLevel INT OUTPUT, -- vip等级
- @Gold BIGINT OUTPUT, -- 金额
- @Charm INT OUTPUT, -- 魅力值
- @Level INT OUTPUT -- 游戏等级
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Min INT --最小值
- DECLARE @Max INT --最大值
- DECLARE @Rnd INT -- 随机数
- SET @AvatarFrame = 0 -- 头像框
- SET @CardBack = 0 -- 牌背
- SET @Dice = 0 -- 骰子
- SET @VipLevel = 0 -- vip等级
- SET @Gold = 0 -- 金额
- SET @Charm = 0 -- 魅力值
- SET @Level = 0 -- 游戏等级
- SET @Min = 1 -- 最小值
- SET @Max = 100 -- 最大值
- SET @Rnd = 0 -- 随机数
-
- -- 随机数调用
- EXEC [Game_Rand_GetRnd] @Min, @Max, @Rnd OUTPUT
- -- 小R
- IF(@RobotType = 1)
- BEGIN
- -- 头像获得概率
- IF(@Rnd <= 50)
- BEGIN
- SET @AvatarFrame = 401050 --C头像框
- END
- ELSE IF(@Rnd <= 90)
- BEGIN
- SET @AvatarFrame = 401020 --B头像框
- END
- ELSE IF(@Rnd <= 95)
- BEGIN
- SET @AvatarFrame = 401030 --D头像框
- END
- ELSE
- BEGIN
- SET @AvatarFrame = 401040 --E头像框
- END
- -- 牌背获得概率
- -- 随机数调用
- EXEC [Game_Rand_GetRnd] @Min, @Max, @Rnd OUTPUT
- IF(@Rnd <= 65)
- BEGIN
- SET @CardBack = 406050 --C牌背
- END
- ELSE IF(@Rnd <= 75)
- BEGIN
- SET @CardBack = 406030 --B牌背
- END
- ELSE IF(@Rnd <= 85)
- BEGIN
- SET @CardBack = 406020 --D牌背
- END
- ELSE IF(@Rnd <= 90)
- BEGIN
- SET @CardBack = 406010 --E牌背
- END
- ELSE
- BEGIN
- SET @CardBack = 406040 --F牌背
- END
- -- 骰子获得概率
- -- 随机数调用
- EXEC [Game_Rand_GetRnd] @Min, @Max, @Rnd OUTPUT
- IF(@Rnd <= 30)
- BEGIN
- SET @Dice = 408010 --骰子B
- END
- ELSE IF(@Rnd <= 60)
- BEGIN
- SET @Dice = 408020 --骰子C
- END
- ELSE IF(@Rnd <= 90)
- BEGIN
- SET @Dice = 408040 --骰子D
- END
- ELSE
- BEGIN
- SET @Dice = 408030 --骰子E
- END
- EXEC [Game_Rand_GetRnd] 0, 5, @VipLevel OUTPUT -- vip等级0-5
- EXEC [Game_Rand_GetRnd] 35000, 300000, @Gold OUTPUT -- 金币35k-300k
- EXEC [Game_Rand_GetRnd] 0, 40, @Charm OUTPUT -- 魅力值0-40
- EXEC [Game_Rand_GetRnd] 5, 15, @Level OUTPUT -- 等级5-15
- END
-
- -- 中R
- ELSE IF(@RobotType = 2)
- BEGIN
- -- 头像获得概率
- IF(@Rnd <= 30)
- BEGIN
- SET @AvatarFrame = 401050 --C头像框
- END
- ELSE IF(@Rnd <= 55)
- BEGIN
- SET @AvatarFrame = 401030 --D头像框
- END
- ELSE IF(@Rnd <= 80)
- BEGIN
- SET @AvatarFrame = 401040 --E头像框
- END
- ELSE
- BEGIN
- SET @AvatarFrame = 401020 --B头像框
- END
- -- 牌背获得概率
- -- 随机数调用
- EXEC [Game_Rand_GetRnd] @Min, @Max, @Rnd OUTPUT
- IF(@Rnd <= 45)
- BEGIN
- SET @CardBack = 406050 --C牌背
- END
- ELSE IF(@Rnd <= 60)
- BEGIN
- SET @CardBack = 406030 --B牌背
- END
- ELSE IF(@Rnd <= 75)
- BEGIN
- SET @CardBack = 406020 --D牌背
- END
- ELSE IF(@Rnd <= 90)
- BEGIN
- SET @CardBack = 406010 --E牌背
- END
- ELSE
- BEGIN
- SET @CardBack = 406040 --F牌背
- END
- -- 骰子获得概率
- -- 随机数调用
- EXEC [Game_Rand_GetRnd] @Min, @Max, @Rnd OUTPUT
- IF(@Rnd <= 25)
- BEGIN
- SET @Dice = 408010 --骰子B
- END
- ELSE IF(@Rnd <= 50)
- BEGIN
- SET @Dice = 408020 --骰子C
- END
- ELSE IF(@Rnd <= 75)
- BEGIN
- SET @Dice = 408040 --骰子D
- END
- ELSE
- BEGIN
- SET @Dice = 408030 --骰子E
- END
- EXEC [Game_Rand_GetRnd] 3, 8, @VipLevel OUTPUT -- vip等级3-8
- EXEC [Game_Rand_GetRnd] 200000, 600000, @Gold OUTPUT -- 金币200k-600k
- EXEC [Game_Rand_GetRnd] 20, 60, @Charm OUTPUT -- 魅力值20-60
- EXEC [Game_Rand_GetRnd] 10, 30, @Level OUTPUT -- 等级10-30
- END
-
- -- 大R
- ELSE IF(@RobotType = 3)
- BEGIN
- -- 头像获得概率
- IF(@Rnd <= 25)
- BEGIN
- SET @AvatarFrame = 401020 --B头像框
- END
- ELSE IF(@Rnd <= 50)
- BEGIN
- SET @AvatarFrame = 401050 --C头像框
- END
- ELSE IF(@Rnd <= 75)
- BEGIN
- SET @AvatarFrame = 401030 --D头像框
- END
- ELSE
- BEGIN
- SET @AvatarFrame = 401040 --E头像框
- END
- -- 牌背获得概率
- -- 随机数调用
- EXEC [Game_Rand_GetRnd] @Min, @Max, @Rnd OUTPUT
- IF(@Rnd <= 35)
- BEGIN
- SET @CardBack = 406050 --C牌背
- END
- ELSE IF(@Rnd <= 70)
- BEGIN
- SET @CardBack = 406040 --F牌背
- END
- ELSE IF(@Rnd <= 80)
- BEGIN
- SET @CardBack = 406030 --B牌背
- END
- ELSE IF(@Rnd <= 90)
- BEGIN
- SET @CardBack = 406020 --D牌背
- END
- ELSE
- BEGIN
- SET @CardBack = 406010 --E牌背
- END
- -- 骰子获得概率
- -- 随机数调用
- EXEC [Game_Rand_GetRnd] @Min, @Max, @Rnd OUTPUT
- IF(@Rnd <= 55)
- BEGIN
- SET @Dice = 408030 --骰子E
- END
- ELSE IF(@Rnd <= 70)
- BEGIN
- SET @Dice = 408010 --骰子B
- END
- ELSE IF(@Rnd <= 85)
- BEGIN
- SET @Dice = 408020 --骰子C
- END
- ELSE
- BEGIN
- SET @Dice = 408040 --骰子D
- END
- EXEC [Game_Rand_GetRnd] 6, 9, @VipLevel OUTPUT -- vip等级6-9
- EXEC [Game_Rand_GetRnd] 500000, 1000000, @Gold OUTPUT -- 金币500k-1m
- EXEC [Game_Rand_GetRnd] 20, 200, @Charm OUTPUT -- 魅力值20-200
- EXEC [Game_Rand_GetRnd] 20, 50, @Level OUTPUT -- 等级20-50
- END
-
- -- 超R
- ELSE IF(@RobotType = 4)
- BEGIN
- -- 头像获得概率
- IF(@Rnd <= 25)
- BEGIN
- SET @AvatarFrame = 401020 --B头像框
- END
- ELSE IF(@Rnd <= 50)
- BEGIN
- SET @AvatarFrame = 401050 --C头像框
- END
- ELSE IF(@Rnd <= 75)
- BEGIN
- SET @AvatarFrame = 401030 --D头像框
- END
- ELSE
- BEGIN
- SET @AvatarFrame = 401040 --E头像框
- END
- -- 牌背获得概率
- -- 随机数调用
- EXEC [Game_Rand_GetRnd] @Min, @Max, @Rnd OUTPUT
- IF(@Rnd <= 20)
- BEGIN
- SET @CardBack = 406030 --B牌背
- END
- ELSE IF(@Rnd <= 40)
- BEGIN
- SET @CardBack = 406050 --C牌背
- END
- ELSE IF(@Rnd <= 60)
- BEGIN
- SET @CardBack = 406020 --D牌背
- END
- ELSE IF(@Rnd <= 80)
- BEGIN
- SET @CardBack = 406010 --E牌背
- END
- ELSE
- BEGIN
- SET @CardBack = 406040 --F牌背
- END
- -- 骰子获得概率
- SET @Rnd = RAND()
- IF(@Rnd <= 70)
- BEGIN
- SET @Dice = 408030 --骰子E
- END
- ELSE IF(@Rnd <= 80)
- BEGIN
- SET @Dice = 408010 --骰子B
- END
- ELSE IF(@Rnd <= 90)
- BEGIN
- SET @Dice = 408020 --骰子C
- END
- ELSE
- BEGIN
- SET @Dice = 408030 --骰子E
- END
- EXEC [Game_Rand_GetRnd] 7, 10, @VipLevel OUTPUT -- vip等级7-10
- EXEC [Game_Rand_GetRnd] 900000, 3000000, @Gold OUTPUT -- 金币900k-3m
- EXEC [Game_Rand_GetRnd] 40, 400, @Charm OUTPUT -- 魅力值40-400
- EXEC [Game_Rand_GetRnd] 40, 80, @Level OUTPUT -- 等级40-80
- END
- -- 普通
- ELSE
- BEGIN
- -- 头像获得概率
- IF(@Rnd <= 95)
- BEGIN
- SET @AvatarFrame = 0 --默认头像框
- END
- ELSE
- BEGIN
- SET @AvatarFrame = 401020 --B头像框
- END
- -- 牌背、骰子获得概率
- -- 随机数调用
- EXEC [Game_Rand_GetRnd] @Min, @Max, @Rnd OUTPUT
- IF(@Rnd <= 97)
- BEGIN
- SET @CardBack = 0 --默认牌背
- SET @Dice = 0 --默认骰子
- END
- ELSE IF(@Rnd <= 98)
- BEGIN
- SET @CardBack = 406030 --B牌背
- SET @Dice = 408010 --骰子B
- END
- ELSE IF(@Rnd <= 99)
- BEGIN
- SET @CardBack = 406020 --D牌背
- SET @Dice = 408020 --骰子C
- END
- ELSE
- BEGIN
- SET @CardBack = 406010 --E牌背
- SET @Dice = 408030 --骰子D
- END
-
- EXEC [Game_Rand_GetRnd] 0, 1, @VipLevel OUTPUT -- vip等级0-1
- EXEC [Game_Rand_GetRnd] 30000, 70000, @Gold OUTPUT -- 金币30k-70k
- EXEC [Game_Rand_GetRnd] 0, 20, @Charm OUTPUT -- 魅力值0-20
- EXEC [Game_Rand_GetRnd] 1, 10, @Level OUTPUT -- 等级1-10
- END
- -- SELECT @AvatarFrame AS AvatarFrame, @CardBack AS CardBack, @Dice AS Dice, @VipLevel AS VipLevel, @Gold AS Gold, @Charm AS Charm, @Level AS [Level]
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_ROI_Del] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_ROI_Del]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 投入产出项删除
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_ROI_Del]
- @Rid INT --标识
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT --操作结果
- DECLARE @Crdate DATETIME --时间
-
- SET @RetCode = 0
-
- --信息
- SELECT @Crdate = Crdate FROM [ROI] WHERE Rid = @Rid
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --只能删除7天内数据
- IF(@Crdate <= GETDATE() - 7)
- BEGIN
- SET @RetCode = 12
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --删除
- DELETE FROM [ROI] WHERE Rid = @Rid
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --返回信息
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_ROI_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_ROI_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 投入产出项列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_ROI_GetList]
- @DateFlag SMALLDATETIME --日期
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- Rid, CONVERT(VARCHAR(10), DateFlag, 120) AS DateFlag,
- ItemType, ItemName, ItemValue
- FROM
- [ROI]
- WHERE
- DateFlag = @DateFlag
- ORDER BY
- DateFlag DESC, ItemType ASC, ItemName DESC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_ROI_GetListByMonth] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_ROI_GetListByMonth]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 投入产出项列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_ROI_GetListByMonth]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- CONVERT(VARCHAR(7), DateFlag, 120) AS DateFlag,
- ItemType, ItemName, SUM(ItemValue) AS ItemValue
- FROM
- [ROI]
- GROUP BY
- CONVERT(VARCHAR(7), DateFlag, 120), ItemType, ItemName
- ORDER BY
- DateFlag DESC, ItemType ASC, ItemName DESC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_ROI_Insert] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_ROI_Insert]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 投入产出项录入
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_ROI_Insert]
- @DateFlag SMALLDATETIME, --日期标识
- @ItemType TINYINT, --项类型(1=计数 2=计价)
- @ItemName NVARCHAR(32), --项名称
- @ItemValue DECIMAL(18, 2) --项值
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- INSERT INTO [ROI]
- (
- DateFlag, ItemType, ItemName, ItemValue, Crdate
- )
- VALUES
- (
- @DateFlag, @ItemType, @ItemName, @ItemValue, GETDATE()
- )
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_RoleUser_AddUser] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_RoleUser_AddUser]
- -- @OpUserID = 1001,
- -- @OpUserName = '',
- -- @AdminUserID = 1,
- -- @AdminRoleIDs = '1,2,3,',
- -- @IPAddress = ''
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2013-07-09
- -- Mendor: wolf
- -- Alter Date: 2013-07-10
- -- Description: 添加角色用户
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_RoleUser_AddUser]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @AdminUserID INT, --管理用户ID
- @AdminRoleIDs VARCHAR(1024), --管理角色ID集 (格式如:1,2,3,)
- @IPAddress VARCHAR(15) -- IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartIndex INT --起始索引
- DECLARE @EndIndex INT --截止索引
- DECLARE @AdminRoleID INT --角色ID
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @AdminUserName VARCHAR(32) --管理用户名称
- DECLARE @RoleList NVARCHAR(1024) --角色列表
- DECLARE @CurrTime DATETIME --系统当前时间
-
- --申请表变量
- DECLARE @tmptable TABLE(
- AdminRoleID INT NOT NULL, --管理角色ID
- AdminRoleName NVARCHAR(32) NOT NULL --管理角色名称
- )
- SET @StartIndex = 0
- SET @EndIndex = 0
- SET @CurrTime = GETDATE()
- WHILE(1=1)
- BEGIN
- --截止索引
- SET @EndIndex = CHARINDEX(',', @AdminRoleIDs, @StartIndex)
- IF(@EndIndex <= 0)
- BREAK
- --角色ID
- SET @AdminRoleID = CAST(SUBSTRING(@AdminRoleIDs, @StartIndex, @EndIndex - @StartIndex) AS INT)
- --初始化表变量
- INSERT INTO @tmptable(AdminRoleID, AdminRoleName) VALUES(@AdminRoleID, '')
- --起始索引
- SET @StartIndex = @EndIndex + 1
- END
- --角色名称
- UPDATE t SET t.AdminRoleName = r.RoleName FROM @tmptable t INNER JOIN [Role] r ON t.AdminRoleID = r.RoleID
- --删除当前角色用户
- DELETE FROM [RoleUser] WHERE AdminUserID = @AdminUserID
- --添加角色用户
- INSERT INTO [RoleUser]
- (
- AdminUserID, RoleID, Crdate
- )
- SELECT
- @AdminUserID, AdminRoleID, @CurrTime
- FROM
- @tmptable
- --管理用户名称
- SET @AdminUserName = (SELECT AdminUserName FROM [AdminUser] WHERE AdminUserID = @AdminUserID)
- SET @Msg = N'Set role permissions for administrators(' + @AdminUserName + ')'
- --有数据
- IF(@StartIndex > 0)
- BEGIN
- SET @Msg = @Msg + N' current role permissions:'
- SET @RoleList = ''
- --角色名称
- SELECT @RoleList = @RoleList + ',' + AdminRoleName FROM @tmptable
- SET @Msg = @Msg + STUFF(@RoleList, 1, 1, '')
- END
- ELSE
- BEGIN
- SET @Msg = @Msg + N' all role permissions removed'
- END
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName,
- @IPAddress = @IPAddress, @Msg = @Msg
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_RoleUser_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_RoleUser_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2013-07-09
- -- Mendor: wolf
- -- Alter Date: 2013-07-22
- -- Description: 获取角色用户列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_RoleUser_GetList]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息:用户ID(AdminUserID)(int)、用户名称(AdminUserName)(varchar(32))、
- -- 角色ID(AdminRoleID)(int)、角色名称(AdminRoleName)(varchar(32))、创建时间(Crdate)(datetime)
- SELECT
- ISNULL(u.AdminUserID, 0) AS AdminUserID, ISNULL(u.AdminUserName, '') AS AdminUserName,
- ISNULL(r.RoleID, 0) AS AdminRoleID, ISNULL(r.RoleName, '') AS AdminRoleName,
- CONVERT(CHAR(20), ISNULL(ur.Crdate, '2020-01-01'), 120) AS Crdate
- FROM
- [AdminUser] u FULL JOIN [RoleUser] ur ON ur.AdminUserID = u.AdminUserID
- FULL JOIN [Role] r ON ur.RoleID = r.RoleID
- ORDER BY
- r.RoleID ASC, u.AdminUserID ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_ServiceMessage_GetDetailList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RecordCount INT
- -- EXEC [Manage_ServiceMessage_GetList]
- -- @UserID = 1,
- -- @BeginTime = '',
- -- @EndTime = '',
- -- @PageIndex = 1,
- -- @PageSize = 10,
- -- @RecordCount = @RecordCount OUTPUT
- -- SELECT @RecordCount AS RecordCount
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-09
- -- Mendor: wolf
- -- Alter Date: 2014-12-22
- -- Description: 获取用户详细信息列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_ServiceMessage_GetDetailList]
- @UserID INT, --用户ID
- @BeginTime DATETIME, --起始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT, --总记录数
- @OpUserID INT --操作员ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --行起始索引
- DECLARE @EndRowIndex INT --截止行索引
- DECLARE @NickName NVARCHAR(32) --昵称
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --创建临时表
- CREATE TABLE #tmptable(
- MessageID INT NOT NULL, --留言板ID
- UserID INT NOT NULL, --用户ID
- Msg NVARCHAR(512) NOT NULL, --消息
- IsRead TINYINT NOT NULL, --是否已读
- Crdate DATETIME NOT NULL, --创建时间
- OpUserID INT NOT NULL, --操作员ID
- OpUserName VARCHAR(32) NOT NULL, --操作员名称
- TransMsg NVARCHAR(512) NOT NULL, --译文
- TagID INT NOT NULL --标签ID
- )
-
- --置为已读
- UPDATE [ServiceMessage] SET IsRead = 1 WHERE UserID = @UserID AND IsRead = 0
-
- --初始化临时表
- INSERT INTO #tmptable
- (
- MessageID, UserID, Msg, IsRead, Crdate, OpUserID, OpUserName, TransMsg, TagID
- )
- SELECT
- MessageID, UserID, Msg, IsRead, Crdate, OpUserID, OpUserName, TransMsg, TagID
- FROM
- [ServiceMessage]
- WHERE
- ToUserID = @UserID AND UserID = -1 AND Crdate BETWEEN @BeginTime AND @EndTime
-
- UNION ALL
-
- SELECT
- MessageID, UserID, Msg, IsRead, Crdate, OpUserID, OpUserName, TransMsg, TagID
- FROM
- [ServiceMessage]
- WHERE
- UserID = @UserID AND ToUserID = -1 AND Crdate BETWEEN @BeginTime AND @EndTime
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- --获取昵称
- IF(@RecordCount > 0)
- BEGIN
- SELECT @NickName = NickName FROM [AllUser] WHERE UserID = @UserID
- END
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY MessageID ASC) AS RowNumber,
- MessageID, UserID, Msg, IsRead, Crdate, OpUserID, OpUserName, TransMsg, TagID
- FROM
- #tmptable
- )
-
- --返回信息:
- SELECT
- l.MessageID, l.UserID,
- CASE
- WHEN l.UserID = -1 THEN l.OpUserName + '(ID:' + LTRIM(STR(l.OpUserID)) + ')'
- ELSE @NickName + '(ID:' + LTRIM(STR(l.UserID)) + ')'
- END AS NickName,
- l.Msg, l.IsRead,
- CONVERT(CHAR(20), l.Crdate, 120) AS Crdate,
- ISNULL(f.FaceUrl, '') AS FaceUrl, l.TransMsg,
- ISNULL(m.TagName, '') AS TagName
- FROM
- [List] l LEFT JOIN [AllUser] u ON l.UserID = u.UserID
- LEFT JOIN [UserFace] f ON l.UserID = f.UserID
- LEFT JOIN [MsgTag] m ON l.TagID = m.TagID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- --删除临时表
- DROP TABLE #tmptable
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_ServiceMessage_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_ServiceMessage_GetInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-09
- -- Mendor: wolf
- -- Alter Date: 2014-12-22
- -- Description: 获取客服留言信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_ServiceMessage_GetInfo]
- @MessageID INT --留言ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- s.UserID, ISNULL(u.NickName, '') AS NickName, s.Msg,
- CONVERT(CHAR(16), s.Crdate, 120) AS Crdate, s.TransMsg, s.TagID
- FROM
- [ServiceMessage] s LEFT JOIN [AllUser] u ON s.UserID = u.UserID
- WHERE
- s.MessageID = @MessageID
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_ServiceMessage_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RecordCount INT
- -- EXEC [Manage_ServiceMessage_GetList]
- -- @UserID = 1,
- -- @BeginTime = '',
- -- @EndTime = '',
- -- @PageIndex = 1,
- -- @PageSize = 10,
- -- @RecordCount = @RecordCount OUTPUT
- -- SELECT @RecordCount AS RecordCount
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-09
- -- Mendor: wolf
- -- Alter Date: 2014-11-18
- -- Description: 获取用户邮件列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_ServiceMessage_GetList]
- @UserID INT, --用户ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --结束时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @Sort TINYINT, --排序(0=最新 1=最早)
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
- --创建邮箱列表
- DECLARE @tmpMailList TABLE(
- Rid INT IDENTITY,
- UserID INT NOT NULL, --用户ID
- MessageID INT NOT NULL, --用户邮件ID
- IsRead TINYINT NOT NULL
- )
- --创建临时表
- DECLARE @tmptable TABLE(
- Rid INT IDENTITY NOT NULL,
- UserID INT NOT NULL,
- MailCount INT NOT NULL,
- MessageID INT NOT NULL,
- IsRead TINYINT NOT NULL
- )
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- --查询某个用户ID
- IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmpMailList
- (
- UserID, MessageID, IsRead
- )
- SELECT
- @UserID, MessageID, CASE WHEN UserID > 0 AND IsRead = 0 THEN 0 ELSE 1 END
- FROM
- [ServiceMessage]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND ((ToUserID = @UserID AND UserID = -1) OR (ToUserID = -1 AND UserID = @UserID))
- ORDER BY
- IsRead ASC
- END
-
- --查询所有用户
- ELSE
- BEGIN
- INSERT INTO @tmpMailList
- (
- UserID, MessageID, IsRead
- )
- SELECT
- CASE WHEN ToUserID = -1 THEN UserID ELSE ToUserID END, MessageID, CASE WHEN UserID > 0 AND IsRead = 0 THEN 0 ELSE 1 END
- FROM
- [ServiceMessage]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND (ToUserID = -1 OR UserID = -1)
- ORDER BY
- IsRead ASC
- END
- --分组统计
- INSERT INTO @tmptable(UserID, MailCount, MessageID, IsRead)
- SELECT
- UserID, COUNT(UserID), MAX(MessageID), MIN(IsRead)
- FROM
- @tmpMailList
- GROUP BY
- UserID
- --总记录数
- SET @RecordCount = @@ROWCOUNT
- --最新排序(默认排序)
- IF(@Sort = 0)
- BEGIN
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY IsRead ASC, MessageID DESC) AS RowNumber,
- UserID, MailCount, MessageID
- FROM
- @tmptable
- )
- --返回信息:序号(RowNumber)(int)、用户ID(UserID)(int)、昵称(NickName)(varchar)、邮件数(MailCount)(int)、
- -- 时间(Crdate)(varchar)
- SELECT
- l.RowNumber, l.UserID, u.NickName, l.MailCount,
- CONVERT(CHAR(20), um.Crdate, 120) AS Crdate,
- CASE WHEN um.OpUserID > 0 THEN 'Customer service reply:' ELSE 'Game player news:' END +
- CASE
- WHEN um.IsRead = 0 AND um.OpUserID > 0 THEN '<font color="green">' + CASE WHEN um.TransMsg != '' THEN um.TransMsg ELSE um.Msg END + '</font>'
- WHEN um.IsRead = 0 AND um.OpUserID <= 0 THEN '<font color="red">' + CASE WHEN um.TransMsg != '' THEN um.TransMsg ELSE um.Msg END + '</font>'
- ELSE CASE WHEN um.TransMsg != '' THEN um.TransMsg ELSE um.Msg END
- END AS Msg
- FROM
- [List] l LEFT JOIN [AllUser] u ON l.UserID = u.UserID
- INNER JOIN [ServiceMessage] um ON l.MessageID = um.MessageID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
- RETURN
- END
-
- --最早排序
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY IsRead ASC, MessageID ASC) AS RowNumber,
- UserID, MailCount, MessageID
- FROM
- @tmptable
- )
- --返回信息:序号(RowNumber)(int)、用户ID(UserID)(int)、昵称(NickName)(varchar)、邮件数(MailCount)(int)、
- -- 时间(Crdate)(varchar)
- SELECT
- l.RowNumber, l.UserID, u.NickName, l.MailCount,
- CONVERT(CHAR(20), um.Crdate, 120) AS Crdate,
- CASE WHEN um.OpUserID > 0 THEN 'Customer service reply:' ELSE 'Game player news:' END +
- CASE
- WHEN um.IsRead = 0 AND um.OpUserID > 0 THEN '<font color="green">' + CASE WHEN um.TransMsg != '' THEN um.TransMsg ELSE um.Msg END + '</font>'
- WHEN um.IsRead = 0 AND um.OpUserID <= 0 THEN '<font color="red">' + CASE WHEN um.TransMsg != '' THEN um.TransMsg ELSE um.Msg END + '</font>'
- ELSE CASE WHEN um.TransMsg != '' THEN um.TransMsg ELSE um.Msg END
- END AS Msg
- FROM
- [List] l LEFT JOIN [AllUser] u ON l.UserID = u.UserID
- INNER JOIN [ServiceMessage] um ON l.MessageID = um.MessageID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_ServiceMessage_GetListByTag] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_ServiceMessage_GetListByTag]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-09
- -- Mendor: wolf
- -- Alter Date: 2014-11-18
- -- Description: 根据标签获取列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_ServiceMessage_GetListByTag]
- @TagID INT, --TagID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndEx INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --行起始索引
- DECLARE @EndRowIndex INT --截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --创建临时表
- DECLARE @tmptable TABLE(
- MessageID INT NOT NULL, --留言板ID
- UserID INT NOT NULL, --用户ID
- Msg NVARCHAR(512) NOT NULL, --消息
- Crdate DATETIME NOT NULL, --创建时间
- TransMsg NVARCHAR(512) NOT NULL --译文
- )
-
- --初始化临时表
- INSERT INTO @tmptable
- (
- MessageID, UserID, Msg, Crdate, TransMsg
- )
- SELECT
- MessageID, UserID, Msg, Crdate, TransMsg
- FROM
- [ServiceMessage]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND TagID = @TagID
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY MessageID ASC) AS RowNumber,
- MessageID, UserID, Msg, Crdate, TransMsg
- FROM
- @tmptable
- )
-
- --返回信息:
- SELECT
- l.MessageID, l.UserID, u.NickName, l.Msg, CONVERT(CHAR(20), l.Crdate, 120) AS Crdate,
- ISNULL(f.FaceUrl, '') AS FaceUrl, l.TransMsg
- FROM
- [List] l LEFT JOIN [AllUser] u ON l.UserID = u.UserID
- LEFT JOIN [UserFace] f ON l.UserID = f.UserID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
-
- GO
- /****** Object: StoredProcedure [dbo].[Manage_ServiceMessage_GetTagList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
-
- -- EXEC [Manage_ServiceMessage_GetTagList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-09
- -- Mendor: wolf
- -- Alter Date: 2014-11-18
- -- Description: 获取标签列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_ServiceMessage_GetTagList]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT TagID, TagName FROM [MsgTag] ORDER BY TagID ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_ServiceMessage_GetTagStat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_ServiceMessage_GetTagStat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-10-08
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 客服留言标签统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_ServiceMessage_GetTagStat]
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME --截止时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --表变量
- DECLARE @tmptable TABLE(
- DateFlag SMALLDATETIME NOT NULL, --日期标识
- TagID INT NOT NULL, --标签ID
- MsgCount INT NOT NULL --消息数
- )
-
- SET @EndTime = CONVERT(CHAR(11), @EndTime, 120)
-
- --初始化表变量
- INSERT INTO @tmptable
- (
- DateFlag, TagID, MsgCount
- )
- SELECT
- CONVERT(CHAR(10), Crdate, 120), TagID, COUNT(MessageID)
- FROM
- [ServiceMessage]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- GROUP BY
- CONVERT(CHAR(10), Crdate, 120), TagID
-
- --返回信息
- SELECT
- CONVERT(CHAR(10), t.DateFlag, 120) AS DateFlag, t.TagID, m.TagName, t.MsgCount
- FROM
- @tmptable t INNER JOIN [MsgTag] m ON t.TagID = m.TagID
- ORDER BY
- t.DateFlag ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_ServiceMessage_Send] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
-
- -- EXEC [Manage_ServiceMessage_Send]
- -- @OpUserID = 1,
- -- @OpUserName = '',
- -- @ToUserID = 1,
- -- @Msg = '',
- -- @IPAddress = ''
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-08-29
- -- Mendor: wolf
- -- Alter Date: 2014-11-18
- -- Description: 客服回复
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_ServiceMessage_Send]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @ToUserID INT, --对方用户ID
- @Msg NVARCHAR(512), --留言内容
- @TransMsg NVARCHAR(512), --译文
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --插入客服留言信息
- INSERT INTO [ServiceMessage]
- (
- UserID, Title, ToUserID, Msg, IsRead, Crdate, OpUserID, OpUserName, TransMsg, TagID
- )
- VALUES
- (
- -1, '',@ToUserID, @Msg, 0, GETDATE(), @OpUserID, @OpUserName, @TransMsg, 0
- )
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_ServiceMessage_TagStat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_ServiceMessage_TagStat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-09
- -- Mendor: wolf
- -- Alter Date: 2014-11-18
- -- Description: 邮件标签统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_ServiceMessage_TagStat]
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- DECLARE @tmptable TABLE(
- DateFlag SMALLDATETIME NOT NULL, --日期标识
- TagID INT NOT NULL, --标签ID
- MsgCount INT NOT NULL --数量
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- SET @EndTime = CONVERT(CHAR(11), @EndTime, 120) + '23:59:59'
-
- --初始化表变量
- INSERT INTO @tmptable
- (
- DateFlag, TagID, MsgCount
- )
- SELECT
- CONVERT(CHAR(10), Crdate, 120), TagID, COUNT(TagID)
- FROM
- [ServiceMessage]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND TagID > 0
- GROUP BY
- CONVERT(CHAR(10), Crdate, 120), TagID
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY DateFlag DESC) AS RowNumber,
- DateFlag, TagID, MsgCount
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- CONVERT(VARCHAR(10), l.DateFlag, 120) AS DateFlag, l.TagID, m.TagName, l.MsgCount
- FROM
- [List] l INNER JOIN [MsgTag] m ON l.TagID = m.TagID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_ServiceMessage_Translate] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_ServiceMessage_Translate]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-09
- -- Mendor: wolf
- -- Alter Date: 2014-11-18
- -- Description: 客服留言翻译
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_ServiceMessage_Translate]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @MessageID INT, --留言ID
- @TransMsg NVARCHAR(512), --译文
- @TagID INT --标签ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- UPDATE
- [ServiceMessage]
- SET
- TagID = @TagID,
- TransMsg = CASE WHEN @TransMsg != '' THEN @TransMsg ELSE TransMsg END,
- OpUserID = CASE WHEN @OpUserID > 0 THEN @OpUserID ELSE OpUserID END,
- OpUserName = CASE WHEN @OpUserName != '' THEN @OpUserName ELSE OpUserName END
- WHERE
- MessageID = @MessageID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Slot_GetStat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Slot_GetStat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-10-08
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: Slot游戏统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Slot_GetStat]
- @GameID INT, --游戏ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME --截止时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- InvestAmount, SUM(BetAmount) AS BetAmount, SUM(BetTimes) AS BetTimes,
- SUM(ResultAmount) AS ResultAmount, SUM(WinTimes) AS WinTimes, SUM(WinAmount) AS WinAmount,
- SUM(Tax) AS Tax, SUM(MaxResultAmount) AS MaxResultAmount
- FROM
- [SlotStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND GameID = @GameID
- GROUP BY
- InvestAmount
- ORDER BY
- InvestAmount ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Slot_GetStatDetail] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Slot_GetStatDetail]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-10-08
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: Slot游戏统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Slot_GetStatDetail]
- @GameID INT, --游戏ID
- @InvestAmount BIGINT, --下注额
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME --截止时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- IF(@InvestAmount > 0)
- BEGIN
- --返回信息
- SELECT
- CONVERT(VARCHAR(16), DateFlag, 120) AS DateFlag, BetAmount, BetTimes, ResultAmount,
- WinTimes, WinAmount, Tax, MaxResultAmount
- FROM
- [SlotStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND GameID = @GameID AND InvestAmount = @InvestAmount
- ORDER BY
- DateFlag ASC
-
- RETURN
- END
-
- --返回信息
- SELECT
- CONVERT(VARCHAR(16), DateFlag, 120) AS DateFlag,
- SUM(CASE WHEN InvestAmount % 100 = 0 THEN BetAmount ELSE 0 END) AS BetAmount,
- SUM(CASE WHEN InvestAmount % 100 = 0 THEN BetTimes ELSE 0 END) AS BetTimes,
- SUM(ResultAmount) AS ResultAmount,
- SUM(CASE WHEN InvestAmount % 100 = 0 THEN WinTimes ELSE 0 END) AS WinTimes,
- SUM(WinAmount) AS WinAmount, SUM(Tax) AS Tax, SUM(MaxResultAmount) AS MaxResultAmount
- FROM
- [SlotStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND GameID = @GameID
- GROUP BY
- DateFlag
- ORDER BY
- DateFlag ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_SlotChip_GetStat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_SlotChip_GetStat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-10-08
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: Slot游戏统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_SlotChip_GetStat]
- @GameID INT, --游戏ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME --截止时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- InvestAmount, SUM(BetAmount) AS BetAmount, SUM(BetTimes) AS BetTimes,
- SUM(ResultAmount) AS ResultAmount, SUM(WinTimes) AS WinTimes, SUM(WinAmount) AS WinAmount,
- SUM(Tax) AS Tax, SUM(MaxResultAmount) AS MaxResultAmount
- FROM
- [SlotChipStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND GameID = @GameID
- GROUP BY
- InvestAmount
- ORDER BY
- InvestAmount ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_SlotChip_GetStatDetail] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_SlotChip_GetStatDetail]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-10-08
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: Slot游戏统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_SlotChip_GetStatDetail]
- @GameID INT, --游戏ID
- @InvestAmount BIGINT, --下注额
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME --截止时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- IF(@InvestAmount > 0)
- BEGIN
- --返回信息
- SELECT
- CONVERT(VARCHAR(16), DateFlag, 120) AS DateFlag, BetAmount, BetTimes, ResultAmount,
- WinTimes, WinAmount, Tax, MaxResultAmount
- FROM
- [SlotChipStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND GameID = @GameID AND InvestAmount = @InvestAmount
- ORDER BY
- DateFlag ASC
-
- RETURN
- END
-
- --返回信息
- SELECT
- CONVERT(VARCHAR(16), DateFlag, 120) AS DateFlag,
- SUM(CASE WHEN InvestAmount % 100 = 0 THEN BetAmount ELSE 0 END) AS BetAmount,
- SUM(CASE WHEN InvestAmount % 100 = 0 THEN BetTimes ELSE 0 END) AS BetTimes,
- SUM(ResultAmount) AS ResultAmount,
- SUM(CASE WHEN InvestAmount % 100 = 0 THEN WinTimes ELSE 0 END) AS WinTimes,
- SUM(WinAmount) AS WinAmount, SUM(Tax) AS Tax, SUM(MaxResultAmount) AS MaxResultAmount
- FROM
- [SlotChipStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND GameID = @GameID
- GROUP BY
- DateFlag
- ORDER BY
- DateFlag ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_SNGMatch_GetChairHistory] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_SNGMatch_GetChairHistory]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: SNG比赛场椅子历史
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_SNGMatch_GetChairHistory]
- @SerialNumber BIGINT --流水号ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- c.UserID, u.NickName, c.RankId, c.Score, c.ItemId, c.Fee
- FROM
- [SNGMatchChairHistory] c LEFT JOIN [AllUser] u ON c.UserID = u.UserID
- WHERE
- c.SerialNumber = @SerialNumber
- ORDER BY
- c.Rid ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_SNGMatch_GetHistoryList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_SNGMatch_GetHistoryList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: SNG比赛场历史
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_SNGMatch_GetHistoryList]
- @UserID INT, --用户ID
- @GameID INT, --游戏ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- --变量用户
- DECLARE @tmpRoom TABLE(
- SerialNumber BIGINT NOT NULL --流水号
- )
-
- --表变量
- DECLARE @tmptable TABLE(
- SerialNumber BIGINT NOT NULL, --流水号
- MatchID INT NOT NULL, --比赛ID
- MatchNo VARCHAR(32) NOT NULL, --比赛号
- MatchName VARCHAR(32) NOT NULL, --比赛名称
- GameID INT NOT NULL, --游戏ID
- GameName VARCHAR(32) NOT NULL, --游戏名称
- StartTime DATETIME NOT NULL, --开始时间
- EndTime DATETIME NOT NULL --结束时间
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --查询某个用户
- IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmpRoom(SerialNumber)
- SELECT DISTINCT
- SerialNumber
- FROM
- [SNGMatchChairHistory]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
-
- INSERT INTO @tmptable
- (
- SerialNumber, MatchID, MatchNo, MatchName, GameID, GameName, StartTime, EndTime
- )
- SELECT
- SerialNumber, MatchID, MatchNo, MatchName, GameID, GameName, StartTime, EndTime
- FROM
- [SNGMatchHistory]
- WHERE
- StartTime BETWEEN @BeginTime AND @EndTime AND SerialNumber IN (SELECT SerialNumber FROM @tmpRoom)
- END
-
- --查询某个游戏
- ELSE IF(@GameID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- SerialNumber, MatchID, MatchNo, MatchName, GameID, GameName, StartTime, EndTime
- )
- SELECT
- SerialNumber, MatchID, MatchNo, MatchName, GameID, GameName, StartTime, EndTime
- FROM
- [SNGMatchHistory]
- WHERE
- StartTime BETWEEN @BeginTime AND @EndTime AND GameID = @GameID
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- SerialNumber, MatchID, MatchNo, MatchName, GameID, GameName, StartTime, EndTime
- )
- SELECT
- SerialNumber, MatchID, MatchNo, MatchName, GameID, GameName, StartTime, EndTime
- FROM
- [SNGMatchHistory]
- WHERE
- StartTime BETWEEN @BeginTime AND @EndTime
- END
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY StartTime DESC) AS RowNumber,
- SerialNumber, MatchID, MatchNo, MatchName, GameID, GameName, StartTime, EndTime
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- SerialNumber, MatchID, MatchNo, MatchName, GameID, GameName,
- CONVERT(VARCHAR(20), StartTime, 120) AS StartTime, CONVERT(VARCHAR(20), EndTime, 120) AS EndTime,
- DATEDIFF(SECOND, StartTime, EndTime) AS PlaySeconds
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_SNGMatchReport_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_SNGMatchReport_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 挑战赛报表列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_SNGMatchReport_GetList]
- @BeginTime SMALLDATETIME, --开始时间
- @EndTime SMALLDATETIME --截止时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- Rid, CONVERT(VARCHAR(10), DateFlag, 120) AS DateFlag,
- ItemType, ItemName, ItemValue, ItemTag
- FROM
- [SNGMatchReport]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime
- ORDER BY
- DateFlag DESC, ItemType ASC, ItemTag ASC, Rid ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_SysLog_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RecordCount INT
- -- EXEC [Manage_SysLog_GetList]
- -- @OpUserID = 0,
- -- @StartTime = '',
- -- @EndTime = '',
- -- @PageIndex = 1,
- -- @PageSize = 10,
- -- @RecordCount = @RecordCount OUTPUT
- -- SELECT @RecordCount AS RecordCount
- -- =============================================
- -- Author: wolf
- -- Create Date: 2016-10-21
- -- Mendor: wolf
- -- Alter Date: 2016-10-21
- -- Description: 系统日志列表
- -- =============================================
- CREATE PROCEDURE [dbo].[Manage_SysLog_GetList]
- @OpUserID INT, --操作员ID
- @StartTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT = 1, --页索引
- @PageSize INT = 10, --页大小
- @RecordCount INT OUTPUT --总记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始索引
- DECLARE @EndRowIndex INT --终止索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --创建临时表
- CREATE TABLE #tmpLog(
- SysLogID INT NOT NULL,
- OpUserID INT NOT NULL,
- OpUserName VARCHAR(32) NOT NULL,
- IPAddress VARCHAR(15) NOT NULL,
- Msg NVARCHAR(4000) NOT NULL,
- Crdate DATETIME NOT NULL
- )
-
- --查询某个操作员日志
- IF(@OpUserID > 0)
- BEGIN
- INSERT INTO #tmpLog
- (
- SysLogID, OpUserID, OpUserName, IPAddress, Msg, Crdate
- )
- SELECT
- SysLogID, OpUserID, OpUserName, IPAddress, Msg, Crdate
- FROM
- [SysLog]
- WHERE
- OpUserID = @OpUserID AND Crdate BETWEEN @StartTime AND @EndTime
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
- END
-
- --查询所有操作员日志
- ELSE
- BEGIN
- INSERT INTO #tmpLog
- (
- SysLogID, OpUserID, OpUserName, IPAddress, Msg, Crdate
- )
- SELECT
- SysLogID, OpUserID, OpUserName, IPAddress, Msg, Crdate
- FROM
- [SysLog]
- WHERE
- Crdate BETWEEN @StartTime AND @EndTime
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
- END
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY SysLogID DESC) AS RowNumber,
- SysLogID, OpUserID, OpUserName, IPAddress, Msg, Crdate
- FROM
- #tmpLog
- )
-
- --返回信息:日志ID(AdminLogID)、管理员ID(AdminUserID)、管理员名称(AdminUserName)、
- -- IP地址(IPAddress)、消息(Msg)、创建时间(Crdate)
- SELECT
- SysLogID, OpUserID, OpUserName, IPAddress, Msg, CONVERT(CHAR(16), Crdate, 120) AS Crdate
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- --删除临时表
- DROP TABLE #tmpLog
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_SysMessage_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RecordCount INT
- -- EXEC [Manage_SysMessage_GetList]
- -- @UserID = 1,
- -- @BeginTime = '',
- -- @EndTime = '',
- -- @PageIndex = '',
- -- @PageSize = 1,
- -- @RecordCount = @RecordCount OUTPUT
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-19
- -- Mendor: wolf
- -- Alter Date: 2015-01-07
- -- Description: 发送系统消息
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_SysMessage_GetList]
- @UserID INT, --用户ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- --创建临时表
- DECLARE @tmptable TABLE(
- SysMsgID INT NOT NULL, --标识
- UserID INT NOT NULL, --用户ID
- Title NVARCHAR(32) NOT NULL, --标题
- Content NVARCHAR(256) NOT NULL, --内容
- Status TINYINT NOT NULL, --状态 0=未读 1=已读 2=已领取
- SourceName NVARCHAR(32) NOT NULL, --源名称
- Crdate DATETIME NOT NULL, --时间
- Tools VARCHAR(1024) NOT NULL --附件(json格式)
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --查询某个用户
- IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- SysMsgID, UserID, Title, Content, Status, SourceName, Crdate, Tools
- )
- SELECT TOP 10000
- SysMsgID, UserID, Title, Content, Status, SourceName, Crdate, Tools
- FROM
- [SysMessage]
- WHERE
- UserID = @UserID AND Crdate BETWEEN @BeginTime AND @EndTime
- ORDER BY
- SysMsgID DESC
- END
-
- --所有用户
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- SysMsgID, UserID, Title, Content, Status, SourceName, Crdate, Tools
- )
- SELECT TOP 10000
- SysMsgID, UserID, Title, Content, Status, SourceName, Crdate, Tools
- FROM
- [SysMessage]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- ORDER BY
- SysMsgID DESC
- END
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY SysMsgID DESC) AS RowNumber,
- SysMsgID, UserID, Title, Content, Status, SourceName, Crdate, Tools
- FROM
- @tmptable
- )
-
- SELECT
- l.SysMsgID, u.UserID, u.NickName, l.Title, l.Content,
- l.Status, l.SourceName, l.Tools,
- CONVERT(CHAR(20), l.Crdate, 120) AS Crdate
- FROM
- [List] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_SysMessage_Send] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_SysMessage_Send]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2013-08-27
- -- Mendor: wolf
- -- Alter Date: 2015-09-08
- -- Description: 发送系统消息
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_SysMessage_Send]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @Title NVARCHAR(32), --标题
- @Content NVARCHAR(256), --内容
- @UserID INT, --用户ID -1=所有用户
- @Tools VARCHAR(1024), --附件(json格式)
- @IPAddress VARCHAR(16), --IP地址
- @MsgType TINYINT --邮件类型(0=普通邮件 1=重要邮件)
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --消息
- --所有用户
- IF(@UserID = -1)
- BEGIN
- INSERT INTO [SysMessage]
- (
- UserID, Title, Content, Status, SourceName, Crdate, Tools, MsgType
- )
- SELECT
- UserID, @Title, @Content, 0, N'نظام', GETDATE(), @Tools, @MsgType
- FROM
- [AllUser]
- WHERE
- UserID NOT IN (SELECT UserID FROM [MachineUser])
- END
-
- ELSE
- BEGIN
- --给某个用户发送系统消息
- INSERT INTO [SysMessage]
- (
- UserID, Title, Content, Status, SourceName, Crdate, Tools, MsgType
- )
- VALUES
- (
- @UserID, @Title, @Content, 0, N'نظام', GETDATE(), @Tools, @MsgType
- )
- END
-
- SET @Msg = N'后台发送邮件,@UserID=' + LTRIM(STR(@UserID)) + ',@Title=' + @Title +
- ',@Tools=' + @Tools + ',@MsgType=' + LTRIM(STR(@MsgType))
-
- --添加后台操作日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName,
- @IPAddress = @IPAddress, @Msg = @Msg, @Type = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_TaxStatTotal_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_TaxStatTotal_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-04
- -- Mendor: wolf
- -- Alter Date: 2016-01-27
- -- Description: 后台管理--获取游戏税收总计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_TaxStatTotal_GetList]
- @BeginTime DATETIME, --起始时间
- @EndTime DATETIME, --截止时间
- @TotalTaxAmount BIGINT OUTPUT --总税收
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --申请表变量
- DECLARE @tmptable TABLE(
- ServerName NVARCHAR(32) NOT NULL, --服务器
- TaxSum BIGINT NOT NULL --税收
- )
-
- SET @EndTime = @EndTime + ' 23:59:59'
- SET @TotalTaxAmount = 0
-
- --初始化表变量
- INSERT INTO @tmptable(ServerName, TaxSum)
- SELECT
- ServerName, SUM(Tax)
- FROM
- [GameTax]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime
- GROUP BY
- ServerName
-
- --有税收才统计
- IF(@@ROWCOUNT > 0)
- BEGIN
- SET @TotalTaxAmount = (SELECT SUM(TaxSum) FROM @tmptable)
- END
-
- --返回信息:服务器名称、税收(TaxSum)(bigint)
- SELECT
- ServerName, TaxSum
- FROM
- @tmptable
- ORDER BY
- TaxSum DESC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_TimeBroadcast_Del] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_TimeBroadcast_Del]
- -- @Rid = 1
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-29
- -- Mendor: wolf
- -- Alter Date: 2014-09-29
- -- Description: 后台管理--删除定时广播
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_TimeBroadcast_Del]
- @Rid INT --标识
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --定时广播信息
- DELETE FROM [TimeBroadcast] WHERE Rid = @Rid
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_TimeBroadcast_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RecordCount INT
- -- EXEC [Manage_TimeBroadcast_GetList]
- -- @PageIndex = 1,
- -- @PageSize = 10,
- -- @RecordCount = @RecordCount OUTPUT
- -- SELECT @RecordCount AS RecordCount
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-29
- -- Mendor: wolf
- -- Alter Date: 2014-10-20
- -- Description: 后台管理--获取定时广播列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_TimeBroadcast_GetList]
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --记录数
- SELECT @RecordCount = (SELECT COUNT(Rid) FROM [TimeBroadcast])
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY EndDate + EndTime DESC) AS RowNumber,
- Rid, OpUserID, OpUserName, BeginDate, BeginTime, EndDate, EndTime,
- InterMinutes, Msg, UpdateTime, Crdate
- FROM
- [TimeBroadcast]
- )
-
- --返回信息:标识(Rid)(OpUserID)、操作员名称(OpUserID)(int)、操作员名称(OpUserName)(varchar(32))、
- -- 开始日期(BeginDate)(datetime)、开始时间(BeginTime)(varchar(8))、截止日期(EndDate)(datetime)、截止时间(EndTime)(varchar(8))、
- -- 间隔分钟(InterMinutes)(int)、消息(Msg)(varchar(512))、更新时间(UpdateTime)(datetime)、创建时间(Crdate)(datetime)
- SELECT
- Rid, OpUserID, OpUserName, CONVERT(CHAR(10), BeginDate, 120) AS BeginDate, BeginTime,
- CONVERT(CHAR(10), EndDate, 120) AS EndDate, EndTime,
- InterMinutes, Msg, UpdateTime, Crdate
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_TimeBroadcast_Send] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_TimeBroadcast_Send]
- -- @OpUserID = 1,
- -- @OpUserName = '',
- -- @BeginDate = '',
- -- @BeginTime = '',
- -- @EndDate = '',
- -- @EndTime = '',
- -- @InterMinutes = 1,
- -- @Msg = ''
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-29
- -- Mendor: wolf
- -- Alter Date: 2014-09-29
- -- Description: 后台管理--定时广播发送
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_TimeBroadcast_Send]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @BeginDate DATETIME, --开始日期
- @BeginTime VARCHAR(8), --开始时间
- @EndDate DATETIME, --截止日期
- @EndTime VARCHAR(8), --截止时间
- @InterMinutes INT, --间隔分钟
- @Msg VARCHAR(512) --广播消息
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --定时广播
- INSERT INTO [TimeBroadcast]
- (
- OpUserID, OpUserName, BeginDate, BeginTime, EndDate, EndTime,
- InterMinutes, Msg, UpdateTime, Crdate
- )
- VALUES
- (
- @OpUserID, @OpUserName, @BeginDate, @BeginTime, @EndDate, @EndTime,
- @InterMinutes, @Msg, GETDATE(), GETDATE()
- )
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_TimePeriod_GetStatList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_TimePeriod_GetStatList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 时段人数报表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_TimePeriod_GetStatList]
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME --截止时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --表变量
- DECLARE @tmptable TABLE(
- DateFlag SMALLDATETIME NOT NULL,
- UserID INT NOT NULL,
- TodaySeconds INT NOT NULL
- )
-
- --初始化表变量
- INSERT INTO @tmptable
- (
- DateFlag, UserID, TodaySeconds
- )
- SELECT
- DateFlag, UserID, SUM(TodaySeconds)
- FROM
- (
- SELECT
- CONVERT(CHAR(10), LoginTime, 120) AS DateFlag, UserID, TodaySeconds
- FROM
- [t_onlinetime]
- WHERE
- LoginTime BETWEEN @BeginTime AND @EndTime + 1
-
- UNION ALL
-
- SELECT
- CONVERT(CHAR(10), LoginTime, 120) AS DateFlag, UserID, TodaySeconds
- FROM
- [t_onlinetimeHistory]
- WHERE
- LoginTime BETWEEN @BeginTime AND @EndTime + 1
- ) AS O
- GROUP BY
- DateFlag, UserID
- --返回信息
- SELECT
- CONVERT(CHAR(10), DateFlag, 120) AS DateFlag,
- CASE
- WHEN TodaySeconds BETWEEN 0 AND 300 THEN N'0~5分钟'
- WHEN TodaySeconds BETWEEN 301 AND 900 THEN N'5~15分钟'
- WHEN TodaySeconds BETWEEN 901 AND 1800 THEN N'15~30分钟'
- WHEN TodaySeconds BETWEEN 1801 AND 2700 THEN N'30~45分钟'
- WHEN TodaySeconds BETWEEN 2701 AND 3600 THEN N'45~60分钟'
- WHEN TodaySeconds BETWEEN 3601 AND 4500 THEN N'60~75分钟'
- WHEN TodaySeconds BETWEEN 4501 AND 5400 THEN N'75~90分钟'
- WHEN TodaySeconds BETWEEN 5401 AND 6300 THEN N'90~105分钟'
- WHEN TodaySeconds BETWEEN 6301 AND 7200 THEN N'105~120分钟'
- WHEN TodaySeconds >= 7201 THEN N'2小时以上'
- END AS TimePeriod, COUNT(DISTINCT UserID) AS UserCount
- FROM
- @tmptable
- GROUP BY
- CONVERT(CHAR(10), DateFlag, 120),
- CASE
- WHEN TodaySeconds BETWEEN 0 AND 300 THEN N'0~5分钟'
- WHEN TodaySeconds BETWEEN 301 AND 900 THEN N'5~15分钟'
- WHEN TodaySeconds BETWEEN 901 AND 1800 THEN N'15~30分钟'
- WHEN TodaySeconds BETWEEN 1801 AND 2700 THEN N'30~45分钟'
- WHEN TodaySeconds BETWEEN 2701 AND 3600 THEN N'45~60分钟'
- WHEN TodaySeconds BETWEEN 3601 AND 4500 THEN N'60~75分钟'
- WHEN TodaySeconds BETWEEN 4501 AND 5400 THEN N'75~90分钟'
- WHEN TodaySeconds BETWEEN 5401 AND 6300 THEN N'90~105分钟'
- WHEN TodaySeconds BETWEEN 6301 AND 7200 THEN N'105~120分钟'
- WHEN TodaySeconds >= 7201 THEN N'2小时以上'
- END
- ORDER BY
- CONVERT(CHAR(10), DateFlag, 120) DESC, MIN(TodaySeconds) ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_TimePeriod_GetUserList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_TimePeriod_GetUserList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 时段人数用户列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_TimePeriod_GetUserList]
- @MinSeconds INT, --最小秒数
- @MaxSeconds INT, --最大秒数
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- DECLARE @tmptable TABLE(
- UserID INT NOT NULL, --用户ID
- Seconds INT NOT NULL --总秒数
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- SET @EndTime = @EndTime + 1
-
- --初始化
- INSERT INTO @tmptable
- (
- UserID, Seconds
- )
- SELECT
- UserID, SUM(TodaySeconds)
- FROM
- (
- SELECT
- UserID, TodaySeconds
- FROM
- [t_onlinetime]
- WHERE
- LoginTime BETWEEN @BeginTime AND @EndTime
-
- UNION ALL
-
- SELECT
- UserID, TodaySeconds
- FROM
- [t_onlinetimeHistory]
- WHERE
- LoginTime BETWEEN @BeginTime AND @EndTime
- ) O
- GROUP BY
- UserID
- HAVING
- SUM(TodaySeconds) BETWEEN @MinSeconds AND @MaxSeconds
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Seconds DESC) AS RowNumber,
- UserID, Seconds
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- l.RowNumber, l.UserID, u.NickName, CONVERT(CHAR(16), u.RegTime, 120) AS RegTime,
- CONVERT(CHAR(16), u.LoginTime, 120) AS LoginTime, l.Seconds, u.IPAddress
- FROM
- [List] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_TimePeriod_Report] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_TimePeriod_Report]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 时段人数报表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_TimePeriod_Report]
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME --截止时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --表变量
- DECLARE @tmptable TABLE(
- UserID INT NOT NULL,
- TodaySeconds INT NOT NULL
- )
-
- --初始化表变量
- INSERT INTO @tmptable
- (
- UserID, TodaySeconds
- )
- SELECT
- UserID, SUM(TodaySeconds)
- FROM
- (
- SELECT
- UserID, TodaySeconds
- FROM
- [t_onlinetime]
- WHERE
- LoginTime BETWEEN @BeginTime AND @EndTime + 1
-
- UNION ALL
-
- SELECT
- UserID, TodaySeconds
- FROM
- [t_onlinetimeHistory]
- WHERE
- LoginTime BETWEEN @BeginTime AND @EndTime + 1
- ) AS onlineTime
- GROUP BY
- UserID
- --返回信息
- SELECT
- CASE
- WHEN TodaySeconds BETWEEN 0 AND 300 THEN N'0~5分钟'
- WHEN TodaySeconds BETWEEN 301 AND 900 THEN N'5~15分钟'
- WHEN TodaySeconds BETWEEN 901 AND 1800 THEN N'15~30分钟'
- WHEN TodaySeconds BETWEEN 1801 AND 2700 THEN N'30~45分钟'
- WHEN TodaySeconds BETWEEN 2701 AND 3600 THEN N'45~60分钟'
- WHEN TodaySeconds BETWEEN 3601 AND 4500 THEN N'60~75分钟'
- WHEN TodaySeconds BETWEEN 4501 AND 5400 THEN N'75~90分钟'
- WHEN TodaySeconds BETWEEN 5401 AND 6300 THEN N'90~105分钟'
- WHEN TodaySeconds BETWEEN 6301 AND 7200 THEN N'105~120分钟'
- WHEN TodaySeconds >= 7201 THEN N'2小时以上'
- END AS TimePeriod, COUNT(DISTINCT UserID) AS UserCount
- FROM
- @tmptable
- GROUP BY
- CASE
- WHEN TodaySeconds BETWEEN 0 AND 300 THEN N'0~5分钟'
- WHEN TodaySeconds BETWEEN 301 AND 900 THEN N'5~15分钟'
- WHEN TodaySeconds BETWEEN 901 AND 1800 THEN N'15~30分钟'
- WHEN TodaySeconds BETWEEN 1801 AND 2700 THEN N'30~45分钟'
- WHEN TodaySeconds BETWEEN 2701 AND 3600 THEN N'45~60分钟'
- WHEN TodaySeconds BETWEEN 3601 AND 4500 THEN N'60~75分钟'
- WHEN TodaySeconds BETWEEN 4501 AND 5400 THEN N'75~90分钟'
- WHEN TodaySeconds BETWEEN 5401 AND 6300 THEN N'90~105分钟'
- WHEN TodaySeconds BETWEEN 6301 AND 7200 THEN N'105~120分钟'
- WHEN TodaySeconds >= 7201 THEN N'2小时以上'
- END
- ORDER BY
- MIN(TodaySeconds) ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Tip_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Tip_GetInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-08-29
- -- Mendor: wolf
- -- Alter Date: 2015-08-10
- -- Description: 小红点提示
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Tip_GetInfo]
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @DateFlag SMALLDATETIME --日期标志
- DECLARE @MessageCount INT --留言数
- DECLARE @ExchangeCount INT --兑换数
- DECLARE @UserWordCount INT --个性签名数
- DECLARE @AuditCount INT --提现审核条数
- DECLARE @FailCount INT --提现失败条数
- DECLARE @FeedbackCount INT --反馈提醒
-
- SET @CurrTime = GETDATE()
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
- SET @MessageCount = 0
- SET @ExchangeCount = 0
- SET @UserWordCount = 0
- SET @AuditCount = 0
- SET @FailCount = 0
- SET @FeedbackCount = 0
-
- --还没查看的留言数
- SELECT @MessageCount = COUNT(MessageID) FROM [ServiceMessage] WHERE Crdate >= @DateFlag - 3 AND UserID > 0 AND IsRead = 0
-
- --兑换数
- SELECT @ExchangeCount = COUNT(Id) FROM [ExchangeHistory] WHERE Crdate >= @DateFlag - 3 AND Status = 0
-
- --个性签名数
- SELECT @UserWordCount = COUNT(ApplyID) FROM [UserWordsPool] WHERE ApplyTime >= @DateFlag AND Status = 0
-
- SELECT @FeedbackCount = COUNT(Rid) FROM [Feedback] WHERE Crdate >= @DateFlag - 3 AND Status = 0 AND Email NOT LIKE N'问卷调查%'
-
- --返回信息
- SELECT @MessageCount AS MessageCount, @ExchangeCount AS ExchangeCount, @UserWordCount AS UserWordCount,
- @AuditCount AS AuditCount, @FailCount AS FailCount, @FeedbackCount AS FeedbackCount
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_UserAgent_DealApply] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_UserAgent_DealApply]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-11
- -- Mendor: wolf
- -- Alter Date: 2017-02-23
- -- Description: 处理申请
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_UserAgent_DealApply]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员昵称
- @ApplyID INT, --申请ID
- @ApplyStatus TINYINT, --状态(0=审核 1=已通过 2=拒绝)
- @IPAddress VARCHAR(16), --IP地址
- @RetCode TINYINT OUTPUT --操作结果 1=审核通过成功 2=拒绝成功 11=参数错误 12=申请已经处理过
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Status TINYINT --状态(0=审核 1=已通过 2=拒绝)
- DECLARE @UserID INT --用户ID
- DECLARE @CurrTime DATETIME --时间
- DECLARE @HigherUserID INT --上级ID
- SET @RetCode = 0
- SET @CurrTime = GETDATE()
- --判断参数
- IF(@ApplyStatus IS NULL OR @ApplyStatus NOT IN (1, 2))
- BEGIN
- SET @RetCode = 11
- RETURN
- END
- --申请信息
- SELECT
- @UserID = UserID, @Status = ApplyStatus, @HigherUserID = HigherUserID
- FROM
- [AgentApply]
- WHERE
- ApplyID = @ApplyID
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 11
- RETURN
- END
- --判断是否是待审核
- IF(@Status != 0)
- BEGIN
- SET @RetCode = 12
- RETURN
- END
- --处理申请
- UPDATE
- [AgentApply]
- SET
- ApplyStatus = @ApplyStatus, DealTime = @CurrTime,
- Memo = Memo + N',操作员:'+ @OpUserName + '(id:' + LTRIM(STR(@OpUserID)) + ')'
- WHERE
- ApplyID = @ApplyID
- --2=拒绝
- IF(@ApplyStatus = 2)
- BEGIN
- SET @RetCode = 2
- RETURN
- END
- --初始化
- INSERT INTO [UserAgent]
- (
- UserID, Commission, Profit, Members, Enabled, Crdate
- )
- VALUES
- (
- @UserID, 0, 0, 0, 1, @CurrTime
- )
-
- --还没有上级
- IF(@HigherUserID <= 0)
- BEGIN
- --绑定系统账号
- EXEC [WS_UserAgent_Bind] @UserID = @UserID, @HigherUserID = 10001
- END
- --审核通过
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_UserAgent_GetApplyList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_UserAgent_GetApplyList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-11
- -- Mendor: wolf
- -- Alter Date: 2017-02-23
- -- Description: 申请列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_UserAgent_GetApplyList]
- @UserID INT, --用户ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --总记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- DECLARE @tmptable TABLE(
- ApplyID INT NOT NULL, --申请ID
- UserID INT NOT NULL, --用户ID
- HigherUserID INT NOT NULL, --上级用户ID
- ApplyStatus TINYINT NOT NULL, --状态(0=待审核 1=已通过 2=拒绝)
- Memo NVARCHAR(128) NOT NULL, --备注(联系信息,如:电话)
- DealTime DATETIME NOT NULL, --处理时间
- Crdate DATETIME NOT NULL --时间
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- SET @RecordCount = 0
-
- --查询某个用户
- IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- ApplyID, UserID, HigherUserID, ApplyStatus, Memo, DealTime, Crdate
- )
- SELECT
- ApplyID, UserID, HigherUserID, ApplyStatus, Memo, DealTime, Crdate
- FROM
- [AgentApply]
- WHERE
- UserID = @UserID
- END
-
- --查询所有
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- ApplyID, UserID, HigherUserID, ApplyStatus, Memo, DealTime, Crdate
- )
- SELECT
- ApplyID, UserID, HigherUserID, ApplyStatus, Memo, DealTime, Crdate
- FROM
- [AgentApply]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- END
-
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY ApplyID DESC) AS RowNumber,
- ApplyID, UserID, HigherUserID, ApplyStatus, Memo, DealTime, Crdate
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- l.ApplyID, l.UserID, u.NickName, l.HigherUserID, ISNULL(h.NickName, '') AS HigherNickName,
- l.ApplyStatus, l.Memo, CONVERT(VARCHAR(23), l.DealTime, 121) AS DealTime,
- CONVERT(VARCHAR(23), l.Crdate, 121) AS Cradte
- FROM
- [List] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- LEFT JOIN [AllUser] h ON l.HigherUserID = h.UserID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_UserAgent_GetCommissionLog] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_UserAgent_GetCommissionLog]
- -- =============================================
- -- Author: wolf
- -- Create Date: 2014-04-23
- -- Mendor: wolf
- -- Alter Date: 2015-10-12
- -- Description: 佣金日志
- -- =============================================
- CREATE PROCEDURE [dbo].[Manage_UserAgent_GetCommissionLog]
- @UserID INT, --账号ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --结束时间
- @PageIndex INT = 1, --页索引
- @PageSize INT = 10, --页大小
- @RecordCount BIGINT OUTPUT, --总记录数
- @TotalCommission BIGINT OUTPUT --总佣金
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- --申请表变量
- DECLARE @tmptable TABLE(
- Rid INT NOT NULL, --标识
- UserID INT NOT NULL, --用户ID
- GameID INT NOT NULL, --游戏ID
- FromUserID INT NOT NULL, --源用户ID
- Tax BIGINT NOT NULL, --台费
- WantCommission BIGINT NOT NULL, --操作佣金
- StillCommission BIGINT NOT NULL, --剩余佣金
- Direct TINYINT NOT NULL, --属级(1=直属 2=非直属)
- Memo NVARCHAR(128) NOT NULL, --备注
- Crdate DATETIME NOT NULL --时间
- )
-
- SET @RecordCount = 0
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- SET @TotalCommission = 0
-
- --查询某个账号
- IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- Rid, UserID, GameID, FromUserID, Tax, WantCommission,
- StillCommission, Direct, Memo, Crdate
- )
- SELECT
- Rid, UserID, GameID, FromUserID, Tax, WantCommission,
- StillCommission, Direct, Memo, Crdate
- FROM
- [CommissionLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- INSERT INTO @tmptable
- (
- Rid, UserID, GameID, FromUserID, Tax, WantCommission,
- StillCommission, Direct, Memo, Crdate
- )
- SELECT
- Rid, UserID, GameID, FromUserID, Tax, WantCommission,
- StillCommission, Direct, Memo, Crdate
- FROM
- [CommissionLogHistory]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
-
- --总记录数
- SET @RecordCount = @RecordCount + @@ROWCOUNT
- END
-
- --查询所有
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- Rid, UserID, GameID, FromUserID, Tax, WantCommission,
- StillCommission, Direct, Memo, Crdate
- )
- SELECT
- Rid, UserID, GameID, FromUserID, Tax, WantCommission,
- StillCommission, Direct, Memo, Crdate
- FROM
- [CommissionLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
-
- --总记录数
- SET @RecordCount = @@ROWCOUNT
-
- INSERT INTO @tmptable
- (
- Rid, UserID, GameID, FromUserID, Tax, WantCommission,
- StillCommission, Direct, Memo, Crdate
- )
- SELECT
- Rid, UserID, GameID, FromUserID, Tax, WantCommission,
- StillCommission, Direct, Memo, Crdate
- FROM
- [CommissionLogHistory]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
-
- --总记录数
- SET @RecordCount = @RecordCount + @@ROWCOUNT
- END
- --统计总佣金
- SELECT @TotalCommission = ISNULL(SUM(WantCommission), 0) FROM @tmptable WHERE WantCommission > 0
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Rid DESC) AS RowNumber,
- Rid, UserID, GameID, FromUserID, Tax, WantCommission,
- StillCommission, Direct, Memo, Crdate
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- l.Rid, l.UserID, u.NickName, l.FromUserID, f.NickName AS FromNickName,
- l.Tax, l.WantCommission, l.StillCommission, l.Direct,
- l.Memo, CONVERT(CHAR(20), l.Crdate, 120) AS Crdate,
- ISNULL(g.ChineseName, '') AS ChineseName
- FROM
- [List] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- INNER JOIN [AllUser] f ON l.FromUserID = f.UserID
- LEFT JOIN [AllGame] g ON l.GameID = g.GameID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_UserAgent_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_UserAgent_GetInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-11
- -- Mendor: wolf
- -- Alter Date: 2017-02-23
- -- Description: 代理信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_UserAgent_GetInfo]
- @UserID INT, --用户ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- --用户代理
- DECLARE @tmptable TABLE(
- UserID INT NOT NULL, --用户ID
- Commission BIGINT NOT NULL, --佣金
- Profit BIGINT NOT NULL, --收益(已提取)
- Members INT NOT NULL, --会员数
- Enabled TINYINT NOT NULL, --启用
- Crdate DATETIME NOT NULL --创建时间
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- UserID, Commission, Profit, Members, Enabled, Crdate
- )
- SELECT
- UserID, Commission, Profit, Members, Enabled, Crdate
- FROM
- [UserAgent]
- WHERE
- UserID = @UserID
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- UserID, Commission, Profit, Members, Enabled, Crdate
- )
- SELECT
- UserID, Commission, Profit, Members, Enabled, Crdate
- FROM
- [UserAgent]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- END
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [list] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Crdate DESC) AS RowNumber,
- UserID, Commission, Profit, Members, Enabled, Crdate
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- l.UserID, u.NickName, l.Commission, l.Profit, l.Members, l.Enabled,
- CONVERT(VARCHAR(16), l.Crdate, 120) AS Crdate
- FROM
- [List] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_UserAgent_GetMemberList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_UserAgent_GetMemberList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-11
- -- Mendor: wolf
- -- Alter Date: 2017-02-23
- -- Description: 会员列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_UserAgent_GetMemberList]
- @UserID INT, --用户ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页索引
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
- --佣金表变量
- DECLARE @tmpCommission TABLE(
- UserID INT NOT NULL, --用户ID
- Commission BIGINT NOT NULL --佣金
- )
- --表变量
- DECLARE @tmptable TABLE(
- HigherUserID INT NOT NULL, --代理ID
- UserID INT NOT NULL, --用户ID
- Commission BIGINT NOT NULL, --佣金
- NewCommission BIGINT NOT NULL, --新增佣金
- BindTime DATETIME NOT NULL, --绑定时间
- LoginTime DATETIME NOT NULL --登录时间
- )
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- SET @EndTime = CONVERT(CHAR(11), @EndTime, 120) + '23:59:59'
- SET @RecordCount = 0
- --某个用户
- IF(@UserID > 0)
- BEGIN
- --代理列表
- INSERT INTO @tmptable
- (
- HigherUserID, UserID, Commission, NewCommission, BindTime, LoginTime
- )
- SELECT
- HigherUserID, UserID, Commission, 0, BindTime, LoginTime
- FROM
- [AgentMember]
- WHERE
- HigherUserID = @UserID OR UserID = @UserID
- END
-
- ELSE
- BEGIN
- --代理列表
- INSERT INTO @tmptable
- (
- HigherUserID, UserID, Commission, NewCommission, BindTime, LoginTime
- )
- SELECT
- HigherUserID, UserID, Commission, 0, BindTime, LoginTime
- FROM
- [AgentMember]
- WHERE
- BindTime BETWEEN @BeginTime AND @EndTime
- ORDER BY
- MemberID DESC
- END
- --记录数
- SET @RecordCount = @@ROWCOUNT
- --统计代理统计
- INSERT INTO @tmpCommission
- (
- UserID, Commission
- )
- SELECT
- c.FromUserID, SUM(c.Commission)
- FROM
- [CommissionStat] c INNER JOIN @tmptable t ON c.FromUserID = t.UserID
- WHERE
- c.DateFlag BETWEEN @BeginTime AND @EndTime
- GROUP BY
- c.FromUserID
- --获取流水、佣金
- UPDATE t SET t.NewCommission = c.Commission FROM @tmptable t INNER JOIN @tmpCommission c ON t.UserID = c.UserID
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY NewCommission DESC) AS RowNumber,
- HigherUserID, UserID, Commission, NewCommission, BindTime, LoginTime
- FROM
- @tmptable
- )
- --返回信息
- SELECT
- l.UserID, u.NickName, l.Commission, l.NewCommission,
- CONVERT(CHAR(20), l.BindTime, 120) AS BindTime,
- CONVERT(CHAR(20), u.LoginTime, 120) AS LoginTime,
- l.HigherUserID, h.NickName AS HigherUserName
- FROM
- [List] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- INNER JOIN [AllUser] h ON l.HigherUserID = h.UserID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_UserAgent_SetStatus] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_UserAgent_SetStatus]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 代理设置
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_UserAgent_SetStatus]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @UserID INT, --用户ID
- @Enabled TINYINT --是否开启(1=开启 其他关闭)
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @DBEnabled TINYINT --开启状态
-
- SET @DBEnabled = 0
-
- --状态
- UPDATE [UserAgent] SET Enabled = @Enabled, @DBEnabled = Enabled WHERE UserID = @UserID
-
- SET @Msg = N'代理状态设置, @UserID=' + LTRIM(STR(@UserID)) + ',@Enabled=' + LTRIM(STR(@Enabled)) +
- ',@DBEnabled=' + LTRIM(STR(@DBEnabled))
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = '127.0.0.1'
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_UserBehavior_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_UserBehavior_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 获取用户行为列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_UserBehavior_GetList]
- @UserID INT, --用户ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- DECLARE @tmptable TABLE(
- UserID INT NOT NULL, --用户ID
- SceneName NVARCHAR(32) NOT NULL, --场景(商城、休闲游戏、元宝游戏)
- ActTime DATETIME NOT NULL, --动作时间
- Amount BIGINT NOT NULL, --金额
- EndTime DATETIME NOT NULL, --结束时间
- StaySeconds INT NOT NULL, --停留时长(秒)
- StillAmount BIGINT NOT NULL, --余额
- WinAmount BIGINT NOT NULL, --输赢
- GameCount INT NOT NULL, --游戏局数
- Status TINYINT NOT NULL --状态(1=休闲场 begin 2=休闲场 end 3=元宝场 begin 4=元宝场 end)
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --初始化
- INSERT INTO @tmptable
- (
- UserID, SceneName, ActTime, Amount, EndTime, StaySeconds, StillAmount, WinAmount, GameCount, Status
- )
- SELECT
- UserID, SceneName, ActTime, Amount, EndTime, StaySeconds, StillAmount, WinAmount, GameCount, Status
- FROM
- [UserBehavior]
- WHERE
- ActTime BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY ActTime ASC) AS RowNumber,
- UserID, SceneName, ActTime, Amount, EndTime, StaySeconds, StillAmount, WinAmount, GameCount, Status
- FROM
- @tmptable
- )
-
- SELECT
- UserID, SceneName, CONVERT(VARCHAR(23), ActTime, 121) AS ActTime, Amount,
- CONVERT(VARCHAR(23), EndTime, 121) AS EndTime, StaySeconds, StillAmount,
- WinAmount, GameCount, Status
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_UserChipScore_AddRobot] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_UserChipScore_AddRobot]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-11
- -- Mendor: wolf
- -- Alter Date: 2017-02-23
- -- Description: 添加元宝积分(用于机器人)
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_UserChipScore_AddRobot]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @UserID INT, --用户ID
- @Score INT, --积分
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @Msg NVARCHAR(4000) --操作描述
-
- SET @DateFlag = CONVERT(CHAR(10), GETDATE(), 120)
-
- --更新
- UPDATE [UserChipScore] SET Score = Score + @Score WHERE DateFlag = @DateFlag AND UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserChipScore](DateFlag, UserID, Score) VALUES(@DateFlag, @UserID, @Score)
- END
-
- SET @Msg = N'添加积分, @UserID=' + LTRIM(STR(@UserID)) + ',@Score=' + LTRIM(STR(@Score))
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_UserCouponTask_GetLog] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_UserCouponTask_GetLog]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 红包券日志
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_UserCouponTask_GetLog]
- @UserID INT, --用户ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- DECLARE @tmptable TABLE(
- LogID INT NOT NULL, --日志ID
- UserID INT NOT NULL, --用户ID
- ItemID INT NOT NULL, --道具ID
- CurrCount INT NOT NULL, --当前数量
- WantCount INT NOT NULL, --道具数量
- StillCount INT NOT NULL, --剩余数量
- Remark NVARCHAR(128) NOT NULL, --备注
- IPAddress VARCHAR(16) NOT NULL, --IP地址
- Crdate DATETIME NOT NULL --时间
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- --SET @EndTime = CONVERT(CHAR(11), @EndTime, 120) + '23:59:59'
-
- IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- LogID, UserID, ItemID, CurrCount, WantCount, StillCount, Remark, IPAddress, Crdate
- )
- SELECT
- LogID, UserID, ItemID, CurrCount, WantCount, StillCount, Remark, IPAddress, Crdate
- FROM
- [UserItemLog]
- WHERE
- UserID = @UserID AND Crdate BETWEEN @BeginTime AND @EndTime AND ItemID = 620100
-
- SET @RecordCount = @@ROWCOUNT
-
- IF(@RecordCount < 10000)
- BEGIN
- INSERT INTO @tmptable
- (
- LogID, UserID, ItemID, CurrCount, WantCount, StillCount, Remark, IPAddress, Crdate
- )
- SELECT TOP (10000 - @RecordCount)
- LogID, UserID, ItemID, CurrCount, WantCount, StillCount, Remark, IPAddress, Crdate
- FROM
- [UserItemLogHistory]
- WHERE
- UserID = @UserID AND Crdate BETWEEN @BeginTime AND @EndTime AND ItemID = 620100
- ORDER BY
- Crdate DESC
-
- SET @RecordCount = @RecordCount + @@ROWCOUNT
- END
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- LogID, UserID, ItemID, CurrCount, WantCount, StillCount, Remark, IPAddress, Crdate
- )
- SELECT
- LogID, UserID, ItemID, CurrCount, WantCount, StillCount, Remark, IPAddress, Crdate
- FROM
- [UserItemLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND ItemID = 620100
-
- SET @RecordCount = @@ROWCOUNT
-
- IF(@RecordCount < 10000)
- BEGIN
- INSERT INTO @tmptable
- (
- LogID, UserID, ItemID, CurrCount, WantCount, StillCount, Remark, IPAddress, Crdate
- )
- SELECT TOP (10000 - @RecordCount)
- LogID, UserID, ItemID, CurrCount, WantCount, StillCount, Remark, IPAddress, Crdate
- FROM
- [UserItemLogHistory]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND ItemID = 620100
- ORDER BY
- Crdate DESC
-
- SET @RecordCount = @RecordCount + @@ROWCOUNT
- END
- END
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Crdate DESC) AS RowNumber,
- LogID, UserID, ItemID, CurrCount, WantCount, StillCount, Remark, IPAddress, Crdate
- FROM
- @tmptable
- )
-
- SELECT
- l.LogID, l.UserID, u.NickName, l.ItemID, l.CurrCount, l.WantCount, l.StillCount,
- l.Remark, l.IPAddress, CONVERT(CHAR(20), l.Crdate, 120) AS Crdate,
- ISNULL(i.ItemName, '') AS ItemName
- FROM
- [List] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- LEFT JOIN [Item] i ON l.ItemID = i.ItemID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_UserDailyStat_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_UserDailyStat_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 用户日常统计列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_UserDailyStat_GetList]
- @UserID INT, --用户ID
- @IsSleep TINYINT, --是否沉睡用户 (1=沉睡用户)
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --申请表变量
- DECLARE @tmptable TABLE(
- Rid INT NOT NULL, --标识
- DateFlag SMALLDATETIME NOT NULL, --日期标识
- UserID INT NOT NULL, --用户ID
- WinAmount BIGINT NOT NULL, --赢金
- LoseAmount BIGINT NOT NULL, --输金
- StillAmount BIGINT NOT NULL, --剩余金币
- GameStart DATETIME NOT NULL, --游戏开始时间
- GameEnd DATETIME NOT NULL, --最后游戏结束时间
- PlaySeconds INT NOT NULL, --游戏时长(秒)
- PayMoney DECIMAL(18, 2) NOT NULL, --充值
- LoginCount INT NOT NULL, --登录数
- VideoPlayTimes INT NOT NULL, --视频广告次数
- VideoSendAmount BIGINT NOT NULL --视频广告赠送
- )
-
- --查询某个账号
- IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- Rid, DateFlag, UserID, WinAmount, LoseAmount, StillAmount, GameStart, GameEnd,
- PlaySeconds, PayMoney, LoginCount, VideoPlayTimes, VideoSendAmount
- )
- SELECT
- Rid, DateFlag, UserID, WinAmount, LoseAmount, StillAmount, GameStart, GameEnd,
- PlaySeconds, PayMoney, LoginCount, VideoPlayTimes, VideoSendAmount
- FROM
- [UserDailyStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
- END
-
- --查询沉睡用户
- ELSE IF(@IsSleep > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- Rid, DateFlag, UserID, WinAmount, LoseAmount, StillAmount, GameStart, GameEnd,
- PlaySeconds, PayMoney, LoginCount, VideoPlayTimes, VideoSendAmount
- )
- SELECT
- Rid, DateFlag, UserID, WinAmount, LoseAmount, StillAmount, GameStart, GameEnd,
- PlaySeconds, PayMoney, LoginCount, VideoPlayTimes, VideoSendAmount
- FROM
- [UserDailyStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND PlaySeconds = 0
- END
-
- --查询所有账号
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- Rid, DateFlag, UserID, WinAmount, LoseAmount, StillAmount, GameStart, GameEnd,
- PlaySeconds, PayMoney, LoginCount, VideoPlayTimes, VideoSendAmount
- )
- SELECT
- Rid, DateFlag, UserID, WinAmount, LoseAmount, StillAmount, GameStart, GameEnd,
- PlaySeconds, PayMoney, LoginCount, VideoPlayTimes, VideoSendAmount
- FROM
- [UserDailyStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime
- END
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Rid DESC) AS RowNumber,
- Rid, DateFlag, UserID, WinAmount, LoseAmount, StillAmount, GameStart, GameEnd,
- PlaySeconds, PayMoney, LoginCount, VideoPlayTimes, VideoSendAmount
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- l.Rid, CONVERT(CHAR(10), l.DateFlag, 120) AS DateFlag, l.UserID, u.NickName,
- l.WinAmount, l.LoseAmount, l.StillAmount, CONVERT(CHAR(16), l.GameStart, 120) AS GameStart,
- CONVERT(CHAR(16), l.GameEnd, 120) AS GameEnd, l.PlaySeconds, l.PayMoney,
- ISNULL(p.PartnerName, LTRIM(STR(u.PartnerID))) AS PartnerName, l.LoginCount,
- CONVERT(CHAR(16), u.RegTime, 120) AS RegTime, l.VideoPlayTimes, l.VideoSendAmount
- FROM
- [List] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- LEFT JOIN [Partner] p ON u.PartnerID = p.PartnerID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_UserDot_GetStat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_UserDot_GetStat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 获取打点统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_UserDot_GetStat]
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @Event VARCHAR(32) --事件
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --表变量
- DECLARE @tmptable TABLE(
- Event VARCHAR(32) NOT NULL, --事件
- Days INT NOT NULL, --天数(0=当天 7=过去7天 30=过去30天)
- ClickTimes INT NOT NULL, --点击次数
- ClickUserCount INT NOT NULL, --点击人数
- CompleteUserCount INT NOT NULL --完成人数
- )
- --表变量
- DECLARE @tmpStat TABLE(
- DateFlag SMALLDATETIME NOT NULL, --日期
- Event VARCHAR(32) NOT NULL, --事件
- Days INT NOT NULL, --天数(0=当天 7=过去7天 30=过去30天)
- ClickTimes INT NOT NULL, --点击次数
- ClickUserCount INT NOT NULL, --点击人数
- CompleteUserCount INT NOT NULL --完成人数
- )
-
- --当天实时数据
- IF(@EndTime >= CONVERT(CHAR(10), GETDATE(), 120))
- BEGIN
- --统计当天数据
- INSERT INTO @tmptable
- (
- Event, Days, ClickTimes, ClickUserCount, CompleteUserCount
- )
- SELECT
- Event, 0,
- ISNULL(SUM(CASE WHEN Action = 1 THEN Times ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN Action = 1 THEN 1 ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN Action = 2 THEN 1 ELSE 0 END), 0)
- FROM
- [UserDot]
- WHERE
- DateFlag = CONVERT(CHAR(10), GETDATE(), 120) AND Event = @Event
- GROUP BY
- Event
-
- --初始化
- INSERT INTO @tmpStat
- (
- DateFlag, Event, Days, ClickTimes, ClickUserCount, CompleteUserCount
- )
- --返回信息
- SELECT
- CONVERT(CHAR(10), GETDATE(), 120) AS DateFlag, Event, Days,
- SUM(ClickTimes) AS ClickTimes, SUM(ClickUserCount) AS ClickUserCount,
- SUM(CompleteUserCount) AS CompleteUserCount
- FROM
- @tmptable
- GROUP BY
- Event, Days
- END
-
- --初始化
- INSERT INTO @tmpStat
- (
- DateFlag, Event, Days, ClickTimes, ClickUserCount, CompleteUserCount
- )
- --返回信息
- SELECT
- CONVERT(VARCHAR(10), DateFlag, 120) AS DateFlag, Event, Days,
- SUM(ClickTimes) AS ClickTimes, SUM(ClickUserCount) AS ClickUserCount,
- SUM(CompleteUserCount) AS CompleteUserCount
- FROM
- [UserDotStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND Event = @Event
- GROUP BY
- CONVERT(VARCHAR(10), DateFlag, 120), Event, Days
-
- --返回信息
- SELECT
- CONVERT(VARCHAR(10), DateFlag, 120) AS DateFlag, Event, Days, ClickTimes, ClickUserCount, CompleteUserCount
- FROM
- @tmpStat
- ORDER BY
- DateFlag DESC, Event ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_UserDot_GetTaskStat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_UserDot_GetTaskStat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 获取打点任务统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_UserDot_GetTaskStat]
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME --截止时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- CONVERT(VARCHAR(10), DateFlag, 120) AS DateFlag, Event, Action, COUNT(DISTINCT UserID) AS UserCount
- FROM
- [UserDotHistory]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND Scene = '任务'
- GROUP BY
- DateFlag, Event, Action
- ORDER BY
- DateFlag DESC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_UserItem_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_UserItem_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 用户道具列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_UserItem_GetList]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- UserItemID, ItemID, ItemCount,
- CASE
- WHEN Start = 0 THEN ''
- ELSE CONVERT(CHAR(20), Start, 120)
- END AS Start, Duration, EnegyPoint
- FROM
- [UserItem]
- WHERE
- UserID = @UserID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_UserItem_GetLog] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_UserItem_GetLog]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 用户道具日志
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_UserItem_GetLog]
- @UserID INT, --用户ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT, --记录数
- @ItemID INT --道具ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- DECLARE @tmptable TABLE(
- LogID INT NOT NULL, --日志ID
- UserID INT NOT NULL, --用户ID
- ItemID INT NOT NULL, --道具ID
- CurrCount INT NOT NULL, --当前数量
- WantCount INT NOT NULL, --道具数量
- StillCount INT NOT NULL, --剩余数量
- Remark NVARCHAR(128) NOT NULL, --备注
- IPAddress VARCHAR(16) NOT NULL, --IP地址
- Crdate DATETIME NOT NULL --时间
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- LogID, UserID, ItemID, CurrCount, WantCount, StillCount, Remark, IPAddress, Crdate
- )
- SELECT
- LogID, UserID, ItemID, CurrCount, WantCount, StillCount, Remark, IPAddress, Crdate
- FROM
- [UserItemLog]
- WHERE
- UserID = @UserID AND Crdate BETWEEN @BeginTime AND @EndTime
-
- SET @RecordCount = @@ROWCOUNT
-
- IF(@RecordCount < 10000)
- BEGIN
- INSERT INTO @tmptable
- (
- LogID, UserID, ItemID, CurrCount, WantCount, StillCount, Remark, IPAddress, Crdate
- )
- SELECT TOP (10000 - @RecordCount)
- LogID, UserID, ItemID, CurrCount, WantCount, StillCount, Remark, IPAddress, Crdate
- FROM
- [UserItemLogHistory]
- WHERE
- UserID = @UserID AND Crdate BETWEEN @BeginTime AND @EndTime
- ORDER BY
- Crdate DESC
-
- SET @RecordCount = @RecordCount + @@ROWCOUNT
- END
- END
-
- ELSE
- BEGIN
- IF(@ItemID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- LogID, UserID, ItemID, CurrCount, WantCount, StillCount, Remark, IPAddress, Crdate
- )
- SELECT
- LogID, UserID, ItemID, CurrCount, WantCount, StillCount, Remark, IPAddress, Crdate
- FROM
- [UserItemLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND ItemID = @ItemID
-
- SET @RecordCount = @@ROWCOUNT
-
- IF(@RecordCount < 10000)
- BEGIN
- INSERT INTO @tmptable
- (
- LogID, UserID, ItemID, CurrCount, WantCount, StillCount, Remark, IPAddress, Crdate
- )
- SELECT TOP (10000 - @RecordCount)
- LogID, UserID, ItemID, CurrCount, WantCount, StillCount, Remark, IPAddress, Crdate
- FROM
- [UserItemLogHistory]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND ItemID = @ItemID
- ORDER BY
- Crdate DESC
-
- SET @RecordCount = @RecordCount + @@ROWCOUNT
- END
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- LogID, UserID, ItemID, CurrCount, WantCount, StillCount, Remark, IPAddress, Crdate
- )
- SELECT
- LogID, UserID, ItemID, CurrCount, WantCount, StillCount, Remark, IPAddress, Crdate
- FROM
- [UserItemLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
-
- SET @RecordCount = @@ROWCOUNT
-
- IF(@RecordCount < 10000)
- BEGIN
- INSERT INTO @tmptable
- (
- LogID, UserID, ItemID, CurrCount, WantCount, StillCount, Remark, IPAddress, Crdate
- )
- SELECT TOP (10000 - @RecordCount)
- LogID, UserID, ItemID, CurrCount, WantCount, StillCount, Remark, IPAddress, Crdate
- FROM
- [UserItemLogHistory]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- ORDER BY
- Crdate DESC
-
- SET @RecordCount = @RecordCount + @@ROWCOUNT
- END
- END
- END
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Crdate DESC) AS RowNumber,
- LogID, UserID, ItemID, CurrCount, WantCount, StillCount, Remark, IPAddress, Crdate
- FROM
- @tmptable
- )
-
- SELECT
- l.LogID, l.UserID, u.NickName, l.ItemID, l.CurrCount, l.WantCount, l.StillCount,
- l.Remark, l.IPAddress, CONVERT(CHAR(20), l.Crdate, 120) AS Crdate,
- ISNULL(i.ItemName, '') AS ItemName
- FROM
- [List] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- LEFT JOIN [Item] i ON l.ItemID = i.ItemID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_UserLabel_GetListByLabelId] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_UserLabel_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 用户标签列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_UserLabel_GetListByLabelId]
- @LabelID INT, --标签ID
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- DECLARE @tmptable TABLE(
- UserID INT NOT NULL, --用户ID
- TypeID INT NOT NULL, --类型ID
- UpdateTime DATETIME NOT NULL --更新时间
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- INSERT INTO @tmptable
- (
- UserID, TypeID, UpdateTime
- )
- SELECT
- UserID, TypeID, UpdateTime
- FROM
- [UserLabel]
- WHERE
- LabelID = @LabelID
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY UpdateTime ASC) AS RowNumber,
- UserID, TypeID, UpdateTime
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- l.UserID, u.NickName, l.TypeID, CONVERT(VARCHAR(16), l.UpdateTime, 120) AS UpdateTime
- FROM
- [List] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_UserLoginLog_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RecordCount INT
- -- EXEC [Manage_UserLoginLog_GetList]
- -- @UserID = 1,
- -- @BeginTime = '',
- -- @EndTime = '',
- -- @PageIndex = 1,
- -- @PageSize = 10,
- -- @RecordCount = @RecordCount OUTPUT
- -- SELECT @RecordCount AS RecordCount
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-29
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 后台管理--获取登陆日志列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_UserLoginLog_GetList]
- @UserID INT, --用户ID
- @NickName NVARCHAR(32), --昵称
- @BeginTime DATETIME, --起始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT = 1, --页索引
- @PageSize INT = 10, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- --创建临时表
- CREATE TABLE #tmptable(
- LogID INT NOT NULL, --标识
- UserID INT NOT NULL, --用户ID
- IMei VARCHAR(64) NOT NULL, --IMei
- PartnerID INT NOT NULL, --合作商ID
- Version INT NOT NULL, --版本
- LoginType TINYINT NOT NULL, --登陆类型
- IPAddress VARCHAR(16) NOT NULL, --IP地址
- Crdate DATETIME NOT NULL, --创建时间
- DeviceName VARCHAR(32) NOT NULL --设备名称
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- SET @RecordCount = 0
- --昵称
- IF(LEN(@NickName) > 0)
- BEGIN
- --用户ID
- SELECT @UserID = UserID FROM [AllUser] WHERE NickName = @NickName
- IF(@@ROWCOUNT = 0)
- RETURN
- END
-
- --某个用户
- IF(@UserID > 0)
- BEGIN
- INSERT INTO #tmptable
- (
- LogID, UserID, IMei, PartnerID, Version, LoginType, IPAddress, Crdate, DeviceName
- )
- SELECT TOP 1000
- LogID, UserID, IMei, PartnerID, Version, LoginType, IPAddress, Crdate, DeviceName
- FROM
- [UserLoginLog]
- WHERE
- UserID = @UserID AND Crdate BETWEEN @BeginTime AND @EndTime
- ORDER BY
- LogID DESC
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- --不够100条记录
- IF(@RecordCount < 1000)
- BEGIN
- INSERT INTO #tmptable
- (
- LogID, UserID, IMei, PartnerID, Version, LoginType, IPAddress, Crdate, DeviceName
- )
- SELECT TOP (1000 - @RecordCount)
- LogID, UserID, IMei, PartnerID, Version, LoginType, IPAddress, Crdate, DeviceName
- FROM
- [UserLoginLog_bak]
- WHERE
- UserID = @UserID AND Crdate BETWEEN @BeginTime AND @EndTime
- ORDER BY
- LogID DESC
-
- --记录数
- SET @RecordCount = @@ROWCOUNT + @RecordCount
- END
- END
-
- --所有用户
- ELSE
- BEGIN
- INSERT INTO #tmptable
- (
- LogID, UserID, IMei, PartnerID, Version, LoginType, IPAddress, Crdate, DeviceName
- )
- SELECT TOP 1000
- LogID, UserID, IMei, PartnerID, Version, LoginType, IPAddress, Crdate, DeviceName
- FROM
- [UserLoginLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- ORDER BY
- LogID DESC
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- --不够100条记录
- IF(@RecordCount < 1000)
- BEGIN
- INSERT INTO #tmptable
- (
- LogID, UserID, IMei, PartnerID, Version, LoginType, IPAddress, Crdate, DeviceName
- )
- SELECT TOP (1000 - @RecordCount)
- LogID, UserID, IMei, PartnerID, Version, LoginType, IPAddress, Crdate, DeviceName
- FROM
- [UserLoginLog_bak]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- ORDER BY
- LogID DESC
-
- --记录数
- SET @RecordCount = @@ROWCOUNT + @RecordCount
- END
- END
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY LogID DESC) AS RowNumber,
- LogID, UserID, IMei, PartnerID, Version, LoginType, IPAddress, Crdate, DeviceName
- FROM
- #tmptable
- )
-
- --返回信息:标识(LogID)(int)、用户ID(UserID)(int)、昵称(NickName)(varchar(32))、IMei(IMei)(varchar(32))、
- -- 登陆方式LoginType)(varchar(16))、IP地址(IP)(varchar(16))、登陆时间(Crdate)(varchar(16))
- SELECT
- l.LogID, l.UserID, u.NickName, l.IMei,
- ISNULL(p.PartnerName, CAST(l.PartnerID AS VARCHAR)) AS PartnerName, l.Version,
- CASE
- WHEN l.LoginType = 0 THEN 'Visitor landing'
- WHEN l.LoginType = 1 THEN 'Mobile phone login'
- ELSE ''
- END AS LoginType,
- l.IPAddress, CONVERT(CHAR(20), l.Crdate, 120) AS Crdate, l.DeviceName
- FROM
- [List] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- LEFT JOIN [Partner] p ON l.PartnerID = p.PartnerID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- --清除临时表
- DROP TABLE #tmptable
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_UserLoginLog_GetStatListByPartner] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_UserLoginLog_GetStatListByPartner]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-10-27
- -- Mendor: wolf
- -- Alter Date: 2015-02-03
- -- Description: 后台管理--获取登陆日志列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_UserLoginLog_GetStatListByPartner]
- @PartnerID INT, --合作商ID
- @BeginTime DATETIME, --起始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT = 1, --页索引
- @PageSize INT = 10, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- --申请临时表
- DECLARE @tmptable TABLE(
- DateFlag SMALLDATETIME NOT NULL, --日期标志
- PartnerID INT NOT NULL, --合作商ID
- LoginCount INT NOT NULL --登陆数
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- SET @EndTime = CONVERT(CHAR(11), @EndTime, 120) + '23:59:59'
-
- --某个合作商
- IF(@PartnerID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- DateFlag, PartnerID, LoginCount
- )
- SELECT
- DateFlag, PartnerID, LoginCount
- FROM
- [LoginStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND PartnerID = @PartnerID
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
- END
-
- --总登陆数
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- DateFlag, PartnerID, LoginCount
- )
- SELECT
- DateFlag, PartnerID, SUM(LoginCount)
- FROM
- [LoginStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime
- GROUP BY
- DateFlag, PartnerID
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
- END
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY DateFlag DESC, LoginCount DESC) AS RowNumber,
- DateFlag, PartnerID, LoginCount
- FROM
- @tmptable
- )
-
- --返回信息:日期标志(DateFlag)(varchar)、渠道名称(PartnerName)(varchar(32))、登陆数(LoginCount)(int)
- SELECT
- CONVERT(CHAR(10), l.DateFlag, 120) AS DateFlag, ISNULL(p.PartnerName, N'所有渠道') AS PartnerName,
- l.LoginCount, l.PartnerID
- FROM
- [List] l INNER JOIN [Partner] p ON l.PartnerID = p.PartnerID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_UserSign_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_UserSign_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 用户签到列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_UserSign_GetList]
- @UserID INT, --用户ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- DECLARE @tmpSign TABLE(
- UserID INT NOT NULL, --用户ID
- SignID INT NOT NULL, --签到ID
- SignTime DATETIME NOT NULL --签到时间
- )
-
- DECLARE @tmptable TABLE(
- UserID INT NOT NULL, --用户ID
- SignID INT NOT NULL, --签到ID
- SignTime DATETIME NOT NULL, --签到时间
- Day INT NOT NULL, --连续多少天
- DaySet VARCHAR(16) NOT NULL --天数集合(逗号隔开)
- )
-
- DECLARE @tmpContinue TABLE(
- UserID INT NOT NULL, --用户ID
- Day INT NOT NULL, --连续多少天
- DaySet VARCHAR(16) NOT NULL --天数集合(逗号隔开)
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --查询某个账号
- IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmpSign
- (
- UserID, SignID, SignTime
- )
- SELECT
- UserID, MAX(SignID), MAX(SignTime)
- FROM
- [UserSign]
- WHERE
- SignTime BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
- GROUP BY
- UserID
- END
-
- --查询所有账号
- ELSE
- BEGIN
- INSERT INTO @tmpSign
- (
- UserID, SignID, SignTime
- )
- SELECT
- UserID, MAX(SignID), MAX(SignTime)
- FROM
- [UserSign]
- WHERE
- SignTime BETWEEN @BeginTime AND @EndTime
- GROUP BY
- UserID
- END
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY SignTime DESC) AS RowNumber,
- UserID, SignID, SignTime
- FROM
- @tmpSign
- )
-
- --最近签到用户
- INSERT INTO @tmptable
- (
- UserID, SignID, SignTime, Day, DaySet
- )
- SELECT
- UserID, SignID, SignTime, 0, ''
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- --统计连续签到数据
- INSERT INTO @tmpContinue
- (
- UserID, Day, DaySet
- )
- SELECT
- a.UserID, MAX(a.Day), ISNULL(STUFF((SELECT ',' + LTRIM(STR(Day)) FROM [UserContinueSign] WHERE UserID = a.UserID AND Status = 2 FOR XML PATH('')), 1, 1, ''), '')
- FROM
- [UserContinueSign] AS a INNER JOIN @tmptable t ON a.UserID = t.UserID
- GROUP BY
- a.UserID
-
- --获取连续签到
- UPDATE t SET t.Day = c.Day, t.DaySet = c.DaySet FROM @tmptable t INNER JOIN @tmpContinue c ON t.UserID = c.UserID
-
- --返回信息
- SELECT
- t.UserID, u.NickName, t.SignID, CONVERT(CHAR(20), t.SignTime, 120) AS SignTime, t.Day, t.DaySet,
- ISNULL(p.PartnerName, LTRIM(STR(u.PartnerID))) AS PartnerName
- FROM
- @tmptable t INNER JOIN [AllUser] u ON t.UserID = u.UserID
- LEFT JOIN [Partner] p ON u.PartnerID = p.PartnerID
- ORDER BY
- SignTime DESC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_UserTeacher_GetProfitList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_UserTeacher_GetProfitList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 师徒--收益列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_UserTeacher_GetProfitList]
- @TeacherID INT, --师父ID
- @StudentID INT, --徒弟ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- SET @RecordCount = 0
-
- --表变量
- DECLARE @tmptable TABLE(
- TeacherID INT NOT NULL, --师父ID
- StudentID INT NOT NULL, --徒弟ID
- ProfitType TINYINT NOT NULL, --收益类型(1=绑码 2=充值 3=兑换 4=提现)
- Profit BIGINT NOT NULL, --收益
- Price DECIMAL(18, 2) NOT NULL, --充值金额
- Remark VARCHAR(128) NOT NULL, --备注
- Crdate DATETIME NOT NULL --时间
- )
- --查询某个师父
- IF(@TeacherID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- TeacherID, StudentID, ProfitType, Profit, Price, Remark, Crdate
- )
- SELECT
- TeacherID, StudentID, ProfitType, Profit, Price, Remark, Crdate
- FROM
- [TeacherProfit]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND TeacherID = @TeacherID
- END
-
- ELSE IF(@StudentID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- TeacherID, StudentID, ProfitType, Profit, Price, Remark, Crdate
- )
- SELECT
- TeacherID, StudentID, ProfitType, Profit, Price, Remark, Crdate
- FROM
- [TeacherProfit]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND StudentID = @StudentID
- END
- --查询所有
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- TeacherID, StudentID, ProfitType, Profit, Price, Remark, Crdate
- )
- SELECT
- TeacherID, StudentID, ProfitType, Profit, Price, Remark, Crdate
- FROM
- [TeacherProfit]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- END
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Crdate DESC) AS RowNumber,
- TeacherID, StudentID, ProfitType, Profit, Price, Remark, Crdate
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- l.RowNumber, l.TeacherID, u.NickName AS TeacherName, l.StudentID, s.NickName AS StudentName,
- l.ProfitType, l.Profit, l.Price, l.Remark, CONVERT(VARCHAR(23), l.Crdate, 121) AS Crdate
- FROM
- [List] l INNER JOIN [AllUser] u ON l.TeacherID = u.UserID
- INNER JOIN [AllUser] s ON l.StudentID = s.UserID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_UserTeacher_TopProfit] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_UserTeacher_TopProfit]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 师徒--收益列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_UserTeacher_TopProfit]
- @TeacherID INT, --师父ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --表变量
- DECLARE @tmptable TABLE(
- TeacherID INT NOT NULL, --师父ID
- Profit BIGINT NOT NULL, --收益
- Price DECIMAL(18, 2) NOT NULL --充值金额
- )
- --查询某个师父
- IF(@TeacherID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- TeacherID, Profit, Price
- )
- SELECT
- TeacherID, SUM(Profit), SUM(Price)
- FROM
- [TeacherProfit]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND TeacherID = @TeacherID AND ProfitType IN (1, 2)
- GROUP BY
- TeacherID
- END
- --查询所有
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- TeacherID, Profit, Price
- )
- SELECT
- TeacherID, SUM(Profit), SUM(Price)
- FROM
- [TeacherProfit]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND ProfitType IN (1, 2)
- GROUP BY
- TeacherID
- END
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Profit DESC) AS RowNumber,
- TeacherID, Profit, Price
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- l.RowNumber, l.TeacherID, u.NickName AS TeacherName, l.Profit, l.Price
- FROM
- [List] l INNER JOIN [AllUser] u ON l.TeacherID = u.UserID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_UserTrack_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_UserTrack_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-18
- -- Description: 游戏轨迹记录
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_UserTrack_GetList]
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME --截止时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @tmptable TABLE(
- Level_1 NVARCHAR(32) NOT NULL, --1级类目
- Level_2 NVARCHAR(32) NOT NULL, --2级类目
- Level_3 NVARCHAR(32) NOT NULL, --3级类目
- Times INT NOT NULL, --数目
- Users INT NOT NULL --用户数
- )
-
- SET @EndTime = CONVERT(CHAR(11), @EndTime, 120) + '23:59:59'
-
- INSERT INTO @tmptable
- (
- Level_1, Level_2, Level_3, Times, Users
- )
- SELECT
- t.Level_1, t.Level_2, t.Level_3, SUM(t.Times), COUNT(DISTINCT t.UserID)
- FROM
- (
- SELECT
- Level_1, Level_2, Level_3, UserID, Times
- FROM
- [UserTrackStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime
-
- UNION ALL
-
- SELECT
- Level_1, Level_2, Level_3, UserID, Times
- FROM
- [UserTrackStatHistory]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime
- ) t
- GROUP BY
- t.Level_1, t.Level_2, t.Level_3
-
- --返回信息
- SELECT
- Level_1, CASE WHEN Level_2 = '' THEN 'HOME' ELSE Level_2 END +
- CASE WHEN Level_3 != '' THEN ' --> ' ELSE '' END + Level_3 AS Item,
- Times, Users
- FROM
- @tmptable
- ORDER BY
- Level_1 ASC, Item ASC, Times DESC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_UserTrack_GetStat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_UserTrack_GetStat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-18
- -- Description: 游戏轨迹统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_UserTrack_GetStat]
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME --截止时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @tmptable TABLE(
- Level_1 NVARCHAR(32) NOT NULL, --1级类目
- Level_2 NVARCHAR(32) NOT NULL, --2级类目
- Level_3 NVARCHAR(32) NOT NULL, --3级类目
- Times INT NOT NULL, --数目
- Users INT NOT NULL --用户数
- )
-
- SET @EndTime = CONVERT(CHAR(11), @EndTime, 120) + '23:59:59'
-
- INSERT INTO @tmptable
- (
- Level_1, Level_2, Level_3, Times, Users
- )
- SELECT
- t.Level_1, t.Level_2, t.Level_3, SUM(t.Times), COUNT(DISTINCT t.UserID)
- FROM
- (
- SELECT
- Level_1, Level_2, Level_3, UserID, Times
- FROM
- [UserTrackStat]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime
-
- UNION ALL
-
- SELECT
- Level_1, Level_2, Level_3, UserID, Times
- FROM
- [UserTrackStatHistory]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime
- ) t
- GROUP BY
- t.Level_1, t.Level_2, t.Level_3
-
- --返回信息
- SELECT
- Level_1,
- CASE WHEN Level_2 = '' THEN Level_1 ELSE Level_2 END AS Level_2,
- CASE
- WHEN Level_3 = '' THEN CASE WHEN Level_2 = '' THEN Level_1 ELSE Level_2 END
- ELSE Level_3
- END AS Level_3,
- Times, Users
- FROM
- @tmptable
- WHERE
- Level_1 != N'大厅' AND Level_2 NOT IN (N'关闭')
- ORDER BY
- Level_1 ASC, Level_2 ASC, Level_3 DESC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_UserVideo_GetIndexList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_UserVideo_GetIndexList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2017-01-04
- -- Mendor: wolf
- -- Alter Date: 2017-01-04
- -- Description: 广告各指标
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_UserVideo_GetIndexList]
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME --截止时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- CONVERT(CHAR(10), DateFlag, 120) AS DateFlag,
- SUM(ReqTimes) AS ReqTimes, SUM(PlayTimes) AS PlayTimes,
- COUNT(DISTINCT UserID) AS UserCount,
- SUM(CASE WHEN Amount > 0 AND ReqTimes > 0 THEN ReqTimes ELSE 0 END) AS GoldTimes,
- SUM(CASE WHEN Amount > 0 AND PlayTimes > 0 THEN PlayTimes ELSE 0 END) AS GoldGiftTimes,
- COUNT(DISTINCT (CASE WHEN PlayTimes > 0 THEN UserID ELSE 0 END)) AS PlayUserCount
- FROM
- (
- SELECT
- UserID, ReqTimes, PlayTimes, Amount, DateFlag
- FROM
- [UserVideoStat]
- WHERE
- DateFlag >= @BeginTime AND DateFlag < @EndTime + 1
-
- UNION ALL
-
- SELECT
- UserID, ReqTimes, PlayTimes, Amount, DateFlag
- FROM
- [UserVideoStatHistory]
- WHERE
- DateFlag >= @BeginTime AND DateFlag < @EndTime + 1
- ) t
- GROUP BY
- CONVERT(CHAR(10), DateFlag, 120)
- ORDER BY
- CONVERT(CHAR(10), DateFlag, 120) ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_UserVideo_GetPlayStat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_UserVideo_GetPlayStat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-18
- -- Description: 广告播放统计(按天)
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_UserVideo_GetPlayStat]
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PartnerID INT --渠道ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --某个渠道
- IF(@PartnerID > 0)
- BEGIN
- --返回信息
- SELECT
- CONVERT(CHAR(10), DateFlag, 120) AS DateFlag,
- SUM(ReqTimes) AS ReqTimes, --请求次数
- SUM(PlayTimes) AS PlayTimes, --播放次数
- SUM(UnPlayTimes) AS FailTimes --失败次数
- FROM
- (
- SELECT
- DateFlag, ReqTimes, PlayTimes, UnPlayTimes
- FROM
- [UserVideoStat]
- WHERE
- DateFlag >= @BeginTime AND DateFlag < @EndTime + 1 AND PartnerID = @PartnerID
-
- UNION ALL
-
- SELECT
- DateFlag, ReqTimes, PlayTimes, UnPlayTimes
- FROM
- [UserVideoStatHistory]
- WHERE
- DateFlag >= @BeginTime AND DateFlag < @EndTime + 1 AND PartnerID = @PartnerID
- ) t
- GROUP BY
- CONVERT(CHAR(10), DateFlag, 120)
- ORDER BY
- CONVERT(CHAR(10), DateFlag, 120) DESC
-
- RETURN
- END
-
- --返回信息
- SELECT
- CONVERT(CHAR(10), DateFlag, 120) AS DateFlag,
- SUM(ReqTimes) AS ReqTimes, --请求次数
- SUM(PlayTimes) AS PlayTimes, --播放次数
- SUM(UnPlayTimes) AS FailTimes --失败次数
- FROM
- (
- SELECT
- DateFlag, ReqTimes, PlayTimes, UnPlayTimes
- FROM
- [UserVideoStat]
- WHERE
- DateFlag >= @BeginTime AND DateFlag < @EndTime + 1
-
- UNION ALL
-
- SELECT
- DateFlag, ReqTimes, PlayTimes, UnPlayTimes
- FROM
- [UserVideoStatHistory]
- WHERE
- DateFlag >= @BeginTime AND DateFlag < @EndTime + 1
- ) t
- GROUP BY
- CONVERT(CHAR(10), DateFlag, 120)
- ORDER BY
- CONVERT(CHAR(10), DateFlag, 120) DESC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_UserVideo_GetPlayStatByHour] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_UserVideo_GetPlayStatByHour]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-18
- -- Description: 广告播放统计(按时段)
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_UserVideo_GetPlayStatByHour]
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PartnerID INT --渠道ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- IF(@PartnerID > 0)
- BEGIN
- --返回信息
- SELECT
- CONVERT(CHAR(10), DateFlag, 120),
- SUM(Hour_0000) AS Hour_0000, SUM(Hour_0030) AS Hour_0030, SUM(Hour_0100) AS Hour_0100, SUM(Hour_0130) AS Hour_0130,
- SUM(Hour_0200) AS Hour_0200, SUM(Hour_0230) AS Hour_0230, SUM(Hour_0300) AS Hour_0300, SUM(Hour_0330) AS Hour_0330,
- SUM(Hour_0400) AS Hour_0400, SUM(Hour_0430) AS Hour_0430, SUM(Hour_0500) AS Hour_0500, SUM(Hour_0530) AS Hour_0530,
- SUM(Hour_0600) AS Hour_0600, SUM(Hour_0630) AS Hour_0630, SUM(Hour_0700) AS Hour_0700, SUM(Hour_0730) AS Hour_0730,
- SUM(Hour_0800) AS Hour_0800, SUM(Hour_0830) AS Hour_0830, SUM(Hour_0900) AS Hour_0900, SUM(Hour_0930) AS Hour_0930,
- SUM(Hour_1000) AS Hour_1000, SUM(Hour_1030) AS Hour_1030, SUM(Hour_1100) AS Hour_1100, SUM(Hour_1130) AS Hour_1130,
- SUM(Hour_1200) AS Hour_1200, SUM(Hour_1230) AS Hour_1230, SUM(Hour_1300) AS Hour_1300, SUM(Hour_1330) AS Hour_1330,
- SUM(Hour_1400) AS Hour_1400, SUM(Hour_1430) AS Hour_1430, SUM(Hour_1500) AS Hour_1500, SUM(Hour_1530) AS Hour_1530,
- SUM(Hour_1600) AS Hour_1600, SUM(Hour_1630) AS Hour_1630, SUM(Hour_1700) AS Hour_1700, SUM(Hour_1730) AS Hour_1730,
- SUM(Hour_1800) AS Hour_1800, SUM(Hour_1830) AS Hour_1830, SUM(Hour_1900) AS Hour_1900, SUM(Hour_1930) AS Hour_1930,
- SUM(Hour_2000) AS Hour_2000, SUM(Hour_2030) AS Hour_2030, SUM(Hour_2100) AS Hour_2100, SUM(Hour_2130) AS Hour_2130,
- SUM(Hour_2200) AS Hour_2200, SUM(Hour_2230) AS Hour_2230, SUM(Hour_2300) AS Hour_2300, SUM(Hour_2330) AS Hour_2330
- FROM
- [VideoStatMin]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime AND PartnerID = @PartnerID
- GROUP BY
- CONVERT(CHAR(10), DateFlag, 120)
-
- RETURN
- END
-
- --返回信息
- SELECT
- CONVERT(CHAR(10), DateFlag, 120),
- SUM(Hour_0000) AS Hour_0000, SUM(Hour_0030) AS Hour_0030, SUM(Hour_0100) AS Hour_0100, SUM(Hour_0130) AS Hour_0130,
- SUM(Hour_0200) AS Hour_0200, SUM(Hour_0230) AS Hour_0230, SUM(Hour_0300) AS Hour_0300, SUM(Hour_0330) AS Hour_0330,
- SUM(Hour_0400) AS Hour_0400, SUM(Hour_0430) AS Hour_0430, SUM(Hour_0500) AS Hour_0500, SUM(Hour_0530) AS Hour_0530,
- SUM(Hour_0600) AS Hour_0600, SUM(Hour_0630) AS Hour_0630, SUM(Hour_0700) AS Hour_0700, SUM(Hour_0730) AS Hour_0730,
- SUM(Hour_0800) AS Hour_0800, SUM(Hour_0830) AS Hour_0830, SUM(Hour_0900) AS Hour_0900, SUM(Hour_0930) AS Hour_0930,
- SUM(Hour_1000) AS Hour_1000, SUM(Hour_1030) AS Hour_1030, SUM(Hour_1100) AS Hour_1100, SUM(Hour_1130) AS Hour_1130,
- SUM(Hour_1200) AS Hour_1200, SUM(Hour_1230) AS Hour_1230, SUM(Hour_1300) AS Hour_1300, SUM(Hour_1330) AS Hour_1330,
- SUM(Hour_1400) AS Hour_1400, SUM(Hour_1430) AS Hour_1430, SUM(Hour_1500) AS Hour_1500, SUM(Hour_1530) AS Hour_1530,
- SUM(Hour_1600) AS Hour_1600, SUM(Hour_1630) AS Hour_1630, SUM(Hour_1700) AS Hour_1700, SUM(Hour_1730) AS Hour_1730,
- SUM(Hour_1800) AS Hour_1800, SUM(Hour_1830) AS Hour_1830, SUM(Hour_1900) AS Hour_1900, SUM(Hour_1930) AS Hour_1930,
- SUM(Hour_2000) AS Hour_2000, SUM(Hour_2030) AS Hour_2030, SUM(Hour_2100) AS Hour_2100, SUM(Hour_2130) AS Hour_2130,
- SUM(Hour_2200) AS Hour_2200, SUM(Hour_2230) AS Hour_2230, SUM(Hour_2300) AS Hour_2300, SUM(Hour_2330) AS Hour_2330
- FROM
- [VideoStatMin]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime
- GROUP BY
- CONVERT(CHAR(10), DateFlag, 120)
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_UserVideo_GetRegionList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_UserVideo_GetRegionList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2017-01-04
- -- Mendor: wolf
- -- Alter Date: 2017-01-04
- -- Description: 广告分布
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_UserVideo_GetRegionList]
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME --截止时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- VideoName, ModuleName,
- SUM(ReqTimes) AS ReqTimes, --请求次数
- SUM(PlayTimes) AS PlayTimes --播放次数
- FROM
- (
- SELECT
- VideoName, ModuleName, ReqTimes, PlayTimes
- FROM
- [UserVideoStat]
- WHERE
- DateFlag >= @BeginTime AND DateFlag < @EndTime + 1
-
- UNION ALL
-
- SELECT
- VideoName, ModuleName, ReqTimes, PlayTimes
- FROM
- [UserVideoStatHistory]
- WHERE
- DateFlag >= @BeginTime AND DateFlag < @EndTime + 1
- ) t
- GROUP BY
- VideoName, ModuleName
- ORDER BY
- VideoName ASC, PlayTimes ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_UserVideo_GetSourceList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_UserVideo_GetSourceList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2017-01-04
- -- Mendor: wolf
- -- Alter Date: 2017-01-04
- -- Description: 广告来源统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_UserVideo_GetSourceList]
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PartnerID INT --渠道ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- IF(@PartnerID > 0)
- BEGIN
- --返回信息
- SELECT
- CONVERT(CHAR(10), DateFlag, 120) AS DateFlag, VideoName, SUM(PlayTimes) AS PlayTimes
- FROM
- (
- SELECT
- DateFlag, VideoName, PlayTimes
- FROM
- [UserVideoStat]
- WHERE
- DateFlag >= @BeginTime AND DateFlag < @EndTime + 1 AND PartnerID = @PartnerID
-
- UNION ALL
-
- SELECT
- DateFlag, VideoName, PlayTimes
- FROM
- [UserVideoStatHistory]
- WHERE
- DateFlag >= @BeginTime AND DateFlag < @EndTime + 1 AND PartnerID = @PartnerID
- ) t
- GROUP BY
- CONVERT(CHAR(10), DateFlag, 120), VideoName
- ORDER BY
- CONVERT(CHAR(10), DateFlag, 120) ASC
-
- RETURN
- END
-
- --返回信息
- SELECT
- CONVERT(CHAR(10), DateFlag, 120) AS DateFlag, VideoName, SUM(PlayTimes) AS PlayTimes
- FROM
- (
- SELECT
- DateFlag, VideoName, PlayTimes
- FROM
- [UserVideoStat]
- WHERE
- DateFlag >= @BeginTime AND DateFlag < @EndTime + 1
-
- UNION ALL
-
- SELECT
- DateFlag, VideoName, PlayTimes
- FROM
- [UserVideoStatHistory]
- WHERE
- DateFlag >= @BeginTime AND DateFlag < @EndTime + 1
- ) t
- GROUP BY
- CONVERT(CHAR(10), DateFlag, 120), VideoName
- ORDER BY
- CONVERT(CHAR(10), DateFlag, 120) ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_UserVideo_GetUserStat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_UserVideo_GetUserStat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-18
- -- Description: 广告用户统计(按天)
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_UserVideo_GetUserStat]
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME --截止时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- CONVERT(CHAR(10), DateFlag, 120) AS DateFlag,
- COUNT(DISTINCT (CASE WHEN ReqTimes > 0 THEN UserID ELSE 0 END)) AS ReqUsers, --请求用户数
- COUNT(DISTINCT (CASE WHEN PlayTimes > 0 THEN UserID ELSE 0 END)) AS PlayUsers, --播放用户数
- COUNT(DISTINCT (CASE WHEN UnPlayTimes > 0 THEN UserID ELSE 0 END)) AS FailTimes --失败用户数
- FROM
- (
- SELECT
- DateFlag, ReqTimes, PlayTimes, UnPlayTimes, UserID
- FROM
- [UserVideoStat]
- WHERE
- DateFlag >= @BeginTime AND DateFlag < @EndTime + 1
-
- UNION ALL
-
- SELECT
- DateFlag, ReqTimes, PlayTimes, UnPlayTimes, UserID
- FROM
- [UserVideoStatHistory]
- WHERE
- DateFlag >= @BeginTime AND DateFlag < @EndTime + 1
- ) t
- GROUP BY
- CONVERT(CHAR(10), DateFlag, 120)
- ORDER BY
- CONVERT(CHAR(10), DateFlag, 120) DESC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_UserVideo_GetUserStatByHour] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_UserVideo_GetUserStatByHour]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-18
- -- Description: 广告用户统计(按时段)
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_UserVideo_GetUserStatByHour]
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME --截止时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- CONVERT(CHAR(10), DateFlag, 120) DateFlag,
- SUM(Hour_0000) AS Hour_0000, SUM(Hour_0030) AS Hour_0030, SUM(Hour_0100) AS Hour_0100, SUM(Hour_0130) AS Hour_0130,
- SUM(Hour_0200) AS Hour_0200, SUM(Hour_0230) AS Hour_0230, SUM(Hour_0300) AS Hour_0300, SUM(Hour_0330) AS Hour_0330,
- SUM(Hour_0400) AS Hour_0400, SUM(Hour_0430) AS Hour_0430, SUM(Hour_0500) AS Hour_0500, SUM(Hour_0530) AS Hour_0530,
- SUM(Hour_0600) AS Hour_0600, SUM(Hour_0630) AS Hour_0630, SUM(Hour_0700) AS Hour_0700, SUM(Hour_0730) AS Hour_0730,
- SUM(Hour_0800) AS Hour_0800, SUM(Hour_0830) AS Hour_0830, SUM(Hour_0900) AS Hour_0900, SUM(Hour_0930) AS Hour_0930,
- SUM(Hour_1000) AS Hour_1000, SUM(Hour_1030) AS Hour_1030, SUM(Hour_1100) AS Hour_1100, SUM(Hour_1130) AS Hour_1130,
- SUM(Hour_1200) AS Hour_1200, SUM(Hour_1230) AS Hour_1230, SUM(Hour_1300) AS Hour_1300, SUM(Hour_1330) AS Hour_1330,
- SUM(Hour_1400) AS Hour_1400, SUM(Hour_1430) AS Hour_1430, SUM(Hour_1500) AS Hour_1500, SUM(Hour_1530) AS Hour_1530,
- SUM(Hour_1600) AS Hour_1600, SUM(Hour_1630) AS Hour_1630, SUM(Hour_1700) AS Hour_1700, SUM(Hour_1730) AS Hour_1730,
- SUM(Hour_1800) AS Hour_1800, SUM(Hour_1830) AS Hour_1830, SUM(Hour_1900) AS Hour_1900, SUM(Hour_1930) AS Hour_1930,
- SUM(Hour_2000) AS Hour_2000, SUM(Hour_2030) AS Hour_2030, SUM(Hour_2100) AS Hour_2100, SUM(Hour_2130) AS Hour_2130,
- SUM(Hour_2200) AS Hour_2200, SUM(Hour_2230) AS Hour_2230, SUM(Hour_2300) AS Hour_2300, SUM(Hour_2330) AS Hour_2330
- FROM
- [VideoUserStatMin]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime
- GROUP BY
- CONVERT(CHAR(10), DateFlag, 120)
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_UserWords_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_UserWords_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2013-07-09
- -- Mendor: wolf
- -- Alter Date: 2013-07-22
- -- Description: 个性签名列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_UserWords_GetList]
- @UserID INT, --用户ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- DECLARE @tmptable TABLE(
- ApplyID INT NOT NULL, --申请ID
- UserID INT NOT NULL, --用户ID
- UserWords NVARCHAR(256) NOT NULL, --个性签名
- TransMsg NVARCHAR(256) NOT NULL, --译文
- Status TINYINT NOT NULL, --状态
- OpUserID INT NOT NULL, --操作用户ID
- OpUserName VARCHAR(32) NOT NULL, --操作员名称
- DealTime DATETIME NOT NULL, --处理时间
- ApplyTime DATETIME NOT NULL --申请时间
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- SET @RecordCount = 0
-
- IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- ApplyID, UserID, UserWords, TransMsg, Status, OpUserID, OpUserName, DealTime, ApplyTime
- )
- SELECT
- ApplyID, UserID, UserWords, TransMsg, Status, OpUserID, OpUserName, DealTime, ApplyTime
- FROM
- [UserWordsPool]
- WHERE
- ApplyTime BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- ApplyID, UserID, UserWords, TransMsg, Status, OpUserID, OpUserName, DealTime, ApplyTime
- )
- SELECT
- ApplyID, UserID, UserWords, TransMsg, Status, OpUserID, OpUserName, DealTime, ApplyTime
- FROM
- [UserWordsPool]
- WHERE
- ApplyTime BETWEEN @BeginTime AND @EndTime
- END
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH List AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY ApplyID DESC) AS RowNumber,
- ApplyID, UserID, UserWords, TransMsg, Status, OpUserID, OpUserName, DealTime, ApplyTime
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- l.ApplyID, l.UserID, u.NickName, l.UserWords, l.TransMsg, l.Status, l.OpUserID, l.OpUserName,
- CONVERT(CHAR(23), l.DealTime, 121) AS DealTime, CONVERT(CHAR(23), l.ApplyTime, 121) AS ApplyTime
- FROM
- [List] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_UserWords_SetStatus] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_UserWords_SetStatus]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2013-07-09
- -- Mendor: wolf
- -- Alter Date: 2013-07-22
- -- Description: 设置个性签名状态
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_UserWords_SetStatus]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @ApplyID INT, --申请ID
- @Status TINYINT --状态 1=同意 其他拒绝
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT --操作结果
- DECLARE @UserID INT --用户ID
- DECLARE @UserWords NVARCHAR(256) --个性签名
-
- SET @RetCode = 0
-
- --判断是否已经处理过
- IF NOT EXISTS(SELECT UserID FROM [UserWordsPool] WHERE ApplyID = @ApplyID AND Status = 0)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --更新状态
- UPDATE
- [UserWordsPool]
- SET
- Status = @Status, OpUserID = @OpUserID, OpUserName = @OpUserName,
- @UserID = UserID, @UserWords = UserWords, DealTime = GETDATE()
- WHERE
- ApplyID = @ApplyID
-
- --同意
- IF(@Status = 1)
- BEGIN
- --个性签名
- UPDATE [AllUser] SET UserWords = @UserWords WHERE UserID = @UserID
- END
-
- --操作成功
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_UserWords_Translate] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_UserWords_Translate]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2013-07-09
- -- Mendor: wolf
- -- Alter Date: 2013-07-22
- -- Description: 个性签名翻译
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_UserWords_Translate]
- @ApplyID INT, --申请ID
- @TransMsg NVARCHAR(256) --译文
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --译文
- UPDATE [UserWordsPool] SET TransMsg = @TransMsg WHERE ApplyID = @ApplyID
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_UTMSource_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_UTMSource_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 流量渠道源列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_UTMSource_GetList]
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT Source FROM [UTMSource]
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Warning_Search] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Warning_Search]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 预警查询
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Warning_Search]
- @MoneySearchTime DATETIME, --金币查询时间
- @LotterySearchTime DATETIME, --话费券查询时间
- @RegTime DATETIME, --注册查询时间
- @TransferTime DATETIME --赠送查询时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @TotalAmount BIGINT --金币存量
- DECLARE @RobotTotalAmount BIGINT --机器人金币存量
- DECLARE @TotalLottery BIGINT --话费券存量
- DECLARE @RobotTotalLottery BIGINT --机器人话费券存量
- DECLARE @RegCount INT --注册用户数
- DECLARE @TransferTimes INT --赠送次数
-
- SET @CurrTime = GETDATE()
- SET @TotalAmount = -1
- SET @TotalLottery = -1
- SET @RegCount = -1
- SET @TransferTimes = -1
-
- --统计金币存量
- IF(@MoneySearchTime <= @CurrTime)
- BEGIN
- SELECT @TotalAmount = SUM(Amount + Bank) FROM [Money]
- SET @TotalAmount = ISNULL(@TotalAmount, 0)
-
- SELECT @RobotTotalAmount = SUM(m.Amount + m.Bank) FROM [Money] m INNER JOIN [MachineUser] r ON m.UserID = r.UserID
- SET @RobotTotalAmount = ISNULL(@RobotTotalAmount, 0)
-
- SET @TotalAmount = @TotalAmount - @RobotTotalAmount
- END
-
- --统计话费券存量
- IF(@LotterySearchTime <= @CurrTime)
- BEGIN
- SELECT @TotalLottery = SUM(ItemCount) FROM [UserItem] WHERE ItemID = 620100
- SET @TotalLottery = ISNULL(@TotalLottery, 0)
-
- SELECT @RobotTotalLottery = SUM(u.ItemCount) FROM [UserItem] u INNER JOIN [MachineUser] r ON u.UserID = r.UserID WHERE ItemID = 620100
- SET @RobotTotalLottery = ISNULL(@RobotTotalLottery, 0)
-
- SET @TotalLottery = @TotalLottery - @RobotTotalLottery
- END
-
- --注册用户数
- IF(@RegTime <= @CurrTime)
- BEGIN
- SET @RegCount = (SELECT TOP 1 COUNT(RegIP) FROM [AllUser] WHERE RegTime >= @RegTime GROUP BY RegIP ORDER BY COUNT(RegIP) DESC)
- END
-
- --赠送次数
- IF(@TransferTime <= @CurrTime)
- BEGIN
- SELECT @TransferTimes = (SELECT TOP 1 COUNT(AcceptUserID) FROM [TransferLog] WHERE Crdate >= @TransferTime GROUP BY AcceptUserID ORDER BY COUNT(AcceptUserID) DESC)
- END
-
- --返回信息
- SELECT
- ISNULL(@TotalAmount, 0) AS TotalAmount, ISNULL(@TotalLottery, 0) AS TotalLottery,
- ISNULL(@RegCount, 0) AS RegCount, ISNULL(@TransferTimes, 0) AS TransferTimes
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_WaterPoolStat_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_WaterPoolStat_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 水池统计列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_WaterPoolStat_GetList]
- @BeginTime SMALLDATETIME, --开始时间
- @EndTime SMALLDATETIME --截止时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @tmptable TABLE(
- DateFlag SMALLDATETIME NOT NULL, --日期标识
- ItemName VARCHAR(32) NOT NULL, --项名称
- ItemValue BIGINT NOT NULL --项值
- )
-
- --1、游戏水池前值
- INSERT INTO @tmptable
- (
- DateFlag, ItemName, ItemValue
- )
- SELECT
- DateFlag, RoomName + '水池1前值', StartInventoryValue
- FROM
- [GameInventoryTotal]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime
-
- --2、游戏水池现值
- INSERT INTO @tmptable
- (
- DateFlag, ItemName, ItemValue
- )
- SELECT
- DateFlag, RoomName + '水池2现值', InventoryValue
- FROM
- [GameInventoryTotal]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime
-
- --3、游戏库存变化
- INSERT INTO @tmptable
- (
- DateFlag, ItemName, ItemValue
- )
- SELECT
- DateFlag, RoomName + '水池3变化', SUM(InventoryValue - StartInventoryValue)
- FROM
- [GameInventoryTotal]
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime
- GROUP BY
- DateFlag, RoomName + '水池3变化'
-
- --返回信息
- SELECT
- CONVERT(VARCHAR(10), DateFlag, 120) AS DateFlag, ItemName, ItemValue
- FROM
- @tmptable
- WHERE
- DateFlag BETWEEN @BeginTime AND @EndTime
- ORDER BY
- DateFlag DESC, ItemName ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_WhiteList_Add] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_WhiteList_Add]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 添加白名单
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_WhiteList_Add]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @UserID INT, --用户ID
- @WhiteType TINYINT, --类型(0=普通用户 1=白名单用户 2=黑名单用户)
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
-
- IF EXISTS(SELECT UserID FROM [ChipWhiteList] WHERE UserID = @UserID AND WhiteType = @WhiteType)
- RETURN
-
- --添加
- INSERT INTO [ChipWhiteList](UserID, WhiteType, Crdate) VALUES(@UserID, @WhiteType, GETDATE())
-
- SET @Msg = N'添加白名单成功,关联账号:@UserID=' + LTRIM(STR(@UserID)) + ',@WhiteType=' + LTRIM(STR(@WhiteType))
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_WhiteList_Del] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_WhiteList_Del]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 删除白名单
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_WhiteList_Del]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @UserID INT, --用户ID
- @WhiteType TINYINT, --类型(0=普通用户 1=白名单用户 2=黑名单用户)
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
-
- IF NOT EXISTS(SELECT UserID FROM [ChipWhiteList] WHERE UserID = @UserID AND WhiteType = @WhiteType)
- RETURN
-
- --删除
- DELETE FROM [ChipWhiteList] WHERE UserID = @UserID AND WhiteType = @WhiteType
-
- SET @Msg = N'删除白名单成功,关联账号:@UserID=' + LTRIM(STR(@UserID)) + ',@WhiteType=' + LTRIM(STR(@WhiteType))
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_WhiteList_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_WhiteList_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 白名单列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_WhiteList_GetList]
- @UserID INT, --用户ID
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- DECLARE @tmptable TABLE(
- UserID INT NOT NULL, --用户ID
- WhiteType TINYINT NOT NULL, --类型(0=普通用户 1=白名单用户 2=黑名单用户)
- Crdate DATETIME NOT NULL --时间
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmptable(UserID, WhiteType, Crdate)
- SELECT UserID, WhiteType, Crdate FROM [ChipWhiteList] WHERE UserID = @UserID
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable(UserID, WhiteType, Crdate)
- SELECT UserID, WhiteType, Crdate FROM [ChipWhiteList]
- END
- --记录数
- SET @RecordCount = @@ROWCOUNT
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Crdate DESC) AS RowNumber,
- UserID, WhiteType, Crdate
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- l.UserID, u.NickName, l.WhiteType,
- CONVERT(VARCHAR(16), l.Crdate, 120) AS Crdate
- FROM
- [List] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Manage_Withdraw_GetLog] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Manage_Withdraw_GetLog]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-09
- -- Mendor: wolf
- -- Alter Date: 2014-12-22
- -- Description: 提现日志
- -- ==============================================
- CREATE PROCEDURE [dbo].[Manage_Withdraw_GetLog]
- @UserID INT, --用户ID
- @BeginTime DATETIME, --起始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT, --记录数
- @TotalAmount BIGINT OUTPUT --提现总额
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
- --表变量
- DECLARE @tmptable TABLE(
- OrderID VARCHAR(32) PRIMARY KEY, --订单号
- TradeID VARCHAR(64) NOT NULL, --交易号
- UserID INT NOT NULL, --用户ID
- Amount INT NOT NULL, --金额
- RealAmount INT NOT NULL, --实际扣除金额
- DfTransactionId VARCHAR(32) NOT NULL, --平台代付单号,32字符以内
- GetStatus TINYINT NOT NULL, --状态 (0=下单(无审核) 1=待审核 2=已审核 3=提现成功(审核) 4=提现成功(无审核) 13=Pending(审核) 14=Pending(无审核) 11=拒绝
- --251=提现失败(无审核) 252=提现失败(审核) 255=提现失败)
- DfDesc VARCHAR(256) NOT NULL, --代付状态描述
- Balance INT NOT NULL, --余额
- NotifyTime DATETIME NOT NULL, --通知时间
- Crdate DATETIME NOT NULL --时间
- )
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- SET @RecordCount = 0
- --查询某个账号
- IF(@UserID > 0)
- BEGIN
- --查询
- INSERT INTO @tmptable
- (
- OrderID, TradeID, UserID, Amount, RealAmount, DfTransactionId, GetStatus, DfDesc, Balance, NotifyTime, Crdate
- )
- SELECT
- OrderID, TradeID, UserID, Amount, RealAmount, DfTransactionId, GetStatus, DfDesc, Balance, NotifyTime, Crdate
- FROM
- [KayaWithdraw]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
- END
- --查询所有
- ELSE
- BEGIN
- --查询
- INSERT INTO @tmptable
- (
- OrderID, TradeID, UserID, Amount, RealAmount, DfTransactionId, GetStatus, DfDesc, Balance, NotifyTime, Crdate
- )
- SELECT
- OrderID, TradeID, UserID, Amount, RealAmount, DfTransactionId, GetStatus, DfDesc, Balance, NotifyTime, Crdate
- FROM
- [KayaWithdraw]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
- END
- --统计总额
- SELECT @TotalAmount = ISNULL(SUM(Amount), 0) FROM @tmptable WHERE GetStatus IN (3, 4)
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Crdate DESC) AS RowNumber,
- OrderID, TradeID, UserID, Amount, RealAmount, DfTransactionId,
- GetStatus, DfDesc, Balance, NotifyTime, Crdate
- FROM
- @tmptable
- )
- --返回信息
- SELECT
- l.OrderID, l.TradeID, l.UserID, ISNULL(u.NickName, '') AS NickName, l.Amount, l.RealAmount, l.DfTransactionId,
- l.GetStatus, l.DfDesc, l.Balance, CONVERT(CHAR(23), l.NotifyTime, 120) AS NotifyTime,
- CONVERT(CHAR(23), l.Crdate, 120) AS Crdate
- FROM
- [List] l LEFT JOIN [AllUser] u ON l.UserID = u.UserID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[p_bank_in] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- /*
- declare @s varchar(512)
- exec p_bank_in 10479800, 9999, '', 0 , 0, @s output
- print @s
- */
- --存入保险柜
- --返回值1:成功 其它:失败
- CREATE PROCEDURE [dbo].[p_bank_in]
- @userid INT,
- @amount BIGINT,
- @servername NVARCHAR(64), --金币房间传这个进来,非金币房间或WEB传''
- @cashamount BIGINT OUTPUT, --数据库中金币数量,只有成功才会返回
- @bankamount BIGINT OUTPUT, --保险柜中的金币数量
- @outmsg NVARCHAR(512) OUTPUT,
- @GameID INT = 0,
- @EPassword VARCHAR(32) = '', --MD5密文
- @IPAddress VARCHAR(16) = '', --IP地址
- @RetCode INT OUTPUT --操作结果
- AS
- Set NoCount On
- Set Xact_Abort On
- BEGIN
- --金币锁
- declare @chvOnlineServerName NVARCHAR(64)
- DECLARE @currentcashamount BIGINT
- DECLARE @currentbankamount BIGINT
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @OldEPassword VARCHAR(32) --登陆密码
- DECLARE @Msg VARCHAR(4096) --操作描述
- DECLARE @IsRobot TINYINT --是否机器人
- SET @currentbankamount = 0
- SET @CurrTime = GETDATE()
- SET @RetCode = 0
-
- SELECT
- @OldEPassword = EPassword, @IsRobot = CASE WHEN RegIP = '127.0.0.1' THEN 1 ELSE 0 END
- FROM
- [AllUser]
- WHERE
- UserID = @UserID
- IF(@@ROWCOUNT = 0)
- BEGIN
- set @outmsg = N'存入保险柜失败:账号信息不存在'
- return
- END
-
- /*
- IF(LEN(@ServerName) <= 0)
- BEGIN
- --校验登陆密码
- IF(@OldEPassword IS NULL OR @OldEPassword != @EPassword)
- BEGIN
- SET @Msg = '存入保险柜,密码校验失败,关联信息,@UserID=' + LTRIM(STR(@userid)) + ',@amount=' + CAST(@amount AS VARCHAR(32)) + ',@EPassword=' + @EPassword
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = '系统', @IPAddress = @IPAddress, @Msg = @Msg, @Type = 2
-
- set @outmsg = '存入保险柜失败'
- return
- END
- END
- */
-
- select @chvOnlineServerName = [ServerName] from [CasinoOnline] where [UserID] = @userid
- set @bankamount = 0
- set @cashamount = 0
- if @chvOnlineServerName != @servername --没有锁时不能触发这个条件
- begin
- set @outmsg = N'游戏中不能存入金币,只能取出'
- return
- end
- if @amount <= 0
- begin
- set @outmsg = N'存入保险柜失败:请输入正确的数量'
- return
- end
- --检查存入后金额是否超过INT限制
- SELECT @currentcashamount = amount, @currentbankamount = bank FROM [Money] WHERE userid = @userid
- --非金币房间需要更新 amount
- if @servername = ''
- update [money] set bank = bank + @amount, amount = amount - @amount where userid = @userid and amount >= @amount
- else
- update [money] set bank = bank + @amount where userid = @userid
- if @@rowcount = 1 --成功
- begin
- select @cashamount = amount, @bankamount = bank from [money] where userid = @userid
-
- INSERT INTO [BankLog]
- (
- userid, ToUserID, CurrentAmount, WantedAmount, StillAmount, remark, Crdate, IPAddress
- )
- VALUES
- (
- @userid, @userid, @currentbankamount, @amount, @bankamount, N'<font color="red">存入保险柜</font>', @CurrTime, @IPAddress
- )
-
- --机器人
- IF(@IsRobot = 1)
- BEGIN
- INSERT INTO [RobotMoneyLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [LogType], [Crdate]
- )
- SELECT
- N'钱包', @GameID, 'CASH', @userid, @currentcashamount, -@amount,
- @currentcashamount - @amount, 0, @IPAddress, N'存入保险柜,服务器=' + @ServerName, 0, @CurrTime
- UNION ALL
-
- SELECT
- N'钱包', @GameID, 'BANK', @userid, @currentbankamount, @amount,
- @currentbankamount + @amount, 0, @IPAddress, N'存入保险柜,服务器=' + @ServerName, 0, @CurrTime
- END
- ELSE
- BEGIN
- INSERT INTO [MoneyLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [LogType], [Crdate]
- )
- SELECT
- N'钱包', @GameID, 'CASH', @userid, @currentcashamount, -@amount,
- @currentcashamount - @amount, 0, @IPAddress, N'存入保险柜,服务器=' + @ServerName, 0, @CurrTime
- UNION ALL
-
- SELECT
- N'钱包', @GameID, 'BANK', @userid, @currentbankamount, @amount,
- @currentbankamount + @amount, 0, @IPAddress, N'存入保险柜,服务器=' + @ServerName, 0, @CurrTime
- END
- set @outmsg = N'成功'
- SET @RetCode = 1
- return
- end
- else
- begin
- set @outmsg = N'存入保险柜失败:您身上金币不足'
- return
- end
- END
- GO
- /****** Object: StoredProcedure [dbo].[p_bank_out] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- /*
- declare @s varchar(512)
- exec p_bank_out 22, 10000, '123', '', 0 , 0 , @s output
- print @s
- */
-
- --从保险柜取出
- --返回值1:成功 其它:失败
- CREATE PROCEDURE [dbo].[p_bank_out]
- @userid INT,
- @amount BIGINT,
- @safeboxpwd VARCHAR(32), --保险柜密码 (加密前的)
- @servername NVARCHAR(64), --金币房间传这个进来,非金币房间或WEB传''
- @cashamount BIGINT OUTPUT, --数据库中金币数量,只有成功才会返回
- @bankamount BIGINT OUTPUT, --保险柜中的金币数量
- @outmsg VARCHAR(512) OUTPUT,
- @EPassword VARCHAR(32) = '', --MD5密文
- @IPAddress VARCHAR(16) = '', --IP地址
- @RetCode INT OUTPUT, --操作结果
- @GameID INT = 0
- AS
- SET NOCOUNT ON
- SET XACT_ABORT ON
- BEGIN
- --金币锁
- DECLARE @chvOnlineServerName NVARCHAR(64)
- DECLARE @max_amount BIGINT
- DECLARE @currentcashamount BIGINT
- DECLARE @currentbankamount BIGINT
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @OldEPassword VARCHAR(32) --登陆密码
- DECLARE @OldEsafeboxpwd VARCHAR(32) --保险柜密码
- DECLARE @Msg VARCHAR(4096) --操作描述
- DECLARE @IsRobot TINYINT
- SET @max_amount = 2000000000000000
- SET @currentcashamount = 0
- SET @CurrTime = GETDATE()
- SET @RetCode = 0
-
- --获取当前登陆密码、保险柜密码
- SELECT
- @OldEPassword = EPassword, --@OldEsafeboxPwd = Esafeboxpwd,
- @IsRobot = CASE WHEN RegIP = '127.0.0.1' THEN 1 ELSE 0 END
- FROM
- [AllUser]
- WHERE
- UserID = @userid
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 11
- set @outmsg = '从保险柜取出失败:账号信息不存在'
- return 0
- END
-
- /*
- --Web 调用
- IF(LEN(@ServerName) <= 0)
- BEGIN
- --校验登陆密码
- IF(@OldEPassword IS NULL OR @OldEPassword != @EPassword)
- BEGIN
- SET @Msg = '保险柜取出,密码校验失败,关联信息,@UserID=' + LTRIM(STR(@userid)) + ',@amount=' + CAST(@amount AS VARCHAR(32)) + ',@EPassword=' + @EPassword
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = '系统', @IPAddress = @IPAddress, @Msg = @Msg, @Type = 2
-
- SET @outmsg = '从保险柜取出失败'
- RETURN -1
- END
- END
- */
- declare @rc int --其它存储过程的返回值
- select @chvOnlineServerName = [ServerName] from [CasinoOnline] where [UserID] = @userid
- set @bankamount = 0
- set @cashamount = 0
- if @chvOnlineServerName != @servername --没有锁时不能触发这个条件
- begin
- SET @RetCode = 12
- set @outmsg = '从保险柜取出失败:您已在服务器[' + @chvOnlineServerName + '],请登陆此服务器,或通过客服中心寻求帮助'
- return 0
- end
-
- --不判断是否会员
- if @amount <= 0
- begin
- SET @RetCode = 13
- set @outmsg = '从保险柜取出失败:请输入正确的数量'
- return 0
- end
- --校验保险柜密码
- --IF(@OldEsafeboxpwd != dbo.fn_md5(@safeboxpwd))
- --BEGIN
- -- set @outmsg = '从保险柜取出失败:保险柜密码不正确!'
- -- return 0
- --END
- --检查取出后金额是否超过INT限制
- SELECT @currentcashamount = amount, @currentbankamount = bank FROM [Money] WHERE userid = @userid
- IF @amount + @currentcashamount > @max_amount
- BEGIN
- SET @RetCode = 14
- set @outmsg = '从保险柜取出失败:取出数量过大'
- return 0
- END
-
- update
- [money]
- set
- bank = bank - @amount,
- amount = amount + case @servername when '' then @amount else 0 end
- where
- userid = @userid and bank >= @amount
-
- if @@rowcount = 1 --成功
- begin
- set @outmsg = '成功'
-
- select @cashamount = amount, @bankamount = bank from [money] where userid = @userid
-
- INSERT INTO [BankLog]
- (
- userid, ToUserID, CurrentAmount, WantedAmount, StillAmount, remark, Crdate, IPAddress
- )
- VALUES
- (
- @userid, @userid, @currentbankamount, -@amount, @bankamount, N'<font color="green">保险柜取出</font>', @CurrTime, @IPAddress
- )
-
- --机器人
- IF(@IsRobot = 1)
- BEGIN
- INSERT INTO [RobotMoneyLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [LogType], [Crdate]
- )
- SELECT
- N'钱包', @GameID, 'CASH', @userid, @currentcashamount, @amount,
- @currentcashamount + @amount, 0, @IPAddress, N'保险柜取出,服务器=' + @ServerName, 0, @CurrTime
- UNION ALL
-
- SELECT
- N'钱包', @GameID, 'BANK', @userid, @currentbankamount, -@amount,
- @currentbankamount - @amount, 0, @IPAddress, N'保险柜取出,服务器=' + @ServerName, 0, @CurrTime
- END
- ELSE
- BEGIN
- INSERT INTO [MoneyLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [LogType], [Crdate]
- )
- SELECT
- N'钱包', @GameID, 'CASH', @userid, @currentcashamount, @amount,
- @currentcashamount + @amount, 0, @IPAddress, N'保险柜取出,服务器=' + @ServerName, 0, @CurrTime
- UNION ALL
-
- SELECT
- N'钱包', @GameID, 'BANK', @userid, @currentbankamount, -@amount,
- @currentbankamount - @amount, 0, @IPAddress, N'保险柜取出,服务器=' + @ServerName, 0, @CurrTime
- END
- SET @RetCode = 1
- return 1
- end
- else
- begin
- SET @RetCode = 15
- set @outmsg ='从保险柜取出失败:您保险柜金额不足'
- return 0
- end
- END
- GO
- /****** Object: StoredProcedure [dbo].[p_bank_query] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- --接口:查询保险柜数量
- CREATE PROCEDURE [dbo].[p_bank_query]
- @userid INT,
- @bankamount BIGINT OUTPUT
- AS
- SET NOCOUNT ON
- SET XACT_ABORT ON
- BEGIN
- SET @bankamount = 0
-
- SELECT @bankamount = bank FROM [Money] WHERE userid = @userid
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[p_if_getmoney] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- --新接口2011:简单获得金币数
- CREATE PROCEDURE [dbo].[p_if_getmoney]
- @userid INT,
- @moneyamount BIGINT OUTPUT,
- @Bank BIGINT OUTPUT
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- SET @moneyamount = 0
- SET @Bank = 0
-
- --获取金币、保险柜
- SELECT @moneyamount = Amount, @Bank = Bank FROM [Money] WHERE UserID = @userid
-
- RETURN 1
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_coda_GenOrder] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_coda_GenOrder]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-18
- -- Description: coda支付充值--生成订单
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_coda_GenOrder]
- @UserID INT, --用户ID
- @Price DECIMAL(18, 2), --价格
- @ProductID VARCHAR(32), --业务类型
- @PartnerID INT, --渠道ID
- @IPAddress VARCHAR(16), --IP地址
- @OrderID VARCHAR(32) OUTPUT --订单号
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @RetCode TINYINT --操作结果
- --表变量
- DECLARE @tmptable TABLE(
- OrderID UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID(), --订单ID
- UserID INT NOT NULL --用户ID
- )
-
- SET @RetCode = 0
- --生成数据
- INSERT INTO @tmptable(UserID) VALUES(@UserID)
-
- --获取订单ID
- SELECT @OrderID = REPLACE(OrderID, '-', '') FROM @tmptable WHERE UserID = @UserID
- IF(@@ROWCOUNT = 0)
- BEGIN
- --添加日志
- SET @Msg = N'coda支付 生成订单异常,订单信息不存在,关联的信息:@UserID=' + LTRIM(STR(@UserID)) + ',@ProductID=' + @ProductID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
- SET @OrderID = ''
- RETURN
- END
- --组装成有序的订单
- SET @OrderID = CONVERT(CHAR(6), GETDATE(), 12) + REPLACE(CONVERT(CHAR(8), GETDATE(), 108), ':', '') + SUBSTRING(@OrderID, 1, 20)
- --添加订单信息
- INSERT INTO [codaOrder]
- (
- OrderID, TradeID, UserID, ProductID, Price, PartnerID, GetStatus, PayInfo, IPAddress, Crdate
- )
- VALUES
- (
- @OrderID, '', @UserID, @ProductID, @Price, @PartnerID, 0, '', @IPAddress, GETDATE()
- )
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_coda_OrderReq] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_coda_OrderReq]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: coda支付--充值
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_coda_OrderReq]
- @OrderID VARCHAR(32), --订单号
- @TradeID VARCHAR(64), --业务流水号
- @Price DECIMAL(18, 2), --价格
- @RetCode TINYINT OUTPUT, --操作结果
- @UserID INT OUTPUT, --用户ID
- @ProductID VARCHAR(32) OUTPUT --产品ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @PayPrice DECIMAL(18, 2) --价格
- DECLARE @GetStatus TINYINT --获取状态
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @DateFlag SMALLDATETIME --日期标志
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @PartnerID INT --渠道ID
- DECLARE @IPAddress VARCHAR(16) --IP地址
- SET @CurrTime = GETDATE()
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
- SET @IPAddress = ''
- SET @ProductID = ''
- SET @UserID = 0
- SET @RetCode = 0
- --获取订单信息
- SELECT
- @UserID = UserID, @PayPrice = Price, @GetStatus = GetStatus, @ProductID = ProductID,
- @IPAddress = IPAddress, @PartnerID = PartnerID
- FROM
- [codaOrder]
- WHERE
- OrderID = @OrderID
- --判断订单是否有效
- IF(@GetStatus IS NULL)
- BEGIN
- --添加日志
- SET @Msg = N'coda支付 充值,非法参数,关联的信息:@OrderID=' + @OrderID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
-
- --判断订单是否有效
- IF(@GetStatus != 0)
- BEGIN
- --添加日志
- SET @Msg = N'coda支付 充值,订单重复提交,关联的信息:@OrderID=' + @OrderID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
-
- /*
- --判断价格是否正确
- IF(@PayPrice IS NULL OR @PayPrice != @Price)
- BEGIN
- --添加日志
- SET @Msg = N'coda支付,价格非法,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- */
- --判断业务类型是否合法
- IF(@ProductID IS NULL OR LEN(@ProductID) <= 0)
- BEGIN
- --添加日志
- SET @Msg = N'coda支付 充值,产品非法,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- --判断订单是否存在,以免重复加数据
- IF EXISTS(SELECT OrderID FROM [codaPay] WHERE OrderID = @OrderID)
- BEGIN
- --添加日志
- SET @Msg = N'coda支付 充值,订单重复提交,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
-
- --先设置订单状态
- UPDATE [codaOrder] SET GetStatus = 1, TradeID = @TradeID WHERE OrderID = @OrderID AND GetStatus = 0
- IF(@@ROWCOUNT = 0)
- BEGIN
- --添加日志
- SET @Msg = N'coda支付 充值,订单重复提交(再次确认),关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- --添加订单记录
- INSERT INTO [codaPay]
- (
- OrderID, TradeID, UserID, ProductID, Price, PartnerID, IPAddress, Crdate
- )
- VALUES
- (
- @OrderID, @TradeID, @UserID, @ProductID, @PayPrice, @PartnerID, @IPAddress, @CurrTime
- )
-
- --触发充值事件
- EXEC [Game_Pay_Trigger] @UserID = @UserID, @ProductID = @ProductID, @Price = @PayPrice, @IPAddress = @IPAddress
-
- --成功
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_CroPay_GenOrder] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Web_CroPay_GenOrder]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-18
- -- Description: Cropay 充值--生成订单
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_CroPay_GenOrder]
- @UserID INT, --用户ID
- @Price DECIMAL(18, 2), --价格
- @ProductID VARCHAR(32), --业务类型
- @PartnerID INT, --渠道ID
- @IPAddress VARCHAR(16), --IP地址
- @OrderID VARCHAR(32) OUTPUT --订单号
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @RetCode TINYINT --操作结果
- --表变量
- DECLARE @tmptable TABLE(
- OrderID UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID(), --订单ID
- UserID INT NOT NULL --用户ID
- )
-
- SET @RetCode = 0
- --生成数据
- INSERT INTO @tmptable(UserID) VALUES(@UserID)
-
- --获取订单ID
- SELECT @OrderID = REPLACE(OrderID, '-', '') FROM @tmptable WHERE UserID = @UserID
- IF(@@ROWCOUNT = 0)
- BEGIN
- --添加日志
- SET @Msg = N'Cropay 生成订单异常,订单信息不存在,关联的信息:@UserID=' + LTRIM(STR(@UserID)) + ',@ProductID=' + @ProductID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
- SET @OrderID = ''
- RETURN
- END
- --组装成有序的订单
- SET @OrderID = CONVERT(CHAR(6), GETDATE(), 12) + REPLACE(CONVERT(CHAR(8), GETDATE(), 108), ':', '') + SUBSTRING(@OrderID, 1, 20)
- --获取货币类型
- IF EXISTS(SELECT ProductID FROM [DiamondMall] WHERE ProductID = @ProductID)
- BEGIN
- SET @RetCode = 1
- END
-
- --月卡
- ELSE IF EXISTS(SELECT ProductID FROM [MonthlyCard] WHERE ProductID = @ProductID)
- BEGIN
- SET @RetCode = 1
- END
-
- --商品无效
- IF(@RetCode != 1)
- BEGIN
- --添加日志
- SET @Msg = N'Cropay 生成订单异常,产品信息不存在,关联的信息:@UserID=' + LTRIM(STR(@UserID)) + ',@OrderID=' + @OrderID + ',@ProductID=' + @ProductID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
- SET @OrderID = ''
- RETURN
- END
- --添加订单信息
- INSERT INTO [CroOrder]
- (
- OrderID, TradeID, UserID, ProductID, Price, PartnerID, GetStatus, IPAddress, Crdate
- )
- VALUES
- (
- @OrderID, '', @UserID, @ProductID, @Price, @PartnerID, 0, @IPAddress, GETDATE()
- )
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_CroPay_OrderReq] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_CroPay_OrderReq]
- -- @OrderID = 10001,
- -- @TradeID = '',
- -- @Price = 123,
- -- @IPAddress = ''
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: Cropay--充值
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_CroPay_OrderReq]
- @OrderID VARCHAR(32), --订单号
- @TradeID VARCHAR(64), --业务流水号
- @Price DECIMAL(18, 2), --价格
- @RetCode TINYINT OUTPUT, --操作结果
- @UserID INT OUTPUT, --用户ID
- @ProductID VARCHAR(32) OUTPUT --产品ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @PayPrice DECIMAL(18, 2) --价格
- DECLARE @GetStatus TINYINT --获取状态
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @DateFlag SMALLDATETIME --日期标志
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @PartnerID INT --渠道ID
- DECLARE @IPAddress VARCHAR(16) --IP地址
- SET @CurrTime = GETDATE()
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
- SET @IPAddress = ''
- SET @ProductID = ''
- SET @UserID = 0
- SET @RetCode = 0
- --获取订单信息
- SELECT
- @UserID = UserID, @PayPrice = Price, @GetStatus = GetStatus, @ProductID = ProductID,
- @IPAddress = IPAddress, @PartnerID = PartnerID
- FROM
- [CroOrder]
- WHERE
- OrderID = @OrderID
- --判断订单是否有效
- IF(@GetStatus IS NULL)
- BEGIN
- --添加日志
- SET @Msg = N'Cropay 充值,非法参数,关联的信息:@OrderID=' + @OrderID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
-
- --判断订单是否有效
- IF(@GetStatus != 0)
- BEGIN
- --添加日志
- SET @Msg = N'Cropay 充值,订单重复提交,关联的信息:@OrderID=' + @OrderID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- --判断价格是否正确
- IF(@PayPrice IS NULL OR @PayPrice != @Price)
- BEGIN
- --添加日志
- SET @Msg = N'Cropay 充值,价格非法,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- --判断业务类型是否合法
- IF(@ProductID IS NULL OR LEN(@ProductID) <= 0)
- BEGIN
- --添加日志
- SET @Msg = N'Cropay 充值,产品非法,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- --判断订单是否存在,以免重复加数据
- IF EXISTS(SELECT OrderID FROM [CroPay] WHERE OrderID = @OrderID)
- BEGIN
- --添加日志
- SET @Msg = N'Cropay 充值,订单重复提交,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- --校验产品信息
- EXEC [Pay_Product_Check] @UserID = @UserID, @OrderID = @OrderID, @ProductID = @ProductID, @PayName = 'Cropay ',
- @IPAddress = @IPAddress, @Price = @PayPrice OUTPUT
- --判断价格是否正确
- IF(@PayPrice IS NULL OR @PayPrice <= 0 OR @PayPrice != @Price)
- BEGIN
- --添加日志
- SET @Msg = N'Cropay 充值,价格非法,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
-
- --先设置订单状态
- UPDATE [CroOrder] SET GetStatus = 1, TradeID = @TradeID WHERE OrderID = @OrderID AND GetStatus = 0
- IF(@@ROWCOUNT = 0)
- BEGIN
- --添加日志
- SET @Msg = N'Cropay 充值,订单重复提交(再次确认),关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- --添加订单记录
- INSERT INTO [CroPay]
- (
- OrderID, TradeID, UserID, ProductID, Price, PartnerID, IPAddress, Crdate
- )
- VALUES
- (
- @OrderID, @TradeID, @UserID, @ProductID, @Price, @PartnerID, @IPAddress, @CurrTime
- )
- --触发充值事件
- EXEC [Game_Pay_Trigger] @UserID = @UserID, @ProductID = @ProductID, @Price = @Price, @IPAddress = @IPAddress
-
- --成功
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_Crush_GenOrder] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_Crush_GenOrder]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-18
- -- Description: Crush支付充值--生成订单
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_Crush_GenOrder]
- @UserID INT, --用户ID
- @Price DECIMAL(18, 2), --价格
- @ProductID VARCHAR(32), --业务类型
- @PartnerID INT, --渠道ID
- @IPAddress VARCHAR(16), --IP地址
- @OrderID VARCHAR(32) OUTPUT --订单号
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @RetCode TINYINT --操作结果
- --表变量
- DECLARE @tmptable TABLE(
- OrderID UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID(), --订单ID
- UserID INT NOT NULL --用户ID
- )
-
- SET @RetCode = 0
- --生成数据
- INSERT INTO @tmptable(UserID) VALUES(@UserID)
-
- --获取订单ID
- SELECT @OrderID = REPLACE(OrderID, '-', '') FROM @tmptable WHERE UserID = @UserID
- IF(@@ROWCOUNT = 0)
- BEGIN
- --添加日志
- SET @Msg = N'Crush支付 生成订单异常,订单信息不存在,关联的信息:@UserID=' + LTRIM(STR(@UserID)) + ',@ProductID=' + @ProductID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
- SET @OrderID = ''
- RETURN
- END
- --组装成有序的订单
- SET @OrderID = CONVERT(CHAR(6), GETDATE(), 12) + REPLACE(CONVERT(CHAR(8), GETDATE(), 108), ':', '') + SUBSTRING(@OrderID, 1, 20)
- --添加订单信息
- INSERT INTO [CrushOrder]
- (
- OrderID, TradeID, UserID, ProductID, Price, PartnerID, GetStatus, PayInfo, IPAddress, Crdate
- )
- VALUES
- (
- @OrderID, '', @UserID, @ProductID, @Price, @PartnerID, 0, '', @IPAddress, GETDATE()
- )
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_Crush_OrderReq] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_Crush_OrderReq]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: Crush支付--充值
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_Crush_OrderReq]
- @OrderID VARCHAR(32), --订单号
- @TradeID VARCHAR(64), --业务流水号
- @Price DECIMAL(18, 2), --价格
- @RetCode TINYINT OUTPUT, --操作结果
- @UserID INT OUTPUT, --用户ID
- @ProductID VARCHAR(32) OUTPUT --产品ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @PayPrice DECIMAL(18, 2) --价格
- DECLARE @GetStatus TINYINT --获取状态
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @DateFlag SMALLDATETIME --日期标志
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @PartnerID INT --渠道ID
- DECLARE @IPAddress VARCHAR(16) --IP地址
- SET @CurrTime = GETDATE()
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
- SET @IPAddress = ''
- SET @ProductID = ''
- SET @UserID = 0
- SET @RetCode = 0
- --获取订单信息
- SELECT
- @UserID = UserID, @PayPrice = Price, @GetStatus = GetStatus, @ProductID = ProductID,
- @IPAddress = IPAddress, @PartnerID = PartnerID
- FROM
- [CrushOrder]
- WHERE
- OrderID = @OrderID
- --判断订单是否有效
- IF(@GetStatus IS NULL)
- BEGIN
- --添加日志
- SET @Msg = N'Crush支付 充值,非法参数,关联的信息:@OrderID=' + @OrderID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
-
- --判断订单是否有效
- IF(@GetStatus != 0)
- BEGIN
- --添加日志
- SET @Msg = N'Crush支付 充值,订单重复提交,关联的信息:@OrderID=' + @OrderID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
-
- /*
- --判断价格是否正确
- IF(@PayPrice IS NULL OR @PayPrice != @Price)
- BEGIN
- --添加日志
- SET @Msg = N'Crush支付,价格非法,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- */
- --判断业务类型是否合法
- IF(@ProductID IS NULL OR LEN(@ProductID) <= 0)
- BEGIN
- --添加日志
- SET @Msg = N'Crush支付 充值,产品非法,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- --判断订单是否存在,以免重复加数据
- IF EXISTS(SELECT OrderID FROM [CrushPay] WHERE OrderID = @OrderID)
- BEGIN
- --添加日志
- SET @Msg = N'Crush支付 充值,订单重复提交,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
-
- --先设置订单状态
- UPDATE [CrushOrder] SET GetStatus = 1, TradeID = @TradeID WHERE OrderID = @OrderID AND GetStatus = 0
- IF(@@ROWCOUNT = 0)
- BEGIN
- --添加日志
- SET @Msg = N'Crush支付 充值,订单重复提交(再次确认),关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- --添加订单记录
- INSERT INTO [CrushPay]
- (
- OrderID, TradeID, UserID, ProductID, Price, PartnerID, IPAddress, Crdate
- )
- VALUES
- (
- @OrderID, @TradeID, @UserID, @ProductID, @PayPrice, @PartnerID, @IPAddress, @CurrTime
- )
-
- --触发充值事件
- EXEC [Game_Pay_Trigger] @UserID = @UserID, @ProductID = @ProductID, @Price = @PayPrice, @IPAddress = @IPAddress
-
- --成功
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_CrushWithdraw_Notify] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_CrushWithdraw_Notify]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: Crush支付--提现通知
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_CrushWithdraw_Notify]
- @OrderID VARCHAR(32), --订单号
- @DfTransactionId VARCHAR(32), --平台代付单号,32字符以内
- @Status TINYINT, --状态 0=Failure 1=Success 2=Pending(Success)
- @DfDesc VARCHAR(256), --代付状态描述
- @Balance INT --余额
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @UserID INT --用户ID
- DECLARE @Amount INT --提现金额
- DECLARE @RealAmount INT --实际金额(含费用)
- DECLARE @Surcharge INT --手续费
- DECLARE @Msg NVARCHAR(4000) --消息
- DECLARE @RetCode TINYINT --操作结果
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @GetStatus TINYINT --状态 (0=下单(无审核) 1=待审核 2=已审核 3=提现成功(审核) 4=提现成功(无审核) 13=Pending(审核) 14=Pending(无审核)
- --11=拒绝 251=提现失败(无审核) 252=提现失败(审核) 255=提现失败)
-
- SET @RetCode = 0
- SET @CurrTime = GETDATE()
- --更新状态
- UPDATE
- [CrushWithdraw]
- SET
- @UserID = UserID, @Amount = Amount, @RealAmount = RealAmount, @GetStatus = GetStatus, @Surcharge = Surcharge,
- GetStatus = CASE
- WHEN @Status = 1 AND GetStatus = 0 THEN 4 -- 0=下单(无审核) --> 4=提成成功(无审核)
- WHEN @Status = 2 AND GetStatus = 0 THEN 14 -- 0=下单(无审核) --> 14=pending(无审核)
- WHEN @Status = 1 AND GetStatus = 2 THEN 3 -- 2=已审核 --> 3=提现成功(审核)
- WHEN @Status = 2 AND GetStatus = 2 THEN 13 -- 2=已审核 --> 13=pending(审核)
- WHEN GetStatus = 0 THEN 251 -- 0=下单(无审核) --> 251=提成失败(无审核)
- WHEN GetStatus = 2 THEN 252 -- 2=已审核 --> 3=提现失败(审核)
- ELSE 255 --未知
- END,
- DfTransactionId = @DfTransactionId, DfDesc = @DfDesc, Balance = @Balance, NotifyTime = @CurrTime
- WHERE
- OrderID = @OrderID
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @Msg = N'Pay_CrushWithdraw_Notify, @OrderID=' + @OrderID + ',@DfTransactionId=' + @DfTransactionId +
- ',@Status=' + LTRIM(STR(@Status)) + ',@DfDesc=' + @DfDesc
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @IPAddress = '127.0.0.1', @Msg = @Msg, @Type = 2
-
- SELECT @RetCode AS RetCode, @UserID AS UserID, @Amount AS Amount, @RealAmount AS RealAmount, @Surcharge AS Surcharge
- RETURN
- END
- --失败,直接返回
- IF(@Status IS NULL OR @Status NOT IN(1, 2))
- BEGIN
- --返回订单信息
- SET @RetCode = 2
- SELECT @RetCode AS RetCode, @UserID AS UserID, @Amount AS Amount, @RealAmount AS RealAmount, @Surcharge AS Surcharge
- RETURN
- END
-
- --不是成功状态
- IF(@Status != 1)
- BEGIN
- SET @RetCode = 11
-
- --返回订单信息
- SELECT @RetCode AS RetCode, @UserID AS UserID, @Amount AS Amount, @RealAmount AS RealAmount, @Surcharge AS Surcharge
- RETURN
- END
- SET @RetCode = 1
-
- --返回订单信息
- SELECT @RetCode AS RetCode, @UserID AS UserID, @Amount AS Amount, @RealAmount AS RealAmount, @Surcharge AS Surcharge
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_CrushWithdraw_Req] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_CrushWithdraw_Req]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: Crush支付--提现申请
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_CrushWithdraw_Req]
- @UserID int, --用户ID
- @Amount INT, --提现金额
- @RealName VARCHAR(128), --真实姓名
- @BankCard VARCHAR(32), --银行卡
- @BankName VARCHAR(128), --银行名称
- @Mobile VARCHAR(32), --电话
- @EMail VARCHAR(64), --email
- @Address VARCHAR(256), --地址
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @RetCode TINYINT --操作结果 1=下单成功 11=参数无效 12=提现金额太小 13=提现次数超过限制 14=提现金额超过限制 15=扣减金币失败
- DECLARE @OrderID VARCHAR(32) --订单号
- DECLARE @GetStatus TINYINT --状态 (0=下单(无审核) 1=待审核 2=已审核 3=提现成功(审核) 4=提成成功(无审核) 11=拒绝)
- DECLARE @RealAmount INT --实际提现的金额(扣除费率)
- DECLARE @Tel VARCHAR(32) --手机号
- DECLARE @Surcharge INT --手续费
-
- --表变量
- DECLARE @tmptable TABLE(
- OrderID UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID(), --后台订单ID
- UserID INT NOT NULL --用户ID
- )
-
- SET @RetCode = 0
- SET @CurrTime = GETDATE()
- SET @OrderID = ''
- SET @GetStatus = 0
- SET @Surcharge = 0
- SET @RealAmount = 0
- SET @Tel = ''
- IF(@UserID IS NULL OR @UserID <= 0 OR @Amount IS NULL OR @Amount <= 0)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode, @OrderID AS OrderID, @GetStatus AS GetStatus, @RealAmount AS RealAmount, @Tel AS Tel
- RETURN
- END
- --生成数据
- INSERT INTO @tmptable(UserID) VALUES(@UserID)
- --获取后台订单ID
- SELECT @OrderID = REPLACE(OrderID, '-', '') FROM @tmptable WHERE UserID = @UserID
-
- --组装成有序的订单
- SET @OrderID = 'W' + RIGHT(CONVERT(CHAR(6), GETDATE(), 12), 5) + REPLACE(CONVERT(CHAR(8), GETDATE(), 108), ':', '') + SUBSTRING(@OrderID, 1, 11)
-
- --实际提取金额=提取金额-手续费
- SET @RealAmount = @Amount - @Surcharge
- --生成订单
- INSERT INTO [CrushWithdraw]
- (
- OrderID, TradeID, UserID, Amount, RealAmount, Surcharge, DfTransactionId, GetStatus, DfDesc, NotifyTime, Crdate, Balance,
- RealName, BankCard, BankName, Mobile, EMail, Address
- )
- VALUES
- (
- @OrderID, '', @UserID, @Amount, @RealAmount, @Surcharge, '', @GetStatus, '', @CurrTime, @CurrTime, 0,
- @RealName, @BankCard, @BankName, @Mobile, @EMail, @Address
- )
- --操作结果
- SET @RetCode = 1
- SELECT @RetCode AS RetCode, @OrderID AS OrderID, @GetStatus AS GetStatus, @RealAmount AS RealAmount, @Tel AS Tel
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_Dingpei_GenOrder] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_Dingpei_GenOrder]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-18
- -- Description: Dingpei支付充值--生成订单
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_Dingpei_GenOrder]
- @UserID INT, --用户ID
- @Price DECIMAL(18, 2), --价格
- @ProductID VARCHAR(32), --业务类型
- @PartnerID INT, --渠道ID
- @IPAddress VARCHAR(16), --IP地址
- @OrderID VARCHAR(32) OUTPUT --订单号
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @RetCode TINYINT --操作结果
- --表变量
- DECLARE @tmptable TABLE(
- OrderID UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID(), --订单ID
- UserID INT NOT NULL --用户ID
- )
-
- SET @RetCode = 0
- --生成数据
- INSERT INTO @tmptable(UserID) VALUES(@UserID)
-
- --获取订单ID
- SELECT @OrderID = REPLACE(OrderID, '-', '') FROM @tmptable WHERE UserID = @UserID
- IF(@@ROWCOUNT = 0)
- BEGIN
- --添加日志
- SET @Msg = N'Dingpei支付 生成订单异常,订单信息不存在,关联的信息:@UserID=' + LTRIM(STR(@UserID)) + ',@ProductID=' + @ProductID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
- SET @OrderID = ''
- RETURN
- END
- --组装成有序的订单
- SET @OrderID = CONVERT(CHAR(6), GETDATE(), 12) + REPLACE(CONVERT(CHAR(8), GETDATE(), 108), ':', '') + SUBSTRING(@OrderID, 1, 20)
- --添加订单信息
- INSERT INTO [DingpeiOrder]
- (
- OrderID, TradeID, UserID, ProductID, Price, PartnerID, GetStatus, PayInfo, IPAddress, Crdate
- )
- VALUES
- (
- @OrderID, '', @UserID, @ProductID, @Price, @PartnerID, 0, '', @IPAddress, GETDATE()
- )
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_Dingpei_OrderReq] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_Dingpei_OrderReq]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: Dingpei支付--充值
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_Dingpei_OrderReq]
- @OrderID VARCHAR(32), --订单号
- @TradeID VARCHAR(64), --业务流水号
- @Price DECIMAL(18, 2), --价格
- @RetCode TINYINT OUTPUT, --操作结果
- @UserID INT OUTPUT, --用户ID
- @ProductID VARCHAR(32) OUTPUT --产品ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @PayPrice DECIMAL(18, 2) --价格
- DECLARE @GetStatus TINYINT --获取状态
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @DateFlag SMALLDATETIME --日期标志
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @PartnerID INT --渠道ID
- DECLARE @IPAddress VARCHAR(16) --IP地址
- SET @CurrTime = GETDATE()
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
- SET @IPAddress = ''
- SET @ProductID = ''
- SET @UserID = 0
- SET @RetCode = 0
- --获取订单信息
- SELECT
- @UserID = UserID, @PayPrice = Price, @GetStatus = GetStatus, @ProductID = ProductID,
- @IPAddress = IPAddress, @PartnerID = PartnerID
- FROM
- [DingpeiOrder]
- WHERE
- OrderID = @OrderID
- --判断订单是否有效
- IF(@GetStatus IS NULL)
- BEGIN
- --添加日志
- SET @Msg = N'Dingpei支付 充值,非法参数,关联的信息:@OrderID=' + @OrderID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
-
- --判断订单是否有效
- IF(@GetStatus != 0)
- BEGIN
- --添加日志
- SET @Msg = N'Dingpei支付 充值,订单重复提交,关联的信息:@OrderID=' + @OrderID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
-
- /*
- --判断价格是否正确
- IF(@PayPrice IS NULL OR @PayPrice != @Price)
- BEGIN
- --添加日志
- SET @Msg = N'Dingpei支付,价格非法,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- */
- --判断业务类型是否合法
- IF(@ProductID IS NULL OR LEN(@ProductID) <= 0)
- BEGIN
- --添加日志
- SET @Msg = N'Dingpei支付 充值,产品非法,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- --判断订单是否存在,以免重复加数据
- IF EXISTS(SELECT OrderID FROM [DingpeiPay] WHERE OrderID = @OrderID)
- BEGIN
- --添加日志
- SET @Msg = N'Dingpei支付 充值,订单重复提交,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
-
- --先设置订单状态
- UPDATE [DingpeiOrder] SET GetStatus = 1, TradeID = @TradeID WHERE OrderID = @OrderID AND GetStatus = 0
- IF(@@ROWCOUNT = 0)
- BEGIN
- --添加日志
- SET @Msg = N'Dingpei支付 充值,订单重复提交(再次确认),关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- --添加订单记录
- INSERT INTO [DingpeiPay]
- (
- OrderID, TradeID, UserID, ProductID, Price, PartnerID, IPAddress, Crdate
- )
- VALUES
- (
- @OrderID, @TradeID, @UserID, @ProductID, @PayPrice, @PartnerID, @IPAddress, @CurrTime
- )
-
- --触发充值事件
- EXEC [Game_Pay_Trigger] @UserID = @UserID, @ProductID = @ProductID, @Price = @PayPrice, @IPAddress = @IPAddress
-
- --成功
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_DingpeiWithdraw_Notify] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_DingpeiWithdraw_Notify]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: Dingpei支付--提现通知
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_DingpeiWithdraw_Notify]
- @OrderID VARCHAR(32), --订单号
- @DfTransactionId VARCHAR(32), --平台代付单号,32字符以内
- @Status TINYINT, --状态 0=Failure 1=Success 2=Pending(Success)
- @DfDesc VARCHAR(256), --代付状态描述
- @Balance INT --余额
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @UserID INT --用户ID
- DECLARE @Amount INT --提现金额
- DECLARE @RealAmount INT --实际金额(含费用)
- DECLARE @Surcharge INT --手续费
- DECLARE @Msg NVARCHAR(4000) --消息
- DECLARE @RetCode TINYINT --操作结果
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @GetStatus TINYINT --状态 (0=下单(无审核) 1=待审核 2=已审核 3=提现成功(审核) 4=提现成功(无审核) 13=Pending(审核) 14=Pending(无审核)
- --11=拒绝 251=提现失败(无审核) 252=提现失败(审核) 255=提现失败)
-
- SET @RetCode = 0
- SET @CurrTime = GETDATE()
- --更新状态
- UPDATE
- [DingpeiWithdraw]
- SET
- @UserID = UserID, @Amount = Amount, @RealAmount = RealAmount, @GetStatus = GetStatus, @Surcharge = Surcharge,
- GetStatus = CASE
- WHEN @Status = 1 AND GetStatus = 0 THEN 4 -- 0=下单(无审核) --> 4=提成成功(无审核)
- WHEN @Status = 2 AND GetStatus = 0 THEN 14 -- 0=下单(无审核) --> 14=pending(无审核)
- WHEN @Status = 1 AND GetStatus = 2 THEN 3 -- 2=已审核 --> 3=提现成功(审核)
- WHEN @Status = 2 AND GetStatus = 2 THEN 13 -- 2=已审核 --> 13=pending(审核)
- WHEN GetStatus = 0 THEN 251 -- 0=下单(无审核) --> 251=提成失败(无审核)
- WHEN GetStatus = 2 THEN 252 -- 2=已审核 --> 3=提现失败(审核)
- ELSE 255 --未知
- END,
- DfTransactionId = @DfTransactionId, DfDesc = @DfDesc, Balance = @Balance, NotifyTime = @CurrTime
- WHERE
- OrderID = @OrderID
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @Msg = N'Pay_DingpeiWithdraw_Notify, @OrderID=' + @OrderID + ',@DfTransactionId=' + @DfTransactionId +
- ',@Status=' + LTRIM(STR(@Status)) + ',@DfDesc=' + @DfDesc
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @IPAddress = '127.0.0.1', @Msg = @Msg, @Type = 2
-
- SELECT @RetCode AS RetCode, @UserID AS UserID, @Amount AS Amount, @RealAmount AS RealAmount, @Surcharge AS Surcharge
- RETURN
- END
- --失败,直接返回
- IF(@Status IS NULL OR @Status NOT IN(1, 2))
- BEGIN
- --返回订单信息
- SET @RetCode = 2
- SELECT @RetCode AS RetCode, @UserID AS UserID, @Amount AS Amount, @RealAmount AS RealAmount, @Surcharge AS Surcharge
- RETURN
- END
-
- --不是成功状态
- IF(@Status != 1)
- BEGIN
- SET @RetCode = 11
-
- --返回订单信息
- SELECT @RetCode AS RetCode, @UserID AS UserID, @Amount AS Amount, @RealAmount AS RealAmount, @Surcharge AS Surcharge
- RETURN
- END
- SET @RetCode = 1
-
- --返回订单信息
- SELECT @RetCode AS RetCode, @UserID AS UserID, @Amount AS Amount, @RealAmount AS RealAmount, @Surcharge AS Surcharge
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_DingpeiWithdraw_Req] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_DingpeiWithdraw_Req]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: Dingpei支付--提现申请
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_DingpeiWithdraw_Req]
- @UserID int, --用户ID
- @Amount INT, --提现金额
- @RealName VARCHAR(128), --真实姓名
- @BankCard VARCHAR(32), --银行卡
- @BankName VARCHAR(128), --银行名称
- @Mobile VARCHAR(32), --电话
- @EMail VARCHAR(64), --email
- @Address VARCHAR(256), --地址
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @RetCode TINYINT --操作结果 1=下单成功 11=参数无效 12=提现金额太小 13=提现次数超过限制 14=提现金额超过限制 15=扣减金币失败
- DECLARE @OrderID VARCHAR(32) --订单号
- DECLARE @GetStatus TINYINT --状态 (0=下单(无审核) 1=待审核 2=已审核 3=提现成功(审核) 4=提成成功(无审核) 11=拒绝)
- DECLARE @RealAmount INT --实际提现的金额(扣除费率)
- DECLARE @Tel VARCHAR(32) --手机号
- DECLARE @Surcharge INT --手续费
-
- --表变量
- DECLARE @tmptable TABLE(
- OrderID UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID(), --后台订单ID
- UserID INT NOT NULL --用户ID
- )
-
- SET @RetCode = 0
- SET @CurrTime = GETDATE()
- SET @OrderID = ''
- SET @GetStatus = 0
- SET @Surcharge = 0
- SET @RealAmount = 0
- SET @Tel = ''
- IF(@UserID IS NULL OR @UserID <= 0 OR @Amount IS NULL OR @Amount <= 0)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode, @OrderID AS OrderID, @GetStatus AS GetStatus, @RealAmount AS RealAmount, @Tel AS Tel
- RETURN
- END
- --生成数据
- INSERT INTO @tmptable(UserID) VALUES(@UserID)
- --获取后台订单ID
- SELECT @OrderID = REPLACE(OrderID, '-', '') FROM @tmptable WHERE UserID = @UserID
-
- --组装成有序的订单
- SET @OrderID = RIGHT(CONVERT(CHAR(6), GETDATE(), 12), 5) + REPLACE(CONVERT(CHAR(8), GETDATE(), 108), ':', '') + SUBSTRING(@OrderID, 1, 11)
-
- --实际提取金额=提取金额-手续费
- SET @RealAmount = @Amount - @Surcharge
- --生成订单
- INSERT INTO [DingpeiWithdraw]
- (
- OrderID, TradeID, UserID, Amount, RealAmount, Surcharge, DfTransactionId, GetStatus, DfDesc, NotifyTime, Crdate, Balance,
- RealName, BankCard, BankName, Mobile, EMail, Address
- )
- VALUES
- (
- @OrderID, '', @UserID, @Amount, @RealAmount, @Surcharge, '', @GetStatus, '', @CurrTime, @CurrTime, 0,
- @RealName, @BankCard, @BankName, @Mobile, @EMail, @Address
- )
- --操作结果
- SET @RetCode = 1
- SELECT @RetCode AS RetCode, @OrderID AS OrderID, @GetStatus AS GetStatus, @RealAmount AS RealAmount, @Tel AS Tel
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_fawry_GenOrder] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_fawry_GenOrder]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-18
- -- Description: fawry支付充值--生成订单
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_fawry_GenOrder]
- @UserID INT, --用户ID
- @Price DECIMAL(18, 2), --价格
- @ProductID VARCHAR(32), --业务类型
- @PartnerID INT, --渠道ID
- @IPAddress VARCHAR(16), --IP地址
- @OrderID VARCHAR(32) OUTPUT --订单号
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @RetCode TINYINT --操作结果
- --表变量
- DECLARE @tmptable TABLE(
- OrderID UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID(), --订单ID
- UserID INT NOT NULL --用户ID
- )
-
- SET @RetCode = 0
- --生成数据
- INSERT INTO @tmptable(UserID) VALUES(@UserID)
-
- --获取订单ID
- SELECT @OrderID = REPLACE(OrderID, '-', '') FROM @tmptable WHERE UserID = @UserID
- IF(@@ROWCOUNT = 0)
- BEGIN
- --添加日志
- SET @Msg = N'fawry支付 生成订单异常,订单信息不存在,关联的信息:@UserID=' + LTRIM(STR(@UserID)) + ',@ProductID=' + @ProductID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
- SET @OrderID = ''
- RETURN
- END
- --组装成有序的订单
- SET @OrderID = CONVERT(CHAR(6), GETDATE(), 12) + REPLACE(CONVERT(CHAR(8), GETDATE(), 108), ':', '') + SUBSTRING(@OrderID, 1, 20)
- --添加订单信息
- INSERT INTO [fawryOrder]
- (
- OrderID, TradeID, UserID, ProductID, Price, PartnerID, GetStatus, PayInfo, IPAddress, Crdate
- )
- VALUES
- (
- @OrderID, '', @UserID, @ProductID, @Price, @PartnerID, 0, '', @IPAddress, GETDATE()
- )
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_fawry_OrderReq] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_fawry_OrderReq]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: fawry支付--充值
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_fawry_OrderReq]
- @OrderID VARCHAR(32), --订单号
- @TradeID VARCHAR(64), --业务流水号
- @Price DECIMAL(18, 2), --价格
- @RetCode TINYINT OUTPUT, --操作结果
- @UserID INT OUTPUT, --用户ID
- @ProductID VARCHAR(32) OUTPUT --产品ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @PayPrice DECIMAL(18, 2) --价格
- DECLARE @GetStatus TINYINT --获取状态
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @DateFlag SMALLDATETIME --日期标志
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @PartnerID INT --渠道ID
- DECLARE @IPAddress VARCHAR(16) --IP地址
- SET @CurrTime = GETDATE()
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
- SET @IPAddress = ''
- SET @ProductID = ''
- SET @UserID = 0
- SET @RetCode = 0
- --获取订单信息
- SELECT
- @UserID = UserID, @PayPrice = Price, @GetStatus = GetStatus, @ProductID = ProductID,
- @IPAddress = IPAddress, @PartnerID = PartnerID
- FROM
- [fawryOrder]
- WHERE
- OrderID = @OrderID
- --判断订单是否有效
- IF(@GetStatus IS NULL)
- BEGIN
- --添加日志
- SET @Msg = N'fawry支付 充值,非法参数,关联的信息:@OrderID=' + @OrderID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
-
- --判断订单是否有效
- IF(@GetStatus != 0)
- BEGIN
- --添加日志
- SET @Msg = N'fawry支付 充值,订单重复提交,关联的信息:@OrderID=' + @OrderID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
-
- /*
- --判断价格是否正确
- IF(@PayPrice IS NULL OR @PayPrice != @Price)
- BEGIN
- --添加日志
- SET @Msg = N'fawry支付,价格非法,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- */
- --判断业务类型是否合法
- IF(@ProductID IS NULL OR LEN(@ProductID) <= 0)
- BEGIN
- --添加日志
- SET @Msg = N'fawry支付 充值,产品非法,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- --判断订单是否存在,以免重复加数据
- IF EXISTS(SELECT OrderID FROM [fawryPay] WHERE OrderID = @OrderID)
- BEGIN
- --添加日志
- SET @Msg = N'fawry支付 充值,订单重复提交,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
-
- --先设置订单状态
- UPDATE [fawryOrder] SET GetStatus = 1, TradeID = @TradeID WHERE OrderID = @OrderID AND GetStatus = 0
- IF(@@ROWCOUNT = 0)
- BEGIN
- --添加日志
- SET @Msg = N'fawry支付 充值,订单重复提交(再次确认),关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- --添加订单记录
- INSERT INTO [fawryPay]
- (
- OrderID, TradeID, UserID, ProductID, Price, PartnerID, IPAddress, Crdate
- )
- VALUES
- (
- @OrderID, @TradeID, @UserID, @ProductID, @PayPrice, @PartnerID, @IPAddress, @CurrTime
- )
-
- --触发充值事件
- EXEC [Game_Pay_Trigger] @UserID = @UserID, @ProductID = @ProductID, @Price = @PayPrice, @IPAddress = @IPAddress
-
- --成功
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_Flash_GenOrder] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_Flash_GenOrder]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-18
- -- Description: Flash支付充值--生成订单
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_Flash_GenOrder]
- @UserID INT, --用户ID
- @Price DECIMAL(18, 2), --价格
- @ProductID VARCHAR(32), --业务类型
- @PartnerID INT, --渠道ID
- @IPAddress VARCHAR(16), --IP地址
- @OrderID VARCHAR(32) OUTPUT --订单号
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @RetCode TINYINT --操作结果
- --表变量
- DECLARE @tmptable TABLE(
- OrderID UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID(), --订单ID
- UserID INT NOT NULL --用户ID
- )
-
- SET @RetCode = 0
- --生成数据
- INSERT INTO @tmptable(UserID) VALUES(@UserID)
-
- --获取订单ID
- SELECT @OrderID = REPLACE(OrderID, '-', '') FROM @tmptable WHERE UserID = @UserID
- IF(@@ROWCOUNT = 0)
- BEGIN
- --添加日志
- SET @Msg = N'Flash支付 生成订单异常,订单信息不存在,关联的信息:@UserID=' + LTRIM(STR(@UserID)) + ',@ProductID=' + @ProductID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
- SET @OrderID = ''
- RETURN
- END
- --组装成有序的订单
- SET @OrderID = CONVERT(CHAR(6), GETDATE(), 12) + REPLACE(CONVERT(CHAR(8), GETDATE(), 108), ':', '') + SUBSTRING(@OrderID, 1, 20)
- --添加订单信息
- INSERT INTO [FlashOrder]
- (
- OrderID, TradeID, UserID, ProductID, Price, PartnerID, GetStatus, PayInfo, IPAddress, Crdate
- )
- VALUES
- (
- @OrderID, '', @UserID, @ProductID, @Price, @PartnerID, 0, '', @IPAddress, GETDATE()
- )
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_Flash_OrderReq] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_Flash_OrderReq]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: Flash支付--充值
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_Flash_OrderReq]
- @OrderID VARCHAR(32), --订单号
- @TradeID VARCHAR(64), --业务流水号
- @Price DECIMAL(18, 2), --价格
- @RetCode TINYINT OUTPUT, --操作结果
- @UserID INT OUTPUT, --用户ID
- @ProductID VARCHAR(32) OUTPUT --产品ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @PayPrice DECIMAL(18, 2) --价格
- DECLARE @GetStatus TINYINT --获取状态
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @DateFlag SMALLDATETIME --日期标志
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @PartnerID INT --渠道ID
- DECLARE @IPAddress VARCHAR(16) --IP地址
- SET @CurrTime = GETDATE()
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
- SET @IPAddress = ''
- SET @ProductID = ''
- SET @UserID = 0
- SET @RetCode = 0
- --获取订单信息
- SELECT
- @UserID = UserID, @PayPrice = Price, @GetStatus = GetStatus, @ProductID = ProductID,
- @IPAddress = IPAddress, @PartnerID = PartnerID
- FROM
- [FlashOrder]
- WHERE
- OrderID = @OrderID
- --判断订单是否有效
- IF(@GetStatus IS NULL)
- BEGIN
- --添加日志
- SET @Msg = N'Flash支付 充值,非法参数,关联的信息:@OrderID=' + @OrderID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
-
- --判断订单是否有效
- IF(@GetStatus != 0)
- BEGIN
- --添加日志
- SET @Msg = N'Flash支付 充值,订单重复提交,关联的信息:@OrderID=' + @OrderID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- --判断业务类型是否合法
- IF(@ProductID IS NULL OR LEN(@ProductID) <= 0)
- BEGIN
- --添加日志
- SET @Msg = N'Flash支付 充值,产品非法,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- --判断订单是否存在,以免重复加数据
- IF EXISTS(SELECT OrderID FROM [FlashPay] WHERE OrderID = @OrderID)
- BEGIN
- --添加日志
- SET @Msg = N'Flash支付 充值,订单重复提交,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
-
- --先设置订单状态
- UPDATE [FlashOrder] SET GetStatus = 1, TradeID = @TradeID WHERE OrderID = @OrderID AND GetStatus = 0
- IF(@@ROWCOUNT = 0)
- BEGIN
- --添加日志
- SET @Msg = N'Flash支付 充值,订单重复提交(再次确认),关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- --添加订单记录
- INSERT INTO [FlashPay]
- (
- OrderID, TradeID, UserID, ProductID, Price, PartnerID, IPAddress, Crdate
- )
- VALUES
- (
- @OrderID, @TradeID, @UserID, @ProductID, @PayPrice, @PartnerID, @IPAddress, @CurrTime
- )
-
- --成功
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_FlashWithdraw_Notify] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_FlashWithdraw_Notify]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: Flash支付--提现通知
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_FlashWithdraw_Notify]
- @OrderID VARCHAR(32), --订单号
- @DfTransactionId VARCHAR(32), --平台代付单号,32字符以内
- @Status TINYINT, --状态 0=Failure 1=Success 2=Pending(Success)
- @DfDesc VARCHAR(256), --代付状态描述
- @Balance INT --余额
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @UserID INT --用户ID
- DECLARE @Amount INT --提现金额
- DECLARE @RealAmount INT --实际金额(含费用)
- DECLARE @Surcharge INT --手续费
- DECLARE @Msg NVARCHAR(4000) --消息
- DECLARE @RetCode TINYINT --操作结果
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @GetStatus TINYINT --状态 (0=下单(无审核) 1=待审核 2=已审核 3=提现成功(审核) 4=提现成功(无审核) 13=Pending(审核) 14=Pending(无审核)
- --11=拒绝 251=提现失败(无审核) 252=提现失败(审核) 255=提现失败)
-
- SET @RetCode = 0
- SET @CurrTime = GETDATE()
- --更新状态
- UPDATE
- [FlashWithdraw]
- SET
- @UserID = UserID, @Amount = Amount, @RealAmount = RealAmount, @GetStatus = GetStatus, @Surcharge = Surcharge,
- GetStatus = CASE
- WHEN @Status = 1 AND GetStatus = 0 THEN 4 -- 0=下单(无审核) --> 4=提成成功(无审核)
- WHEN @Status = 2 AND GetStatus = 0 THEN 14 -- 0=下单(无审核) --> 14=pending(无审核)
- WHEN @Status = 1 AND GetStatus = 2 THEN 3 -- 2=已审核 --> 3=提现成功(审核)
- WHEN @Status = 2 AND GetStatus = 2 THEN 13 -- 2=已审核 --> 13=pending(审核)
- WHEN GetStatus = 0 THEN 251 -- 0=下单(无审核) --> 251=提成失败(无审核)
- WHEN GetStatus = 2 THEN 252 -- 2=已审核 --> 3=提现失败(审核)
- ELSE 255 --未知
- END,
- DfTransactionId = @DfTransactionId, DfDesc = @DfDesc, Balance = @Balance, NotifyTime = @CurrTime
- WHERE
- OrderID = @OrderID
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @Msg = N'Pay_FlashWithdraw_Notify, @OrderID=' + @OrderID + ',@DfTransactionId=' + @DfTransactionId +
- ',@Status=' + LTRIM(STR(@Status)) + ',@DfDesc=' + @DfDesc
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @IPAddress = '127.0.0.1', @Msg = @Msg, @Type = 2
-
- SELECT @RetCode AS RetCode, @UserID AS UserID, @Amount AS Amount, @RealAmount AS RealAmount, @Surcharge AS Surcharge
- RETURN
- END
- --失败,直接返回
- IF(@Status IS NULL OR @Status NOT IN(1, 2))
- BEGIN
- --返回订单信息
- SET @RetCode = 2
- SELECT @RetCode AS RetCode, @UserID AS UserID, @Amount AS Amount, @RealAmount AS RealAmount, @Surcharge AS Surcharge
- RETURN
- END
-
- --不是成功状态
- IF(@Status != 1)
- BEGIN
- SET @RetCode = 11
-
- --返回订单信息
- SELECT @RetCode AS RetCode, @UserID AS UserID, @Amount AS Amount, @RealAmount AS RealAmount, @Surcharge AS Surcharge
- RETURN
- END
- SET @RetCode = 1
-
- --返回订单信息
- SELECT @RetCode AS RetCode, @UserID AS UserID, @Amount AS Amount, @RealAmount AS RealAmount, @Surcharge AS Surcharge
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_FlashWithdraw_Req] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_FlashWithdraw_Req]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: Flash支付--提现申请
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_FlashWithdraw_Req]
- @UserID int, --用户ID
- @Amount INT, --提现金额
- @RealName VARCHAR(128), --真实姓名
- @BankCard VARCHAR(32), --银行卡
- @BankName VARCHAR(128), --银行名称
- @Mobile VARCHAR(32), --电话
- @EMail VARCHAR(64), --email
- @Address VARCHAR(256), --地址
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @RetCode TINYINT --操作结果 1=下单成功 11=参数无效 12=提现金额太小 13=提现次数超过限制 14=提现金额超过限制 15=扣减金币失败
- DECLARE @OrderID VARCHAR(32) --订单号
- DECLARE @GetStatus TINYINT --状态 (0=下单(无审核) 1=待审核 2=已审核 3=提现成功(审核) 4=提成成功(无审核) 11=拒绝)
- DECLARE @RealAmount INT --实际提现的金额(扣除费率)
- DECLARE @Tel VARCHAR(32) --手机号
- DECLARE @Surcharge INT --手续费
-
- --表变量
- DECLARE @tmptable TABLE(
- OrderID UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID(), --后台订单ID
- UserID INT NOT NULL --用户ID
- )
-
- SET @RetCode = 0
- SET @CurrTime = GETDATE()
- SET @OrderID = ''
- SET @GetStatus = 0
- SET @Surcharge = 0
- SET @RealAmount = 0
- SET @Tel = ''
- IF(@UserID IS NULL OR @UserID <= 0 OR @Amount IS NULL OR @Amount <= 0)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode, @OrderID AS OrderID, @GetStatus AS GetStatus, @RealAmount AS RealAmount, @Tel AS Tel
- RETURN
- END
- --生成数据
- INSERT INTO @tmptable(UserID) VALUES(@UserID)
- --获取后台订单ID
- SELECT @OrderID = REPLACE(OrderID, '-', '') FROM @tmptable WHERE UserID = @UserID
-
- --组装成有序的订单
- SET @OrderID = RIGHT(CONVERT(CHAR(6), GETDATE(), 12), 5) + REPLACE(CONVERT(CHAR(8), GETDATE(), 108), ':', '') + SUBSTRING(@OrderID, 1, 11)
-
- --实际提取金额=提取金额-手续费
- SET @RealAmount = @Amount - @Surcharge
- --生成订单
- INSERT INTO [FlashWithdraw]
- (
- OrderID, TradeID, UserID, Amount, RealAmount, Surcharge, DfTransactionId, GetStatus, DfDesc, NotifyTime, Crdate, Balance,
- RealName, BankCard, BankName, Mobile, EMail, Address
- )
- VALUES
- (
- @OrderID, '', @UserID, @Amount, @RealAmount, @Surcharge, '', @GetStatus, '', @CurrTime, @CurrTime, 0,
- @RealName, @BankCard, @BankName, @Mobile, @EMail, @Address
- )
- --操作结果
- SET @RetCode = 1
- SELECT @RetCode AS RetCode, @OrderID AS OrderID, @GetStatus AS GetStatus, @RealAmount AS RealAmount, @Tel AS Tel
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_Google_AddLog] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_Google_AddLog]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: google 添加日志
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_Google_AddLog]
- @UserID INT, --用户ID
- @ProductID VARCHAR(32), --产品ID
- @Price DECIMAL(18, 2), --价格
- @PartnerID INT, --渠道ID
- @Token VARCHAR(256), --token
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- INSERT INTO [GoogleLog]
- (
- UserID, ProductID, Price, PartnerID, Token, IPAddress, Crdate
- )
- VALUES
- (
- @UserID, @ProductID, @Price, @PartnerID, @Token, @IPAddress, GETDATE()
- )
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_Google_AddSuccessLog] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_Google_AddSuccessLog]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: google 添加成功日志
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_Google_AddSuccessLog]
- @UserID INT, --用户ID
- @ProductID VARCHAR(32), --产品ID
- @Price DECIMAL(18, 2), --价格
- @PartnerID INT, --渠道ID
- @Token VARCHAR(256), --token
- @ResponseIAP VARCHAR(1024), --响应信息
- @IPAddress VARCHAR(16), --IP地址
- @RetCode TINYINT OUTPUT --操作结果
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @PayPrice DECIMAL(18, 2) --RMB
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @Msg NVARCHAR(4000) --消息
-
- SET @RetCode = 0
- SET @CurrTime = GETDATE()
-
- --校验产品信息
- EXEC [Pay_Product_Check] @UserID = @UserID, @OrderID = @Token, @ProductID = @ProductID, @PayName = 'Google',
- @IPAddress = @IPAddress, @Price = @PayPrice OUTPUT
-
- --判断是否有产品
- IF(@PayPrice IS NULL OR @PayPrice <= 0)
- BEGIN
- --添加日志
- SET @Msg = N'Google充值,价格非法,关联的信息:@Token=' + @Token + ',@UserID=' + LTRIM(STR(@UserID)) +
- ',@ProductID=' + @ProductID + ',@PartnerID=' + LTRIM(STR(@PartnerID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 12
- RETURN
- END
-
- --因为收据并非一次校验有效,所以如果成功记录表中已经包含相同的 token
- --则认为无效,插入一条记录至校验失败表
- IF EXISTS(SELECT Token FROM [GoogleSuccessLog] WHERE Token = @Token)
- BEGIN
- --添加日志
- SET @Msg = N'Google充值,重复处理,关联的信息:@Token=' + @Token + ',@UserID=' + LTRIM(STR(@UserID)) +
- ',@ProductID=' + @ProductID + ',@PartnerID=' + LTRIM(STR(@PartnerID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
-
- --添加校验成功记录
- INSERT INTO [GoogleSuccessLog]
- (
- Token, UserID, ProductID, Price, PartnerID, ResponseIAP, IPAddress, Crdate
- )
- VALUES
- (
- @Token, @UserID, @ProductID, @PayPrice, @PartnerID, @ResponseIAP, @IPAddress, GETDATE()
- )
-
- --触发充值事件
- EXEC [Game_Pay_Trigger] @UserID = @UserID, @ProductID = @ProductID, @Price = @PayPrice, @IPAddress = @IPAddress
- --操作成功
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_HuaweiPay_GenOrder] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_HuaweiPay_GenOrder]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-18
- -- Description: 华为支付充值--生成订单
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_HuaweiPay_GenOrder]
- @UserID INT, --用户ID
- @Price DECIMAL(18, 2), --价格
- @ProductID VARCHAR(32), --业务类型
- @PartnerID INT, --渠道ID
- @IPAddress VARCHAR(16), --IP地址
- @OrderID VARCHAR(32) OUTPUT --订单号
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @RetCode TINYINT --操作结果
- --表变量
- DECLARE @tmptable TABLE(
- OrderID UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID(), --订单ID
- UserID INT NOT NULL --用户ID
- )
-
- SET @RetCode = 0
- --生成数据
- INSERT INTO @tmptable(UserID) VALUES(@UserID)
-
- --获取订单ID
- SELECT @OrderID = REPLACE(OrderID, '-', '') FROM @tmptable WHERE UserID = @UserID
- IF(@@ROWCOUNT = 0)
- BEGIN
- --添加日志
- SET @Msg = N'华为支付 生成订单异常,订单信息不存在,关联的信息:@UserID=' + LTRIM(STR(@UserID)) + ',@ProductID=' + @ProductID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
- SET @OrderID = ''
- RETURN
- END
- --组装成有序的订单
- SET @OrderID = CONVERT(CHAR(6), GETDATE(), 12) + REPLACE(CONVERT(CHAR(8), GETDATE(), 108), ':', '') + SUBSTRING(@OrderID, 1, 20)
- --添加订单信息
- INSERT INTO [huaweiOrder]
- (
- OrderID, TradeID, UserID, ProductID, Price, PartnerID, GetStatus, PayInfo, IPAddress, Crdate
- )
- VALUES
- (
- @OrderID, '', @UserID, @ProductID, @Price, @PartnerID, 0, '', @IPAddress, GETDATE()
- )
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_HuaweiPay_OrderReq] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_HuaweiPay_OrderReq]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 华为支付--充值
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_HuaweiPay_OrderReq]
- @OrderID VARCHAR(32), --订单号
- @TradeID VARCHAR(64), --业务流水号
- @Price DECIMAL(18, 2), --价格
- @RetCode TINYINT OUTPUT, --操作结果
- @UserID INT OUTPUT, --用户ID
- @ProductID VARCHAR(32) OUTPUT --产品ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @PayPrice DECIMAL(18, 2) --价格
- DECLARE @GetStatus TINYINT --获取状态
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @DateFlag SMALLDATETIME --日期标志
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @PartnerID INT --渠道ID
- DECLARE @IPAddress VARCHAR(16) --IP地址
- SET @CurrTime = GETDATE()
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
- SET @IPAddress = ''
- SET @ProductID = ''
- SET @UserID = 0
- SET @RetCode = 0
- --获取订单信息
- SELECT
- @UserID = UserID, @PayPrice = Price, @GetStatus = GetStatus, @ProductID = ProductID,
- @IPAddress = IPAddress, @PartnerID = PartnerID
- FROM
- [huaweiOrder]
- WHERE
- OrderID = @OrderID
- --判断订单是否有效
- IF(@GetStatus IS NULL)
- BEGIN
- --添加日志
- SET @Msg = N'华为支付 充值,非法参数,关联的信息:@OrderID=' + @OrderID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
-
- --判断订单是否有效
- IF(@GetStatus != 0)
- BEGIN
- --添加日志
- SET @Msg = N'华为支付 充值,订单重复提交,关联的信息:@OrderID=' + @OrderID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
-
- /*
- --判断价格是否正确
- IF(@PayPrice IS NULL OR @PayPrice != @Price)
- BEGIN
- --添加日志
- SET @Msg = N'华为支付,价格非法,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- */
- --判断业务类型是否合法
- IF(@ProductID IS NULL OR LEN(@ProductID) <= 0)
- BEGIN
- --添加日志
- SET @Msg = N'华为支付 充值,产品非法,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- --判断订单是否存在,以免重复加数据
- IF EXISTS(SELECT OrderID FROM [huaweiPay] WHERE OrderID = @OrderID)
- BEGIN
- --添加日志
- SET @Msg = N'华为支付 充值,订单重复提交,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
-
- --先设置订单状态
- UPDATE [huaweiOrder] SET GetStatus = 1, TradeID = @TradeID WHERE OrderID = @OrderID AND GetStatus = 0
- IF(@@ROWCOUNT = 0)
- BEGIN
- --添加日志
- SET @Msg = N'华为支付 充值,订单重复提交(再次确认),关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- --添加订单记录
- INSERT INTO [huaweiPay]
- (
- OrderID, TradeID, UserID, ProductID, Price, PartnerID, IPAddress, Crdate
- )
- VALUES
- (
- @OrderID, @TradeID, @UserID, @ProductID, @PayPrice, @PartnerID, @IPAddress, @CurrTime
- )
-
- --触发充值事件
- EXEC [Game_Pay_Trigger] @UserID = @UserID, @ProductID = @ProductID, @Price = @PayPrice, @IPAddress = @IPAddress
-
- --成功
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_Kaya_GenOrder] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_Kaya_GenOrder]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-18
- -- Description: Kaya支付充值--生成订单
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_Kaya_GenOrder]
- @UserID INT, --用户ID
- @Price DECIMAL(18, 2), --价格
- @ProductID VARCHAR(32), --业务类型
- @PartnerID INT, --渠道ID
- @IPAddress VARCHAR(16), --IP地址
- @OrderID VARCHAR(32) OUTPUT --订单号
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @RetCode TINYINT --操作结果
- --表变量
- DECLARE @tmptable TABLE(
- OrderID UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID(), --订单ID
- UserID INT NOT NULL --用户ID
- )
-
- SET @RetCode = 0
- --生成数据
- INSERT INTO @tmptable(UserID) VALUES(@UserID)
-
- --获取订单ID
- SELECT @OrderID = REPLACE(OrderID, '-', '') FROM @tmptable WHERE UserID = @UserID
- IF(@@ROWCOUNT = 0)
- BEGIN
- --添加日志
- SET @Msg = N'Kaya支付 生成订单异常,订单信息不存在,关联的信息:@UserID=' + LTRIM(STR(@UserID)) + ',@ProductID=' + @ProductID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
- SET @OrderID = ''
- RETURN
- END
- --组装成有序的订单
- SET @OrderID = CONVERT(CHAR(6), GETDATE(), 12) + REPLACE(CONVERT(CHAR(8), GETDATE(), 108), ':', '') + SUBSTRING(@OrderID, 1, 20)
- --添加订单信息
- INSERT INTO [KayaOrder]
- (
- OrderID, TradeID, UserID, ProductID, Price, PartnerID, GetStatus, PayInfo, IPAddress, Crdate
- )
- VALUES
- (
- @OrderID, '', @UserID, @ProductID, @Price, @PartnerID, 0, '', @IPAddress, GETDATE()
- )
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_Kaya_OrderReq] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_Kaya_OrderReq]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: Kaya支付--充值
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_Kaya_OrderReq]
- @OrderID VARCHAR(32), --订单号
- @TradeID VARCHAR(64), --业务流水号
- @Price DECIMAL(18, 2), --价格
- @RetCode TINYINT OUTPUT, --操作结果
- @UserID INT OUTPUT, --用户ID
- @ProductID VARCHAR(32) OUTPUT --产品ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @PayPrice DECIMAL(18, 2) --价格
- DECLARE @GetStatus TINYINT --获取状态
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @DateFlag SMALLDATETIME --日期标志
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @PartnerID INT --渠道ID
- DECLARE @IPAddress VARCHAR(16) --IP地址
- SET @CurrTime = GETDATE()
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
- SET @IPAddress = ''
- SET @ProductID = ''
- SET @UserID = 0
- SET @RetCode = 0
- --获取订单信息
- SELECT
- @UserID = UserID, @PayPrice = Price, @GetStatus = GetStatus, @ProductID = ProductID,
- @IPAddress = IPAddress, @PartnerID = PartnerID
- FROM
- [KayaOrder]
- WHERE
- OrderID = @OrderID
- --判断订单是否有效
- IF(@GetStatus IS NULL)
- BEGIN
- --添加日志
- SET @Msg = N'Kaya支付 充值,非法参数,关联的信息:@OrderID=' + @OrderID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
-
- --判断订单是否有效
- IF(@GetStatus != 0)
- BEGIN
- --添加日志
- SET @Msg = N'Kaya支付 充值,订单重复提交,关联的信息:@OrderID=' + @OrderID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- --判断业务类型是否合法
- IF(@ProductID IS NULL OR LEN(@ProductID) <= 0)
- BEGIN
- --添加日志
- SET @Msg = N'Kaya支付 充值,产品非法,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- --判断订单是否存在,以免重复加数据
- IF EXISTS(SELECT OrderID FROM [KayaPay] WHERE OrderID = @OrderID)
- BEGIN
- --添加日志
- SET @Msg = N'Kaya支付 充值,订单重复提交,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
-
- --先设置订单状态
- UPDATE [KayaOrder] SET GetStatus = 1, TradeID = @TradeID WHERE OrderID = @OrderID AND GetStatus = 0
- IF(@@ROWCOUNT = 0)
- BEGIN
- --添加日志
- SET @Msg = N'Kaya支付 充值,订单重复提交(再次确认),关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- --添加订单记录
- INSERT INTO [KayaPay]
- (
- OrderID, TradeID, UserID, ProductID, Price, PartnerID, IPAddress, Crdate
- )
- VALUES
- (
- @OrderID, @TradeID, @UserID, @ProductID, @PayPrice, @PartnerID, @IPAddress, @CurrTime
- )
-
- --成功
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_KayaWithdraw_Notify] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_KayaWithdraw_Notify]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: Kaya支付--提现通知
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_KayaWithdraw_Notify]
- @OrderID VARCHAR(32), --订单号
- @DfTransactionId VARCHAR(32), --平台代付单号,32字符以内
- @Status TINYINT, --状态 0=Failure 1=Success 2=Pending(Success)
- @DfDesc VARCHAR(256), --代付状态描述
- @Balance INT --余额
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @UserID INT --用户ID
- DECLARE @Amount INT --提现金额
- DECLARE @RealAmount INT --实际金额(含费用)
- DECLARE @Surcharge INT --手续费
- DECLARE @Msg NVARCHAR(4000) --消息
- DECLARE @RetCode TINYINT --操作结果
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @GetStatus TINYINT --状态 (0=下单(无审核) 1=待审核 2=已审核 3=提现成功(审核) 4=提现成功(无审核) 13=Pending(审核) 14=Pending(无审核)
- --11=拒绝 251=提现失败(无审核) 252=提现失败(审核) 255=提现失败)
-
- SET @RetCode = 0
- SET @CurrTime = GETDATE()
- --更新状态
- UPDATE
- [KayaWithdraw]
- SET
- @UserID = UserID, @Amount = Amount, @RealAmount = RealAmount, @GetStatus = GetStatus, @Surcharge = Surcharge,
- GetStatus = CASE
- WHEN @Status = 1 AND GetStatus = 0 THEN 4 -- 0=下单(无审核) --> 4=提成成功(无审核)
- WHEN @Status = 2 AND GetStatus = 0 THEN 14 -- 0=下单(无审核) --> 14=pending(无审核)
- WHEN @Status = 1 AND GetStatus = 2 THEN 3 -- 2=已审核 --> 3=提现成功(审核)
- WHEN @Status = 2 AND GetStatus = 2 THEN 13 -- 2=已审核 --> 13=pending(审核)
- WHEN GetStatus = 0 THEN 251 -- 0=下单(无审核) --> 251=提成失败(无审核)
- WHEN GetStatus = 2 THEN 252 -- 2=已审核 --> 3=提现失败(审核)
- ELSE 255 --未知
- END,
- DfTransactionId = @DfTransactionId, DfDesc = @DfDesc, Balance = @Balance, NotifyTime = @CurrTime
- WHERE
- OrderID = @OrderID
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @Msg = N'Pay_KayaWithdraw_Notify, @OrderID=' + @OrderID + ',@DfTransactionId=' + @DfTransactionId +
- ',@Status=' + LTRIM(STR(@Status)) + ',@DfDesc=' + @DfDesc
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @IPAddress = '127.0.0.1', @Msg = @Msg, @Type = 2
-
- SELECT @RetCode AS RetCode, @UserID AS UserID, @Amount AS Amount, @RealAmount AS RealAmount, @Surcharge AS Surcharge
- RETURN
- END
- --失败,直接返回
- IF(@Status IS NULL OR @Status NOT IN(1, 2))
- BEGIN
- --返回订单信息
- SET @RetCode = 2
- SELECT @RetCode AS RetCode, @UserID AS UserID, @Amount AS Amount, @RealAmount AS RealAmount, @Surcharge AS Surcharge
- RETURN
- END
-
- --不是成功状态
- IF(@Status != 1)
- BEGIN
- SET @RetCode = 11
-
- --返回订单信息
- SELECT @RetCode AS RetCode, @UserID AS UserID, @Amount AS Amount, @RealAmount AS RealAmount, @Surcharge AS Surcharge
- RETURN
- END
- SET @RetCode = 1
-
- --返回订单信息
- SELECT @RetCode AS RetCode, @UserID AS UserID, @Amount AS Amount, @RealAmount AS RealAmount, @Surcharge AS Surcharge
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_KayaWithdraw_Req] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_KayaWithdraw_Req]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: Kaya支付--提现申请
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_KayaWithdraw_Req]
- @UserID int, --用户ID
- @Amount INT, --提现金额
- @RealName VARCHAR(128), --真实姓名
- @BankCard VARCHAR(32), --银行卡
- @BankName VARCHAR(128), --银行名称
- @Mobile VARCHAR(32), --电话
- @EMail VARCHAR(64), --email
- @Address VARCHAR(256), --地址
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @RetCode TINYINT --操作结果 1=下单成功 11=参数无效 12=提现金额太小 13=提现次数超过限制 14=提现金额超过限制 15=扣减金币失败
- DECLARE @OrderID VARCHAR(32) --订单号
- DECLARE @GetStatus TINYINT --状态 (0=下单(无审核) 1=待审核 2=已审核 3=提现成功(审核) 4=提成成功(无审核) 11=拒绝)
- DECLARE @RealAmount INT --实际提现的金额(扣除费率)
- DECLARE @Tel VARCHAR(32) --手机号
- DECLARE @Surcharge INT --手续费
-
- --表变量
- DECLARE @tmptable TABLE(
- OrderID UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID(), --后台订单ID
- UserID INT NOT NULL --用户ID
- )
-
- SET @RetCode = 0
- SET @CurrTime = GETDATE()
- SET @OrderID = ''
- SET @GetStatus = 0
- SET @Surcharge = 0
- SET @RealAmount = 0
- SET @Tel = ''
- IF(@UserID IS NULL OR @UserID <= 0 OR @Amount IS NULL OR @Amount <= 0)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode, @OrderID AS OrderID, @GetStatus AS GetStatus, @RealAmount AS RealAmount, @Tel AS Tel
- RETURN
- END
- --生成数据
- INSERT INTO @tmptable(UserID) VALUES(@UserID)
- --获取后台订单ID
- SELECT @OrderID = REPLACE(OrderID, '-', '') FROM @tmptable WHERE UserID = @UserID
-
- --组装成有序的订单
- SET @OrderID = RIGHT(CONVERT(CHAR(6), GETDATE(), 12), 5) + REPLACE(CONVERT(CHAR(8), GETDATE(), 108), ':', '') + SUBSTRING(@OrderID, 1, 11)
-
- --实际提取金额=提取金额-手续费
- SET @RealAmount = @Amount - @Surcharge
- --生成订单
- INSERT INTO [KayaWithdraw]
- (
- OrderID, TradeID, UserID, Amount, RealAmount, Surcharge, DfTransactionId, GetStatus, DfDesc, NotifyTime, Crdate, Balance,
- RealName, BankCard, BankName, Mobile, EMail, Address
- )
- VALUES
- (
- @OrderID, '', @UserID, @Amount, @RealAmount, @Surcharge, '', @GetStatus, '', @CurrTime, @CurrTime, 0,
- @RealName, @BankCard, @BankName, @Mobile, @EMail, @Address
- )
- --操作结果
- SET @RetCode = 1
- SELECT @RetCode AS RetCode, @OrderID AS OrderID, @GetStatus AS GetStatus, @RealAmount AS RealAmount, @Tel AS Tel
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_LaPay_GenOrder] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_LaPay_GenOrder]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-18
- -- Description: La支付充值--生成订单
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_LaPay_GenOrder]
- @UserID INT, --用户ID
- @Price DECIMAL(18, 2), --价格
- @ProductID VARCHAR(32), --业务类型
- @PartnerID INT, --渠道ID
- @IPAddress VARCHAR(16), --IP地址
- @OrderID VARCHAR(32) OUTPUT --订单号
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @RetCode TINYINT --操作结果
- --表变量
- DECLARE @tmptable TABLE(
- OrderID UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID(), --订单ID
- UserID INT NOT NULL --用户ID
- )
-
- SET @RetCode = 0
- --生成数据
- INSERT INTO @tmptable(UserID) VALUES(@UserID)
-
- --获取订单ID
- SELECT @OrderID = REPLACE(OrderID, '-', '') FROM @tmptable WHERE UserID = @UserID
- IF(@@ROWCOUNT = 0)
- BEGIN
- --添加日志
- SET @Msg = N'La支付 生成订单异常,订单信息不存在,关联的信息:@UserID=' + LTRIM(STR(@UserID)) + ',@ProductID=' + @ProductID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
- SET @OrderID = ''
- RETURN
- END
- --组装成有序的订单
- SET @OrderID = CONVERT(CHAR(6), GETDATE(), 12) + REPLACE(CONVERT(CHAR(8), GETDATE(), 108), ':', '') + SUBSTRING(@OrderID, 1, 20)
- --添加订单信息
- INSERT INTO [LaOrder]
- (
- OrderID, TradeID, UserID, ProductID, Price, PartnerID, GetStatus, PayInfo, IPAddress, Crdate
- )
- VALUES
- (
- @OrderID, '', @UserID, @ProductID, @Price, @PartnerID, 0, '', @IPAddress, GETDATE()
- )
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_LaPay_OrderReq] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_LaPay_OrderReq]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: La支付--充值
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_LaPay_OrderReq]
- @OrderID VARCHAR(32), --订单号
- @TradeID VARCHAR(64), --业务流水号
- @Price DECIMAL(18, 2), --价格
- @RetCode TINYINT OUTPUT, --操作结果
- @UserID INT OUTPUT, --用户ID
- @ProductID VARCHAR(32) OUTPUT --产品ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @PayPrice DECIMAL(18, 2) --价格
- DECLARE @GetStatus TINYINT --获取状态
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @DateFlag SMALLDATETIME --日期标志
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @PartnerID INT --渠道ID
- DECLARE @IPAddress VARCHAR(16) --IP地址
- SET @CurrTime = GETDATE()
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
- SET @IPAddress = ''
- SET @ProductID = ''
- SET @UserID = 0
- SET @RetCode = 0
- --获取订单信息
- SELECT
- @UserID = UserID, @PayPrice = Price, @GetStatus = GetStatus, @ProductID = ProductID,
- @IPAddress = IPAddress, @PartnerID = PartnerID
- FROM
- [LaOrder]
- WHERE
- OrderID = @OrderID
- --判断订单是否有效
- IF(@GetStatus IS NULL)
- BEGIN
- --添加日志
- SET @Msg = N'La支付 充值,非法参数,关联的信息:@OrderID=' + @OrderID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
-
- --判断订单是否有效
- IF(@GetStatus != 0)
- BEGIN
- --添加日志
- SET @Msg = N'La支付 充值,订单重复提交,关联的信息:@OrderID=' + @OrderID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
-
- /*
- --判断价格是否正确
- IF(@PayPrice IS NULL OR @PayPrice != @Price)
- BEGIN
- --添加日志
- SET @Msg = N'La支付,价格非法,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- */
- --判断业务类型是否合法
- IF(@ProductID IS NULL OR LEN(@ProductID) <= 0)
- BEGIN
- --添加日志
- SET @Msg = N'La支付 充值,产品非法,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- --判断订单是否存在,以免重复加数据
- IF EXISTS(SELECT OrderID FROM [LaPay] WHERE OrderID = @OrderID)
- BEGIN
- --添加日志
- SET @Msg = N'La支付 充值,订单重复提交,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
-
- --先设置订单状态
- UPDATE [LaOrder] SET GetStatus = 1, TradeID = @TradeID WHERE OrderID = @OrderID AND GetStatus = 0
- IF(@@ROWCOUNT = 0)
- BEGIN
- --添加日志
- SET @Msg = N'La支付 充值,订单重复提交(再次确认),关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- --添加订单记录
- INSERT INTO [LaPay]
- (
- OrderID, TradeID, UserID, ProductID, Price, PartnerID, IPAddress, Crdate
- )
- VALUES
- (
- @OrderID, @TradeID, @UserID, @ProductID, @PayPrice, @PartnerID, @IPAddress, @CurrTime
- )
-
- --触发充值事件
- EXEC [Game_Pay_Trigger] @UserID = @UserID, @ProductID = @ProductID, @Price = @PayPrice, @IPAddress = @IPAddress
-
- --成功
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_Manual_OrderReq] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_Manual_OrderReq]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 手动充值
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_Manual_OrderReq]
- @OpUserID INT, --操作员ID
- @OpUserName VARCHAR(32), --操作员名称
- @OrderID VARCHAR(32), --订单号
- @UserID INT OUTPUT, --用户ID
- @ProductID VARCHAR(32), --产品ID
- @Price DECIMAL(18, 2), --价格
- @IPAddress VARCHAR(16), --IP地址
- @RetCode TINYINT OUTPUT --操作结果
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @PayPrice DECIMAL(18, 2) --价格
- DECLARE @Msg NVARCHAR(4000) --操作描述
-
- --表变量
- DECLARE @tmptable TABLE(
- OrderID UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID(), --订单ID
- UserID INT NOT NULL --用户ID
- )
- SET @RetCode = 0
-
- --订单
- IF(LEN(@OrderID) <= 0)
- BEGIN
- --生成数据
- INSERT INTO @tmptable(UserID) VALUES(@UserID)
-
- --获取订单ID
- SELECT @OrderID = REPLACE(OrderID, '-', '') FROM @tmptable WHERE UserID = @UserID
- IF(@@ROWCOUNT = 0)
- BEGIN
- --添加日志
- SET @Msg = N'手动生成订单异常,订单信息不存在,关联的信息:@UserID=' + LTRIM(STR(@UserID)) + ',@ProductID=' + @ProductID
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
- RETURN
- END
- --组装成有序的订单
- SET @OrderID = CONVERT(CHAR(6), GETDATE(), 12) + REPLACE(CONVERT(CHAR(8), GETDATE(), 108), ':', '') + SUBSTRING(@OrderID, 1, 20)
- END
-
- --已存在
- IF EXISTS(SELECT OrderID FROM [ManualPay] WHERE OrderID = @OrderID)
- BEGIN
- --添加日志
- SET @Msg = N'手动充值,重复处理,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID)) + ',@ProductID=' + @ProductID
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
-
- --校验产品信息
- EXEC [Pay_Product_Check] @UserID = @UserID, @OrderID = @OrderID, @ProductID = @ProductID, @PayName = 'Manual',
- @IPAddress = @IPAddress, @Price = @PayPrice OUTPUT
-
- --判断是否有产品
- IF(@PayPrice IS NULL OR @PayPrice <= 0 OR @Price != @PayPrice)
- BEGIN
- --添加日志
- SET @Msg = N'手动充值,价格非法,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID)) + ',@ProductID=' + @ProductID
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 12
- RETURN
- END
- --添加订单记录
- INSERT INTO [ManualPay]
- (
- OrderID, UserID, ProductID, Price, OpUserID, OpUserName, Crdate
- )
- VALUES
- (
- @OrderID, @UserID, @ProductID, @Price, @OpUserID, @OpUserName, GETDATE()
- )
- --触发充值事件
- EXEC [Game_Pay_Trigger] @UserID = @UserID, @ProductID = @ProductID, @Price = @Price, @IPAddress = @IPAddress
-
- --成功
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_OPay_GenOrder] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_OPay_GenOrder]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-18
- -- Description: OPay支付充值--生成订单
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_OPay_GenOrder]
- @UserID INT, --用户ID
- @Price DECIMAL(18, 2), --价格
- @ProductID VARCHAR(32), --业务类型
- @PartnerID INT, --渠道ID
- @IPAddress VARCHAR(16), --IP地址
- @OrderID VARCHAR(32) OUTPUT --订单号
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @RetCode TINYINT --操作结果
- --表变量
- DECLARE @tmptable TABLE(
- OrderID UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID(), --订单ID
- UserID INT NOT NULL --用户ID
- )
-
- SET @RetCode = 0
- --生成数据
- INSERT INTO @tmptable(UserID) VALUES(@UserID)
-
- --获取订单ID
- SELECT @OrderID = REPLACE(OrderID, '-', '') FROM @tmptable WHERE UserID = @UserID
- IF(@@ROWCOUNT = 0)
- BEGIN
- --添加日志
- SET @Msg = N'OPay支付 生成订单异常,订单信息不存在,关联的信息:@UserID=' + LTRIM(STR(@UserID)) + ',@ProductID=' + @ProductID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
- SET @OrderID = ''
- RETURN
- END
- --组装成有序的订单
- SET @OrderID = CONVERT(CHAR(6), GETDATE(), 12) + REPLACE(CONVERT(CHAR(8), GETDATE(), 108), ':', '') + SUBSTRING(@OrderID, 1, 20)
- --添加订单信息
- INSERT INTO [OOrder]
- (
- OrderID, TradeID, UserID, ProductID, Price, PartnerID, GetStatus, PayInfo, IPAddress, Crdate
- )
- VALUES
- (
- @OrderID, '', @UserID, @ProductID, @Price, @PartnerID, 0, '', @IPAddress, GETDATE()
- )
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_OPay_OrderReq] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_OPay_OrderReq]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: OPay支付--充值
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_OPay_OrderReq]
- @OrderID VARCHAR(32), --订单号
- @TradeID VARCHAR(64), --业务流水号
- @Price DECIMAL(18, 2), --价格
- @RetCode TINYINT OUTPUT, --操作结果
- @UserID INT OUTPUT, --用户ID
- @ProductID VARCHAR(32) OUTPUT --产品ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @PayPrice DECIMAL(18, 2) --价格
- DECLARE @GetStatus TINYINT --获取状态
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @DateFlag SMALLDATETIME --日期标志
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @PartnerID INT --渠道ID
- DECLARE @IPAddress VARCHAR(16) --IP地址
- SET @CurrTime = GETDATE()
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
- SET @IPAddress = ''
- SET @ProductID = ''
- SET @UserID = 0
- SET @RetCode = 0
- --获取订单信息
- SELECT
- @UserID = UserID, @PayPrice = Price, @GetStatus = GetStatus, @ProductID = ProductID,
- @IPAddress = IPAddress, @PartnerID = PartnerID
- FROM
- [OOrder]
- WHERE
- OrderID = @OrderID
- --判断订单是否有效
- IF(@GetStatus IS NULL)
- BEGIN
- --添加日志
- SET @Msg = N'OPay支付 充值,非法参数,关联的信息:@OrderID=' + @OrderID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
-
- --判断订单是否有效
- IF(@GetStatus != 0)
- BEGIN
- --添加日志
- SET @Msg = N'OPay支付 充值,订单重复提交,关联的信息:@OrderID=' + @OrderID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
-
- /*
- --判断价格是否正确
- IF(@PayPrice IS NULL OR @PayPrice != @Price)
- BEGIN
- --添加日志
- SET @Msg = N'OPay支付,价格非法,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- */
- --判断业务类型是否合法
- IF(@ProductID IS NULL OR LEN(@ProductID) <= 0)
- BEGIN
- --添加日志
- SET @Msg = N'OPay支付 充值,产品非法,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- --判断订单是否存在,以免重复加数据
- IF EXISTS(SELECT OrderID FROM [OPay] WHERE OrderID = @OrderID)
- BEGIN
- --添加日志
- SET @Msg = N'OPay支付 充值,订单重复提交,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
-
- --先设置订单状态
- UPDATE [OOrder] SET GetStatus = 1, TradeID = @TradeID WHERE OrderID = @OrderID AND GetStatus = 0
- IF(@@ROWCOUNT = 0)
- BEGIN
- --添加日志
- SET @Msg = N'OPay支付 充值,订单重复提交(再次确认),关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- --添加订单记录
- INSERT INTO [OPay]
- (
- OrderID, TradeID, UserID, ProductID, Price, PartnerID, IPAddress, Crdate
- )
- VALUES
- (
- @OrderID, @TradeID, @UserID, @ProductID, @PayPrice, @PartnerID, @IPAddress, @CurrTime
- )
-
- --触发充值事件
- EXEC [Game_Pay_Trigger] @UserID = @UserID, @ProductID = @ProductID, @Price = @PayPrice, @IPAddress = @IPAddress
-
- --成功
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_PayerMax_GenOrder] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_PayerMax_GenOrder]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-18
- -- Description: PayerMax支付充值--生成订单
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_PayerMax_GenOrder]
- @UserID INT, --用户ID
- @Price DECIMAL(18, 2), --价格
- @ProductID VARCHAR(32), --业务类型
- @PartnerID INT, --渠道ID
- @IPAddress VARCHAR(16), --IP地址
- @OrderID VARCHAR(32) OUTPUT --订单号
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @RetCode TINYINT --操作结果
- --表变量
- DECLARE @tmptable TABLE(
- OrderID UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID(), --订单ID
- UserID INT NOT NULL --用户ID
- )
-
- SET @RetCode = 0
- --生成数据
- INSERT INTO @tmptable(UserID) VALUES(@UserID)
-
- --获取订单ID
- SELECT @OrderID = REPLACE(OrderID, '-', '') FROM @tmptable WHERE UserID = @UserID
- IF(@@ROWCOUNT = 0)
- BEGIN
- --添加日志
- SET @Msg = N'PayerMax支付 生成订单异常,订单信息不存在,关联的信息:@UserID=' + LTRIM(STR(@UserID)) + ',@ProductID=' + @ProductID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
- SET @OrderID = ''
- RETURN
- END
- --组装成有序的订单
- SET @OrderID = CONVERT(CHAR(6), GETDATE(), 12) + REPLACE(CONVERT(CHAR(8), GETDATE(), 108), ':', '') + SUBSTRING(@OrderID, 1, 20)
- --添加订单信息
- INSERT INTO [PayerMaxOrder]
- (
- OrderID, TradeID, UserID, ProductID, Price, PartnerID, GetStatus, PayInfo, IPAddress, Crdate
- )
- VALUES
- (
- @OrderID, '', @UserID, @ProductID, @Price, @PartnerID, 0, '', @IPAddress, GETDATE()
- )
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_PayerMax_OrderReq] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_PayerMax_OrderReq]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: PayerMax支付--充值
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_PayerMax_OrderReq]
- @OrderID VARCHAR(32), --订单号
- @TradeID VARCHAR(64), --业务流水号
- @Price DECIMAL(18, 2), --价格
- @RetCode TINYINT OUTPUT, --操作结果
- @UserID INT OUTPUT, --用户ID
- @ProductID VARCHAR(32) OUTPUT --产品ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @PayPrice DECIMAL(18, 2) --价格
- DECLARE @GetStatus TINYINT --获取状态
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @DateFlag SMALLDATETIME --日期标志
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @PartnerID INT --渠道ID
- DECLARE @IPAddress VARCHAR(16) --IP地址
- SET @CurrTime = GETDATE()
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
- SET @IPAddress = ''
- SET @ProductID = ''
- SET @UserID = 0
- SET @RetCode = 0
- --获取订单信息
- SELECT
- @UserID = UserID, @PayPrice = Price, @GetStatus = GetStatus, @ProductID = ProductID,
- @IPAddress = IPAddress, @PartnerID = PartnerID
- FROM
- [PayerMaxOrder]
- WHERE
- OrderID = @OrderID
- --判断订单是否有效
- IF(@GetStatus IS NULL)
- BEGIN
- --添加日志
- SET @Msg = N'PayerMax支付 充值,非法参数,关联的信息:@OrderID=' + @OrderID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
-
- --判断订单是否有效
- IF(@GetStatus != 0)
- BEGIN
- --添加日志
- SET @Msg = N'PayerMax支付 充值,订单重复提交,关联的信息:@OrderID=' + @OrderID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
-
- /*
- --判断价格是否正确
- IF(@PayPrice IS NULL OR @PayPrice != @Price)
- BEGIN
- --添加日志
- SET @Msg = N'PayerMax支付,价格非法,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- */
- --判断业务类型是否合法
- IF(@ProductID IS NULL OR LEN(@ProductID) <= 0)
- BEGIN
- --添加日志
- SET @Msg = N'PayerMax支付 充值,产品非法,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- --判断订单是否存在,以免重复加数据
- IF EXISTS(SELECT OrderID FROM [PayerMaxPay] WHERE OrderID = @OrderID)
- BEGIN
- --添加日志
- SET @Msg = N'PayerMax支付 充值,订单重复提交,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
-
- --先设置订单状态
- UPDATE [PayerMaxOrder] SET GetStatus = 1, TradeID = @TradeID WHERE OrderID = @OrderID AND GetStatus = 0
- IF(@@ROWCOUNT = 0)
- BEGIN
- --添加日志
- SET @Msg = N'PayerMax支付 充值,订单重复提交(再次确认),关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- --添加订单记录
- INSERT INTO [PayerMaxPay]
- (
- OrderID, TradeID, UserID, ProductID, Price, PartnerID, IPAddress, Crdate
- )
- VALUES
- (
- @OrderID, @TradeID, @UserID, @ProductID, @PayPrice, @PartnerID, @IPAddress, @CurrTime
- )
-
- --触发充值事件
- EXEC [Game_Pay_Trigger] @UserID = @UserID, @ProductID = @ProductID, @Price = @PayPrice, @IPAddress = @IPAddress
-
- --成功
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_PayerMaxWithdraw_Notify] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_PayerMaxWithdraw_Notify]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: PayerMax支付--提现通知
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_PayerMaxWithdraw_Notify]
- @OrderID VARCHAR(32), --订单号
- @DfTransactionId VARCHAR(32), --平台代付单号,32字符以内
- @Status TINYINT, --状态 0=Failure 1=Success 2=Pending(Success)
- @DfDesc VARCHAR(256), --代付状态描述
- @Balance INT --余额
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @UserID INT --用户ID
- DECLARE @Amount INT --提现金额
- DECLARE @RealAmount INT --实际金额(含费用)
- DECLARE @Surcharge INT --手续费
- DECLARE @Msg NVARCHAR(4000) --消息
- DECLARE @RetCode TINYINT --操作结果
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @GetStatus TINYINT --状态 (0=下单(无审核) 1=待审核 2=已审核 3=提现成功(审核) 4=提现成功(无审核) 13=Pending(审核) 14=Pending(无审核)
- --11=拒绝 251=提现失败(无审核) 252=提现失败(审核) 255=提现失败)
-
- SET @RetCode = 0
- SET @CurrTime = GETDATE()
- --更新状态
- UPDATE
- [PayerMaxWithdraw]
- SET
- @UserID = UserID, @Amount = Amount, @RealAmount = RealAmount, @GetStatus = GetStatus, @Surcharge = Surcharge,
- GetStatus = CASE
- WHEN @Status = 1 AND GetStatus = 0 THEN 4 -- 0=下单(无审核) --> 4=提成成功(无审核)
- WHEN @Status = 2 AND GetStatus = 0 THEN 14 -- 0=下单(无审核) --> 14=pending(无审核)
- WHEN @Status = 1 AND GetStatus = 2 THEN 3 -- 2=已审核 --> 3=提现成功(审核)
- WHEN @Status = 2 AND GetStatus = 2 THEN 13 -- 2=已审核 --> 13=pending(审核)
- WHEN GetStatus = 0 THEN 251 -- 0=下单(无审核) --> 251=提成失败(无审核)
- WHEN GetStatus = 2 THEN 252 -- 2=已审核 --> 3=提现失败(审核)
- ELSE 255 --未知
- END,
- DfTransactionId = @DfTransactionId, DfDesc = @DfDesc, Balance = @Balance, NotifyTime = @CurrTime
- WHERE
- OrderID = @OrderID
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @Msg = N'Pay_PayerMaxWithdraw_Notify, @OrderID=' + @OrderID + ',@DfTransactionId=' + @DfTransactionId +
- ',@Status=' + LTRIM(STR(@Status)) + ',@DfDesc=' + @DfDesc
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @IPAddress = '127.0.0.1', @Msg = @Msg, @Type = 2
-
- SELECT @RetCode AS RetCode, @UserID AS UserID, @Amount AS Amount, @RealAmount AS RealAmount, @Surcharge AS Surcharge
- RETURN
- END
- --失败,直接返回
- IF(@Status IS NULL OR @Status NOT IN(1, 2))
- BEGIN
- --返回订单信息
- SET @RetCode = 2
- SELECT @RetCode AS RetCode, @UserID AS UserID, @Amount AS Amount, @RealAmount AS RealAmount, @Surcharge AS Surcharge
- RETURN
- END
-
- --不是成功状态
- IF(@Status != 1)
- BEGIN
- SET @RetCode = 11
-
- --返回订单信息
- SELECT @RetCode AS RetCode, @UserID AS UserID, @Amount AS Amount, @RealAmount AS RealAmount, @Surcharge AS Surcharge
- RETURN
- END
- SET @RetCode = 1
-
- --返回订单信息
- SELECT @RetCode AS RetCode, @UserID AS UserID, @Amount AS Amount, @RealAmount AS RealAmount, @Surcharge AS Surcharge
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_PayerMaxWithdraw_Req] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_PayerMaxWithdraw_Req]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: PayerMax支付--提现申请
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_PayerMaxWithdraw_Req]
- @UserID int, --用户ID
- @Amount INT, --提现金额
- @RealName VARCHAR(128), --真实姓名
- @BankCard VARCHAR(32), --银行卡
- @BankName VARCHAR(128), --银行名称
- @Mobile VARCHAR(32), --电话
- @EMail VARCHAR(64), --email
- @Address VARCHAR(256), --地址
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @RetCode TINYINT --操作结果 1=下单成功 11=参数无效 12=提现金额太小 13=提现次数超过限制 14=提现金额超过限制 15=扣减金币失败
- DECLARE @OrderID VARCHAR(32) --订单号
- DECLARE @GetStatus TINYINT --状态 (0=下单(无审核) 1=待审核 2=已审核 3=提现成功(审核) 4=提成成功(无审核) 11=拒绝)
- DECLARE @RealAmount INT --实际提现的金额(扣除费率)
- DECLARE @Tel VARCHAR(32) --手机号
- DECLARE @Surcharge INT --手续费
-
- --表变量
- DECLARE @tmptable TABLE(
- OrderID UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID(), --后台订单ID
- UserID INT NOT NULL --用户ID
- )
-
- SET @RetCode = 0
- SET @CurrTime = GETDATE()
- SET @OrderID = ''
- SET @GetStatus = 0
- SET @Surcharge = 0
- SET @RealAmount = 0
- SET @Tel = ''
- IF(@UserID IS NULL OR @UserID <= 0 OR @Amount IS NULL OR @Amount <= 0)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode, @OrderID AS OrderID, @GetStatus AS GetStatus, @RealAmount AS RealAmount, @Tel AS Tel
- RETURN
- END
- --生成数据
- INSERT INTO @tmptable(UserID) VALUES(@UserID)
- --获取后台订单ID
- SELECT @OrderID = REPLACE(OrderID, '-', '') FROM @tmptable WHERE UserID = @UserID
-
- --组装成有序的订单
- SET @OrderID = RIGHT(CONVERT(CHAR(6), GETDATE(), 12), 5) + REPLACE(CONVERT(CHAR(8), GETDATE(), 108), ':', '') + SUBSTRING(@OrderID, 1, 11)
-
- --实际提取金额=提取金额-手续费
- SET @RealAmount = @Amount - @Surcharge
- --生成订单
- INSERT INTO [PayerMaxWithdraw]
- (
- OrderID, TradeID, UserID, Amount, RealAmount, Surcharge, DfTransactionId, GetStatus, DfDesc, NotifyTime, Crdate, Balance,
- RealName, BankCard, BankName, Mobile, EMail, Address
- )
- VALUES
- (
- @OrderID, '', @UserID, @Amount, @RealAmount, @Surcharge, '', @GetStatus, '', @CurrTime, @CurrTime, 0,
- @RealName, @BankCard, @BankName, @Mobile, @EMail, @Address
- )
- --操作结果
- SET @RetCode = 1
- SELECT @RetCode AS RetCode, @OrderID AS OrderID, @GetStatus AS GetStatus, @RealAmount AS RealAmount, @Tel AS Tel
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_paymob_GenOrder] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_paymob_GenOrder]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-18
- -- Description: paymob支付充值--生成订单
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_paymob_GenOrder]
- @UserID INT, --用户ID
- @Price DECIMAL(18, 2), --价格
- @ProductID VARCHAR(32), --业务类型
- @PartnerID INT, --渠道ID
- @IPAddress VARCHAR(16), --IP地址
- @OrderID VARCHAR(32) OUTPUT --订单号
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @RetCode TINYINT --操作结果
- --表变量
- DECLARE @tmptable TABLE(
- OrderID UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID(), --订单ID
- UserID INT NOT NULL --用户ID
- )
-
- SET @RetCode = 0
- --生成数据
- INSERT INTO @tmptable(UserID) VALUES(@UserID)
-
- --获取订单ID
- SELECT @OrderID = REPLACE(OrderID, '-', '') FROM @tmptable WHERE UserID = @UserID
- IF(@@ROWCOUNT = 0)
- BEGIN
- --添加日志
- SET @Msg = N'paymob支付 生成订单异常,订单信息不存在,关联的信息:@UserID=' + LTRIM(STR(@UserID)) + ',@ProductID=' + @ProductID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
- SET @OrderID = ''
- RETURN
- END
- --组装成有序的订单
- SET @OrderID = CONVERT(CHAR(6), GETDATE(), 12) + REPLACE(CONVERT(CHAR(8), GETDATE(), 108), ':', '') + SUBSTRING(@OrderID, 1, 20)
- --添加订单信息
- INSERT INTO [paymobOrder]
- (
- OrderID, TradeID, UserID, ProductID, Price, PartnerID, GetStatus, PayInfo, IPAddress, Crdate
- )
- VALUES
- (
- @OrderID, '', @UserID, @ProductID, @Price, @PartnerID, 0, '', @IPAddress, GETDATE()
- )
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_paymob_OrderReq] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_paymob_OrderReq]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: paymob支付--充值
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_paymob_OrderReq]
- @OrderID VARCHAR(32), --订单号
- @TradeID VARCHAR(64), --业务流水号
- @Price DECIMAL(18, 2), --价格
- @RetCode TINYINT OUTPUT, --操作结果
- @UserID INT OUTPUT, --用户ID
- @ProductID VARCHAR(32) OUTPUT --产品ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @PayPrice DECIMAL(18, 2) --价格
- DECLARE @GetStatus TINYINT --获取状态
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @DateFlag SMALLDATETIME --日期标志
- DECLARE @Msg NVARCHAR(4000) --操作描述
- DECLARE @PartnerID INT --渠道ID
- DECLARE @IPAddress VARCHAR(16) --IP地址
- SET @CurrTime = GETDATE()
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
- SET @IPAddress = ''
- SET @ProductID = ''
- SET @UserID = 0
- SET @RetCode = 0
- --获取订单信息
- SELECT
- @UserID = UserID, @PayPrice = Price, @GetStatus = GetStatus, @ProductID = ProductID,
- @IPAddress = IPAddress, @PartnerID = PartnerID
- FROM
- [paymobOrder]
- WHERE
- OrderID = @OrderID
- --判断订单是否有效
- IF(@GetStatus IS NULL)
- BEGIN
- --添加日志
- SET @Msg = N'paymob支付 充值,非法参数,关联的信息:@OrderID=' + @OrderID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
-
- --判断订单是否有效
- IF(@GetStatus != 0)
- BEGIN
- --添加日志
- SET @Msg = N'paymob支付 充值,订单重复提交,关联的信息:@OrderID=' + @OrderID
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
-
- /*
- --判断价格是否正确
- IF(@PayPrice IS NULL OR @PayPrice != @Price)
- BEGIN
- --添加日志
- SET @Msg = N'paymob支付,价格非法,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- */
- --判断业务类型是否合法
- IF(@ProductID IS NULL OR LEN(@ProductID) <= 0)
- BEGIN
- --添加日志
- SET @Msg = N'paymob支付 充值,产品非法,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- --判断订单是否存在,以免重复加数据
- IF EXISTS(SELECT OrderID FROM [paymobPay] WHERE OrderID = @OrderID)
- BEGIN
- --添加日志
- SET @Msg = N'paymob支付 充值,订单重复提交,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
-
- --先设置订单状态
- UPDATE [paymobOrder] SET GetStatus = 1, TradeID = @TradeID WHERE OrderID = @OrderID AND GetStatus = 0
- IF(@@ROWCOUNT = 0)
- BEGIN
- --添加日志
- SET @Msg = N'paymob支付 充值,订单重复提交(再次确认),关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
-
- SET @RetCode = 11
- RETURN
- END
- --添加订单记录
- INSERT INTO [paymobPay]
- (
- OrderID, TradeID, UserID, ProductID, Price, PartnerID, IPAddress, Crdate
- )
- VALUES
- (
- @OrderID, @TradeID, @UserID, @ProductID, @PayPrice, @PartnerID, @IPAddress, @CurrTime
- )
-
- --触发充值事件
- EXEC [Game_Pay_Trigger] @UserID = @UserID, @ProductID = @ProductID, @Price = @PayPrice, @IPAddress = @IPAddress
-
- --成功
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_Product_Check] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_Product_Check]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 检查产品信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[Pay_Product_Check]
- @UserID INT, --用户ID
- @OrderID VARCHAR(256), --订单号
- @ProductID VARCHAR(32), --产品ID
- @PayName VARCHAR(32), --支付名称
- @IPAddress VARCHAR(16), --IP地址
- @Price DECIMAL(18, 2) OUTPUT --价格
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg NVARCHAR(4000) --操作描述
-
- SET @Price = 0
-
- --1=获取充值金豆数量
- SELECT @Price = Price FROM [DiamondMall] WHERE ProductID = @ProductID
- IF(@@ROWCOUNT > 0)
- RETURN
- --2=普通礼包
- SELECT @Price = Price FROM [GiftPack] WHERE ProductID = @ProductID
- IF(@@ROWCOUNT > 0)
- RETURN
-
- --3=成长礼包
- SELECT @Price = Price FROM [GrowthPack] WHERE ProductID = @ProductID
- IF(@@ROWCOUNT > 0)
- RETURN
-
- --4=月卡
- SELECT @Price = Price FROM [MonthlyCard] WHERE ProductID = @ProductID
- IF(@@ROWCOUNT > 0)
- RETURN
-
- --5=vip特惠
- SELECT @Price = Price FROM [VipDeal] WHERE ProductID = @ProductID
- IF(@@ROWCOUNT > 0)
- RETURN
-
- --产品不存在
- --添加日志
- SET @Msg = @PayName + N'充值,产品非法,关联的信息:@OrderID=' + @OrderID + ',@UserID=' + LTRIM(STR(@UserID))
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @Msg = @Msg, @IPAddress = @IPAddress, @Type = 2
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_Verify_AddErrorLog] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_Verify_AddErrorLog]
- -- @UserID = 0,
- -- @ErrorMsg = ''
- -- =============================================
- -- Author: wolf
- -- Create Date: 2013-10-11
- -- Mendor: wolf
- -- Alter Date: 2015-09-16
- -- Description: 添加校验错误日志
- -- ============================================
- CREATE PROCEDURE [dbo].[Pay_Verify_AddErrorLog]
- @UserID INT, --用户ID
- @ErrorMsg VARCHAR(1024), --错误消息
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --添加校验错误日志
- INSERT INTO [VerifyErrorLog]
- (
- UserID, ErrorMsg, Crdate, IPAddress
- )
- VALUES
- (
- @UserID, @ErrorMsg, GETDATE(), @IPAddress
- )
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_Verify_AddLog] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [Pay_Verify_AddLog]
- -- @UserID = 0,
- -- @ReceiptBuffer = ''
- -- =============================================
- -- Author: wolf
- -- Create Date: 2013-10-11
- -- Mendor: wolf
- -- Alter Date: 2015-09-16
- -- Description: 添加校验记录
- -- =============================================
- CREATE PROCEDURE [dbo].[Pay_Verify_AddLog]
- @UserID INT, --用户ID
- @ReceiptBuffer VARCHAR(4096), --接收的收据
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --添加校验日志
- INSERT INTO [VerifyLog]
- (
- UserID, ReceiptBuffer, Crdate, IPAddress
- )
- VALUES
- (
- @UserID, @ReceiptBuffer, GETDATE(), @IPAddress
- )
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[Pay_Verify_AddSuccessLog] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RetCode TINYINT
- -- EXEC [Pay_Verify_AddSuccessLog]
- -- @UserID = 0,
- -- @TransactionID = '',
- -- @ProductID = '',
- -- @Memo = '',
- -- @RetCode = @RetCode OUTPUT
- -- SELECT @RetCode AS RetCode
- -- =============================================
- -- Author: wolf
- -- Create Date: 2015-05-13
- -- Mendor: wolf
- -- Alter Date: 2015-09-16
- -- Description: 添加校验成功日志
- -- =============================================
- CREATE PROCEDURE [dbo].[Pay_Verify_AddSuccessLog]
- @UserID INT, --用户ID
- @TransactionID VARCHAR(64), --事务ID
- @ProductID VARCHAR(64), --产品ID
- @Memo VARCHAR(1024), --结果字符串
- @IPAddress VARCHAR(16), --IP地址
- @IsSandBox TINYINT, --是否沙箱
- @RetCode TINYINT OUTPUT --操作结果
- --1:操作成功
- --数据库:11:成功记录表中已经包含相同的transactionid 12:产品id不能存在
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @PayPrice DECIMAL(18, 2) --RMB
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @Msg VARCHAR(512) --消息
- DECLARE @PartnerID INT --渠道ID
-
- SET @RetCode = 0
- SET @PartnerID = 0
- SET @CurrTime = GETDATE()
-
- --因为收据并非一次校验有效,所以如果成功记录表中已经包含相同的transactionid
- --则认为无效,插入一条记录至校验失败表
- IF EXISTS(SELECT TransactionID FROM [VerifySuccessLog] WHERE TransactionID = @TransactionID)
- BEGIN
- SET @RetCode = 11
-
- --校验失败,插入错误记录
- EXEC [Pay_Verify_AddErrorLog] @UserID = @UserID, @ErrorMsg = @Memo, @IPAddress = @IPAddress
-
- RETURN
- END
-
- --校验产品信息
- EXEC [Pay_Product_Check] @UserID = @UserID, @OrderID = @TransactionID, @ProductID = @ProductID, @PayName = '苹果',
- @IPAddress = @IPAddress, @Price = @PayPrice OUTPUT
-
- --判断是否有产品
- IF(@PayPrice IS NULL OR @PayPrice <= 0)
- BEGIN
- SET @RetCode = 12
- RETURN
- END
-
- --渠道ID
- SELECT TOP 1 @PartnerID = PartnerID FROM [UserLoginLog] WHERE UserID = @UserID ORDER BY LogID DESC
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SELECT TOP 1 @PartnerID = PartnerID FROM [UserLoginLog_bak] WHERE UserID = @UserID ORDER BY LogID DESC
- END
-
- --添加校验成功记录
- INSERT INTO [VerifySuccessLog]
- (
- TransactionID, UserID, ProductID, Price, Memo, Crdate, IPAddress, PartnerID, IsSandBox
- )
- VALUES
- (
- @TransactionID, @UserID, @ProductID, 0, @Memo, @CurrTime, @IPAddress, @PartnerID, @IsSandBox
- )
-
- --获取价格
- UPDATE [VerifySuccessLog] SET Price = @PayPrice WHERE TransactionID = @TransactionID
-
- --非沙箱才触发
- IF(@IsSandBox = 0)
- BEGIN
- --触发充值事件
- EXEC [Game_Pay_Trigger] @UserID = @UserID, @ProductID = @ProductID, @Price = @PayPrice, @IPAddress = @IPAddress
- END
- --操作成功
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[prGS_MachineUserLogin] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- /*
- 机器人登陆房间
- 同时要释放登陆时间超过12小时的帐号
- */
- CREATE PROCEDURE [dbo].[prGS_MachineUserLogin]
- @intGameID int, --游戏ID
- @chvServerName nvarchar(128),--房间名
- @intMaxBeans bigint, --房间金币上限
- @intMinBeans bigint, --房间金币下限
- @intUserID int output, --用户ID
- @chvPwd varchar(32) output, --密码
- @intLevels1 int output, --等级1
- @intLevels2 int output, --等级2
- @intLevels3 int output --等级3
- as
- set nocount on
- BEGIN
- declare @intRe int
-
- --清空登陆时间超过6小时的帐号
- delete MachineUserLock where DATEDIFF(hh,loginTime,getdate()) > 2
- --查找在同一ID,同一房间没有进入过的用户
- SELECT TOP 1
- @intUserID = UserID, @chvPwd = [password], @intlevels1 = Levels1,
- @intLevels2 = Levels2, @intLevels3 = Levels3
- FROM
- [MachineUser]
- WHERE
- UserID NOT IN (SELECT UserID FROM MachineUserLock WHERE ServerName=@chvServerName)
- ORDER BY
- NEWID()
- if @@ROWCOUNT = 0
- return -1
- --看是否是进入的豆类房间,如果是则加豆处理
- if @intMaxBeans > 0
- begin
- --SET @intMaxBeans = CASE WHEN @intMaxBeans >= 20000000 THEN 20000000 ELSE @intMaxBeans END
-
- IF(@intMinBeans = 0)
- BEGIN
- EXEC [Game_Rand_GetRnd] @Min = 10000, @Max = 1000000, @Rnd = @intMinBeans OUTPUT
- END
-
- exec @intRe = [prMoney_GameServer_MachineUserUPDMoney] @intUserID,'201301001',@intMaxBeans,@intMinBeans,null
- if @intRe <> 1
- return -1
- end
- --加游戏房间信息,同时也表示上锁了在这个房间
- insert into MachineUserLock (UserID,ServerName,LoginTime)
- values(@intUserID,@chvServerName,GETDATE())
- set @intLevels1 = 3
- return 1
- END
- GO
- /****** Object: StoredProcedure [dbo].[prGS_MachineUserLogout] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
-
- /*
- 机器人登出
- */
- CREATE PROCEDURE [dbo].[prGS_MachineUserLogout]
- @intGameID int,
- @chvServerName nvarchar(128),
- @intUserID int
- as
- set nocount on
- BEGIN
- delete MachineUserLock where UserID=@intUserID and ServerName=@chvServerName
- return 1
- END
- GO
- /****** Object: StoredProcedure [dbo].[prGS_MachineUserUnLock] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- CREATE PROCEDURE [dbo].[prGS_MachineUserUnLock]
- @intGameID int,
- @chvServerName nvarchar(128)
- as
- set nocount on
- BEGIN
- delete MachineUserLock where ServerName=@chvServerName
- return 1
- END
- GO
- /****** Object: StoredProcedure [dbo].[prMoney_GameServer_MachineUserUPDMoney] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- /*
- 游戏服务器_机器人修改金币
- 取房间金币上限和下限的一个随机值
- 有可能要加,有可能要减
- */
- CREATE PROCEDURE [dbo].[prMoney_GameServer_MachineUserUPDMoney]
- @intUserID int, --用户ID
- @chvSourceNo varchar(32), --活动类型
- @intMaxBeans bigint, --房间金币上限
- @intMinBeans bigint, --房间金币下限
- @chvResult nvarchar(128) output
- as
- set nocount on
- set xact_abort on
- BEGIN
- DECLARE @MAXDAY BIGINT -- 每个活动每天最多
- SET @MAXDAY= 200000000
- DECLARE @MAX_PER_OPERATE BIGINT -- 每人每次操作
- SET @MAX_PER_OPERATE = 100000000
- declare @intMoneyLogID int
- declare @intDateID int
- declare @intMoney bigint --根据会员等级和时长计算出来的送的金币数量,再跟传进来的金币数比较一下
- declare @intCurrentAmount bigint --当前用户现金
- declare @intDBAmount bigint
- declare @intDBUserAmount bigint
- declare @intGuessAmount bigint
- declare @intWantedAmount bigint
- declare @intModifyAmount bigint
- declare @intDBMaxBeans bigint
- set @intWantedAmount = 0
- set @intModifyAmount = 0
- set @chvResult = ''
- set @intDateID = cast(cast(getdate() as float) as int)
- if Isnull(@chvSourceNo, '') = ''
- begin
- set @chvResult = N'赠送渠道类型不能为空!!'
- return -1
- end
- if @intMaxBeans <=0 or @intMinBeans<0
- begin
- set @chvResult = N'传入金币参数错误!!'
- return -1
- end
- declare @chvSourceName nvarchar(128)
- declare @dtSartTime datetime, @dtEndTime datetime
- declare @intSourceMaxDay bigint, @intSourceMaxUserDay bigint
- declare @intSourceMaxDayCount bigint
-
- select
- @chvSourceName = SourceName, @dtSartTime = StartTime, @dtEndTime = EndTime, @intSourceMaxDay = MaxDay,
- @intSourceMaxUserDay = MaxUserDay, @intSourceMaxDayCount = MaxDayCount
- from
- GameServerSendSource
- where
- SourceNo = @chvSourceNo
- if @@rowcount<=0
- begin
- set @chvResult = N'游戏服务器赠送渠道类型不存在!!'
- return -1
- end
- if @dtSartTime is null set @dtSartTime = '2000-01-01'
- if @dtEndTime is null set @dtEndTime = '2000-01-01'
- if @intSourceMaxDay is null set @intSourceMaxDay = 0
- if @intSourceMaxUserDay is null set @intSourceMaxUserDay = 0
- if @intSourceMaxDayCount is null set @intSourceMaxDayCount = 0
- declare @intStartID int, @intEndID int
- set @intStartID = cast(cast(@dtSartTime as float) as int)
- set @intEndID = cast(cast(@dtEndTime as float) as int)
- if @intDateID>@intEndID
- begin
- set @chvResult = N'赠送渠道类型已结束!'
- return -1
- end
- if @intDateID<@intStartID
- begin
- set @chvResult = N'赠送渠道类型还没有开始!'
- return -1
- end
- declare @chvPreRemark nvarchar(32)
- set @chvPreRemark = @chvSourceName + ':'
- -------------------先检查输入参数------------------------
- if @intUserID is null or @intUserID<=0
- begin
- Insert into [RobotMoneyLog] ([SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount], [TaxAmount], [IPAddress], [Remark], [Crdate],[StillAmount], LogType)
- values (@chvSourceName, 0, 'CASH', @intUserID, 0,0, 0, '', @chvPreRemark + '用户名无效', getdate(),0, 0)
- set @intMoneyLogID=scope_identity()
- set @chvResult = @chvPreRemark + '用户名无效'
- return -2
- end
- ---------------------判断用户威望数是否在上下限区间内-----------------
- select @intCurrentAmount=Amount from [Money] where UserID=@intUserID
- if @@ROWCOUNT = 0 set @intCurrentAmount = 0
- --取值范围为下限*10,如果大于房间上限则取房间上限,否则就在下限和下限*10之间取威望
- set @intDBMaxBeans = @intMinBeans * 10
- if (@intDBMaxBeans > @intMaxBeans )
- set @intDBMaxBeans = @intMaxBeans
- --在区间范围内直接返回不做任何修改
- if @intCurrentAmount between @intMinBeans and @intDBMaxBeans
- return 1
- --产生一个区间内随机数
- set @intWantedAmount = cast(rand()*(@intDBMaxBeans-@intMinBeans)+@intMinBeans as bigint)/100*100
- if @intWantedAmount = 0
- set @intWantedAmount = cast(rand()*(@intMaxBeans / 10 - @intMinBeans)+@intMinBeans as bigint)/100*100
- set @intWantedAmount = @intWantedAmount - @intCurrentAmount
- ---------------判断单次操作的量-----------------------------
- /*
- if @intWantedAmount >= @MAX_PER_OPERATE
- begin
- Insert into [RobotMoneyLog] ([SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount], [TaxAmount], [IPAddress], [Remark], [Crdate],[StillAmount], LogType)
- values (@chvSourceName, 0, 'CASH', @intUserID, 0, @intWantedAmount, 0, '', @chvPreRemark + '单次操作的量过大', getdate(),0, 0)
- set @intMoneyLogID=scope_identity()
- set @chvResult = @chvPreRemark + '单次操作的量过大'
- return -4
- end
- ----------------判断总限量-----------------------------------
- set @intDBUserAmount=(select [MoneySum] from [GameServerSendUserStat] where [DateID] = @intDateID and [UserID] = @intUserID and [SourceNo] = @chvSourceNo)
- if @intDBUserAmount is null
- set @intDBUserAmount = 0
- if @intDBUserAmount + @intWantedAmount >= @intSourceMaxUserDay
- begin
- Insert into [RobotMoneyLog] ([SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount], [TaxAmount], [IPAddress], [Remark], [Crdate],[StillAmount], LogType)
- values (@chvSourceName, 0, 'CASH', @intUserID, 0, 0, 0, '', @chvPreRemark + '超过用户日限量', getdate(),0, 0)
- set @intMoneyLogID=scope_identity()
- set @intModifyAmount = 0
- set @chvResult = @chvPreRemark + '超过用户日限量'
- return -4
- end
- ----------------判断总限量-----------------------------------
- set @intDBAmount=(select SUM([MoneySum]) from GameServerSendStat where [DateID] = @intDateID and [SourceNo] = @chvSourceNo)
- if @intDBAmount is null
- set @intDBAmount = 0
- if @intDBAmount + @intWantedAmount >= @intSourceMaxDay
- begin
- Insert into [RobotMoneyLog] ([SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [StillAmount], LogType)
- values (@chvSourceName, 0, 'CASH', @intUserID, 0, @intWantedAmount, 0, '', @chvPreRemark + '超过日限量', getdate(),0, 0)
- set @intMoneyLogID=scope_identity()
- set @chvResult = @chvPreRemark + '超过日限量'
- return -4
- end
- */
- SET TRANSACTION ISOLATION LEVEL REPEATABLE READ
- begin tran
-
- set @intModifyAmount = @intWantedAmount
- --加金币
- update [Money] set Amount=Amount+@intModifyAmount,RefreshTime=getdate() where UserID=@intUserID
- if @@RowCount = 0
- Insert into [Money] (UserID,Amount, RegisterTime, RefreshTime, bank) values (@intUserID,@intModifyAmount, getdate(), getdate(), 0)
- --写日志
- Insert into [RobotMoneyLog] ([SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount], [TaxAmount], [IPAddress], [Remark], [Crdate],[StillAmount], LogType)
- values (@chvSourceName, 0, 'CASH', @intUserID, @intCurrentAmount, @intModifyAmount, 0, '', @chvPreRemark + '加金币成功', getdate(),0, 0)
- /*
- Insert [GameServerSendLog] ([UserID], [SourceNo], [UserExtend], [CurrentAmount], [WantedAmount], [ModifyAmount], [IPAddress], [Remark], [Identity], [WriteTime], [Extend])
- values (@intUserID, @chvSourceNo, 0, @intCurrentAmount, @intWantedAmount, @intWantedAmount, '', @chvPreRemark + cast(@intWantedAmount as varchar(10)), 0x, getdate(), 0x)
- */
- update GameServerSendStat set MoneySum = MoneySum + isnull(@intWantedAmount,0) where DateID = @intDateID and SourceNo = @chvSourceNo
- if @@rowcount=0
- Insert GameServerSendStat (DateID, SourceNo, MoneySum) values(@intDateID, @chvSourceNo, isnull(@intWantedAmount,0))
- update GameServerSendUserStat set MoneySum = MoneySum + isnull(@intWantedAmount,0) where DateID = @intDateID and UserId = @intUserID and SourceNo = @chvSourceNo
- if @@rowcount=0
- Insert GameServerSendUserStat (DateID, UserId, SourceNo, MoneySum) values(@intDateID, @intUserID, @chvSourceNo, isnull(@intWantedAmount,0))
- commit tran
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- set @chvResult = ''
- return 1
- END
- GO
- /****** Object: StoredProcedure [dbo].[prMoney_WebDelCoin_v2] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- /*
- WEB通用调用加金币接口
- */
- CREATE PROCEDURE [dbo].[prMoney_WebDelCoin_v2]
- @UserID INT,
- @SourceName NVARCHAR(32), --Web应用名称
- @Reason NVARCHAR(128),
- @WantAmount BIGINT,
- @WantBank BIGINT,
- @IPAddress VARCHAR(16),
- @OpUserID INT,
- @OpUserName VARCHAR(32),
- @RetCode TINYINT OUTPUT,
- @ErrorMsg NVARCHAR(128) OUTPUT
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @intCurrentAmount BIGINT
- DECLARE @chvDBServerName NVARCHAR(64)
- DECLARE @chvRemark NVARCHAR(128)
- DECLARE @LogType INT
- DECLARE @Msg NVARCHAR(4000)
-
- SET @intCurrentAmount = 0
- SET @Reason = '(' + LTRIM(STR(@OpUserID)) + ',' + @OpUserName + '),' + @Reason
- SET @RetCode = 0
- SET @ErrorMsg = ''
- SET @LogType = 7
- IF(@SourceName IS NULL OR @SourceName = '')
- BEGIN
- SET @SourceName = ''
- SET @chvRemark = N'Web application name is empty (deduction) ' + @Reason
-
- INSERT INTO [MoneyLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- @SourceName, 0, 'CASH', @UserID, 0, -@WantAmount,
- 0, 0, @IPAddress, @chvRemark, GETDATE(), @LogType
- )
-
- SET @RetCode = 11
- SET @ErrorMsg = N'WEB应用名称为空(扣金)'
- RETURN
- END
- IF(@UserID IS NULL OR @UserID <= 0)
- BEGIN
- SET @UserID = 1
- SET @chvRemark = N'Web deduction - safe: incorrect user ID ' + @Reason
-
- INSERT INTO [MoneyLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- @SourceName, 0, 'CASH', @UserID, 0, -@WantAmount,
- 0, 0, @IPAddress, @chvRemark, GETDATE(), @LogType
- )
-
- SET @RetCode = 12
- SET @ErrorMsg = N'WEB扣金:用户ID不正确'
- RETURN
- END
- IF(@WantAmount < 0)
- BEGIN
- SET @chvRemark = N'Web deduction: incorrect amount of deduction ' + @Reason
-
- INSERT INTO [MoneyLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- @SourceName, 0, 'CASH', @UserID, 0, -@WantAmount,
- 0, 0, @IPAddress, @chvRemark, GETDATE(), @LogType
- )
- SET @RetCode = 13
- SET @ErrorMsg = N'WEB扣金:扣金数量不正确'
- RETURN
- END
-
- --添加日志
- SET @Msg = N'Admin Reduce Coin, @UserID=' + LTRIM(STR(@UserID)) + ',@WantAmount=' + CAST(@WantAmount AS VARCHAR(32)) + ',@Reason=' + @Reason
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress, @Type = 1
- SET TRANSACTION ISOLATION LEVEL REPEATABLE READ
- BEGIN TRAN
- --扣除现金
- IF(@WantAmount > 0)
- BEGIN
- SET @chvDBServerName = (SELECT ServerName FROM [CasinoOnline] WHERE UserID = @UserID )
- IF(@chvDBServerName IS NOT NULL)
- BEGIN
- ROLLBACK TRAN
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
-
- SET @chvRemark = N'Web deduction: users have locks ' + @Reason
- INSERT INTO [MoneyLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- @SourceName, 0, 'CASH', @UserID, 0, -@WantAmount,
- 0, 0, @IPAddress, @chvRemark, GETDATE(), @LogType
- )
-
- SET @RetCode = 15
- SET @ErrorMsg = N'当前您在服务器:' + @chvDBServerName + '中,请退出'
- RETURN
-
- END
-
- -----------------检查用户现金-------------------------------
- SELECT @intCurrentAmount = [Amount] FROM [Money] WHERE [UserID] = @UserID
-
- IF(@intCurrentAmount < @WantAmount)
- BEGIN
- ROLLBACK TRAN
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
-
- SET @chvRemark = N'Web deduction: user cash is not enough ' + @Reason
- INSERT INTO [MoneyLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- @SourceName, 0, 'CASH', @UserID, 0, -@WantAmount,
- 0, 0, @IPAddress, @chvRemark, GETDATE(), @LogType
- )
-
- SET @RetCode = 16
- SET @ErrorMsg = N'对不起,您的现金量不足不可以进行这次操作'
- RETURN
- END
-
- UPDATE [Money] SET Amount = Amount - @WantAmount WHERE UserID = @UserID
- END
-
- COMMIT TRAN
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- --------------写Log和统计----------------
-
- IF(@WantAmount > 0)
- BEGIN
- SET @chvRemark = N'Successful gold coin deduction ' + @Reason
- INSERT INTO [MoneyLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- @SourceName, 0, 'CASH', @UserID, @intCurrentAmount, -@WantAmount,
- @intCurrentAmount - @WantAmount, 0, @IPAddress, @chvRemark, GETDATE(), @LogType
- )
- END
-
- --统计
- SET @WantAmount = -@WantAmount
- EXEC [Game_MoneyStat_Update] @UserID = @UserID, @MoneySum = @WantAmount, @TaxSum = 0, @LogType = @LogType
- SET @RetCode = 1
- SET @ErrorMsg = N'扣金币成功'
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[prMoney_WebSendCoin] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- /*
- WEB通用调用加金币接口
- */
- CREATE PROCEDURE [dbo].[prMoney_WebSendCoin]
- @UserID INT,
- @SourceName NVARCHAR(32), --Web应用名称 BuyKey (U币购买门票)
- @Reason NVARCHAR(128),
- @WantAmount BIGINT,
- @IPAddress VARCHAR(16),
- @OpUserID INT,
- @OpUserName VARCHAR(32),
- @RetCode TINYINT OUTPUT,
- @ErrorMsg NVARCHAR(128) OUTPUT --错误描述
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @intCurrentAmount BIGINT
- DECLARE @chvRemark VARCHAR(128)
- DECLARE @LogType INT
- DECLARE @MaxAmount BIGINT --最大额度
- DECLARE @SendAmount BIGINT --发送金额
- DECLARE @Msg NVARCHAR(4000)
- DECLARE @RoleID INT --角色ID
- SET @intCurrentAmount = 0
- SET @Reason = '(' + LTRIM(STR(@OpUserID)) + ',' + @OpUserName + '),' + @Reason
- SET @RetCode = 0
- SET @ErrorMsg = ''
- SET @LogType = 5
- SET @MaxAmount = 10000
- SET @RoleID = 0
- IF(@SourceName IS NULL OR @SourceName = '')
- BEGIN
- SET @SourceName = ''
- SET @chvRemark = N'Web application name is empty,' + @Reason
-
- INSERT INTO [MoneyLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- @SourceName, 0, 'CASH', @UserID, 0, @WantAmount,
- 0, 0, @IPAddress, @chvRemark, GETDATE(), @LogType
- )
-
- SET @RetCode = 11
- SET @ErrorMsg = N'Web application name is empty'
- RETURN
- END
- IF(@UserID IS NULL OR @UserID <=0)
- BEGIN
- SET @UserID = 1
- SET @chvRemark = N'Incorrect user ID ' + @Reason
-
- INSERT INTO [MoneyLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- @SourceName, 0, 'CASH', @UserID, 0, @WantAmount,
- 0, 0, @IPAddress, @chvRemark, GETDATE(), @LogType
- )
-
- SET @RetCode = 12
- SET @ErrorMsg = N'Incorrect user ID'
- END
- IF(@WantAmount < 0)
- BEGIN
- SET @chvRemark = N'Incorrect amount of money delivered ' + @Reason
- INSERT INTO [MoneyLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- @SourceName, 0, 'CASH', @UserID, 0, @WantAmount,
- 0, 0, @IPAddress, @chvRemark, GETDATE(), @LogType
- )
-
- SET @RetCode = 13
- SET @ErrorMsg = N'送金数量不正确'
- RETURN
- END
-
- --角色ID
- SELECT TOP 1 @RoleID = RoleID FROM [RoleUser] WHERE AdminUserID = @OpUserID ORDER BY RoleID ASC
-
- --管理员角色
- IF(@RoleID = 1)
- BEGIN
- SET @MaxAmount = 1000000
-
- --测试账号
- IF EXISTS(SELECT UserID FROM [MachineUser] WHERE UserID = @UserID)
- BEGIN
- SET @MaxAmount = 100000000
- END
- END
-
- --发送总额
- SELECT @SendAmount = ISNULL(SUM(WantAmount), 0) FROM [AdminSendCoin] WHERE Crdate >= CONVERT(CHAR(10), GETDATE(), 120)
-
- --赠送超出今天限额
- IF(@SendAmount + @WantAmount > @MaxAmount)
- BEGIN
- SET @RetCode = 15
- SET @ErrorMsg = N'The increase exceeds the limit'
- RETURN
- END
-
- --加入今天赠送日志
- INSERT INTO [AdminSendCoin]
- (
- OpUserID, OpUserName, UserID, WantAmount, Crdate
- )
- VALUES
- (
- @OpUserID, @OpUserName, @UserID, @WantAmount, GETDATE()
- )
-
- --添加日志
- SET @Msg = N'Admin Send Coin, @UserID=' + LTRIM(STR(@UserID)) + ',@WantAmount=' + CAST(@WantAmount AS VARCHAR(32)) + ',@Reason=' + @Reason
- EXEC [Game_Log_Add] @OpUserID = @OpUserID, @OpUserName = @OpUserName, @Msg = @Msg, @IPAddress = @IPAddress, @Type = 1
- SELECT @intCurrentAmount = [Amount] FROM [Money] WHERE [UserID] = @UserID
- -------------加金币、保险柜------------------------
- UPDATE [Money] SET [Amount] = [Amount] + @WantAmount WHERE [UserID] = @UserID
- IF(@@RowCount = 0)
- BEGIN
- INSERT INTO [Money]
- (
- UserID, Amount, Bank, RegisterTime, RefreshTime
- )
- VALUES
- (
- @UserID, @WantAmount, 0, GETDATE(), GETDATE()
- )
- END
- --------------写Log和统计----------------
- IF(@WantAmount > 0)
- BEGIN
- SET @chvRemark = N'Gold coin delivered successfully ' + @Reason
- INSERT INTO [MoneyLog]
- (
- [SourceName], [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- @SourceName, 0, 'CASH', @UserID, @intCurrentAmount, @WantAmount,
- @intCurrentAmount + @WantAmount, 0, @IPAddress, @chvRemark, GETDATE(), @LogType
- )
- END
- --统计
- EXEC [Game_MoneyStat_Update] @UserID = @UserID, @MoneySum = @WantAmount, @TaxSum = 0, @LogType = @LogType
- SET @RetCode = 1
- SET @ErrorMsg = N'送金币成功'
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[proc_insert] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- /*
- 根据网上资料修改,完成于 2006-6-26
- 增加对自增列的支持
- 不支持text等指针类型字段
- 支持限制行数, 支持bigint,支持where条件. 2010-1-26 15:14:31
- */
- CREATE PROCEDURE [dbo].[proc_insert] (
- @tablename varchar(256),
- @keepidentity tinyint =1, -- 是否保留identity原值 1:保留 0:不保留
- @whereclause varchar(256), --where 条件,如果有,需要带上 where 关键词
- @limitrows int =0 --只需要多少行,0表示需要所有的行
- )
- as
-
- set nocount on
- declare @sqlstr varchar(7200)
- declare @sqlstr1 varchar(7200)
- declare @sqlstr2 varchar(7200)
- select @sqlstr='select ''insert '+@tablename
- select @sqlstr1=''
- select @sqlstr2=' ('
- select @sqlstr1= ' values ( ''+'
-
- if @keepidentity = 1 --保留identity原值
-
- select @sqlstr1=@sqlstr1+col+'+'',''+' ,@sqlstr2=@sqlstr2+name +',' from (select case
- -- when a.xtype =173 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar('+convert(varchar(4),a.length*2+2)+'),'+a.name +')'+' end'
- when a.xtype =104 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(1),'+a.name +')'+' end'
- when a.xtype =175 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'replace('+a.name+','''''''','''''''''''')' + '+'''''''''+' end'
- when a.xtype =61 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'convert(varchar(23),'+a.name +',121)'+ '+'''''''''+' end'
- when a.xtype =106 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar('+convert(varchar(4),a.xprec+2)+'),'+a.name +')'+' end'
- when a.xtype =62 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(23),'+a.name +',2)'+' end'
- when a.xtype in (127,56) then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(30),'+a.name +')'+' end'
- when a.xtype =60 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(22),'+a.name +')'+' end'
- when a.xtype =239 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'replace('+a.name+','''''''','''''''''''')' + '+'''''''''+' end'
- when a.xtype =108 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar('+convert(varchar(4),a.xprec+2)+'),'+a.name +')'+' end'
- when a.xtype =231 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'replace('+a.name+','''''''','''''''''''')' + '+'''''''''+' end'
- when a.xtype =59 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(23),'+a.name +',2)'+' end'
- when a.xtype =58 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'convert(varchar(23),'+a.name +',121)'+ '+'''''''''+' end'
- when a.xtype =52 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(12),'+a.name +')'+' end'
- when a.xtype =122 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(22),'+a.name +')'+' end'
- when a.xtype =48 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(6),'+a.name +')'+' end'
- -- when a.xtype =165 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar('+convert(varchar(4),a.length*2+2)+'),'+a.name +')'+' end'
- when a.xtype =167 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'replace('+a.name+','''''''','''''''''''')' + '+'''''''''+' end'
- else '''NULL'''
- --对text类型35不支持
- end as col,a.colid,a.name
- from syscolumns a where a.id = object_id(@tablename) and a.xtype <>189 and a.xtype <>34 and a.xtype <>35 and a.xtype <>36
- )t order by colid
-
- else --不用保留identity原值
-
- select @sqlstr1=@sqlstr1+col+'+'',''+' ,@sqlstr2=@sqlstr2+name +',' from (select case
- -- when a.xtype =173 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar('+convert(varchar(4),a.length*2+2)+'),'+a.name +')'+' end'
- when a.xtype =104 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(1),'+a.name +')'+' end'
- when a.xtype =175 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'replace('+a.name+','''''''','''''''''''')' + '+'''''''''+' end'
- when a.xtype =61 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'convert(varchar(23),'+a.name +',121)'+ '+'''''''''+' end'
- when a.xtype =106 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar('+convert(varchar(4),a.xprec+2)+'),'+a.name +')'+' end'
- when a.xtype =62 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(23),'+a.name +',2)'+' end'
- when a.xtype in (127,56) then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(30),'+a.name +')'+' end'
- when a.xtype =60 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(22),'+a.name +')'+' end'
- when a.xtype =239 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'replace('+a.name+','''''''','''''''''''')' + '+'''''''''+' end'
- when a.xtype =108 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar('+convert(varchar(4),a.xprec+2)+'),'+a.name +')'+' end'
- when a.xtype =231 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'replace('+a.name+','''''''','''''''''''')' + '+'''''''''+' end'
- when a.xtype =59 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(23),'+a.name +',2)'+' end'
- when a.xtype =58 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'convert(varchar(23),'+a.name +',121)'+ '+'''''''''+' end'
- when a.xtype =52 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(12),'+a.name +')'+' end'
- when a.xtype =122 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(22),'+a.name +')'+' end'
- when a.xtype =48 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(6),'+a.name +')'+' end'
- -- when a.xtype =165 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar('+convert(varchar(4),a.length*2+2)+'),'+a.name +')'+' end'
- when a.xtype =167 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'replace('+a.name+','''''''','''''''''''')' + '+'''''''''+' end'
- else '''NULL'''
- end as col,a.colid,a.name
- from syscolumns a where a.id = object_id(@tablename) and a.xtype <>189 and a.xtype <>34 and a.xtype <>35 and a.xtype <>36
- and columnproperty(object_id(@tablename),a.name,'isidentity')!=1
- )t order by colid
-
-
- select @sqlstr=@sqlstr+left(@sqlstr2,len(@sqlstr2)-1)+') '+left(@sqlstr1,len(@sqlstr1)-3)+')'' from '+@tablename + ' ' + @whereclause
-
- print @sqlstr
- set rowcount @limitrows
- exec( @sqlstr)
- set rowcount 0
-
-
-
-
- --如果需要保留identity原值,又有identity列时,输出 set identity_insert 语句
- if OBJECTPROPERTY(OBJECT_ID(@tablename),'TableHasIdentity') =1 and @keepidentity = 1
- begin
- print 'set identity_insert ' + @tablename + ' on'
- print 'set identity_insert ' + @tablename + ' off'
- end
-
-
-
-
-
-
-
-
- GO
- /****** Object: StoredProcedure [dbo].[prVerifyKeepID] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- /****** Object: Stored Procedure dbo.prVerifyKeepID Script Date: 2008-11-4 16:52:53 ******/
- /*
- 说明:校验是否为保留ID
- 返回:9 是保留ID 其他不是
- */
- CREATE PROCEDURE [dbo].[prVerifyKeepID]
- @intUserID int,
- @chvKeepLoginName varchar(50) output, --返回保留用户名
- @chvKeepPwd varchar(20) output, --返回保留用户密码
- @chvKeepEPwd varchar(100) output --返回保留用户加密密码
- AS
- BEGIN
- set @chvKeepLoginName = '保留用户 ('+ cast(@intUserID as varchar(20)) +')'
- set @chvKeepPwd = left(cast(newid() as varchar(100)),8)
- set @chvKeepPwd = convert(varchar,ascii(substring(@chvKeepPwd, 1,1)))
- +convert(varchar,ascii(substring(@chvKeepPwd, 2,1)))
- +convert(varchar,ascii(substring(@chvKeepPwd, 3,1)))
- set @chvKeepEPwd = dbo.fn_md5(cast(@intUserID as varchar) + @chvKeepPwd)
- /*
- --校验保留ID表
- if exists(select * from dbo.KeepID where KeepUserID = @intUserID) begin
- return 9
- end
- */
-
- --校验保留ID规则
- declare @chvCheckStr varchar(4)
- set @chvCheckStr = cast(@intUserID as varchar(20))
- if ( charindex('1111', @chvCheckStr)>0
- or charindex('2222', @chvCheckStr)>0
- or charindex('333', @chvCheckStr)>0
- or charindex('4444', @chvCheckStr)>0
- or charindex('5555', @chvCheckStr)>0
- or charindex('666', @chvCheckStr)>0
- or charindex('7777', @chvCheckStr)>0
- or charindex('888', @chvCheckStr)>0
- or charindex('999', @chvCheckStr)>0 ) begin
- return 9
- end
- set @chvKeepLoginName = ''
- set @chvKeepPwd = ''
- set @chvKeepEPwd = ''
- return 1
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AllGame_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AllGame_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-03-13
- -- Mendor: wolf
- -- Alter Date: 2016-06-02
- -- Description: 游戏列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AllGame_GetList]
- @PartnerID INT = 0 --渠道ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @EnglishName VARCHAR(32) --游戏英文名
-
- --获取某个渠道
- IF(@PartnerID > 0)
- BEGIN
- --获取英文名
- SELECT @EnglishName = EnglishName FROM [Partner] WHERE PartnerID = @PartnerID
-
- --返回信息:游戏ID(GameID)(int)、中文名称(ChineseName)(varchar(32))、英文名称(EnglishName)(varchar(32))
- SELECT
- GameID, ChineseName, EnglishName, GameType, CAST(DisplaySort AS VARCHAR(16)) AS DisplaySort,
- CASE
- WHEN EnglishName = @EnglishName THEN 1
- ELSE 0
- END AS PartnerSort, NeedLevel
- FROM
- [AllGame]
- WHERE
- Enabled = 1
- ORDER BY
- PartnerSort DESC, DisplaySort ASC
-
- RETURN
- END
-
- --返回信息:游戏ID(GameID)(int)、中文名称(ChineseName)(varchar(32))、英文名称(EnglishName)(varchar(32))
- SELECT
- GameID, ChineseName, EnglishName, GameType,
- CAST(DisplaySort AS VARCHAR(16)) AS DisplaySort,
- 0 AS PartnerSort, NeedLevel
- FROM
- [AllGame]
- WHERE
- Enabled = 1
- ORDER BY
- DisplaySort ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AllUser_ChangeFace] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AllUser_ChangeFace]
- -- @UserID = 100,
- -- @FaceID = 2,
- -- @Face = 0x
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-03-16
- -- Mendor: wolf
- -- Alter Date: 2016-04-19
- -- Description: 修改头像
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AllUser_ChangeFace]
- @UserID INT, --用户ID
- @Sex TINYINT, --性别(无效)
- @FaceID SMALLINT, --头像ID(-1=玩家上传头像)
- @FaceUrl VARCHAR(1024) --头像URL
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --系统当前时间
- SET @CurrTime = GETDATE()
-
- IF(LEN(@FaceUrl) >= 1024)
- RETURN 11
- --更新头像
- UPDATE
- [UserFace]
- SET
- FaceUrl = @FaceUrl, FaceID = @FaceID
- WHERE
- UserID = @UserID
-
- RETURN 1
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AllUser_ChangeNameTimes] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AllUser_ChangeNameTimes]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 修改昵称次数
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AllUser_ChangeNameTimes]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @ChangeTimes INT --修改次数
-
- SELECT @ChangeTimes = COUNT(UserID) FROM [ChangedNickNameLog] WHERE UserID = @UserID
-
- --返回信息
- SELECT @ChangeTimes AS ChangeTimes
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AllUser_ChangeNickName] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RetCode TINYINT
- -- EXEC [WS_AllUser_ChangeNickName]
- -- @UserID = 100,
- -- @NickName = '',
- -- @RetCode = @RetCode OUTPUT
- -- SELECT @RetCode AS RetCode
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-03-16
- -- Mendor: wolf
- -- Alter Date: 2016-04-11
- -- Description: 修改用户昵称
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AllUser_ChangeNickName]
- @UserID INT, --用户ID
- @NickName NVARCHAR(32), --昵称
- @RetCode TINYINT OUTPUT --操作结果
- --操作结果描述:1=操作成功 11=含有敏感字 12=账号不存在 13=钻石不足 14=账号名称已经存在
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @OldNickName NVARCHAR(32) --旧昵称
- DECLARE @Remark VARCHAR(128) --备注
-
- SET @RetCode = 0
-
- SELECT @OldNickName = NickName FROM [AllUser] WHERE UserID = @UserID
- IF(LEN(@NickName) <= 0)
- BEGIN
- SET @RetCode = 11
- RETURN
- END
- --更新昵称
- UPDATE [AllUser] SET NickName = @NickName, @OldNickName = NickName WHERE UserID = @UserID
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 12
- RETURN
- END
- --修改昵称日志
- INSERT INTO [ChangedNickNameLog]
- (
- UserID, OldNickName, NewNickName, Crdate
- )
- VALUES
- (
- @UserID, @OldNickName, @NickName, GETDATE()
- )
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AllUser_ChangeSex] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AllUser_ChangeSex]
- -- @UserID = 100,
- -- @Sex = 1
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-03-16
- -- Mendor: wolf
- -- Alter Date: 2016-04-11
- -- Description: 修改性别
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AllUser_ChangeSex]
- @UserID INT, --用户ID
- @Sex TINYINT --性别 0=默认(无) 1=男 2=女
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @FaceID SMALLINT --脸谱ID(-1=玩家上传头像)
- DECLARE @RetCode TINYINT --操作结果
-
- SET @RetCode = 0
-
- --1=男
- IF(@Sex = 1)
- BEGIN
- --随机头像,男性头像1-10
- EXEC [Game_Rand_GetRnd] @Min = 1, @Max = 10, @Rnd = @FaceID OUTPUT
- END
-
- --2=女
- ELSE IF(@Sex = 2)
- BEGIN
- --随机头像,女性头像11-20
- EXEC [Game_Rand_GetRnd] @Min = 11, @Max = 20, @Rnd = @FaceID OUTPUT
- END
- --修改性别
- UPDATE [UserFace] SET Sex = @Sex, FaceID = @FaceID WHERE UserID = @UserID
- SET @RetCode = 1
-
- --返回信息
- SELECT @RetCode AS RetCode, @FaceID AS FaceID
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AllUser_ChangeUserWord] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RetCode INT
- -- EXEC [WS_AllUser_ChangeUserWord]
- -- @UserID = 100,
- -- @UserWords = '',
- -- @RetCode = @RetCode OUTPUT
- -- SELECT @RetCode AS RetCode
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-03-23
- -- Mendor: wolf
- -- Alter Date: 2015-03-23
- -- Description: 修改个性签名
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AllUser_ChangeUserWord]
- @UserID INT, --用户ID
- @UserWords NVARCHAR(256), --个性签名
- @RetCode TINYINT OUTPUT --操作结果
- --操作结果描述:1=操作成功 11=含有敏感字 12=账号不存在
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SET @RetCode = 0
-
- --检查非法字符
- IF(CHARINDEX('>', @UserWords) > 0 OR CHARINDEX('<', @UserWords) > 0)
- BEGIN
- SET @RetCode = 11
- RETURN
- END
- --替换掉屏蔽字
- --SELECT @UserWords = REPLACE(@UserWords, LimitWord, REPLICATE('*', LEN(LimitWord))) FROM [LimitWord]
-
- --修改签名
- UPDATE [AllUser] SET UserWords = @UserWords WHERE UserID = @UserID
-
- /*
- INSERT INTO [UserWordsPool]
- (
- UserID, UserWords, TransMsg, Status, OpUserID, OpUserName, DealTime, ApplyTime
- )
- VALUES
- (
- @UserID, @UserWords, '', 0, 0, '', '2021-01-01', GETDATE()
- )
- */
-
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AllUser_CheckLogin] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AllUser_CheckLogin]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 检查登录
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AllUser_CheckLogin]
- @UserID INT, --用户ID
- @EPassword VARCHAR(32) --登录密码(密文)
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT --操作结果
- DECLARE @DBPassword VARCHAR(32) --密码
- DECLARE @Amount BIGINT --金币
- DECLARE @Bank BIGINT --保险柜
- DECLARE @NickName NVARCHAR(32) --昵称
- DECLARE @FaceID SMALLINT --头像ID
- DECLARE @FaceUrl VARCHAR(1024) --头像URL
- DECLARE @Sex TINYINT --性别 0=默认(无) 1=男 2=女
- DECLARE @VipLevel INT --Vip等级
- DECLARE @UserWords NVARCHAR(256) --个性签名
- DECLARE @Code INT --推荐码
- DECLARE @IsGuest TINYINT --是否游客
- DECLARE @TeacherID INT --师父ID
- DECLARE @ChipAmount BIGINT --筹码
- DECLARE @ChipBank BIGINT --筹码保险柜
- DECLARE @Currency VARCHAR(32) --币种
- DECLARE @CurrencyIsModify TINYINT --是否允许修改(1=允许修改 其他=禁止修改)
- DECLARE @UTMSource NVARCHAR(128) --广告系列来源
- DECLARE @Charm INT --魅力值
-
- SET @RetCode = 0
- SET @Amount = 0
- SET @Bank = 0
- SET @NickName = ''
- SET @FaceID = 0
- SET @FaceUrl = ''
- SET @VipLevel = 0
- SET @Sex = 0
- SET @UserWords = ''
- SET @Code = 0
- SET @IsGuest = 0
- SET @TeacherID = 0
- SET @ChipAmount = 0
- SET @ChipBank = 0
- SET @Currency = ''
- SET @CurrencyIsModify = 1
- SET @UTMSource = 'Default'
- SET @Charm = 0
- --用户信息
- SELECT
- @NickName = NickName, @DBPassword = EPassword, @UserWords = UserWords,
- @IsGuest = CASE
- WHEN LEFT(IMei, 3) = 'fb.' OR LEFT(deviceid, 3) = 'fb.' THEN 0
- WHEN LEFT(IMei, 3) = 'gg.' OR LEFT(deviceid, 3) = 'gg.' THEN 0
- ELSE 1
- END
- FROM
- [AllUser]
- WHERE
- UserID = @UserID
- IF(@@ROWCOUNT = 0)
- BEGIN
- SELECT
- @RetCode AS RetCode, @Amount AS Amount, @NickName AS NickName, @FaceID AS FaceID,
- @FaceUrl AS FaceUrl, @VipLevel AS VipLevel, @Bank AS Bank, @Sex AS Sex,
- @UserWords AS UserWords, @Code AS Code, @IsGuest AS IsGuest, @TeacherID AS TeacherID,
- 0 AS HigherUserID, 0 AS Grade, @ChipAmount AS ChipAmount, @ChipBank AS ChipBank,
- @Currency AS Currency, @CurrencyIsModify AS CurrencyIsModify, @UTMSource AS UTMSource,
- @Charm AS Charm
-
- RETURN
- END
- --判断密码
- IF(@EPassword IS NULL OR @EPassword != @DBPassword)
- BEGIN
- SELECT
- @RetCode AS RetCode, @Amount AS Amount, @NickName AS NickName, @FaceID AS FaceID,
- @FaceUrl AS FaceUrl, @VipLevel AS VipLevel, @Bank AS Bank, @Sex AS Sex,
- @UserWords AS UserWords, @Code AS Code, @IsGuest AS IsGuest, @TeacherID AS TeacherID,
- 0 AS HigherUserID, 0 AS Grade, @ChipAmount AS ChipAmount, @ChipBank AS ChipBank,
- @Currency AS Currency, @CurrencyIsModify AS CurrencyIsModify, @UTMSource AS UTMSource,
- @Charm AS Charm
-
- RETURN
- END
- --头像
- SELECT @Sex = Sex, @FaceID = FaceID, @FaceUrl = FaceUrl FROM [UserFace] WHERE UserID = @UserID
-
- --金币
- EXEC [p_if_getmoney] @userid = @UserID, @moneyamount = @Amount OUTPUT, @Bank = @Bank OUTPUT
-
- --Vip级别
- SELECT @VipLevel = VipLevel FROM [UserVip] WHERE UserID = @UserID
-
- --推荐码
- SELECT @Code = Code FROM [SpreadMember] WHERE UserID = @UserID
-
- --师父ID
- SELECT @TeacherID = TeacherID FROM [UserTeacher] WHERE StudentID = @UserID
-
- --筹码
- EXEC [Game_Chip_GetInfo] @UserID = @UserID, @Amount = @ChipAmount OUTPUT, @Bank = @ChipBank OUTPUT
- --币种
- SELECT @Currency = Currency, @CurrencyIsModify = IsModify FROM [UserCountry] WHERE UserID = @UserID
- --注册流量渠道
- SELECT @UTMSource = Source FROM [UTM] WHERE UserID = @UserID
-
- --魅力值
- SELECT @Charm = Charm FROM [UserCharm] WHERE UserID = @UserID
- --操作成功
- SET @RetCode = 1
-
- SELECT
- @RetCode AS RetCode, @Amount AS Amount, @NickName AS NickName, @FaceID AS FaceID,
- @FaceUrl AS FaceUrl, @VipLevel AS VipLevel, @Bank AS Bank, @Sex AS Sex,
- @UserWords AS UserWords, @Code AS Code, @IsGuest AS IsGuest, @TeacherID AS TeacherID,
- 0 AS HigherUserID, 0 AS Grade, @ChipAmount AS ChipAmount, @ChipBank AS ChipBank,
- @Currency AS Currency, @CurrencyIsModify AS CurrencyIsModify, @UTMSource AS UTMSource,
- @Charm AS Charm
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AllUser_DelAccount] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AllUser_DelAccount]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-02-06
- -- Mendor: wolf
- -- Alter Date: 2016-09-11
- -- Description: 删除账号
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AllUser_DelAccount]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @IMei VARCHAR(64)
- DECLARE @deviceid VARCHAR(64)
- DECLARE @Suffix VARCHAR(64) --废弃的账号
- DECLARE @RetCode TINYINT --操作结果
-
- SET @RetCode = 0
-
- --后缀
- SET @Suffix = '_' + REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR(16), GETDATE(), 120), '-', ''), ' ', ''), ':', '')
-
- --账号信息
- SELECT @IMei = IMei, @deviceid = deviceid FROM [AllUser] WHERE UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --删除账号信息
- UPDATE
- [AllUser]
- SET
- IMei = CASE WHEN @IMei != '' THEN IMei + @Suffix ELSE IMei END,
- deviceid = CASE WHEN @deviceid != '' THEN deviceid + @Suffix ELSE deviceid END
- WHERE
- UserID = @UserID
-
- UPDATE
- [UserIdentity]
- SET
- IMei = CASE WHEN @IMei != '' THEN IMei + @Suffix ELSE IMei END
- WHERE
- UserID = @UserID
- SET @RetCode = 1
- --返回信息
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AllUser_DelFacebook] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AllUser_DelFacebook]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-02-06
- -- Mendor: wolf
- -- Alter Date: 2016-09-11
- -- Description: 删除facebook账号
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AllUser_DelFacebook]
- @FacebookID VARCHAR(64)
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @IMei VARCHAR(64)
- DECLARE @deviceid VARCHAR(64)
- DECLARE @Suffix VARCHAR(64) --废弃的账号
- DECLARE @UserID INT
-
- SET @UserID = 0
-
- IF(LEN(@FacebookID) <= 0)
- BEGIN
- SELECT @UserID AS UserID
- RETURN
- END
-
- --后缀
- SET @Suffix = '_' + REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR(16), GETDATE(), 120), '-', ''), ' ', ''), ':', '')
-
- --账号信息
- SELECT @UserID = UserID, @IMei = IMei FROM [AllUser] WHERE IMei = @FacebookID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SELECT @UserID = UserID, @deviceid = deviceid FROM [AllUser] WHERE deviceid = @FacebookID
- END
-
- IF(@UserID <= 0)
- BEGIN
- SELECT @UserID AS UserID
- RETURN
- END
-
- --删除账号信息
- UPDATE
- [AllUser]
- SET
- IMei = CASE WHEN @IMei != '' THEN IMei + @Suffix ELSE IMei END,
- deviceid = CASE WHEN @deviceid != '' THEN deviceid + @Suffix ELSE deviceid END
- WHERE
- UserID = @UserID
-
- UPDATE
- [UserIdentity]
- SET
- IMei = CASE WHEN @IMei != '' THEN IMei + @Suffix ELSE IMei END
- WHERE
- UserID = @UserID
-
- --返回信息
- SELECT @UserID AS UserID
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AllUser_GetAmountInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AllUser_GetAmountInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-17
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 金币信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AllUser_GetAmountInfo]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Amount BIGINT --现金 cash
- DECLARE @Bank BIGINT --保险柜
- SET @Amount = 0
- SET @Bank = 0
- --金币
- EXEC [p_if_getmoney] @userid = @UserID, @moneyamount = @Amount OUTPUT, @Bank = @Bank OUTPUT
- --返回信息
- SELECT @Amount AS Amount, @Bank AS Bank
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AllUser_GetBankInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AllUser_GetBankInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-11
- -- Mendor: wolf
- -- Alter Date: 2017-02-23
- -- Description: 获取银行账号信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AllUser_GetBankInfo]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT TOP 1
- RealName, BankName, BankCode, BankCard, Mobile
- FROM
- [UserBankInfo]
- WHERE
- UserID = @UserID
- ORDER BY
- Rid DESC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AllUser_GetBaseInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AllUser_GetBaseInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 获取用户基本信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AllUser_GetBaseInfo]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @NickName NVARCHAR(32) --昵称
- DECLARE @VipLevel INT --Vip等级
- DECLARE @FaceID INT --头像ID
- DECLARE @FaceUrl VARCHAR(1024) --头像URL
- DECLARE @Sex INT --性别
- DECLARE @UserWords NVARCHAR(256)
- DECLARE @IsRobot TINYINT --是否机器人
- DECLARE @PrivateRoomCount INT --私人场局数
- DECLARE @Currency VARCHAR(32) --币种
- DECLARE @Money BIGINT --金币数
- DECLARE @Bank BIGINT --保险柜
- DECLARE @Charm INT --魅力值
- DECLARE @ChipAmount BIGINT --筹码金额
- DECLARE @ChipBank BIGINT --筹码保险柜
-
- SET @NickName = ''
- SET @UserWords = ''
- SET @FaceID = 0
- SET @FaceUrl = ''
- SET @Sex = 0
- SET @VipLevel = 0
- SET @IsRobot = 0
- SET @PrivateRoomCount = 0
- SET @Currency = ''
- SET @Money = 0
- SET @Bank = 0
- SET @Charm = 0
- SET @ChipAmount = 0
- SET @ChipBank = 0
-
- --账号昵称
- SELECT
- @NickName = NickName, @UserWords = UserWords,
- @IsRobot = CASE WHEN RegIP = '127.0.0.1' THEN 1 ELSE 0 END
- FROM
- [AllUser]
- WHERE
- UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SELECT
- @NickName AS NickName, @VipLevel AS VipLevel, @FaceID AS FaceID,
- @FaceUrl AS FaceUrl, @Sex AS Sex, @UserWords AS UserWords,
- @IsRobot AS IsRobot, @PrivateRoomCount AS PrivateRoomCount,
- @Currency AS Currency, @Money AS Gold, @Charm AS Charm,
- @ChipAmount AS ChipAmount
- RETURN
- END
-
- --头像信息
- SELECT
- @FaceID = FaceID, @FaceUrl = FaceUrl, @Sex = Sex
- FROM
- [UserFace]
- WHERE
- UserID = @UserID
-
- --VIP等级
- SELECT @VipLevel = VipLevel FROM [UserVip] WHERE UserID = @UserID
-
- --私人场局数
- SELECT @PrivateRoomCount = COUNT(Rid) FROM [ChairHistory] WHERE Crdate >= '2022-11-01' AND UserID = @UserID
-
- --获取币种
- SELECT @Currency = Currency FROM [UserCountry] WHERE UserID = @UserID
-
- IF(@Currency = '')
- BEGIN
- SELECT @Currency = Currency FROM [ExchangeRate] WHERE IsDefault = 1
- END
-
- --金币
- EXEC [p_if_getmoney] @userid = @UserID, @moneyamount = @Money OUTPUT, @Bank = @Bank OUTPUT
-
- --魅力值
- SELECT @Charm = Charm FROM [UserCharm] WHERE UserID = @UserID
-
- --筹码
- EXEC [Game_Chip_GetInfo] @UserID = @UserID, @Amount = @ChipAmount OUTPUT, @Bank = @ChipBank OUTPUT
-
- --返回信息
- SELECT
- @NickName AS NickName, @VipLevel AS VipLevel, @FaceID AS FaceID,
- @FaceUrl AS FaceUrl, @Sex AS Sex, @UserWords AS UserWords,
- @IsRobot AS IsRobot, @PrivateRoomCount AS PrivateRoomCount,
- @Currency AS Currency, @Money AS Gold, @Charm AS Charm,
- @ChipAmount AS ChipAmount
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AllUser_GetBindInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AllUser_GetBindInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 用户绑定信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AllUser_GetBindInfo]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @IMei VARCHAR(64) --IMei
- DECLARE @deviceid VARCHAR(64) --设备号
- DECLARE @IsFacebook TINYINT --是否绑定facebook
- DECLARE @IsTel TINYINT --是否绑定手机
-
- SET @IsFacebook = 0
- SET @IsTel = 0
-
- --设备号
- SELECT @IMei = IMei, @deviceid = deviceid FROM [AllUser] WHERE UserID = @UserID
- --已绑定
- IF(LEFT(@IMei, 3) = 'fb.' OR LEFT(@IMei, 3) = 'gg.')
- BEGIN
- SET @IsFacebook = 1
- END
- --已绑定
- IF(LEFT(@deviceid, 3) = 'fb.' OR LEFT(@deviceid, 3) = 'gg.')
- BEGIN
- SET @IsFacebook = 1
- END
-
- --判断是否绑定手机
- IF EXISTS(SELECT UserID FROM [UserTel] WHERE UserID = @UserID)
- BEGIN
- SET @IsTel = 1
- END
-
- --返回信息
- SELECT @IsFacebook AS IsFacebook, @IsTel AS IsTel
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AllUser_GetFace] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AllUser_GetFace]
- -- @UserID = @UserID
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 获取用户头像
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AllUser_GetFace]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @FaceID TINYINT --头像ID
- DECLARE @FaceUrl VARCHAR(1024) --头像URL
- DECLARE @Sex TINYINT --性别 0=默认(无) 1=男 2=女
- SET @FaceID = 0
- SET @FaceUrl = ''
- SET @Sex = 0
- --用户自定义头像
- SELECT
- @FaceID = FaceID, @FaceUrl = FaceUrl, @Sex = Sex
- FROM
- [UserFace]
- WHERE
- UserID = @UserID
- SELECT @FaceID AS FaceID, @FaceUrl AS FaceUrl, @Sex AS Sex
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AllUser_GetFacebookInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AllUser_GetFacebookInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-02-06
- -- Mendor: wolf
- -- Alter Date: 2016-09-11
- -- Description: 获取用户facebook信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AllUser_GetFacebookInfo]
- @FacebookID VARCHAR(64)
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @IMei VARCHAR(64)
- DECLARE @deviceid VARCHAR(64)
- DECLARE @UserID INT
-
- SET @UserID = 0
-
- IF(LEN(@FacebookID) <= 0)
- BEGIN
- SELECT @UserID AS UserID
- RETURN
- END
-
- --账号信息
- SELECT @UserID = UserID, @IMei = IMei FROM [AllUser] WHERE IMei = @FacebookID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SELECT @UserID = UserID, @deviceid = deviceid FROM [AllUser] WHERE deviceid = @FacebookID
- END
-
- --返回信息
- SELECT @UserID AS UserID
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AllUser_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AllUser_GetInfo]
- -- @UserID = 1
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-17
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 用户信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AllUser_GetInfo]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @NickName NVARCHAR(32) --好友昵称
- DECLARE @ServerName NVARCHAR(32) --服务器名称
- DECLARE @FaceID SMALLINT --头像ID
- DECLARE @NewUserID INT --用户ID
- SET @NewUserID = 0
- SET @NickName = ''
- SET @ServerName = ''
- SET @FaceID = 0
- SELECT @NewUserID = UserID, @NickName = NickName FROM [AllUser] WHERE UserID = @UserID
- IF(@@ROWCOUNT = 0)
- BEGIN
- SELECT
- @NewUserID AS UserID, @NickName AS NickName, @ServerName AS ServerName,
- @FaceID AS FaceID
- RETURN
- END
-
- --获取服务器名称
- SELECT @ServerName = ServerName FROM [t_onlineuser] WHERE UserID = @UserID
- --获取头像
- SELECT @FaceID = FaceID FROM [UserFace] WHERE UserID = @UserID
-
- --返回信息:对方用户ID(UserID)(int)、对方昵称(NickName)(varchar(32))、服务器名称(ServerName)(varchar(32))
- SELECT
- @NewUserID AS UserID, @NickName AS NickName, @ServerName AS ServerName,
- @FaceID AS FaceID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AllUser_GetIPAndIMei] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AllUser_GetIPAndIMei]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 根据IP、IMei获取用户列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AllUser_GetIPAndIMei]
- @IPAddress VARCHAR(16), --IP地址
- @IMei VARCHAR(64), --IMei
- @Days INT --天数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DateFlag SMALLDATETIME
-
- SET @DateFlag = CONVERT(CHAR(10), GETDATE(), 120)
- SET @DateFlag = @DateFlag - @Days
- --ip
- IF(@IPAddress != '')
- BEGIN
- SELECT UserID FROM [AllUser] WHERE RegTime >= @DateFlag AND RegIP = @IPAddress
- END
-
- --imei
- ELSE IF(@IMei != '')
- BEGIN
- SELECT UserID FROM [AllUser] WHERE RegTime >= @DateFlag AND deviceid = @IMei
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AllUser_GetMyInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AllUser_GetMyInfo]
- -- @UserID = 1
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-17
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 用户信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AllUser_GetMyInfo]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @NickName NVARCHAR(32) --好友昵称
- DECLARE @ServerName NVARCHAR(32) --服务器名称
- DECLARE @FaceID SMALLINT --头像ID
- DECLARE @Amount BIGINT --金币
- DECLARE @Bank BIGINT --保险柜
- DECLARE @EPassword VARCHAR(32) --登陆密码
- DECLARE @PartnerID INT --渠道ID
- DECLARE @FaceUrl VARCHAR(1024) --头像URL
- DECLARE @PayMoney DECIMAL(18, 2) --充值额度
- DECLARE @VipLevel INT --Vip等级
- DECLARE @Sex TINYINT --性别 0=默认(无) 1=男 2=女
- DECLARE @UserWords NVARCHAR(256) --个性签名
- DECLARE @Code INT --推荐码
- DECLARE @IsGuest TINYINT --是否游客
- DECLARE @TeacherID INT --师父ID
- DECLARE @ChipAmount BIGINT --筹码
- DECLARE @ChipBank BIGINT --筹码保险柜
- DECLARE @Currency VARCHAR(32) --币种
- DECLARE @CurrencyIsModify TINYINT --是否允许修改(1=允许修改 其他=禁止修改)
- DECLARE @UTMSource NVARCHAR(128) --广告系列来源
- DECLARE @Charm INT --魅力值
- SET @NickName = ''
- SET @ServerName = ''
- SET @FaceID = 0
- SET @Amount = 0
- SET @Bank = 0
- SET @EPassword = ''
- SET @PartnerID = 0
- SET @FaceUrl = ''
- SET @PayMoney = 0
- SET @VipLevel = 0
- SET @Sex = 0
- SET @UserWords = ''
- SET @Code = 0
- SET @IsGuest = 0
- SET @TeacherID = 0
- SET @ChipAmount = 0
- SET @ChipBank = 0
- SET @Currency = ''
- SET @CurrencyIsModify = 1
- SET @UTMSource = 'Default'
- SET @Charm = 0
- SELECT
- @NickName = NickName, @EPassword = EPassword, @PartnerID = PartnerID, @PayMoney = PayMoney, @UserWords = UserWords,
- @IsGuest = CASE
- WHEN LEFT(IMei, 3) = 'fb.' OR LEFT(deviceid, 3) = 'fb.' THEN 0
- WHEN LEFT(IMei, 3) = 'gg.' OR LEFT(deviceid, 3) = 'gg.' THEN 0
- ELSE 1
- END
- FROM
- [AllUser]
- WHERE
- UserID = @UserID
- IF(@@ROWCOUNT = 0)
- BEGIN
- SELECT
- @NickName AS NickName, @ServerName AS ServerName, @FaceID AS FaceID,
- @Amount AS Amount, @EPassword AS EPassword, @PartnerID AS PartnerID, @FaceUrl AS FaceUrl,
- @PayMoney AS PayMoney, @VipLevel AS VipLevel, @Bank AS Bank, @Sex AS Sex, @UserWords AS UserWords,
- @Code AS Code, @IsGuest AS IsGuest, @TeacherID AS TeacherID, 0 AS HigherUserID, 0 AS Grade,
- @ChipAmount AS ChipAmount, @ChipBank AS ChipBank, @Currency AS Currency,
- @CurrencyIsModify AS CurrencyIsModify, @UTMSource AS UTMSource, @Charm AS Charm
- RETURN
- END
-
- --获取服务器名称
- SELECT @ServerName = ServerName FROM [t_onlineuser] WHERE UserID = @UserID
- --金币
- EXEC [p_if_getmoney] @userid = @UserID, @moneyamount = @Amount OUTPUT, @Bank = @Bank OUTPUT
-
- --筹码
- EXEC [Game_Chip_GetInfo] @UserID = @UserID, @Amount = @ChipAmount OUTPUT, @Bank = @ChipBank OUTPUT
- --获取头像索引
- SELECT @Sex = Sex, @FaceID = FaceID, @FaceUrl = FaceUrl FROM [UserFace] WHERE UserID = @UserID
-
- --Vip级别
- SELECT @VipLevel = VipLevel FROM [UserVip] WHERE UserID = @UserID
-
- --推荐码
- SELECT @Code = Code FROM [SpreadMember] WHERE UserID = @UserID
-
- --师父ID
- SELECT @TeacherID = TeacherID FROM [UserTeacher] WHERE StudentID = @UserID
- --币种
- SELECT @Currency = Currency, @CurrencyIsModify = IsModify FROM [UserCountry] WHERE UserID = @UserID
- --注册流量渠道
- SELECT @UTMSource = Source FROM [UTM] WHERE UserID = @UserID
-
- --魅力值
- SELECT @Charm = Charm FROM [UserCharm] WHERE UserID = @UserID
-
- --返回信息:对方用户ID(UserID)(int)、对方昵称(NickName)(varchar(32))、服务器名称(ServerName)(varchar(32))
- --现金cash(Amount)(int)
- SELECT
- @NickName AS NickName, @ServerName AS ServerName, @FaceID AS FaceID, @Amount AS Amount,
- @EPassword AS EPassword, @PartnerID AS PartnerID, @FaceUrl AS FaceUrl, @PayMoney AS PayMoney,
- @VipLevel AS VipLevel, @Bank AS Bank, @Sex AS Sex, @UserWords AS UserWords,
- @Code AS Code, @IsGuest AS IsGuest, @TeacherID AS TeacherID, 0 AS HigherUserID, 0 AS Grade,
- @ChipAmount AS ChipAmount, @ChipBank AS ChipBank, @Currency AS Currency,
- @CurrencyIsModify AS CurrencyIsModify, @UTMSource AS UTMSource, @Charm AS Charm
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AllUser_LoginByIMei] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AllUser_LoginByIMei]
- -- @IMei = '',
- -- @NickName = '',
- -- @PartnerID = 500,
- -- @Version = 0,
- -- @IPAddress = ''
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-03-13
- -- Mendor: wolf
- -- Alter Date: 2017-02-16
- -- Description: IMei号登陆(游客登陆)
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AllUser_LoginByIMei]
- @IMei VARCHAR(64), --IMei
- @NickName NVARCHAR(32), --昵称
- @PartnerID INT, --渠道
- @Version INT, --版本
- @IPAddress VARCHAR(16), --IP地址
- @deviceid VARCHAR(64), --设备序号
- @DeviceName VARCHAR(32) --设备名称
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --System当前时间
- DECLARE @Count SMALLINT --计数器
- DECLARE @RetCode INT --返回值
- DECLARE @Rnd INT --随机数
- DECLARE @UserID INT --用户ID
- DECLARE @NewNickName NVARCHAR(32) --新昵称
- DECLARE @Money BIGINT --金币数
- DECLARE @Bank BIGINT --保险柜
- DECLARE @FaceID SMALLINT --脸谱ID(-1=玩家上传头像)
- DECLARE @EPassword VARCHAR(32) --MD5密文
- DECLARE @Msg NVARCHAR(4000) --消息
- DECLARE @FaceUrl VARCHAR(1024) --头像地址
- DECLARE @PayMoney DECIMAL(18, 2) --充值额度
- DECLARE @SendAmount BIGINT --赠送
- DECLARE @VipLevel INT --Vip等级
- DECLARE @ForbidTime DATETIME --封号时间
- DECLARE @DateFlag DATETIME --日期标识
- DECLARE @Sex TINYINT --性别 0=默认(无) 1=男 2=女
- DECLARE @UserWords NVARCHAR(256) --个性签名
- DECLARE @Code INT --推荐码
- DECLARE @IsGuest TINYINT --是否游客
- DECLARE @SysMsgID INT --系统消息ID
- DECLARE @RegPartnerID INT --注册渠道ID
- DECLARE @TimeStamp INT
- DECLARE @Tools VARCHAR(32)
- DECLARE @TeacherID INT --师父ID
- DECLARE @FacebookID VARCHAR(64)
- DECLARE @ChipMoney BIGINT --筹码
- DECLARE @ChipBank BIGINT --筹码保险柜
- DECLARE @ChipSend BIGINT --筹码赠送
- DECLARE @LoginTime DATETIME --登录时间
- DECLARE @AutoLoginChip TINYINT --自动登录元宝大厅
- DECLARE @IsReturn TINYINT --是否回归
- DECLARE @Title NVARCHAR(32)
- DECLARE @IsReg TINYINT --是否注册用户
- DECLARE @BindFacebook INT --绑定赠送
- DECLARE @PlatformName VARCHAR(32) --平台名称
- DECLARE @HigherUserID INT --代理ID
- DECLARE @Currency VARCHAR(32) --币种
- DECLARE @CurrencyIsModify TINYINT --是否允许修改(1=允许修改 其他=禁止修改)
- DECLARE @UTMSource NVARCHAR(128) --广告系列来源
- DECLARE @Charm INT --魅力值
- SET @CurrTime = GETDATE()
- SET @UserID = 0
- SET @Money = 0
- SET @Bank = 0
- SET @FaceID = 0
- SET @FaceUrl = ''
- SET @Sex = 0
- SET @PayMoney = 0
- SET @RetCode = 0
- SET @VipLevel = 0
- SET @ForbidTime = '2021-01-01'
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
- SET @UserWords = ''
- SET @Code = 0
- SET @IsGuest = 0
- SET @SysMsgID = 0
- SET @RegPartnerID = 0
- SET @TimeStamp = dbo.fn_TimeToStamp(@CurrTime)
- SET @TeacherID = 0
- SET @ChipMoney = 0
- SET @ChipBank = 0
- SET @ChipSend = 0
- SET @AutoLoginChip = 1
- SET @IsReturn = 0
- SET @IsReg = 0
- SET @NewNickName = ''
- SET @HigherUserID = 0
- SET @Currency = ''
- SET @CurrencyIsModify = 1
- SET @UTMSource = ''
- SET @EPassword = ''
- SET @Charm = 0
-
- IF(LEN(@IMei) <= 0)
- BEGIN
- SET @IMei = NEWID()
- END
- --IMei、设备号为空
- IF(LEN(@IMei) <= 0 AND LEN(@deviceid) <= 0)
- BEGIN
- SELECT
- @RetCode AS RetCode, 0 AS UserID, @NewNickName AS NewNickName, @FaceID AS FaceID,
- @FaceUrl AS FaceUrl, @EPassword AS EPassword, @Money AS [Money], @PayMoney AS PayMoney,
- @VipLevel AS VipLevel, CONVERT(CHAR(16), @ForbidTime, 120) AS ForbidTime, @Bank AS Bank,
- @Sex AS Sex, @UserWords AS UserWords, @Code AS Code, @IsGuest AS IsGuest, @TeacherID AS TeacherID,
- @HigherUserID AS HigherUserID, 0 AS Grade, @ChipMoney AS ChipMoney, @ChipBank AS ChipBank, @ChipSend AS ChipSend,
- @AutoLoginChip AS AutoLoginChip, @IsReturn AS IsReturn, @IsReg AS IsReg, @Currency AS Currency,
- @CurrencyIsModify AS CurrencyIsModify, @UTMSource AS UTMSource, @Charm AS Charm
- RETURN
- END
- --用户
- SELECT @FacebookID = IMei FROM [UserBindFacebook] WHERE Facebook_1_ID = @IMei OR Facebook_2_ID = @IMei
-
- IF(LEN(@FacebookID) > 0)
- BEGIN
- SET @IMei = @FacebookID
- END
- --获取用户信息
- SELECT TOP 1
- @UserID = UserID, @NewNickName = NickName, @EPassword = EPassword,
- @PayMoney = PayMoney, @RegPartnerID = RegPartnerID, @UserWords = UserWords,
- @LoginTime = CONVERT(CHAR(10), LoginTime, 120),
- @IsGuest = CASE
- WHEN LEFT(IMei, 3) = 'fb.' OR LEFT(deviceid, 3) = 'fb.' THEN 0
- WHEN LEFT(IMei, 3) = 'gg.' OR LEFT(deviceid, 3) = 'gg.' THEN 0
- WHEN LEFT(IMei, 3) = 'ap.' OR LEFT(deviceid, 3) = 'ap.' THEN 0
- ELSE 1
- END
- FROM
- [AllUser]
- WHERE
- IMei = @IMei
- ORDER BY
- PayMoney DESC, RegTime DESC
-
- IF(@UserID = 0)
- BEGIN
- SELECT TOP 1
- @UserID = UserID, @NewNickName = NickName, @EPassword = EPassword,
- @PayMoney = PayMoney, @RegPartnerID = RegPartnerID, @UserWords = UserWords,
- @LoginTime = CONVERT(CHAR(10), LoginTime, 120),
- @IsGuest = CASE
- WHEN LEFT(IMei, 3) = 'fb.' OR LEFT(deviceid, 3) = 'fb.' THEN 0
- WHEN LEFT(IMei, 3) = 'gg.' OR LEFT(deviceid, 3) = 'gg.' THEN 0
- WHEN LEFT(IMei, 3) = 'ap.' OR LEFT(deviceid, 3) = 'ap.' THEN 0
- ELSE 1
- END
- FROM
- [AllUser]
- WHERE
- deviceid = @IMei
- ORDER BY
- PayMoney DESC, RegTime DESC
- END
-
- --当前有用户信息,直接返回
- IF(@UserID > 0)
- BEGIN
- --封杀时间
- SELECT @ForbidTime = EndTime FROM [ForbidUser] WHERE UserID = @UserID AND EndTime > @CurrTime
-
- --判断账号是否被封杀
- IF(@ForbidTime > @CurrTime)
- BEGIN
- SET @RetCode = -12
- SELECT
- @RetCode AS RetCode, 0 AS UserID, @NewNickName AS NewNickName, @FaceID AS FaceID,
- @FaceUrl AS FaceUrl, @EPassword AS EPassword, @Money AS [Money], @PayMoney AS PayMoney,
- @VipLevel AS VipLevel, CONVERT(CHAR(16), @ForbidTime, 120) AS ForbidTime, @Bank AS Bank,
- @Sex AS Sex, @UserWords AS UserWords, @Code AS Code, @IsGuest AS IsGuest, @TeacherID AS TeacherID,
- @HigherUserID AS HigherUserID, 0 AS Grade, @ChipMoney AS ChipMoney, @ChipBank AS ChipBank, @ChipSend AS ChipSend,
- @AutoLoginChip AS AutoLoginChip, @IsReturn AS IsReturn, @IsReg AS IsReg, @Currency AS Currency,
- @CurrencyIsModify AS CurrencyIsModify, @UTMSource AS UTMSource, @Charm AS Charm
- RETURN
- END
-
- --平台
- SELECT @PlatformName = PlatformName FROM [PlatformConfig] WHERE ConfigID = 1
-
- --登陆信息
- UPDATE
- [AllUser]
- SET
- PartnerID = @PartnerID, IPAddress = @IPAddress, LoginTime = @CurrTime,
- deviceid = CASE WHEN deviceid = '' AND @deviceid != '' THEN @deviceid ELSE deviceid END,
- RegTime = CASE WHEN deviceid = '' AND @deviceid != '' THEN @CurrTime ELSE RegTime END,
- DeviceName = @DeviceName, Version = @Version
- WHERE
- UserID = @UserID
-
- --上级代理ID
- SELECT @HigherUserID = HigherUserID FROM [AgentMember] WHERE UserID = @UserID
-
- --获取玩家头像
- SELECT @Sex = Sex, @FaceID = FaceID, @FaceUrl = FaceUrl FROM [UserFace] WHERE UserID = @UserID
-
- --金币
- EXEC [p_if_getmoney] @userid = @UserID, @moneyamount = @Money OUTPUT, @Bank = @Bank OUTPUT
-
- --筹码
- EXEC [Game_Chip_GetInfo] @UserID = @UserID, @Amount = @ChipMoney OUTPUT, @Bank = @ChipBank OUTPUT
-
- --Vip级别
- SELECT @VipLevel = VipLevel FROM [UserVip] WHERE UserID = @UserID
-
- --不是机器人
- IF NOT EXISTS(SELECT UserID FROM [MachineUser] WHERE UserID = @UserID)
- BEGIN
- --登陆日志
- INSERT INTO [UserLoginLog]
- (
- UserID, IMei, PartnerID, Version, LoginType, IPAddress, Crdate, DeviceName
- )
- VALUES
- (
- @UserID, @IMei, @PartnerID, @Version, 0, @IPAddress, @CurrTime, @DeviceName
- )
-
- --用戶日常统计
-
- --更新
- UPDATE
- [UserDailyStat]
- SET
- StillAmount = @Money, LoginCount = LoginCount + 1
- WHERE
- DateFlag = @DateFlag AND UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserDailyStat]
- (
- DateFlag, UserID, WinAmount, LoseAmount, StillAmount, GameStart, GameEnd,
- PlaySeconds, PayMoney, LoginCount, VideoPlayTimes, VideoSendAmount
- )
- VALUES
- (
- @DateFlag, @UserID, 0, 0, @Money, '2021-01-01', '2021-01-01',
- 0, 0, 1, 0, 0
- )
- END
- END
-
- --推荐码
- SELECT @Code = Code FROM [SpreadMember] WHERE UserID = @UserID
-
- --师父ID
- SELECT @TeacherID = TeacherID FROM [UserTeacher] WHERE StudentID = @UserID
-
- --统计未显示的赠送筹码数额
- SELECT @ChipSend = ISNULL(SUM(Amount), 0) FROM [ChipSendLog] WHERE UserID = @UserID AND IsShow = 0
-
- IF(@ChipSend > 0)
- BEGIN
- --修改未显示状态
- UPDATE [ChipSendLog] SET IsShow = 1 WHERE UserID = @UserID AND IsShow = 0
- END
-
- --回归奖励,超过10天没有登录
- IF(@LoginTime < @DateFlag - 10)
- BEGIN
- SET @IsReturn = 1
- END
- --获取币种
- SELECT @Currency = Currency, @CurrencyIsModify = IsModify FROM [UserCountry] WHERE UserID = @UserID
-
- IF(@Currency = '')
- BEGIN
- SELECT @Currency = Currency FROM [ExchangeRate] WHERE IsDefault = 1
- END
- --特殊渠道
- IF(@PartnerID = 10901 AND @PlatformName = 'Egypt')
- BEGIN
- SET @UTMSource = 'agentinvite'
- END
-
- --白名单
- ELSE IF EXISTS(SELECT UserID FROM [ChipWhiteList] WHERE UserID = @UserID AND WhiteType = 1)
- BEGIN
- SET @UTMSource = 'agentinvite'
- END
-
- IF(@UTMSource = '')
- BEGIN
- --注册流量渠道
- SELECT @UTMSource = Source FROM [UTM] WHERE UserID = @UserID
- END
-
- --魅力值
- SELECT @Charm = Charm FROM [UserCharm] WHERE UserID = @UserID
-
- --操作结果
- SET @RetCode = 1
- SELECT
- @RetCode AS RetCode, @UserID AS UserID, @NewNickName AS NewNickName, @FaceID AS FaceID,
- @FaceUrl AS FaceUrl, @EPassword AS EPassword, @Money AS [Money], @PayMoney AS PayMoney,
- @VipLevel AS VipLevel, CONVERT(CHAR(16), @ForbidTime, 120) AS ForbidTime, @Bank AS Bank,
- @Sex AS Sex, @UserWords AS UserWords, @Code AS Code, @IsGuest AS IsGuest, @TeacherID AS TeacherID,
- @HigherUserID AS HigherUserID, 0 AS Grade, @ChipMoney AS ChipMoney, @ChipBank AS ChipBank, @ChipSend AS ChipSend,
- @AutoLoginChip AS AutoLoginChip, @IsReturn AS IsReturn, @IsReg AS IsReg, @Currency AS Currency,
- @CurrencyIsModify AS CurrencyIsModify, @UTMSource AS UTMSource, @Charm AS Charm
-
- RETURN
- END
-
- /*
- --在5分钟内限制同一个ip段只能注册2个用户,超过了则不让注册,提示:“当前网络繁忙,请稍后尝试”
- IF((SELECT COUNT(RegTime) FROM [AllUser] WHERE RegTime >= DATEADD(MINUTE, -5, @CurrTime) AND RegIP = @IPAddress) >= 5)
- BEGIN
- SET @RetCode = 13
- SELECT
- @RetCode AS RetCode, 0 AS UserID, @NewNickName AS NewNickName, @FaceID AS FaceID,
- @FaceUrl AS FaceUrl, @EPassword AS EPassword, @Money AS [Money], @PayMoney AS PayMoney,
- @VipLevel AS VipLevel, CONVERT(CHAR(16), @ForbidTime, 120) AS ForbidTime, @Bank AS Bank,
- @Sex AS Sex, @UserWords AS UserWords, @Code AS Code, @IsGuest AS IsGuest, @TeacherID AS TeacherID,
- @HigherUserID AS HigherUserID, 0 AS Grade, @ChipMoney AS ChipMoney, @ChipBank AS ChipBank, @ChipSend AS ChipSend,
- @AutoLoginChip AS AutoLoginChip, @IsReturn AS IsReturn, @IsReg AS IsReg, @Currency AS Currency,
- @CurrencyIsModify AS CurrencyIsModify, @UTMSource AS UTMSource, @Charm AS Charm
- RETURN
- END
-
- --同设备5分钟1个
- IF((SELECT COUNT(RegTime) FROM [AllUser] WHERE RegTime >= DATEADD(MINUTE, -5, @CurrTime) AND deviceid = @deviceid) >= 1)
- BEGIN
- SET @RetCode = 13
- SELECT
- @RetCode AS RetCode, 0 AS UserID, @NewNickName AS NewNickName, @FaceID AS FaceID,
- @FaceUrl AS FaceUrl, @EPassword AS EPassword, @Money AS [Money], @PayMoney AS PayMoney,
- @VipLevel AS VipLevel, CONVERT(CHAR(16), @ForbidTime, 120) AS ForbidTime, @Bank AS Bank,
- @Sex AS Sex, @UserWords AS UserWords, @Code AS Code, @IsGuest AS IsGuest, @TeacherID AS TeacherID,
- @HigherUserID AS HigherUserID, 0 AS Grade, @ChipMoney AS ChipMoney, @ChipBank AS ChipBank, @ChipSend AS ChipSend,
- @AutoLoginChip AS AutoLoginChip, @IsReturn AS IsReturn, @IsReg AS IsReg, @Currency AS Currency,
- @CurrencyIsModify AS CurrencyIsModify, @UTMSource AS UTMSource, @Charm AS Charm
- RETURN
- END
-
- --同设备、同IP30分钟一个
- IF((SELECT COUNT(RegTime) FROM [AllUser] WHERE RegTime >= DATEADD(MINUTE, -30, @CurrTime) AND deviceid = @deviceid AND RegIP = @IPAddress) >= 1)
- BEGIN
- SET @RetCode = 13
- SELECT
- @RetCode AS RetCode, 0 AS UserID, @NewNickName AS NewNickName, @FaceID AS FaceID,
- @FaceUrl AS FaceUrl, @EPassword AS EPassword, @Money AS [Money], @PayMoney AS PayMoney,
- @VipLevel AS VipLevel, CONVERT(CHAR(16), @ForbidTime, 120) AS ForbidTime, @Bank AS Bank,
- @Sex AS Sex, @UserWords AS UserWords, @Code AS Code, @IsGuest AS IsGuest, @TeacherID AS TeacherID,
- @HigherUserID AS HigherUserID, 0 AS Grade, @ChipMoney AS ChipMoney, @ChipBank AS ChipBank, @ChipSend AS ChipSend,
- @AutoLoginChip AS AutoLoginChip, @IsReturn AS IsReturn, @IsReg AS IsReg, @Currency AS Currency,
- @CurrencyIsModify AS CurrencyIsModify, @UTMSource AS UTMSource, @Charm AS Charm
- RETURN
- END
- */
-
- SET @Count = 0
-
- --遍历100次
- WHILE(@Count < 100)
- BEGIN
- --计数器+1
- SET @Count = @Count + 1
-
- --生成随机数
- EXEC [Game_Rand_GetRnd] @Min = 1000000, @Max = 99999999, @Rnd = @Rnd OUTPUT
-
- --判断是否存在
- IF NOT EXISTS(SELECT UserID FROM [UserIdentity] WHERE UserID = @Rnd)
- BEGIN
- --添加
- INSERT INTO [UserIdentity](UserID, IMei) VALUES(@Rnd, @IMei)
-
- --用户ID
- SET @UserID = @Rnd
-
- BREAK
- END
-
- SET @Msg = N'注册游客生成帐号异常,UserID重复!关联的信息:@IMei=' + @IMei + ',@NickName=' + @NickName + ',@PartnerID=' + LTRIM(STR(@PartnerID)) +
- ',@Version=' + LTRIM(STR(@Version)) + ',@Count=' + LTRIM(STR(@Count))
-
- --添加日志
- EXEC [Game_Log_Add] @OpUserID = -1, @OpUserName = 'System', @IPAddress = @IPAddress, @Msg = @Msg, @Type = 2
- END
-
- --生成随机数
- EXEC [Game_Rand_GetRnd] @Min = 100000, @Max = 999999, @Rnd = @Rnd OUTPUT
-
- --生成MD5密码
- SET @EPassword = dbo.fn_MD5(@Rnd)
-
- --赠送数量
- SELECT @PlatformName = PlatformName, @SendAmount = RegGoldSend FROM [PlatformConfig] WHERE ConfigID = 1
- --有设备名称
- IF(@PlatformName = 'Egypt' AND LEN(@DeviceName) > 0)
- BEGIN
- SET @NickName = @DeviceName + LTRIM(STR(@UserID))
- END
-
- --昵称为空的情况
- ELSE IF(LEN(@NickName) <= 0)
- BEGIN
- SET @NickName = 'Guest' + LTRIM(STR(@UserID))
- END
-
- --新昵称(过滤特殊字符: ', <, >)
- SET @NickName = Replace(Replace(Replace(@NickName, '<', ''), '''', ''),'>','')
-
- --生成用户信息
- INSERT INTO [AllUser]
- (
- UserID, NickName, PartnerID, IMei, EPassword, RegTime, RegIP,
- LoginTime, IPAddress, PayMoney, deviceid, RegPartnerID, UserWords, DeviceName, Version
- )
- VALUES
- (
- @UserID, @NickName, @PartnerID, @IMei, @EPassword, @CurrTime, @IPAddress,
- @CurrTime, @IPAddress, 0, @deviceid, @PartnerID, '', @DeviceName, @Version
- )
-
- --新用户注册
- SET @IsReg = 1
-
- --随机头像
- EXEC [Game_Rand_GetRnd] @Min = 1, @Max = 2, @Rnd = @Sex OUTPUT
-
- --1=男
- IF(@Sex = 1)
- BEGIN
- --随机头像,男性头像 1-5=普通头像, 6-10=vip头像
- EXEC [Game_Rand_GetRnd] @Min = 1, @Max = 5, @Rnd = @FaceID OUTPUT
- END
-
- --2=女
- ELSE IF(@Sex = 2)
- BEGIN
- --随机头像,女性头像 11-15=普通头像, 16-20=vip头像
- EXEC [Game_Rand_GetRnd] @Min = 11, @Max = 15, @Rnd = @FaceID OUTPUT
- END
-
- --头像
- INSERT INTO [UserFace](UserID, FaceID, FaceUrl, Sex) VALUES(@UserID, @FaceID, '', @Sex)
-
- --新昵称
- SET @NewNickName = @NickName
-
- --登陆日志
- INSERT INTO [UserLoginLog]
- (
- UserID, IMei, PartnerID, Version, LoginType, IPAddress, Crdate, DeviceName
- )
- VALUES
- (
- @UserID, @IMei, @PartnerID, @Version, 0, @IPAddress, @CurrTime, @DeviceName
- )
- IF(@SendAmount > 0)
- BEGIN
- --加金豆
- EXEC [Game_Money_GiveMoney] @UserID = @UserID, @SourceName = 'Register', @GameID = 0, @WantedAmount = @SendAmount,
- @LogType = 5, @Remark = 'Visitor registration', @IPAddress = @IPAddress, @RetCode = @RetCode OUTPUT
- END
-
- --金币
- EXEC [p_if_getmoney] @userid = @UserID, @moneyamount = @Money OUTPUT, @Bank = @Bank OUTPUT
-
- --筹码
- EXEC [Game_Chip_GetInfo] @UserID = @UserID, @Amount = @ChipMoney OUTPUT, @Bank = @ChipBank OUTPUT
-
- --Facebook 账号注册赠送
- IF(LEFT(@IMei, 3) = 'fb.' OR LEFT(@IMei, 3) = 'gg.')
- BEGIN
- SELECT @BindFacebook = BindFacebook FROM [PlatformConfig] WHERE ConfigID = 1
-
- IF(@BindFacebook > 0)
- BEGIN
- EXEC [Game_Translate_Get] @Source = N'绑定账号奖励', @Target = @Title OUTPUT
- EXEC [Game_Translate_Get] @Source = N'恭喜您获得绑定账号奖励,请及时查收附件', @Target = @Msg OUTPUT
-
- --道具
- SET @Tools = '[{"ItemId":1,"Count":' + LTRIM(STR(@BindFacebook)) + '}]'
-
- --发送邮件
- EXEC [WS_SysMessage_Send] @UserID = @UserID, @Title = @Title, @Content = @Msg, @Status = 0,
- @SourceName = 'Facebook Register', @Crdate = @TimeStamp, @Tools = @Tools, @SysMsgID = @SysMsgID OUTPUT
- END
- END
-
- --生成新手登录任务
- INSERT INTO [NewUserGift]
- (
- UserID, DayIndex, Status, DateFlag
- )
- SELECT
- @UserID, DayIndex, 0, @DateFlag + (DayIndex - 1)
- FROM
- [NewGiftConfig]
- ORDER BY
- DayIndex ASC
-
- --用戶日常统计
-
- --更新
- UPDATE
- [UserDailyStat]
- SET
- StillAmount = @Money, LoginCount = LoginCount + 1
- WHERE
- DateFlag = @DateFlag AND UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserDailyStat]
- (
- DateFlag, UserID, WinAmount, LoseAmount, StillAmount, GameStart, GameEnd,
- PlaySeconds, PayMoney, LoginCount, VideoPlayTimes, VideoSendAmount
- )
- VALUES
- (
- @DateFlag, @UserID, 0, 0, @Money, '2021-01-01', '2021-01-01',
- 0, 0, 1, 0, 0
- )
- END
-
- SET @IsGuest = CASE
- WHEN LEFT(@IMei, 3) = 'fb.' OR LEFT(@deviceid, 3) = 'fb.' THEN 0
- WHEN LEFT(@IMei, 3) = 'gg.' OR LEFT(@deviceid, 3) = 'gg.' THEN 0
- ELSE 1
- END
-
- IF(@PlatformName = 'ME')
- BEGIN
- --SET @Msg = N'https://t.me/MLKPOKER|مرحبا بك بلعبة طاولة العرب, تريد ان تكسب الكثير من العملات النقدية ؟ تريد المشاركة بالمسابقات للعبة ملك البوكر ؟ عندك سؤال او استفسار عن اللعبة ؟ ماذا تنظر ادخل مجموعة التلغرام ,هناك جوائز وهدايا كثيرة ومسابقات يومية واسبوعية ,ادخل الجروب وابدا بكسب الجوائز, العب ومرح وكسب اكثر مع طاولة العرب'
- SET @Msg = N'بك بلعبة طاولة العرب, تريد ان تكسب الكثير من العملات النقدية ؟ تريد المشاركة بالمسابقات للعبة ملك البوكر ؟ عندك سؤال او استفسار عن اللعبة ؟ ماذا تنظر ادخل مجموعة التلغرام ,هناك جوائز وهدايا كثيرة ومسابقات يومية واسبوعية ,ادخل الجروب وابدا بكسب الجوائز, العب ومرح وكسب اكثر مع طاولة العرب'
- EXEC [WS_SysMessage_Send] @UserID = @UserID, @Title = N'جوائز كبيرة على قناة التلغرام،اسرع ودخل مجموعة التلغرام', @Content = @Msg, @Status = 0,
- @SourceName = 'Register', @Crdate = @TimeStamp, @Tools = '', @SysMsgID = @SysMsgID OUTPUT
- END
-
- IF(@Currency = '')
- BEGIN
- SELECT @Currency = Currency FROM [ExchangeRate] WHERE IsDefault = 1
- END
-
- --操作成功
- SET @RetCode = 1
- SELECT
- @RetCode AS RetCode, @UserID AS UserID, @NewNickName AS NewNickName, @FaceID AS FaceID,
- @FaceUrl AS FaceUrl, @EPassword AS EPassword, @Money AS [Money], @PayMoney AS PayMoney,
- @VipLevel AS VipLevel, CONVERT(CHAR(16), @ForbidTime, 120) AS ForbidTime, @Bank AS Bank,
- @Sex AS Sex, @UserWords AS UserWords, @Code AS Code, @IsGuest AS IsGuest, @TeacherID AS TeacherID,
- @HigherUserID AS HigherUserID, 0 AS Grade, @ChipMoney AS ChipMoney, @ChipBank AS ChipBank, @ChipSend AS ChipSend,
- @AutoLoginChip AS AutoLoginChip, @IsReturn AS IsReturn, @IsReg AS IsReg, @Currency AS Currency,
- @CurrencyIsModify AS CurrencyIsModify, @UTMSource AS UTMSource, @Charm AS Charm
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AllUser_SaveBankInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AllUser_SaveBankInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-11
- -- Mendor: wolf
- -- Alter Date: 2017-02-23
- -- Description: 保存银行账号信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AllUser_SaveBankInfo]
- @UserID INT, --用户ID
- @RealName VARCHAR(32), --真实姓名
- @BankName VARCHAR(32), --银行名称
- @BankCode VARCHAR(16), --银行码
- @BankCard VARCHAR(32), --银行卡号
- @Mobile VARCHAR(32), --手机号
- @RetCode TINYINT OUTPUT --操作结果
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SET @RetCode = 0
-
- INSERT INTO [UserBankInfo]
- (
- UserID, RealName, BankName, BankCode, BankCard, Mobile, Crdate
- )
- VALUES
- (
- @UserID, @RealName, @BankName, @BankCode, @BankCard, @Mobile, GETDATE()
- )
-
- --操作成功
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AllUser_SaveCountry] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AllUser_SaveCountry]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 保存国家地区
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AllUser_SaveCountry]
- @UserID INT, --用户ID
- @CountryName NVARCHAR(32), --国家名称
- @Currency VARCHAR(32), --币种
- @IsModify TINYINT --是否允许修改(1=允许修改 其他=禁止修改)
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT --操作结果
-
- SET @RetCode = 0
- --修改信息
- UPDATE
- [UserCountry]
- SET
- CountryName = @CountryName, Currency = @Currency, IsModify = @IsModify
- WHERE
- UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserCountry]
- (
- UserID, CountryName, Currency, IsModify
- )
- VALUES
- (
- @UserID, @CountryName, @Currency, @IsModify
- )
- END
-
- --返回
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AllUser_SearchInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AllUser_SearchInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-03-13
- -- Mendor: wolf
- -- Alter Date: 2017-02-16
- -- Description: 搜寻用户信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AllUser_SearchInfo]
- @UserID INT, --用户ID
- @ToUserID INT, --目标用户ID
- @ToNickName NVARCHAR(32) --目标昵称
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- IF(@ToUserID > 0)
- BEGIN
- --获取用户信息
- SELECT UserID FROM [AllUser] WHERE UserID = @ToUserID
- END
-
- ELSE
- BEGIN
- SELECT UserID FROM [AllUser] WHERE NickName = @ToNickName
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Announce_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Announce_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 公告列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Announce_GetList]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- Rid, Title_En, Content_En, Title_Eg, Content_Eg,
- Priority, Version, CONVERT(VARCHAR(20), BeginTime, 120) AS BeginTime,
- CONVERT(VARCHAR(20), EndTime, 120) AS EndTime, Enabled
- FROM
- [Announce]
- WHERE
- EndTime >= GETDATE()
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_AddBlack] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_AddBlack]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 添加语音房黑名单
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_AddBlack]
- @RoomID INT, --房间ID
- @UserID INT, --用户ID
- @BlackType TINYINT, --黑名单类型(1=房间黑名单 2=麦位黑名单)
- @ExpireTime INT --过期时间戳
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT --操作结果
-
- SET @RetCode = 0
- --设置
- UPDATE
- [AudioRoomBlack]
- SET
- ExpireTime = dbo.fn_StampToTime(@ExpireTime)
- WHERE
- RoomID = @RoomID AND UserID = @UserID AND BlackType = @BlackType
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [AudioRoomBlack]
- (
- RoomID, UserID, BlackType, ExpireTime
- )
- VALUES
- (
- @RoomID, @UserID, @BlackType, dbo.fn_StampToTime(@ExpireTime)
- )
- END
-
- --操作成功
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_AddGiftHistory] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_AddGiftHistory]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 语音房礼物记录
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_AddGiftHistory]
- @RoomID INT, --房间ID
- @Sender INT, --发送方
- @Receiver INT, --接收方
- @GiftID INT, --礼物ID
- @GiftNum INT, --礼物数量
- @DiamondAmount INT, --钻石数
- @GoldAmount INT --金币数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- INSERT INTO [AudioRoomGiftHistory]
- (
- RoomID, Sender, Receiver, GiftID, GiftNum, DiamondAmount, GoldAmount, Crdate
- )
- VALUES
- (
- @RoomID, @Sender, @Receiver, @GiftID, @GiftNum, @DiamondAmount, @GoldAmount, GETDATE()
- )
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_AddIncome] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_AddIncome]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-17
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 语聊房--添加用户收益
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_AddIncome]
- @UserID INT, --用户ID
- @ItemType INT, --道具类型
- @Balance DECIMAL(10, 2), --结余收益
- @TotalProfit DECIMAL(18, 2) --累计收益
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- UPDATE
- [UserIncome]
- SET
- Balance = @Balance, TotalProfit = @TotalProfit
- WHERE
- UserID = @USerID AND ItemType = @ItemType
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserIncome]
- (
- UserID, ItemType, Balance, TotalProfit
- )
- VALUES
- (
- @UserID, @ItemType, @Balance, @TotalProfit
- )
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_AddIncomeLog] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_AddIncomeLog]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-17
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 语聊房--添加收益日志
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_AddIncomeLog]
- @UserID INT, --用户ID
- @RoomID INT, --房间ID
- @GameID INT, --游戏ID
- @FromUserID INT, --源用户ID
- @ItemType INT, --道具类型
- @IncomeType INT, --收益类型
- @UserType INT, --用户类型
- @Amount BIGINT, --数量
- @Profit DECIMAL(18, 2), --收益
- @StillProfit DECIMAL(18, 2), --剩余收益
- @RealProfit INT --实际收益
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --添加记录
- INSERT INTO [UserIncomeLog]
- (
- UserID, RoomID, GameID, FromUserID, ItemType, IncomeType, UserType, Amount,
- Profit, StillProfit, RealProfit, Crdate
- )
- VALUES
- (
- @UserID, @RoomID, @GameID, @FromUserID, @ItemType, @IncomeType, @UserType, @Amount,
- @Profit, @StillProfit, @RealProfit, GETDATE()
- )
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_AddMicLog] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_AddMicLog]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 添加麦位日志
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_AddMicLog]
- @UserID INT, --用户ID
- @RoomID INT, --房间ID
- @RoleID INT, --角色ID
- @SN SMALLINT, --麦位序号
- @MicMode TINYINT, --麦位模式
- @OnMicStamp INT, --上麦时间戳
- @OffMicStamp INT, --下麦时间戳
- @Seconds INT, --时长
- @OpUserID INT --操作员ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- INSERT INTO [RoomMicLog]
- (
- UserID, RoleID, SN, RoomID, MicMode, OnMicTime, OffMicTime, Seconds, OpUserID
- )
- VALUES
- (
- @UserID, @RoleID, @SN, @RoomID, @MicMode, dbo.fn_StampToTime(@OnMicStamp), dbo.fn_StampToTime(@OffMicStamp), @Seconds, @OpUserID
- )
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_AddOperateLog] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_AddOperateLog]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 语音房添加操作记录
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_AddOperateLog]
- @RoomID INT, --房间ID
- @UserID INT, --用户ID
- @ToUserID INT, --对象用户ID
- @OperateType TINYINT --操作类型(10=强制下麦 21=禁麦 22=解麦 31=添加房间黑名单 32=移除房间黑名单)
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- INSERT INTO [AudioRoomOperateLog]
- (
- RoomID, UserID, ToUserID, OperateType, Crdate
- )
- VALUES
- (
- @RoomID, @UserID, @ToUserID, @OperateType, GETDATE()
- )
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_AddRoomExpLog] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_AddRoomExpLog]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 房间经验日志
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_AddRoomExpLog]
- @UserID INT, --用户ID
- @RoomID INT, --房间ID
- @Exps INT --经验值
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DateFlag SMALLDATETIME
-
- SET @DateFlag = CONVERT(CHAR(10), GETDATE(), 120)
-
- UPDATE
- [AudioRoomExpLog]
- SET
- Exps = Exps + @Exps
- WHERE
- DateFlag = @DateFlag AND RoomID = @RoomID AND UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [AudioRoomExpLog]
- (
- DateFlag, RoomID, UserID, Exps
- )
- VALUES
- (
- @DateFlag, @RoomID, @UserID, @Exps
- )
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_Create] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_Create]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 语音房创建
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_Create]
- @RoomID INT, --房间ID
- @RoomName NVARCHAR(32), --房间名称
- @RoomImg VARCHAR(256), --房间图片
- @UserID INT, --用户ID
- @Family NVARCHAR(32), --家族
- @Country NVARCHAR(32), --国家
- @Language NVARCHAR(32), --语言
- @MicCount INT, --上麦数量
- @MicMode TINYINT, --麦位模式(0=房间内所有人自由上麦 1=加入为成员才可以上麦 2=仅限管理员邀请或者管理员才能上麦(包含创建者))
- @JoinFee INT, --入会费
- @Announce NVARCHAR(256), --公告内容
- @Tag NVARCHAR(32), --标签
- @MemberCount INT, --会员数
- @Crdate DATETIME, --创建时间
- @Level INT --等级
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT --操作结果
-
- SET @RetCode = 0
-
- --判断房间是否存在
- IF EXISTS(SELECT RoomID FROM [AudioRoom] WHERE RoomID = @RoomID)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- INSERT INTO [AudioRoom]
- (
- RoomID, RoomName, RoomImg, UserID, Family, Country, Language, MicCount, MicMode,
- JoinFee, Announce, Tag, MemberCount, Crdate, Level, Exps
- )
- VALUES
- (
- @RoomID, @RoomName, @RoomImg, @UserID, @Family, @Country, @Language, @MicCount, @MicMode,
- @JoinFee, @Announce, @Tag, @MemberCount, @Crdate, @Level, 0
- )
-
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_DelUserRoom] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_DelUserRoom]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 删除用户语音房信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_DelUserRoom]
- @UserID INT, --用户ID
- @RoomID INT --房间ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --删除用户房间
- DELETE FROM [UserAudioRoom] WHERE UserID = @UserID AND RoomID = @RoomID
-
- --删除用户任务
- DELETE FROM [UserRoomTask] WHERE UserID = @UserID AND RoomID = @RoomID
-
- --删除贡献
- DELETE FROM [UserContribute] WHERE UserID = @UserID AND RoomID = @RoomID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_GetBlackList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_GetBlackList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 语音房黑名单
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_GetBlackList]
- @RoomID INT --房间ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- UserID, BlackType, dbo.fn_TimeToStamp(ExpireTime) AS ExpireTime
- FROM
- [AudioRoomBlack]
- WHERE
- RoomID = @RoomID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_GetCollectList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_GetCollectList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 获取语聊房收集列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_GetCollectList]
- @RoomID INT --房间ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- DayIndex, Points, Ratio, Award, Status
- FROM
- [RoomCollect]
- WHERE
- RoomID = @RoomID AND UpdateTime >= GETDATE() - 3
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_GetEnterCondition] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_GetEnterCondition]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 语音房获取进入条件
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_GetEnterCondition]
- @RoomID INT --房间ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- InviteOnly, Password, dbo.fn_TimeToStamp(PwdExpire) AS PwdExpire, IsHide
- FROM
- [AudioRoomEnterCondition]
- WHERE
- RoomID = @RoomID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_GetExtInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_GetExtInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 获取语聊房扩展信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_GetExtInfo]
- @RoomID INT --房间ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- DayExps, CollectDiamond, ScreenLock, dbo.fn_TimeToStamp(UpdateTime) AS UpdateTime
- FROM
- [AudioRoomExt]
- WHERE
- RoomID = @RoomID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_GetGameIncomeStat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
-
- -- EXEC [WS_AudioRoom_GetGameIncomeStat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-17
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 语聊房--获取用户收益统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_GetGameIncomeStat]
- @UserID INT, --用户ID
- @RoomID INT, --房间ID
- @ItemType INT, --道具类型(1=金币 2=钻石)
- @SortType INT, --排序类型 (11=收益降序 12=收益升序 21=礼物降序 22=礼物升序 31=游戏降序 32=游戏升序 41=下注降序 42=下注升序)
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- DECLARE @tmptable TABLE(
- GameID INT NOT NULL, --游戏ID
- Amount BIGINT NOT NULL, --投注额
- Profit DECIMAL(18, 2) NOT NULL --游戏收益
- )
-
- SET @EndTime = @EndTime + 1
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- INSERT INTO @tmptable
- (
- GameID, Amount, Profit
- )
- SELECT
- GameID, ISNULL(SUM(Amount), 0), ISNULL(SUM(Profit), 0)
- FROM
- [UserIncomeLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID AND RoomID = @RoomID AND ItemType = @ItemType AND IncomeType = 1
- GROUP BY
- GameID
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- --11=收益降序
- IF(@SortType = 11)
- BEGIN
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Profit DESC) AS RowNumber,
- GameID, Amount, Profit
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- GameID, Amount, Profit
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- RETURN
- END
-
- --12=收益升序
- ELSE IF(@SortType = 12)
- BEGIN
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Profit ASC) AS RowNumber,
- GameID, Amount, Profit
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- GameID, Amount, Profit
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- RETURN
- END
-
- --41=下注降序
- ELSE IF(@SortType = 41)
- BEGIN
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Amount DESC) AS RowNumber,
- GameID, Amount, Profit
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- GameID, Amount, Profit
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- RETURN
- END
-
- --42=下注升序
- ELSE IF(@SortType = 42)
- BEGIN
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Amount ASC) AS RowNumber,
- GameID, Amount, Profit
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- GameID, Amount, Profit
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- RETURN
- END
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_GetIncomeLevel] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_GetIncomeLevel]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-17
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 语聊房--获取收益等级
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_GetIncomeLevel]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT IncomeLevel FROM [UserIncomeLevel] WHERE UserID = @UserID
-
- RETURN
- END
-
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_GetIncomeList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
-
- -- EXEC [WS_AudioRoom_GetIncomeList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-17
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 语聊房--获取收益列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_GetIncomeList]
- @UserID INT
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- ItemType, Balance, TotalProfit
- FROM
- [UserIncome]
- WHERE
- UserID = @UserID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_GetIncomeLog] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_GetIncomeLog]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-17
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 语聊房--获取收益日志
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_GetIncomeLog]
- @UserID INT, --用户ID
- @RoomID INT, --房间ID
- @FromUserID INT, --源用户ID
- @ItemType INT, --道具类型(1=金币 2=钻石)
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- DECLARE @tmptable TABLE(
- FromUserID INT NOT NULL, --源用户ID
- GameID INT NOT NULL, --游戏ID
- ItemType TINYINT NOT NULL, --道具类型(1=金币 2=钻石)
- IncomeType INT NOT NULL, --收益类型(1=游戏收益 2=礼物收益)
- UserType INT NOT NULL, --用户类型(1=普通用户 2=房主用户 3=VIP用户)
- Amount BIGINT NOT NULL, --数量
- Profit DECIMAL(18, 2) NOT NULL, --收益
- Crdate DATETIME NOT NULL --时间
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- IF(@FromUserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- FromUserID, GameID, ItemType, IncomeType, UserType, Amount,
- Profit, Crdate
- )
- SELECT
- FromUserID, GameID, ItemType, IncomeType, UserType, Amount,
- Profit, Crdate
- FROM
- [UserIncomeLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID AND RoomID = @RoomID AND FromUserID = @FromUserID
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- FromUserID, GameID, ItemType, IncomeType, UserType, Amount,
- Profit, Crdate
- )
- SELECT
- FromUserID, GameID, ItemType, IncomeType, UserType, Amount,
- Profit, Crdate
- FROM
- [UserIncomeLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID AND RoomID = @RoomID
- END
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Crdate DESC) AS RowNumber,
- FromUserID, GameID, ItemType, IncomeType, UserType, Amount,
- Profit, Crdate
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- FromUserId, GameId, ItemType, IncomeType, UserType, Amount,
- Profit, CONVERT(VARCHAR(16), Crdate, 120) AS Crdate
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_GetInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 语音房信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_GetInfo]
- @RoomID INT --房间ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- RoomID, RoomName, RoomImg, UserID, Family, Country, Language, MicCount, MicMode,
- JoinFee, Announce, Tag, MemberCount, CONVERT(VARCHAR(16), Crdate, 120) AS Crdate,
- Level, Exps
- FROM
- [AudioRoom]
- WHERE
- RoomID = @RoomID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_GetMembers] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_GetMembers]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 语音房成员
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_GetMembers]
- @RoomID INT --房间ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- RoomID, UserID, RoleID, CONVERT(VARCHAR(16), Crdate, 120) AS Crdate, Level, Exps
- FROM
- [UserAudioRoom]
- WHERE
- RoomID = @RoomID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_GetMicInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_GetMicInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 语音房麦位信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_GetMicInfo]
- @RoomID INT --房间ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT MicInfo FROM [AudioRoomMic] WHERE RoomID = @RoomID
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_GetOperateLog] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_GetOperateLog]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 语音房操作记录
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_GetOperateLog]
- @RoomID INT, --房间ID
- @ToUserID INT, --用户ID
- @OperateType TINYINT, --操作类型(10=强制下麦 21=禁麦 22=解麦 31=添加房间黑名单 32=移除房间黑名单)
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @MinOperateType INT --最低操作类型
- DECLARE @MaxOperateType INT --最高操作类型
-
- DECLARE @tmptable TABLE(
- UserID INT NOT NULL, --用户ID
- ToUserID INT NOT NULL, --对象用户ID
- OperateType TINYINT NOT NULL, --操作类型(10=强制下麦 21=禁麦 22=解麦 31=添加房间黑名单 32=移除房间黑名单)
- Crdate DATETIME NOT NULL --时间
- )
-
- SET @CurrTime = CONVERT(CHAR(10), GETDATE(), 120)
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- SET @CurrTime = @CurrTime - 30
- SET @MinOperateType = @OperateType * 10
- SET @MaxOperateType = @MinOperateType + 9
-
- --查询某个用户
- IF(@ToUserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- UserID, ToUserID, OperateType, Crdate
- )
- SELECT
- UserID, ToUserID, OperateType, Crdate
- FROM
- [AudioRoomOperateLog]
- WHERE
- Crdate >= @CurrTime AND RoomID = @RoomID AND ToUserID = @ToUserID AND OperateType BETWEEN @MinOperateType AND @MaxOperateType
- END
-
- --所有用户
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- UserID, ToUserID, OperateType, Crdate
- )
- SELECT
- UserID, ToUserID, OperateType, Crdate
- FROM
- [AudioRoomOperateLog]
- WHERE
- Crdate >= @CurrTime AND RoomID = @RoomID AND OperateType BETWEEN @MinOperateType AND @MaxOperateType
- END
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Crdate DESC) AS RowNumber,
- UserID, ToUserID, OperateType, Crdate
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- UserID, ToUserID, OperateType, CONVERT(VARCHAR(16), Crdate, 120) AS Crdate
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_GetPermission] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_GetPermission]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 获取语音房权限
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_GetPermission]
- @RoomID INT --房间ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- PermissionType, Enabled
- FROM
- [AudioRoomPermission]
- WHERE
- RoomID = @RoomID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_GetTaskList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_GetTaskList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 获取语聊房任务列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_GetTaskList]
- @RoomID INT --房间ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- TaskID, Schedule, CurrNum, dbo.fn_TimeToStamp(UpdateTime) AS TimeStamp
- FROM
- [RoomTask]
- WHERE
- RoomID = @RoomID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_GetUserAttention] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_GetUserAttention]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 用户语音房关注信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_GetUserAttention]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT RoomSet FROM [AudioRoomAttention] WHERE UserID = @UserID
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_GetUserBrowse] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_GetUserBrowse]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 用户语音房浏览信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_GetUserBrowse]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT RoomSet FROM [AudioRoomBrowse] WHERE UserID = @UserID
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_GetUserContribute] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_GetUserContribute]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 获取用户贡献
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_GetUserContribute]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- RoomID, Action, Exps, dbo.fn_TimeToStamp(UpdateTime) AS Expire
- FROM
- [UserContribute]
- WHERE
- UserID = @UserID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_GetUserIncomeStat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_GetUserIncomeStat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-17
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 语聊房--获取用户收益统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_GetUserIncomeStat]
- @UserID INT, --用户ID
- @RoomID INT, --房间ID
- @FromUserID INT, --源用户ID
- @ItemType INT, --道具类型(1=金币 2=钻石)
- @SortType INT, --排序类型 (11=收益降序 12=收益升序 21=礼物降序 22=礼物升序 31=游戏降序 32=游戏升序 41=下注降序 42=下注升序)
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT, --记录数
- @TotalGameProfit DECIMAL(18, 2) OUTPUT, --游戏总收益
- @TotalGiftProfit DECIMAL(18, 2) OUTPUT --礼物总收益
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- DECLARE @tmptable TABLE(
- FromUserID INT NOT NULL, --用户ID
- GameProfit DECIMAL(18, 2) NOT NULL, --游戏收益
- GiftProfit DECIMAL(18, 2) NOT NULL --礼物收益
- )
-
- SET @EndTime = @EndTime + 1
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- IF(@FromUserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- FromUserID, GameProfit, GiftProfit
- )
- SELECT
- FromUserID,
- ISNULL(SUM(CASE WHEN IncomeType = 1 THEN Profit ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN IncomeType = 2 THEN Profit ELSE 0 END), 0)
- FROM
- [UserIncomeLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID AND RoomID = @RoomID AND ItemType = @ItemType AND FromUserID = @FromUserID
- GROUP BY
- FromUserID
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- FromUserID, GameProfit, GiftProfit
- )
- SELECT
- FromUserID,
- ISNULL(SUM(CASE WHEN IncomeType = 1 THEN Profit ELSE 0 END), 0),
- ISNULL(SUM(CASE WHEN IncomeType = 2 THEN Profit ELSE 0 END), 0)
- FROM
- [UserIncomeLog]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID AND RoomID = @RoomID AND ItemType = @ItemType
- GROUP BY
- FromUserID
- END
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- --收益总计
- SELECT @TotalGameProfit = SUM(GameProfit), @TotalGiftProfit = SUM(GiftProfit) FROM @tmptable
-
- SET @TotalGameProfit = ISNULL(@TotalGameProfit, 0)
- SET @TotalGiftProfit = ISNULL(@TotalGiftProfit, 0)
-
- --11=收益降序
- IF(@SortType = 11)
- BEGIN
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY (GameProfit + GiftProfit) DESC) AS RowNumber,
- FromUserID, GameProfit, GiftProfit
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- FromUserId, GameProfit, GiftProfit
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- RETURN
- END
-
- --12=收益升序
- ELSE IF(@SortType = 12)
- BEGIN
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY (GameProfit + GiftProfit) ASC) AS RowNumber,
- FromUserID, GameProfit, GiftProfit
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- FromUserId, GameProfit, GiftProfit
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- RETURN
- END
-
- --21=礼物收益降序
- ELSE IF(@SortType = 21)
- BEGIN
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY GiftProfit DESC) AS RowNumber,
- FromUserID, GameProfit, GiftProfit
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- FromUserId, GameProfit, GiftProfit
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- RETURN
- END
-
- --22=礼物收益升序
- ELSE IF(@SortType = 22)
- BEGIN
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY GiftProfit ASC) AS RowNumber,
- FromUserID, GameProfit, GiftProfit
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- FromUserId, GameProfit, GiftProfit
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- RETURN
- END
-
- --31=游戏收益降序
- ELSE IF(@SortType = 31)
- BEGIN
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY GameProfit DESC) AS RowNumber,
- FromUserID, GameProfit, GiftProfit
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- FromUserId, GameProfit, GiftProfit
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- RETURN
- END
-
- --32=游戏收益升序
- ELSE IF(@SortType = 32)
- BEGIN
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY GameProfit ASC) AS RowNumber,
- FromUserID, GameProfit, GiftProfit
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- FromUserId, GameProfit, GiftProfit
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- RETURN
- END
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_GetUserJoin] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_GetUserJoin]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 用户语音房信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_GetUserJoin]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- RoomID, RoleID, Level, Exps, CONVERT(VARCHAR(20), Crdate, 120) AS Crdate
- FROM
- [UserAudioRoom]
- WHERE
- UserID = @UserID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_GetUserRoomList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_GetUserRoomList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 用户语音房信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_GetUserRoomList]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- RoomID, RoleID, CONVERT(VARCHAR(16), Crdate, 120) AS Crdate
- FROM
- [UserAudioRoom]
- WHERE
- UserID = @UserID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_GetUserTask] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_GetUserTask]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 语音房用户任务信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_GetUserTask]
- @UserID INT, --用户ID
- @RoomID INT --房间ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- TaskID, Schedule, CurrNum, Status, dbo.fn_TimeToStamp(UpdateTime) AS TimeStamp
- FROM
- [UserRoomTask]
- WHERE
- UserID = @UserID AND RoomID = @RoomID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_GetUserTaskStat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_GetUserTaskStat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 语音房用户任务统计列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_GetUserTaskStat]
- @RoomID INT --房间ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- TaskID, COUNT(UserID) AS FinishNum
- FROM
- [UserRoomTask]
- WHERE
- RoomID = @RoomID AND Status = 1 AND UpdateTime >= CONVERT(CHAR(10), GETDATE(), 120)
- GROUP BY
- TaskID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_RecommendRoom] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_RecommendRoom]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 语音房推荐房间
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_RecommendRoom]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT TOP 10
- r.RoomID
- FROM
- [AudioRoom] r INNER JOIN [AllUser] u ON r.UserID = u.UserID
- WHERE
- u.IMei LIKE 'fb%'
- ORDER BY
- NEWID()
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_RecommendUser] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_RecommendUser]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 语音房推荐用户
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_RecommendUser]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT TOP 10 UserID FROM [AllUser] WHERE LoginTime >= GETDATE() - 5 ORDER BY NEWID()
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_RemoveBlack] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_RemoveBlack]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 移除语音房黑名单
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_RemoveBlack]
- @RoomID INT, --房间ID
- @UserID INT, --用户ID
- @BlackType TINYINT --黑名单类型(1=房间黑名单 2=麦位黑名单)
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT --操作结果
-
- SET @RetCode = 0
-
- --删除
- DELETE FROM [AudioRoomBlack] WHERE RoomID = @RoomID AND UserID = @UserID AND BlackType = @BlackType
-
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_SaveUserAttention] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_SaveUserAttention]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 保存用户语音房关注列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_SaveUserAttention]
- @UserID INT, --用户ID
- @RoomSet VARCHAR(1024) --房间信息集
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- UPDATE [AudioRoomAttention] SET RoomSet = @RoomSet WHERE UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [AudioRoomAttention](UserID, RoomSet) VALUES(@UserID, @RoomSet)
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_SaveUserBrowse] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_SaveUserBrowse]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 保存用户语音房浏览信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_SaveUserBrowse]
- @UserID INT, --用户ID
- @RoomSet VARCHAR(1024) --房间信息集
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- UPDATE [AudioRoomBrowse] SET RoomSet = @RoomSet WHERE UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [AudioRoomBrowse](UserID, RoomSet) VALUES(@UserID, @RoomSet)
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_SaveUserRoom] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_SaveUserRoom]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 保存用户语音房信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_SaveUserRoom]
- @UserID INT, --用户ID
- @RoomID INT, --房间ID
- @RoleID INT, --角色ID
- @Crdate VARCHAR(20) --时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --更新信息
- UPDATE
- [UserAudioRoom]
- SET
- RoleID = @RoleID
- WHERE
- UserID = @UserID AND RoomID = @RoomID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- --添加用户语音房
- INSERT INTO [UserAudioRoom]
- (
- UserID, RoomID, RoleID, Level, Exps, DayExps, UpdateTime, Crdate
- )
- VALUES
- (
- @UserID, @RoomID, @RoleID, 1, 0, 0, @Crdate, @Crdate
- )
- END
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_Search] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_Search]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 语音房信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_Search]
- @RoomName NVARCHAR(32) --房间名称
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- RoomID, RoomName, RoomImg, UserID, Family, Country, Language,
- MicCount, JoinFee, Announce, Tag, MemberCount, CONVERT(VARCHAR(16), Crdate, 120) AS Crdate
- FROM
- [AudioRoom]
- WHERE
- RoomName = @RoomName
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_SetEnterCondition] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_SetEnterCondition]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 语音房设置进入条件
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_SetEnterCondition]
- @RoomID INT, --房间ID
- @InviteOnly TINYINT, --只能邀请加入
- @Password VARCHAR(16), --密码
- @PwdExpire INT, --密码过期时间
- @IsHide TINYINT --是否隐藏
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT --操作结果
-
- SET @RetCode = 0
- --修改密码
- UPDATE
- [AudioRoomEnterCondition]
- SET
- InviteOnly = @InviteOnly, Password = @Password, PwdExpire = dbo.fn_StampToTime(@PwdExpire), IsHide = @IsHide
- WHERE
- RoomID = @RoomID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [AudioRoomEnterCondition]
- (
- RoomID, InviteOnly, Password, PwdExpire, IsHide
- )
- VALUES
- (
- @RoomID, @InviteOnly, @Password, dbo.fn_StampToTime(@PwdExpire), @IsHide
- )
- END
-
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_SetMicInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_SetMicInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 语音房麦位设置
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_SetMicInfo]
- @RoomID INT, --房间ID
- @MicInfo VARCHAR(1024) --麦位信息
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- UPDATE [AudioRoomMic] SET MicInfo = @MicInfo WHERE RoomID = @RoomID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [AudioRoomMic](RoomID, MicInfo) VALUES(@RoomID, @MicInfo)
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_SetPermission] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_SetPermission]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 设置语音房权限
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_SetPermission]
- @RoomID INT, --房间ID
- @PermissionType TINYINT, --权限类型(1=麦位锁)
- @Enabled TINYINT --是否启用(0=未启用 1=已启用)
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT --操作结果
-
- SET @RetCode = 0
-
- --修改
- UPDATE [AudioRoomPermission] SET Enabled = @Enabled WHERE RoomID = @RoomID AND PermissionType = @PermissionType
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [AudioRoomPermission]
- (
- RoomID, PermissionType, Enabled
- )
- VALUES
- (
- @RoomID, @PermissionType, @Enabled
- )
- END
- --设置成功
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_Update] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_Update]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 语音房修改
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_Update]
- @RoomID INT, --房间ID
- @RoomName NVARCHAR(32), --房间名称
- @RoomImg VARCHAR(256), --房间图片
- @UserID INT, --用户ID
- @Family NVARCHAR(32), --家族
- @Country NVARCHAR(32), --国家
- @Language NVARCHAR(32), --语言
- @MicCount INT, --上麦数量
- @MicMode TINYINT, --麦位模式(0=房间内所有人自由上麦 1=加入为成员才可以上麦 2=仅限管理员邀请或者管理员才能上麦(包含创建者))
- @JoinFee INT, --入会费
- @Announce NVARCHAR(256), --公告内容
- @Tag NVARCHAR(32) --标签
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT --操作结果
-
- SET @RetCode = 0
-
- UPDATE
- [AudioRoom]
- SET
- RoomName = @RoomName, RoomImg = @RoomImg, Family = @Family, Country = @Country, Language = @Language,
- MicCount = @MicCount, MicMode = @MicMode, JoinFee = @JoinFee, Announce = @Announce, Tag = @Tag
- WHERE
- RoomID = @RoomID AND UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_UpdateCollect] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_UpdateCollect]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 修改语聊房收集
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_UpdateCollect]
- @RoomID INT, --房间ID
- @DayIndex INT, --日索引
- @Points INT, --点数
- @Ratio INT, --比率
- @Award VARCHAR(64), --奖励
- @Status INT --状态
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- UPDATE
- [RoomCollect]
- SET
- Points = @Points, Ratio = @Ratio, Award = @Award, Status = @Status, UpdateTime = GETDATE()
- WHERE
- RoomID = @RoomID AND DayIndex = @DayIndex
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [RoomCollect]
- (
- RoomID, DayIndex, Points, Ratio, Award, Status, UpdateTime
- )
- VALUES
- (
- @RoomID, @DayIndex, @Points, @Ratio, @Award, @Status, GETDATE()
- )
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_UpdateExps] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_UpdateExps]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 语音房更新经验
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_UpdateExps]
- @RoomID INT, --房间ID
- @Level INT, --等级
- @Exps INT --经验
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- UPDATE
- [AudioRoom]
- SET
- [Level] = @Level, Exps = @Exps
- WHERE
- RoomID = @RoomID
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_UpdateExt] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_UpdateExt]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 更新语聊房扩展信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_UpdateExt]
- @RoomID INT, --房间ID
- @DayExps INT, --日经验值
- @CollectDiamond INT, --收集钻石
- @ScreenLock TINYINT, --屏幕锁
- @UpdateTime INT --更新时间戳
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- UPDATE
- [AudioRoomExt]
- SET
- DayExps = @DayExps, CollectDiamond = @CollectDiamond, ScreenLock = @ScreenLock, UpdateTime = dbo.fn_StampToTime(@UpdateTime)
- WHERE
- RoomID = @RoomID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [AudioRoomExt]
- (
- RoomID, DayExps, CollectDiamond, ScreenLock, UpdateTime
- )
- VALUES
- (
- @RoomID, @DayExps, @CollectDiamond, @ScreenLock, dbo.fn_StampToTime(@UpdateTime)
- )
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_UpdateIncomeLevel] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_UpdateIncomeLevel]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-17
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 语聊房--更新收益等级
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_UpdateIncomeLevel]
- @UserID INT, --用户ID
- @IncomeLevel INT --收益等级
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- UPDATE
- [UserIncomeLevel]
- SET
- IncomeLevel = @IncomeLevel
- WHERE
- UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserIncomeLevel]
- (
- UserID, IncomeLevel
- )
- VALUES
- (
- @UserID, @IncomeLevel
- )
- END
-
- RETURN
- END
-
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_UpdateMembers] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_UpdateMembers]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 语音房更新在线人数
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_UpdateMembers]
- @RoomID INT, --房间ID
- @MemberCount INT --会员数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- UPDATE [AudioRoom] SET MemberCount = @MemberCount WHERE RoomID = @RoomID
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_UpdateTask] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_UpdateTask]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 修改语聊房任务
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_UpdateTask]
- @RoomID INT, --房间ID
- @TaskID INT, --任务ID
- @Schedule INT, --进度
- @CurrNum INT, --所需数值
- @TimeStamp INT --时间戳
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- UPDATE
- [RoomTask]
- SET
- Schedule = @Schedule, CurrNum = @CurrNum, UpdateTime = dbo.fn_StampToTime(@TimeStamp)
- WHERE
- RoomID = @RoomID AND TaskID = @TaskID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [RoomTask]
- (
- RoomID, TaskID, Schedule, CurrNum, UpdateTime
- )
- VALUES
- (
- @RoomID, @TaskID, @Schedule, @CurrNum, dbo.fn_StampToTime(@TimeStamp)
- )
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_UpdateUserContribute] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_UpdateUserContribute]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 更新用户贡献
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_UpdateUserContribute]
- @UserID INT, --用户ID
- @RoomID INT, --房间ID
- @Action INT, --动作
- @Exps INT, --经验值
- @Expire INT --过期时间戳
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- UPDATE
- [UserContribute]
- SET
- Action = @Action, Exps = @Exps, UpdateTime = dbo.fn_StampToTime(@Expire)
- WHERE
- UserID = @UserID AND RoomID = @RoomID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserContribute]
- (
- UserID, RoomID, Action, Exps, UpdateTime
- )
- VALUES
- (
- @UserID, @RoomID, @Action, @Exps, dbo.fn_StampToTime(@Expire)
- )
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_UpdateUserExps] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_UpdateUserExps]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 语音房用户经验
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_UpdateUserExps]
- @UserID INT, --用户ID
- @RoomID INT, --房间ID
- @Level INT, --等级
- @Exps INT --经验
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- UPDATE
- [UserAudioRoom]
- SET
- Level = @Level, Exps = @Exps
- WHERE
- UserID = @UserID AND RoomID = @RoomID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_AudioRoom_UpdateUserTask] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_AudioRoom_UpdateUserTask]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 语音房用户任务修改
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_AudioRoom_UpdateUserTask]
- @UserID INT, --用户ID
- @RoomID INT, --房间ID
- @TaskID INT, --任务ID
- @Schedule INT, --进度
- @CurrNum INT, --当前值
- @Status INT, --状态(0=进行中 1=完成)
- @TimeStamp INT --时间戳
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- UPDATE
- [UserRoomTask]
- SET
- Schedule = @Schedule, CurrNum = @CurrNum, Status= @Status, UpdateTime = dbo.fn_StampToTime(@TimeStamp)
- WHERE
- UserID = @UserID AND RoomID = @RoomID AND TaskID = @TaskID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserRoomTask]
- (
- UserID, RoomID, TaskID, Schedule, CurrNum, Status, UpdateTime
- )
- VALUES
- (
- @UserID, @RoomID, @TaskID, @Schedule, @CurrNum, @Status, dbo.fn_StampToTime(@TimeStamp)
- )
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_bank_GetLog] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_bank_GetLog]
- -- ==============================================
- -- Author: Lincoln
- -- Create Date: 2018-03-20
- -- Mendor: Lincoln
- -- Alter Date: 2018-03-20
- -- Description: 获取保险柜日志
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_bank_GetLog]
- @UserID INT, --用户ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
- DECLARE @tmptable TABLE(
- UserID INT NOT NULL, --用户ID
- ToUserID INT NOT NULL, --目标用户ID
- WantedAmount BIGINT NOT NULL, --修改数量
- StillAmount BIGINT NOT NULL, --剩余数量
- IPAddress VARCHAR(16) NOT NULL, --IP地址
- Crdate DATETIME NOT NULL --时间
- )
- SET @RecordCount = 0
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- SET @EndTime = CONVERT(CHAR(11), @EndTime, 120) + '23:59:59'
- --初始化表变量
- INSERT INTO @tmptable
- (
- UserID, ToUserID, WantedAmount, StillAmount, IPAddress, Crdate
- )
- SELECT
- UserID, ToUserID, WantedAmount, StillAmount, IPAddress, Crdate
- FROM
- [BankLog]
- WHERE
- Crdate >= @BeginTime AND Crdate <= @EndTime AND UserID = @UserID AND WantedAmount != 0
- --记录数
- SET @RecordCount = @@ROWCOUNT
- --没有数据
- IF(@RecordCount = 0)
- BEGIN
- --初始化表变量
- INSERT INTO @tmptable
- (
- UserID, ToUserID, WantedAmount, StillAmount, IPAddress, Crdate
- )
- SELECT TOP 100
- UserID, ToUserID, WantedAmount, StillAmount, IPAddress, Crdate
- FROM
- [BankLog]
- WHERE
- Crdate >= GETDATE() - 60 AND UserID = @UserID AND WantedAmount != 0
- ORDER BY
- Rid DESC
- --记录数
- SET @RecordCount = @@ROWCOUNT
- END
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Crdate DESC) AS RowNumber,
- UserID, ToUserID, WantedAmount, StillAmount, IPAddress, Crdate
- FROM
- @tmptable
- )
- --返回信息
- SELECT
- CASE
- WHEN UserID != ToUserID AND WantedAmount < 0 THEN 'Safe'
- WHEN UserID != ToUserID AND WantedAmount > 0 THEN LTRIM(STR(ToUserID))
- WHEN WantedAmount > 0 AND IPAddress = '127.0.0.1' THEN 'Interest'
- WHEN WantedAmount > 0 THEN 'Cash'
- WHEN WantedAmount < 0 THEN 'Safe'
- ELSE ''
- END AS OpFrom,
- CASE
- WHEN UserID != ToUserID AND WantedAmount < 0 THEN LTRIM(STR(ToUserID))
- WHEN UserID != ToUserID AND WantedAmount > 0 THEN 'Safe'
- WHEN WantedAmount > 0 THEN 'Safe'
- WHEN WantedAmount < 0 THEN 'Cash'
- ELSE ''
- END AS OpTo, WantedAmount, StillAmount, CONVERT(CHAR(20), Crdate, 120) AS Crdate
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_BetRecord_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_BetRecord_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 游戏记录查询
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_BetRecord_GetList]
- @UserID INT, --用户ID
- @GameID INT, --游戏ID
- @Days TINYINT, --天数(0=今天 1=昨天 7=最近一周 all=最近30天)
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @TotalBetAmount BIGINT OUTPUT, --总投注额
- @TotalResultAmount BIGINT OUTPUT, --总结算额
- @TotalWinAmount BIGINT OUTPUT, --总输赢
- @RecordCount INT OUTPUT, --记录数
- @BetZone VARCHAR(128) = ''
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @BeginTime DATETIME --开始时间
-
- --表变量
- DECLARE @tmptable TABLE(
- GameID INT NOT NULL, --游戏ID
- BetAmount BIGINT NOT NULL, --下注金额
- BetTime DATETIME NOT NULL, --下注时间
- ResultAmount BIGINT NOT NULL, --结算金额
- Tax BIGINT NOT NULL, --台费
- Status TINYINT NOT NULL, --状态 1=下注 2=结算 3=撤销
- BetZone VARCHAR(128) NOT NULL, --下注区域
- ResultZone VARCHAR(1024) NOT NULL --结算区域
- )
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- SET @CurrTime = GETDATE()
- SET @BeginTime = CONVERT(CHAR(10), @CurrTime - @Days, 120)
- SET @TotalBetAmount = 0
- SET @TotalResultAmount = 0
- SET @TotalWinAmount = 0
- --查询某个游戏
- IF(@GameID > 0)
- BEGIN
- IF(LEN(@BetZone) > 0)
- BEGIN
- --初始化表变量
- INSERT INTO @tmptable
- (
- GameID, BetAmount, BetTime, ResultAmount, Tax, Status, BetZone, ResultZone
- )
- SELECT
- GameID, BetAmount, BetTime, ResultAmount, Tax, Status, BetZone, ResultZone
- FROM
- [Bet]
- WHERE
- BetTime BETWEEN @BeginTime AND @CurrTime AND UserID = @UserID AND GameID = @GameID AND BetZone = @BetZone
- UNION ALL
- SELECT
- GameID, BetAmount, BetTime, ResultAmount, Tax, Status, BetZone, ResultZone
- FROM
- [BetInfo]
- WHERE
- BetTime BETWEEN @BeginTime AND @CurrTime AND UserID = @UserID AND GameID = @GameID AND BetZone = @BetZone
- UNION ALL
- SELECT
- GameID, BetAmount, BetTime, ResultAmount, Tax, Status, BetZone, ResultZone
- FROM
- [BetInfoHistory]
- WHERE
- BetTime BETWEEN @BeginTime AND @CurrTime AND UserID = @UserID AND GameID = @GameID AND BetZone = @BetZone
- END
-
- ELSE
- BEGIN
- --初始化表变量
- INSERT INTO @tmptable
- (
- GameID, BetAmount, BetTime, ResultAmount, Tax, Status, BetZone, ResultZone
- )
- SELECT
- GameID, BetAmount, BetTime, ResultAmount, Tax, Status, BetZone, ResultZone
- FROM
- [Bet]
- WHERE
- BetTime BETWEEN @BeginTime AND @CurrTime AND UserID = @UserID AND GameID = @GameID
- UNION ALL
- SELECT
- GameID, BetAmount, BetTime, ResultAmount, Tax, Status, BetZone, ResultZone
- FROM
- [BetInfo]
- WHERE
- BetTime BETWEEN @BeginTime AND @CurrTime AND UserID = @UserID AND GameID = @GameID
- UNION ALL
- SELECT
- GameID, BetAmount, BetTime, ResultAmount, Tax, Status, BetZone, ResultZone
- FROM
- [BetInfoHistory]
- WHERE
- BetTime BETWEEN @BeginTime AND @CurrTime AND UserID = @UserID AND GameID = @GameID
- END
- END
- --所有游戏
- ELSE
- BEGIN
- IF(LEN(@BetZone) > 0)
- BEGIN
- --初始化表变量
- INSERT INTO @tmptable
- (
- GameID, BetAmount, BetTime, ResultAmount, Tax, Status, BetZone, ResultZone
- )
- SELECT
- GameID, BetAmount, BetTime, ResultAmount, Tax, Status, BetZone, ResultZone
- FROM
- [Bet]
- WHERE
- BetTime BETWEEN @BeginTime AND @CurrTime AND UserID = @UserID AND BetZone = @BetZone
- UNION ALL
- SELECT
- GameID, BetAmount, BetTime, ResultAmount, Tax, Status, BetZone, ResultZone
- FROM
- [BetInfo]
- WHERE
- BetTime BETWEEN @BeginTime AND @CurrTime AND UserID = @UserID AND BetZone = @BetZone
- UNION ALL
- SELECT
- GameID, BetAmount, BetTime, ResultAmount, Tax, Status, BetZone, ResultZone
- FROM
- [BetInfoHistory]
- WHERE
- BetTime BETWEEN @BeginTime AND @CurrTime AND UserID = @UserID AND BetZone = @BetZone
- END
- ELSE
- BEGIN
- --初始化表变量
- INSERT INTO @tmptable
- (
- GameID, BetAmount, BetTime, ResultAmount, Tax, Status, BetZone, ResultZone
- )
- SELECT
- GameID, BetAmount, BetTime, ResultAmount, Tax, Status, BetZone, ResultZone
- FROM
- [Bet]
- WHERE
- BetTime BETWEEN @BeginTime AND @CurrTime AND UserID = @UserID
- UNION ALL
- SELECT
- GameID, BetAmount, BetTime, ResultAmount, Tax, Status, BetZone, ResultZone
- FROM
- [BetInfo]
- WHERE
- BetTime BETWEEN @BeginTime AND @CurrTime AND UserID = @UserID
- UNION ALL
- SELECT
- GameID, BetAmount, BetTime, ResultAmount, Tax, Status, BetZone, ResultZone
- FROM
- [BetInfoHistory]
- WHERE
- BetTime BETWEEN @BeginTime AND @CurrTime AND UserID = @UserID
- END
- END
- --记录数
- SET @RecordCount = @@ROWCOUNT
- --总投注额、总结算金额
- SELECT
- @TotalBetAmount = SUM(BetAmount), @TotalResultAmount = SUM(ResultAmount),
- @TotalWinAmount = SUM(ResultAmount - BetAmount)
- FROM
- @tmptable
- SET @TotalBetAmount = ISNULL(@TotalBetAmount, 0)
- SET @TotalResultAmount = ISNULL(@TotalResultAmount, 0)
- SET @TotalWinAmount = ISNULL(@TotalWinAmount, 0)
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY BetTime DESC) AS RowNumber,
- GameID, BetAmount, BetTime, ResultAmount, Tax, Status, BetZone, ResultZone
- FROM
- @tmptable
- )
- --返回信息
- SELECT
- g.ChineseName, l.BetAmount, CONVERT(VARCHAR(16), l.BetTime, 120) AS BetTime,
- l.ResultAmount, l.Tax, l.Status, (l.ResultAmount - l.BetAmount) AS WinAmount,
- g.EnglishName, l.BetZone, l.ResultZone
- FROM
- [List] l INNER JOIN [AllGame] g ON l.GameID = g.GameID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Cash_AddTransferLog] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Cash_AddTransferLog]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-06-28
- -- Mendor: wolf
- -- Alter Date: 2023-06-28
- -- Description: 添加赠送记录
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Cash_AddTransferLog]
- @UserID INT, --转账方ID
- @NickName NVARCHAR(32), --转账方昵称
- @AcceptUserID INT, --接收方ID
- @AcceptNickName NVARCHAR(32), --接收方昵称
- @WantAmount BIGINT, --要转多少金币,保证为正数
- @TaxAmount BIGINT, --税
- @IPAddress VARCHAR(15) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- --转账日志
- INSERT INTO [TransferLog]
- (
- [UserID], [NickName],[CurrAmount],[WantAmount], [StillAmount],
- [AcceptUserID], [AcceptNickName], [AcceptCurrAmount], [AcceptWantAmount], [AcceptStillAmount],
- [TaxAmount], [IPAddress], [Memo], [Crdate]
- )
- VALUES
- (
- @UserID, @NickName, 0, -@WantAmount, 0,
- @AcceptUserID, @AcceptNickName, 0, @WantAmount, 0,
- @TaxAmount, @IPAddress, '', GETDATE()
- )
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Cash_GetLog] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Cash_GetLog]
- -- ==============================================
- -- Author: Lincoln
- -- Create Date: 2018-03-20
- -- Mendor: Lincoln
- -- Alter Date: 2018-03-20
- -- Description: 现金日志
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Cash_GetLog]
- @UserID INT, --用户ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
- DECLARE @tmptable TABLE(
- LogID INT NOT NULL, --日志ID
- GameID INT NOT NULL, --游戏ID
- SourceName NVARCHAR(32) NOT NULL, --源名称
- ModifyAmount BIGINT NOT NULL, --修改数量
- StillAmount BIGINT NOT NULL, --剩余数量
- Crdate DATETIME NOT NULL, --时间
- LogType INT NOT NULL --日志类型
- )
- SET @RecordCount = 0
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- SET @EndTime = CONVERT(CHAR(11), @EndTime, 120) + '23:59:59'
- --初始化表变量
- INSERT INTO @tmptable
- (
- LogID, GameID, SourceName, ModifyAmount, StillAmount, Crdate, LogType
- )
- SELECT
- LogID, GameID, SourceName, ModifyAmount, StillAmount, Crdate, LogType
- FROM
- [MoneyLog]
- WHERE
- Crdate >= @BeginTime AND Crdate <= @EndTime AND UserID = @UserID AND MoneyType = 'CASH' AND ModifyAmount != 0
- UNION ALL
- SELECT
- LogID, GameID, SourceName, ModifyAmount, StillAmount, Crdate, LogType
- FROM
- [MoneyLog_bak]
- WHERE
- Crdate >= @BeginTime AND Crdate <= @EndTime AND UserID = @UserID AND MoneyType = 'CASH' AND ModifyAmount != 0
- --记录数
- SET @RecordCount = @@ROWCOUNT
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY LogID DESC) AS RowNumber,
- LogID, GameID, SourceName, ModifyAmount, StillAmount, Crdate, LogType
- FROM
- @tmptable
- )
- --返回信息
- SELECT
- CASE
- WHEN l.GameID = 11 THEN g.ChineseName
- WHEN l.GameID < 20 THEN l.SourceName
- ELSE g.ChineseName
- END AS ChineseName,
- l.ModifyAmount, l.StillAmount, l.Crdate
- FROM
- [List] l INNER JOIN [AllGame] g ON l.GameID = g.GameID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_CasinoOnline_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_CasinoOnline_GetInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-03-16
- -- Mendor: wolf
- -- Alter Date: 2016-04-19
- -- Description: 获取金币锁房间信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_CasinoOnline_GetInfo]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @GameID INT --游戏ID
- DECLARE @ServerName NVARCHAR(32) --服务器名称
-
- SET @GameID = 0
- SET @ServerName = ''
-
- SELECT @GameID = GameID, @ServerName = ServerName FROM [CasinoOnline] WHERE UserID = @UserID
-
- --返回信息
- SELECT @GameID AS GameID, @ServerName AS ServerName
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Chip_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Chip_GetInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-02
- -- Mendor: wolf
- -- Alter Date: 2014-12-10
- -- Description: 获取筹码
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Chip_GetInfo]
- @UserID INT, --用户ID
- @Gold BIGINT OUTPUT, --金币数
- @Bank BIGINT OUTPUT --保险柜
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SET @Gold = 0
- SET @Bank = 0
-
- --金币
- EXEC [Game_Chip_GetInfo] @userid = @UserID, @Amount = @Gold OUTPUT, @Bank = @Bank OUTPUT
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Chip_GetLog] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Chip_GetLog]
- -- ==============================================
- -- Author: Lincoln
- -- Create Date: 2018-03-20
- -- Mendor: Lincoln
- -- Alter Date: 2018-03-20
- -- Description: 筹码日志
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Chip_GetLog]
- @UserID INT, --用户ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
- DECLARE @tmptable TABLE(
- LogID INT NOT NULL, --日志ID
- GameID INT NOT NULL, --游戏ID
- SourceName NVARCHAR(32) NOT NULL, --源名称
- ModifyAmount BIGINT NOT NULL, --修改数量
- StillAmount BIGINT NOT NULL, --剩余数量
- Crdate DATETIME NOT NULL, --时间
- LogType INT NOT NULL --日志类型
- )
- SET @RecordCount = 0
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- SET @EndTime = CONVERT(CHAR(11), @EndTime, 120) + '23:59:59'
- --初始化表变量
- INSERT INTO @tmptable
- (
- LogID, GameID, SourceName, ModifyAmount, StillAmount, Crdate, LogType
- )
- SELECT
- LogID, GameID, SourceName, ModifyAmount, StillAmount, Crdate, LogType
- FROM
- [ChipLog]
- WHERE
- Crdate >= @BeginTime AND Crdate <= @EndTime AND UserID = @UserID AND MoneyType = 'CASH' AND ModifyAmount != 0
- UNION ALL
- SELECT
- LogID, GameID, SourceName, ModifyAmount, StillAmount, Crdate, LogType
- FROM
- [ChipLog_bak]
- WHERE
- Crdate >= @BeginTime AND Crdate <= @EndTime AND UserID = @UserID AND MoneyType = 'CASH' AND ModifyAmount != 0
- --记录数
- SET @RecordCount = @@ROWCOUNT
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY LogID DESC) AS RowNumber,
- LogID, GameID, SourceName, ModifyAmount, StillAmount, Crdate, LogType
- FROM
- @tmptable
- )
- --返回信息
- SELECT
- CASE
- WHEN l.GameID = 11 THEN g.ChineseName
- WHEN l.GameID < 20 THEN l.SourceName
- ELSE g.ChineseName
- END AS ChineseName,
- l.ModifyAmount, l.StillAmount, l.Crdate
- FROM
- [List] l INNER JOIN [AllGame] g ON l.GameID = g.GameID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Chip_Give] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RetCode TINYINT
- -- EXEC [WS_Chip_Give]
- -- @UserID = 10001,
- -- @SourceName = '',
- -- @Amount = 100,
- -- @LogType = 1,
- -- @IPAddress = '',
- -- @RetCode = @RetCode OUTPUT
- -- SELECT @RetCode AS RetCode
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-03
- -- Mendor: wolf
- -- Alter Date: 2014-09-04
- -- Description: 加筹码接口(供其他接口调用)
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Chip_Give]
- @UserID INT, --用户ID
- @Amount BIGINT, --金币数
- @LogType INT, --日志类型
- @SourceName NVARCHAR(64), --源名称
- @Remark NVARCHAR(128), --备注
- @IPAddress VARCHAR(16), --IP地址
- @RetCode TINYINT OUTPUT --操作结果
- --操作结果描述: 1=操作成功 11=传入参数错误
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- SET @RetCode = 0
- --加筹码
- EXEC [Game_Chip_Give] @UserID = @UserID, @SourceName = @SourceName, @GameID = 0, @WantedAmount = @Amount,
- @LogType = @LogType, @Remark = @Remark, @IPAddress = @IPAddress, @RetCode = @RetCode OUTPUT
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Chip_Reduce] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Chip_Reduce]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-03
- -- Mendor: wolf
- -- Alter Date: 2014-12-02
- -- Description: 扣除金币接口(供其他接口调用)
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Chip_Reduce]
- @UserID INT, --用户ID
- @Amount BIGINT, --操作金币(必须>0)
- @LogType INT, --日志类型
- @SourceName VARCHAR(64), --源名称
- @Remark VARCHAR(128), --备注
- @IPAddress VARCHAR(16), --IP地址
- @RetCode TINYINT OUTPUT --操作结果
- --操作结果描述:1=操作成功 11=金币不足 12=参数异常 21=金币锁
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- SET @RetCode = 0
-
- --扣减(检查泥码)
- EXEC [Game_Chip_Reduce] @UserID = @UserID, @WantedAmount = @Amount, @LogType = @LogType,
- @SourceName = @SourceName, @GameID = 0, @Remark = @Remark, @IPAddress = @IPAddress,
- @RetCode = @RetCode OUTPUT
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_CouponTask_AwardTask] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_CouponTask_AwardTask]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 券任务领奖
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_CouponTask_AwardTask]
- @UserTaskID INT, --用户任务ID
- @UserID INT, --用户ID
- @Status TINYINT --状态(1=领取 2=领取多倍)
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT --操作结果
- DECLARE @GiftStatus TINYINT --状态(0=进行中 1=已领取 2=已领取多倍)
-
- SET @RetCode = 0
- SET @GiftStatus = 0
-
- --参数异常
- IF(@Status IS NULL OR @Status NOT IN (1, 2))
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --获取信息
- SELECT
- @GiftStatus = GiftStatus
- FROM
- [UserCouponTask]
- WHERE
- UserTaskID = @UserTaskID AND UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --都已经领取过了
- IF(@GiftStatus = 2)
- BEGIN
- SET @RetCode = 12
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --领取单次
- IF(@Status = 1 AND @GiftStatus = 1)
- BEGIN
- SET @RetCode = 13
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --领取多次
- IF(@Status = 2 AND @GiftStatus = 2)
- BEGIN
- SET @RetCode = 14
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --修改状态
- UPDATE
- [UserCouponTask]
- SET
- GiftStatus = CASE
- WHEN @Status = 1 THEN 1 --普通领取
- WHEN @Status = 2 THEN 2 --多倍领取
- END
- WHERE
- UserTaskID = @UserTaskID
-
- --操作成功
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_CouponTask_GetSwitchInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_CouponTask_GetSwitchInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 券系统任务开关
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_CouponTask_GetSwitchInfo]
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT IsCouponTask FROM [PlatformConfig] WHERE ConfigID = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_CouponTask_GetSysList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_CouponTask_GetSysList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 券系统任务
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_CouponTask_GetSysList]
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- TaskID, GameID, BaseScore, Players, DoubleType, Coupons
- FROM
- [CouponTask]
- ORDER BY
- TaskID ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_CouponTask_GetTaskList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_CouponTask_GetTaskList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 券任务列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_CouponTask_GetTaskList]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT TOP 50
- UserTaskID, GameID, BaseScore, GameCount, Coupons, GiftStatus,
- CONVERT(VARCHAR(16), Crdate, 120) AS Crdate
- FROM
- [UserCouponTask]
- WHERE
- Crdate >= GETDATE() - 5 AND UserID = @UserID
- ORDER BY
- UserTaskID DESC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_CouponTask_GetUserInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_CouponTask_GetUserInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 券任务信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_CouponTask_GetUserInfo]
- @UserID INT
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @IMei VARCHAR(64)
- DECLARE @deviceid VARCHAR(64)
- DECLARE @IsFacebook TINYINT --是否Facebook账户
- SET @IsFacebook = 0
- --获取用户信息
- SELECT @IMei = IMei, @deviceid = deviceid FROM [AllUser] WHERE UserID = @UserID
-
- --判断是否是google账号
- IF(LEFT(@IMei, 3) = 'fb.' OR LEFT(@deviceid, 3) = 'fb.' OR LEFT(@IMei, 3) = 'gg.' OR LEFT(@deviceid, 3) = 'gg.')
- BEGIN
- SET @IsFacebook = 1
- END
- --还没有数据
- IF NOT EXISTS(SELECT UserID FROM [UserCouponInfo] WHERE UserID = @UserID)
- BEGIN
- INSERT INTO [UserCouponInfo]
- (
- UserID, TodayCount, BaseLimit, PlayTimes, TmpAdd, UpdateTime
- )
- VALUES
- (
- @UserID, 0, 1000, 0, 0, GETDATE()
- )
- END
-
- --返回信息
- SELECT
- TodayCount, BaseLimit, TmpAdd, PlayTimes,
- dbo.fn_TimeToStamp(UpdateTime) AS UpdateTime,
- @IsFacebook AS IsFacebook
- FROM
- [UserCouponInfo]
- WHERE
- UserID = @UserID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_CouponTask_GetVideoConfig] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_CouponTask_GetVideoConfig]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 券广告播放配置
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_CouponTask_GetVideoConfig]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- PlayTimes, CouponLimit
- FROM
- [CouponVideoConfig]
- ORDER BY
- PlayTimes ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_CouponTask_InsertTask] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_CouponTask_InsertTask]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 券任务新增
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_CouponTask_InsertTask]
- @UserID INT, --用户ID
- @GameID INT, --游戏ID
- @BaseScore INT, --底分
- @GameCount SMALLINT, --游戏局数(1~3局)
- @Coupons INT, --券数量
- @GiftStatus TINYINT --状态(0=进行中 1=完成,可领取 2=已领取 3=已领取多倍)
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @UserTaskID INT --用户任务ID
- SET @UserTaskID = 0
- --新增
- INSERT INTO [UserCouponTask]
- (
- UserID, GameID, BaseScore, GameCount, Coupons, GiftStatus, Crdate
- )
- VALUES
- (
- @UserID, @GameID, @BaseScore, @GameCount, @Coupons, @GiftStatus, GETDATE()
- )
-
- SET @UserTaskID = SCOPE_IDENTITY()
-
- --返回
- SELECT @UserTaskID AS UserTaskID
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_CouponTask_Reset] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_CouponTask_Reset]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 券任务信息跨天重置
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_CouponTask_Reset]
- @UserID INT, --用户ID
- @TodayCount INT, --今天券数量
- @TmpAdd INT, --临时加成
- @PlayTimes INT, --观看次数
- @UpdateTime INT --时间戳
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- UPDATE
- [UserCouponInfo]
- SET
- TodayCount = @TodayCount, TmpAdd = @TmpAdd, PlayTimes = @PlayTimes,
- UpdateTime = dbo.fn_StampToTime(@UpdateTime)
- WHERE
- UserID = @UserID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_CouponTask_UpdateInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_CouponTask_UpdateInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 券任务信息修改
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_CouponTask_UpdateInfo]
- @UserID INT, --用户ID
- @TodayCount INT, --今天券数量
- @UpdateTime INT --时间戳
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- UPDATE
- [UserCouponInfo]
- SET
- TodayCount = @TodayCount, UpdateTime = dbo.fn_StampToTime(@UpdateTime)
- WHERE
- UserID = @UserID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_CouponTask_UpdateLimit] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_CouponTask_UpdateLimit]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 券任务上限修改
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_CouponTask_UpdateLimit]
- @UserID INT, --用户ID
- @BaseLimit INT, --基础上限
- @PlayTimes INT, --播放次数
- @TmpAdd INT --临时加成
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --修改信息
- UPDATE
- [UserCouponInfo]
- SET
- BaseLimit = @BaseLimit, PlayTimes = @PlayTimes, TmpAdd = @TmpAdd
- WHERE
- UserID = @UserID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_CouponTask_UpdateTask] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_CouponTask_UpdateTask]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 券任务更新
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_CouponTask_UpdateTask]
- @UserID INT, --用户ID
- @UserTaskID INT, --用户任务ID
- @GameCount SMALLINT, --游戏局数(1~3局)
- @Coupons INT --券数量
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- UPDATE
- [UserCouponTask]
- SET
- GameCount = @GameCount, Coupons = @Coupons
- WHERE
- UserTaskID = @UserTaskID AND UserID = @UserID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Exchange_GetHistory] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Exchange_GetHistory]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 兑换历史
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Exchange_GetHistory]
- @UserID INT, --用户ID
- @ExchangeID INT, --兑换ID
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- DECLARE @tmptable TABLE(
- ExchangeID INT NOT NULL, --兑换ID
- ExchangeType INT NOT NULL, --兑换类型(1=奖券兑换金币 2=代理兑换元宝 3=代理兑换电话卡 4=代理兑换RP)
- Price INT NOT NULL, --价格
- Items VARCHAR(128) NOT NULL, --物品
- Remark NVARCHAR(1024) NOT NULL, --备注
- Status TINYINT NOT NULL, --状态(0=待发货 1=已发货)
- Crdate DATETIME NOT NULL --时间
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- --获取某个兑换
- IF(@ExchangeID > 0)
- BEGIN
- --初始化
- INSERT INTO @tmptable(ExchangeID, ExchangeType, Price, Items, Remark, Status, Crdate)
- SELECT
- ExchangeID, ExchangeType, Price, Items, Remark, Status, Crdate
- FROM
- [ExchangeHistory]
- WHERE
- UserID = @UserID AND ExchangeID = @ExchangeID
- END
-
- --获取所有兑换
- ELSE
- BEGIN
- --初始化
- INSERT INTO @tmptable(ExchangeID, ExchangeType, Price, Items, Remark, Status, Crdate)
- SELECT
- ExchangeID, ExchangeType, Price, Items, Remark, Status, Crdate
- FROM
- [ExchangeHistory]
- WHERE
- UserID = @UserID
- END
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Crdate DESC) AS RowNumber,
- ExchangeID, ExchangeType, Price, Items, Remark, Status, Crdate
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- ExchangeID, ExchangeType, Price, Items, Remark, Status, CONVERT(VARCHAR(16), Crdate, 120) AS Crdate
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Exchange_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Exchange_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 兑换列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Exchange_GetList]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- Id, ExchangeType, LeftCount, LimitOnce, VipNeed, Price, Items, Memo, VipShow, GameCountShow
- FROM
- [Exchange]
- ORDER BY
- Id ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Exchange_Update] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Exchange_Update]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 更新兑换数值
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Exchange_Update]
- @ExchangeID INT, --兑换ID
- @LeftCount INT, --剩余数量,如果小于0,则表示缺货
- @RetCode TINYINT OUTPUT --操作结果
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SET @RetCode = 0
- --更新兑换剩余数量
- UPDATE [Exchange] SET LeftCount = @LeftCount WHERE ID = @ExchangeID AND LeftCount >= @LeftCount
-
- IF(@@ROWCOUNT > 0)
- BEGIN
- SET @RetCode = 1
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Exchange_UserExchange] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Exchange_UserExchange]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 用户兑换
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Exchange_UserExchange]
- @UserID INT, --用户ID
- @ExchangeID INT, --兑换ID
- @ExchangeType INT, --兑换类型(1=奖券 2=代理收益)
- @Price DECIMAL(18, 2), --价格
- @Items VARCHAR(128), --物品
- @Remark NVARCHAR(1024), --备注
- @Status TINYINT, --状态(0=待发货 1=已发货)
- @RetCode TINYINT OUTPUT --操作结果
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --添加兑换历史
- INSERT INTO [ExchangeHistory]
- (
- UserID, ExchangeID, ExchangeType, Price, Items, Remark, Status, Crdate
- )
- VALUES
- (
- @UserID, @ExchangeID, @ExchangeType, @Price, @Items, @Remark, @Status, GETDATE()
- )
-
- --兑换成功
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_ExchangeCard_Use] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_ExchangeCard_Use]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 充值卡使用
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_ExchangeCard_Use]
- @UserID INT, --用户ID
- @CardNo VARCHAR(32) --卡号
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --系统时间
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @RetCode TINYINT --操作结果
- DECLARE @PerDays INT --每天(0=无限制 1=每1天)
- DECLARE @UseTimes BIGINT --可使用次数
- DECLARE @OpenTime DATETIME --开始时间
- DECLARE @ExpireTime DATETIME --过期时间
- DECLARE @Items VARCHAR(128) --物品
- DECLARE @ErrorTimes INT --错误次数
- DECLARE @ErrorTime DATETIME --错误时间
- DECLARE @CoolSeconds INT --冷却时长
- DECLARE @Minutes INT --分钟
-
- SET @RetCode = 0
- SET @ErrorTimes = 0
- SET @CoolSeconds = 0
- SET @CurrTime = GETDATE()
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
- SET @Minutes = 5
- SET @Items = ''
-
- --获取充值卡日志
- SELECT
- @ErrorTimes = ErrorTimes, @ErrorTime = Crdate
- FROM
- [CardErrorLog]
- WHERE
- UserID = @UserID
-
- --初始化数据
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [CardErrorLog](UserID, ErrorTimes, Crdate) VALUES(@UserID, 0, @CurrTime)
- END
-
- --每5秒仅能输入1次兑换码
- IF(@ErrorTime >= DATEADD(SECOND, -5, @CurrTime))
- BEGIN
- SET @RetCode = 12
- SELECT @RetCode AS RetCode, @Items AS Items, @CoolSeconds AS CoolSeconds
- RETURN
- END
-
- --当5分钟内连续输错10次兑换码时,禁止使用此功能5分钟
- IF(@ErrorTime >= DATEADD(MINUTE, -@Minutes, @CurrTime) AND @ErrorTimes >= 10)
- BEGIN
- SET @RetCode = 13
- --计算冷却时间
- SET @CoolSeconds = DATEDIFF(SECOND, @CurrTime, DATEADD(MINUTE, @Minutes, @ErrorTime))
- SELECT @RetCode AS RetCode, @Items AS Items, @CoolSeconds AS CoolSeconds
- RETURN
- END
-
- --兑换卡信息
- SELECT
- @PerDays = PerDays, @UseTimes = UseTimes, @OpenTime = OpenTime,
- @ExpireTime = ExpireTime, @Items = Items
- FROM
- [ExchangeCard]
- WHERE
- CardNo = @CardNo
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- --超过5分钟
- IF(@ErrorTime < DATEADD(MINUTE, -@Minutes, @CurrTime))
- BEGIN
- SET @ErrorTimes = 0
- END
-
- --错误次数+1
- UPDATE
- [CardErrorLog]
- SET
- ErrorTimes = @ErrorTimes + 1, Crdate = @CurrTime
- WHERE
- UserID = @UserID
-
- SET @RetCode = 11
- SELECT @RetCode AS RetCode, @Items AS Items, @CoolSeconds AS CoolSeconds
- RETURN
- END
-
- --还没到开放时间
- IF(@OpenTime > @CurrTime)
- BEGIN
- SET @RetCode = 14
- SELECT @RetCode AS RetCode, @Items AS Items, @CoolSeconds AS CoolSeconds
- RETURN
- END
-
- --判断是否过期
- IF(@ExpireTime < @CurrTime)
- BEGIN
- SET @RetCode = 15
- SELECT @RetCode AS RetCode, @Items AS Items, @CoolSeconds AS CoolSeconds
- RETURN
- END
-
- --判断是否还可以使用
- IF(@UseTimes <= 0)
- BEGIN
- SET @RetCode = 16
- SELECT @RetCode AS RetCode, @Items AS Items, @CoolSeconds AS CoolSeconds
- RETURN
- END
-
- --判断当前时间段是否已经领取过
- IF EXISTS(SELECT UserID FROM [ExchangeCardLog] WHERE UserID = @UserID AND CardNo = @CardNo AND Crdate >= @DateFlag - @PerDays)
- BEGIN
- SET @RetCode = 17
- SELECT @RetCode AS RetCode, @Items AS Items, @CoolSeconds AS CoolSeconds
- RETURN
- END
-
- --兑换卡使用记录
- INSERT INTO [ExchangeCardLog](UserID, CardNo, Crdate) VALUES(@UserID, @CardNo, @CurrTime)
-
- --充值卡使用记录
- UPDATE [CardErrorLog] SET ErrorTimes = 0, Crdate = @CurrTime WHERE UserID = @UserID
-
- --可使用次数-1
- UPDATE [ExchangeCard] SET UseTimes = UseTimes - 1 WHERE CardNo = @CardNo AND UseTimes > 0
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 16
- SELECT @RetCode AS RetCode, @Items AS Items, @CoolSeconds AS CoolSeconds
- RETURN
- END
-
- --使用成功
- SET @RetCode = 1
- SELECT @RetCode AS RetCode, @Items AS Items, @CoolSeconds AS CoolSeconds
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Feedback_Send] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Feedback_Send]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-17
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 反馈
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Feedback_Send]
- @EMail NVARCHAR(64), --邮箱
- @ToUserID INT, --用户ID
- @Msg NVARCHAR(512), --消息
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT
- SET @RetCode = 1
-
- --添加
- INSERT INTO [Feedback]
- (
- EMail, ToUserID, Msg, Status, OpUserID, OpUserName, IPAddress, Crdate
- )
- VALUES
- (
- @EMail, @ToUserID, @Msg, 0, -1, '', @IPAddress, GETDATE()
- )
-
- --返回
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_GameFreeChip_AddRecord] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_GameFreeChip_AddRecord]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 添加用户游戏免费筹码记录
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_GameFreeChip_AddRecord]
- @UserID INT, --用户ID
- @GameID INT, --游戏ID
- @FaceValue INT, --面值
- @Amount INT --数量
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- INSERT INTO [UserGameFreeChipLog]
- (
- UserID, GameID, FaceValue, Amount, Crdate
- )
- VALUES
- (
- @UserID, @GameID, @FaceValue, @Amount, GETDATE()
- )
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_GameInventory_AddRecord] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_GameInventory_AddRecord]
- -- @GameID = 37
- -- @RoomName = ''
- -- @InventoryValue = 0
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-08-18
- -- Mendor: wolf
- -- Alter Date: 2023-08-18
- -- Description: 添加游戏库存记录
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_GameInventory_AddRecord]
- @GameID INT, --游戏ID
- @RoomName NVARCHAR(64), --房间名称
- @RoomType INT, --房间类型(1.普通房间,2.加倍场,3.快速场)
- @InventoryValue BIGINT, --库存值
- @TaxAmount BIGINT = 0, --台费
- @SysRecover BIGINT = 0
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --添加游戏库存记录
- INSERT INTO [GameInventoryRecord]
- (
- GameID, RoomName, RoomType, InventoryValue, Crdate
- )
- VALUES
- (
- @GameID, @RoomName, @RoomType, @InventoryValue, GETDATE()
- )
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_GameInventory_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_GameInventory_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-06-29
- -- Mendor: wolf
- -- Alter Date: 2017-03-08
- -- Description: 获取游戏库存列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_GameInventory_GetList]
- @GameID INT --游戏ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- IF(@GameID > 0)
- BEGIN
- --返回信息
- SELECT
- GameID, RoomName, RoomType, InventoryValue, ControlRate,
- MinInventoryValue, MaxInventoryValue, MaxControlRate
- FROM
- [GameInventory]
- WHERE
- GameID = @GameID
- ORDER BY
- Rid ASC
-
- RETURN
- END
-
- --返回信息
- SELECT
- GameID, RoomName, RoomType, InventoryValue, ControlRate,
- MinInventoryValue, MaxInventoryValue, MaxControlRate
- FROM
- [GameInventory]
- ORDER BY
- Rid ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_GameInventory_Update] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_GameInventory_Update]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-06-29
- -- Mendor: wolf
- -- Alter Date: 2017-03-08
- -- Description: 更新或者修改单个库存
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_GameInventory_Update]
- @GameID INT, --游戏ID
- @RoomName NVARCHAR(32), --场次名称
- @RoomType INT, --房间类型(1.普通房间,2.加倍场,3.快速场)
- @InventoryValue BIGINT, --实时库存值
- @ControlRate DECIMAL(10, 2), --实时控制率
- @MinInventoryValue BIGINT, --库存取值下限
- @MaxInventoryValue BIGINT, --库存取值上限
- @MaxControlRate INT --最高控制概率
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @StartInventoryValue BIGINT
-
- SET @DateFlag = CONVERT(CHAR(10), GETDATE(), 120)
-
- --库存统计
- UPDATE
- [GameInventoryTotal]
- SET
- InventoryValue = @InventoryValue
- WHERE
- DateFlag = @DateFlag AND GameID = @GameID AND RoomName = @RoomName AND RoomType = @RoomType
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- --获取前值
- SELECT
- @StartInventoryValue = InventoryValue
- FROM
- [GameInventory]
- WHERE
- GameID = @GameID AND RoomName = @RoomName AND RoomType = @RoomType
-
- --初始化游戏库存统计
- INSERT INTO [GameInventoryTotal]
- (
- DateFlag, GameID, RoomName, RoomType, StartInventoryValue, InventoryValue
- )
- VALUES
- (
- @DateFlag, @GameID, @RoomName, @RoomType, ISNULL(@StartInventoryValue, 0), @InventoryValue
- )
- END
- --更新实时数据
- UPDATE
- [GameInventory]
- SET
- InventoryValue = @InventoryValue, ControlRate = @ControlRate,
- MinInventoryValue = @MinInventoryValue, MaxInventoryValue = @MaxInventoryValue,
- MaxControlRate = @MaxControlRate
- WHERE
- GameID = @GameID AND RoomName = @RoomName AND RoomType = @RoomType
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [GameInventory]
- (
- GameID, RoomName, InventoryValue, ControlRate,
- MinInventoryValue, MaxInventoryValue, MaxControlRate, RoomType
- )
- VALUES
- (
- @GameID, @RoomName, @InventoryValue, @ControlRate,
- @MinInventoryValue, @MaxInventoryValue, @MaxControlRate, @RoomType
- )
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_GiftCard_Gen] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_GiftCard_Gen]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 生成礼品卡
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_GiftCard_Gen]
- @UserID INT, --用户ID
- @ItemID INT, --道具ID
- @Key VARCHAR(16) --兑换码
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- INSERT INTO [GiftCard]
- (
- UserID, ItemID, [Key], ActivateTime, OperateStatus, Crdate
- )
- VALUES
- (
- @UserID, @ItemID, @Key, 0, 0, GETDATE()
- )
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_GiftCard_GetHistory] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_GiftCard_GetHistory]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 获取使用记录
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_GiftCard_GetHistory]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT TOP 100
- ItemID, [Key], ActivateTime, OperateStatus
- FROM
- [GiftCard]
- WHERE
- Crdate > GETDATE() - 30 AND UserID = @UserID AND ActivateTime > 0
- ORDER BY
- ActivateTime DESC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_GiftCard_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_GiftCard_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 获取礼品卡列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_GiftCard_GetList]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT TOP 100
- ItemID, [Key], CONVERT(CHAR(16), dbo.fn_TimeToStamp(ActivateTime), 120) AS ActivateTime, OperateStatus
- FROM
- [GiftCard]
- WHERE
- UserID = @UserID AND ActivateTime > 0
- ORDER BY
- ActivateTime DESC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_GiftCard_Use] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_GiftCard_Use]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 使用礼品卡
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_GiftCard_Use]
- @UserID INT, --用户ID
- @ItemID INT --道具ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Rid INT --标识
- DECLARE @Key VARCHAR(16) --兑换码
-
- SET @Rid = 0
- SET @Key = ''
-
- --获取最新未激活
- SELECT TOP 1
- @Rid = Rid, @Key = [Key]
- FROM
- [GiftCard]
- WHERE
- UserID = @UserID AND ItemID = @ItemID AND ActivateTime = 0
- ORDER BY
- Rid DESC
-
- --激活
- IF(@@ROWCOUNT > 0)
- BEGIN
- UPDATE
- [GiftCard]
- SET
- ActivateTime = dbo.fn_TimeToStamp(GETDATE())
- WHERE
- Rid = @Rid
- END
-
- --返回信息
- SELECT @Rid AS Rid, @Key AS [Key]
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_GiftPack_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_GiftPack_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 礼包列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_GiftPack_GetList]
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- GiftPackId, PackName, Price, Limit, Items, Type, Duration, [Group], GroupIndex, ProductID
- FROM
- [GiftPack]
- ORDER BY
- GiftPackId ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_GiftService_AddUserGift] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_GiftService_AddUserGift]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 添加用户礼物记录
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_GiftService_AddUserGift]
- @Sender INT, --发送方
- @Receiver INT, --接收方
- @GiftID INT, --礼物ID
- @SendTime INT, --发送时间
- @Items VARCHAR(128), --物品信息
- @GiftType TINYINT = 0 --礼物类型
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Rid INT
-
- SET @Rid = 0
-
- INSERT INTO [UserGift]
- (
- Sender, Receiver, GiftID, GiftType, SendTime, ClaimTime, Items
- )
- VALUES
- (
- @Sender, @Receiver, @GiftID, @GiftType, @SendTime, 0, @Items
- )
-
- SET @Rid = SCOPE_IDENTITY()
-
- SELECT @Rid AS Rid
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_GiftService_ClaimUserGift] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_GiftService_ClaimUserGift]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 领取礼物
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_GiftService_ClaimUserGift]
- @UserID INT, --用户ID
- @Rid INT, --流水号
- @ClaimTime INT --领取时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Items VARCHAR(128)
-
- SET @Items = ''
-
- UPDATE
- [UserGift]
- SET
- ClaimTime = @ClaimTime, @Items = Items
- WHERE
- Receiver = @UserID AND Rid = @Rid AND ClaimTime <= 0
-
- --返回信息
- SELECT @Items AS Items
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_GiftService_GetClaimRecord] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_GiftService_GetClaimRecord]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 领取礼物记录
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_GiftService_GetClaimRecord]
- @UserID INT, --用户ID
- @GiftType TINYINT, --礼物类型
- @Count INT --数量
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT TOP (@Count)
- GiftID, Items
- FROM
- [UserGift]
- WHERE
- Receiver = @UserID AND GiftType = @GiftType
- ORDER BY
- ClaimTime DESC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_GiftService_GetUnclaimed] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_GiftService_GetUnclaimed]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 礼物未领取
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_GiftService_GetUnclaimed]
- @UserID INT
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- Rid, Sender, Receiver, GiftId, SendTime, ClaimTime, Items
- FROM
- [UserGift]
- WHERE
- Receiver = @UserID AND ClaimTime = 0
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_GrowthPack_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_GrowthPack_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-02
- -- Mendor: wolf
- -- Alter Date: 2014-12-10
- -- Description: 系统成长礼包
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_GrowthPack_GetList]
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- GrowthPackID, PackName, Price, Terms, ProductID
- FROM
- [GrowthPack]
- ORDER BY
- GrowthPackID ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Guess_AddBetRecord] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Guess_AddBetRecord]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-06-28
- -- Mendor: wolf
- -- Alter Date: 2023-06-28
- -- Description: 添加投注记录
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Guess_AddBetRecord]
- @UserID INT, --用户ID
- @SerialNumber VARCHAR(32), --流水号
- @BetID INT, --投注ID
- @BetAmount INT --投注金额
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --添加投注记录
- INSERT INTO [BetRecord]
- (
- UserID, SerialNumber, BetID, BetAmount, BetTime, ResultAmount
- )
- VALUES
- (
- @UserID, @SerialNumber, @BetID, @BetAmount, GETDATE(), 0
- )
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Guess_GetBetRecordList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Guess_GetBetRecordList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-06-28
- -- Mendor: wolf
- -- Alter Date: 2023-06-28
- -- Description: 获取赛事投注记录
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Guess_GetBetRecordList]
- @SerialNumber VARCHAR(32), --流水号
- @BetID INT --投注ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- Rid, UserID AS UserId, BetAmount
- FROM
- [BetRecord]
- WHERE
- SerialNumber = @SerialNumber AND BetID = @BetID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Guess_GetBetSettleList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Guess_GetBetSettleList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-06-28
- -- Mendor: wolf
- -- Alter Date: 2023-06-28
- -- Description: 获取赛事投注结算列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Guess_GetBetSettleList]
- @SerialNumber VARCHAR(32), --流水号
- @BetID INT --投注ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- Rid, UserID AS UserId, BetAmount, ResultAmount
- FROM
- [BetRecord]
- WHERE
- SerialNumber = @SerialNumber AND BetID = @BetID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Guess_GetMatchBetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Guess_GetMatchBetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-06-28
- -- Mendor: wolf
- -- Alter Date: 2023-06-28
- -- Description: 竞猜赛事投注列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Guess_GetMatchBetList]
- @SerialNumber VARCHAR(32) --流水号
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- BetId, BetName, BetOdds, BetAmount, IsWin
- FROM
- [MatchBet]
- WHERE
- SerialNumber = @SerialNumber
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Guess_GetMatchInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Guess_GetMatchInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-06-28
- -- Mendor: wolf
- -- Alter Date: 2023-06-28
- -- Description: 竞猜赛事信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Guess_GetMatchInfo]
- @SerialNumber VARCHAR(32) --流水号
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- SerialNumber, Title, Status, Result, dbo.fn_TimeToStamp(StartAt) AS StartAt, dbo.fn_TimeToStamp(EndAt) AS EndAt,
- dbo.fn_TimeToStamp(ShowStartAt) AS ShowStartAt, dbo.fn_TimeToStamp(ShowEndAt) AS ShowEndAt
- FROM
- [Match]
- WHERE
- SerialNumber = @SerialNumber
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Guess_GetMatchList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Guess_GetMatchList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-06-28
- -- Mendor: wolf
- -- Alter Date: 2023-06-28
- -- Description: 竞猜赛事列表(最近50天赛事)
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Guess_GetMatchList]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT SerialNumber FROM [Match] WHERE StartAt >= GETDATE() - 30
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Guess_GetMatchTeamList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Guess_GetMatchTeamList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-06-28
- -- Mendor: wolf
- -- Alter Date: 2023-06-28
- -- Description: 竞猜赛事球队列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Guess_GetMatchTeamList]
- @SerialNumber VARCHAR(32) --流水号
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- Rid, TeamId
- FROM
- [MatchTeam]
- WHERE
- SerialNumber = @SerialNumber
- ORDER BY
- Rid ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Guess_GetTeamList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Guess_GetTeamList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-06-28
- -- Mendor: wolf
- -- Alter Date: 2023-06-28
- -- Description: 竞猜球队列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Guess_GetTeamList]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- Id, Name, Icon, ShortName
- FROM
- [Team]
- ORDER BY
- Id ASC
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Guess_GetUserBetAmount] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Guess_GetUserBetAmount]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-06-28
- -- Mendor: wolf
- -- Alter Date: 2023-06-28
- -- Description: 获取赛事投注
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Guess_GetUserBetAmount]
- @SerialNumber VARCHAR(32) --流水号
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- UserID, BetID, SUM(BetAmount) AS BetAmount
- FROM
- [BetRecord]
- WHERE
- SerialNumber = @SerialNumber
- GROUP BY
- UserID, BetID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Guess_GetUserBetRecordList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Guess_GetUserBetRecordList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-06-28
- -- Mendor: wolf
- -- Alter Date: 2023-06-28
- -- Description: 获取赛事投注记录
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Guess_GetUserBetRecordList]
- @UserID INT, --用户ID
- @SerialNumber VARCHAR(32), --流水号
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- DECLARE @tmptable TABLE(
- SerialNumber VARCHAR(32) NOT NULL, --赛事流水号
- BetID INT NOT NULL, --投注id
- BetAmount INT NOT NULL, --投注金额
- ResultAmount INT NOT NULL --派奖金额
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- IF(@SerialNumber != '')
- BEGIN
- INSERT INTO @tmptable
- (
- SerialNumber, BetID, BetAmount, ResultAmount
- )
- SELECT
- SerialNumber, BetID, SUM(BetAmount), SUM(ResultAmount)
- FROM
- [BetRecord]
- WHERE
- UserID = @UserID AND SerialNumber = @SerialNumber
- GROUP BY
- SerialNumber, BetID
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- SerialNumber, BetID, BetAmount, ResultAmount
- )
- SELECT
- SerialNumber, BetID, SUM(BetAmount), SUM(ResultAmount)
- FROM
- [BetRecord]
- WHERE
- UserID = @UserID
- GROUP BY
- SerialNumber, BetID
- END
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS(
- SELECT
- ROW_NUMBER() OVER(ORDER BY SerialNumber DESC) AS RowNumber,
- SerialNumber, BetID, BetAmount, ResultAmount
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- SerialNumber, BetID, BetAmount, ResultAmount
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Guess_UpdateBetAmount] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Guess_UpdateBetAmount]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-06-28
- -- Mendor: wolf
- -- Alter Date: 2023-06-28
- -- Description: 修改竞猜投注项金额
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Guess_UpdateBetAmount]
- @SerialNumber VARCHAR(32), --流水号
- @BetID INT, --投注ID
- @BetAmount INT --投注金额
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --修改投注金额
- UPDATE
- [MatchBet]
- SET
- BetAmount = @BetAmount
- WHERE
- SerialNumber = @SerialNumber AND BetID = @BetID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Guess_UpdateMatchStatus] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Guess_UpdateMatchStatus]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-06-28
- -- Mendor: wolf
- -- Alter Date: 2023-06-28
- -- Description: 修改竞猜赛事状态
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Guess_UpdateMatchStatus]
- @SerialNumber VARCHAR(32), --流水号
- @Status TINYINT --状态(0=无效状态 1=开启状态 2=结束状态(停止下注) 3=已派奖)
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DBStatus TINYINT --状态
- DECLARE @RetCode TINYINT --操作结果
-
- SET @RetCode = 0
-
- --赛事状态
- SELECT @DBStatus = Status FROM [Match] WHERE SerialNumber = @SerialNumber
-
- --1=开启
- IF(@Status = 1 AND @DBStatus NOT IN(0, 1))
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --2=结束
- IF(@Status = 2 AND @DBStatus != 1)
- BEGIN
- SET @RetCode = 12
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --3=派奖
- IF(@Status = 3 AND @DBStatus != 2)
- BEGIN
- SET @RetCode = 13
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --修改状态
- UPDATE [Match] SET Status = @Status WHERE SerialNumber = @SerialNumber
-
- --返回信息
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_HighlyProfitable_GetUserStageInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_HighlyProfitable_GetUserStageInfo]
- -- @UserID INT -- 用户ID
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-10-09
- -- Mendor: wolf
- -- Alter Date: 2023-10-09
- -- Description: 一本万利 获取用户当前阶段信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_HighlyProfitable_GetUserStageInfo]
- @UserID INT -- 用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- Schedule, Status
- FROM
- [HighlyProfitable]
- WHERE
- UserID = @UserID
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_HighlyProfitable_SaveStageRecord] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_HighlyProfitable_SaveStageRecord]
- -- @UserID INT, -- 用户ID
- -- @Schedule INT, -- 当前阶段
- -- @Status TINYINT, -- 礼包的状态(0 未激活, 1 已激活, 2 未完成, 3 结束)【注:左上角激活就送与完成所有任务可领礼包状态】
- -- @Crdate DATETIME -- 创建日期
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-10-09
- -- Mendor: wolf
- -- Alter Date: 2023-10-09
- -- Description: 一本万利 保存阶段记录
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_HighlyProfitable_SaveStageRecord]
- @UserID INT, -- 用户ID
- @Schedule INT, -- 当前阶段
- @Status TINYINT, -- 礼包的状态(0 未激活, 1 已激活, 2 未完成, 3 结束)【注:左上角激活就送与完成所有任务可领礼包状态】
- @Crdate DATETIME -- 创建日期
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- UPDATE
- [HighlyProfitable]
- SET
- Schedule = @Schedule, Status = @Status
- WHERE
- UserID = @UserID
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [HighlyProfitable]
- (
- UserID, Schedule, Status, Crdate
- )
- VALUES
- (
- @UserID, @Schedule, @Status, @Crdate
- )
- END
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Item_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Item_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 系统道具数值列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Item_GetList]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- ItemID, ItemName, ItemType, ItemDesc, Start, Duration, ActiveId,
- Value, IsShow, IsGift, ShowPrice, IconUrl, DecorationType
- FROM
- [Item]
- ORDER BY
- ItemID ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_LadderService_GetConsecutiveRecord] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_LadderService_GetConsecutiveRecord]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-09
- -- Mendor: wolf
- -- Alter Date: 2014-12-22
- -- Description: 排行赛
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_LadderService_GetConsecutiveRecord]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT Record FROM [UserLadder] WHERE UserID = @UserID
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_LadderService_GetUserLadderInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_LadderService_GetUserLadderInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-09
- -- Mendor: wolf
- -- Alter Date: 2014-12-22
- -- Description: 排行赛
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_LadderService_GetUserLadderInfo]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- Point, MaxCounWin, WinCount, LoseCount, DrawCount
- FROM
- [UserLadder]
- WHERE
- UserID = @UserID
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_LadderService_GetUserSettlementRecord] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_LadderService_GetUserSettlementRecord]
- -- @UserID = 1
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-09-22
- -- Mendor: wolf
- -- Alter Date: 2023-09-22
- -- Description: 获取排位赛用户结算记录
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_LadderService_GetUserSettlementRecord]
- @UserID INT -- 用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- Point, WinCount, WinType
- FROM
- [LadderSettlementRecord]
- WHERE
- UserID = @UserID
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_LadderService_SetConsecutiveRecord] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_LadderService_SetConsecutiveRecord]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-09
- -- Mendor: wolf
- -- Alter Date: 2014-12-22
- -- Description: 排行赛
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_LadderService_SetConsecutiveRecord]
- @UserID INT, --用户ID
- @Record VARCHAR(1024) --连胜记录
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- UPDATE [UserLadder] SET Record = @Record WHERE UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserLadder]
- (
- UserID, Point, MaxCounWin, WinCount, LoseCount, DrawCount, Record
- )
- VALUES
- (
- @UserID, 0, 0, 0, 0, 0, @Record
- )
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_LadderService_SetUserLadderInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_LadderService_SetUserLadderInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-09
- -- Mendor: wolf
- -- Alter Date: 2014-12-22
- -- Description: 排行赛
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_LadderService_SetUserLadderInfo]
- @UserID INT, --用户ID
- @Point INT, --点数
- @MaxCounWin INT, --最大连胜
- @WinCount INT, --赢
- @LoseCount INT, --输
- @DrawCount INT --和
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- UPDATE
- [UserLadder]
- SET
- Point = @Point, MaxCounWin = @MaxCounWin, WinCount = @WinCount,
- LoseCount = @LoseCount, DrawCount = @DrawCount
- WHERE
- UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserLadder]
- (
- UserID, Point, MaxCounWin, WinCount, LoseCount, DrawCount, Record
- )
- VALUES
- (
- @UserID, @Point, @MaxCounWin, @WinCount, @LoseCount, @DrawCount, ''
- )
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_LadderService_SetUserSettlementRecord] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_LadderService_SetUserSettlementRecord]
- -- @UserID = 1
- -- @Point = 1
- -- @WinCount = 1
- -- @WinType = 0
- -- @Crdate = ''
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-09-22
- -- Mendor: wolf
- -- Alter Date: 2023-09-22
- -- Description: 设置排位赛用户结算记录
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_LadderService_SetUserSettlementRecord]
- @UserID INT, -- 用户ID
- @Point INT, -- 点数
- @WinCount INT, -- 胜利次数
- @WinType INT, -- 连胜类型
- @Crdate DATETIME -- 创建日期
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- UPDATE
- [LadderSettlementRecord]
- SET
- Point = @Point, WinCount = @WinCount
- WHERE
- UserID = @UserID AND WinType = @WinType
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [LadderSettlementRecord]
- (
- UserID, Point, WinCount, WinType, Crdate
- )
- VALUES
- (
- @UserID, @Point, @WinCount, @WinType, @Crdate
- )
- END
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_LevelRewards_GetUserTaskList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_LevelRewards_GetUserTaskList]
- -- @UserID = 0
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-08-18
- -- Mendor: wolf
- -- Alter Date: 2023-08-18
- -- Description: 等级礼包奖励 - 获取用户任务列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_LevelRewards_GetUserTaskList]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- -- 返回信息
- SELECT
- UserID, [Level], PaidPack, ClaimStatus, CreateDayIndex
- FROM
- [UserLevelRewards]
- WHERE
- UserID = @UserID
- ORDER BY
- [Level] ASC, PaidPack ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_LevelRewards_UpdateUserTask] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_LevelRewards_UpdateUserTask]
- -- @UserID = 0
- -- @Level = 0
- -- @PaidPack = 0
- -- @ClaimStatus = 0
- -- @CreateDayIndex = 0
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-08-18
- -- Mendor: wolf
- -- Alter Date: 2023-08-18
- -- Description: 等级礼包奖励 - 更新用户任务
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_LevelRewards_UpdateUserTask]
- @UserID INT, --用户ID
- @Level INT, --等级要求
- @PaidPack TINYINT, --付费礼包(0=不是,1=是)
- @ClaimStatus TINYINT, --领取状态(0不可领取,1可领取,2已领取)
- @CreateDayIndex INT --创建天的索引
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --更新
- UPDATE
- [UserLevelRewards]
- SET
- ClaimStatus = @ClaimStatus,
- CreateDayIndex = @CreateDayIndex
- WHERE
- UserID = @UserID AND PaidPack = @PaidPack AND Level = @Level
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserLevelRewards]
- (
- UserID, Level, PaidPack, ClaimStatus, CreateDayIndex
- )
- VALUES
- (
- @UserID, @Level, @PaidPack, @ClaimStatus, @CreateDayIndex
- )
- END
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_MachineUser_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_MachineUser_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 机器人列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_MachineUser_GetList]
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT UserID FROM [MachineUser] ORDER BY UserID ASC
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_MatchCard_Use] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_MatchCard_Use]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 比赛卡使用
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_MatchCard_Use]
- @UserID INT, --用户ID
- @CardNo VARCHAR(32) --卡号
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --系统时间
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @RetCode TINYINT --操作结果
- DECLARE @OpenTime DATETIME --开始时间
- DECLARE @ExpireTime DATETIME --过期时间
- DECLARE @ErrorTimes INT --错误次数
- DECLARE @ErrorTime DATETIME --错误时间
- DECLARE @CoolSeconds INT --冷却时长
- DECLARE @Minutes INT --分钟
- DECLARE @TimeMemo NVARCHAR(1024) --时间描述
- DECLARE @SceneMemo NVARCHAR(2048) --场地描述
-
- SET @RetCode = 0
- SET @ErrorTimes = 0
- SET @CoolSeconds = 0
- SET @CurrTime = GETDATE()
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
- SET @Minutes = 1
- SET @TimeMemo = ''
- SET @SceneMemo = ''
-
- --获取卡日志
- SELECT
- @ErrorTimes = ErrorTimes, @ErrorTime = Crdate
- FROM
- [CardErrorLog]
- WHERE
- UserID = @UserID
-
- --初始化数据
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [CardErrorLog](UserID, ErrorTimes, Crdate) VALUES(@UserID, 0, @CurrTime)
- END
-
- --每5秒仅能输入1次兑换码
- IF(@ErrorTime >= DATEADD(SECOND, -5, @CurrTime))
- BEGIN
- SET @RetCode = 12
- SELECT @RetCode AS RetCode, @CoolSeconds AS CoolSeconds, @TimeMemo AS TimeMemo, @SceneMemo AS SceneMemo
- RETURN
- END
-
- --当5分钟内连续输错10次兑换码时,禁止使用此功能几分钟
- IF(@ErrorTime >= DATEADD(MINUTE, -@Minutes, @CurrTime) AND @ErrorTimes >= 10)
- BEGIN
- SET @RetCode = 13
- --计算冷却时间
- SET @CoolSeconds = DATEDIFF(SECOND, @CurrTime, DATEADD(MINUTE, @Minutes, @ErrorTime))
- SELECT @RetCode AS RetCode, @CoolSeconds AS CoolSeconds, @TimeMemo AS TimeMemo, @SceneMemo AS SceneMemo
- RETURN
- END
-
- --兑换卡信息
- SELECT
- @OpenTime = OpenTime, @ExpireTime = ExpireTime, @TimeMemo = TimeMemo,
- @SceneMemo = SceneMemo
- FROM
- [MatchCard]
- WHERE
- CardNo = @CardNo
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- --超过5分钟
- IF(@ErrorTime < DATEADD(MINUTE, -@Minutes, @CurrTime))
- BEGIN
- SET @ErrorTimes = 0
- END
-
- --错误次数+1
- UPDATE
- [CardErrorLog]
- SET
- ErrorTimes = @ErrorTimes + 1, Crdate = @CurrTime
- WHERE
- UserID = @UserID
-
- SET @RetCode = 11
- SELECT @RetCode AS RetCode, @CoolSeconds AS CoolSeconds, @TimeMemo AS TimeMemo, @SceneMemo AS SceneMemo
- RETURN
- END
-
- --还没到开放时间
- IF(@OpenTime > @CurrTime)
- BEGIN
- SET @RetCode = 14
- SELECT @RetCode AS RetCode, @CoolSeconds AS CoolSeconds, @TimeMemo AS TimeMemo, @SceneMemo AS SceneMemo
- RETURN
- END
-
- --判断是否过期
- IF(@ExpireTime < @CurrTime)
- BEGIN
- SET @RetCode = 15
- SELECT @RetCode AS RetCode, @CoolSeconds AS CoolSeconds, @TimeMemo AS TimeMemo, @SceneMemo AS SceneMemo
- RETURN
- END
-
- --兑换卡使用记录
- INSERT INTO [MatchCardLog](UserID, CardNo, Crdate) VALUES(@UserID, @CardNo, @CurrTime)
-
- --充值卡使用记录
- UPDATE [CardErrorLog] SET ErrorTimes = 0, Crdate = @CurrTime WHERE UserID = @UserID
-
- --可使用次数+1
- UPDATE [MatchCard] SET UseTimes = UseTimes + 1 WHERE CardNo = @CardNo
-
- --使用成功
- SET @RetCode = 1
- SELECT @RetCode AS RetCode, @CoolSeconds AS CoolSeconds, @TimeMemo AS TimeMemo, @SceneMemo AS SceneMemo
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_MatchData_AddStatistics] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_MatchData_AddStatistics]
- -- @MatchID = 100005
- -- @MatchType = 'Combo'
- -- @GameID = 37
- -- @MaxUserCount = 20
- -- @TableUserCount = 4
- -- @JoinUserCount = 20
- -- @EnrollFee = '30002,2000;'
- -- @StartTime = 1692340700
- -- @EndTime = 1692344337
- -- @SerialNumber = '0'
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-08-18
- -- Mendor: wolf
- -- Alter Date: 2023-08-18
- -- Description: 赛事数据添加统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_MatchData_AddStatistics]
- @MatchID INT, --赛事ID
- @MatchType VARCHAR(64), --101 SNG,102 配置赛
- @GameID INT, --游戏ID
- @MaxUserCount INT, --最多报名人数
- @TableUserCount INT, --每张桌子人数
- @JoinUserCount INT, --加入的用户数
- @EnrollFee VARCHAR(256), --报名费(存在多种报名方式)[ItemId, Count]
- @StartTime INT, --开始时间
- @EndTime INT, --结束时间
- @SerialNumber VARCHAR(32) OUTPUT --比赛场次
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回新的比赛场次
- set @SerialNumber = CONVERT(NVARCHAR(8), GETDATE(), 112) + REPLACE( CONVERT ( VARCHAR ( 16 ), GETDATE( ), 114 ), ':', '' )
- --添加赛事数据统计
- INSERT INTO [MatchDataStatistics]
- (
- SerialNumber, MatchID, MatchType, GameID, EnrollFee, MaxUserCount, TableUserCount, JoinUserCount, StartTime, EndTime
- )
- VALUES
- (
- @SerialNumber, @MatchID, @MatchType, @GameID, @EnrollFee, @MaxUserCount, @TableUserCount,
- @JoinUserCount, dbo.fn_StampToTime(@StartTime), dbo.fn_StampToTime(@EndTime)
- )
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_MatchData_AddUser] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_MatchData_AddUser]
- -- @SerialNumber = '2023081801'
- -- @Rank = 1
- -- @UserID = 999
- -- @ItemID = 10001
- -- @ItemCount = 200
- -- @EnrollTime = '2023-08-18 00:00:00'
- -- @Score = 99
- -- @Prize = '10004,200;'
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-08-18
- -- Mendor: wolf
- -- Alter Date: 2023-08-18
- -- Description: 赛事数据添加用户
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_MatchData_AddUser]
- @SerialNumber VARCHAR(32), --比赛场次
- @GameID INT, --游戏ID
- @Rank INT, --排名
- @UserID INT, --用户ID
- @ItemID INT, --道具ID(报名道具)
- @ItemCount INT, --报名道具的数量
- @EnrollTime DATETIME, --报名时间
- @Score INT, --分数
- @Prize VARCHAR(128) --奖品
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --赛事数据用户名单
- INSERT INTO [MatchDataUserList]
- (
- SerialNumber, GameID, [Rank], UserID, ItemID, ItemCount, EnrollTime, Score, Prize
- )
- VALUES
- (
- @SerialNumber, @GameID, @Rank, @UserID, @ItemID, @ItemCount, @EnrollTime, @Score, @Prize
- )
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Money_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Money_GetInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-02
- -- Mendor: wolf
- -- Alter Date: 2014-12-10
- -- Description: 获取金币
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Money_GetInfo]
- @UserID INT, --用户ID
- @Gold BIGINT OUTPUT, --金币数
- @Bank BIGINT OUTPUT --保险柜
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SET @Gold = 0
- SET @Bank = 0
-
- --金币
- EXEC [p_if_getmoney] @userid = @UserID, @moneyamount = @Gold OUTPUT, @Bank = @Bank OUTPUT
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Money_Give] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- DECLARE @RetCode TINYINT
- -- EXEC [WS_Money_Give]
- -- @UserID = 10001,
- -- @SourceName = '',
- -- @Amount = 100,
- -- @LogType = 1,
- -- @IPAddress = '',
- -- @RetCode = @RetCode OUTPUT
- -- SELECT @RetCode AS RetCode
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-03
- -- Mendor: wolf
- -- Alter Date: 2014-09-04
- -- Description: 加金币接口(供其他接口调用)
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Money_Give]
- @UserID INT, --用户ID
- @Amount BIGINT, --金币数
- @LogType INT, --日志类型
- @SourceName NVARCHAR(32), --源名称
- @Remark NVARCHAR(128), --备注
- @IPAddress VARCHAR(16), --IP地址
- @RetCode TINYINT OUTPUT --操作结果
- --操作结果描述: 1=操作成功 11=传入参数错误
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- SET @RetCode = 0
- --加金豆
- EXEC [Game_Money_GiveMoney] @UserID = @UserID, @SourceName = @SourceName, @GameID = 0, @WantedAmount = @Amount,
- @LogType = @LogType, @Remark = @Remark, @IPAddress = @IPAddress, @RetCode = @RetCode OUTPUT
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Money_Reduce] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Money_Reduce]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-03
- -- Mendor: wolf
- -- Alter Date: 2014-12-02
- -- Description: 扣除金币接口(供其他接口调用)
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Money_Reduce]
- @UserID INT, --用户ID
- @Amount BIGINT, --操作金币(必须>0)
- @LogType INT, --日志类型
- @SourceName NVARCHAR(64), --源名称
- @Remark NVARCHAR(128), --备注
- @IPAddress VARCHAR(16), --IP地址
- @RetCode TINYINT OUTPUT --操作结果
- --操作结果描述:1=操作成功 11=金币不足 12=参数异常 21=金币锁
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- SET @RetCode = 0
-
- --扣减(检查泥码)
- EXEC [Game_Money_ReduceMoney] @UserID = @UserID, @WantedAmount = @Amount, @LogType = @LogType,
- @SourceName = @SourceName, @GameID = 0, @Remark = @Remark, @IPAddress = @IPAddress,
- @RetCode = @RetCode OUTPUT
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_MonthlyCard_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_MonthlyCard_GetInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-18
- -- Description: 月卡信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_MonthlyCard_GetInfo]
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- ProductID, ProductName, Price, Awards, DayItems, Memo
- FROM
- [MonthlyCard]
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_MyMatch_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_MyMatch_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 用户比赛列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_MyMatch_GetList]
- @UserID INT, --用户ID
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- DECLARE @tmpTable TABLE(
- Rid INT NOT NULL, --标识
- MatchName NVARCHAR(32) NOT NULL, --比赛名称
- Rank INT NOT NULL, --名次
- Items VARCHAR(128) NOT NULL, --道具
- Status SMALLINT NOT NULL, --状态(0=没有奖励 1=可领取 2=等待发放 3=已领取)
- Crdate VARCHAR(16) NOT NULL -- 时间
- )
-
- INSERT INTO @tmpTable
- (
- Rid, MatchName, Rank, Items, Status, Crdate
- )
- SELECT
- Rid, MatchName, Rank, Items, Status, Crdate
- FROM
- [MyMatch]
- WHERE
- UserID = @UserID AND Crdate >= GETDATE() - 30
-
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Rid DESC) AS RowNumber,
- Rid, MatchName, Rank, Items, Status, Crdate
- FROM
- @tmpTable
- )
-
- --返回信息
- SELECT
- Rid, MatchName, Rank, Items, Status,
- CONVERT(VARCHAR(16), Crdate, 120) AS Crdate
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_MyMatch_SetStatus] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_MyMatch_SetStatus]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 用户比赛状态
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_MyMatch_SetStatus]
- @Rid INT, --标识
- @UserID INT, --用户ID
- @Status SMALLINT --状态(0=没有奖励 1=可领取 2=等待发放 3=已领取)
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT
- UPDATE [MyMatch] SET Status = @Status WHERE Rid = @Rid AND UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_MyMatch_Write] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_MyMatch_Write]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 用户比赛数据写入
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_MyMatch_Write]
- @UserID INT, --用户ID
- @MatchName NVARCHAR(32), --比赛名称
- @Rank INT, --名次
- @Items VARCHAR(128), --道具
- @Status SMALLINT, --状态(0=没有奖励 1=可领取 2=等待发放 3=已领取)
- @Crdate VARCHAR(16) -- 时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- INSERT INTO [MyMatch]
- (
- UserID, MatchName, Rank, Items, Status, Crdate
- )
- VALUES
- (
- @UserID, @MatchName, @Rank, @Items, @Status, @Crdate
- )
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_NewSavingPot_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_NewSavingPot_GetInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-06-28
- -- Mendor: wolf
- -- Alter Date: 2023-06-28
- -- Description: 存钱罐信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_NewSavingPot_GetInfo]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- UserID, CurrentLevel, BuyAmount, BuyTimes,
- dbo.fn_TimeToStamp(DuringTime) AS DuringTime, MultiplyStatus
- FROM
- [NewUserSavingPot]
- WHERE
- UserID = @UserID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_NewSavingPot_Update] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_NewSavingPot_Update]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-06-28
- -- Mendor: wolf
- -- Alter Date: 2023-06-28
- -- Description: 存钱罐更新
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_NewSavingPot_Update]
- @UserID INT, --用户ID
- @CurrentLevel INT,
- @BuyAmount INT,
- @BuyTimes INT,
- @DuringTime INT,
- @MultiplyStatus INT
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --更新
- UPDATE
- [NewUserSavingPot]
- SET
- CurrentLevel = @CurrentLevel, BuyAmount = @BuyAmount, BuyTimes = @BuyTimes,
- DuringTime = dbo.fn_StampToTime(@DuringTime), MultiplyStatus = @MultiplyStatus
- WHERE
- UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [NewUserSavingPot]
- (
- UserID, CurrentLevel, BuyAmount, BuyTimes, DuringTime, MultiplyStatus
- )
- VALUES
- (
- @UserID, @CurrentLevel, @BuyAmount, @BuyTimes, dbo.fn_StampToTime(@DuringTime), @MultiplyStatus
- )
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_NewUserGift_GetConfig] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_NewUserGift_GetConfig]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 新手登录奖励配置
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_NewUserGift_GetConfig]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT DayIndex, Awards FROM [NewGiftConfig] ORDER BY DayIndex ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_NewUserGift_GetUserGift] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_NewUserGift_GetUserGift]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 新手登录奖励信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_NewUserGift_GetUserGift]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- DayIndex, Status, CONVERT(VARCHAR(20), DateFlag, 120) AS DateFlag
- FROM
- [NewUserGift]
- WHERE
- UserID = @UserID
- ORDER BY
- DayIndex ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_NewUserGift_Receive] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_NewUserGift_Receive]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 新手登录领取
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_NewUserGift_Receive]
- @UserID INT, --用户ID
- @DayIndex INT --天序号
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- UPDATE [NewUserGift] SET Status = 1 WHERE UserID = @UserID AND DayIndex = @DayIndex
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_NewUserVip_AddPurchaseLog] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_NewUserVip_AddPurchaseLog]
- -- @UserId = 100
- -- @ProductId = "1",
- -- @PurchaseTime = 1685555555
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-04-13
- -- Mendor: wolf
- -- Alter Date: 2023-04-13
- -- Description: 添加新版用户vip的购买记录
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_NewUserVip_AddPurchaseLog]
- @UserId INT, --用户Id
- @ProductId VARCHAR(32), --产品Id
- @PurchaseTime INT --购买时间戳
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- -- 新增数据
- INSERT INTO [NewUserVipPurchaseLog]
- (
- UserId, ProductId, PurchaseTime
- )
- VALUES
- (
- @UserId, @ProductId, @PurchaseTime
- )
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_NewUserVip_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_NewUserVip_GetInfo]
- -- @UserId = 100
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-04-13
- -- Mendor: wolf
- -- Alter Date: 2023-04-13
- -- Description: 获取新版vip信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_NewUserVip_GetInfo]
- @UserId INT --用户Id
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- -- 获取信息
- SELECT
- VipLevel AS [Level], VipPoint AS Point, Expire, DailyPackageClaimDay
- FROM
- [UserVip]
- WHERE
- UserId = @UserId
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_NewUserVip_GetPurchaseList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_NewUserVip_GetPurchaseList]
- -- @UserId = 100
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-04-13
- -- Mendor: wolf
- -- Alter Date: 2023-04-13
- -- Description: 新版用户vip的购买列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_NewUserVip_GetPurchaseList]
- @UserId INT --用户Id
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- ProductId, PurchaseTime
- FROM
- [NewUserVipPurchaseLog]
- WHERE
- UserId = @UserId
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_NewUserVip_Update] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_NewUserVip_Update]
- -- @UserId = 100
- -- @Level = 1
- -- @Point = 10
- -- @Expire = 0
- -- @DailyPackageClaimDay = 1681729908
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-04-13
- -- Mendor: wolf
- -- Alter Date: 2023-04-13
- -- Description: 更新新版用户vip信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_NewUserVip_Update]
- @UserId INT, --用户ID
- @Level SMALLINT, --等级
- @Point INT, --当前点数(经验值)
- @Expire INT, --过期时间戳
- @DailyPackageClaimDay INT --上一次领取的时间戳
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- -- 更新数据
- UPDATE
- [UserVip]
- set
- VipLevel = @Level, VipPoint = @Point, Expire = @Expire, DailyPackageClaimDay = @DailyPackageClaimDay
- WHERE
- UserId = @UserId
- IF (@@ROWCOUNT > 0)
- RETURN
- -- 初始化数据
- INSERT INTO [UserVip]
- (
- UserId, VipLevel, VipPoint, Expire, DailyPackageClaimDay
- )
- VALUES
- (
- @UserId, @Level, @Point, @Expire, @DailyPackageClaimDay
- )
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_NewYearGift_GetConfig] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_NewYearGift_GetConfig]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 新手登录奖励配置
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_NewYearGift_GetConfig]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT DayIndex, Awards FROM [NewYearGiftConfig] ORDER BY DayIndex ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_NewYearGift_GetUserGift] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_NewYearGift_GetUserGift]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 新手登录奖励信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_NewYearGift_GetUserGift]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DateFlag SMALLDATETIME
-
- SET @DateFlag = CONVERT(CHAR(10), GETDATE(), 120)
-
- IF(@DateFlag NOT BETWEEN '2022-01-31' AND '2022-02-06')
- RETURN
-
- --还没有数据
- IF NOT EXISTS(SELECT UserID FROM [NewUserYearGift] WHERE UserID = @UserID)
- BEGIN
- --生成新手登录任务
- INSERT INTO [NewUserYearGift]
- (
- UserID, DayIndex, Status, DateFlag
- )
- SELECT
- @UserID, DayIndex, 0, @DateFlag + (DayIndex - 1)
- FROM
- [NewYearGiftConfig]
- ORDER BY
- DayIndex ASC
- END
-
- --返回信息
- SELECT
- DayIndex, Status, CONVERT(VARCHAR(20), DateFlag, 120) AS DateFlag
- FROM
- [NewUserYearGift]
- WHERE
- UserID = @UserID AND DateFlag <= '2022-02-06'
- ORDER BY
- DayIndex ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_NewYearGift_Receive] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_NewYearGift_Receive]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 新手登录领取
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_NewYearGift_Receive]
- @UserID INT, --用户ID
- @DayIndex INT --天序号
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- UPDATE [NewUserYearGift] SET Status = 1 WHERE UserID = @UserID AND DayIndex = @DayIndex
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_NoviceWelfare_AddBigAward] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_NoviceWelfare_AddBigAward]
- -- @UserID = 10001
- -- @Crdate = '2023-07-20 00:00:00'
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-07-20
- -- Mendor: wolf
- -- Alter Date: 2023-07-20
- -- Description: 新手福利 - 添加大奖记录
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_NoviceWelfare_AddBigAward]
- @UserID INT, --用户ID
- @Crdate DATETIME --创建时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- UPDATE
- [NoviceWelfareBigAward]
- SET
- Status = 1
- WHERE
- UserID = @UserID
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [NoviceWelfareBigAward]
- (
- UserID, Status, Crdate
- )
- VALUES
- (
- @UserID, 1, @Crdate
- )
- END
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_NoviceWelfare_GetBigAward] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_NoviceWelfare_GetBigAward]
- -- @UserID = 10001
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-07-20
- -- Mendor: wolf
- -- Alter Date: 2023-07-20
- -- Description: 新手福利 - 获取大奖记录
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_NoviceWelfare_GetBigAward]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- Status
- FROM
- [NoviceWelfareBigAward]
- WHERE
- UserID = @UserID
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_NoviceWelfare_GetUserGiftPacks] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_NoviceWelfare_GetUserGiftPacks]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 新手福利--获取用户礼包
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_NoviceWelfare_GetUserGiftPacks]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- PackageId, StartDay, Status
- FROM
- [UserGiftPack]
- WHERE
- UserID = @UserID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_NoviceWelfare_GetUserTaskList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_NoviceWelfare_GetUserTaskList]
- -- @UserID = 10001
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-07-17
- -- Mendor: wolf
- -- Alter Date: 2023-07-17
- -- Description: 新手福利 - 用户任务列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_NoviceWelfare_GetUserTaskList]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- DayIndex, Scheduled, Status, UnlockDayIndex
- FROM
- [UserNoviceWelfare]
- WHERE
- UserID = @UserID
- ORDER BY
- DayIndex ASC
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_NoviceWelfare_GetUserTerms] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_NoviceWelfare_GetUserTerms]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 新手福利--获取已购买礼包的领取列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_NoviceWelfare_GetUserTerms]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- PackageId, TermIndex, ClaimDay
- FROM
- [UserGrowthTerm]
- WHERE
- UserID = @UserID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_NoviceWelfare_SetUserGiftPacks] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_NoviceWelfare_SetUserGiftPacks]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 新手福利--设置用户礼包
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_NoviceWelfare_SetUserGiftPacks]
- @UserID INT, --用户ID
- @PackageId INT, --礼包ID
- @StartDay INT, --生成时间,用于显示倒计时
- @Status TINYINT --用户的礼包状态
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- UPDATE
- [UserGiftPack]
- SET
- StartDay = @StartDay, Status = @Status
- WHERE
- UserID = @UserID AND PackageId = @PackageId
-
- IF(@@ROWCOUNT > 0)
- RETURN
- INSERT INTO [UserGiftPack]
- (
- UserID, PackageId, StartDay, Status
- )
- VALUES
- (
- @UserID, @PackageId, @StartDay, @Status
- )
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_NoviceWelfare_SetUserTerm] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_NoviceWelfare_SetUserTerm]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 新手福利--设置用户购买礼包
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_NoviceWelfare_SetUserTerm]
- @UserID INT, --用户ID
- @PackageId INT, --礼包ID
- @TermIndex INT, --index
- @ClaimDay INT --领取时间,0表示未领取
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- UPDATE
- [UserGrowthTerm]
- SET
- ClaimDay = @ClaimDay
- WHERE
- UserID = @UserID AND PackageId = @PackageId AND TermIndex = @TermIndex
-
- IF(@@ROWCOUNT > 0)
- RETURN
- INSERT INTO [UserGrowthTerm]
- (
- UserID, PackageId, TermIndex, ClaimDay
- )
- VALUES
- (
- @UserID, @PackageId, @TermIndex, @ClaimDay
- )
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_NoviceWelfare_UpdateUserTask] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_NoviceWelfare_UpdateUserTask]
- -- @UserID = 10001,
- -- @DayIndex = 1,
- -- @Scheduled = 1,
- -- @Status = 1,
- -- @UnlockDayIndex = 19576
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-07-18
- -- Mendor: wolf
- -- Alter Date: 2023-07-18
- -- Description: 新手福利 - 更新用户任务
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_NoviceWelfare_UpdateUserTask]
- @UserID INT, --用户ID
- @DayIndex INT, --天数索引
- @Scheduled INT, --完成进度
- @Status INT, --任务状态(0=未解锁,1=未完成,2=完成,3=已领取奖励)
- @UnlockDayIndex SMALLINT -- 解锁天索引
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- UPDATE
- [UserNoviceWelfare]
- SET
- Scheduled = @Scheduled, Status = @Status, UnlockDayIndex = @UnlockDayIndex
- WHERE
- UserID = @UserID AND DayIndex = @DayIndex
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserNoviceWelfare]
- (
- UserID, DayIndex, Scheduled, Status, UnlockDayIndex
- )
- VALUES
- (
- @UserID, @DayIndex, @Scheduled, @Status, @UnlockDayIndex
- )
- END
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Pay_Trigger] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Pay_Trigger]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 充值触发事件
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Pay_Trigger]
- @UserID INT, --用户ID
- @ProductID VARCHAR(32), --产品ID
- @ShopType INT, --产品类型
- @Price DECIMAL(18, 2) --价格
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --获取用户充值产品
- INSERT INTO [UserRechargeProduct](UserID, ProductID, ShopType, Crdate) VALUES(@UserID, @ProductID, @ShopType, GETDATE())
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_PrivateRoom_WriteHistory] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_PrivateRoom_WriteHistory]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 私人场写历史记录
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_PrivateRoom_WriteHistory]
- @RoomNo VARCHAR(32), --房间号
- @GameID INT, --游戏ID
- @OwnerUserID INT, --创建者
- @BeginTime INT, --开始时间
- @EndTime INT, --结束时间
- @TotalAwardAmount BIGINT, --奖金
- @TotalFee BIGINT, --总费用(报名)
- @TotalTax BIGINT, --总税收
- @UserInfo VARCHAR(1024), --用户信息(椅子号1,用户ID1,报名费用1,税收1,奖金1;椅子号2,用户ID2,报名费用2,税收2,奖金2;)
- @ExtInfo VARCHAR(1024), --扩展信息
- @Crdate INT --创建时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RoomID INT --房间ID
- DECLARE @ChairNo INT --椅子号
- DECLARE @UserID INT --用户ID
- DECLARE @Fee BIGINT --费用(报名)
- DECLARE @Tax BIGINT --税收
- DECLARE @AwardAmount BIGINT --奖金
- DECLARE @Score INT --积分
- DECLARE @StartIndex INT --起始索引
- DECLARE @EndIndex INT --截止索引
- DECLARE @RoomCrdate DATETIME --房间创建时间
-
- DECLARE @tmptable TABLE(
- ChairNo INT NOT NULL, --椅子号
- UserID INT NOT NULL, --用户ID
- Fee BIGINT NOT NULL, --费用(报名)
- Tax BIGINT NOT NULL, --税收
- AwardAmount BIGINT NOT NULL, --奖金
- Score INT NOT NULL --积分
- )
-
- SET @RoomCrdate = dbo.fn_StampToTime(@Crdate)
-
- --房间记录
- INSERT INTO [RoomHistory]
- (
- RoomNo, GameID, OwnerUserID, BeginTime, EndTime,
- TotalAwardAmount, TotalFee, TotalTax, ExtInfo, Crdate
- )
- VALUES
- (
- @RoomNo, @GameID, @OwnerUserID, dbo.fn_StampToTime(@BeginTime), dbo.fn_StampToTime(@EndTime),
- @TotalAwardAmount, @TotalFee, @TotalTax, @ExtInfo, @RoomCrdate
- )
-
- --房间ID
- SET @RoomID = SCOPE_IDENTITY()
-
- SET @StartIndex = 0
- SET @EndIndex = 0
-
- WHILE(1=1)
- BEGIN
- SET @EndIndex = CHARINDEX(',', @UserInfo, @StartIndex)
- IF(@EndIndex <= 0)
- BREAK
-
- SET @ChairNo = CAST(SUBSTRING(@UserInfo, @StartIndex, @EndIndex - @StartIndex) AS INT)
- SET @StartIndex = @EndIndex + 1
-
- SET @EndIndex = CHARINDEX(',', @UserInfo, @StartIndex)
- SET @UserID = CAST(SUBSTRING(@UserInfo, @StartIndex, @EndIndex - @StartIndex) AS INT)
- SET @StartIndex = @EndIndex + 1
-
- SET @EndIndex = CHARINDEX(',', @UserInfo, @StartIndex)
- SET @Fee = CAST(SUBSTRING(@UserInfo, @StartIndex, @EndIndex - @StartIndex) AS BIGINT)
- SET @StartIndex = @EndIndex + 1
-
- SET @EndIndex = CHARINDEX(',', @UserInfo, @StartIndex)
- SET @Tax = CAST(SUBSTRING(@UserInfo, @StartIndex, @EndIndex - @StartIndex) AS BIGINT)
- SET @StartIndex = @EndIndex + 1
-
- SET @EndIndex = CHARINDEX(',', @UserInfo, @StartIndex)
- SET @AwardAmount = CAST(SUBSTRING(@UserInfo, @StartIndex, @EndIndex - @StartIndex) AS BIGINT)
- SET @StartIndex = @EndIndex + 1
-
- SET @EndIndex = CHARINDEX(';', @UserInfo, @StartIndex)
- SET @Score = CAST(SUBSTRING(@UserInfo, @StartIndex, @EndIndex - @StartIndex) AS INT)
- SET @StartIndex = @EndIndex + 1
-
- --初始化表变量
- INSERT INTO @tmptable
- (
- ChairNo, UserID, Fee, Tax, AwardAmount, Score
- )
- VALUES
- (
- @ChairNo, @UserID, @Fee, @Tax, @AwardAmount, @Score
- )
- END
-
- --椅子记录
- INSERT INTO [ChairHistory]
- (
- RoomID, ChairNo, UserID, Fee, Tax, AwardAmount, Crdate, Score
- )
- SELECT
- @RoomID, ChairNo, UserID, Fee, Tax, AwardAmount, @RoomCrdate, Score
- FROM
- @tmptable
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_PrizePool_GetEnergy] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_PrizePool_GetEnergy]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 用户奖池能量
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_PrizePool_GetEnergy]
- @UserID INT, --用户ID
- @RoomName VARCHAR(32) --房间名称
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT Energy FROM [PrizePoolEnergy] WHERE UserID = @UserID AND RoomName = @RoomName
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_PrizePool_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_PrizePool_GetInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 奖池信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_PrizePool_GetInfo]
- @RoomName VARCHAR(32), --房间名称
- @Pool INT OUTPUT --奖池
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SET @Pool = 0
-
- SELECT @Pool = Pool FROM [PrizePool] WHERE RoomName = @RoomName
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_PrizePool_ModifyEnergy] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_PrizePool_ModifyEnergy]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 用户奖池能量修改
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_PrizePool_ModifyEnergy]
- @UserID INT, --用户ID
- @RoomName VARCHAR(32), --房间名称
- @Energy INT --能量
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --修改
- UPDATE [PrizePoolEnergy] SET Energy = @Energy WHERE UserID = @UserID AND RoomName = @RoomName
-
- IF(@@ROWCOUNT > 0)
- RETURN
-
- --初始化
- INSERT INTO [PrizePoolEnergy](UserID, RoomName, Energy) VALUES(@UserID, @RoomName, @Energy)
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_PrizePool_Update] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_PrizePool_Update]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 奖池更新
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_PrizePool_Update]
- @RoomName VARCHAR(32), --房间名称
- @Pool INT --奖池
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --修改
- UPDATE [PrizePool] SET Pool = @Pool WHERE RoomName = @RoomName
-
- IF(@@ROWCOUNT > 0)
- RETURN
-
- --初始化
- INSERT INTO [PrizePool](RoomName, Pool) VALUES(@RoomName, @Pool)
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_PrizeWheel_AddRecord] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_PrizeWheel_AddRecord]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-09
- -- Mendor: wolf
- -- Alter Date: 2014-12-22
- -- Description: 转盘添加记录
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_PrizeWheel_AddRecord]
- @UserID INT, --用户ID
- @WheelID INT, --转盘ID
- @Items VARCHAR(256) --奖励
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --添加记录
- INSERT INTO [UserPrizeWheelHistory]
- (
- UserID, WheelID, Items, Crdate
- )
- VALUES
- (
- @UserID, @WheelID, @Items, GETDATE()
- )
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_PrizeWheel_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_PrizeWheel_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 转盘奖励
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_PrizeWheel_GetList]
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- Rid, Chance, Items
- FROM
- [PrizeWheel]
- ORDER BY
- Rid ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_PrizeWheel_GetRecord] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_PrizeWheel_GetRecord]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-09
- -- Mendor: wolf
- -- Alter Date: 2014-12-22
- -- Description: 转盘获取记录
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_PrizeWheel_GetRecord]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT TOP 50
- h.UserID, u.NickName, h.WheelID, h.Items,
- CONVERT(VARCHAR(20), h.Crdate, 120) AS Crdate
- FROM
- [UserPrizeWheelHistory] h INNER JOIN [AllUser] u ON h.UserID = u.UserID
- ORDER BY
- h.Rid DESC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_PrizeWheel_GetUserInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_PrizeWheel_GetUserInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-09
- -- Mendor: wolf
- -- Alter Date: 2014-12-22
- -- Description: 转盘用户信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_PrizeWheel_GetUserInfo]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --获取次数
- SELECT Times, CONVERT(VARCHAR(20), Crdate, 120) AS Crdate FROM [UserPrizeWheel] WHERE UserID = @UserID
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_PrizeWheel_UpdateUserInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_PrizeWheel_UpdateUserInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-09
- -- Mendor: wolf
- -- Alter Date: 2014-12-22
- -- Description: 修改转盘用户信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_PrizeWheel_UpdateUserInfo]
- @UserID INT, --用户ID
- @Times INT --操作次数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --更新信息
- UPDATE
- [UserPrizeWheel]
- SET
- Times = @Times, Crdate = GETDATE()
- WHERE
- UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- --生成转盘信息
- INSERT INTO [UserPrizeWheel](UserID, Times, Crdate) VALUES(@UserID, @Times, GETDATE())
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Purchase_Bet] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Purchase_Bet]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-02-06
- -- Mendor: wolf
- -- Alter Date: 2016-09-11
- -- Description: 100购活动抽奖
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Purchase_Bet]
- @UserID INT, --用户ID
- @SN INT, --期数
- @Number INT --中奖码
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT
-
- SET @RetCode = 0
- INSERT INTO [UserPurchase]
- (
- UserID, SN, Number
- )
- VALUES
- (
- @UserID, @SN, @Number
- )
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Purchase_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Purchase_GetInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-02-06
- -- Mendor: wolf
- -- Alter Date: 2016-09-11
- -- Description: 100购活动信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Purchase_GetInfo]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT TOP 1
- SN, CONVERT(CHAR(23), BeginTime, 121) AS BeginTime,
- CONVERT(CHAR(23), EndTime, 121) AS EndTime, LuckNumber, Status
- FROM
- [Purchase]
- WHERE
- Status > 0
- ORDER BY
- SN DESC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Purchase_GetUserInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Purchase_GetUserInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-02-06
- -- Mendor: wolf
- -- Alter Date: 2016-09-11
- -- Description: 100购活动用户信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Purchase_GetUserInfo]
- @SN INT --期数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- UserID, Number
- FROM
- [UserPurchase]
- WHERE
- SN = @SN
- ORDER BY
- Rid ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Purchase_Open] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Purchase_Open]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-02-06
- -- Mendor: wolf
- -- Alter Date: 2016-09-11
- -- Description: 100购活动开启
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Purchase_Open]
- @SN INT, --期数
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @LuckNumber INT, --中奖码
- @Status INT --状态(0=空闲 1=活动中 2=派奖 3=结束)
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT
-
- SET @RetCode = 0
- INSERT INTO [Purchase]
- (
- SN, BeginTime, EndTime, LuckNumber, Status
- )
- VALUES
- (
- @SN, @BeginTime, @EndTime, @LuckNumber, @Status
- )
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Purchase_Update] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Purchase_Update]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-02-06
- -- Mendor: wolf
- -- Alter Date: 2016-09-11
- -- Description: 100购活动更新
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Purchase_Update]
- @SN INT, --期数
- @LuckNumber INT, --中奖码
- @Status INT --状态(0=空闲 1=活动中 2=派奖 3=结束)
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT
-
- SET @RetCode = 0
- UPDATE
- [Purchase]
- SET
- LuckNumber = @LuckNumber, Status = @Status
- WHERE
- SN = @SN
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Rank_Award] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Rank_Award]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 领取榜单奖励
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Rank_Award]
- @UserID INT, --用户ID
- @RankType TINYINT, --榜单类型
- @DoubleFlag TINYINT --是否双倍(0=单次 1=双倍)
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --2=赢金榜
- IF(@RankType = 2)
- BEGIN
- EXEC [WS_Rank_AwardWin] @UserID = @UserID, @DoubleFlag = @DoubleFlag
- RETURN
- END
-
- --4=积分榜
- ELSE IF(@RankType = 4)
- BEGIN
- EXEC [WS_Rank_AwardScore] @UserID = @UserID, @DoubleFlag = @DoubleFlag
- RETURN
- END
-
- --5=单局最大赢金榜
- ELSE IF(@RankType = 5)
- BEGIN
- EXEC [WS_Rank_AwardMaxWin] @UserID = @UserID, @DoubleFlag = @DoubleFlag
- RETURN
- END
-
- --6=视频榜
- ELSE IF(@RankType = 6)
- BEGIN
- EXEC [WS_Rank_AwardVideo] @UserID = @UserID, @DoubleFlag = @DoubleFlag
- RETURN
- END
-
- --7=收徒榜
- ELSE IF(@RankType = 7)
- BEGIN
- EXEC [WS_Rank_AwardTeacher] @UserID = @UserID, @DoubleFlag = @DoubleFlag
- RETURN
- END
- SELECT 11 AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Rank_AwardMaxWin] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Rank_AwardMaxWin]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 领取单次最大赢金榜奖励
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Rank_AwardMaxWin]
- @UserID INT, --用户ID
- @DoubleFlag TINYINT --是否双倍(0=单次 1=双倍)
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT --操作结果
- DECLARE @IsGift TINYINT --是否领取(0=无效 1=可领取 2=已领取)
- DECLARE @IsDouble TINYINT --是否双倍(0=无效 1=可领取 2=已领取)
-
- SET @RetCode = 0
-
- --返回信息
- SELECT
- @IsGift = IsGift, @IsDouble = IsDouble
- FROM
- [MaxWinRank]
- WHERE
- UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --已经领取过
- IF(@IsGift = 2 AND @IsDouble = 2)
- BEGIN
- SET @RetCode = 12
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --已经领取过
- IF(@DoubleFlag = 0 AND @IsGift = 2)
- BEGIN
- SET @RetCode = 12
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --已经领取过
- IF(@DoubleFlag = 1 AND @IsDouble = 2)
- BEGIN
- SET @RetCode = 12
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --更新领取状态
- UPDATE
- [MaxWinRank]
- SET
- IsGift = 2,
- IsDouble = CASE
- WHEN @DoubleFlag = 1 THEN 2
- ELSE IsDouble
- END
- WHERE
- UserID = @UserID
-
- --返回信息
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Rank_AwardScore] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Rank_AwardScore]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 领取积分榜奖励
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Rank_AwardScore]
- @UserID INT, --用户ID
- @DoubleFlag TINYINT --是否双倍(0=单次 1=双倍)
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT --操作结果
- DECLARE @IsGift TINYINT --是否领取(0=无效 1=可领取 2=已领取)
- DECLARE @IsDouble TINYINT --是否双倍(0=无效 1=可领取 2=已领取)
-
- SET @RetCode = 0
-
- --返回信息
- SELECT
- @IsGift = IsGift, @IsDouble = IsDouble
- FROM
- [ScoreRank]
- WHERE
- UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --已经领取过
- IF(@IsGift = 2 AND @IsDouble = 2)
- BEGIN
- SET @RetCode = 12
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --已经领取过
- IF(@DoubleFlag = 0 AND @IsGift = 2)
- BEGIN
- SET @RetCode = 12
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --已经领取过
- IF(@DoubleFlag = 1 AND @IsDouble = 2)
- BEGIN
- SET @RetCode = 12
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --更新领取状态
- UPDATE
- [ScoreRank]
- SET
- IsGift = 2,
- IsDouble = CASE
- WHEN @DoubleFlag = 1 THEN 2
- ELSE IsDouble
- END
- WHERE
- UserID = @UserID
-
- --返回信息
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Rank_AwardTeacher] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Rank_AwardTeacher]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 领取收徒榜奖励
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Rank_AwardTeacher]
- @UserID INT, --用户ID
- @DoubleFlag TINYINT --是否双倍(0=单次 1=双倍)
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT --操作结果
- DECLARE @IsGift TINYINT --是否领取(0=无效 1=可领取 2=已领取)
- DECLARE @IsDouble TINYINT --是否双倍(0=无效 1=可领取 2=已领取)
-
- SET @RetCode = 0
-
- --返回信息
- SELECT
- @IsGift = IsGift, @IsDouble = IsDouble
- FROM
- [TeacherRank]
- WHERE
- UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --已经领取过
- IF(@IsGift = 2 AND @IsDouble = 2)
- BEGIN
- SET @RetCode = 12
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --已经领取过
- IF(@DoubleFlag = 0 AND @IsGift = 2)
- BEGIN
- SET @RetCode = 12
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --已经领取过
- IF(@DoubleFlag = 1 AND @IsDouble = 2)
- BEGIN
- SET @RetCode = 12
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --更新领取状态
- UPDATE
- [TeacherRank]
- SET
- IsGift = 2,
- IsDouble = CASE
- WHEN @DoubleFlag = 1 THEN 2
- ELSE IsDouble
- END
- WHERE
- UserID = @UserID
-
- --返回信息
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Rank_AwardVideo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Rank_AwardVideo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 领取视频榜奖励
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Rank_AwardVideo]
- @UserID INT, --用户ID
- @DoubleFlag TINYINT --是否双倍(0=单次 1=双倍)
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT --操作结果
- DECLARE @IsGift TINYINT --是否领取(0=无效 1=可领取 2=已领取)
- DECLARE @IsDouble TINYINT --是否双倍(0=无效 1=可领取 2=已领取)
-
- SET @RetCode = 0
-
- --返回信息
- SELECT
- @IsGift = IsGift, @IsDouble = IsDouble
- FROM
- [VideoRank]
- WHERE
- UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --已经领取过
- IF(@IsGift = 2 AND @IsDouble = 2)
- BEGIN
- SET @RetCode = 12
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --已经领取过
- IF(@DoubleFlag = 0 AND @IsGift = 2)
- BEGIN
- SET @RetCode = 12
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --已经领取过
- IF(@DoubleFlag = 1 AND @IsDouble = 2)
- BEGIN
- SET @RetCode = 12
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --更新领取状态
- UPDATE
- [VideoRank]
- SET
- IsGift = 2,
- IsDouble = CASE
- WHEN @DoubleFlag = 1 THEN 2
- ELSE IsDouble
- END
- WHERE
- UserID = @UserID
-
- --返回信息
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Rank_AwardWin] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Rank_AwardWin]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 领取积分榜奖励
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Rank_AwardWin]
- @UserID INT, --用户ID
- @DoubleFlag TINYINT --是否双倍(0=单次 1=双倍)
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT --操作结果
- DECLARE @IsGift TINYINT --是否领取(0=无效 1=可领取 2=已领取)
- DECLARE @IsDouble TINYINT --是否双倍(0=无效 1=可领取 2=已领取)
-
- SET @RetCode = 0
-
- --返回信息
- SELECT
- @IsGift = IsGift, @IsDouble = IsDouble
- FROM
- [WinRank]
- WHERE
- UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --已经领取过
- IF(@IsGift = 2 AND @IsDouble = 2)
- BEGIN
- SET @RetCode = 12
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --已经领取过
- IF(@DoubleFlag = 0 AND @IsGift = 2)
- BEGIN
- SET @RetCode = 12
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --已经领取过
- IF(@DoubleFlag = 1 AND @IsDouble = 2)
- BEGIN
- SET @RetCode = 12
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --更新领取状态
- UPDATE
- [WinRank]
- SET
- IsGift = 2,
- IsDouble = CASE
- WHEN @DoubleFlag = 1 THEN 2
- ELSE IsDouble
- END
- WHERE
- UserID = @UserID
-
- --返回信息
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Rank_GetAwardList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Rank_GetAwardList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 榜单奖励
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Rank_GetAwardList]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- RankType, Rank, Tools
- FROM
- [RankAward]
- ORDER BY
- RankType ASC, Rank ASC, AwardID ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Rank_GetBadgePoints] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Rank_GetBadgePoints]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-07-24
- -- Mendor: wolf
- -- Alter Date: 2023-07-24
- -- Description: 获取徽章点数
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Rank_GetBadgePoints]
- @UserID INT, --用户ID
- @RankType INT --榜单类型
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @PointsAmount BIGINT --徽章点数
- --5=徽章榜
- IF(@RankType = 5)
- BEGIN
- SELECT
- @PointsAmount = SUM(Points)
- FROM
- [UserBadge]
- WHERE
- UserID = @UserID AND Points > 0
- END
- SET @PointsAmount = ISNULL(@PointsAmount, 0)
-
- --返回信息
- SELECT @PointsAmount AS PointsAmount
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Rank_GetCharm] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Rank_GetCharm]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-07-24
- -- Mendor: wolf
- -- Alter Date: 2023-07-24
- -- Description: 获取榜单魅力值
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Rank_GetCharm]
- @UserID INT, --用户ID
- @RankType INT --榜单类型
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @TimeFlag SMALLDATETIME --日期标识
- DECLARE @WeekFlag SMALLDATETIME --周开始
- DECLARE @MonthFlag SMALLDATETIME --月开始
- DECLARE @EndFlag SMALLDATETIME --截止时间
- DECLARE @CharmAmount BIGINT --魅力值
-
- SET @CurrTime = GETDATE()
- SET @TimeFlag = DATEADD(MINUTE, -2, @CurrTime)
- SET @DateFlag = CONVERT(CHAR(10), @TimeFlag, 120)
- SET @MonthFlag = CONVERT(CHAR(8), @TimeFlag, 120) + '01'
-
- --本周日
- SET @WeekFlag = CONVERT(DATE, DATEADD(DAY, -DATEPART(WEEKDAY ,@TimeFlag + @@DATEFIRST - 1) + 7, @TimeFlag))
-
- --本周日还没到,取上周日日期
- IF(@WeekFlag > @DateFlag)
- BEGIN
- SET @WeekFlag = CONVERT(DATE, DATEADD(DAY, -DATEPART(WEEKDAY ,@TimeFlag + @@DATEFIRST - 1) - 0, @TimeFlag))
- END
-
- --8=魅力日榜
- IF(@RankType = 8)
- BEGIN
- SELECT
- @CharmAmount = SUM(Charm)
- FROM
- [UserCharmHistory]
- WHERE
- DateFlag = @DateFlag AND UserID = @UserID AND Charm > 0
- END
-
- --9=魅力周榜
- ELSE IF(@RankType = 9)
- BEGIN
- SELECT
- @CharmAmount = SUM(Charm)
- FROM
- [UserCharmHistory]
- WHERE
- DateFlag >= @WeekFlag AND DateFlag < @EndFlag AND UserID = @UserID AND Charm > 0
- END
-
- --10=魅力月榜
- ELSE IF(@RankType = 10)
- BEGIN
- SELECT
- @CharmAmount = SUM(Charm)
- FROM
- [UserCharmHistory]
- WHERE
- DateFlag >= @MonthFlag AND DateFlag < @EndFlag AND UserID = @UserID AND Charm > 0
- END
- SET @CharmAmount = ISNULL(@CharmAmount, 0)
-
- --返回信息
- SELECT @CharmAmount AS CharmAmount
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Rank_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Rank_GetInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 榜单信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Rank_GetInfo]
- @UserID INT, --用户ID
- @RankType INT --排行榜类型
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @TimeFlag SMALLDATETIME --日期标识
- DECLARE @WeekFlag SMALLDATETIME --周开始
- DECLARE @MonthFlag SMALLDATETIME --月开始
- DECLARE @Amount BIGINT --数额
-
- SET @CurrTime = GETDATE()
- SET @TimeFlag = DATEADD(MINUTE, -2, @CurrTime)
- SET @DateFlag = CONVERT(CHAR(10), @TimeFlag, 120)
- SET @MonthFlag = CONVERT(CHAR(8), @TimeFlag, 120) + '01'
-
- --本周日
- SET @WeekFlag = CONVERT(DATE, DATEADD(DAY, -DATEPART(WEEKDAY ,@TimeFlag + @@DATEFIRST - 1) + 7, @TimeFlag))
-
- --本周日还没到,取上周日日期
- IF(@WeekFlag > @DateFlag)
- BEGIN
- SET @WeekFlag = CONVERT(DATE, DATEADD(DAY, -DATEPART(WEEKDAY ,@TimeFlag + @@DATEFIRST - 1) - 0, @TimeFlag))
- END
-
- --2=每日赚金榜
- IF(@RankType = 2)
- BEGIN
- SELECT
- @Amount = SUM(WinAmount)
- FROM
- [DailyBetStat]
- WHERE
- DateFlag = @DateFlag AND UserID = @UserID AND WinAmount > 0
- END
-
- --3=每周赚金榜
- ELSE IF(@RankType = 3)
- BEGIN
- SELECT
- @Amount = SUM(WinAmount)
- FROM
- [DailyBetStat]
- WHERE
- DateFlag >= @WeekFlag AND UserID = @UserID AND WinAmount > 0
- END
-
- --4=每月赚金榜
- ELSE IF(@RankType = 4)
- BEGIN
- SELECT
- @Amount = SUM(WinAmount)
- FROM
- [DailyBetStat]
- WHERE
- DateFlag >= @MonthFlag AND UserID = @UserID AND WinAmount > 0
- END
-
- --6=语聊房本周榜
- ELSE IF(@RankType = 6)
- BEGIN
- SELECT
- @Amount = SUM(Exps)
- FROM
- [AudioRoomExpLog]
- WHERE
- DateFlag >= @WeekFlag AND UserID = @UserID AND Exps > 0
- END
-
- --7=语聊房上周榜
- ELSE IF(@RankType = 7)
- BEGIN
- SELECT
- @Amount = Amount
- FROM
- [AllRank]
- WHERE
- UserID = @UserID AND RankType = 7
- END
- --8=魅力日榜
- ELSE IF(@RankType = 8)
- BEGIN
- SELECT
- @Amount = SUM(Charm)
- FROM
- [UserCharmHistory]
- WHERE
- DateFlag >= @DateFlag AND UserID = @UserID AND Charm > 0
- END
- --9=魅力周榜
- ELSE IF(@RankType = 9)
- BEGIN
- SELECT
- @Amount = SUM(Charm)
- FROM
- [UserCharmHistory]
- WHERE
- DateFlag >= @WeekFlag AND UserID = @UserID AND Charm > 0
- END
- --10=魅力月榜
- ELSE IF(@RankType = 10)
- BEGIN
- SELECT
- @Amount = SUM(Charm)
- FROM
- [UserCharmHistory]
- WHERE
- DateFlag >= @MonthFlag AND UserID = @UserID AND Charm > 0
- END
- --11=语聊房赠送礼物日榜
- ELSE IF(@RankType = 11)
- BEGIN
- SELECT
- @Amount = SUM(DiamondAmount)
- FROM
- [AudioRoomGiftHistory]
- WHERE
- Crdate >= @DateFlag AND Sender = @UserID
- END
-
- --12=语聊房赠送礼物周榜
- ELSE IF(@RankType = 12)
- BEGIN
- SELECT
- @Amount = SUM(DiamondAmount)
- FROM
- [AudioRoomGiftHistory]
- WHERE
- Crdate >= @WeekFlag AND Sender = @UserID
- END
-
- --13=语聊房赠送礼物月榜
- ELSE IF(@RankType = 13)
- BEGIN
- SELECT
- @Amount = SUM(DiamondAmount)
- FROM
- [AudioRoomGiftHistory]
- WHERE
- Crdate >= @MonthFlag AND Sender = @UserID
- END
-
- --14=语聊房接收礼物日榜
- ELSE IF(@RankType = 14)
- BEGIN
- SELECT
- @Amount = SUM(DiamondAmount)
- FROM
- [AudioRoomGiftHistory]
- WHERE
- Crdate >= @DateFlag AND Receiver = @UserID
- END
-
- --15=语聊房接收礼物周榜
- ELSE IF(@RankType = 15)
- BEGIN
- SELECT
- @Amount = SUM(DiamondAmount)
- FROM
- [AudioRoomGiftHistory]
- WHERE
- Crdate >= @WeekFlag AND Receiver = @UserID
- END
-
- --16=语聊房接收礼物月榜
- ELSE IF(@RankType = 16)
- BEGIN
- SELECT
- @Amount = SUM(DiamondAmount)
- FROM
- [AudioRoomGiftHistory]
- WHERE
- Crdate >= @MonthFlag AND Receiver = @UserID
- END
-
- --17=语聊房房间消耗钻石日榜
- ELSE IF(@RankType = 17)
- BEGIN
- SELECT
- @Amount = SUM(DiamondAmount)
- FROM
- [AudioRoomGiftHistory]
- WHERE
- Crdate >= @DateFlag AND RoomID = @UserID
- END
-
- --18=语聊房房间消耗钻石周榜
- ELSE IF(@RankType = 18)
- BEGIN
- SELECT
- @Amount = SUM(DiamondAmount)
- FROM
- [AudioRoomGiftHistory]
- WHERE
- Crdate >= @WeekFlag AND RoomID = @UserID
- END
-
- --19=语聊房房间消耗钻石月榜
- ELSE IF(@RankType = 19)
- BEGIN
- SELECT
- @Amount = SUM(DiamondAmount)
- FROM
- [AudioRoomGiftHistory]
- WHERE
- Crdate >= @MonthFlag AND RoomID = @UserID
- END
-
- --20=好友房赢局数日榜
- ELSE IF(@RankType = 20)
- BEGIN
- SELECT
- @Amount = SUM(WinCount)
- FROM
- [DailyBetStat]
- WHERE
- DateFlag >= @DateFlag AND UserID = @UserID AND ServerName = 'PrivateRoom'
- END
-
- --21=好友房赢局数周榜
- ELSE IF(@RankType = 21)
- BEGIN
- SELECT
- @Amount = SUM(WinCount)
- FROM
- [DailyBetStat]
- WHERE
- DateFlag >= @WeekFlag AND UserID = @UserID AND ServerName = 'PrivateRoom'
- END
-
- SET @Amount = ISNULL(@Amount, 0)
-
- --返回信息
- SELECT @Amount AS Amount
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Rank_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Rank_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 榜单列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Rank_GetList]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- RankType, Rank, UserID, Amount, IsGift, CONVERT(VARCHAR(20), Crdate, 120) AS Crdate
- FROM
- [AllRank]
- ORDER BY
- RankType ASC, Rank ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Rank_GetMaxWin] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Rank_GetMaxWin]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 单局最大赢金
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Rank_GetMaxWin]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Score BIGINT --积分
- DECLARE @DateFlag SMALLDATETIME
-
- SET @DateFlag = CONVERT(CHAR(10), GETDATE(), 120)
-
- SELECT
- @Score = SUM(WinAmount)
- FROM
- [UserMaxWin]
- WHERE
- DateFlag >= @DateFlag - 1 AND DateFlag < @DateFlag AND UserID = @UserID
-
- SET @Score = ISNULL(@Score, 0)
-
- --返回信息
- SELECT @Score AS Score
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Rank_GetRoomExp] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Rank_GetRoomExp]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 语聊房榜单房间经验
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Rank_GetRoomExp]
- @RoomID INT, --房间ID
- @RankType INT --榜单类型
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @TimeFlag SMALLDATETIME --日期标识
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @WeekFlag SMALLDATETIME --周开始
- DECLARE @Amount INT --数量
-
- SET @CurrTime = GETDATE()
- SET @TimeFlag = DATEADD(MINUTE, -2, @CurrTime)
- SET @DateFlag = CONVERT(CHAR(10), @TimeFlag, 120)
-
- --本周日
- SET @WeekFlag = CONVERT(DATE, DATEADD(DAY, -DATEPART(WEEKDAY ,@TimeFlag + @@DATEFIRST - 1) + 7, @TimeFlag))
-
- --本周日还没到,取上周日日期
- IF(@WeekFlag > @DateFlag)
- BEGIN
- SET @WeekFlag = CONVERT(DATE, DATEADD(DAY, -DATEPART(WEEKDAY ,@TimeFlag + @@DATEFIRST - 1) - 0, @TimeFlag))
- END
- --本周榜单
- IF(@RankType = 6)
- BEGIN
- SELECT
- @Amount = SUM(Exps)
- FROM
- [AudioRoomExpLog]
- WHERE
- DateFlag >= @WeekFlag AND RoomID = @RoomID AND Exps > 0
- END
-
- --上周榜单
- ELSE IF(@RankType = 7)
- BEGIN
- SELECT @Amount = Amount FROM [AudioRoomLastWeekRank] WHERE UserID = @RoomID
- END
-
- SET @Amount = ISNULL(@Amount, 0)
-
- --返回信息
- SELECT @Amount AS Amount
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Rank_GetTeacher] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Rank_GetTeacher]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 收徒榜信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Rank_GetTeacher]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Score BIGINT --积分
- DECLARE @DateFlag SMALLDATETIME
-
- SET @DateFlag = CONVERT(CHAR(10), GETDATE(), 120)
-
- SELECT
- @Score = COUNT(StudentID)
- FROM
- [UserTeacher]
- WHERE
- Crdate >= @DateFlag - 1 AND Crdate < @DateFlag AND TeacherID = @UserID
-
- SET @Score = ISNULL(@Score, 0)
-
- --返回信息
- SELECT @Score AS Score
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Rank_GetUserScore] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Rank_GetUserScore]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 积分
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Rank_GetUserScore]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Score BIGINT --积分
-
- SELECT
- @Score = SUM(Score)
- FROM
- [UserScore]
- WHERE
- DateFlag >= CONVERT(CHAR(10), GETDATE() - 1, 120) AND UserID = @UserID
-
- SET @Score = ISNULL(@Score, 0)
-
- --返回信息
- SELECT @Score AS Score
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Rank_GetVideo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Rank_GetVideo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 视频榜信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Rank_GetVideo]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Score BIGINT --积分
- DECLARE @DateFlag SMALLDATETIME
-
- SET @DateFlag = CONVERT(CHAR(10), GETDATE(), 120)
-
- SELECT
- @Score = SUM(VideoPlayTimes)
- FROM
- [UserDailyStat]
- WHERE
- DateFlag >= @DateFlag - 1 AND DateFlag < @DateFlag AND UserID = @UserID
-
- SET @Score = ISNULL(@Score, 0)
-
- --返回信息
- SELECT @Score AS Score
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Rank_GetWinAmount] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Rank_GetWinAmount]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 盈利额
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Rank_GetWinAmount]
- @UserID INT, --用户ID
- @RankType INT --榜单类型
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @TimeFlag SMALLDATETIME --日期标识
- DECLARE @WeekFlag SMALLDATETIME --周开始
- DECLARE @MonthFlag SMALLDATETIME --月开始
- DECLARE @EndFlag SMALLDATETIME --截止时间
- DECLARE @WinAmount BIGINT --盈利额
-
- SET @CurrTime = GETDATE()
- SET @TimeFlag = DATEADD(MINUTE, -2, @CurrTime)
- SET @DateFlag = CONVERT(CHAR(10), @TimeFlag, 120)
- SET @MonthFlag = CONVERT(CHAR(8), @TimeFlag, 120) + '01'
-
- --本周日
- SET @WeekFlag = CONVERT(DATE, DATEADD(DAY, -DATEPART(WEEKDAY ,@TimeFlag + @@DATEFIRST - 1) + 7, @TimeFlag))
-
- --本周日还没到,取上周日日期
- IF(@WeekFlag > @DateFlag)
- BEGIN
- SET @WeekFlag = CONVERT(DATE, DATEADD(DAY, -DATEPART(WEEKDAY ,@TimeFlag + @@DATEFIRST - 1) - 0, @TimeFlag))
- END
-
- --2=每日赚金榜
- IF(@RankType = 2)
- BEGIN
- SELECT
- @WinAmount = SUM(WinAmount)
- FROM
- [DailyBetStat]
- WHERE
- DateFlag = @DateFlag AND UserID = @UserID AND WinAmount > 0
- END
-
- --3=每周赚金榜
- ELSE IF(@RankType = 3)
- BEGIN
- SELECT
- @WinAmount = SUM(WinAmount)
- FROM
- [DailyBetStat]
- WHERE
- DateFlag >= @WeekFlag AND DateFlag < @EndFlag AND UserID = @UserID AND WinAmount > 0
- END
-
- --4=每月赚金榜
- ELSE IF(@RankType = 4)
- BEGIN
- SELECT
- @WinAmount = SUM(WinAmount)
- FROM
- [DailyBetStat]
- WHERE
- DateFlag >= @MonthFlag AND DateFlag < @EndFlag AND UserID = @UserID AND WinAmount > 0
- END
- SET @WinAmount = ISNULL(@WinAmount, 0)
-
- --返回信息
- SELECT @WinAmount AS WinAmount
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Rank_ReloadBadgeRanking] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Rank_ReloadBadgeRanking]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-10-20
- -- Mendor: wolf
- -- Alter Date: 2023-10-20
- -- Description: 重新加载徽章排名
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Rank_ReloadBadgeRanking]
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME -- 当前日期
- SET @CurrTime = GETDATE()
- IF(DATEPART(MINUTE, @CurrTime) < 3)
- BEGIN
- SET @CurrTime = DATEADD(MINUTE, -3, @CurrTime)
- END
- --删除榜单数据(5=徽章榜)
- DELETE FROM [AllRank] WHERE RankType = 5
- --5=徽章榜
- INSERT INTO [AllRank]
- (
- RankType, Rank, UserID, Amount, Crdate, IsGift
- )
- SELECT TOP 50
- 5, ROW_NUMBER() OVER(ORDER BY SUM(Points) DESC) AS Rank, UserID, SUM(Points), @CurrTime, 1
- FROM
- [UserBadge]
- WHERE
- Points > 0
- GROUP BY
- UserID
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_RechargeCard_Use] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_RechargeCard_Use]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 充值卡使用
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_RechargeCard_Use]
- @UserID INT, --用户ID
- @CardNo VARCHAR(32) --卡号
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT --操作结果
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @GoldAmount BIGINT --金币数
- DECLARE @ErrorTimes INT --错误次数
- DECLARE @Crdate DATETIME --时间
- DECLARE @CoolSeconds INT --冷却时长
-
- SET @RetCode = 0
- SET @GoldAmount = 0
- SET @ErrorTimes = 0
- SET @CoolSeconds = 0
- SET @CurrTime = GETDATE()
-
- --充值卡已使用
- IF EXISTS(SELECT CardNo FROM [RechargeCard] WHERE CardNo = @CardNo AND UserID > 0)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode, @GoldAmount AS GoldAmount, @CoolSeconds AS CoolSeconds
- RETURN
- END
-
- --获取充值卡日志
- SELECT
- @ErrorTimes = ErrorTimes, @Crdate = Crdate
- FROM
- [CardErrorLog]
- WHERE
- UserID = @UserID
-
- --初始化数据
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [CardErrorLog]
- (
- UserID, ErrorTimes, Crdate
- )
- VALUES
- (
- @UserID, 0, @CurrTime
- )
- END
-
- --每5秒仅能输入1次兑换码
- IF(@Crdate >= DATEADD(SECOND, -5, @CurrTime))
- BEGIN
- SET @RetCode = 12
- SELECT @RetCode AS RetCode, @GoldAmount AS GoldAmount, @CoolSeconds AS CoolSeconds
- RETURN
- END
-
- --当5分钟内连续输错10次兑换码时,禁止使用此功能5分钟
- IF(@Crdate >= DATEADD(MINUTE, -5, @CurrTime) AND @ErrorTimes >= 10)
- BEGIN
- SET @RetCode = 13
- --计算冷却时间
- SET @CoolSeconds = DATEDIFF(SECOND, @CurrTime, DATEADD(MINUTE, 5, @Crdate))
- SELECT @RetCode AS RetCode, @GoldAmount AS GoldAmount, @CoolSeconds AS CoolSeconds
- RETURN
- END
-
- --使用充值卡
- UPDATE
- [RechargeCard]
- SET
- UserID = @UserID, UseTime = @CurrTime, @GoldAmount = GoldAmount
- WHERE
- CardNo = @CardNo AND UserID <= 0
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- --超过5分钟
- IF(@Crdate < DATEADD(MINUTE, -5, @CurrTime))
- BEGIN
- SET @ErrorTimes = 0
- END
-
- --错误次数+1
- UPDATE
- [CardErrorLog]
- SET
- ErrorTimes = @ErrorTimes + 1, Crdate = @CurrTime
- WHERE
- UserID = @UserID
-
- SET @RetCode = 14
- SELECT @RetCode AS RetCode, @GoldAmount AS GoldAmount, @CoolSeconds AS CoolSeconds
- RETURN
- END
-
- --充值卡使用记录
- UPDATE [CardErrorLog] SET ErrorTimes = 0, Crdate = @CurrTime WHERE UserID = @UserID
-
- --使用成功
- SET @RetCode = 1
- SELECT @RetCode AS RetCode, @GoldAmount AS GoldAmount, @CoolSeconds AS CoolSeconds
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_RedPoint_Check] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_RedPoint_Check]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-17
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 小红点检查
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_RedPoint_Check]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @SignTime DATETIME --签到时间
- DECLARE @MailTip TINYINT --邮件提醒
- DECLARE @MailVIPTip TINYINT --重要邮件提醒
- DECLARE @MsgTip TINYINT --留言提醒
- DECLARE @SpreadTip TINYINT --邀请(推广)提醒
- DECLARE @ReviewTip TINYINT --评论提醒
-
- SET @CurrTime = GETDATE()
- SET @SignTime = '2021-01-01'
- SET @MailTip = 0
- SET @MailVIPTip = 0
- SET @MsgTip = 0
- SET @SpreadTip = 0
- SET @ReviewTip = 0
-
- --最近签到时间
- SELECT TOP 1 @SignTime = Crdate FROM [UserSigninHistory] WHERE UserID = @UserID ORDER BY Rid DESC
- --未读邮件
- SELECT
- @MailTip = CASE WHEN MsgType = 0 THEN 1 ELSE @MailTip END, -- 0=普通邮件
- @MailVIPTip = CASE WHEN MsgType = 1 THEN 1 ELSE @MailVIPTip END -- 1=重要邮件
- FROM
- [SysMessage]
- WHERE
- UserID = @UserID AND Crdate >= @CurrTime - 3 AND Status = 0
-
- --留言提醒
- IF EXISTS(SELECT TOP 1 MessageID FROM [ServiceMessage] WHERE ToUserID = @UserID AND Crdate > @CurrTime - 3 AND IsRead = 0)
- BEGIN
- SET @MsgTip = 1
- END
-
- --邀请(推广)提醒
- IF EXISTS(SELECT TOP 1 Code FROM [SpreadMember] WHERE Code = @UserID AND IsGift = 0)
- BEGIN
- SET @SpreadTip = 1
- END
-
- --状态
- IF EXISTS(SELECT TOP 1 UserID FROM [UserReview] WHERE UserID = @UserID AND AppName = 'google' AND Status = 0)
- BEGIN
- SET @ReviewTip = 1
- END
-
- --返回信息
- SELECT
- CONVERT(VARCHAR(20), @SignTime, 120) AS SignTime, @MailTip AS MailTip, @MsgTip AS MsgTip,
- @SpreadTip AS SpreadTip, @ReviewTip AS ReviewTip, 0 AS AgentGrade, @MailVIPTip AS MailVIPTip
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Request_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Request_GetInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-03-13
- -- Mendor: wolf
- -- Alter Date: 2015-11-05
- -- Description: 游戏审核显示的游戏名
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Request_GetInfo]
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- PartnerID, VersionCode, GameName
- FROM
- [GameRequest]
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Review_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Review_GetInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-04
- -- Mendor: wolf
- -- Alter Date: 2015-04-03
- -- Description: 获取评论信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Review_GetInfo]
- @UserID INT, --用户ID
- @AppName VARCHAR(32) --应用名称
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT --操作结果 1=可以领取 11=已经领取过 12=玩家连续登录未超过2天 13=玩家在游戏未充值或者平台、游戏内累计观看视频未超过3次
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @RegTime SMALLDATETIME --注册日期
- DECLARE @PayMoney DECIMAL(18, 2) --充值金额
- DECLARE @Status TINYINT --状态
-
- SET @RetCode = 13
- SET @CurrTime = GETDATE()
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
-
- --状态
- SELECT @Status = Status FROM [UserReview] WHERE UserID = @UserID AND AppName = @AppName
-
- --用户评论
- IF(@Status = 1)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --判断是否连续2天登录
- IF NOT EXISTS(SELECT Crdate FROM [UserLoginLog_bak] WHERE Crdate >= @DateFlag - 1 AND Crdate < @DateFlag AND UserID = @UserID)
- BEGIN
- SET @RetCode = 12
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --用户信息
- SELECT @PayMoney = PayMoney, @RegTime = CONVERT(CHAR(10), RegTime, 120) FROM [AllUser] WHERE UserID = @UserID
-
- --有充值
- IF(@PayMoney > 0)
- BEGIN
- SET @RetCode = 1
- END
-
- --充值或观看视频超过3次
- IF((SELECT SUM(VideoPlayTimes) FROM [UserDailyStat] WHERE DateFlag >= @RegTime AND UserID = @UserID) >= 3)
- BEGIN
- SET @RetCode = 1
- END
-
- --首次触发
- IF(@Status IS NULL)
- BEGIN
- --记录
- INSERT INTO [UserReview]
- (
- UserID, AppName, Status, Crdate
- )
- VALUES
- (
- @UserID, @AppName, 0, GETDATE()
- )
- END
-
- --返回信息
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Review_Gift] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Review_Gift]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-04
- -- Mendor: wolf
- -- Alter Date: 2015-04-03
- -- Description: 领取评论
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Review_Gift]
- @UserID INT, --用户ID
- @AppName VARCHAR(32) --应用名称
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --领取
- UPDATE
- [UserReview]
- SET
- Status = 1
- WHERE
- UserID = @UserID AND AppName = @AppName AND Status = 0
-
- IF(@@ROWCOUNT > 0)
- BEGIN
- SELECT 1 AS RetCode
- RETURN
- END
-
- SELECT 0 AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_SafeBox_Transfer] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- /*************************
- 用途:保险柜转账
- 说明:税为0%、单次转账最大额1E、最小额100、
- 说明:同时判断接收方加金币不超过20E(INT最大值)
- **************************/
- CREATE PROCEDURE [dbo].[WS_SafeBox_Transfer]
- @UserID INT, --转账方ID
- @AcceptUserID INT, --接收方ID
- @WantAmount BIGINT, --要转多少金币,保证为正数
- @Esafeboxpwd VARCHAR(32), --保险柜密码
- @IPAddress VARCHAR(15), --IP地址
- @ErrMsg NVARCHAR(128) OUTPUT, --消息
- @StillAmount BIGINT OUTPUT, --剩余保险柜
- @RetCode INT OUTPUT --操作结果
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @MAX_AMOUNT BIGINT --单次转账最大量
- DECLARE @MIN_AMOUNT BIGINT --单次转账最小量
- DECLARE @AcceptCurrAmount BIGINT --接收者的当前金币量
- DECLARE @TaxAmount BIGINT --税
- DECLARE @CurrAmount BIGINT --当前的金币量
- DECLARE @TotalAmount BIGINT --实际总共改变的金币量,等于@WantAmount +@TaxAmount
- DECLARE @NickName NVARCHAR(32) --昵称
- DECLARE @AcceptNickName NVARCHAR(32) --接收方昵称
- DECLARE @AcceptStillAmount BIGINT --接收者剩余金币
- DECLARE @CurrTime DATETIME --时间
- DECLARE @Msg NVARCHAR(256) --消息
- DECLARE @DailyTransferAmount BIGINT --日转账
- DECLARE @TransferAmount BIGINT --转账金额
- DECLARE @SysMsgID INT
- SET @StillAmount = 0
- SET @TaxAmount = 0
- SET @TotalAmount = @WantAmount + @TaxAmount -- 消耗的金币 = 转出的金币+税
- SET @NickName = ''
- SET @AcceptNickName = ''
- SET @MAX_AMOUNT = 100000000
- SET @MIN_AMOUNT = 1
- SET @RetCode = 0
- SET @CurrTime = GETDATE()
-
- IF(@WantAmount IS NULL OR @WantAmount < 0)
- BEGIN
- SET @RetCode = -1
- SET @ErrMsg = N'Safe amount input error'
- RETURN
- END
-
- IF(@UserID IS NULL OR @AcceptUserID IS NULL OR @UserID < 0 OR @AcceptUserID < 0)
- BEGIN
- IF @UserID IS NULL
- SET @UserID = 0
- IF @AcceptUserID IS NULL
- SET @AcceptUserID = 0
-
- INSERT INTO [MoneyLog]
- (
- [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- 0, 'BANK', @UserID, 0, -@WantAmount,
- 0, @TaxAmount, @IPAddress, N'Safe transfer:Incoming user parameter error', @CurrTime, 0
- )
-
- SET @RetCode = -2
- SET @ErrMsg = N'User parameter error'
- RETURN
- END
-
- IF(@WantAmount < @MIN_AMOUNT OR @WantAmount > @MAX_AMOUNT)
- BEGIN
- INSERT INTO [MoneyLog]
- (
- [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- 0, 'BANK', @UserID, 0, -@WantAmount,
- 0, @TaxAmount, @IPAddress, N'Safe transfer:Incoming amount error', @CurrTime, 0
- )
- SET @RetCode = -3
- SET @ErrMsg = N'The transfer amount of safe exceeds the limit'
- RETURN
- END
-
- --获取当前自己的昵称
- SELECT @NickName = NickName FROM [AllUser] WHERE UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [MoneyLog]
- (
- [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- 0, 'BANK', @UserID, 0, -@WantAmount,
- 0, @TaxAmount, @IPAddress, N'Safe transfer:Incoming user parameter error', @CurrTime, 0
- )
-
- SET @RetCode = -2
- SET @ErrMsg = N'User parameter error'
- RETURN
- END
-
- --获取当前自己的昵称
- SELECT @AcceptNickName = NickName FROM [AllUser] WHERE UserID = @AcceptUserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [MoneyLog]
- (
- [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- 0, 'BANK', @UserID, 0, -@WantAmount,
- 0, @TaxAmount, @IPAddress, N'Safe transfer:Receive ID does not exist', @CurrTime, 0
- )
-
- SET @RetCode = -5
- SET @ErrMsg = N'Receive ID does not exist'
- RETURN
- END
- --日转账限额
- SELECT @DailyTransferAmount = DailyTransferAmount FROM [PlatformConfig] WHERE ConfigID = 1
- --有设置转账限额
- IF(@DailyTransferAmount > 0)
- BEGIN
- --今天转账金额
- SELECT
- @TransferAmount = ISNULL(SUM(-WantAmount), 0)
- FROM
- [TransferLog]
- WHERE
- Crdate >= CONVERT(CHAR(10), @CurrTime, 120) AND UserID = @UserID
- --判断是否达到上限
- IF((@TransferAmount + @WantAmount) > @DailyTransferAmount)
- BEGIN
- SET @RetCode = -9
- SET @ErrMsg = N'Up to today transfer limit'
- RETURN
- END
- END
-
- SET @AcceptCurrAmount = (SELECT [Bank] FROM [Money] WHERE [UserID] = @AcceptUserID)
- IF @AcceptCurrAmount IS NULL
- SET @AcceptCurrAmount = 0
-
- --接收方的现金看会不会超过INT值的最大限度,一个账号上现金最多接收转账不超过10E
- IF(@AcceptCurrAmount + @WantAmount > 1000000000)
- BEGIN
- INSERT INTO [MoneyLog]
- (
- [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- 0, 'BANK', @UserID, 0, @WantAmount,
- 0, @TaxAmount, @IPAddress, N'Safe transfer:The amount is too large!', @CurrTime, 0
- )
-
- SET @RetCode = -6
- SET @ErrMsg = N'The receiver safe is more than 10 million yuan and cannot be sent!'
- RETURN
- END
-
- --开始金币的转账操作
- SET TRANSACTION ISOLATION LEVEL REPEATABLE READ
- BEGIN TRAN
-
- --检查用户现金
- SET @CurrAmount = (SELECT [Bank] FROM [Money] WHERE [UserID] = @UserID)
- IF @CurrAmount IS NULL
- SET @CurrAmount = 0
-
- IF(@CurrAmount < @TotalAmount)
- BEGIN
- ROLLBACK TRAN
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
-
- INSERT INTO [MoneyLog]
- (
- [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- VALUES
- (
- 0, 'BANK', @UserID, 0, @WantAmount,
- 0, @TaxAmount, @IPAddress, N'Safe transfer:Cash is not enough', @CurrTime, 0
- )
-
- SET @RetCode = -7
- SET @ErrMsg = N'Your current safe is not less than the amount sent'
- RETURN
- END
-
- --可以进行保险柜操作了
- UPDATE [Money] SET [Bank] = [Bank] - @TotalAmount WHERE [UserID] = @UserID
-
- UPDATE [Money] SET [Bank] = [Bank] + @WantAmount WHERE [UserID] = @AcceptUserID
-
- IF(@@RowCount = 0)
- BEGIN
- INSERT INTO [Money]
- (
- [UserID],[Amount], RegisterTime, RefreshTime, bank
- )
- VALUES
- (
- @AcceptUserID, @WantAmount, @CurrTime, @CurrTime, 0
- )
- END
- COMMIT TRAN
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
-
- --写日志
- INSERT INTO [MoneyLog]
- (
- [GameID], [MoneyType], [UserID], [CurrentAmount], [ModifyAmount],
- [StillAmount], [TaxAmount], [IPAddress], [Remark], [Crdate], [LogType]
- )
- SELECT
- 0, 'BANK', @AcceptUserID, @AcceptCurrAmount, @WantAmount,
- @AcceptCurrAmount + @WantAmount, @TaxAmount, @IPAddress, N'Safe transfer:Receiving OK', @CurrTime, 11
-
- UNION ALL
-
- SELECT
- 0, 'BANK', @UserID, @CurrAmount, -@WantAmount,
- @CurrAmount - @WantAmount, @TaxAmount, @IPAddress, N'Safe transfer:Send OK', @CurrTime, 111
-
- --剩余金币
- SET @StillAmount = @CurrAmount - @TotalAmount
- SET @AcceptStillAmount = @AcceptCurrAmount + @WantAmount
-
- SET @ErrMsg = N'Safe transfer succeeded, you have sent ' + CAST(@WantAmount AS VARCHAR(32)) + ',You still have the safe account ' + CAST(@StillAmount AS VARCHAR(32))
- --保险柜日志
- INSERT INTO [BankLog]
- (
- UserID, ToUserID, CurrentAmount, WantedAmount, StillAmount, remark, Crdate, IPAddress
- )
- SELECT @UserID, @AcceptUserID, @CurrAmount, -@WantAmount, @StillAmount, N'Safe transfer out', @CurrTime, @IPAddress
- UNION ALL
- SELECT @AcceptUserID, @UserID, @AcceptCurrAmount, @WantAmount, @AcceptStillAmount, N'Safe transfer in', @CurrTime, @IPAddress
- --转账日志
- INSERT INTO [TransferLog]
- (
- [UserID], [NickName],[CurrAmount],[WantAmount], [StillAmount],
- [AcceptUserID], [AcceptNickName], [AcceptCurrAmount], [AcceptWantAmount], [AcceptStillAmount],
- [TaxAmount], [IPAddress], [Memo], [Crdate]
- )
- VALUES
- (
- @UserID, @NickName, @CurrAmount, -@WantAmount, @StillAmount,
- @AcceptUserID, @AcceptNickName, @AcceptCurrAmount, @WantAmount, @AcceptStillAmount,
- @TaxAmount, @IPAddress, @ErrMsg, @CurrTime
- )
- SET @Msg = N'You recieved a transfer from ' + LTRIM(STR(@UserID)) + '(' + @NickName + ').'
- --发送消息
- EXEC [WS_SysMessage_Send] @UserID = @AcceptUserID, @Title = N'System', @Content = @Msg, @Status = 0, @SourceName = 'Transfer',
- @Crdate = @CurrTime, @Tools = '', @SysMsgID = @SysMsgID OUTPUT
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_SavingPot_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_SavingPot_GetInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-06-28
- -- Mendor: wolf
- -- Alter Date: 2023-06-28
- -- Description: 存钱罐信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_SavingPot_GetInfo]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- UserID, BuyTimes, BuyAmount,
- dbo.fn_TimeToStamp(UpdateTime) AS UpdateTime
- FROM
- [UserSavingPot]
- WHERE
- UserID = @UserID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_SavingPot_Update] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_SavingPot_Update]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-06-28
- -- Mendor: wolf
- -- Alter Date: 2023-06-28
- -- Description: 存钱罐更新
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_SavingPot_Update]
- @UserID INT, --用户ID
- @BuyTimes INT,
- @BuyAmount INT,
- @UpdateTime INT
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --更新
- UPDATE
- [UserSavingPot]
- SET
- BuyTimes = @BuyTimes, BuyAmount = @BuyAmount,
- UpdateTime = dbo.fn_StampToTime(@UpdateTime)
- WHERE
- UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserSavingPot]
- (
- UserID, BuyTimes, BuyAmount, UpdateTime
- )
- VALUES
- (
- @UserID, @BuyTimes, @BuyAmount, dbo.fn_StampToTime(@UpdateTime)
- )
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_ServiceMessage_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_ServiceMessage_GetList]
- -- @UserID = 1
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-08-29
- -- Mendor: wolf
- -- Alter Date: 2015-08-13
- -- Description: 获取客服留言列表(分页显示)
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_ServiceMessage_GetList]
- @UserID INT, --用户ID
- @MessageID INT, --客服留言ID
- @SendImgCount INT OUTPUT --发送图片次数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Msg VARCHAR(1024) --操作描述
-
- --申请表变量
- DECLARE @tmptable TABLE(
- MessageID INT NOT NULL, --消息ID
- Title VARCHAR(256) NOT NULL, --标题
- UserID INT NOT NULL, --用户ID
- ToUserID INT NOT NULL, --对方用户ID
- Msg NVARCHAR(512) NOT NULL, --消息
- Crdate DATETIME NOT NULL --创建时间
- )
- --获取最新的客服留言ID
- IF(@MessageID > 0)
- BEGIN
- --初始化表变量
- INSERT INTO @tmptable
- (
- MessageID, Title, UserID, ToUserID, Msg, Crdate
- )
- SELECT
- MessageID, Title, UserID, ToUserID, Msg, Crdate
- FROM
- [ServiceMessage]
- WHERE
- (UserID = @UserID OR ToUserID = @UserID) AND MessageID > @MessageID AND Crdate > GETDATE() - 5
- END
- --第1次进来,获取所有客服留言
- ELSE
- BEGIN
- --初始化表变量
- INSERT INTO @tmptable
- (
- MessageID, Title, UserID, ToUserID, Msg, Crdate
- )
- SELECT TOP 50
- MessageID, Title, UserID, ToUserID, Msg, Crdate
- FROM
- [ServiceMessage]
- WHERE
- (UserID = @UserID OR ToUserID = @UserID) AND Crdate > GETDATE() - 5
- ORDER BY
- MessageID DESC
- END
- --置为已读
- UPDATE [ServiceMessage] SET IsRead = 1 WHERE ToUserID = @UserID AND IsRead = 0
-
- --发送图片次数
- SELECT
- @SendImgCount = COUNT(ImgID)
- FROM
- [ServiceMessageImage]
- WHERE
- Crdate >= CONVERT(VARCHAR(10), GETDATE(), 120) AND UserID = @UserID
-
- --可使用次数
- SET @SendImgCount = 15 - @SendImgCount
-
- --返回信息
- SELECT
- MessageID, Title, UserID, ToUserID, Msg, CONVERT(VARCHAR(20), Crdate, 120) AS Crdate
- FROM
- @tmptable
- ORDER BY
- MessageID ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_ServiceMessage_GetTip] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_ServiceMessage_GetTip]
- -- @UserID = 1
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-08-29
- -- Mendor: wolf
- -- Alter Date: 2015-08-13
- -- Description: 获取客服留言提示
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_ServiceMessage_GetTip]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT TOP 1
- MessageID
- FROM
- [ServiceMessage]
- WHERE
- ToUserID = @UserID AND Crdate > GETDATE() - 5 AND IsRead = 0
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_ServiceMessage_Send] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_ServiceMessage_Send]
- -- @UserID = 1,
- -- @Msg = ''
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-08-29
- -- Mendor: wolf
- -- Alter Date: 2016-08-18
- -- Description: 给客服留言
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_ServiceMessage_Send]
- @UserID INT, --用户ID
- @Title NVARCHAR(256), --标题
- @Msg NVARCHAR(512), --留言内容
- @Img VARCHAR(1024) --图片(十六进制)
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @MessageID INT --留言ID
- DECLARE @SendImgCount INT --发送图片次数
-
- SET @MessageID = 0
- SET @SendImgCount = 0
- SET @CurrTime = GETDATE()
- --插入客服留言信息
- INSERT INTO [ServiceMessage]
- (
- UserID, Title, ToUserID, Msg, IsRead, Crdate, OpUserID, OpUserName, TransMsg, TagID
- )
- VALUES
- (
- @UserID, @Title, -1, @Msg, 0, @CurrTime, -1, '', '', 0
- )
-
- --消息ID
- SET @MessageID = SCOPE_IDENTITY()
-
- --发送图片次数
- SELECT
- @SendImgCount = COUNT(MessageID)
- FROM
- [ServiceMessageImage]
- WHERE
- Crdate >= CONVERT(VARCHAR(10), @CurrTime, 120) AND UserID = @UserID
-
- --可使用次数
- SET @SendImgCount = 15 - @SendImgCount
-
- --有图片
- IF(LEN(@Img) > 0)
- BEGIN
- INSERT INTO [ServiceMessageImage]
- (
- MessageID, UserID, Img, Crdate
- )
- VALUES
- (
- @MessageID, @UserID, @Img, @CurrTime
- )
-
- --可使用次数-1
- SET @SendImgCount = @SendImgCount - 1
- END
-
- --返回信息
- SELECT @MessageID AS MessageID, @SendImgCount AS SendImgCount
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_SettleVideo_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_SettleVideo_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 结算视频列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_SettleVideo_GetList]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- GameID, LoseAmount, MaxTimes, MaxRate
- FROM
- [SettleVideo]
- ORDER BY
- LoseAmount ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Share_GetItems] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Share_GetItems]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 分享
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Share_GetItems]
- @UserID INT, --用户ID
- @Reward TINYINT --isReward: 0 表示查询 1 表示领取,需要写数据库
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Items VARCHAR(128) --奖励
- DECLARE @Crdate DATETIME --时间
- DECLARE @DateFlag DATETIME --日期时间
-
- --日期标识
- SET @DateFlag = CONVERT(CHAR(10), GETDATE(), 120)
-
- --获取分享信息
- SELECT @Crdate = Crdate FROM [UserShare] WHERE Crdate >= @DateFlag AND UserID = @UserID
-
- --已经领取过了
- IF(@Crdate > 0)
- RETURN
-
- --物品
- SET @Items = '[{"ItemId":1,"Count":3000}]'
-
- --查询
- IF(@Reward = 0)
- BEGIN
- --返回信息
- SELECT @Items AS Items
- RETURN
- END
-
- --添加
- INSERT INTO [UserShare](UserID, Crdate) VALUES(@UserID, GETDATE())
-
- --返回信息
- SELECT @Items AS Items
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Shop_GetExchangeRate] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Shop_GetExchangeRate]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 获取汇率列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Shop_GetExchangeRate]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- Currency, CountryName, CountryCode, Rate
- FROM
- [ExchangeRate]
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Shop_GetFirstPurchase] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Shop_GetFirstPurchase]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 获取首次充值
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Shop_GetFirstPurchase]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @tmptable TABLE(
- ProductID VARCHAR(32) NOT NULL, --产品ID
- IsFirst TINYINT NOT NULL --是否首次
- )
-
- --初始化表变量
- INSERT INTO @tmptable(ProductID, IsFirst)
- SELECT ProductID, 0 FROM [DiamondMall] WHERE PayType = 1
-
- --获取用户充值
- UPDATE
- @tmptable
- SET
- IsFirst = 1
- WHERE
- ProductID NOT IN (SELECT ProductID FROM [UserRechargeProduct] WHERE UserID = @UserID)
- --返回信息
- SELECT ProductID, IsFirst FROM @tmptable
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Shop_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Shop_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 获取商城列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Shop_GetList]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- ProductID, ProductName, Amount, Price, PayType, IsHot, Bonus, Extra, ShopType, ShowPrice,
- Sort, AnimationType, UserType, IsBottom, ProductDesc
- FROM
- [DiamondMall]
-
- UNION ALL
-
- SELECT
- ProductID, PackName, 1, Price, 1, 0, 0, '', 5, Price,
- 0, 0, 0, 0, ''
- FROM
- [GiftPack]
-
- UNION ALL
-
- SELECT
- ProductID, PackName, 1, Price, 1, 0, 0, '', 6, Price,
- 0, 0, 0, 0, ''
- FROM
- [GrowthPack]
-
- UNION ALL
-
- SELECT
- ProductID, ProductName, 1, Price, 1, 0, 0, '', 7, Price,
- 0, 0, 0, 0, ''
- FROM
- [MonthlyCard]
-
- UNION ALL
-
- SELECT
- ProductID, VipDealName, 1, Price, 1, 0, 0, '', 8, Price,
- 0, 0, 0, 0, ''
- FROM
- [VipDeal]
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Shop_GetLotteryList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Shop_GetLotteryList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 抽奖商城列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Shop_GetLotteryList]
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- ShopType, ProductID, Ratio, MinOdds, MaxOdds
- FROM
- [LotteryMall]
- ORDER BY
- ProductID ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Shop_GetRechargeList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Shop_GetRechargeList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 充值记录列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Shop_GetRechargeList]
- @UserID INT, --用户ID
- @ShopType INT --产品类型
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- IF(@ShopType > 0)
- BEGIN
- --返回信息
- SELECT
- ProductID, ShopType
- FROM
- [UserRechargeProduct]
- WHERE
- UserID = @UserID AND Crdate >= CONVERT(CHAR(10), GETDATE(), 120) AND ShopType = @ShopType
- RETURN
- END
-
- --返回信息
- SELECT
- ProductId, ShopType
- FROM
- [UserRechargeProduct]
- WHERE
- UserID = @UserID AND Crdate >= CONVERT(CHAR(10), GETDATE(), 120)
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Shop_GetShopTypeCount] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Shop_GetShopTypeCount]
- -- @UserID = 0
- -- @ShopType = 0
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 获取商品类型的数量
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Shop_GetShopTypeCount]
- @UserID INT, --用户ID
- @ShopType INT --产品类型
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
-
- --返回信息
- SELECT
- COUNT(ProductID) as Num
- FROM
- [UserRechargeProduct]
- WHERE
- UserID = @UserID AND ShopType = @ShopType
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Sign_GetContinueList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Sign_GetContinueList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 连续签到信息列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Sign_GetContinueList]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT Day, Award FROM [ContinueSignInfo] ORDER BY Day ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Sign_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Sign_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 签到信息列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Sign_GetList]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT SignID, Award, DoubleVipLevel FROM [SignInfo] ORDER BY SignID ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_SigninWheel_DoSignin] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_SigninWheel_DoSignin]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 签到
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_SigninWheel_DoSignin]
- @UserID INT, --用户ID
- @Base INT, --基础数值
- @Multiple INT, --倍率
- @Amount BIGINT, --金币
- @ItemID INT, --道具ID
- @ItemPack VARCHAR(128) --道具
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --添加
- INSERT INTO [UserSigninHistory]
- (
- UserID, Base, Multiple, ItemID, Amount, Crdate, Awards
- )
- VALUES
- (
- @UserID, @Base, @Multiple, @ItemID, @Amount, GETDATE(), @ItemPack
- )
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_SigninWheel_GetConfig] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_SigninWheel_GetConfig]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 签到配置信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_SigninWheel_GetConfig]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT Info FROM [SigninConfig] WHERE ConfigID = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_SigninWheel_GetHistory] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_SigninWheel_History]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 签到历史
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_SigninWheel_GetHistory]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @tmptable TABLE(
- Rid INT NOT NULL, --标识
- UserID INT NOT NULL, --用户ID
- Base INT NOT NULL, --基础数值
- Multiple INT NOT NULL, --倍率
- ItemID INT NOT NULL, --道具ID
- Awards VARCHAR(128) NOT NULL --道具
- )
-
- --初始化表变量
- INSERT INTO @tmptable
- (
- Rid, UserID, Base, Multiple, ItemID, Awards
- )
- SELECT TOP 50
- Rid, UserID, Base, Multiple, ItemID, Awards
- FROM
- [UserSigninHistory]
- ORDER BY
- Rid DESC
-
- --返回信息
- SELECT
- UserID, Base, Multiple, ItemID, Awards
- FROM
- @tmptable
- ORDER BY
- Rid DESC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_SigninWheel_GetLastTime] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_SigninWheel_GetLastTime]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 签到最近签到时间
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_SigninWheel_GetLastTime]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回最近签到时间
- SELECT TOP 1 CONVERT(VARCHAR(20), Crdate, 120) AS Crdate FROM [UserSigninHistory] WHERE UserID = @UserID ORDER BY Rid DESC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_SlotUser_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_SlotUser_GetInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-03
- -- Mendor: wolf
- -- Alter Date: 2014-09-04
- -- Description: Slot广告用户
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_SlotUser_GetInfo]
- @UserID INT, --用户ID
- @GameID INT --游戏ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @TotalAdCount INT --广告次数
- DECLARE @FreeSpinCount INT --免费次数
- DECLARE @MoneySum BIGINT --输赢金币
- DECLARE @StillAdCount INT --剩余广告次数
- DECLARE @UpdateTime DATETIME --更新时间
- DECLARE @CurrTime DATETIME --时间
- DECLARE @DateFlag SMALLDATETIME --日期
-
- SET @CurrTime = GETDATE()
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
- SET @MoneySum = 0
-
- SET @GameID = CASE WHEN @GameID = 0 THEN 51 ELSE @GameID END
- --输赢金币
- SELECT @MoneySum = MoneySum FROM [DailyBetStat] WHERE DateFlag = @DateFlag AND UserID = @UserID AND GameID = @GameID
-
- --配置信息
- SELECT @TotalAdCount = TotalAdCount, @FreeSpinCount = FreeSpinCount FROM [SlotAdCfg] WHERE GameID = @GameID
-
- --Slot广告用户信息
- SELECT
- @StillAdCount = StillAdCount, @UpdateTime = UpdateTime
- FROM
- [SlotAdUser]
- WHERE
- UserID = @UserID AND GameID = @GameID
-
- --还没有数据
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @StillAdCount = @TotalAdCount
-
- INSERT INTO [SlotAdUser]
- (
- UserID, GameID, StillAdCount, UpdateTime
- )
- VALUES
- (
- @UserID, @GameID, @StillAdCount, @CurrTime
- )
- END
-
- --过期了
- IF(@UpdateTime <= @DateFlag)
- BEGIN
- SET @StillAdCount = @TotalAdCount
-
- UPDATE
- [SlotAdUser]
- SET
- StillAdCount = @StillAdCount, UpdateTime = @CurrTime
- WHERE
- UserID = @UserID AND GameID = @GameID
- END
-
- --返回信息
- SELECT
- @MoneySum AS MoneySum, @StillAdCount AS StillAdCount, @TotalAdCount AS TotalAdCount,
- @FreeSpinCount AS FreeSpinCount
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_SlotUser_UseAd] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_SlotUser_UseAd]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-03
- -- Mendor: wolf
- -- Alter Date: 2014-09-04
- -- Description: Slot广告用户
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_SlotUser_UseAd]
- @UserID INT, --用户ID
- @GameID INT = 51 --游戏ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT --操作结果
- DECLARE @StillAdCount INT --剩余广告次数
-
- SET @RetCode = 0
- SET @StillAdCount = 0
-
- --剩余免费次数-1
- UPDATE
- [SlotAdUser]
- SET
- StillAdCount = StillAdCount - 1, @StillAdCount = StillAdCount - 1
- WHERE
- UserID = @UserID AND GameID = @GameID AND StillAdCount > 0
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SELECT @RetCode AS RetCode, @StillAdCount AS StillAdCount
- RETURN
- END
-
- --操作成功
- SET @RetCode = 1
- SELECT @RetCode AS RetCode, @StillAdCount AS StillAdCount
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_SNGMatch_WriteHistory] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_SNGMatch_WriteHistory]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: SNG比赛历史记录
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_SNGMatch_WriteHistory]
- @MatchID INT, --比赛ID
- @MatchNo VARCHAR(32), --比赛号
- @MatchName VARCHAR(32), --比赛名称
- @GameID INT, --游戏ID
- @GameName VARCHAR(32), --游戏名称
- @StartTime INT, --开始时间
- @EndTime INT, --结束时间
- @UserInfo VARCHAR(2048) --用户信息(用户ID1,名次1,积分1,报名费用ID1,报名费用1;用户ID2,昵称2,积分2,报名费用ID2,报名费用2;)
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @SerialNumber BIGINT --流水号
- DECLARE @UserID INT --用户ID
- DECLARE @RankId INT --名次
- DECLARE @Score INT --积分
- DECLARE @ItemId INT --道具ID
- DECLARE @Fee BIGINT --费用(报名)
-
- DECLARE @StartIndex INT --起始索引
- DECLARE @EndIndex INT --截止索引
-
- DECLARE @tmptable TABLE(
- UserID INT NOT NULL, --用户ID
- RankId INT NOT NULL, --名次
- Score INT NOT NULL, --积分
- ItemId INT NOT NULL, --道具ID
- Fee BIGINT NOT NULL --费用(报名)
- )
-
- --房间记录
- INSERT INTO [SNGMatchHistory]
- (
- MatchID, MatchNo, MatchName, GameID, GameName, StartTime, EndTime
- )
- VALUES
- (
- @MatchID, @MatchNo, @MatchName, @GameID, @GameName, dbo.fn_StampToTime(@StartTime), dbo.fn_StampToTime(@EndTime)
- )
-
- --流水号
- SET @SerialNumber = SCOPE_IDENTITY()
-
- SET @StartIndex = 0
- SET @EndIndex = 0
-
- --用户ID1,名次1,积分1,报名费用1;
- WHILE(1=1)
- BEGIN
- SET @EndIndex = CHARINDEX(',', @UserInfo, @StartIndex)
- IF(@EndIndex <= 0)
- BREAK
-
- SET @UserID = CAST(SUBSTRING(@UserInfo, @StartIndex, @EndIndex - @StartIndex) AS INT)
- SET @StartIndex = @EndIndex + 1
-
- SET @EndIndex = CHARINDEX(',', @UserInfo, @StartIndex)
- SET @RankId = CAST(SUBSTRING(@UserInfo, @StartIndex, @EndIndex - @StartIndex) AS INT)
- SET @StartIndex = @EndIndex + 1
-
- SET @EndIndex = CHARINDEX(',', @UserInfo, @StartIndex)
- SET @Score = CAST(SUBSTRING(@UserInfo, @StartIndex, @EndIndex - @StartIndex) AS INT)
- SET @StartIndex = @EndIndex + 1
-
- SET @EndIndex = CHARINDEX(',', @UserInfo, @StartIndex)
- SET @ItemId = CAST(SUBSTRING(@UserInfo, @StartIndex, @EndIndex - @StartIndex) AS INT)
- SET @StartIndex = @EndIndex + 1
-
- SET @EndIndex = CHARINDEX(';', @UserInfo, @StartIndex)
- SET @Fee = CAST(SUBSTRING(@UserInfo, @StartIndex, @EndIndex - @StartIndex) AS BIGINT)
- SET @StartIndex = @EndIndex + 1
-
-
- --初始化表变量
- INSERT INTO @tmptable
- (
- UserID, RankId, Score, ItemId, Fee
- )
- VALUES
- (
- @UserID, @RankId, @Score, @ItemId, @Fee
- )
- END
-
- --SNG比赛椅子历史
- INSERT INTO [SNGMatchChairHistory]
- (
- SerialNumber, UserID, RankId, Score, ItemId, Fee, Crdate
- )
- SELECT
- @SerialNumber, UserID, RankId, Score, ItemId, Fee, dbo.fn_StampToTime(@StartTime)
- FROM
- @tmptable
- ORDER BY
- RankId ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Spread_Apply] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Spread_Apply]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-03-13
- -- Mendor: wolf
- -- Alter Date: 2017-02-16
- -- Description: 会员申请
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Spread_Apply]
- @UserID INT, --用户ID
- @Code INT, --推荐码(用户ID)
- @RetCode TINYINT OUTPUT --操作结果
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SET @RetCode = 0
-
- --不能绑定自己
- IF(@UserID = @Code)
- BEGIN
- SET @RetCode = 11
- RETURN
- END
-
- --判断是否用户存在
- IF NOT EXISTS(SELECT UserID FROM [AllUser] WHERE UserID = @Code)
- BEGIN
- SET @RetCode = 13
- RETURN
- END
-
- --判断是否有过申请
- IF EXISTS(SELECT UserID FROM [SpreadMember] WHERE UserID = @UserID)
- BEGIN
- SET @RetCode = 12
- RETURN
- END
-
- --推广会员
- INSERT INTO [SpreadMember]
- (
- UserID, Code, IsGift, Crdate
- )
- VALUES
- (
- @UserID, @Code, 0, GETDATE()
- )
-
- --操作成功
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Spread_GetMembers] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Spread_GetMembers]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-03-13
- -- Mendor: wolf
- -- Alter Date: 2017-02-16
- -- Description: 推广会员
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Spread_GetMembers]
- @Code INT, --推广码(用户ID)
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartIndex INT --起始行索引
- DECLARE @EndIndex INT --截止行索引
-
- DECLARE @tmptable TABLE(
- UserID INT NOT NULL, --用户ID
- IsGift TINYINT NOT NULL, --是否领取奖励
- Crdate DATETIME NOT NULL --时间
- )
-
- SET @StartIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndIndex = @PageIndex * @PageSize
-
- --初始化
- INSERT INTO @tmptable
- (
- UserID, IsGift, Crdate
- )
- SELECT
- UserID, IsGift, Crdate
- FROM
- [SpreadMember]
- WHERE
- Code = @Code
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Crdate ASC) AS RowNumber,
- UserID, IsGift, Crdate
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- UserID, IsGift, CONVERT(VARCHAR(20), Crdate, 120) AS Crdate
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartIndex AND @EndIndex
- ORDER BY
- RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Spread_Gift] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Spread_Gift]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-03-13
- -- Mendor: wolf
- -- Alter Date: 2017-02-16
- -- Description: 领取奖励
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Spread_Gift]
- @Code INT, --推广码
- @FromUserID INT, --用户ID
- @RetCode TINYINT OUTPUT --操作结果
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SET @RetCode = 0
- --领取奖励
- UPDATE [SpreadMember] SET IsGift = 1 WHERE Code = @Code AND UserID = @FromUserID AND IsGift = 0
-
- IF(@@ROWCOUNT = 0)
- RETURN
-
- --领取成功
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_SysBroadcast_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_SysBroadcast_GetList]
- -- @BroadcastID = 0
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2013-08-10
- -- Mendor: wolf
- -- Alter Date: 2015-05-28
- -- Description: 获取广播列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_SysBroadcast_GetList]
- @BroadcastID INT --广播ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @Rid INT --标识
- DECLARE @InterMinutes INT --间隔分钟
- DECLARE @Msg VARCHAR(512) --广播消息
-
- SET @CurrTime = GETDATE()
- --获取定时广播信息
- SELECT TOP 1
- @Rid = Rid, @Msg = Msg, @InterMinutes = InterMinutes
- FROM
- [TimeBroadcast]
- WHERE
- BeginDate + BeginTime <= @CurrTime
- AND EndDate + EndTime >= @CurrTime
- AND CONVERT(CHAR(11), @CurrTime, 120) + BeginTime <= @CurrTime
- AND CONVERT(CHAR(11), @CurrTime, 120) + EndTime >= @CurrTime
- AND DATEDIFF(MINUTE, UpdateTime, @CurrTime) >= InterMinutes
- ORDER BY
- UpdateTime ASC
-
- --有定时广播消息
- IF(@Rid > 0)
- BEGIN
- --加间隔分钟
- UPDATE [TimeBroadcast] SET UpdateTime = @CurrTime WHERE Rid = @Rid
-
- --广播消息
- SET @Msg = 'System message:' + @Msg
- --发送消息
- INSERT INTO [SysBroadcast](UserID, Msg, Crdate, Priority) VALUES(-1, @Msg, @CurrTime, 110)
- END
-
- --第1次进来
- IF(@BroadCastID = 0)
- BEGIN
- SELECT TOP 10
- BroadcastID, Msg, Priority, UserID, '' AS Ext
- FROM
- [SysBroadcast]
- WHERE
- Crdate >= DATEADD(MINUTE, -1, @CurrTime)
- ORDER BY
- BroadcastID ASC
-
- RETURN
- END
-
- --返回信息:广播ID(bid)(int)、消息(m)(varchar(1024))
- SELECT TOP 10
- BroadcastID, Msg, Priority, UserID, '' AS Ext
- FROM
- [SysBroadcast]
- WHERE
- BroadcastID > @BroadcastID AND Crdate >= DATEADD(MINUTE, -1, @CurrTime)
- ORDER BY
- BroadcastID ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_SysMessage_Del] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_SysMessage_Del]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 删除系统消息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_SysMessage_Del]
- @UserID INT, --用户ID
- @SysMsgID INT, --系统消息ID
- @RetCode INT OUTPUT --操作结果
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SET @RetCode = 0
- --删除系统消息
- --DELETE FROM [SysMessage] WHERE UserID = @UserID AND SysMsgID = @SysMsgID
- UPDATE [SysMessage] SET Status = 3 WHERE UserID = @UserID AND SysMsgID = @SysMsgID AND Status IN (1, 2)
-
- IF(@@ROWCOUNT > 0)
- BEGIN
- SET @RetCode = 1
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_SysMessage_GetGiftList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_SysMessage_GetGiftList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 获取系统领取列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_SysMessage_GetGiftList]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- SysMsgID, Title, Content, Status, SourceName,
- CONVERT(VARCHAR(20), Crdate, 120) AS Crdate, Tools, MsgType
- FROM
- [SysMessage]
- WHERE
- UserID = @UserID AND Crdate >= GETDATE() - 15 AND Status IN (0, 1)
- ORDER BY
- SysMsgID DESC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_SysMessage_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_SysMessage_GetInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 获取系统消息信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_SysMessage_GetInfo]
- @UserID INT, --用户ID
- @SysMsgID INT --系统消息ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- SysMsgID, Title, Content, Status, SourceName,
- CONVERT(VARCHAR(20), Crdate, 120) AS Crdate, Tools
- FROM
- [SysMessage]
- WHERE
- UserID = @UserID AND SysMsgID = @SysMsgID AND Status < 3
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_SysMessage_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_SysMessage_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 获取系统消息列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_SysMessage_GetList]
- @UserID INT, --用户ID
- @SysMsgID INT --系统消息ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- IF(@SysMsgID = 0)
- BEGIN
- SELECT TOP 50
- SysMsgID, Title, Content, Status, SourceName,
- CONVERT(VARCHAR(20), Crdate, 120) AS Crdate, Tools, MsgType
- FROM
- [SysMessage]
- WHERE
- UserID = @UserID AND Crdate >= GETDATE() - 10 AND Status < 3
- ORDER BY
- SysMsgID DESC
- RETURN
- END
- SELECT
- SysMsgID, Title, Content, Status, SourceName,
- CONVERT(VARCHAR(20), Crdate, 120) AS Crdate, Tools, MsgType
- FROM
- [SysMessage]
- WHERE
- UserID = @UserID AND SysMsgID > @SysMsgID AND Status < 3
- ORDER BY
- SysMsgID DESC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_SysMessage_Send] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_SysMessage_Send]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2018-03-20
- -- Mendor: wolf
- -- Alter Date: 2018-03-20
- -- Description: 发送邮件
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_SysMessage_Send]
- @UserID INT, --用户ID
- @Title NVARCHAR(32), --标题
- @Content NVARCHAR(256), --内容
- @Status INT, --状态
- @SourceName NVARCHAR(64), --源名称
- @Crdate INT, --时间
- @Tools VARCHAR(1024), --附件(json格式)
- @SysMsgID INT OUTPUT, --邮件ID
- @MsgType TINYINT = 0 --邮件类型(0=普通邮件 1=重要邮件)
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --邮件
- INSERT INTO [SysMessage]
- (
- UserID, Title, Content, Status, SourceName, Crdate, Tools, MsgType
- )
- VALUES
- (
- @UserID, @Title, @Content, @Status, @SourceName, dbo.fn_StampToTime(@Crdate), @Tools, @MsgType
- )
- SET @SysMsgID = SCOPE_IDENTITY()
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_SysMessage_Update] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_SysMessage_Update]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 更新系统消息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_SysMessage_Update]
- @UserID INT, --用户ID
- @SysMsgID INT, --系统消息ID
- @Status INT, --状态
- @RetCode TINYINT OUTPUT --操作结果
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SET @RetCode = 0
-
- --修改信息
- UPDATE [SysMessage] SET Status = @Status WHERE SysMsgID = @SysMsgID AND UserID = @UserID
-
- IF(@@ROWCOUNT > 0)
- BEGIN
- SET @RetCode = 1
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Task_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Task_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 系统任务数值列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Task_GetList]
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- TaskID, Title, [Desc], Action, Target, Repeatable, Duration, PreTask,
- LimitedStart, LimitedDuration, Awards, SceneID, [Scope]
- FROM
- [Task]
- ORDER BY
- TaskID ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_TransferCfg_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_TransferCfg_GetInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-02-06
- -- Mendor: wolf
- -- Alter Date: 2016-09-11
- -- Description: 赠送配置信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_TransferCfg_GetInfo]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --系统当前时间
-
- SET @CurrTime = GETDATE()
-
- --返回信息
- SELECT
- Fee, CONVERT(VARCHAR(16), FreeBeginTime, 120) AS FreeBeginTime, CONVERT(VARCHAR(16), FreeEndTime, 120) AS FreeEndTime,
- CASE WHEN @CurrTime BETWEEN FreeBeginTime AND FreeEndTime THEN 1 ELSE 0 END AS FreeFlag,
- CONVERT(VARCHAR(16), RefundBeginTime, 120) AS RefundBeginTime, CONVERT(VARCHAR(16), RefundEndTime, 120) AS RefundEndTime,
- RefundRatio, RefundMaxAmount,
- CASE WHEN @CurrTime BETWEEN RefundBeginTime AND RefundEndTime THEN 1 ELSE 0 END AS RefundFlag,
- CONVERT(VARCHAR(16), MinBeginTime, 120) AS MinBeginTime, CONVERT(VARCHAR(16), MinEndTime, 120) AS MinEndTime,
- MinAmount, CASE WHEN @CurrTime BETWEEN MinBeginTime AND MinEndTime THEN 1 ELSE 0 END AS MinFlag
- FROM
- [TransferConfig]
- WHERE
- ConfigID = 1
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserAchievement_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserAchievement_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-03-13
- -- Mendor: wolf
- -- Alter Date: 2017-02-16
- -- Description: 用户成就列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserAchievement_GetList]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT TaskID FROM [UserAchievement] WHERE UserID = @UserID
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserAchievement_Update] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserAchievement_Update]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-03-13
- -- Mendor: wolf
- -- Alter Date: 2017-02-16
- -- Description: 用户成就设置
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserAchievement_Update]
- @UserID INT, --用户ID
- @TaskID INT, --任务ID
- @Status TINYINT --状态 1=设置 2=清理
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --1=设置
- IF(@Status = 1)
- BEGIN
- IF EXISTS(SELECT UserID FROM [UserAchievement] WHERE UserID = @UserID AND TaskID = @TaskID)
- RETURN
-
- INSERT INTO [UserAchievement](UserID, TaskID) VALUES(@UserID, @TaskID)
- RETURN
- END
-
- --2=清理
- IF(@Status = 2)
- BEGIN
- DELETE FROM [UserAchievement] WHERE UserID = @UserID AND TaskID = @TaskID
- RETURN
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserAgent_Apply] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserAgent_Apply]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 代理--申请
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserAgent_Apply]
- @UserID INT, --用户信息
- @Memo NVARCHAR(128) --备注(联系信息,如:电话)
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @IMei VARCHAR(64)
- DECLARE @deviceid VARCHAR(64)
- DECLARE @RetCode TINYINT
- DECLARE @AuditEnabled TINYINT --审核是否启用
- DECLARE @HigherUserID INT --上级ID
- SET @RetCode = 0
- SET @HigherUserID = 0
- --判断是否已注册
- IF EXISTS(SELECT UserID FROM [UserAgent] WHERE UserID = @UserID)
- BEGIN
- --操作成功
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --IMei
- SELECT @IMei = IMei, @deviceid = deviceid FROM [AllUser] WHERE UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- --操作成功
- SET @RetCode = 12
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --不是facebook账号
- IF(LEFT(@IMei, 3) != 'fb.' AND LEFT(@deviceid, 3) != 'fb.' AND LEFT(@IMei, 3) != 'gg.' AND LEFT(@deviceid, 3) != 'gg.')
- BEGIN
- --操作成功
- SET @RetCode = 12
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --是否需要审核
- SELECT @AuditEnabled = AuditEnabled FROM [AgentConfig] WHERE ConfigID = 1
-
- --审核,需要加入申请表
- IF(@AuditEnabled = 1)
- BEGIN
- --判断是否已经申请过
- --状态(0=审核 1=已通过 2=拒绝)
- IF EXISTS(SELECT UserID FROM [AgentApply] WHERE UserID = @UserID AND ApplyStatus = 0)
- BEGIN
- SET @RetCode = 13
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --上级
- SELECT @HigherUserID = HigherUserID FROM [AgentMember] WHERE UserID = @UserID
-
- --申请代理
- INSERT INTO [AgentApply]
- (
- UserID, HigherUserID, ApplyStatus, Memo, DealTime, Crdate
- )
- VALUES
- (
- @UserID, @HigherUserID, 0, @Memo, GETDATE(), GETDATE()
- )
- END
-
- --不需要审核,直接成为代理
- ELSE
- BEGIN
- --初始化
- INSERT INTO [UserAgent]
- (
- UserID, Commission, Profit, Members, Enabled, Crdate
- )
- VALUES
- (
- @UserID, 0, 0, 0, 1, GETDATE()
- )
- END
-
- --操作成功
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserAgent_Bind] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserAgent_Bind]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 代理--绑定
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserAgent_Bind]
- @UserID INT, --用户ID
- @HigherUserID INT --代理ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT
- DECLARE @IMei VARCHAR(64)
- DECLARE @deviceid VARCHAR(64)
- DECLARE @SysMsgID INT
- DECLARE @TimeStamp INT --时间戳
- DECLARE @Msg VARCHAR(256) --消息
- DECLARE @DateFlag SMALLDATETIME --日期标识
- SET @RetCode = 0
- --不能绑定自己
- IF(@UserID = 0 OR @UserID = @HigherUserID)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --IMei
- SELECT @IMei = IMei, @deviceid = deviceid FROM [AllUser] WHERE UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- --操作成功
- SET @RetCode = 13
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --不是facebook账号
- IF(LEFT(@IMei, 3) != 'fb.' AND LEFT(@deviceid, 3) != 'fb.' AND LEFT(@IMei, 3) != 'gg.' AND LEFT(@deviceid, 3) != 'gg.')
- BEGIN
- --操作成功
- SET @RetCode = 13
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --判断是否是代理
- IF NOT EXISTS(SELECT UserID FROM [UserAgent] WHERE UserID = @HigherUserID)
- BEGIN
- SET @RetCode = 12
- SELECT @RetCode AS RetCode
- RETURN
- END
- --判断是否已经绑定
- IF EXISTS(SELECT UserID FROM [UserAgent] WHERE UserID = @UserID)
- BEGIN
- SET @RetCode = 14
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --判断是否已经绑定
- IF EXISTS(SELECT UserID FROM [AgentMember] WHERE UserID = @UserID)
- BEGIN
- SET @RetCode = 15
- SELECT @RetCode AS RetCode
- RETURN
- END
- --绑定
- INSERT INTO [AgentMember]
- (
- UserID, HigherUserID, Commission, BindTime, LoginTime
- )
- VALUES
- (
- @UserID, @HigherUserID, 0, GETDATE(), GETDATE()
- )
- --徒弟数+1
- UPDATE [UserAgent] SET Members = Members + 1 WHERE UserID = @HigherUserID
-
- SET @DateFlag = CONVERT(CHAR(10), GETDATE(), 120)
-
- --生成任务
- INSERT INTO [UserTask]
- (
- UserID, TaskID, Scheduled, Status, Start, Duration
- )
- SELECT
- @UserID, TaskID, 0, 0, @DateFlag, 0
- FROM
- [Task]
- WHERE
- Action = 14
-
- UNION ALL
-
- SELECT
- @UserID, TaskID, 0, 0, @DateFlag + (TaskID % 1400000 - 1), 86400
- FROM
- [Task]
- WHERE
- Action = 12 AND SceneID = 4
- ORDER BY
- TaskID ASC
- --更新utm渠道流量,4方支付
- UPDATE [UTM] SET Source = 'agentinvite' WHERE UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UTM]
- (
- UserID, Source, Medium, Term, Content, Campaign
- )
- VALUES
- (
- @UserID, 'agentinvite', '', '', '', ''
- )
- END
- --操作成功
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserAgent_BindAwards] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserAgent_BindAwards]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-07-18
- -- Mendor: wolf
- -- Alter Date: 2017-01-05
- -- Description: 代理--绑定奖励
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserAgent_BindAwards]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT Members, Profit FROM [AgentBindAward] ORDER BY Members ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserAgent_CommissionLog] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserAgent_CommissionLog]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-07-18
- -- Mendor: wolf
- -- Alter Date: 2017-01-05
- -- Description: 代理--收益列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserAgent_CommissionLog]
- @UserID INT, --用户ID
- @FromUserID INT, --源用户ID
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @Commission BIGINT OUTPUT, --佣金
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- DECLARE @tmptable TABLE(
- GameID INT NOT NULL, --游戏ID
- FromUserID INT NOT NULL, --源用户ID
- WantCommission BIGINT NOT NULL, --操作佣金
- Crdate DATETIME NOT NULL --时间
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- IF(@FromUserID > 0)
- BEGIN
- --初始化表变量
- INSERT INTO @tmptable(GameID, FromUserID, WantCommission, Crdate)
- SELECT
- GameID, FromUserID, WantCommission, Crdate
- FROM
- [CommissionLog]
- WHERE
- Crdate >= GETDATE() - 30 AND UserID = @UserID AND FromUserID = @FromUserID AND Direct > 0
-
- UNION ALL
-
- SELECT
- GameID, FromUserID, WantCommission, Crdate
- FROM
- [CommissionLogHistory]
- WHERE
- Crdate >= GETDATE() - 30 AND UserID = @UserID AND FromUserID = @FromUserID AND Direct > 0
- END
-
- ELSE
- BEGIN
- --初始化表变量
- INSERT INTO @tmptable(GameID, FromUserID, WantCommission, Crdate)
- SELECT
- GameID, FromUserID, WantCommission, Crdate
- FROM
- [CommissionLog]
- WHERE
- Crdate >= GETDATE() - 30 AND UserID = @UserID AND Direct > 0
-
- UNION ALL
-
- SELECT
- GameID, FromUserID, WantCommission, Crdate
- FROM
- [CommissionLogHistory]
- WHERE
- Crdate >= GETDATE() - 30 AND UserID = @UserID AND Direct > 0
- END
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- --累计收益
- SET @Commission = ISNULL((SELECT SUM(WantCommission) FROM @tmptable WHERE WantCommission > 0), 0)
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Crdate DESC) AS RowNumber,
- GameID, FromUserID, WantCommission, Crdate
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- ISNULL(g.ChineseName, '') AS ChineseName, l.FromUserID, l.WantCommission,
- CONVERT(VARCHAR(16), l.Crdate, 120) AS Crdate
- FROM
- [List] l LEFT JOIN [AllGame] g ON l.GameID = g.GameID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserAgent_CommissionStat] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserAgent_CommissionStat]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-07-18
- -- Mendor: wolf
- -- Alter Date: 2017-01-05
- -- Description: 代理--收益统计
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserAgent_CommissionStat]
- @UserID INT, --用户ID
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @Commission BIGINT OUTPUT, --佣金
- @Profit BIGINT OUTPUT, --收益
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- DECLARE @tmptable TABLE(
- DateFlag SMALLDATETIME NOT NULL, --日期标识
- Commission BIGINT NOT NULL, --佣金
- Direct TINYINT NOT NULL --属级
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- --初始化表变量
- INSERT INTO @tmptable(DateFlag, Commission, Direct)
- SELECT
- DateFlag, SUM(Commission), Direct
- FROM
- [CommissionStat]
- WHERE
- DateFlag >= GETDATE() - 30 AND UserID = @UserID AND Direct > 0
- GROUP BY
- DateFlag, Direct
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- --累计佣金
- SET @Commission = ISNULL((SELECT SUM(Commission) FROM @tmptable WHERE Direct > 0), 0)
-
- INSERT INTO @tmptable(DateFlag, Commission, Direct)
- SELECT
- Crdate, WantCommission, Direct
- FROM
- [CommissionLog]
- WHERE
- Crdate >= GETDATE() - 30 AND UserID = @UserID AND Direct = 0
-
- UNION ALL
-
- SELECT
- Crdate, WantCommission, Direct
- FROM
- [CommissionLogHistory]
- WHERE
- Crdate >= GETDATE() - 30 AND UserID = @UserID AND Direct = 0
-
- --记录数
- SET @RecordCount = @RecordCount + @@ROWCOUNT
-
- --累计收益
- SET @Profit = ISNULL((SELECT SUM(Commission) FROM @tmptable WHERE Direct = 0), 0)
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY DateFlag DESC, Direct ASC) AS RowNumber,
- DateFlag, Commission, Direct
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- CONVERT(VARCHAR(16), DateFlag, 120) AS DateFlag, Commission, Direct
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserAgent_CommissionToAmount] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserAgent_CommissionToAmount]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-11
- -- Mendor: wolf
- -- Alter Date: 2017-02-23
- -- Description: 佣金转金币
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserAgent_CommissionToAmount]
- @UserID INT, --用户ID
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @WantCommission BIGINT --操作佣金
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @RetCode TINYINT --操作结果
- SET @RetCode = 0
- SET @WantCommission = 0
- SET @DateFlag = CONVERT(CHAR(10), GETDATE(), 120)
- --不用事务隔离级别,UPDATE 具有原子性
- UPDATE
- [UserAgent]
- SET
- Commission = 0, Profit = Profit + Commission, @WantCommission = Commission
- WHERE
- UserID = @UserID AND Commission > 0
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode, @WantCommission AS Commission
- RETURN
- END
- --佣金日志
- INSERT INTO [CommissionLog]
- (
- UserID, GameID, FromUserID, Tax, WantCommission, StillCommission, Direct,
- Memo, Crdate
- )
- VALUES
- (
- @UserID, 0, @UserID, 0, -@WantCommission, 0, 0,
- N'Commission To Cash', GETDATE()
- )
- --加金币
- EXEC [Game_Money_GiveMoney] @UserID = @UserID, @SourceName = N'Commission', @GameID = 0, @WantedAmount = @WantCommission,
- @LogType = 8, @Remark = N'Commission To Cash', @IPAddress = @IPAddress, @RetCode = @RetCode OUTPUT
-
- --更新佣金统计
- UPDATE
- [CommissionStat]
- SET
- Commission = Commission - @WantCommission
- WHERE
- DateFlag = @DateFlag AND UserID = @UserID AND Direct = 0
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [CommissionStat]
- (
- DateFlag, UserID, GameID, FromUserID, Commission, Direct
- )
- VALUES
- (
- @DateFlag, @UserID, 0, @UserID, -@WantCommission, 0
- )
- END
- --操作成功
- SET @RetCode = 1
- SELECT @RetCode AS RetCode, @WantCommission AS Commission
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserAgent_ConfigInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserAgent_ConfigInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-07-18
- -- Mendor: wolf
- -- Alter Date: 2017-01-05
- -- Description: 代理--配置信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserAgent_ConfigInfo]
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- IsOpen, BindSend, BetOneDirect, BetTwoDirect,
- TaxOneDirect, TaxTwoDirect, PayOneDirect, PayTwoDirect
- FROM
- [AgentConfig]
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserAgent_GetGroup] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserAgent_GetGroup]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 代理--群组
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserAgent_GetGroup]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --群组信息
- SELECT Info FROM [AgentGroup] WHERE UserID = @UserID
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserAgent_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserAgent_GetInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-07-18
- -- Mendor: wolf
- -- Alter Date: 2017-01-05
- -- Description: 代理--获取信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserAgent_GetInfo]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Members INT --会员数
- DECLARE @Commission BIGINT --佣金
- DECLARE @Profit BIGINT --收益
- DECLARE @Enabled TINYINT --是否代理 0=不是代理 1=代理 2=申请中
- DECLARE @Crdate DATETIME --时间
- DECLARE @ValidMembers INT --有效会员数
- SET @Members = 0
- SET @Commission = 0
- SET @Profit = 0
- SET @Enabled = 0
- SET @Crdate = '2022-01-01'
- SET @ValidMembers = 0
-
- --申请中
- IF EXISTS(SELECT UserID FROM [AgentApply] WHERE UserID = @UserID AND ApplyStatus = 0)
- BEGIN
- SET @Enabled = 2
- END
-
- --代理信息
- SELECT
- @Members = Members, @Commission = Commission, @Profit = Profit,
- @Enabled = Enabled, @Crdate = Crdate
- FROM
- [UserAgent]
- WHERE
- UserID = @UserID
- --有效会员数
- SELECT @ValidMembers = COUNT(UserID) FROM [AgentMember] WHERE HigherUserID = @UserID AND Commission > 0
- --返回信息
- SELECT
- @Members AS Members, @Commission AS Commission, @Profit AS Profit,
- @Enabled AS Enabled, CONVERT(VARCHAR(16), @Crdate, 120) AS Crdate,
- @ValidMembers AS ValidMembers
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserAgent_GetMembers] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserAgent_GetMembers]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-07-18
- -- Mendor: wolf
- -- Alter Date: 2017-01-05
- -- Description: 代理--会员列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserAgent_GetMembers]
- @UserID INT, --用户ID
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT, --记录数
- @OnlineCount INT OUTPUT --在线人数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- DECLARE @tmptable TABLE(
- UserID INT NOT NULL, --用户ID
- BindTime DATETIME NOT NULL, --绑定时间
- IsOnline TINYINT NOT NULL --是否在线
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
- --初始化表变量
- INSERT INTO @tmptable(UserID, BindTime, IsOnline)
- SELECT
- UserID, BindTime, 0
- FROM
- [AgentMember]
- WHERE
- HigherUserID = @UserID AND LoginTime != BindTime
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- --实时在线
- UPDATE t SET t.IsOnline = 1 FROM @tmptable t INNER JOIN [t_onlineuser] c ON t.UserID = c.UserID
-
- --在线人数
- SELECT @OnlineCount = COUNT(UserID) FROM @tmptable WHERE IsOnline = 1
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY BindTime DESC) AS RowNumber,
- UserID, BindTime, IsOnline
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- UserID, CONVERT(VARCHAR(16), BindTime, 120) AS BindTime, IsOnline
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserAgent_UpdateGroup] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserAgent_UpdateGroup]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 代理--修改群组
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserAgent_UpdateGroup]
- @UserID INT, --用户ID
- @Info NVARCHAR(MAX) --群组信息
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --修改代理信息
- UPDATE [AgentGroup] SET Info = @Info WHERE UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [AgentGroup](UserID, Info) VALUES(@UserID, @Info)
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserAward_GetSysInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserAward_GetSysInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-03
- -- Mendor: wolf
- -- Alter Date: 2014-12-02
- -- Description: 活动系统数值
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserAward_GetSysInfo]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- ActiveID, ActiveName, TotalTimes, Awards, PerDay
- FROM
- [AwardInfo]
- ORDER BY
- ActiveID ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserAward_Send] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserAward_Send]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-09-03
- -- Mendor: wolf
- -- Alter Date: 2014-12-02
- -- Description: 活动记录
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserAward_Send]
- @UserID INT, --用户ID
- @ActiveID INT, --活动ID
- @TotalTimes INT, --总次数
- @PerDay INT, --每隔几天
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT --操作结果
- DECLARE @CurrTimes INT --当前次数
- DECLARE @DateFlag SMALLDATETIME --日期标识
-
- SET @RetCode = 0
- SET @CurrTimes = 0
- SET @DateFlag = CONVERT(CHAR(10), GETDATE(), 120)
-
- --统计次数
- SELECT
- @CurrTimes = COUNT(UserID)
- FROM
- [UserAwardLog]
- WHERE
- UserID = @UserID AND ActiveID = @ActiveID AND Crdate >= @DateFlag - @PerDay
-
- --超过总次数
- IF(@CurrTimes >= @TotalTimes)
- BEGIN
- SET @RetCode = 13
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --记录
- INSERT INTO [UserAwardLog]
- (
- UserID, ActiveID, IPAddress, Crdate
- )
- VALUES
- (
- @UserID, @ActiveID, @IPAddress, GETDATE()
- )
-
- --操作成功
- SET @RetCode = 1
-
- --返回信息
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserBadge_GetBadgeList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserBadge_GetBadgeList]
- -- @UserId = 100
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-05-12
- -- Mendor: wolf
- -- Alter Date: 2023-05-12
- -- Description: 获取用户的徽章列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserBadge_GetBadgeList]
- @UserId INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- BadgeId, [Level], Exps, Points, Times, [Position], ExpiresTime, ObtainDate, Crdate
- FROM
- [UserBadge]
- WHERE
- UserId = @UserId
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserBadge_SaveBadge] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserBadge_SaveBadge]
- -- @UserId = 100
- -- @BadgeId = 100
- -- @Level = 1
- -- @Exps = 150
- -- @Points = 1
- -- @Times = 1
- -- @Position = 1
- -- @ExpiresTime = 0
- -- @ObtainDate = "[\"2023-05-16 15:15:15\"]"
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-05-16
- -- Mendor: wolf
- -- Alter Date: 2023-05-16
- -- Description: 保存用户徽章
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserBadge_SaveBadge]
- @UserId INT, -- 用户ID
- @BadgeId INT, -- 徽章id
- @Level SMALLINT, -- 徽章等级
- @Exps INT, -- 徽章经验
- @Points TINYINT, -- 徽章点数(用于排行榜)
- @Times INT, -- 获取次数
- @Position SMALLINT, -- 位置(-1=未佩戴 0递增对应位置)
- @ExpiresTime INT, -- 到期时间戳
- @ObtainDate VARCHAR(128), -- 徽章多个等级的获得日期
- @Crdate DATETIME -- 创建日期
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- -- 修改数据:穿戴徽章
- UPDATE
- [UserBadge]
- SET
- [Level] = @Level, Exps = @Exps, Points = @Points, Times = @Times, [Position] = @Position,
- ExpiresTime = @ExpiresTime, ObtainDate = @ObtainDate, Crdate = @Crdate
- WHERE
- BadgeId = @BadgeId AND UserId = @UserId
- IF(@@ROWCOUNT = 0)
- BEGIN
- -- 新增用户徽章信息
- INSERT INTO [UserBadge]
- (
- UserId, BadgeId, [Level], Exps, Points, Times, [Position], ExpiresTime, ObtainDate, Crdate
- )
- VALUES
- (
- @UserId, @BadgeId, @Level, @Exps, @Points, @Times, @Position, @ExpiresTime, @ObtainDate, @Crdate
- )
- END
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserCharm_Update] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserCharm_Update]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 更新魅力值
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserCharm_Update]
- @UserID INT, --用户ID
- @Charm INT --魅力值
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @WantCharm INT --变化魅力值
-
- SET @WantCharm = 0
- SET @DateFlag = CONVERT(CHAR(10), GETDATE(), 120)
- --更新魅力值信息
- UPDATE
- [UserCharm]
- SET
- Charm = @Charm, @WantCharm = @Charm - Charm
- WHERE
- UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserCharm]
- (
- UserID, Charm
- )
- VALUES
- (
- @UserID, @Charm
- )
-
- --变化魅力值
- SET @WantCharm = @Charm
- END
-
- --历史
- UPDATE
- [UserCharmHistory]
- SET
- Charm = Charm + @WantCharm
- WHERE
- DateFlag = @DateFlag AND UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- --记录历史
- INSERT INTO [UserCharmHistory]
- (
- DateFlag, UserID, Charm
- )
- VALUES
- (
- @DateFlag, @UserID, @WantCharm
- )
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserChipScore_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserChipScore_GetInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 用户元宝积分信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserChipScore_GetInfo]
- @UserID INT, --用户ID
- @RankType TINYINT --榜单类型 (9=元宝积分昨天榜 10=元宝积分今天榜 11=元宝积分总榜)
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @Score BIGINT --积分
-
- SET @DateFlag = CONVERT(CHAR(10), GETDATE(), 120)
-
- --9=昨天的
- IF(@RankType = 9)
- BEGIN
- SELECT @Score = SUM(Score) FROM [UserChipScore] WHERE DateFlag = @DateFlag - 1 AND UserID = @UserID
- END
-
- --10=今天的
- ELSE IF(@RankType = 10)
- BEGIN
- SELECT @Score = SUM(Score) FROM [UserChipScore] WHERE DateFlag = @DateFlag AND UserID = @UserID
- END
-
- --11=总分榜
- ELSE IF(@RankType = 11)
- BEGIN
- SELECT @Score = SUM(Score) FROM [UserChipScore] WHERE UserID = @UserID
- END
-
- SELECT ISNULL(@Score, 0) AS Score
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserChipSubsidy_Gift] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserChipSubsidy_Gift]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 元宝补助
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserChipSubsidy_Gift]
- @UserID INT, --用户ID
- @LowerAmount BIGINT, --最低金额
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT --操作结果
- DECLARE @Amount BIGINT --金币数
- DECLARE @Bank BIGINT --保险柜
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @DateFlag SMALLDATETIME --日期标识
-
- SET @CurrTime = GETDATE()
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
- SET @RetCode = 0
-
- --是否超过3次
- IF((SELECT COUNT(Rid) FROM [UserChipSubsidy] WHERE Crdate >= @DateFlag AND UserID = @UserID) >= 3)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --IP已经领取过
- IF EXISTS(SELECT Rid FROM [UserChipSubsidy] WHERE Crdate >= @DateFlag AND IPAddress = @IPAddress AND UserID != @UserID)
- BEGIN
- SET @RetCode = 12
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --筹码
- EXEC [Game_Chip_GetInfo] @UserID = @UserID, @Amount = @Amount OUTPUT, @Bank = @Bank OUTPUT
-
- --判断是否触发低保
- IF((@Amount + @Bank) >= @LowerAmount)
- BEGIN
- SET @RetCode = 13
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --初始化
- INSERT INTO [UserChipSubsidy](UserID, IPAddress, Crdate) VALUES(@UserID, @IPAddress, @CurrTime)
-
- --返回信息
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserDecoration_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserDecoration_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 获取用户装扮列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserDecoration_GetList]
- @UserID INT
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- DecorationType AS [Type], ItemID
- FROM
- [UserDecoration]
- WHERE
- UserID = @UserID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserDecoration_SaveInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserDecoration_SaveInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 保存用户装扮
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserDecoration_SaveInfo]
- @UserID INT,
- @DecorationType INT, --装扮类型
- @ItemID INT --道具ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT --操作结果
-
- SET @RetCode = 0
-
- --修改
- UPDATE
- [UserDecoration]
- SET
- ItemID = @ItemID
- WHERE
- UserID = @UserID AND DecorationType = @DecorationType
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserDecoration]
- (
- UserID, DecorationType, ItemID
- )
- VALUES
- (
- @UserID, @DecorationType, @ItemID
- )
- END
-
- SET @RetCode = 1
-
- --返回信息
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserDot_Insert] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserDot_Insert]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 添加打点数据
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserDot_Insert]
- @UserID VARCHAR(16), --用户ID
- @DateFlag SMALLDATETIME, --日期标识
- @Scene VARCHAR(32), --场景
- @Event VARCHAR(32), --事件
- @Action TINYINT, --动作(1=点击 2=完成 3=领取)
- @Times INT --次数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --更新统计
- UPDATE
- [UserDot]
- SET
- Times = Times + @Times
- WHERE
- UserID = @UserID AND DateFlag = @DateFlag AND Scene = @Scene AND Event = @Event AND Action = @Action
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserDot]
- (
- UserID, DateFlag, Scene, Event, Action, Times
- )
- VALUES
- (
- @UserID, @DateFlag, @Scene, @Event, @Action, @Times
- )
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserFacebook_Bind] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserFacebook_Bind]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: facebook 绑定
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserFacebook_Bind]
- @UserID INT, --用户ID
- @OpenID VARCHAR(64), --openid
- @NickName NVARCHAR(32), --昵称
- @FaceUrl VARCHAR(1024) --头像URL
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT --操作结果 1=绑定成功 11=该账号已绑定 12=facebook账号已使用
- DECLARE @IMei VARCHAR(64) --IMei
- DECLARE @deviceid VARCHAR(64) --设备号
- DECLARE @Amount INT --赠送金币
- SET @RetCode = 0
- SET @Amount = 0
- --不是facebook账号
- IF(LEFT(@OpenID, 3) != 'fb.' AND LEFT(@OpenID, 3) != 'gg.')
- BEGIN
- SELECT @RetCode AS RetCode, @Amount AS Amount
- RETURN
- END
- --设备号
- SELECT @IMei = IMei, @deviceid = deviceid FROM [AllUser] WHERE UserID = @UserID
- --已绑定
- IF(LEFT(@IMei, 3) = 'fb.' OR LEFT(@IMei, 3) = 'gg.')
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode, @Amount AS Amount
- RETURN
- END
- --已绑定
- IF(LEFT(@deviceid, 3) = 'fb.' OR LEFT(@deviceid, 3) = 'gg.')
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode, @Amount AS Amount
- RETURN
- END
- --判断是否已绑定
- IF EXISTS(SELECT deviceid FROM [AllUser] WHERE deviceid = @OpenID)
- BEGIN
- SET @RetCode = 12
- SELECT @RetCode AS RetCode, @Amount AS Amount
- RETURN
- END
-
- --判断是否已绑定
- IF EXISTS(SELECT IMei FROM [AllUser] WHERE IMei = @OpenID)
- BEGIN
- SET @RetCode = 12
- SELECT @RetCode AS RetCode, @Amount AS Amount
- RETURN
- END
-
- --修改信息
- UPDATE [AllUser] SET NickName = @NickName, deviceid = @OpenID WHERE UserID = @UserID
-
- --更新头像
- UPDATE [UserFace] SET FaceUrl = @FaceUrl, FaceID = 0 WHERE UserID = @UserID
-
- --获取绑定赠送
- SELECT @Amount = BindFacebook FROM [PlatformConfig] WHERE ConfigID = 1
-
- --操作结果
- SET @RetCode = 1
-
- --返回信息
- SELECT @RetCode AS RetCode, @Amount AS Amount
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserFriends_AddBlack] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserFriends_AddBlack]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-17
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 添加黑名单
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserFriends_AddBlack]
- @UserID INT, --用户ID
- @ToUserID INT, --目标用户ID
- @Crdate DATETIME --时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- UPDATE [BlackFriends] SET Crdate = @Crdate WHERE UserID = @UserID AND ToUserID = @ToUserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [BlackFriends]
- (
- UserID, ToUserID, Crdate
- )
- VALUES
- (
- @UserID, @ToUserID, @Crdate
- )
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserFriends_AddPotential] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserFriends_AddPotential]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-06-11
- -- Description: 添加潜在好友
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserFriends_AddPotential]
- @UserID INT, --用户ID
- @FriendUserID INT, --潜在好友ID
- @Memo NVARCHAR(64), --描述
- @MetTime INT --时间戳
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --添加
- INSERT INTO [PotentialFriends]
- (
- UserID, FriendUserID, Memo, MetTime
- )
- VALUES
- (
- @UserID, @FriendUserID, @Memo, dbo.fn_StampToTime(@MetTime)
- )
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserFriends_Apply] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserFriends_Apply]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-03-13
- -- Mendor: wolf
- -- Alter Date: 2017-02-16
- -- Description: 好友申请
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserFriends_Apply]
- @UserID INT, --用户ID
- @ToUserID INT --目标用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --好友申请
- INSERT INTO [UserFriendsApply]
- (
- UserID, ToUserID, Status, DealTime, Crdate
- )
- VALUES
- (
- @UserID, @ToUserID, 0, GETDATE(), GETDATE()
- )
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserFriends_DealApply] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserFriends_DealApply]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-03-13
- -- Mendor: wolf
- -- Alter Date: 2017-02-16
- -- Description: 好友申请处理
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserFriends_DealApply]
- @UserID INT, --用户ID
- @FromUserID INT, --请求用户ID
- @Status TINYINT --状态 1=同意 2=拒绝
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --处理
- UPDATE
- [UserFriendsApply]
- SET
- Status = @Status, DealTime = GETDATE()
- WHERE
- ToUserID = @UserID AND UserID = @FromUserID AND Status = 0
-
- --拒绝
- IF(@Status != 1)
- RETURN
- --好友
- INSERT INTO [UserFriends]
- (
- UserID, ToUserID, IsGift, GiftTime, GiveTime, Crdate
- )
- SELECT @UserID, @FromUserID, 0, '2021-01-01', '2021-01-01', GETDATE()
- UNION ALL
- SELECT @FromUserID, @UserID, 0, '2021-01-01', '2021-01-01', GETDATE()
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserFriends_Del] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserFriends_Del]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-03-13
- -- Mendor: wolf
- -- Alter Date: 2017-02-16
- -- Description: 好友删除
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserFriends_Del]
- @UserID INT, --用户ID
- @ToUserID INT --删除用户
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --好友历史
- INSERT INTO [UserFriendsHistory]
- (
- FriendID, UserID, ToUserID, Crdate, DelTime
- )
- SELECT
- FriendID, UserID, ToUserID, Crdate, GETDATE()
- FROM
- [UserFriends]
- WHERE
- UserID = @UserID AND ToUserID = @ToUserID
-
- UNION ALL
-
- SELECT
- FriendID, UserID, ToUserID, Crdate, GETDATE()
- FROM
- [UserFriends]
- WHERE
- UserID = @ToUserID AND ToUserID = @UserID
-
- --删除自己好友
- DELETE FROM [UserFriends] WHERE UserID = @UserID AND ToUserID = @ToUserID
-
- --删除对方好友
- DELETE FROM [UserFriends] WHERE UserID = @ToUserID AND ToUserID = @UserID
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserFriends_DelBlack] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserFriends_DelBlack]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-17
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 删除黑名单
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserFriends_DelBlack]
- @UserID INT, --用户ID
- @ToUserID INT --目标用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --删除
- DELETE FROM [BlackFriends] WHERE UserID = @UserID AND ToUserID = @ToUserID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserFriends_DelPotential] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserFriends_DelPotential]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-06-11
- -- Description: 删除潜在好友
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserFriends_DelPotential]
- @UserID INT, --用户ID
- @FriendUserID INT --潜在好友ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --删除
- DELETE FROM [PotentialFriends] WHERE UserID = @UserID AND FriendUserID = @FriendUserID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserFriends_ExistBlack] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserFriends_ExistBlack]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-17
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 是否在黑名单中
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserFriends_ExistBlack]
- @UserID INT, --用户ID
- @ToUserID INT --目标用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT --是否存在
-
- SET @RetCode = 0
-
- IF EXISTS(SELECT UserID FROM [BlackFriends] WHERE UserID = @UserID AND ToUserID = @ToUserID)
- BEGIN
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
-
-
- IF EXISTS(SELECT UserID FROM [BlackFriends] WHERE UserID = @ToUserID AND ToUserID = @UserID)
- BEGIN
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserFriends_GetApplyList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserFriends_GetApplyList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-03-13
- -- Mendor: wolf
- -- Alter Date: 2017-02-16
- -- Description: 申请列表(自己申请的)
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserFriends_GetApplyList]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --申请表变量
- DECLARE @tmptable TABLE(
- UserID INT NOT NULL --目标用户ID
- )
-
- --初始化表变量
- INSERT INTO @tmptable
- (
- UserID
- )
- SELECT
- ToUserID
- FROM
- [UserFriendsApply]
- WHERE
- UserID = @UserID AND Status = 0
-
- --没有用户信息
- IF(@@ROWCOUNT = 0)
- BEGIN
- --返回信息
- SELECT UserID FROM @tmptable
- RETURN
- END
-
- --返回信息
- SELECT UserID FROM @tmptable
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserFriends_GetBlackList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserFriends_GetBlackList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-17
- -- Mendor: wolf
- -- Alter Date: 2016-08-16
- -- Description: 黑名单列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserFriends_GetBlackList]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- ToUserID AS UserID, CONVERT(VARCHAR(16), Crdate, 120) AS Crdate
- FROM
- [BlackFriends]
- WHERE
- UserID = @UserID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserFriends_GetGift] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserFriends_GetGift]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-03-13
- -- Mendor: wolf
- -- Alter Date: 2017-02-16
- -- Description: 领取好友礼物
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserFriends_GetGift]
- @UserID INT, --用户ID
- @ToUserID INT --目标用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --好友
- UPDATE
- [UserFriends]
- SET
- IsGift = 2, GiftTime = GETDATE()
- WHERE
- UserID = @UserID AND ToUserID = @ToUserID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserFriends_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserFriends_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-03-13
- -- Mendor: wolf
- -- Alter Date: 2017-02-16
- -- Description: 好友列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserFriends_GetList]
- @UserID INT, --用户ID
- @ToUserID INT --目标用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --申请表变量
- DECLARE @tmptable TABLE(
- ToUserID INT NOT NULL, --目标用户ID
- IsGift TINYINT NOT NULL, --是否有礼物领取(0=没有礼物 1=有礼物还没领 2=有礼物已领取)
- GiftTime DATETIME NOT NULL, --礼物时间
- GiveTime DATETIME NOT NULL --赠送时间
- )
-
- --查询某个用户
- IF(@ToUserID > 0)
- BEGIN
- --初始化表变量
- INSERT INTO @tmptable
- (
- ToUserID, IsGift, GiftTime, GiveTime
- )
- SELECT
- ToUserID, IsGift, GiftTime, GiveTime
- FROM
- [UserFriends]
- WHERE
- UserID = @UserID AND ToUserID = @ToUserID
- END
-
- --查询所有用户
- ELSE
- BEGIN
- --初始化表变量
- INSERT INTO @tmptable
- (
- ToUserID, IsGift, GiftTime, GiveTime
- )
- SELECT
- ToUserID, IsGift, GiftTime, GiveTime
- FROM
- [UserFriends]
- WHERE
- UserID = @UserID
- END
-
- --没有用户信息
- IF(@@ROWCOUNT = 0)
- BEGIN
- --返回信息
- SELECT
- ToUserID, IsGift, CONVERT(VARCHAR(20), GiftTime, 120) AS GiftTime,
- CONVERT(VARCHAR(20), GiveTime, 120) AS GiveTime
- FROM
- @tmptable
-
- RETURN
- END
-
-
- --返回信息
- SELECT
- ToUserID, IsGift, CONVERT(VARCHAR(20), GiftTime, 120) AS GiftTime,
- CONVERT(VARCHAR(20), GiveTime, 120) AS GiveTime
- FROM
- @tmptable
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserFriends_GetPotentialList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserFriends_GetPotentialList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-06-11
- -- Description: 潜在好友列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserFriends_GetPotentialList]
- @UserID INT
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- FriendUserID AS UserId, Memo, dbo.fn_TimeToStamp(MetTime) AS MetTime
- FROM
- [PotentialFriends]
- WHERE
- UserID = @UserID
- ORDER BY
- MetTime DESC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserFriends_GetVerifyList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserFriends_GetVerifyList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-03-13
- -- Mendor: wolf
- -- Alter Date: 2017-02-16
- -- Description: 审核列表(谁来申请的)
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserFriends_GetVerifyList]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --申请表变量
- DECLARE @tmptable TABLE(
- UserID INT NOT NULL --目标用户ID
- )
-
- --初始化表变量
- INSERT INTO @tmptable
- (
- UserID
- )
- SELECT
- UserID
- FROM
- [UserFriendsApply]
- WHERE
- ToUserID = @UserID AND Status = 0
-
- --没有用户信息
- IF(@@ROWCOUNT = 0)
- BEGIN
- --返回信息
- SELECT UserID FROM @tmptable
- RETURN
- END
- --返回信息
- SELECT UserID FROM @tmptable
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserFriends_GiveGift] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserFriends_GiveGift]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-03-13
- -- Mendor: wolf
- -- Alter Date: 2017-02-16
- -- Description: 好友赠送礼物
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserFriends_GiveGift]
- @UserID INT, --用户ID
- @ToUserID INT --目标用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --赠送时间
- UPDATE [UserFriends] SET GiveTime = GETDATE() WHERE UserID = @UserID AND ToUserID = @ToUserID
-
- --获赠方标识
- UPDATE [UserFriends] SET IsGift = 1 WHERE UserID = @ToUserID AND ToUserID = @UserID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserGameCount_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserGameCount_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 用户游戏局数列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserGameCount_GetList]
- @UserID INT, --用户ID
- @GameID INT --游戏ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- IF(@GameID > 0)
- BEGIN
- SELECT
- GameID, TotalCount, WinCount, MaxWinAmount, CardStat
- FROM
- [UserGameCount]
- WHERE
- UserID = @UserID AND GameID = @GameID
-
- RETURN
- END
-
- --返回信息
- SELECT
- GameID, TotalCount, WinCount, MaxWinAmount, CardStat
- FROM
- [UserGameCount]
- WHERE
- UserID = @UserID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserGameCount_Update] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserGameCount_Update]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 用户游戏局数更新
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserGameCount_Update]
- @UserID INT, --用户ID
- @GameID INT, --游戏ID
- @CardStat VARCHAR(1024) --牌型统计
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --更新信息
- UPDATE
- [UserGameCount]
- SET
- CardStat = CASE WHEN @CardStat != '' THEN @CardStat ELSE CardStat END
- WHERE
- UserID = @UserID AND GameID = @GameID
-
- IF(@@ROWCOUNT > 0)
- RETURN
-
- --用户游戏局数
- INSERT INTO [UserGameCount]
- (
- UserID, GameID, TotalCount, WinCount, MaxWinAmount, CardStat
- )
- VALUES
- (
- @UserID, @GameID, 0, 0, 0, @CardStat
- )
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserGameSettleVideo_Add] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserGameSettleVideo_Add]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 游戏返还视频添加
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserGameSettleVideo_Add]
- @UserID INT, --用户ID
- @GameID INT, --游戏ID
- @LoseAmount BIGINT, --输金币
- @MaxTimes TINYINT, --最大次数
- @SettleTimes TINYINT, --返还次数
- @MaxAmount BIGINT, --最大金币
- @SettleAmount BIGINT, --返还金币
- @Crdate DATETIME --时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @SettleID INT --结算ID
- INSERT INTO [UserSettleVideo]
- (
- UserID, GameID, LoseAmount, MaxTimes, SettleTimes, MaxAmount, SettleAmount, Crdate
- )
- VALUES
- (
- @UserID, @GameID, @LoseAmount, @MaxTimes, @SettleTimes, @MaxAmount, @SettleAmount, @Crdate
- )
-
- SET @SettleID = SCOPE_IDENTITY()
-
- --返回信息
- SELECT @SettleID AS SettleID
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserGameSettleVideo_Award] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserGameSettleVideo_Award]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-08-29
- -- Mendor: wolf
- -- Alter Date: 2015-08-10
- -- Description: 游戏返还视频奖励
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserGameSettleVideo_Award]
- @UserID INT, --用户ID
- @SettleID INT, --结算ID
- @SettleTimes TINYINT, --结算次数
- @SettleAmount BIGINT --结算金额
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --更新信息
- UPDATE
- [UserSettleVideo]
- SET
- SettleTimes = @SettleTimes, SettleAmount = @SettleAmount
- WHERE
- SettleID = @SettleID AND UserID = @UserID
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserGameSettleVideo_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserGameSettleVideo_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-08-29
- -- Mendor: wolf
- -- Alter Date: 2015-08-10
- -- Description: 用户游戏返还视频
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserGameSettleVideo_GetList]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返还信息
- SELECT TOP 20
- SettleID, GameID, LoseAmount, MaxTimes, SettleTimes,
- MaxAmount, SettleAmount, dbo.fn_TimeToStamp(Crdate) AS ts,
- CONVERT(CHAR(16), Crdate, 120) AS Crdate
- FROM
- [UserSettleVideo]
- WHERE
- UserID = @UserID
- ORDER BY
- SettleID DESC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserGiftPack_GetHistory] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserGiftPack_GetHistory]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 用户礼包历史
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserGiftPack_GetHistory]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- GiftPackId, LastPhaseTime
- FROM
- [UserGiftPackHistory]
- WHERE
- UserID = @UserID
- UNION ALL
- SELECT
- GiftPackId = 0, LastPhaseTime = RegTime
- FROM
- [AllUser]
- WHERE
- UserID = @UserID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserGiftPack_UpdateHistory] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserGiftPack_UpdateHistory]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 更新用户礼包历史
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserGiftPack_UpdateHistory]
- @UserID INT, --用户ID
- @GiftPackId INT, --礼包ID
- @LastPhaseTime DATETIME, --时间
- @RetCode TINYINT OUTPUT --操作结果
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SET @RetCode = 0
-
- --更新用户礼包历史
- UPDATE
- [UserGiftPackHistory]
- SET
- LastPhaseTime = @LastPhaseTime
- WHERE
- UserID = @UserID AND GiftPackId = @GiftPackId
-
- IF(@@ROWCOUNT > 0)
- BEGIN
- SET @RetCode = 1
- RETURN
- END
-
- --初始化
- INSERT INTO [UserGiftPackHistory]
- (
- UserId, GiftPackId, LastPhaseTime
- )
- VALUES
- (
- @UserID, @GiftPackId, @LastPhaseTime
- )
-
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserGrowthPack_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserGrowthPack_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-02
- -- Mendor: wolf
- -- Alter Date: 2014-12-10
- -- Description: 获取用户成长礼包
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserGrowthPack_GetList]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- GrowthPackID, TermIndex, Bullet, Status
- FROM
- [UserGrowthPack]
- WHERE
- UserID = @UserID
- ORDER BY
- GrowthPackID ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserGrowthPack_Update] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserGrowthPack_Update]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-02
- -- Mendor: wolf
- -- Alter Date: 2014-12-10
- -- Description: 更新用户成长礼包
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserGrowthPack_Update]
- @UserID INT, --用户ID
- @GrowthPackID INT, --礼包ID
- @TermIndex INT, --解锁条件Index
- @Bullet INT, --目标炮台等级
- @Status TINYINT, --状态(0=没有 1=可领取 2=已领取)
- @RetCode TINYINT OUTPUT --操作结果
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SET @RetCode = 0
- --更新信息
- UPDATE
- [UserGrowthPack]
- SET
- Bullet = @Bullet, Status = @Status
- WHERE
- UserID = @UserID AND GrowthPackID = @GrowthPackID AND TermIndex = @TermIndex
-
- IF(@@ROWCOUNT > 0)
- BEGIN
- SET @RetCode = 1
- RETURN
- END
-
- --初始化
- INSERT INTO [UserGrowthPack]
- (
- UserID, GrowthPackID, TermIndex, Bullet, Status
- )
- VALUES
- (
- @UserID, @GrowthPackID, @TermIndex, @Bullet, @Status
- )
-
- --操作成功
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserItem_AddLog] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserItem_AddLog]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 用户道具日志
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserItem_AddLog]
- @UserID INT, --用户ID
- @ItemID INT, --道具ID
- @CurrCount BIGINT, --当前数量
- @WantCount BIGINT, --道具数量
- @StillCount BIGINT, --剩余数量
- @Remark NVARCHAR(128), --备注
- @IPAddress VARCHAR(16) --IP地址
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DateFlag SMALLDATETIME --日期标识
- --记录日志
- INSERT INTO [UserItemLog]
- (
- UserID, ItemID, CurrCount, WantCount, StillCount,
- Remark, IPAddress, Crdate
- )
- VALUES
- (
- @UserID, @ItemID, @CurrCount, @WantCount, @StillCount,
- @Remark, @IPAddress, GETDATE()
- )
-
- --620100=红包券
- IF(@ItemID = 620100)
- BEGIN
- SET @DateFlag = CONVERT(CHAR(11), GETDATE(), 120) + LTRIM(STR(DATEPART(HOUR, GETDATE()))) + ':00'
-
- --更新
- UPDATE
- [UserCouponStat]
- SET
- CouponCount = CouponCount + @WantCount
- WHERE
- DateFlag = @DateFlag AND UserID = @UserID AND Remark = @Remark
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserCouponStat]
- (
- DateFlag, UserID, Remark, CouponCount
- )
- VALUES
- (
- @DateFlag, @UserID, @Remark, @WantCount
- )
- END
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserItem_Del] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserItem_Del]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 用户道具删除
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserItem_Del]
- @UserID INT, --用户ID
- @ItemID INT --道具ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --删除
- DELETE FROM [UserItem] WHERE UserID = @UserID AND ItemID = @ItemID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserItem_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserItem_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 用户道具列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserItem_GetList]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- ItemID AS ItemId, ItemCount AS Count, Start,
- Duration, EnegyPoint
- FROM
- [UserItem]
- WHERE
- UserID = @UserID
- ORDER BY
- ItemID ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserItem_Update] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserItem_Update]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 用户道具更新
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserItem_Update]
- @UserID INT, --用户ID
- @ItemID INT, --道具ID
- @ItemCount INT, --道具数
- @Start INT, --开始时间
- @Duration INT, --持续时间(叠加)
- @EnegyPoint INT --道具能量
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --更新
- UPDATE
- [UserItem]
- SET
- ItemCount = @ItemCount, Start = @Start, Duration = @Duration, EnegyPoint = @EnegyPoint
- WHERE
- UserID = @UserID AND ItemID = @ItemID
-
- IF(@@ROWCOUNT > 0)
- RETURN
-
- --添加数据
- INSERT INTO [UserItem]
- (
- UserID, ItemID, ItemCount, Start, Duration, EnegyPoint
- )
- VALUES
- (
- @UserID, @ItemID, @ItemCount, @Start, @Duration, @EnegyPoint
- )
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserLabel_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserLabel_GetInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 用户标签信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserLabel_GetInfo]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --数据
- SELECT
- TypeID, LabelID, TotalValue, JsonData
- FROM
- [UserLabel]
- WHERE
- UserID = @UserID
- ORDER BY
- TypeID ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserLabel_Save] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserLabel_Save]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 用户标签保存
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserLabel_Save]
- @UserID INT, --用户ID
- @TypeID INT, --类型ID
- @LabelID VARCHAR(32), --标签ID
- @TotalValue INT, --累计值
- @JsonData VARCHAR(4096),
- @Days INT --时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- UPDATE
- [UserLabel]
- SET
- LabelID = @LabelID, TotalValue = @TotalValue, JsonData = @JsonData, UpdateTime = GETDATE()
- WHERE
- UserID = @UserID AND TypeID = @TypeID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserLabel]
- (
- UserID, TypeID, LabelID, TotalValue, JsonData, UpdateTime
- )
- VALUES
- (
- @UserID, @TypeID, @LabelID, @TotalValue, @JsonData, GETDATE()
- )
- END
-
- --标签池
- UPDATE
- [LabelPool]
- SET
- LabelID = @LabelID, RegTime = GETDATE(), Expire = GETDATE() + @Days
- WHERE
- UserID = @UserID AND TypeID = @TypeID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [LabelPool]
- (
- TypeID, LabelID, UserID, RegTime, Expire
- )
- VALUES
- (
- @TypeID, @LabelID, @UserID, GETDATE(), GETDATE() + @Days
- )
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserMonthlyCard_Buy] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserMonthlyCard_Buy]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 用户月卡购买
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserMonthlyCard_Buy]
- @UserID INT, --用户ID
- @MonthExpire INT, --月卡过期时间戳
- @WeekExpire INT, --周卡过期时间戳
- @RetCode TINYINT OUTPUT --操作结果
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SET @RetCode = 0
-
- --购买
- UPDATE
- [UserMonthlyCard]
- SET
- MonthExpire = CASE WHEN @MonthExpire > 0 THEN dbo.fn_StampToTime(@MonthExpire) ELSE MonthExpire END,
- WeekExpire = CASE WHEN @WeekExpire > 0 THEN dbo.fn_StampToTime(@WeekExpire) ELSE WeekExpire END
- WHERE
- UserID = @UserID
-
- IF(@@ROWCOUNT > 0)
- BEGIN
- SET @RetCode = 1
- RETURN
- END
-
- --初始化
- INSERT INTO [UserMonthlyCard]
- (
- UserID, MonthGift, MonthExpire, WeekGift, WeekExpire
- )
- VALUES
- (
- @UserID, '1970-01-01', dbo.fn_StampToTime(@MonthExpire), '1970-01-01', dbo.fn_StampToTime(@WeekExpire)
- )
-
- --操作成功
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserMonthlyCard_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserMonthlyCard_GetInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 月卡信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserMonthlyCard_GetInfo]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- CONVERT(VARCHAR(20), MonthGift, 120) AS MonthGift, CONVERT(VARCHAR(20), MonthExpire, 120) AS MonthExpire,
- CONVERT(VARCHAR(20), WeekGift, 120) AS WeekGift, CONVERT(VARCHAR(20), WeekExpire, 120) AS WeekExpire
- FROM
- [UserMonthlyCard]
- WHERE
- UserID = @UserID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserMonthlyCard_Gift] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserMonthlyCard_Gift]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 用户月卡领取物品
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserMonthlyCard_Gift]
- @UserID INT, --用户ID
- @MonthGift INT, --月卡领取时间戳
- @WeekGift INT, --周卡领取时间戳
- @RetCode TINYINT OUTPUT --操作结果
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SET @RetCode = 0
- --更新领取时间
- UPDATE
- [UserMonthlyCard]
- SET
- MonthGift = CASE WHEN @MonthGift > 0 THEN dbo.fn_StampToTime(@MonthGift) ELSE MonthGift END,
- WeekGift = CASE WHEN @WeekGift > 0 THEN dbo.fn_StampToTime(@WeekGift) ELSE WeekGift END
- WHERE
- UserID = @UserID
-
- IF(@@ROWCOUNT <= 0)
- RETURN
-
- --操作成功
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserSign_GetContinueList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserSign_GetContinueList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 用户连续签到信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserSign_GetContinueList]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- [Day], Status
- FROM
- [UserContinueSign]
- WHERE
- UserID = @UserID
- ORDER BY
- [Day] ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserSign_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserSign_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 用户签到信息列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserSign_GetList]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT SignID, dbo.fn_TimeToStamp(SignTime) AS SignTime FROM [UserSign] WHERE UserID = @UserID ORDER BY SignID ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserSign_Update] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserSign_Update]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 用户签到信息更新
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserSign_Update]
- @UserID INT, --用户ID
- @SignID INT, --签到id
- @SignTime INT --签到时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --更新用户签到信息
- UPDATE [UserSign] SET SignTime = dbo.fn_StampToTime(@SignTime) WHERE UserID = @UserID AND SignID = @SignID
-
- IF(@@ROWCOUNT > 0)
- RETURN
-
- --生成数据
- INSERT INTO [UserSign]
- (
- UserID, SignID, SignTime
- )
- VALUES
- (
- @UserID, @SignID, dbo.fn_StampToTime(@SignTime)
- )
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserSign_UpdateContinue] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserSign_UpdateContinue]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 用户连续签到信息更新
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserSign_UpdateContinue]
- @UserID INT, --用户ID
- @Day INT, --连续多少天
- @Status TINYINT --状态 0=空闲,未完成 1=完成,未领取 2=完成,已领取
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --更新用户连续签到信息
- UPDATE [UserContinueSign] SET Status = @Status WHERE UserID = @UserID AND Day = @Day
-
- --还没有数据
- IF(@@ROWCOUNT > 0)
- RETURN
- --生成数据
- INSERT INTO [UserContinueSign]
- (
- UserID, Day, Status
- )
- VALUES
- (
- @UserID, @Day, @Status
- )
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserSubsidy_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserSubsidy_GetInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 用户补助信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserSubsidy_GetInfo]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- GiftTimes, dbo.fn_TimeToStamp(Crdate) AS Crdate, dbo.fn_TimeToStamp(CoolTime) AS CoolTime
- FROM
- [UserSubsidy]
- WHERE
- UserID = @UserID
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserSubsidy_Update] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserSubsidy_Update]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 修改补助信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserSubsidy_Update]
- @UserID INT, --用户ID
- @GiftTimes INT, --领取次数
- @CoolTime INT, --冷却时间
- @Crdate INT, --时间
- @RetCode TINYINT OUTPUT --操作结果
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SET @RetCode = 0
-
- --修改补助信息
- UPDATE
- [UserSubsidy]
- SET
- GiftTimes = @GiftTimes, Crdate = dbo.fn_StampToTime(@Crdate), CoolTime = dbo.fn_StampToTime(@CoolTime)
- WHERE
- UserID = @UserID
-
- IF(@@ROWCOUNT > 0)
- BEGIN
- SET @RetCode = 1
- RETURN
- END
-
- --初始化
- INSERT INTO [UserSubsidy]
- (
- UserID, GiftTimes, CoolTime, Crdate
- )
- VALUES
- (
- @UserID, @GiftTimes, dbo.fn_StampToTime(@CoolTime), dbo.fn_StampToTime(@Crdate)
- )
-
- --操作结果
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserSwitch_ChangeStatus] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserSwitch_ChangeStatus]
- -- @UserID = 100,
- -- @Status = 1,
- -- @SwitchType = 0
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-04-06
- -- Mendor: wolf
- -- Alter Date: 2023-04-06
- -- Description: 用户开关修改
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserSwitch_ChangeStatus]
- @UserID INT, --用户ID
- @SwitchType NVARCHAR(32), --开关类型(旁观、跟踪)
- @SwitchStatus TINYINT --开关状态(0=关闭 1=开启)
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --更新
- UPDATE
- [UserSwitch]
- SET
- SwitchStatus = @SwitchStatus
- WHERE
- UserID = @UserID AND SwitchType = @SwitchType
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserSwitch]
- (
- UserID, SwitchType, SwitchStatus
- )
- VALUES
- (
- @UserID, @SwitchType, @SwitchStatus
- )
- END
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserSwitch_GetSwitchInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserSwitch_GetSwitchInfo]
- -- @UserID = 100
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2023-04-06
- -- Mendor: wolf
- -- Alter Date: 2023-04-06
- -- Description: 获取用户开关信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserSwitch_GetSwitchInfo]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- SwitchType, SwitchStatus
- FROM
- [UserSwitch]
- WHERE
- UserID = @UserID
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserTask_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserTask_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 用户任务列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserTask_GetList]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- TaskID, Scheduled, Status, CONVERT(VARCHAR(20), Start, 120) AS Start, Duration
- FROM
- [UserTask]
- WHERE
- UserID = @UserID
- ORDER BY
- TaskID ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserTask_Remove] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserTask_Remove]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 删除用户任务
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserTask_Remove]
- @UserID INT, --用户ID
- @TaskID INT --任务ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DELETE FROM [UserTask] WHERE UserID = @UserID AND TaskID = @TaskID
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserTask_Update] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserTask_Update]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 用户任务列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserTask_Update]
- @UserID INT, --用户ID
- @TaskID INT, --任务ID
- @Scheduled INT, --进度
- @Status TINYINT, --状态(0=active 任务进行中 1=complete 完成 2=awarded 已领取奖励 3=inactive 未开始 4=expired 已过期)
- @Start INT, --开始时间戳
- @Duration INT --持续时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --更新信息
- UPDATE
- [UserTask]
- SET
- Scheduled = @Scheduled, Status = @Status, Start = dbo.fn_StampToTime(@Start), Duration = @Duration
- WHERE
- UserID = @UserID AND TaskID = @TaskID
-
- IF(@@ROWCOUNT > 0)
- RETURN
- --生成数据
- INSERT INTO [UserTask]
- (
- UserID, TaskID, Scheduled, Status, Start, Duration
- )
- VALUES
- (
- @UserID, @TaskID, @Scheduled, @Status, dbo.fn_StampToTime(@Start), @Duration
- )
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserTeacher_AddProfit] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserTeacher_AddProfit]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 师徒--添加收益
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserTeacher_AddProfit]
- @StudentID INT, --徒弟ID
- @Price DECIMAL(18, 2) --充值金额
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @TeacherID INT --师父ID
- DECLARE @Profit DECIMAL(18, 2) --收益
-
- --师父ID
- SELECT @TeacherID = TeacherID FROM [UserTeacher] WHERE StudentID = @StudentID
-
- --师父ID无效
- IF(@TeacherID IS NULL OR @TeacherID <= 0)
- RETURN
-
- --计算收益(比例5%)
- SET @Profit = @Price * 0.05
-
- --收益
- UPDATE
- [Teacher]
- SET
- Profit = Profit + @Profit, TotalProfit = TotalProfit + @Profit
- WHERE
- UserID = @TeacherID
-
- --累加收益
- UPDATE [UserTeacher] SET Profit = Profit + @Profit WHERE StudentID = @StudentID
- --添加收益记录
- INSERT INTO [TeacherProfit]
- (
- StudentID, TeacherID, Profit, ProfitType, Price, Remark, Crdate
- )
- VALUES
- (
- @StudentID, @TeacherID, @Profit, 2, @Price, '充值收益', GETDATE()
- )
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserTeacher_Bind] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserTeacher_Bind]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 师徒--绑定
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserTeacher_Bind]
- @StudentID INT, --徒弟ID
- @TeacherID INT --师父ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT
- DECLARE @Students INT --徒弟数
- DECLARE @Profit BIGINT --收益
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @IMei VARCHAR(64)
- DECLARE @deviceid VARCHAR(64)
- DECLARE @Amount BIGINT --金额
- DECLARE @SysMsgID INT
- DECLARE @TimeStamp INT --时间戳
- DECLARE @Msg VARCHAR(256) --消息
- SET @RetCode = 0
- SET @Amount = 0
- --不能绑定自己
- IF(@StudentID = 0 OR @StudentID = @TeacherID)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode, @Amount AS Amount
- RETURN
- END
-
- --IMei
- SELECT @IMei = IMei, @deviceid = deviceid FROM [AllUser] WHERE UserID = @StudentID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- --操作成功
- SET @RetCode = 13
- SELECT @RetCode AS RetCode, @Amount AS Amount
- RETURN
- END
-
- --不是facebook账号
- IF(LEFT(@IMei, 3) != 'fb.' AND LEFT(@deviceid, 3) != 'fb.')
- BEGIN
- --操作成功
- SET @RetCode = 13
- SELECT @RetCode AS RetCode, @Amount AS Amount
- RETURN
- END
-
- --判断师父ID有效
- IF NOT EXISTS(SELECT UserID FROM [Teacher] WHERE UserID = @TeacherID)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode, @Amount AS Amount
- RETURN
- END
- --判断是否已经绑定
- IF EXISTS(SELECT StudentID FROM [UserTeacher] WHERE StudentID = @StudentID)
- BEGIN
- SET @RetCode = 12
- SELECT @RetCode AS RetCode, @Amount AS Amount
- RETURN
- END
- --绑定
- INSERT INTO [UserTeacher]
- (
- StudentID, TeacherID, Profit, Crdate
- )
- VALUES
- (
- @StudentID, @TeacherID, 0, GETDATE()
- )
- --徒弟数+1
- UPDATE [Teacher] SET Students = Students + 1, @Students = Students + 1 WHERE UserID = @TeacherID
-
- --收益
- SELECT @Profit = Profit FROM [TeacherBindAward] WHERE Students = @Students
-
- IF(@Profit > 0)
- BEGIN
- --加收益
- UPDATE [Teacher] SET Profit = Profit + @Profit WHERE UserID = @TeacherID
-
- IF(@@ROWCOUNT > 0)
- BEGIN
- INSERT INTO [TeacherProfit]
- (
- StudentID, TeacherID, Profit, ProfitType, Price, Remark, Crdate
- )
- VALUES
- (
- @StudentID, @TeacherID, @Profit, 1, 0, '绑码成功', GETDATE()
- )
- END
-
- SET @TimeStamp = dbo.fn_TimeToStamp(GETDATE())
- SET @Msg = 'Selamat, jumlah pengguna yang diundang telah mencapai ' + LTRIM(STR(@Students)) + ', dan Anda telah memperoleh ' + LTRIM(STR(@Profit)) +
- ' dari pendapatan agensi. Hadiah telah didistribusikan secara langsung. Silakan periksa halaman agensi'
-
- --发送消息
- EXEC [WS_SysMessage_Send] @UserID = @TeacherID, @Title = 'Pemberitahuan Agen', @Content = @Msg, @Status = 0, @SourceName = '绑码',
- @Crdate = @TimeStamp, @Tools = '', @SysMsgID = @SysMsgID OUTPUT
- END
- --操作成功
- SET @RetCode = 1
- SET @Amount = 2000000
- SELECT @RetCode AS RetCode, @Amount AS Amount
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserTeacher_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserTeacher_GetInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 师徒--师父信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserTeacher_GetInfo]
- @TeacherID INT --师父ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Students INT --徒弟数
- DECLARE @Profit BIGINT --收益
- DECLARE @TotalProfit BIGINT --总收益
- DECLARE @TodayProfit BIGINT --今日收益
- DECLARE @RetCode TINYINT --操作结果
- SET @Students = 0
- SET @Profit = 0
- SET @TotalProfit = 0
- SET @TodayProfit = 0
- SET @RetCode = 0
-
- --基本信息
- SELECT
- @Profit = Profit, @Students = Students, @TotalProfit = TotalProfit
- FROM
- [Teacher]
- WHERE
- UserID = @TeacherID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 11
-
- SELECT
- @RetCode AS RetCode, @Students AS Students, @Profit AS Profit,
- @TodayProfit AS TodayProfit, @TotalProfit AS TotalProfit
- RETURN
- END
-
- --今日收益
- SELECT
- @TodayProfit = ISNULL(SUM(Profit), 0)
- FROM
- [TeacherProfit]
- WHERE
- Crdate >= CONVERT(CHAR(10), GETDATE(), 120) AND TeacherID = @TeacherID
-
- SET @RetCode = 1
-
- --返回信息
- SELECT
- @RetCode AS RetCode, @Students AS Students, @Profit AS Profit,
- @TodayProfit AS TodayProfit, @TotalProfit AS TotalProfit
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserTeacher_GetLoginAwardLog] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserTeacher_GetLoginAwardLog]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 师徒--登录奖励日志
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserTeacher_GetLoginAwardLog]
- @StudentID int --徒弟ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- Rid, dbo.fn_TimeToStamp(DateFlag) AS DayIndex, Days, TeacherID, Status
- FROM
- [TeacherLoginAwardLog]
- WHERE
- StudentID = @StudentID AND DateFlag >= CONVERT(CHAR(10), GETDATE() - 1, 120)
- ORDER BY
- Days ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserTeacher_GetProfitList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserTeacher_GetProfitList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 师徒--收益列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserTeacher_GetProfitList]
- @TeacherID INT, --师父ID
- @Days INT, --最近天数
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DateFlag SMALLDATETIME --日期标志
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- SET @DateFlag = CONVERT(CHAR(10), GETDATE(), 120)
- SET @RecordCount = 0
-
- --表变量
- DECLARE @tmptable TABLE(
- StudentID INT NOT NULL, --徒弟ID
- Profit DECIMAL(18, 2) NOT NULL, --收益
- Price DECIMAL(18, 2) NOT NULL --充值金额
- )
- INSERT INTO @tmptable
- (
- StudentID, Profit, Price
- )
- SELECT
- StudentID, SUM(Profit), SUM(Price)
- FROM
- [TeacherProfit]
- WHERE
- Crdate >= @DateFlag - @Days AND TeacherID = @TeacherID AND ProfitType = 2
- GROUP BY
- StudentID
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Profit DESC) AS RowNumber,
- StudentID, Profit, Price
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- RowNumber, StudentID, Profit, Price
- FROM
- [List]
- WHERE
- RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserTeacher_GetStudentList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserTeacher_GetStudentList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 师徒--徒弟列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserTeacher_GetStudentList]
- @TeacherID INT --师父ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- StudentID, Profit, CONVERT(VARCHAR(16), Crdate, 120) AS Crdate
- FROM
- [UserTeacher]
- WHERE
- TeacherID = @TeacherID
- ORDER BY
- Crdate DESC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserTeacher_GiftBindAward] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserTeacher_GiftBindAward]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 师徒--领取绑定奖励
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserTeacher_GiftBindAward]
- @TeacherID INT, --师父ID
- @Rid INT --标志
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT --操作结果
- DECLARE @Profit BIGINT --收益
-
- SET @RetCode = 0
- SET @Profit = 0
-
- SELECT @RetCode AS RetCode, @Profit AS Profit
- RETURN
-
- --更新
- UPDATE
- [TeacherBindAwardLog]
- SET
- Status = 1, @Profit = Profit
- WHERE
- Rid = @Rid AND TeacherID = @TeacherID AND Status = 0
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode, @Profit AS Profit
- RETURN
- END
-
- --操作成功
- SET @RetCode = 1
- SELECT @RetCode AS RetCode, @Profit AS Profit
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserTeacher_GiftLoginAward] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserTeacher_GiftLoginAward]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 师徒--领取登录奖励
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserTeacher_GiftLoginAward]
- @TeacherID INT, --师父ID
- @Rid INT --标识
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT --操作结果
- DECLARE @Days INT --天数
- DECLARE @Profit INT --收益
-
- SET @RetCode = 0
- SET @Profit = 0
-
- SELECT @RetCode AS RetCode, @Profit AS Profit
- RETURN
-
- --更新
- UPDATE
- [TeacherLoginAwardLog]
- SET
- Status = 1, @Days = Days
- WHERE
- Rid = @Rid AND TeacherID = @TeacherID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode, @Profit AS Profit
- RETURN
- END
-
- --收益
- SELECT @Profit = Profit FROM [TeacherLoginAward] WHERE Days = @Days
-
- --操作成功
- SET @RetCode = 1
- SELECT @RetCode AS RetCode, @Profit AS Profit
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserTeacher_PlayVideo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserTeacher_PlayVideo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 师徒--播放广告视频
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserTeacher_PlayVideo]
- @TeacherID INT, --师父ID
- @StudentID INT, --徒弟ID
- @Rid INT --标志
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @Retcode TINYINT --操作结果
- DECLARE @DBTeacherID INT --师父ID
- DECLARE @DBStudentID INT --徒弟ID
- DECLARE @Profit BIGINT --收益
-
- SET @RetCode = 0
- SET @Profit = 0
-
- SELECT @RetCode AS RetCode, @Profit AS Profit
- RETURN
-
- --获取
- SELECT
- @DBTeacherID = TeacherID, @DBStudentID = StudentID, @Profit = Profit
- FROM
- [TeacherProfit]
- WHERE
- Rid = @Rid
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode, @Profit AS Profit
- RETURN
- END
-
- IF(@TeacherID != @DBTeacherID OR @StudentID != @DBStudentID)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode, @Profit AS Profit
- RETURN
- END
-
- --更新
- UPDATE
- [TeacherProfit]
- SET
- Profit = Profit + @Profit
- WHERE
- Rid = @Rid
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 12
- SELECT @RetCode AS RetCode, @Profit AS Profit
- RETURN
- END
-
- --操作成功
- SET @RetCode = 1
- SELECT @RetCode AS RetCode, @Profit AS Profit
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserTeacher_ReduceProfit] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserTeacher_ReduceProfit]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 扣减代理收益
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserTeacher_ReduceProfit]
- @UserID INT, --用户ID
- @Profit BIGINT, --收益
- @ProfitType TINYINT --收益类型(1=绑码 2=充值 3=兑换 4=提现)
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @RetCode TINYINT --操作结果
- DECLARE @Remark VARCHAR(128)
-
- SET @RetCode = 0
-
- IF(@Profit IS NULL OR @Profit <= 0)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --扣减收益
- UPDATE [Teacher] SET Profit = Profit - @Profit WHERE UserID = @UserID AND Profit >= @Profit
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- SET @Remark = CASE
- WHEN @ProfitType = 3 THEN '兑换'
- WHEN @ProfitType = 4 THEN '提现'
- ELSE ''
- END
-
- --记录
- INSERT INTO [TeacherProfit]
- (
- StudentID, TeacherID, Profit, ProfitType, Price, Remark, Crdate
- )
- VALUES
- (
- @UserID, @UserID, -@Profit, @ProfitType, 0, @Remark, GETDATE()
- )
-
- SET @RetCode = 1
-
- --返回信息
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserTeacher_Register] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserTeacher_Register]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-06-11
- -- Mendor: wolf
- -- Alter Date: 2014-12-29
- -- Description: 师徒--注册
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserTeacher_Register]
- @UserID INT
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @IMei VARCHAR(64)
- DECLARE @deviceid VARCHAR(64)
- DECLARE @RetCode TINYINT
- SET @RetCode = 0
- --判断是否已注册
- IF EXISTS(SELECT UserID FROM [Teacher] WHERE UserID = @UserID)
- BEGIN
- --操作成功
- SET @RetCode = 11
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --IMei
- SELECT @IMei = IMei, @deviceid = deviceid FROM [AllUser] WHERE UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- --操作成功
- SET @RetCode = 12
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --不是facebook账号
- IF(LEFT(@IMei, 3) != 'fb.' AND LEFT(@deviceid, 3) != 'fb.')
- BEGIN
- --操作成功
- SET @RetCode = 12
- SELECT @RetCode AS RetCode
- RETURN
- END
-
- --初始化
- INSERT INTO [Teacher]
- (
- UserID, Profit, Students, TotalProfit, Crdate
- )
- VALUES
- (
- @UserID, 0, 0, 0, GETDATE()
- )
-
- --操作成功
- SET @RetCode = 1
- SELECT @RetCode AS RetCode
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserTeacher_SysBindAward] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserTeacher_SysBindAward]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 师徒绑定奖励
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserTeacher_SysBindAward]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- AwardID, Students, Profit
- FROM
- [TeacherBindAward]
- ORDER BY
- Students
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserTrack_Record] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserTrack_Record]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2016-07-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-18
- -- Description: 游戏轨迹记录
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserTrack_Record]
- @UserID INT, --用户ID
- @Level_1 NVARCHAR(32), --1级类目
- @Level_2 NVARCHAR(32), --2级类目
- @Level_3 NVARCHAR(32), --3级类目
- @VideoName NVARCHAR(32), --视频广告名称
- @Amount BIGINT --金币数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @CurrTime DATETIME --系统当前时间
- DECLARE @DateFlag SMALLDATETIME --日期标识
- DECLARE @Status TINYINT --状态(0=请求 1=播放 2=未播放)
- DECLARE @PartnerID INT --渠道ID
- SET @CurrTime = GETDATE()
- SET @DateFlag = CONVERT(CHAR(10), @CurrTime, 120)
- INSERT INTO [UserTrack]
- (
- UserID, Level_1, Level_2, Level_3, Crdate
- )
- VALUES
- (
- @UserID, @Level_1, @Level_2, @Level_3, @CurrTime
- )
-
- --游戏轨迹统计
- UPDATE
- [UserTrackStat]
- SET
- Times = Times + 1
- WHERE
- UserID = @UserID AND Level_1 = @Level_1 AND Level_2 = @Level_2 AND Level_3 = @Level_3 AND DateFlag = @DateFlag
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserTrackStat]
- (
- DateFlag, UserID, Level_1, Level_2, Level_3, Times
- )
- VALUES
- (
- @DateFlag, @UserID, @Level_1, @Level_2, @Level_3, 1
- )
- END
-
- --视频广告统计
- IF(@Level_2 IN (N'请求广告', N'请求游戏广告'))
- BEGIN
- SET @VideoName = ISNULL(@VideoName, '')
- SET @Amount = ISNULL(@Amount, 0)
- SET @Status = 0
-
- --广告播放
- IF(LEFT(@Level_3, 2) = N'获得')
- BEGIN
- --更新
- UPDATE
- [UserDailyStat]
- SET
- VideoPlayTimes = VideoPlayTimes + 1, VideoSendAmount = VideoSendAmount + @Amount
- WHERE
- DateFlag = @DateFlag AND UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UserDailyStat]
- (
- DateFlag, UserID, WinAmount, LoseAmount, StillAmount, GameStart, GameEnd,
- PlaySeconds, PayMoney, LoginCount, VideoPlayTimes, VideoSendAmount
- )
- VALUES
- (
- @DateFlag, @UserID, 0, 0, 0, '2021-01-01', '2021-01-01',
- 0, 0, 0, 1, @Amount
- )
- END
-
- --播放
- SET @Status = 1
- END
-
- --未播放
- ELSE IF(LEFT(@Level_3, 3) = N'未获得')
- BEGIN
- --未播放
- SET @Status = 2
- END
-
- --广告记录
- INSERT INTO [UserVideoLog]
- (
- VideoName, UserID, ModuleName, Status, Amount, Crdate
- )
- VALUES
- (
- @VideoName, @UserID, @Level_1, @Status, @Amount, @CurrTime
- )
-
- --广告统计(状态(0=请求 1=播放 2=未播放))
- UPDATE
- [UserVideoStat]
- SET
- ReqTimes = CASE WHEN @Status = 0 THEN ReqTimes + 1 ELSE ReqTimes END,
- PlayTimes = CASE WHEN @Status = 1 THEN PlayTimes + 1 ELSE PlayTimes END,
- UnPlayTimes = CASE WHEN @Status = 2 THEN UnPlayTimes + 1 ELSE UnPlayTimes END,
- Amount = Amount + @Amount
- WHERE
- UserID = @UserID AND VideoName = @VideoName AND DateFlag = @DateFlag AND ModuleName = @Level_1
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- --渠道ID
- SELECT @PartnerID = PartnerID FROM [AllUser] WHERE UserID = @UserID
-
- --视频统计
- INSERT INTO [UserVideoStat]
- (
- DateFlag, UserID, PartnerID, VideoName, ModuleName,
- ReqTimes, PlayTimes, UnPlayTimes, Amount
- )
- VALUES
- (
- @DateFlag, @UserID, @PartnerID, @VideoName, @Level_1,
- CASE WHEN @Status = 0 THEN 1 ELSE 0 END,
- CASE WHEN @Status = 1 THEN 1 ELSE 0 END,
- CASE WHEN @Status = 2 THEN 1 ELSE 0 END,
- @Amount
- )
- END
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserVideo_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserVideo_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 用户视频列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserVideo_GetList]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- VideoID, PlayTimes, dbo.fn_TimeToStamp(UpdateTime) AS UpdateTime
- FROM
- [UserVideo]
- WHERE
- UserID = @UserID
- ORDER BY
- VideoID ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserVideo_Update] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserVideo_Update]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 用户视频更新
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserVideo_Update]
- @UserID INT, --用户ID
- @VideoID INT, --视频ID
- @PlayTimes INT, --播放次数
- @UpdateTime INT, --更新时间
- @IsStat TINYINT --是否统计
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @DateFlag SMALLDATETIME --日期标识
- --修改
- UPDATE
- [UserVideo]
- SET
- PlayTimes = @PlayTimes, UpdateTime = dbo.fn_StampToTime(@UpdateTime)
- WHERE
- UserID = @UserID AND VideoID = @VideoID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- --初始化
- INSERT INTO [UserVideo]
- (
- UserID, VideoID, PlayTimes, UpdateTime
- )
- VALUES
- (
- @UserID, @VideoID, @PlayTimes, dbo.fn_StampToTime(@UpdateTime)
- )
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserVip_GetDealHistory] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserVip_GetDealHistory]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 获取Vip购买记录
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserVip_GetDealHistory]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --Vip购买记录
- SELECT VipDealId, LastExchangeTime FROM [VipDealHistory] WHERE UserID = @UserID
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserVip_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserVip_GetInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 获取Vip信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserVip_GetInfo]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --Vip信息
- SELECT VipLevel, VipPoint FROM [UserVip] WHERE UserID = @UserID
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserVip_Update] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserVip_Update]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 用户Vip信息更新
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserVip_Update]
- @UserID INT, --用户ID
- @VipLevel SMALLINT, --Vip等级
- @VipPoint BIGINT --分数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --更新Vip信息
- UPDATE [UserVip] SET VipLevel = @VipLevel, VipPoint = @VipPoint WHERE UserID = @UserID
-
- IF(@@ROWCOUNT > 0)
- RETURN
-
- --初始化数据
- INSERT INTO [UserVip]
- (
- UserID, VipLevel, VipPoint
- )
- VALUES
- (
- @UserID, @VipLevel, @VipPoint
- )
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserVip_UpdateDealHistory] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserVip_UpdateDealHistory]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 更新用户vip特惠购买记录
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserVip_UpdateDealHistory]
- @UserID INT, --用户ID
- @VipDealId INT, --特惠礼包ID
- @LastExchangeTime DATETIME --最近特惠时间
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --更新信息
- UPDATE
- [VipDealHistory]
- SET
- LastExchangeTime = @LastExchangeTime
- WHERE
- UserID = @UserID AND VipDealId = @VipDealId
-
- IF(@@ROWCOUNT > 0)
- RETURN
-
- --添加特惠礼包新记录
- INSERT INTO [VipDealHistory]
- (
- UserID, VipDealId, LastExchangeTime
- )
- VALUES
- (
- @UserID, @VipDealId, @LastExchangeTime
- )
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserVitality_GetInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserVitality_GetInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 获取活跃度
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserVitality_GetInfo]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- DayIndex, DayPoint, WeekIndex, WeekPoint
- FROM
- [UserVitality]
- WHERE
- UserID = @UserID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UserVitality_Update] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UserVitality_Update]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 活跃度更新
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UserVitality_Update]
- @UserID INT, --用户ID
- @DayIndex INT, --天索引
- @DayPoint INT, --天度数
- @WeekIndex INT, --周索引
- @WeekPoint INT, --周度数
- @RetCode TINYINT OUTPUT --操作结果
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SET @RetCode = 0
-
- --更新活跃度
- UPDATE
- [UserVitality]
- SET
- DayIndex = @DayIndex, DayPoint = @DayPoint, WeekIndex = @WeekIndex, WeekPoint = @WeekPoint
- WHERE
- UserID = @UserID
-
- IF(@@ROWCOUNT > 0)
- BEGIN
- SET @RetCode = 1
- RETURN
- END
-
- --初始化活跃度
- INSERT INTO [UserVitality]
- (
- UserID, DayIndex, DayPoint, WeekIndex, WeekPoint
- )
- VALUES
- (
- @UserID, @DayIndex, @DayPoint, @WeekIndex, @WeekPoint
- )
-
- SET @RetCode = 1
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_UTM_Insert] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_UTM_Insert]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-12-29
- -- Mendor: wolf
- -- Alter Date: 2015-06-01
- -- Description: 流量渠道追踪全解析
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_UTM_Insert]
- @UserID INT, --用户ID
- @Source NVARCHAR(128), --广告系列来源。用来标识搜索引擎、简报名称或其他来源。示例: utm_source=google
- @Medium NVARCHAR(128), --广告系列媒介。用来标识媒介,比如电子邮件或每次点击费用。示例:utm_medium=cpc
- @Term NVARCHAR(128), --广告系列字词。用于付费搜索,用来注明此广告的关键字。示例:utm_term=running+shoes
- @Content NVARCHAR(256), --广告系列内容。用于A/B测试和按内容进行定位的广告。区分指向同一网址的广告或链接。示例:utm_content=logolink或utm_content=textlink
- @Campaign NVARCHAR(128) --广告系列名称。用于关键字分析。用来标识特定的产品促销活动或战略性广告系列。示例:utm_campaign=spring_sale
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- UPDATE
- [UTM]
- SET
- Source = @Source, Medium = @Medium, Term = @Term,
- Content = @Content, Campaign = @Campaign
- WHERE
- UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [UTM]
- (
- UserID, Source, Medium, Term, Content, Campaign
- )
- VALUES
- (
- @UserID, @Source, @Medium, @Term, @Content, @Campaign
- )
- END
-
- IF(LEN(@Source) <= 0)
- RETURN
-
- --新增源渠道
- IF NOT EXISTS(SELECT Source FROM [UTMSource] WHERE Source = @Source)
- BEGIN
- INSERT INTO [UTMSource](Source) VALUES(@Source)
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Video_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Video_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2015-10-10
- -- Mendor: wolf
- -- Alter Date: 2015-10-10
- -- Description: 视频列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Video_GetList]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- VideoID, PlayTimes, Awards
- FROM
- [Video]
- ORDER BY
- VideoID ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_Vip_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_Vip_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: Vip系统数值
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_Vip_GetList]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- SELECT
- VipLevel, VipPoint, GiftPack, Privilege, Description
- FROM
- [VipInfo]
- ORDER BY
- VipLevel ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_VipDeal_GetList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_VipDeal_GetList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: Vip特惠礼包
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_VipDeal_GetList]
-
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --特惠礼包
- SELECT VipDealId, VipDealName, VipLevel, Items, Price, ProductID FROM [VipDeal] ORDER BY VipDealId ASC
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_WaterPool_GetRecordList] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_WaterPool_GetRecordList]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 个人奖池记录列表
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_WaterPool_GetRecordList]
- @UserID INT, --用户ID
- @BeginTime DATETIME, --开始时间
- @EndTime DATETIME, --截止时间
- @PageIndex INT, --页索引
- @PageSize INT, --页大小
- @RecordCount INT OUTPUT --记录数
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- DECLARE @StartRowIndex INT --起始行索引
- DECLARE @EndRowIndex INT --截止行索引
- DECLARE @tmptable TABLE(
- Rid INT NOT NULL, --标识
- UserID INT NOT NULL, --用户ID
- PoolValue BIGINT NOT NULL, --生成后的数值
- WantValue BIGINT NOT NULL, --操作的数值
- GenType VARCHAR(32) NOT NULL, --生成方式
- RoomType INT NOT NULL, --房间类型(1.普通房间,2.加倍场,3.快速场)
- RoomName VARCHAR(32) NOT NULL, --房间名称
- Crdate DATETIME NOT NULL --时间
- )
-
- SET @StartRowIndex = (@PageIndex - 1) * @PageSize + 1
- SET @EndRowIndex = @PageIndex * @PageSize
-
- --查询某一用户
- IF(@UserID > 0)
- BEGIN
- INSERT INTO @tmptable
- (
- Rid, UserID, PoolValue, WantValue, GenType, RoomType, RoomName, Crdate
- )
- SELECT
- Rid, UserID, PoolValue, WantValue, GenType, RoomType, RoomName, Crdate
- FROM
- [WaterPoolRecord]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime AND UserID = @UserID
- END
-
- ELSE
- BEGIN
- INSERT INTO @tmptable
- (
- Rid, UserID, PoolValue, WantValue, GenType, RoomType, RoomName, Crdate
- )
- SELECT
- Rid, UserID, PoolValue, WantValue, GenType, RoomType, RoomName, Crdate
- FROM
- [WaterPoolRecord]
- WHERE
- Crdate BETWEEN @BeginTime AND @EndTime
- END
-
- --记录数
- SET @RecordCount = @@ROWCOUNT
-
- ;WITH [List] AS
- (
- SELECT
- ROW_NUMBER() OVER(ORDER BY Rid DESC) AS RowNumber,
- Rid, UserID, PoolValue, WantValue, GenType, RoomType, RoomName, Crdate
- FROM
- @tmptable
- )
-
- --返回信息
- SELECT
- l.Rid, l.UserID, u.NickName, l.PoolValue, l.WantValue, l.GenType,
- CONVERT(VARCHAR(16), l.Crdate, 120) AS Crdate, RoomType, RoomName
- FROM
- [List] l INNER JOIN [AllUser] u ON l.UserID = u.UserID
- WHERE
- l.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex
- ORDER BY
- l.RowNumber ASC
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_WaterPool_GetUserInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_WaterPool_GetUserInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 个人奖池请求
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_WaterPool_GetUserInfo]
- @UserID INT --用户ID
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --返回信息
- SELECT
- PoolType, PoolValue
- FROM
- [WaterPool]
- WHERE
- UserID = @UserID
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_WaterPool_GrantRecord] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_WaterPool_GrantRecord]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 个人奖池生成记录
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_WaterPool_GrantRecord]
- @UserID INT, --用户ID
- @PoolValue BIGINT, --生成后的数值
- @WantValue BIGINT, --操作的数值
- @GenType VARCHAR(32), --生成方式
- @RoomType INT, --房间类型(1.普通房间,2.加倍场,3.快速场)
- @RoomName VARCHAR(32) --房间名称
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- --添加记录
- INSERT INTO [WaterPoolRecord]
- (
- UserID, PoolValue, WantValue, GenType, RoomType, RoomName, Crdate
- )
- VALUES
- (
- @UserID, @PoolValue, @WantValue, @GenType, @RoomType, @RoomName, GETDATE()
- )
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_WaterPool_UpdateTotalInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_WaterPool_UpdateTotalInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 更新总奖池信息(累加)
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_WaterPool_UpdateTotalInfo]
- @PositiveGenAmount BIGINT, --正向生成金
- @PositiveExecAmount BIGINT, --正向执行金
- @NagetiveGenAmount BIGINT, --负向生成金
- @NagetiveExecAmount BIGINT, --负向执行金
- @GrantAmount BIGINT --个人发放体验金
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- UPDATE
- [WaterPoolTotal]
- SET
- PositiveGenAmount = PositiveGenAmount + @PositiveGenAmount,
- PositiveExecAmount = PositiveExecAmount + @PositiveExecAmount,
- NagetiveGenAmount = NagetiveGenAmount + @NagetiveGenAmount,
- NagetiveExecAmount = NagetiveExecAmount + @NagetiveExecAmount,
- GrantAmount = GrantAmount + @GrantAmount
- WHERE
- DateFlag = CONVERT(CHAR(10), GETDATE(), 120)
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [WaterPoolTotal]
- (
- DateFlag, PositiveGenAmount, PositiveExecAmount,
- NagetiveGenAmount, NagetiveExecAmount, GrantAmount
- )
- VALUES
- (
- CONVERT(CHAR(10), GETDATE(), 120), @PositiveGenAmount, @PositiveExecAmount,
- @NagetiveGenAmount, @NagetiveExecAmount, @GrantAmount
- )
- END
-
- RETURN
- END
- GO
- /****** Object: StoredProcedure [dbo].[WS_WaterPool_UpdateUserInfo] Script Date: 2024/1/12 11:01:14 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- EXEC [WS_WaterPool_UpdateUserInfo]
- -- ==============================================
- -- Author: wolf
- -- Create Date: 2014-01-21
- -- Mendor: wolf
- -- Alter Date: 2016-11-07
- -- Description: 更新玩家个人奖池信息
- -- ==============================================
- CREATE PROCEDURE [dbo].[WS_WaterPool_UpdateUserInfo]
- @UserID INT, --用户ID
- @PoolType INT, --调控模式
- @PoolValue BIGINT --奖池数据
- AS
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
- SET XACT_ABORT ON
- BEGIN
- UPDATE
- [WaterPool]
- SET
- PoolType = @PoolType, PoolValue = @PoolValue
- WHERE
- UserID = @UserID
-
- IF(@@ROWCOUNT = 0)
- BEGIN
- INSERT INTO [WaterPool]
- (
- UserID, PoolType, PoolValue
- )
- VALUES
- (
- @UserID, @PoolType, @PoolValue
- )
- END
-
- RETURN
- END
- GO
|