ÿØÿà JFIF    ÿÛ „  ( %"1!%)+...383,7(-.+  -+++--++++---+-+-----+---------------+---+-++7-----ÿÀ  ß â" ÿÄ     ÿÄ H    !1AQaq"‘¡2B±ÁÑð#R“Ò Tbr‚²á3csƒ’ÂñDS¢³$CÿÄ   ÿÄ %  !1AQa"23‘ÿÚ   ? ôÿ ¨pŸªáÿ —åYõõ\?àÒü©ŠÄï¨pŸªáÿ —åYõõ\?àÓü©ŠÄá 0Ÿªáÿ Ÿå[úƒ ú®ði~TÁbqÐ8OÕpÿ ƒOò¤Oè`–RÂáœá™êi€ßÉ< FtŸI“öÌ8úDf´°å}“¾œ6  öFá°y¥jñÇh†ˆ¢ã/ÃÐ:ªcÈ "Y¡ðÑl>ÿ ”ÏËte:qž\oäŠe÷󲍷˜HT4&ÿ ÓÐü6ö®¿øþßèô Ÿ•7Ñi’•j|“ñì>b…þS?*Óôÿ ÓÐü*h¥£ír¶ü UãS炟[AÐaè[ûª•õ&õj?†Éö+EzP—WeÒírJFt ‘BŒ†Ï‡%#tE Øz ¥OÛ«!1›üä±Í™%ºÍãö]°î(–:@<‹ŒÊö×òÆt¦ãº+‡¦%ÌÁ²h´OƒJŒtMÜ>ÀÜÊw3Y´•牋4ǍýʏTì>œú=Íwhyë,¾Ôò×õ¿ßÊa»«þˆѪQ|%6ž™A õ%:øj<>É—ÿ Å_ˆCbõ¥š±ý¯Ýƒï…¶|RëócÍf溪“t.СøTÿ *Ä¿-{†çàczůŽ_–^XþŒ±miB[X±d 1,é”zEù»& î9gœf™9Ð'.;—™i}!ôšåîqêÛ٤ёý£½ÆA–àôe"A$˝Úsäÿ ÷Û #°xŸëí(l »ý3—¥5m! rt`†0~'j2(]S¦¦kv,ÚÇ l¦øJA£Šƒ J3E8ÙiŽ:cÉžúeZ°€¯\®kÖ(79«Ž:¯X”¾³Š&¡* ….‰Ž(ÜíŸ2¥ª‡×Hi²TF¤ò[¨íÈRëÉ䢍mgÑ.Ÿ<öäS0í„ǹÁU´f#Vß;Õ–…P@3ío<ä-±»Ž.L|kªÀê›fÂ6@»eu‚|ÓaÞÆŸ…¨ááå>åŠ?cKü6ùTÍÆ”†sĤÚ;H2RÚ†õ\Ö·Ÿn'¾ ñ#ºI¤Å´%çÁ­‚â7›‹qT3Iï¨ÖÚ5I7Ë!ÅOóŸ¶øÝñØôת¦$Tcö‘[«Ö³šÒ';Aþ ¸èíg A2Z"i¸vdÄ÷.iõ®§)¿]¤À†–‡É&ä{V¶iŽ”.Ó×Õÿ û?h¬Mt–íª[ÿ Ñÿ ÌV(í}=ibÔ¡›¥¢±b Lô¥‡piη_Z<‡z§èŒ)iÖwiÇ 2hÙ3·=’d÷8éŽ1¦¸c¤µ€7›7Ø ð\á)} ¹fËí›pAÃL%âc2 í§æQz¿;T8sæ°qø)QFMð‰XŒÂ±N¢aF¨…8¯!U  Z©RÊ ÖPVÄÀÍin™Ì-GˆªÅËŠ›•zË}º±ŽÍFò¹}Uw×#ä5B¤{î}Ð<ÙD é©¤&‡ïDbàÁôMÁ." ¤‡ú*õ'VŽ|¼´Úgllº¼klz[Æüï÷Aób‡Eÿ dÑ»Xx9ÃÜ£ÁT/`¼¸vI±Ýµ·Ë‚“G³þ*Ÿû´r|*}<¨îºœ @¦mÄ’M¹”.œ«Y–|6ÏU¤jç¥ÕÞqO ˜kDÆÁ¨5ÿ š;ÐЦ¦€GÙk \ –Þ=â¼=SͧµªS°ÚÍpÜãQűÀõ¬?ÃÁ1Ñ•õZà?hóœ€ L¦l{Y*K˜Ù›zc˜–ˆâ ø+¾ ­-Ök¥%ùEÜA'}ˆ><ÊIè“bpÍ/qÞâvoX€w,\úªò6Z[XdÒæ­@Ö—€$òJí#é>'°Ú ôª˜<)4ryÙ£|óAÅn5žêŸyÒäMÝ2{"}‰–¤l÷ûWX\l¾Á¸góÉOÔ /óñB¤f¸çñ[.P˜ZsÊË*ßT܈§QN¢’¡¨§V¼(Üù*eÕ“”5T¨‹Âê¥FŒã½Dü[8'Ò¥a…Ú¶k7a *•›¼'Ò·\8¨ª\@\õ¢¦íq+DÙrmÎ…_ªæ»ŠÓœ¡¯’Ré9MÅ×D™lælffc+ŒÑ,ý™ÿ ¯þǤ=Å’Á7µ÷ÚÛ/“Ü€ñýã¼àí¾ÕÑ+ƒ,uµMâÀÄbm:ÒÎPæ{˜Gz[ƒ¯«® KHà`ߨŠéí¯P8Aq.C‰ à€kòpj´kN¶qô€…Õ,ÜNŠª-­{Zö’æû44‰sŽè‰îVíRœÕm" 6?³D9¡ÇTíÅꋇ`4«¸ÝÁô ï’ýorqКÇZ«x4Žâéþuïf¹µö[P ,Q£éaX±`PÉÍZ ¸äYúg üAx ’6Lê‚xÝÓ*äQ  Ï’¨hÍ =²,6ï#rÃ<¯–£»ƒ‹,–ê•€ aÛsñ'%Æ"®ÛüìBᝠHÚ3ß°©$“XnœÖ’î2ËTeûìxîß ¦å¿çÉ ðK§þ{‘t‚Ϋ¬jéîZ[ ”š7L¥4VÚCE×]m¤Øy”ä4-dz£œ§¸x.*ãÊÊ b÷•h:©‡¦s`BTÁRû¾g⻩‹jø sF¢àJøFl‘È•Xᓁà~*j¯ +(ÚÕ6-£¯÷GŠØy‚<Ç’.F‹Hœw(+)ÜÜâÈzÄäT§FߘãÏ;DmVœ3Àu@mÚüXÝü•3B¨òÌÁÛ<·ÃÜ z,Ì@õÅ·d2]ü8s÷IôÞ¯^Ç9¢u„~ëAŸï4«M? K]­ÅàPl@s_ p:°¬ZR”´›JC[CS.h‹ƒïËœ«Æ]–÷ó‚wR×k7X‰k›‘´ù¦=¡«‰¨¨Â')—71ó’c‡Ðúµ `é.{§p¹ój\Ž{1h{o±Ý=áUÊïGÖŒõ–-BÄm+AZX¶¡ ïHðæ¥JmÙ;…䡟ˆ¦ ° äšiÉg«$üMk5¤L“’çÊvïâï ,=f“"íἊ5ô¬x6{ɏžID0e¸vçmi'︧ºð9$ò¹÷*£’9ÿ ²TÔ…×>JV¥}Œ}$p[bÔ®*[jzS*8 ”·T›Í–ñUîƒwo$áè=LT™ç—~ô·¤ÈÚ$榍q‰„+´kFm)ž‹©i–ËqÞŠ‰à¶ü( ‚•§ •°ò·‡#5ª•µÊ﯅¡X¨šÁ*F#TXJÊ ušJVÍ&=iÄs1‚3•'fý§5Ñ<=[íÞ­ PÚ;ѱÌ_~Ä££8rÞ ²w;’hDT°>ÈG¬8Á²ÚzŽ®ò®qZcqJêäÞ-ö[ܘbň±çb“ж31²n×iƒðÕ;1¶þÉ ªX‰,ßqÏ$>•î íZ¥Z 1{ç൵+ƒÕµ¥°T$§K]á»Ûï*·¤tMI’ÂZbŽÕiÒ˜}bÓ0£ª5›¨ [5Ž^ÝœWøÂÝh° ¢OWun£¤5 a2Z.G2³YL]jåtì”ä ÁÓ‘%"©<Ôúʰsº UZvä‡ÄiÆÒM .÷V·™ø#kèýiíÌ–ª)µT[)BˆõÑ xB¾B€ÖT¨.¥~ð@VĶr#¸ü*åZNDŽH;âi ],©£öØpù(šºãö¼T.uCê•4@ÿ GÕÛ)Cx›®0ø#:ÏðFÒbR\(€€Ä®fã4Þ‰Fä¯HXƒÅ,†öEÑÔÜ]Öv²?tLÃvBY£ú6Êu5ÅAQ³1‘’¬x–HŒÐ‡ ^ ¸KwJôÖŽ5×CÚ¨vÜ«/B0$×k°=ðbÇ(Ï)w±A†Á† 11Í=èQšµ626ŒÜ/`G«µ<}—-Ö7KEHÈÉðóȤmݱû±·ø«Snmá=“䫚mݱŸ¡¶~ó·“äUóJæúòB|E LêŽy´jDÔ$G¢þÐñ7óR8ýÒ…Ç› WVe#·Ÿ p·Fx~•ݤF÷0Èÿ K¯æS<6’¡WШ; ´ÿ ¥Êø\Òuî†åÝ–VNœkÒ7oòX¨Á­Ø÷FÎÑä±g÷ÿ M~Çî=p,X´ ÝÌÚÅ‹’ÃjÖ.ØöÏñ qïQ¤ÓZE†° =6·]܈ s¸>v•Ž^Ý\wq9r‰Î\¸¡kURÒ$­*‹Nq?Þª*!sŠÆ:TU_u±T+øX¡ ®¹¡,ÄâÃBTsÜ$Ø›4m椴zÜK]’’›Pƒ @€#â˜`é¹=I‡fiV•Ôî“nRm+µFPOhÍ0B£ €+¬5c v•:P'ÒyÎ ‰V~‚Ó†ÖuókDoh$å\*ö%Ю=£«…aȼ½÷Û.-½VŒŠ¼'lyî±1¬3ó#ÞE¿ÔS¤gV£m›=§\û"—WU¤ÚǼÿ ÂnÁGŒÃ ‚õN D³õNÚíŒÕ;HôyÄÈ©P¹Ä{:?R‘Ô¨âF÷ø£bÅó® JS|‚R÷ivýáâ€Æé¡è³´IئÑT!§˜•ت‚¬â@q€wnïCWÄ@JU€ê¯m6]Ï:£âx'+ÒðXvÓ¦Úm=–´7œ $ì“B£~p%ÕŸUþ« N@¼üï~w˜ñø5®—'Ôe»¤5ã//€ž~‰Tþ›Å7•#¤× Íö pÄ$ùeåì*«ÓŠEØWEÈsßg ¦ûvžSsLpºÊW–âµEWöˬH; ™!CYõZ ÃÄf æ#1W. \uWâ\,\Çf j’<qTbên›Î[vxx£ë 'ö¨1›˜ÀM¼Pÿ H)ƒêêŒA7s,|F“ 꺸k³9Ìö*ç®;Ö!Ö$Eiž•¹ÒÚ†ýóéÝû¾ÕS®ó$’NÝäŸz¤5r¦ãÄÃD÷Üø!°ø‡Ô&@m™Ì^Ãä­d q5Lnÿ N;.6½·N|#ä"1Nƒx“ã<3('&ñßt  ~ªu”1Tb㫨9ê–›–bìd$ߣ=#ÕãÒmU¯eí$EFù5ýYô櫨æì™Ç—±ssM]·á¿0ÕåJRÓªîiƒ+O58ÖñªŠÒx" \µâá¨i’¤i —Ö ” M+M¤ë9‚‰A¦°Qõ¾ßøK~¼Ã‘g…Ö´~÷Ï[3GUœÒ½#…kàÔ®Ò”‰³·dWV‰IP‰Ú8u¹”E ÖqLj¾êÕCBš{A^Âß;–¨`¯¬ìö ˼ ×tìø.tƐm*n¨y4o&Àx¥n¦×î‡aupáÛj8¿m›è¶ã!o½;ß0y^ý×^EÑ¿ÒjzŒ­)vÚÑnÄL …^ªô× ‡—‚3k Îý­hï]içå–îÏ*÷ñþ»Ô CÒjøjÍznˆ´ ¹#b'Fô‹ ‰v¥'’à'T´ƒHýÍ%M‰ ƒ&ÆÇŒï1 ‘ –Þ ‰i¬s žR-Ÿ kЬá¬7:þ 0ŒÅÒÕ/aÙ¬ÃÝ#Úøœ ©aiVc‰. ¹¦ãµ” ›Yg¦›ÆÎýº°f³7ƒhá·¸­}&D9¡ÂsÉÙÞèŠõØàC™¨ñbFC|´Ü(ŸƒÚÒ-%»'a Ì¿)ËÇn¿úÿ ÞŽX…4ÊÅH^ôΑí@ù¹Eh¶“L8Çjù ¼ÎåVªóR©Ï5uà V4lZß®=€xÖŸ–ÑÈ ÷”¨°¾__yM1tÉ?uÆþIkÄgæ@þ[¢†°XÃJ£j·:nkÅ¢u ‘}âGzö­/IµèЬ¼48q¦F°ŽR¼=ûì{´¯RýicS ÕÛ íNtÍÙï£,w4rêì®»~x(©Uñ§#Ñ&œÕ¤>ÎåÍÓ9’Ö{9eV­[Öjâ²ãu]˜å2›qÑšÕJç0€sÄ|Êëè0튔bÁ>“{×_F`Ø©ºê:µä,v¤ðfc1±"«ÔÍän1#=· Âøv~H½ÐßA¾¿Ü€Óš]Õ; I¾÷ç‚Qi†î¹9ywÔKG˜áñ zQY—§ÃÕZ07§X‚ Áh;ÁM)iÌCH-¯T‘ë|A0{Ò½LÚ–TâÖkÜ’dÀ“rmm»”جPF³ÖcbE§T€ÒxKºû’Ó®7±²(\4ŽÃ¸Uu@j™yĵ;³µ!Á¢b.W¤=mõ´êµK k ¸K^ÜÛ#p*Ü14qkZç5ïë †°5Ï%ÍÛ<Õ¤×Ô¥ê†C Õ´¼ú$ƒÖ“”]Ù¬qÞÚ[4©ý!ûÏ—Áb쳐XµA¬â~`›Çr¸8ìùÝ䫦<>ä÷«?xs´ÇÑ /á;¹øüÊÈÙà{"@Žïzâ¬[âß‚ U_<ÇŸ½4èN˜ú61®qŠu ¦þF£»äJ_ˆÙÎ~ ÞAã–݄ϗrŠD;xTž‘ô`É«…suãO`?³à™ô Lý#Íc5öoæØ‚y´´÷«ZR§<&JÇ+éâô´€i!Àˆ0æAoàðLèÖ-2ŸõW.’t^–(KÁmHµV@xÜÇy®Ñø­â^:Ú3w· 7½¹°ñ¸â¹®:',«Mœ—n­Á+Ãbš LÈ‘ÄnRÓÅœ%¦²‰¨ùQ:¤f‚ "PÕtô¸…cæl…&˜Ú˜Ôkv‹ž+vŠ,=¢v­6—Xy*¥t£«<™:“aîϲ=¦6rO]XI¿Œ÷¤zÚ­›¶ 6÷”w\d ü~v®ˆÌk«^m<ÿ ¢‰Õ\)ùºŽ;… lîÙÅEŠ®cѾ@vnMÏ,¼“ñ•ŽBxðÃzãÇç%3ˆ"}Ù•Åî> BÉú;Ò]V+P˜F_´ßé> Øše|ï‡ÄOmFæÇ ãqÞ$/xÐx­z`ï9"œÜij‚!7.\Td…9M‡•iŽ‹¾‘50ÞŽn¥ß4ÉôO ¹*í^QêËÜÇÌ8=ާs‰'ÂëÙ«á%Pú[O †ÅP¯Vsް.‰,kc¶ ¬A9n˜XÎ-ÞšN["¹QÕ‰ƒMýÁߺXJæÍaLj¾×Ãmã¾ãÚ uñÒþåQô¦¥ /ÄUx:‚ÍÜ’ Đ©ØÝ3V¨‰ÕnÐ6ó*óúK­«…c ¯U òhsý­jóÔj#,ímŒRµ«lbïUTŒÑ8†Ä0œÏr`ð¡¬É Ї ë"À² ™ 6¥ f¶ ¢ÚoܱԷ-<Àî)†a¶ž'Ú»¨TXqØæ¶÷YÄHy˜9ÈIW­YÀuMFë ºÏ’AqÌ4·/Ú †ô'i$øä­=Ä Ý|öK×40è|È6p‘0§)o¥ctî§H+CA-“ xØ|ÐXАç l8íºð3Ø:³¤¬KX¯UÿÙ -- MySQL dump 10.13 Distrib 8.0.38, for Linux (x86_64) -- -- Host: localhost Database: stavka -- ------------------------------------------------------ -- Server version 8.0.38 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!50503 SET NAMES utf8mb4 */; /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; /*!40103 SET TIME_ZONE='+00:00' */; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; -- -- Table structure for table `balance_transactions` -- DROP TABLE IF EXISTS `balance_transactions`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `balance_transactions` ( `transaction_id` int NOT NULL AUTO_INCREMENT, `user_id` bigint NOT NULL, `amount` int NOT NULL, `type` enum('bet_win','bet_loss','admin_topup','admin_adjustment','bonus','penalty') COLLATE utf8mb4_unicode_ci NOT NULL, `description` text COLLATE utf8mb4_unicode_ci, `reference_id` int DEFAULT NULL, `balance_before` int NOT NULL, `balance_after` int NOT NULL, `created_by` bigint DEFAULT NULL, `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`transaction_id`), KEY `idx_user_id` (`user_id`), KEY `idx_type` (`type`), KEY `idx_created_at` (`created_at`), KEY `idx_reference_id` (`reference_id`), KEY `idx_created_by` (`created_by`), KEY `idx_transactions_user_type_date` (`user_id`,`type`,`created_at`), CONSTRAINT `balance_transactions_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`user_id`) ON DELETE CASCADE, CONSTRAINT `balance_transactions_ibfk_2` FOREIGN KEY (`created_by`) REFERENCES `users` (`user_id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=95 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `balance_transactions` -- LOCK TABLES `balance_transactions` WRITE; /*!40000 ALTER TABLE `balance_transactions` DISABLE KEYS */; INSERT INTO `balance_transactions` VALUES (1,8163033935,-2,'bet_loss','Штраф за проигрыш ставки #1',1,10,8,7351775721,'2025-06-01 10:12:36'),(2,8163033935,-2,'bet_loss','Штраф за проигрыш ставки #2',2,8,6,7351775721,'2025-06-01 10:12:36'),(3,8163033935,-2,'bet_loss','Штраф за проигрыш ставки #3',3,6,4,7351775721,'2025-06-01 10:12:36'),(4,8163033935,-2,'bet_loss','Штраф за проигрыш ставки #4',4,4,2,7351775721,'2025-06-01 10:12:36'),(5,8163033935,-2,'bet_loss','Штраф за проигрыш ставки #5',5,2,0,7351775721,'2025-06-01 10:12:36'),(6,7536461207,4,'bet_win','Выигрыш ставки #6',6,10,14,7351775721,'2025-06-01 10:12:36'),(7,639528298,4,'bet_win','Выигрыш ставки #7',7,10,14,7351775721,'2025-06-01 10:12:36'),(8,7536461207,-2,'bet_loss','Штраф за проигрыш ставки #8',8,14,12,7351775721,'2025-06-01 10:12:36'),(9,7923380502,4,'bet_win','Выигрыш ставки #9',9,10,14,7351775721,'2025-06-01 10:12:36'),(10,7536461207,-2,'bet_loss','Штраф за проигрыш ставки #10',10,12,10,7351775721,'2025-06-01 10:12:36'),(11,639528298,-2,'bet_loss','Штраф за проигрыш ставки #11',11,14,12,7351775721,'2025-06-01 10:12:36'),(12,7760650630,-2,'bet_loss','Штраф за проигрыш ставки #12',12,10,8,7351775721,'2025-06-01 10:12:36'),(13,7760650630,-2,'bet_loss','Штраф за проигрыш ставки #13',13,8,6,7351775721,'2025-06-01 10:12:36'),(14,7760650630,-2,'bet_loss','Штраф за проигрыш ставки #14',14,6,4,7351775721,'2025-06-01 10:12:36'),(15,7760650630,-2,'bet_loss','Штраф за проигрыш ставки #15',15,4,2,7351775721,'2025-06-01 10:12:36'),(16,6789868086,4,'bet_win','Выигрыш ставки #16',16,10,14,7351775721,'2025-06-01 10:12:36'),(17,6019104350,-2,'bet_loss','Штраф за проигрыш ставки #17',17,10,8,7351775721,'2025-06-01 10:12:36'),(18,6019104350,-2,'bet_loss','Штраф за проигрыш ставки #18',18,8,6,7351775721,'2025-06-01 10:12:36'),(19,6019104350,-2,'bet_loss','Штраф за проигрыш ставки #19',19,6,4,7351775721,'2025-06-01 10:12:36'),(20,7868845332,-2,'bet_loss','Штраф за проигрыш ставки #20',20,10,8,7351775721,'2025-06-01 10:12:36'),(21,7868845332,-2,'bet_loss','Штраф за проигрыш ставки #21',21,8,6,7351775721,'2025-06-01 10:12:36'),(22,7868845332,-2,'bet_loss','Штраф за проигрыш ставки #22',22,6,4,7351775721,'2025-06-01 10:12:36'),(23,7868845332,-2,'bet_loss','Штраф за проигрыш ставки #23',23,4,2,7351775721,'2025-06-01 10:12:36'),(24,7868845332,-2,'bet_loss','Штраф за проигрыш ставки #24',24,2,0,7351775721,'2025-06-01 10:12:36'),(25,639528298,6,'admin_adjustment','Исправление неверного результата ставки #11',11,12,18,7351775721,'2025-06-01 11:00:32'),(26,7536461207,7,'admin_adjustment','Исправление неверного результата ставки #8',8,10,17,7351775721,'2025-06-01 11:00:32'),(27,7868845332,6,'admin_adjustment','Исправление неверного результата ставки #24',24,0,6,7351775721,'2025-06-01 11:00:32'),(28,6019104350,6,'admin_adjustment','Исправление неверного результата ставки #19',19,4,10,7351775721,'2025-06-01 11:12:57'),(29,7760650630,6,'admin_adjustment','Исправление неверного результата ставки #14',14,2,8,7351775721,'2025-06-01 11:12:57'),(30,7868845332,6,'admin_adjustment','Исправление неверного результата ставки #23',23,6,12,7351775721,'2025-06-01 11:12:57'),(31,8163033935,6,'admin_adjustment','Исправление неверного результата ставки #3',3,0,6,7351775721,'2025-06-01 11:12:57'),(32,7351775721,4,'bet_win','Ставка от администратора',25,10,14,7351775721,'2025-06-02 04:32:58'),(33,7351775721,4,'bet_win','Ставка от администратора',26,14,18,7351775721,'2025-06-02 04:35:06'),(34,7351775721,5,'bet_win','Ставка от администратора',27,18,23,7351775721,'2025-06-02 04:35:45'),(35,7351775721,4,'bet_win','Ставка от администратора',28,23,27,7351775721,'2025-06-02 04:36:51'),(36,7868845332,4,'bet_win','Ставка от администратора',29,12,16,7351775721,'2025-06-02 04:38:24'),(37,7868845332,4,'bet_win','Ставка от администратора',30,16,20,7351775721,'2025-06-02 04:39:24'),(38,7351775721,4,'bet_win','Ставка от администратора',31,27,31,7351775721,'2025-06-02 04:39:47'),(39,7868845332,4,'bet_win','Ставка от администратора',32,20,24,7351775721,'2025-06-02 04:41:08'),(40,7868845332,4,'bet_win','Ставка от администратора',33,24,28,7351775721,'2025-06-02 04:42:15'),(41,639528298,4,'bet_win','Ставка от администратора',34,18,22,7351775721,'2025-06-02 04:43:59'),(42,639528298,4,'bet_win','Ставка от администратора',35,22,26,7351775721,'2025-06-02 04:44:31'),(43,7923380502,4,'bet_win','Ставка от администратора',36,14,18,7351775721,'2025-06-02 04:45:17'),(44,7923380502,4,'bet_win','Ставка от администратора',37,18,22,7351775721,'2025-06-02 04:45:39'),(45,7536461207,4,'bet_win','Ставка от администратора',38,17,21,7351775721,'2025-06-02 04:46:48'),(46,7536461207,-2,'bet_loss','Ставка от администратора',39,21,19,7351775721,'2025-06-02 04:47:24'),(47,7536461207,5,'bet_win','Ставка от администратора',40,19,24,7351775721,'2025-06-02 04:48:00'),(48,7536461207,5,'bet_win','Ставка от администратора',41,24,29,7351775721,'2025-06-02 04:48:39'),(49,8163033935,4,'bet_win','Ставка от администратора',43,6,10,7351775721,'2025-06-02 04:58:06'),(50,8163033935,4,'bet_win','Ставка от администратора',44,10,14,7351775721,'2025-06-02 04:58:53'),(51,8163033935,4,'bet_win','Ставка от администратора',45,14,18,7351775721,'2025-06-02 04:59:16'),(52,8163033935,4,'bet_win','Ставка от администратора',46,18,22,7351775721,'2025-06-02 04:59:44'),(53,6019104350,4,'bet_win','Ставка от администратора',47,10,14,7351775721,'2025-06-02 05:02:43'),(54,5195771826,4,'bet_win','Ставка от администратора',48,10,14,7351775721,'2025-06-02 05:13:29'),(55,2131878062,4,'bet_win','Ставка от администратора',49,10,14,7351775721,'2025-06-02 05:17:21'),(56,2131878062,4,'bet_win','Ставка от администратора',50,14,18,7351775721,'2025-06-02 05:17:47'),(57,2131878062,4,'bet_win','Ставка от администратора',51,18,22,7351775721,'2025-06-02 05:18:14'),(58,2131878062,4,'bet_win','Ставка от администратора',52,22,26,7351775721,'2025-06-02 05:18:48'),(59,6789868086,4,'bet_win','Ставка от администратора',53,14,18,7351775721,'2025-06-02 05:37:42'),(60,6789868086,4,'bet_win','Ставка от администратора',54,18,22,7351775721,'2025-06-02 05:38:04'),(61,7351775721,-2,'bet_loss','Результат события: Сектор 3 - Сектор 4',55,31,29,7128006917,'2025-06-04 09:55:34'),(62,7351775721,4,'bet_win','Результат события: Сектор 3 - Сектор 4',56,31,35,7128006917,'2025-06-04 09:55:35'),(63,7351775721,-2,'bet_loss','Результат события: Сектор 3 - Сектор 4',57,31,29,7128006917,'2025-06-04 09:55:35'),(64,7351775721,-2,'bet_loss','Результат события: Сектор 3 - Сектор 4',58,31,29,7128006917,'2025-06-04 09:55:36'),(65,639528298,-2,'bet_loss','Результат события: Сектор 3 - Сектор 4',59,26,24,7128006917,'2025-06-04 09:55:36'),(66,639528298,-2,'bet_loss','Результат события: Сектор 3 - Сектор 4',60,26,24,7128006917,'2025-06-04 09:55:36'),(67,7923380502,-2,'bet_loss','Результат события: Сектор 3 - Сектор 4',61,22,20,7128006917,'2025-06-04 09:55:37'),(68,7923380502,-2,'bet_loss','Результат события: Сектор 3 - Сектор 4',62,22,20,7128006917,'2025-06-04 09:55:37'),(69,7923380502,-2,'bet_loss','Результат события: Сектор 3 - Сектор 4',63,22,20,7128006917,'2025-06-04 09:55:38'),(70,7760650630,-2,'bet_loss','Результат события: Сектор 3 - Сектор 4',64,8,6,7128006917,'2025-06-04 09:55:38'),(71,7760650630,-2,'bet_loss','Результат события: Сектор 3 - Сектор 4',65,8,6,7128006917,'2025-06-04 09:55:39'),(72,7760650630,-2,'bet_loss','Результат события: Сектор 3 - Сектор 4',66,8,6,7128006917,'2025-06-04 09:55:39'),(73,7760650630,-2,'bet_loss','Результат события: Сектор 3 - Сектор 4',67,8,6,7128006917,'2025-06-04 09:55:40'),(74,6019104350,-2,'bet_loss','Результат события: Сектор 3 - Сектор 4',68,14,12,7128006917,'2025-06-04 09:55:40'),(75,6019104350,-2,'bet_loss','Результат события: Сектор 3 - Сектор 4',69,14,12,7128006917,'2025-06-04 09:55:40'),(76,6019104350,-2,'bet_loss','Результат события: Сектор 3 - Сектор 4',70,14,12,7128006917,'2025-06-04 09:55:41'),(77,6019104350,-2,'bet_loss','Результат события: Сектор 3 - Сектор 4',71,14,12,7128006917,'2025-06-04 09:55:41'),(78,7536461207,-2,'bet_loss','Результат события: Сектор 3 - Сектор 4',72,29,27,7128006917,'2025-06-04 09:55:42'),(79,6789868086,-2,'bet_loss','Результат события: Сектор 3 - Сектор 4',73,22,20,7128006917,'2025-06-04 09:55:42'),(80,6789868086,-2,'bet_loss','Результат события: Сектор 3 - Сектор 4',74,22,20,7128006917,'2025-06-04 09:55:43'),(81,6789868086,-2,'bet_loss','Результат события: Сектор 3 - Сектор 4',75,22,20,7128006917,'2025-06-04 09:55:43'),(82,8163033935,-2,'bet_loss','Результат события: Сектор 3 - Сектор 4',76,22,20,7128006917,'2025-06-04 09:55:44'),(83,8163033935,-2,'bet_loss','Результат события: Сектор 3 - Сектор 4',77,22,20,7128006917,'2025-06-04 09:55:44'),(84,8163033935,-2,'bet_loss','Результат события: Сектор 3 - Сектор 4',78,22,20,7128006917,'2025-06-04 09:55:44'),(85,8163033935,-2,'bet_loss','Результат события: Сектор 3 - Сектор 4',79,22,20,7128006917,'2025-06-04 09:55:45'),(86,8163033935,-2,'bet_loss','Результат события: Сектор 3 - Сектор 4',80,22,20,7128006917,'2025-06-04 09:55:45'),(87,7351775721,-2,'bet_loss','Результат события: Сектор 3 - Сектор 4',81,31,29,7128006917,'2025-06-04 09:55:45'),(88,7536461207,4,'bet_win','Результат события: Сектор 3 - Сектор 4',82,29,33,7128006917,'2025-06-04 09:55:46'),(89,7536461207,-2,'bet_loss','Результат события: Сектор 3 - Сектор 4',83,29,27,7128006917,'2025-06-04 09:55:46'),(90,8163033935,-2,'bet_loss','Результат события: Сектор 3 - Сектор 4',84,22,20,7128006917,'2025-06-04 09:55:47'),(91,7868845332,-2,'bet_loss','Результат события: Сектор 3 - Сектор 4',85,28,26,7128006917,'2025-06-04 09:55:47'),(92,7868845332,-2,'bet_loss','Результат события: Сектор 3 - Сектор 4',86,28,26,7128006917,'2025-06-04 09:55:48'),(93,7868845332,-2,'bet_loss','Результат события: Сектор 3 - Сектор 4',87,28,26,7128006917,'2025-06-04 09:55:48'),(94,7868845332,-2,'bet_loss','Результат события: Сектор 3 - Сектор 4',88,28,26,7128006917,'2025-06-04 09:55:48'); /*!40000 ALTER TABLE `balance_transactions` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `bet_settings` -- DROP TABLE IF EXISTS `bet_settings`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `bet_settings` ( `setting_id` int NOT NULL AUTO_INCREMENT, `bet_type` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL, `bet_option` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL, `points_reward` int NOT NULL, `description` mediumtext COLLATE utf8mb4_unicode_ci, `is_active` tinyint(1) DEFAULT '1', `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`setting_id`), UNIQUE KEY `unique_bet_setting` (`bet_type`,`bet_option`), KEY `idx_bet_type` (`bet_type`), KEY `idx_is_active` (`is_active`) ) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `bet_settings` -- LOCK TABLES `bet_settings` WRITE; /*!40000 ALTER TABLE `bet_settings` DISABLE KEYS */; INSERT INTO `bet_settings` VALUES (1,'winner','team1',4,'Победа первой команды',1,'2025-06-01 05:04:57','2025-06-01 05:04:57'),(2,'winner','team2',4,'Победа второй команды',1,'2025-06-01 05:04:57','2025-06-01 05:04:57'),(3,'winner','draw',8,'Ничья',1,'2025-06-01 05:04:57','2025-06-01 05:04:57'),(4,'exact_score','0-0',10,'Точный счет 0-0',1,'2025-06-01 05:04:57','2025-06-01 05:04:57'),(5,'exact_score','1-0',10,'Точный счет 1-0',1,'2025-06-01 05:04:57','2025-06-01 05:04:57'),(6,'exact_score','0-1',10,'Точный счет 0-1',1,'2025-06-01 05:04:57','2025-06-01 05:04:57'),(7,'exact_score','1-1',10,'Точный счет 1-1',1,'2025-06-01 05:04:57','2025-06-01 05:04:57'),(8,'exact_score','2-0',10,'Точный счет 2-0',1,'2025-06-01 05:04:57','2025-06-01 05:04:57'),(9,'exact_score','0-2',10,'Точный счет 0-2',1,'2025-06-01 05:04:57','2025-06-01 05:04:57'),(10,'exact_score','2-1',10,'Точный счет 2-1',1,'2025-06-01 05:04:57','2025-06-01 05:04:57'),(11,'exact_score','1-2',10,'Точный счет 1-2',1,'2025-06-01 05:04:57','2025-06-01 05:04:57'),(12,'exact_score','2-2',10,'Точный счет 2-2',1,'2025-06-01 05:04:57','2025-06-01 05:04:57'),(13,'exact_score','3-0',10,'Точный счет 3-0',1,'2025-06-01 05:04:57','2025-06-01 05:04:57'),(14,'exact_score','0-3',10,'Точный счет 0-3',1,'2025-06-01 05:04:57','2025-06-01 05:04:57'),(15,'exact_score','3-1',10,'Точный счет 3-1',1,'2025-06-01 05:04:57','2025-06-01 05:04:57'),(16,'exact_score','1-3',10,'Точный счет 1-3',1,'2025-06-01 05:04:57','2025-06-01 05:04:57'),(17,'exact_score','3-2',10,'Точный счет 3-2',1,'2025-06-01 05:04:57','2025-06-01 05:04:57'),(18,'exact_score','2-3',10,'Точный счет 2-3',1,'2025-06-01 05:04:57','2025-06-01 05:04:57'),(19,'exact_score','other',10,'Другой точный счет',1,'2025-06-01 05:04:57','2025-06-01 05:04:57'),(20,'first_goal','team1',4,'Первый гол забьет команда 1',1,'2025-06-01 05:04:57','2025-06-01 05:08:22'),(21,'first_goal','team2',4,'Первый гол забьет команда 2',1,'2025-06-01 05:04:57','2025-06-01 05:08:36'),(22,'total_goals','over',4,'Больше 4.5 голов',1,'2025-06-01 05:04:57','2025-06-01 05:04:57'),(23,'total_goals','under',4,'Меньше 4.5 голов',1,'2025-06-01 05:04:57','2025-06-01 05:04:57'),(24,'red_card','yes',5,'Будет удаление',1,'2025-06-01 05:04:57','2025-06-01 05:04:57'),(25,'penalty','yes',5,'Будет пенальти',1,'2025-06-01 05:04:57','2025-06-01 05:04:57'),(26,'own_goal','yes',5,'Будет автогол',1,'2025-06-01 05:04:57','2025-06-01 05:04:57'),(27,'corners_winner','team1',4,'Больше угловых у команды 1',1,'2025-06-01 05:04:57','2025-06-01 05:04:57'),(28,'corners_winner','draw',8,'Равное количество угловых',1,'2025-06-01 05:04:57','2025-06-01 05:04:57'),(29,'corners_winner','team2',4,'Больше угловых у команды 2',1,'2025-06-01 05:04:57','2025-06-01 05:04:57'); /*!40000 ALTER TABLE `bet_settings` ENABLE KEYS */; UNLOCK TABLES; -- -- Temporary view structure for view `bet_type_stats` -- DROP TABLE IF EXISTS `bet_type_stats`; /*!50001 DROP VIEW IF EXISTS `bet_type_stats`*/; SET @saved_cs_client = @@character_set_client; /*!50503 SET character_set_client = utf8mb4 */; /*!50001 CREATE VIEW `bet_type_stats` AS SELECT 1 AS `bet_type`, 1 AS `bet_option`, 1 AS `points_reward`, 1 AS `total_bets`, 1 AS `won_bets`, 1 AS `lost_bets`, 1 AS `win_rate`*/; SET character_set_client = @saved_cs_client; -- -- Table structure for table `bets` -- DROP TABLE IF EXISTS `bets`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `bets` ( `bet_id` int NOT NULL AUTO_INCREMENT, `user_id` bigint NOT NULL, `event_id` int NOT NULL, `bet_type` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL, `bet_answer` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL, `potential_win` int DEFAULT '0', `points_earned` int DEFAULT '0', `status` enum('pending','won','lost','cancelled') COLLATE utf8mb4_unicode_ci DEFAULT 'pending', `result_details` text COLLATE utf8mb4_unicode_ci, `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, `resolved_at` timestamp NULL DEFAULT NULL, `resolved_by` bigint DEFAULT NULL, PRIMARY KEY (`bet_id`), UNIQUE KEY `unique_user_event_bet` (`user_id`,`event_id`,`bet_type`), KEY `idx_user_id` (`user_id`), KEY `idx_event_id` (`event_id`), KEY `idx_status` (`status`), KEY `idx_bet_type` (`bet_type`), KEY `idx_created_at` (`created_at`), KEY `idx_resolved_at` (`resolved_at`), KEY `resolved_by` (`resolved_by`), KEY `idx_bets_user_status_date` (`user_id`,`status`,`created_at`), CONSTRAINT `bets_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`user_id`) ON DELETE CASCADE, CONSTRAINT `bets_ibfk_2` FOREIGN KEY (`event_id`) REFERENCES `events` (`event_id`) ON DELETE CASCADE, CONSTRAINT `bets_ibfk_3` FOREIGN KEY (`resolved_by`) REFERENCES `users` (`user_id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=89 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `bets` -- LOCK TABLES `bets` WRITE; /*!40000 ALTER TABLE `bets` DISABLE KEYS */; INSERT INTO `bets` VALUES (1,8163033935,1,'winner','team2',4,0,'lost',NULL,'2025-06-01 05:39:01','2025-06-01 10:12:36',7351775721),(2,8163033935,1,'first_goal','team2',4,0,'lost',NULL,'2025-06-01 05:39:14','2025-06-01 10:12:36',7351775721),(3,8163033935,1,'corners_winner','team2',4,4,'won',NULL,'2025-06-01 05:39:40','2025-06-01 10:12:36',7351775721),(4,8163033935,1,'red_card','yes',5,0,'lost',NULL,'2025-06-01 05:39:51','2025-06-01 10:12:36',7351775721),(5,8163033935,1,'total_goals','over',4,0,'lost',NULL,'2025-06-01 05:40:11','2025-06-01 10:12:36',7351775721),(6,7536461207,1,'winner','team1',4,4,'won',NULL,'2025-06-01 05:57:42','2025-06-01 10:12:36',7351775721),(7,639528298,1,'winner','team1',4,4,'won',NULL,'2025-06-01 05:57:44','2025-06-01 10:12:36',7351775721),(8,7536461207,1,'own_goal','yes',5,5,'won',NULL,'2025-06-01 05:58:14','2025-06-01 10:12:36',7351775721),(9,7923380502,1,'total_goals','under',4,4,'won',NULL,'2025-06-01 05:59:01','2025-06-01 10:12:36',7351775721),(10,7536461207,1,'red_card','yes',5,0,'lost',NULL,'2025-06-01 06:00:10','2025-06-01 10:12:36',7351775721),(11,639528298,1,'first_goal','team1',4,4,'won',NULL,'2025-06-01 06:01:16','2025-06-01 10:12:36',7351775721),(12,7760650630,1,'winner','team2',4,0,'lost',NULL,'2025-06-01 06:25:01','2025-06-01 10:12:36',7351775721),(13,7760650630,1,'first_goal','team2',4,0,'lost',NULL,'2025-06-01 06:25:13','2025-06-01 10:12:36',7351775721),(14,7760650630,1,'corners_winner','team2',4,4,'won',NULL,'2025-06-01 06:25:30','2025-06-01 10:12:36',7351775721),(15,7760650630,1,'total_goals','over',4,0,'lost',NULL,'2025-06-01 06:26:01','2025-06-01 10:12:36',7351775721),(16,6789868086,1,'winner','team1',4,4,'won',NULL,'2025-06-01 06:28:20','2025-06-01 10:12:36',7351775721),(17,6019104350,1,'red_card','yes',5,0,'lost',NULL,'2025-06-01 07:01:59','2025-06-01 10:12:36',7351775721),(18,6019104350,1,'first_goal','team2',4,0,'lost',NULL,'2025-06-01 07:25:42','2025-06-01 10:12:36',7351775721),(19,6019104350,1,'corners_winner','team2',4,4,'won',NULL,'2025-06-01 07:26:08','2025-06-01 10:12:36',7351775721),(20,7868845332,1,'winner','draw',8,0,'lost',NULL,'2025-06-01 07:43:42','2025-06-01 10:12:36',7351775721),(21,7868845332,1,'total_goals','over',4,0,'lost',NULL,'2025-06-01 07:44:17','2025-06-01 10:12:36',7351775721),(22,7868845332,1,'red_card','yes',5,0,'lost',NULL,'2025-06-01 07:44:28','2025-06-01 10:12:36',7351775721),(23,7868845332,1,'corners_winner','team2',4,4,'won',NULL,'2025-06-01 07:44:38','2025-06-01 10:12:36',7351775721),(24,7868845332,1,'first_goal','team1',4,4,'won',NULL,'2025-06-01 07:44:56','2025-06-01 10:12:36',7351775721),(25,7351775721,3,'winner','team1',4,4,'won',NULL,'2025-06-02 04:32:58','2025-06-02 04:32:58',7351775721),(26,7351775721,3,'corners_winner','team1',4,4,'won',NULL,'2025-06-02 04:35:06','2025-06-02 04:35:06',7351775721),(27,7351775721,3,'own_goal','yes',5,5,'won',NULL,'2025-06-02 04:35:45','2025-06-02 04:35:45',7351775721),(28,7351775721,3,'first_goal','team1',4,4,'won',NULL,'2025-06-02 04:36:51','2025-06-02 04:36:51',7351775721),(29,7868845332,3,'winner','team1',4,4,'won',NULL,'2025-06-02 04:38:24','2025-06-02 04:38:24',7351775721),(30,7868845332,3,'total_goals','over',4,4,'won',NULL,'2025-06-02 04:39:24','2025-06-02 04:39:24',7351775721),(31,7351775721,3,'total_goals','over',4,4,'won',NULL,'2025-06-02 04:39:47','2025-06-02 04:39:47',7351775721),(32,7868845332,3,'corners_winner','team1',4,4,'won',NULL,'2025-06-02 04:41:08','2025-06-02 04:41:08',7351775721),(33,7868845332,3,'first_goal','team1',4,4,'won',NULL,'2025-06-02 04:42:15','2025-06-02 04:42:15',7351775721),(34,639528298,3,'winner','team1',4,4,'won',NULL,'2025-06-02 04:43:59','2025-06-02 04:43:59',7351775721),(35,639528298,3,'first_goal','team1',4,4,'won',NULL,'2025-06-02 04:44:31','2025-06-02 04:44:31',7351775721),(36,7923380502,3,'winner','team1',4,4,'won',NULL,'2025-06-02 04:45:17','2025-06-02 04:45:17',7351775721),(37,7923380502,3,'first_goal','team1',4,4,'won',NULL,'2025-06-02 04:45:39','2025-06-02 04:45:39',7351775721),(38,7536461207,3,'total_goals','over',4,4,'won',NULL,'2025-06-02 04:46:48','2025-06-02 04:46:48',7351775721),(39,7536461207,3,'corners_winner','team2',4,0,'lost',NULL,'2025-06-02 04:47:24','2025-06-02 04:47:24',7351775721),(40,7536461207,3,'red_card','yes',5,5,'won',NULL,'2025-06-02 04:48:00','2025-06-02 04:48:00',7351775721),(41,7536461207,3,'own_goal','yes',5,5,'won',NULL,'2025-06-02 04:48:39','2025-06-02 04:48:39',7351775721),(43,8163033935,3,'winner','team1',4,4,'won',NULL,'2025-06-02 04:58:06','2025-06-02 04:58:06',7351775721),(44,8163033935,3,'total_goals','over',4,4,'won',NULL,'2025-06-02 04:58:53','2025-06-02 04:58:53',7351775721),(45,8163033935,3,'corners_winner','team1',4,4,'won',NULL,'2025-06-02 04:59:16','2025-06-02 04:59:16',7351775721),(46,8163033935,3,'first_goal','team1',4,4,'won',NULL,'2025-06-02 04:59:44','2025-06-02 04:59:44',7351775721),(47,6019104350,3,'winner','team1',4,4,'won',NULL,'2025-06-02 05:02:43','2025-06-02 05:02:43',7351775721),(48,5195771826,3,'winner','team1',4,4,'won',NULL,'2025-06-02 05:13:29','2025-06-02 05:13:29',7351775721),(49,2131878062,3,'winner','team1',4,4,'won',NULL,'2025-06-02 05:17:21','2025-06-02 05:17:21',7351775721),(50,2131878062,3,'total_goals','over',4,4,'won',NULL,'2025-06-02 05:17:47','2025-06-02 05:17:47',7351775721),(51,2131878062,3,'corners_winner','team1',4,4,'won',NULL,'2025-06-02 05:18:14','2025-06-02 05:18:14',7351775721),(52,2131878062,3,'first_goal','team1',4,4,'won',NULL,'2025-06-02 05:18:48','2025-06-02 05:18:48',7351775721),(53,6789868086,3,'winner','team1',4,4,'won',NULL,'2025-06-02 05:37:42','2025-06-02 05:37:42',7351775721),(54,6789868086,3,'total_goals','over',4,4,'won',NULL,'2025-06-02 05:38:04','2025-06-02 05:38:04',7351775721),(55,7351775721,4,'winner','team2',4,0,'lost',NULL,'2025-06-02 06:33:31','2025-06-04 09:55:34',7128006917),(56,7351775721,4,'total_goals','over',4,4,'won',NULL,'2025-06-02 06:33:48','2025-06-04 09:55:35',7128006917),(57,7351775721,4,'own_goal','yes',5,0,'lost',NULL,'2025-06-02 06:34:03','2025-06-04 09:55:35',7128006917),(58,7351775721,4,'corners_winner','team2',4,0,'lost',NULL,'2025-06-02 06:34:17','2025-06-04 09:55:36',7128006917),(59,639528298,4,'winner','team2',4,0,'lost',NULL,'2025-06-02 07:30:41','2025-06-04 09:55:36',7128006917),(60,639528298,4,'first_goal','team2',4,0,'lost',NULL,'2025-06-02 07:31:21','2025-06-04 09:55:36',7128006917),(61,7923380502,4,'winner','team2',4,0,'lost',NULL,'2025-06-02 07:47:17','2025-06-04 09:55:37',7128006917),(62,7923380502,4,'first_goal','team2',4,0,'lost',NULL,'2025-06-02 07:47:39','2025-06-04 09:55:37',7128006917),(63,7923380502,4,'corners_winner','team2',4,0,'lost',NULL,'2025-06-02 07:48:01','2025-06-04 09:55:38',7128006917),(64,7760650630,4,'winner','team2',4,0,'lost',NULL,'2025-06-02 07:49:53','2025-06-04 09:55:38',7128006917),(65,7760650630,4,'first_goal','team2',4,0,'lost',NULL,'2025-06-02 07:50:11','2025-06-04 09:55:39',7128006917),(66,7760650630,4,'corners_winner','team2',4,0,'lost',NULL,'2025-06-02 07:50:42','2025-06-04 09:55:39',7128006917),(67,7760650630,4,'total_goals','under',4,0,'lost',NULL,'2025-06-02 07:52:49','2025-06-04 09:55:40',7128006917),(68,6019104350,4,'winner','team2',4,0,'lost',NULL,'2025-06-02 08:16:48','2025-06-04 09:55:40',7128006917),(69,6019104350,4,'total_goals','under',4,0,'lost',NULL,'2025-06-02 08:17:40','2025-06-04 09:55:40',7128006917),(70,6019104350,4,'own_goal','yes',5,0,'lost',NULL,'2025-06-02 08:20:37','2025-06-04 09:55:41',7128006917),(71,6019104350,4,'corners_winner','team2',4,0,'lost',NULL,'2025-06-02 08:21:01','2025-06-04 09:55:41',7128006917),(72,7536461207,4,'own_goal','yes',5,0,'lost',NULL,'2025-06-02 14:50:11','2025-06-04 09:55:42',7128006917),(73,6789868086,4,'winner','team2',4,0,'lost',NULL,'2025-06-03 06:51:44','2025-06-04 09:55:42',7128006917),(74,6789868086,4,'corners_winner','team2',4,0,'lost',NULL,'2025-06-03 06:52:06','2025-06-04 09:55:43',7128006917),(75,6789868086,4,'first_goal','team2',4,0,'lost',NULL,'2025-06-03 06:52:22','2025-06-04 09:55:43',7128006917),(76,8163033935,4,'winner','team2',4,0,'lost',NULL,'2025-06-03 07:25:37','2025-06-04 09:55:44',7128006917),(77,8163033935,4,'first_goal','team2',4,0,'lost',NULL,'2025-06-03 07:25:58','2025-06-04 09:55:44',7128006917),(78,8163033935,4,'corners_winner','team2',4,0,'lost',NULL,'2025-06-03 07:26:41','2025-06-04 09:55:44',7128006917),(79,8163033935,4,'total_goals','under',4,0,'lost',NULL,'2025-06-03 07:28:13','2025-06-04 09:55:45',7128006917),(80,8163033935,4,'exact_score','1-3',10,0,'lost',NULL,'2025-06-03 07:28:53','2025-06-04 09:55:45',7128006917),(81,7351775721,4,'first_goal','team2',4,0,'lost',NULL,'2025-06-03 08:29:47','2025-06-04 09:55:45',7128006917),(82,7536461207,4,'total_goals','over',4,4,'won',NULL,'2025-06-04 04:32:38','2025-06-04 09:55:46',7128006917),(83,7536461207,4,'corners_winner','team2',4,0,'lost',NULL,'2025-06-04 04:33:13','2025-06-04 09:55:46',7128006917),(84,8163033935,4,'red_card','yes',5,0,'lost',NULL,'2025-06-04 07:12:59','2025-06-04 09:55:47',7128006917),(85,7868845332,4,'winner','team2',4,0,'lost',NULL,'2025-06-04 07:22:11','2025-06-04 09:55:47',7128006917),(86,7868845332,4,'corners_winner','team2',4,0,'lost',NULL,'2025-06-04 07:22:27','2025-06-04 09:55:48',7128006917),(87,7868845332,4,'first_goal','team2',4,0,'lost',NULL,'2025-06-04 07:22:38','2025-06-04 09:55:48',7128006917),(88,7868845332,4,'exact_score','1-3',10,0,'lost',NULL,'2025-06-04 07:23:43','2025-06-04 09:55:48',7128006917); /*!40000 ALTER TABLE `bets` ENABLE KEYS */; UNLOCK TABLES; ALTER DATABASE `stavka` CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci ; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; /*!50003 SET @saved_col_connection = @@collation_connection */ ; /*!50003 SET character_set_client = utf8mb4 */ ; /*!50003 SET character_set_results = utf8mb4 */ ; /*!50003 SET collation_connection = utf8mb4_unicode_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = '' */ ; DELIMITER ;; /*!50003 CREATE*/ /*!50017 DEFINER=`stavka_usr`@`localhost`*/ /*!50003 TRIGGER `update_user_activity` AFTER INSERT ON `bets` FOR EACH ROW BEGIN UPDATE users SET last_activity = CURRENT_TIMESTAMP WHERE user_id = NEW.user_id; END */;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; ALTER DATABASE `stavka` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ; -- -- Table structure for table `events` -- DROP TABLE IF EXISTS `events`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `events` ( `event_id` int NOT NULL AUTO_INCREMENT, `title` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `team1` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `team2` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `league` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `event_date` timestamp NOT NULL, `status` enum('upcoming','live','finished','cancelled') COLLATE utf8mb4_unicode_ci DEFAULT 'upcoming', `result` mediumtext COLLATE utf8mb4_unicode_ci, `created_by` bigint DEFAULT NULL, `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`event_id`), KEY `idx_event_date` (`event_date`), KEY `idx_status` (`status`), KEY `idx_created_by` (`created_by`), KEY `idx_events_status_date` (`status`,`event_date`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `events` -- LOCK TABLES `events` WRITE; /*!40000 ALTER TABLE `events` DISABLE KEYS */; INSERT INTO `events` VALUES (1,'Дерби','Сектор 2','Сектор 3',NULL,'2025-06-01 15:30:00','finished','{\"winner\":\"team1\",\"score\":\"2-0\",\"total_goals\":2,\"first_goal\":\"team1\",\"red_card\":false,\"penalty\":false,\"own_goal\":true,\"corners_winner\":\"team2\"}',7351775721,'2025-06-01 05:25:29','2025-06-01 11:11:48'),(3,'Первая Игра','Сектор 4','Сектор 5','','2025-05-30 15:00:00','finished','{\"winner\":\"team1\",\"score\":\"5-2\",\"total_goals\":7,\"first_goal\":\"team1\",\"red_card\":true,\"own_goal\":true,\"corners_winner\":\"team1\"}',7351775721,'2025-06-02 04:24:47','2025-06-02 04:24:47'),(4,'Сектор 3 - Сектор 4','Сектор 3','Сектор 4','','2025-06-04 15:30:00','finished','{\"winner\":\"draw\",\"score\":\"4-4\",\"total_goals\":8,\"first_goal\":\"team1\",\"corners_winner\":\"draw\"}',7351775721,'2025-06-02 06:31:28','2025-06-04 09:55:34'); /*!40000 ALTER TABLE `events` ENABLE KEYS */; UNLOCK TABLES; -- -- Temporary view structure for view `events_with_bets` -- DROP TABLE IF EXISTS `events_with_bets`; /*!50001 DROP VIEW IF EXISTS `events_with_bets`*/; SET @saved_cs_client = @@character_set_client; /*!50503 SET character_set_client = utf8mb4 */; /*!50001 CREATE VIEW `events_with_bets` AS SELECT 1 AS `event_id`, 1 AS `title`, 1 AS `team1`, 1 AS `team2`, 1 AS `league`, 1 AS `event_date`, 1 AS `status`, 1 AS `result`, 1 AS `created_by`, 1 AS `created_at`, 1 AS `updated_at`, 1 AS `total_bets`, 1 AS `unique_bettors`, 1 AS `pending_bets`, 1 AS `won_bets`, 1 AS `lost_bets`*/; SET character_set_client = @saved_cs_client; -- -- Table structure for table `notifications` -- DROP TABLE IF EXISTS `notifications`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `notifications` ( `notification_id` int NOT NULL AUTO_INCREMENT, `user_id` bigint NOT NULL, `type` enum('bet_result','balance_change','admin_message','system') COLLATE utf8mb4_unicode_ci NOT NULL, `title` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `message` text COLLATE utf8mb4_unicode_ci NOT NULL, `is_read` tinyint(1) DEFAULT '0', `reference_id` int DEFAULT NULL, `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, `read_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`notification_id`), KEY `idx_user_id` (`user_id`), KEY `idx_type` (`type`), KEY `idx_is_read` (`is_read`), KEY `idx_created_at` (`created_at`), KEY `idx_notifications_user_unread` (`user_id`,`is_read`,`created_at`), CONSTRAINT `notifications_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`user_id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=54 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `notifications` -- LOCK TABLES `notifications` WRITE; /*!40000 ALTER TABLE `notifications` DISABLE KEYS */; INSERT INTO `notifications` VALUES (1,8163033935,'bet_result','💸 Ставка не прошла','Ваша ставка на \'winner\' не прошла. Штраф: -2 балла',1,1,'2025-06-01 10:12:36','2025-06-01 13:55:13'),(2,8163033935,'bet_result','💸 Ставка не прошла','Ваша ставка на \'first_goal\' не прошла. Штраф: -2 балла',1,2,'2025-06-01 10:12:36','2025-06-01 13:55:13'),(3,8163033935,'bet_result','💸 Ставка не прошла','Ваша ставка на \'corners_winner\' не прошла. Штраф: -2 балла',1,3,'2025-06-01 10:12:36','2025-06-01 13:55:13'),(4,8163033935,'bet_result','💸 Ставка не прошла','Ваша ставка на \'red_card\' не прошла. Штраф: -2 балла',1,4,'2025-06-01 10:12:36','2025-06-01 13:55:13'),(5,8163033935,'bet_result','💸 Ставка не прошла','Ваша ставка на \'total_goals\' не прошла. Штраф: -2 балла',1,5,'2025-06-01 10:12:36','2025-06-01 13:55:13'),(6,7536461207,'bet_result','🎉 Ставка выиграла!','Ваша ставка на \'winner\' принесла 4 баллов!',1,6,'2025-06-01 10:12:36','2025-06-01 12:56:44'),(7,639528298,'bet_result','🎉 Ставка выиграла!','Ваша ставка на \'winner\' принесла 4 баллов!',0,7,'2025-06-01 10:12:36',NULL),(8,7536461207,'bet_result','💸 Ставка не прошла','Ваша ставка на \'own_goal\' не прошла. Штраф: -2 балла',1,8,'2025-06-01 10:12:36','2025-06-01 12:56:44'),(9,7923380502,'bet_result','🎉 Ставка выиграла!','Ваша ставка на \'total_goals\' принесла 4 баллов!',1,9,'2025-06-01 10:12:36','2025-06-01 13:55:19'),(10,7536461207,'bet_result','💸 Ставка не прошла','Ваша ставка на \'red_card\' не прошла. Штраф: -2 балла',1,10,'2025-06-01 10:12:36','2025-06-01 12:56:44'),(11,639528298,'bet_result','💸 Ставка не прошла','Ваша ставка на \'first_goal\' не прошла. Штраф: -2 балла',0,11,'2025-06-01 10:12:36',NULL),(12,7760650630,'bet_result','💸 Ставка не прошла','Ваша ставка на \'winner\' не прошла. Штраф: -2 балла',1,12,'2025-06-01 10:12:36','2025-06-01 10:13:39'),(13,7760650630,'bet_result','💸 Ставка не прошла','Ваша ставка на \'first_goal\' не прошла. Штраф: -2 балла',1,13,'2025-06-01 10:12:36','2025-06-01 10:13:39'),(14,7760650630,'bet_result','💸 Ставка не прошла','Ваша ставка на \'corners_winner\' не прошла. Штраф: -2 балла',1,14,'2025-06-01 10:12:36','2025-06-01 10:13:39'),(15,7760650630,'bet_result','💸 Ставка не прошла','Ваша ставка на \'total_goals\' не прошла. Штраф: -2 балла',1,15,'2025-06-01 10:12:36','2025-06-01 10:13:39'),(16,6789868086,'bet_result','🎉 Ставка выиграла!','Ваша ставка на \'winner\' принесла 4 баллов!',0,16,'2025-06-01 10:12:36',NULL),(17,6019104350,'bet_result','💸 Ставка не прошла','Ваша ставка на \'red_card\' не прошла. Штраф: -2 балла',0,17,'2025-06-01 10:12:36',NULL),(18,6019104350,'bet_result','💸 Ставка не прошла','Ваша ставка на \'first_goal\' не прошла. Штраф: -2 балла',0,18,'2025-06-01 10:12:36',NULL),(19,6019104350,'bet_result','💸 Ставка не прошла','Ваша ставка на \'corners_winner\' не прошла. Штраф: -2 балла',0,19,'2025-06-01 10:12:36',NULL),(20,7868845332,'bet_result','💸 Ставка не прошла','Ваша ставка на \'winner\' не прошла. Штраф: -2 балла',0,20,'2025-06-01 10:12:36',NULL),(21,7868845332,'bet_result','💸 Ставка не прошла','Ваша ставка на \'total_goals\' не прошла. Штраф: -2 балла',0,21,'2025-06-01 10:12:36',NULL),(22,7868845332,'bet_result','💸 Ставка не прошла','Ваша ставка на \'red_card\' не прошла. Штраф: -2 балла',0,22,'2025-06-01 10:12:36',NULL),(23,7868845332,'bet_result','💸 Ставка не прошла','Ваша ставка на \'corners_winner\' не прошла. Штраф: -2 балла',0,23,'2025-06-01 10:12:36',NULL),(24,7868845332,'bet_result','💸 Ставка не прошла','Ваша ставка на \'first_goal\' не прошла. Штраф: -2 балла',0,24,'2025-06-01 10:12:36',NULL),(25,7351775721,'bet_result','🎉 Ставка выиграла!','Ваша ставка \'🏆 Победитель: П1 (Сектор 4)\' на событие \'Первая Игра\' выиграла! Получено: +4 баллов',1,25,'2025-06-02 04:32:58','2025-06-02 06:05:24'),(26,7351775721,'bet_result','🎉 Ставка выиграла!','Ваша ставка \'📐 Угловые: Больше угловых - Сектор 4\' на событие \'Первая Игра\' выиграла! Получено: +4 баллов',1,26,'2025-06-02 04:35:06','2025-06-02 06:05:24'),(27,7351775721,'bet_result','🎉 Ставка выиграла!','Ваша ставка \'🤦 Автогол: Будет автогол\' на событие \'Первая Игра\' выиграла! Получено: +5 баллов',1,27,'2025-06-02 04:35:45','2025-06-02 06:05:24'),(28,7351775721,'bet_result','🎉 Ставка выиграла!','Ваша ставка \'🥅 Первый гол: Первый гол - Сектор 4\' на событие \'Первая Игра\' выиграла! Получено: +4 баллов',1,28,'2025-06-02 04:36:51','2025-06-02 06:05:24'),(29,7868845332,'bet_result','🎉 Ставка выиграла!','Ваша ставка \'🏆 Победитель: П1 (Сектор 4)\' на событие \'Первая Игра\' выиграла! Получено: +4 баллов',0,29,'2025-06-02 04:38:24',NULL),(30,7868845332,'bet_result','🎉 Ставка выиграла!','Ваша ставка \'📊 Тотал голов: Больше 4.5 голов\' на событие \'Первая Игра\' выиграла! Получено: +4 баллов',0,30,'2025-06-02 04:39:24',NULL),(31,7351775721,'bet_result','🎉 Ставка выиграла!','Ваша ставка \'📊 Тотал голов: Больше 4.5 голов\' на событие \'Первая Игра\' выиграла! Получено: +4 баллов',1,31,'2025-06-02 04:39:47','2025-06-02 06:05:24'),(32,7868845332,'bet_result','🎉 Ставка выиграла!','Ваша ставка \'📐 Угловые: Больше угловых - Сектор 4\' на событие \'Первая Игра\' выиграла! Получено: +4 баллов',0,32,'2025-06-02 04:41:08',NULL),(33,7868845332,'bet_result','🎉 Ставка выиграла!','Ваша ставка \'🥅 Первый гол: Первый гол - Сектор 4\' на событие \'Первая Игра\' выиграла! Получено: +4 баллов',0,33,'2025-06-02 04:42:15',NULL),(34,639528298,'bet_result','🎉 Ставка выиграла!','Ваша ставка \'🏆 Победитель: П1 (Сектор 4)\' на событие \'Первая Игра\' выиграла! Получено: +4 баллов',0,34,'2025-06-02 04:43:59',NULL),(35,639528298,'bet_result','🎉 Ставка выиграла!','Ваша ставка \'🥅 Первый гол: Первый гол - Сектор 4\' на событие \'Первая Игра\' выиграла! Получено: +4 баллов',0,35,'2025-06-02 04:44:31',NULL),(36,7923380502,'bet_result','🎉 Ставка выиграла!','Ваша ставка \'🏆 Победитель: П1 (Сектор 4)\' на событие \'Первая Игра\' выиграла! Получено: +4 баллов',1,36,'2025-06-02 04:45:17','2025-06-02 07:50:03'),(37,7923380502,'bet_result','🎉 Ставка выиграла!','Ваша ставка \'🥅 Первый гол: Первый гол - Сектор 4\' на событие \'Первая Игра\' выиграла! Получено: +4 баллов',1,37,'2025-06-02 04:45:39','2025-06-02 07:50:03'),(38,7536461207,'bet_result','🎉 Ставка выиграла!','Ваша ставка \'📊 Тотал голов: Больше 4.5 голов\' на событие \'Первая Игра\' выиграла! Получено: +4 баллов',0,38,'2025-06-02 04:46:48',NULL),(39,7536461207,'bet_result','💸 Ставка проиграла','Ваша ставка \'📐 Угловые: Больше угловых - Сектор 5\' на событие \'Первая Игра\' не прошла. Штраф: -2 балла',0,39,'2025-06-02 04:47:24',NULL),(40,7536461207,'bet_result','🎉 Ставка выиграла!','Ваша ставка \'🟥 Удаление: Будет удаление\' на событие \'Первая Игра\' выиграла! Получено: +5 баллов',0,40,'2025-06-02 04:48:00',NULL),(41,7536461207,'bet_result','🎉 Ставка выиграла!','Ваша ставка \'🤦 Автогол: Будет автогол\' на событие \'Первая Игра\' выиграла! Получено: +5 баллов',0,41,'2025-06-02 04:48:39',NULL),(42,8163033935,'bet_result','🎉 Ставка выиграла!','Ваша ставка \'🏆 Победитель: П1 (Сектор 4)\' на событие \'Первая Игра\' выиграла! Получено: +4 баллов',1,43,'2025-06-02 04:58:06','2025-06-02 04:58:27'),(43,8163033935,'bet_result','🎉 Ставка выиграла!','Ваша ставка \'📊 Тотал голов: Больше 4.5 голов\' на событие \'Первая Игра\' выиграла! Получено: +4 баллов',1,44,'2025-06-02 04:58:53','2025-06-02 07:06:25'),(44,8163033935,'bet_result','🎉 Ставка выиграла!','Ваша ставка \'📐 Угловые: Больше угловых - Сектор 4\' на событие \'Первая Игра\' выиграла! Получено: +4 баллов',1,45,'2025-06-02 04:59:16','2025-06-02 07:06:25'),(45,8163033935,'bet_result','🎉 Ставка выиграла!','Ваша ставка \'🥅 Первый гол: Первый гол - Сектор 4\' на событие \'Первая Игра\' выиграла! Получено: +4 баллов',1,46,'2025-06-02 04:59:44','2025-06-02 07:06:25'),(46,6019104350,'bet_result','🎉 Ставка выиграла!','Ваша ставка \'🏆 Победитель: П1 (Сектор 4)\' на событие \'Первая Игра\' выиграла! Получено: +4 баллов',0,47,'2025-06-02 05:02:43',NULL),(47,5195771826,'bet_result','🎉 Ставка выиграла!','Ваша ставка \'🏆 Победитель: П1 (Сектор 4)\' на событие \'Первая Игра\' выиграла! Получено: +4 баллов',0,48,'2025-06-02 05:13:29',NULL),(48,2131878062,'bet_result','🎉 Ставка выиграла!','Ваша ставка \'🏆 Победитель: П1 (Сектор 4)\' на событие \'Первая Игра\' выиграла! Получено: +4 баллов',0,49,'2025-06-02 05:17:21',NULL),(49,2131878062,'bet_result','🎉 Ставка выиграла!','Ваша ставка \'📊 Тотал голов: Больше 4.5 голов\' на событие \'Первая Игра\' выиграла! Получено: +4 баллов',0,50,'2025-06-02 05:17:47',NULL),(50,2131878062,'bet_result','🎉 Ставка выиграла!','Ваша ставка \'📐 Угловые: Больше угловых - Сектор 4\' на событие \'Первая Игра\' выиграла! Получено: +4 баллов',0,51,'2025-06-02 05:18:14',NULL),(51,2131878062,'bet_result','🎉 Ставка выиграла!','Ваша ставка \'🥅 Первый гол: Первый гол - Сектор 4\' на событие \'Первая Игра\' выиграла! Получено: +4 баллов',0,52,'2025-06-02 05:18:48',NULL),(52,6789868086,'bet_result','🎉 Ставка выиграла!','Ваша ставка \'🏆 Победитель: П1 (Сектор 4)\' на событие \'Первая Игра\' выиграла! Получено: +4 баллов',0,53,'2025-06-02 05:37:42',NULL),(53,6789868086,'bet_result','🎉 Ставка выиграла!','Ваша ставка \'📊 Тотал голов: Больше 4.5 голов\' на событие \'Первая Игра\' выиграла! Получено: +4 баллов',0,54,'2025-06-02 05:38:04',NULL); /*!40000 ALTER TABLE `notifications` ENABLE KEYS */; UNLOCK TABLES; -- -- Temporary view structure for view `user_rating` -- DROP TABLE IF EXISTS `user_rating`; /*!50001 DROP VIEW IF EXISTS `user_rating`*/; SET @saved_cs_client = @@character_set_client; /*!50503 SET character_set_client = utf8mb4 */; /*!50001 CREATE VIEW `user_rating` AS SELECT 1 AS `user_id`, 1 AS `first_name`, 1 AS `username`, 1 AS `balance`, 1 AS `total_bets`, 1 AS `correct_bets`, 1 AS `win_streak`, 1 AS `max_win_streak`, 1 AS `total_winnings`, 1 AS `win_rate`, 1 AS `rating_position`*/; SET character_set_client = @saved_cs_client; -- -- Table structure for table `user_states` -- DROP TABLE IF EXISTS `user_states`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `user_states` ( `user_id` bigint NOT NULL, `state` varchar(50) DEFAULT NULL, `state_data` json DEFAULT NULL, `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`user_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `user_states` -- LOCK TABLES `user_states` WRITE; /*!40000 ALTER TABLE `user_states` DISABLE KEYS */; /*!40000 ALTER TABLE `user_states` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `users` -- DROP TABLE IF EXISTS `users`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `users` ( `user_id` bigint NOT NULL, `username` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `first_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `last_name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `balance` int DEFAULT '10', `total_bets` int DEFAULT '0', `correct_bets` int DEFAULT '0', `win_streak` int DEFAULT '0', `max_win_streak` int DEFAULT '0', `total_winnings` int DEFAULT '0', `total_spent` int DEFAULT '0', `total_topups` int DEFAULT '0', `is_banned` tinyint(1) DEFAULT '0', `ban_reason` mediumtext COLLATE utf8mb4_unicode_ci, `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `last_bet_date` timestamp NULL DEFAULT NULL, `last_activity` timestamp NULL DEFAULT NULL, PRIMARY KEY (`user_id`), KEY `idx_balance` (`balance`), KEY `idx_total_bets` (`total_bets`), KEY `idx_created_at` (`created_at`), KEY `idx_last_activity` (`last_activity`), KEY `idx_users_balance_active` (`balance` DESC,`is_banned`,`total_bets`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `users` -- LOCK TABLES `users` WRITE; /*!40000 ALTER TABLE `users` DISABLE KEYS */; INSERT INTO `users` VALUES (639528298,'maaakkkii','maki',NULL,24,6,4,0,5,16,0,0,0,NULL,'2025-06-01 05:55:35','2025-06-04 10:00:39','2025-06-02 07:31:21','2025-06-02 07:31:27'),(2131878062,'Zahgivse','Алексей',NULL,26,4,4,4,5,16,0,0,0,NULL,'2025-06-01 06:22:22','2025-06-02 05:18:48',NULL,'2025-06-02 05:18:48'),(5195771826,'','.',NULL,14,1,1,1,2,4,0,0,0,NULL,'2025-06-01 12:58:51','2025-06-02 05:13:29',NULL,'2025-06-02 05:13:29'),(6019104350,'Gggggt117','к',NULL,12,8,2,0,3,8,0,0,0,NULL,'2025-06-01 07:00:54','2025-06-04 10:00:39','2025-06-02 08:21:01','2025-06-02 08:21:01'),(6194723316,'Konkretnyu','Аааааа',NULL,10,0,0,0,0,0,0,0,0,NULL,'2025-06-01 05:58:41','2025-06-01 05:58:41',NULL,'2025-06-01 05:58:41'),(6789868086,'Subezka','Свободный и вечно молодой',NULL,20,6,3,0,4,12,0,0,0,NULL,'2025-06-01 06:26:15','2025-06-04 10:00:39','2025-06-03 06:52:22','2025-06-03 06:52:22'),(7128006917,'Cbd2024com','Тута',NULL,10,0,0,0,0,0,0,0,0,NULL,'2025-06-02 06:31:49','2025-06-02 06:31:49',NULL,'2025-06-02 06:31:49'),(7351775721,'iFake2024','iFake',NULL,29,10,6,0,6,25,0,0,0,NULL,'2025-06-01 05:18:30','2025-06-04 11:03:42','2025-06-03 08:29:47','2025-06-04 11:03:42'),(7536461207,'ZG6725','Александр',NULL,27,10,6,0,3,27,0,0,0,NULL,'2025-06-01 05:55:37','2025-06-04 10:00:39','2025-06-04 04:33:13','2025-06-04 04:33:13'),(7760650630,'','Frank Lukas',NULL,6,8,1,0,1,4,0,0,0,NULL,'2025-06-01 06:24:17','2025-06-04 10:53:56','2025-06-02 07:52:49','2025-06-04 10:53:56'),(7868845332,'K10ETO','KASKADER',NULL,26,13,6,0,7,24,0,0,0,NULL,'2025-06-01 05:58:13','2025-06-04 10:00:39','2025-06-04 07:23:43','2025-06-04 07:23:43'),(7923380502,'','V.A',NULL,20,6,3,0,4,12,0,0,0,NULL,'2025-06-01 05:57:41','2025-06-04 10:00:39','2025-06-02 07:48:01','2025-06-04 09:22:54'),(8163033935,'','ASB',NULL,20,15,5,0,5,20,0,0,0,NULL,'2025-06-01 05:37:45','2025-06-04 10:00:39','2025-06-04 07:12:59','2025-06-04 07:15:10'); /*!40000 ALTER TABLE `users` ENABLE KEYS */; UNLOCK TABLES; ALTER DATABASE `stavka` CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci ; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; /*!50003 SET @saved_col_connection = @@collation_connection */ ; /*!50003 SET character_set_client = utf8mb4 */ ; /*!50003 SET character_set_results = utf8mb4 */ ; /*!50003 SET collation_connection = utf8mb4_unicode_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = '' */ ; DELIMITER ;; /*!50003 CREATE*/ /*!50017 DEFINER=`stavka_usr`@`localhost`*/ /*!50003 TRIGGER `validate_balance` BEFORE UPDATE ON `users` FOR EACH ROW BEGIN -- Проверяем что баланс не ниже критического минимума IF NEW.balance < -100 THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Balance cannot be lower than -100'; END IF; END */;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; ALTER DATABASE `stavka` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ; -- -- Final view structure for view `bet_type_stats` -- /*!50001 DROP VIEW IF EXISTS `bet_type_stats`*/; /*!50001 SET @saved_cs_client = @@character_set_client */; /*!50001 SET @saved_cs_results = @@character_set_results */; /*!50001 SET @saved_col_connection = @@collation_connection */; /*!50001 SET character_set_client = utf8mb4 */; /*!50001 SET character_set_results = utf8mb4 */; /*!50001 SET collation_connection = utf8mb4_unicode_ci */; /*!50001 CREATE ALGORITHM=UNDEFINED */ /*!50013 DEFINER=`stavka_usr`@`localhost` SQL SECURITY DEFINER */ /*!50001 VIEW `bet_type_stats` AS select `bs`.`bet_type` AS `bet_type`,`bs`.`bet_option` AS `bet_option`,`bs`.`points_reward` AS `points_reward`,count(`b`.`bet_id`) AS `total_bets`,count((case when (`b`.`status` = 'won') then 1 end)) AS `won_bets`,count((case when (`b`.`status` = 'lost') then 1 end)) AS `lost_bets`,(case when (count((case when (`b`.`status` in ('won','lost')) then 1 end)) > 0) then round(((count((case when (`b`.`status` = 'won') then 1 end)) / count((case when (`b`.`status` in ('won','lost')) then 1 end))) * 100),1) else 0 end) AS `win_rate` from (`bet_settings` `bs` left join `bets` `b` on(((`bs`.`bet_type` = `b`.`bet_type`) and (`bs`.`bet_option` = `b`.`bet_answer`)))) where (`bs`.`is_active` = true) group by `bs`.`bet_type`,`bs`.`bet_option` order by `bs`.`bet_type`,`total_bets` desc */; /*!50001 SET character_set_client = @saved_cs_client */; /*!50001 SET character_set_results = @saved_cs_results */; /*!50001 SET collation_connection = @saved_col_connection */; -- -- Final view structure for view `events_with_bets` -- /*!50001 DROP VIEW IF EXISTS `events_with_bets`*/; /*!50001 SET @saved_cs_client = @@character_set_client */; /*!50001 SET @saved_cs_results = @@character_set_results */; /*!50001 SET @saved_col_connection = @@collation_connection */; /*!50001 SET character_set_client = utf8mb4 */; /*!50001 SET character_set_results = utf8mb4 */; /*!50001 SET collation_connection = utf8mb4_unicode_ci */; /*!50001 CREATE ALGORITHM=UNDEFINED */ /*!50013 DEFINER=`stavka_usr`@`localhost` SQL SECURITY DEFINER */ /*!50001 VIEW `events_with_bets` AS select `e`.`event_id` AS `event_id`,`e`.`title` AS `title`,`e`.`team1` AS `team1`,`e`.`team2` AS `team2`,`e`.`league` AS `league`,`e`.`event_date` AS `event_date`,`e`.`status` AS `status`,`e`.`result` AS `result`,`e`.`created_by` AS `created_by`,`e`.`created_at` AS `created_at`,`e`.`updated_at` AS `updated_at`,count(`b`.`bet_id`) AS `total_bets`,count(distinct `b`.`user_id`) AS `unique_bettors`,count((case when (`b`.`status` = 'pending') then 1 end)) AS `pending_bets`,count((case when (`b`.`status` = 'won') then 1 end)) AS `won_bets`,count((case when (`b`.`status` = 'lost') then 1 end)) AS `lost_bets` from (`events` `e` left join `bets` `b` on((`e`.`event_id` = `b`.`event_id`))) group by `e`.`event_id` order by `e`.`event_date` */; /*!50001 SET character_set_client = @saved_cs_client */; /*!50001 SET character_set_results = @saved_cs_results */; /*!50001 SET collation_connection = @saved_col_connection */; -- -- Final view structure for view `user_rating` -- /*!50001 DROP VIEW IF EXISTS `user_rating`*/; /*!50001 SET @saved_cs_client = @@character_set_client */; /*!50001 SET @saved_cs_results = @@character_set_results */; /*!50001 SET @saved_col_connection = @@collation_connection */; /*!50001 SET character_set_client = utf8mb4 */; /*!50001 SET character_set_results = utf8mb4 */; /*!50001 SET collation_connection = utf8mb4_unicode_ci */; /*!50001 CREATE ALGORITHM=UNDEFINED */ /*!50013 DEFINER=`stavka_usr`@`localhost` SQL SECURITY DEFINER */ /*!50001 VIEW `user_rating` AS select `u`.`user_id` AS `user_id`,`u`.`first_name` AS `first_name`,`u`.`username` AS `username`,`u`.`balance` AS `balance`,`u`.`total_bets` AS `total_bets`,`u`.`correct_bets` AS `correct_bets`,`u`.`win_streak` AS `win_streak`,`u`.`max_win_streak` AS `max_win_streak`,`u`.`total_winnings` AS `total_winnings`,(case when (`u`.`total_bets` > 0) then round(((`u`.`correct_bets` / `u`.`total_bets`) * 100),1) else 0 end) AS `win_rate`,row_number() OVER (ORDER BY `u`.`balance` desc,`u`.`correct_bets` desc ) AS `rating_position` from `users` `u` where ((`u`.`total_bets` > 0) and (`u`.`is_banned` = false)) order by `u`.`balance` desc,`u`.`correct_bets` desc */; /*!50001 SET character_set_client = @saved_cs_client */; /*!50001 SET character_set_results = @saved_cs_results */; /*!50001 SET collation_connection = @saved_col_connection */; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; -- Dump completed on 2025-06-04 13:08:05