coco_milk_0524_fc.sql 84 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715
  1. -- MariaDB dump 10.19 Distrib 10.7.4-MariaDB, for Linux (x86_64)
  2. --
  3. -- Host: ngds-db-live.cdehazle30lc.ap-east-1.rds.amazonaws.com Database: coco_milk_0524
  4. -- ------------------------------------------------------
  5. -- Server version 10.6.7-MariaDB-log
  6. /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
  7. /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
  8. /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
  9. /*!40101 SET NAMES utf8mb4 */;
  10. /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
  11. /*!40103 SET TIME_ZONE='+00:00' */;
  12. /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
  13. /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
  14. /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
  15. --
  16. -- Dumping routines for database 'coco_milk_0524'
  17. --
  18. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  19. /*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
  20. /*!50003 DROP PROCEDURE IF EXISTS `CALC10` */;
  21. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  22. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  23. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  24. /*!50003 SET character_set_client = utf8mb4 */ ;
  25. /*!50003 SET character_set_results = utf8mb4 */ ;
  26. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  27. DELIMITER ;;
  28. CREATE DEFINER=`babysbreath`@`%` PROCEDURE `CALC10`(IN `PCPID` INT)
  29. BEGIN
  30. DECLARE
  31. MLAYER,
  32. MMAXLAYER INT;
  33. DECLARE
  34. MRATE,
  35. MLIMITPV DECIMAL ( 10, 2 );-- 查询第一个级别的限制以及等奖比例
  36. SELECT
  37. T.ACHIEVE_PV,
  38. T.BS_PERCENT / 100 INTO MLIMITPV,
  39. MRATE
  40. FROM
  41. AR_EMPLOY_LEVEL T
  42. WHERE
  43. T.ID = 'E121497617216708615';
  44. SELECT
  45. MAX( LAYER ) INTO MLAYER
  46. FROM
  47. AR_BS_BONUS_103_CALC
  48. WHERE
  49. PV > 0;
  50. SET MMAXLAYER := MLAYER;
  51. WHILE
  52. MLAYER >= 0 DO
  53. IF
  54. ( MLAYER < MMAXLAYER ) THEN-- 向上累计
  55. UPDATE AR_BS_BONUS_103_CALC T1
  56. INNER JOIN (
  57. SELECT
  58. INTRODUCER_ID,
  59. SUM( GPV10 ) GPV10
  60. FROM
  61. AR_BS_BONUS_103_CALC
  62. WHERE
  63. LAYER = MLAYER + 1
  64. AND USER_TYPE10 = 0
  65. AND GPV10 > 0
  66. GROUP BY
  67. INTRODUCER_ID
  68. ) T2 ON T1.USER_ID = T2.INTRODUCER_ID
  69. AND T1.LAYER = MLAYER
  70. SET T1.GPV10 = T2.GPV10;-- 没有升级的会员需要将自己的小组业绩清零
  71. UPDATE AR_BS_BONUS_103_CALC T
  72. SET T.GPV10 = 0
  73. WHERE
  74. T.GPV10 < T.ACHIEVE_PERF_PV AND T.LAYER = MLAYER + 1 AND USER_TYPE10 = 0 AND T.GPV10 > 0;
  75. END IF;
  76. UPDATE AR_BS_BONUS_103_CALC T1
  77. SET T1.GPV10 = T1.GPV10 + T1.PV
  78. WHERE
  79. T1.LAYER = MLAYER
  80. AND T1.PV > 0;-- 是否达标 如果达标
  81. UPDATE AR_BS_BONUS_103_CALC T
  82. SET T.USER_TYPE10 = 10
  83. WHERE
  84. T.GPV10 >= T.ACHIEVE_PERF_PV
  85. AND T.LAYER = MLAYER
  86. AND T.USER_TYPE10 = 0;
  87. IF
  88. ( MLAYER > 0 ) THEN-- 升级为蓝星A
  89. CALL CALCUPGARDE ( MLAYER );
  90. END IF;
  91. SET MLAYER := MLAYER - 1;
  92. END WHILE;
  93. UPDATE AR_BS_BONUS_103_CALC T
  94. SET T.BONUS10 = T.GPV10 * MRATE
  95. WHERE
  96. T.USER_TYPE10 = 10
  97. AND T.GPV10 > 0;
  98. UPDATE AR_BS_BONUS_103_CALC
  99. SET USER_TYPE = 0;
  100. INSERT INTO AR_CALC_BONUS_BS_DETAIL_BONUS ( USER_ID, INTRODUCER_ID, LAST_EMP_LV, ORI_BONUS, PV, RATE,PERIOD_NUM )
  101. SELECT USER_ID, NULL, 10, GPV10 * MRATE, GPV10, MRATE ,PCPID FROM AR_BS_BONUS_103_CALC WHERE USER_TYPE10 = 10
  102. AND GPV10 > 0;
  103. END ;;
  104. DELIMITER ;
  105. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  106. /*!50003 SET character_set_client = @saved_cs_client */ ;
  107. /*!50003 SET character_set_results = @saved_cs_results */ ;
  108. /*!50003 SET collation_connection = @saved_col_connection */ ;
  109. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  110. /*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
  111. /*!50003 DROP PROCEDURE IF EXISTS `CALC20` */;
  112. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  113. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  114. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  115. /*!50003 SET character_set_client = utf8mb4 */ ;
  116. /*!50003 SET character_set_results = utf8mb4 */ ;
  117. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  118. DELIMITER ;;
  119. CREATE DEFINER=`babysbreath`@`%` PROCEDURE `CALC20`(IN `PCPID` INT)
  120. BEGIN
  121. DECLARE
  122. MLAYER,
  123. MMAXLAYER,
  124. MCOUNT INT;
  125. DECLARE
  126. MRATE,
  127. MLIMITPV DECIMAL ( 10, 2 );
  128. START TRANSACTION;-- 第一个级别的限制
  129. SELECT
  130. T.ACHIEVE_PV INTO MLIMITPV
  131. FROM
  132. AR_EMPLOY_LEVEL T
  133. WHERE
  134. T.ID = 'E121497617216708615';-- 第二个级别得奖的比例
  135. SELECT
  136. T.BS_PERCENT / 100 INTO MRATE
  137. FROM
  138. AR_EMPLOY_LEVEL T
  139. WHERE
  140. T.ID = '67BE5FE7857C216AE055736AECE8644D';
  141. SELECT
  142. MAX( LAYER ) INTO MLAYER
  143. FROM
  144. AR_BS_BONUS_103_CALC
  145. WHERE
  146. PV > 0;
  147. SET MMAXLAYER := MLAYER;
  148. WHILE
  149. MLAYER >= 0 DO
  150. IF
  151. ( MLAYER < MMAXLAYER ) THEN-- 向上累计
  152. UPDATE AR_BS_BONUS_103_CALC T1
  153. INNER JOIN (
  154. SELECT
  155. INTRODUCER_ID,
  156. SUM( GPV ) GPV
  157. FROM
  158. AR_BS_BONUS_103_CALC
  159. WHERE
  160. LAYER = MLAYER + 1
  161. AND USER_TYPE = 0
  162. AND GPV > 0
  163. GROUP BY
  164. INTRODUCER_ID
  165. ) T2 ON T1.USER_ID = T2.INTRODUCER_ID
  166. AND T1.LAYER = MLAYER
  167. SET T1.GPV = T2.GPV;-- 没有升级的会员需要将自己的小组业绩清零
  168. UPDATE AR_BS_BONUS_103_CALC T
  169. SET T.GPV = 0
  170. WHERE
  171. T.GPV < T.ACHIEVE_PERF_PV AND T.LAYER = MLAYER + 1 AND GPV > 0;
  172. END IF;
  173. UPDATE AR_BS_BONUS_103_CALC T1
  174. SET T1.GPV = T1.GPV + T1.PV
  175. WHERE
  176. T1.LAYER = MLAYER;-- 是否达标 如果达标
  177. UPDATE AR_BS_BONUS_103_CALC T
  178. SET T.USER_TYPE = 10
  179. WHERE
  180. T.GPV >= T.ACHIEVE_PERF_PV
  181. AND T.LAYER = MLAYER;
  182. SET MLAYER := MLAYER - 1;
  183. END WHILE;
  184. UPDATE AR_BS_BONUS_103_CALC
  185. SET GPV = 0
  186. WHERE
  187. USER_TYPE = 0
  188. AND GPV > 0;
  189. SELECT
  190. MAX( LAYER ) INTO MLAYER
  191. FROM
  192. AR_BS_BONUS_103_CALC
  193. WHERE
  194. USER_TYPE > 0;
  195. SET MMAXLAYER := MLAYER;-- 添加至新网体页面
  196. INSERT INTO AR_BS_BONUS_103_CALC_NET ( USER_ID, INTRODUCER_ID, CALC_PERIOD_ID, USER_TYPE, GPV, DIRECTLY_UNDER, LAYER, TEAM_GPV ) SELECT
  197. USER_ID,
  198. INTRODUCER_ID,
  199. CALC_PERIOD_ID,
  200. USER_TYPE,
  201. GPV,
  202. 0,
  203. LAYER,
  204. 0
  205. FROM
  206. AR_BS_BONUS_103_CALC
  207. WHERE
  208. LAYER <= MLAYER; -- 处理新的网体
  209. DELETE FROM AR_BS_BONUS_103_CALC_NET WHERE LAYER = MLAYER AND USER_TYPE = 0; SET MLAYER := MLAYER - 1; WHILE MLAYER >= 0 DO-- 计算直属宽度
  210. UPDATE AR_BS_BONUS_103_CALC_NET T1
  211. INNER JOIN ( SELECT INTRODUCER_ID, COUNT( * ) SONS FROM AR_BS_BONUS_103_CALC_NET WHERE LAYER = MLAYER + 1 GROUP BY INTRODUCER_ID ) T2 ON T1.USER_ID = T2.INTRODUCER_ID
  212. AND T1.LAYER = MLAYER
  213. SET T1.DIRECTLY_UNDER = T2.SONS;-- 本人达标并且下属满足一个及以上的达标数升级为第二个级别
  214. UPDATE AR_BS_BONUS_103_CALC_NET T1
  215. SET T1.USER_TYPE = 20
  216. WHERE
  217. T1.LAYER = MLAYER
  218. AND USER_TYPE = 10
  219. AND DIRECTLY_UNDER >= 1;-- 计算本层达标人员
  220. SELECT
  221. COUNT( * ) INTO MCOUNT
  222. FROM
  223. AR_BS_BONUS_103_CALC_NET C
  224. WHERE
  225. C.DIRECTLY_UNDER >= 2
  226. AND C.USER_TYPE = 0
  227. AND LAYER = MLAYER;
  228. IF
  229. ( MCOUNT > 0 ) THEN
  230. CALL CALC20_0 ( MLAYER, PCPID );
  231. END IF;-- 删除未达标人员
  232. CALL CALCDELNET ( MLAYER );
  233. SET MLAYER := MLAYER - 1;
  234. END WHILE;-- 计算GPV_4_CALC,会员级别
  235. UPDATE AR_BS_BONUS_103_CALC C1
  236. INNER JOIN AR_BS_BONUS_103_CALC_NET C2 ON C1.USER_ID = C2.USER_ID
  237. SET C1.GPV_4_CALC = C2.GPV,
  238. C1.USER_TYPE = C2.USER_TYPE;-- 计算见习奖金
  239. UPDATE AR_BS_BONUS_103_CALC C1
  240. INNER JOIN ( SELECT INTRODUCER_ID, SUM( GPV ) ALL_GPV FROM AR_BS_BONUS_103_CALC_NET GROUP BY INTRODUCER_ID ) C2 ON C1.USER_ID = C2.INTRODUCER_ID
  241. AND C1.USER_TYPE = 20
  242. SET C1.BONUS20 = C2.ALL_GPV * MRATE;
  243. COMMIT;
  244. INSERT INTO AR_CALC_BONUS_BS_DETAIL_BONUS ( USER_ID, INTRODUCER_ID, LAST_EMP_LV, ORI_BONUS, PV, RATE, PERIOD_NUM ) SELECT
  245. C1.USER_ID,
  246. NULL,
  247. 20,
  248. C2.ALL_GPV * MRATE,
  249. C2.ALL_GPV,
  250. MRATE,
  251. PCPID
  252. FROM
  253. AR_BS_BONUS_103_CALC C1
  254. INNER JOIN ( SELECT INTRODUCER_ID, SUM( GPV ) ALL_GPV FROM AR_BS_BONUS_103_CALC_NET GROUP BY INTRODUCER_ID ) C2 ON C1.USER_ID = C2.INTRODUCER_ID
  255. AND C1.USER_TYPE = 20
  256. AND ALL_GPV > 0;
  257. END ;;
  258. DELIMITER ;
  259. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  260. /*!50003 SET character_set_client = @saved_cs_client */ ;
  261. /*!50003 SET character_set_results = @saved_cs_results */ ;
  262. /*!50003 SET collation_connection = @saved_col_connection */ ;
  263. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  264. /*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ;
  265. /*!50003 DROP PROCEDURE IF EXISTS `CALC20_0` */;
  266. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  267. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  268. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  269. /*!50003 SET character_set_client = utf8mb4 */ ;
  270. /*!50003 SET character_set_results = utf8mb4 */ ;
  271. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  272. DELIMITER ;;
  273. CREATE DEFINER=`babysbreath`@`%` PROCEDURE `CALC20_0`(IN PLAYER INT,IN `PCPID` INT)
  274. BEGIN
  275. DECLARE
  276. FLAG INT DEFAULT 0;
  277. DECLARE
  278. MUSERID,
  279. MMAXUSERID VARCHAR ( 50 );
  280. DECLARE
  281. MGPV DECIMAL ( 10, 2 );
  282. DECLARE
  283. MC CURSOR FOR SELECT
  284. C.USER_ID
  285. FROM
  286. AR_BS_BONUS_103_CALC_NET C
  287. WHERE
  288. C.DIRECTLY_UNDER >= 2
  289. AND C.USER_TYPE = 0
  290. AND LAYER = PLAYER;
  291. DECLARE
  292. CONTINUE HANDLER FOR NOT FOUND
  293. SET FLAG = 1;-- 打开游标
  294. OPEN MC;-- 获取结果
  295. L2 :
  296. LOOP
  297. FETCH MC INTO MUSERID;
  298. IF
  299. FLAG = 1 THEN-- 当无法FETCH会触发HANDLER CONTINUE
  300. LEAVE L2;
  301. END IF;-- 这里是为了显示获取结果
  302. SELECT
  303. MIN( GPV ) INTO MGPV
  304. FROM
  305. AR_BS_BONUS_103_CALC_NET C
  306. WHERE
  307. C.INTRODUCER_ID = MUSERID
  308. AND C.USER_TYPE >= 10;
  309. SELECT
  310. MAX( USER_ID ) INTO MMAXUSERID
  311. FROM
  312. AR_BS_BONUS_103_CALC_NET C
  313. WHERE
  314. C.INTRODUCER_ID = MUSERID
  315. AND C.GPV = MGPV;
  316. UPDATE AR_BS_BONUS_103_CALC_NET C
  317. SET C.USER_TYPE = 20,
  318. C.GPV = MGPV
  319. WHERE
  320. USER_ID = MUSERID;
  321. UPDATE AR_BS_BONUS_103_CALC_NET C
  322. SET C.GPV = 0
  323. WHERE
  324. USER_ID = MMAXUSERID;-- 关闭游标
  325. INSERT INTO AR_CALC_BONUS_BS_DETAIL_GPV(USER_ID,INTRODUCER_ID,GPV,PERIOD_NUM)
  326. VALUES(MMAXUSERID,MUSERID,MGPV,PCPID);
  327. END LOOP;
  328. CLOSE MC;
  329. END ;;
  330. DELIMITER ;
  331. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  332. /*!50003 SET character_set_client = @saved_cs_client */ ;
  333. /*!50003 SET character_set_results = @saved_cs_results */ ;
  334. /*!50003 SET collation_connection = @saved_col_connection */ ;
  335. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  336. /*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ;
  337. /*!50003 DROP PROCEDURE IF EXISTS `CALCBLUE` */;
  338. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  339. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  340. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  341. /*!50003 SET character_set_client = utf8mb4 */ ;
  342. /*!50003 SET character_set_results = utf8mb4 */ ;
  343. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  344. DELIMITER ;;
  345. CREATE DEFINER=`babysbreath`@`%` PROCEDURE `CALCBLUE`(IN `PCPID` INT)
  346. LABEL: BEGIN
  347. DECLARE MCALCYEAR INT;
  348. DECLARE MISMONTH,MCALCMONTH,MISSENT TINYINT;
  349. START TRANSACTION;
  350. -- 日志;
  351. DELETE FROM AR_BS_BONUS_103_CALC_EVENT ;-- WHERE CALC_PERIOD_ID >= PCPID;
  352. CALL CALCRECORD(-1,'开始',PCPID,NOW());
  353. COMMIT;
  354. -- SELECT USER_ID INTO MISMONTH FROM ZR_USER;
  355. SELECT AP.IS_MONTH,AP.CALC_MONTH,AP.CALC_YEAR,AP.IS_SENT
  356. INTO MISMONTH,MCALCMONTH,MCALCYEAR,MISSENT
  357. FROM AR_PERIOD AP WHERE AP.PERIOD_NUM = PCPID;
  358. -- 查看是否月结
  359. -- IF(MISMONTH = 0 OR MISSENT = 1)THEN
  360. -- LEAVE LABEL;
  361. -- END IF;
  362. -- 清除数据
  363. CALL CALCRECORD(1,'清除数据',PCPID,NOW());
  364. COMMIT;
  365. CALL CALCCLEAN(PCPID);
  366. COMMIT;
  367. -- 初始化
  368. CALL CALCRECORD(2,'初始化',PCPID,NOW());
  369. COMMIT;
  370. CALL CALCINIT(PCPID,MCALCMONTH,MCALCYEAR);
  371. COMMIT;
  372. -- 初始业绩
  373. -- 3.蓝星奖
  374. CALL CALCRECORD(3,'蓝星奖',PCPID,NOW());
  375. COMMIT;
  376. CALL CALC10(PCPID);
  377. COMMIT;
  378. -- 4.新网体
  379. CALL CALCRECORD(4,'新网体',PCPID,NOW());
  380. COMMIT;
  381. CALL CALC20(PCPID);
  382. COMMIT;
  383. -- 5.升级主任
  384. CALL CALCRECORD(5,'升级主任',PCPID,NOW());
  385. COMMIT;
  386. CALL CALCUP30;
  387. COMMIT;
  388. -- 6.计算主任自己第一层的总业绩
  389. CALL CALCRECORD(6,'计算主任自己第一层的总业绩',PCPID,NOW());
  390. COMMIT;
  391. CALL CALCTOTALGPV;
  392. COMMIT;
  393. -- 7.计算平级奖
  394. CALL CALCRECORD(7,'计算平级奖',PCPID,NOW());
  395. COMMIT;
  396. CALL CALCLEVEL(PCPID);
  397. COMMIT;
  398. -- 8.积分
  399. CALL CALCRECORD(8,'积分',PCPID,NOW());
  400. COMMIT;
  401. CALL CALCPOINT;
  402. COMMIT;
  403. -- 9.汇总
  404. CALL CALCRECORD(9,'汇总',PCPID,NOW());
  405. COMMIT;
  406. CALL CALCSUMMARY;
  407. COMMIT;
  408. -- 10.记录总表
  409. CALL CALCRECORD(10,'记录总表',PCPID,NOW());
  410. COMMIT;
  411. CALL CALCKEEP(MCALCYEAR,MCALCMONTH);
  412. COMMIT;
  413. -- 11.计算拨出比
  414. CALL CALCRECORD(11,'计算拨出比',PCPID,NOW());
  415. COMMIT;
  416. CALL CALCSTAT(PCPID);
  417. COMMIT;
  418. CALL CALCRECORD(12,'结束',PCPID,NOW());
  419. COMMIT;
  420. END ;;
  421. DELIMITER ;
  422. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  423. /*!50003 SET character_set_client = @saved_cs_client */ ;
  424. /*!50003 SET character_set_results = @saved_cs_results */ ;
  425. /*!50003 SET collation_connection = @saved_col_connection */ ;
  426. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  427. /*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ;
  428. /*!50003 DROP PROCEDURE IF EXISTS `CALCCHECKING` */;
  429. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  430. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  431. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  432. /*!50003 SET character_set_client = utf8mb4 */ ;
  433. /*!50003 SET character_set_results = utf8mb4 */ ;
  434. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  435. DELIMITER ;;
  436. CREATE DEFINER=`babysbreath`@`%` PROCEDURE `CALCCHECKING`(IN `PCPID` INT)
  437. LABEL : BEGIN-- 遍历数据结束标志
  438. DECLARE
  439. MCOLUMNNAME,
  440. MVALUES,
  441. MVALUES0,
  442. MVALUES1,
  443. MVALUES2 VARCHAR ( 100 );-- 定义预处理SQL语句
  444. DECLARE
  445. SQL_FOR_SELECT VARCHAR ( 2000 );
  446. DECLARE
  447. MCOUNT INT DEFAULT 0;
  448. DECLARE
  449. DONE INT DEFAULT FALSE;
  450. DECLARE
  451. MISMONTH,
  452. MISSEND TINYINT;-- 游标
  453. DECLARE
  454. CUR_ACCOUNT CURSOR FOR SELECT
  455. COLUMN_NAME
  456. FROM
  457. INFORMATION_SCHEMA.COLUMNS
  458. WHERE
  459. TABLE_NAME = 'AR_CALC_BONUS_BS_DETAIL'
  460. AND TABLE_SCHEMA = 'aikang_db_28'
  461. AND COLUMN_NAME NOT IN ( 'CALC_YEAR', 'CALC_MONTH', 'P_CALC_MONTH', 'CREATED_AT', 'ID', 'LAYER' )
  462. AND DATA_TYPE IN ( 'DECIMAL', 'DOUBLE', 'INT' );-- 将结束标志绑定到游标
  463. DECLARE
  464. CONTINUE HANDLER FOR NOT FOUND
  465. SET DONE = TRUE;
  466. START TRANSACTION;
  467. SELECT
  468. AP.IS_MONTH,
  469. AP.IS_SENT INTO MISMONTH,
  470. MISSEND
  471. FROM
  472. AR_PERIOD AP
  473. WHERE
  474. AP.PERIOD_NUM = PCPID;-- 查看是否月结
  475. IF
  476. ( MISMONTH = 0 OR MISSEND = 1 ) THEN
  477. LEAVE LABEL;
  478. END IF;-- 打开游标
  479. DELETE
  480. FROM
  481. AR_CALC_BONUS_BS_CHECKING
  482. WHERE
  483. PERIOD_NUM >= PCPID;
  484. OPEN CUR_ACCOUNT;-- 遍历
  485. READ_LOOP :
  486. LOOP-- 取值 取多个字段
  487. FETCH NEXT
  488. FROM
  489. CUR_ACCOUNT INTO MCOLUMNNAME;
  490. IF
  491. DONE THEN
  492. LEAVE READ_LOOP;
  493. END IF;
  494. SET SQL_FOR_SELECT = CONCAT(
  495. "SELECT COUNT(*) INTO @MVALUES0 FROM (SELECT IFNULL(A1.USER_ID,'-1') MAIN_ID,IFNULL(A2.USER_ID,'-1') TEST_ID,IFNULL(A1.",
  496. MCOLUMNNAME,
  497. ",0) NAME1,IFNULL(A2.",
  498. MCOLUMNNAME,
  499. ",0) NAME2 FROM AR_CALC_BONUS_BS_DETAIL A1 LEFT JOIN AR_CALC_BONUS_BS_DETAIL_CALC A2 ON A1.USER_ID = A2.USER_ID WHERE A1.PERIOD_NUM = ",
  500. PCPID,
  501. " AND A2.PERIOD_NUM = ",
  502. PCPID,
  503. " UNION SELECT IFNULL(A2.USER_ID,'-1') MAIN_ID,IFNULL(A1.USER_ID,'-1') TEST_ID,IFNULL(A2.",
  504. MCOLUMNNAME,
  505. ",0) NAME1,IFNULL(A1.",
  506. MCOLUMNNAME,
  507. ",0) NAME2 FROM AR_CALC_BONUS_BS_DETAIL_CALC A1 LEFT JOIN AR_CALC_BONUS_BS_DETAIL A2 ON A1.USER_ID = A2.USER_ID WHERE A1.PERIOD_NUM = ",
  508. PCPID,
  509. " AND A2.PERIOD_NUM = ",
  510. PCPID,
  511. ") B WHERE B.MAIN_ID != B.TEST_ID OR ABS(B.NAME1-B.NAME2)>0.5"
  512. );-- 拼接查询SQL语句
  513. SET @SQL = SQL_FOR_SELECT;
  514. PREPARE STMT
  515. FROM
  516. @SQL;-- 预处理动态SQL语句
  517. EXECUTE STMT;-- 执行SQL语句
  518. DEALLOCATE PREPARE STMT;
  519. SET MVALUES0 := @MVALUES0;
  520. SET SQL_FOR_SELECT = CONCAT( "SELECT IFNULL(SUM(", MCOLUMNNAME, "),0) INTO @MVALUES1 FROM AR_CALC_BONUS_BS_DETAIL WHERE PERIOD_NUM = '", PCPID, "'" );-- 拼接查询SQL语句
  521. SET @SQL = SQL_FOR_SELECT;
  522. PREPARE STMT
  523. FROM
  524. @SQL;-- 预处理动态SQL语句
  525. EXECUTE STMT;-- 执行SQL语句
  526. DEALLOCATE PREPARE STMT;
  527. SET MVALUES1 := @MVALUES1;
  528. SET SQL_FOR_SELECT = CONCAT( "SELECT IFNULL(SUM(", MCOLUMNNAME, "),0) INTO @MVALUES2 FROM AR_CALC_BONUS_BS_DETAIL_CALC WHERE USER_ID != '0' AND PERIOD_NUM = '", PCPID, "'" );-- 拼接查询SQL语句
  529. SET @SQL = SQL_FOR_SELECT;
  530. PREPARE STMT
  531. FROM
  532. @SQL;-- 预处理动态SQL语句
  533. EXECUTE STMT;-- 执行SQL语句
  534. DEALLOCATE PREPARE STMT;
  535. SET MVALUES2 := @MVALUES2;
  536. INSERT INTO AR_CALC_BONUS_BS_CHECKING ( PERIOD_NUM, COLUMN_NAME, DIFF_COUNT, MAIN_SUM, CALC_SUM, DIFF_SUM )
  537. VALUES
  538. (
  539. PCPID,
  540. MCOLUMNNAME,
  541. MVALUES0,
  542. MVALUES1,
  543. MVALUES2,
  544. ABS(
  545. CONVERT (
  546. MVALUES1,
  547. DECIMAL ( 12, 2 ))- CONVERT (
  548. MVALUES2,
  549. DECIMAL ( 12, 2 ))));
  550. COMMIT;
  551. END LOOP;
  552. CLOSE CUR_ACCOUNT;
  553. SELECT
  554. COUNT(*) INTO MCOUNT
  555. FROM
  556. AR_CALC_BONUS_BS_CHECKING
  557. WHERE
  558. ( DIFF_COUNT > 0 OR DIFF_SUM >= 1 )
  559. AND COLUMN_NAME IN (
  560. 'USER_TYPE10',
  561. 'USER_TYPE',
  562. 'BONUS10',
  563. 'BONUS20',
  564. 'BONUS30',
  565. 'BONUS40',
  566. 'BONUS50',
  567. 'BONUS60',
  568. 'BONUS70',
  569. 'BONUS80',
  570. 'BONUS90',
  571. 'BONUS100',
  572. 'BONUS110',
  573. 'ORI_BONUS',
  574. 'AMOUNT',
  575. 'PRODUCT_POINT'
  576. );
  577. IF
  578. ( MCOUNT = 0 ) THEN
  579. UPDATE AR_CALC_BONUS_BS_STAT T
  580. SET T.CHECK_STATUS = 1
  581. WHERE
  582. T.PERIOD_NUM = PCPID;
  583. END IF;
  584. COMMIT;
  585. END ;;
  586. DELIMITER ;
  587. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  588. /*!50003 SET character_set_client = @saved_cs_client */ ;
  589. /*!50003 SET character_set_results = @saved_cs_results */ ;
  590. /*!50003 SET collation_connection = @saved_col_connection */ ;
  591. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  592. /*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ;
  593. /*!50003 DROP PROCEDURE IF EXISTS `CALCCLEAN` */;
  594. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  595. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  596. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  597. /*!50003 SET character_set_client = utf8mb4 */ ;
  598. /*!50003 SET character_set_results = utf8mb4 */ ;
  599. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  600. DELIMITER ;;
  601. CREATE DEFINER=`babysbreath`@`%` PROCEDURE `CALCCLEAN`(IN `PCPID` INT)
  602. BEGIN-- 删除当期奖金
  603. DELETE
  604. FROM
  605. AR_BS_BONUS_103_CALC;
  606. DELETE
  607. FROM
  608. AR_BS_BONUS_103_TEST
  609. WHERE
  610. CALC_PERIOD_ID >= PCPID;-- 使用的奖金表
  611. DELETE
  612. FROM
  613. AR_CALC_BONUS_BS
  614. WHERE
  615. PERIOD_NUM >= PCPID;
  616. DELETE
  617. FROM
  618. AR_CALC_BONUS_BS_DETAIL
  619. WHERE
  620. PERIOD_NUM >= PCPID;-- 删除当期网体
  621. DELETE
  622. FROM
  623. AR_BS_BONUS_103_CALC_NET;
  624. DELETE
  625. FROM
  626. AR_BS_BONUS_103_TEST_NET
  627. WHERE
  628. CALC_PERIOD_ID >= PCPID;-- 删除拨出表
  629. DELETE
  630. FROM
  631. AR_CALC_BONUS_BS_STAT
  632. WHERE
  633. PERIOD_NUM >= PCPID;-- 删除明细表
  634. DELETE
  635. FROM
  636. AR_CALC_BONUS_BS_DETAIL_BONUS
  637. WHERE
  638. PERIOD_NUM >= PCPID;-- 删除日志
  639. DELETE
  640. FROM
  641. AR_CALC_BONUS_BS_DETAIL_GPV
  642. WHERE
  643. PERIOD_NUM >= PCPID;
  644. END ;;
  645. DELIMITER ;
  646. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  647. /*!50003 SET character_set_client = @saved_cs_client */ ;
  648. /*!50003 SET character_set_results = @saved_cs_results */ ;
  649. /*!50003 SET collation_connection = @saved_col_connection */ ;
  650. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  651. /*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ;
  652. /*!50003 DROP PROCEDURE IF EXISTS `CALCDELNET` */;
  653. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  654. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  655. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  656. /*!50003 SET character_set_client = utf8mb4 */ ;
  657. /*!50003 SET character_set_results = utf8mb4 */ ;
  658. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  659. DELIMITER ;;
  660. CREATE DEFINER=`babysbreath`@`%` PROCEDURE `CALCDELNET`(IN `PLAYER` INT)
  661. BEGIN
  662. DECLARE
  663. FLAG INT DEFAULT 0;
  664. DECLARE
  665. MUSERID,
  666. MMAXUSERID,
  667. MINTRODUCERID VARCHAR ( 50 );
  668. /*DECLARE
  669. MGPV DECIMAL ( 10, 2 );
  670. DECLARE
  671. DN CURSOR FOR SELECT
  672. USER_ID
  673. FROM
  674. AR_BS_BONUS_103_CALC_NET
  675. WHERE
  676. LAYER = PLAYER
  677. AND USER_TYPE = 0;
  678. DECLARE
  679. CONTINUE HANDLER FOR NOT FOUND
  680. SET FLAG = 1;*/
  681. START TRANSACTION;-- 打开游标
  682. /*OPEN DN;-- 获取结果
  683. L2 :
  684. LOOP
  685. FETCH DN INTO MUSERID;
  686. IF
  687. FLAG = 1 THEN-- 当无法FETCH会触发HANDLER CONTINUE
  688. LEAVE L2;
  689. END IF;-- 查询需要删除会员的推荐人ID
  690. SELECT
  691. T.INTRODUCER_ID INTO MINTRODUCERID
  692. FROM
  693. AR_BS_BONUS_103_CALC_NET T
  694. WHERE
  695. T.USER_ID = MUSERID;-- 更改需要删除会员第一代的推荐人ID以及层数
  696. UPDATE AR_BS_BONUS_103_CALC_NET T
  697. SET T.INTRODUCER_ID = MINTRODUCERID,
  698. T.LAYER = T.LAYER - 1
  699. WHERE
  700. T.INTRODUCER_ID = MUSERID;-- 关闭游标
  701. END LOOP;
  702. CLOSE DN;*/
  703. UPDATE AR_BS_BONUS_103_CALC_NET
  704. SET DELETED = 1
  705. WHERE
  706. LAYER = PLAYER
  707. AND USER_TYPE = 0;
  708. UPDATE AR_BS_BONUS_103_CALC_NET T1
  709. INNER JOIN AR_BS_BONUS_103_CALC_NET T2
  710. ON T1.INTRODUCER_ID = T2.USER_ID AND T1.LAYER = PLAYER+1 AND T2.LAYER = PLAYER AND T2.USER_TYPE = 0
  711. SET T1.INTRODUCER_ID = T2.INTRODUCER_ID,T1.LAYER = PLAYER;
  712. DELETE
  713. FROM
  714. AR_BS_BONUS_103_CALC_NET
  715. WHERE
  716. LAYER = PLAYER
  717. AND USER_TYPE = 0
  718. AND DELETED = 1;
  719. COMMIT;
  720. END ;;
  721. DELIMITER ;
  722. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  723. /*!50003 SET character_set_client = @saved_cs_client */ ;
  724. /*!50003 SET character_set_results = @saved_cs_results */ ;
  725. /*!50003 SET collation_connection = @saved_col_connection */ ;
  726. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  727. /*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
  728. /*!50003 DROP PROCEDURE IF EXISTS `CALCINIT` */;
  729. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  730. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  731. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  732. /*!50003 SET character_set_client = utf8mb4 */ ;
  733. /*!50003 SET character_set_results = utf8mb4 */ ;
  734. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  735. DELIMITER ;;
  736. CREATE DEFINER=`babysbreath`@`%` PROCEDURE `CALCINIT`(IN `PCPID` INT, IN `PCALCMONTH` TINYINT, IN `PCALCYEAR` INT)
  737. BEGIN
  738. DECLARE
  739. AC_USER_NO INT; -- 邀请会员达标数
  740. DECLARE
  741. MLIMITPV, -- 邀请会员不及格达标PV
  742. AC_PERF_PV DECIMAL ( 10, 2 ); -- 邀请会员及格达标PV
  743. -- 查询第一个级别的邀请会员数、达标PV值以及等奖比例
  744. SELECT
  745. T.ACHIEVE_PV,
  746. T.ACHIEVE_PERF_PV,
  747. T.ACHIEVE_MEMBER_NUM
  748. INTO MLIMITPV, AC_PERF_PV, AC_USER_NO
  749. FROM
  750. AR_EMPLOY_LEVEL T
  751. WHERE
  752. T.ID = 'E121497617216708615';
  753. INSERT INTO AR_BS_BONUS_103_CALC (
  754. LAST_DEC_LV,
  755. LAST_EMP_LV,
  756. LAST_STATUS,
  757. USER_ID,
  758. INTRODUCER_ID,
  759. LAYER,
  760. PV,
  761. GPV10,
  762. GPV,
  763. GPV_4_CALC,
  764. USER_TYPE10,
  765. USER_TYPE,
  766. BONUS10,
  767. BONUS20,
  768. BONUS30,
  769. BONUS40,
  770. BONUS50,
  771. BONUS60,
  772. BONUS70,
  773. BONUS80,
  774. BONUS90,
  775. BONUS100,
  776. BONUS110,
  777. BONUS,
  778. PRODUCT_POINT,
  779. CALC_PERIOD_ID,
  780. ACHIEVE_MEMBER_NUM,
  781. ACHIEVE_PERF_PV
  782. ) SELECT
  783. AU.LAST_DEC_LV,
  784. AU.EMP_LV,
  785. AU.STATUS,
  786. AU.ID,
  787. IFNULL( AURN.PARENT_UID, 0 ),
  788. AURN.TOP_DEEP,
  789. IFNULL( AO.PV, 0 ),
  790. 0,
  791. 0,
  792. 0,
  793. 0,
  794. 0,
  795. 0,
  796. 0,
  797. 0,
  798. 0,
  799. 0,
  800. 0,
  801. 0,
  802. 0,
  803. 0,
  804. 0,
  805. 0,
  806. 0,
  807. 0,
  808. PCPID,
  809. IFNULL(DO.ACHIEVE_MEMBER_NUM, 0),
  810. IF(DO.ACHIEVE_MEMBER_NUM >= AC_USER_NO, AC_PERF_PV, MLIMITPV)
  811. FROM
  812. AR_USER AU
  813. INNER JOIN AR_USER_RELATION_NEW AURN ON AU.ID = AURN.USER_ID
  814. LEFT JOIN (
  815. SELECT
  816. USER_ID,
  817. SUM( PV ) PV
  818. FROM
  819. AR_PERF_ORDER
  820. WHERE
  821. PERIOD_NUM IN ( SELECT PERIOD_NUM FROM AR_PERIOD WHERE CALC_YEAR = PCALCYEAR AND CALC_MONTH = PCALCMONTH )
  822. GROUP BY
  823. USER_ID
  824. ) AO ON AO.USER_ID = AU.ID
  825. LEFT JOIN (
  826. SELECT
  827. R.PARENT_UID,
  828. COUNT(R.USER_ID) AS ACHIEVE_MEMBER_NUM
  829. FROM
  830. AR_PERF_ORDER O
  831. INNER JOIN AR_USER_RELATION_NEW R ON O.USER_ID = R.USER_ID
  832. WHERE
  833. O.DEC_TYPE = 'ZC' AND O.PERIOD_NUM IN ( SELECT PERIOD_NUM FROM AR_PERIOD WHERE CALC_YEAR = PCALCYEAR AND CALC_MONTH = PCALCMONTH )
  834. GROUP BY R.PARENT_UID
  835. ) DO ON DO.PARENT_UID = AU.ID
  836. WHERE
  837. AU.DELETED = 0;
  838. END ;;
  839. DELIMITER ;
  840. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  841. /*!50003 SET character_set_client = @saved_cs_client */ ;
  842. /*!50003 SET character_set_results = @saved_cs_results */ ;
  843. /*!50003 SET collation_connection = @saved_col_connection */ ;
  844. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  845. /*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
  846. /*!50003 DROP PROCEDURE IF EXISTS `CALCKEEP` */;
  847. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  848. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  849. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  850. /*!50003 SET character_set_client = utf8mb4 */ ;
  851. /*!50003 SET character_set_results = utf8mb4 */ ;
  852. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  853. DELIMITER ;;
  854. CREATE DEFINER=`babysbreath`@`%` PROCEDURE `CALCKEEP`(IN PCALCYEAR int, IN PCALCMONTH int)
  855. BEGIN
  856. INSERT INTO AR_BS_BONUS_103_TEST SELECT
  857. *
  858. FROM
  859. AR_BS_BONUS_103_CALC;
  860. INSERT INTO AR_BS_BONUS_103_TEST_NET SELECT
  861. *
  862. FROM
  863. AR_BS_BONUS_103_CALC_NET;
  864. INSERT INTO AR_CALC_BONUS_BS (
  865. USER_ID,
  866. INTRODUCER_ID,
  867. LAST_DEC_LV,
  868. LAST_EMP_LV,
  869. LAST_STATUS,
  870. LEVEL_ID,
  871. ORI_BONUS,
  872. MANAGE_TAX,
  873. AMOUNT,
  874. PRODUCT_POINT,
  875. PERIOD_NUM,
  876. CALC_YEAR,
  877. CALC_MONTH,
  878. P_CALC_MONTH,
  879. CREATED_AT,
  880. ORI_BONUS_MNT,
  881. MANAGE_TAX_MNT,
  882. AMOUNT_MNT,
  883. ORI_BONUS_ABBR,
  884. MANAGE_TAX_ABBR,
  885. AMOUNT_ABBR,
  886. ACHIEVE_MEMBER_NUM,
  887. ACHIEVE_PERF_PV
  888. ) SELECT
  889. A.USER_ID,
  890. A.INTRODUCER_ID,
  891. A.LAST_DEC_LV,
  892. A.LAST_EMP_LV,
  893. A.LAST_STATUS,
  894. B.ID,
  895. IFNULL( A.BONUS, 0 ),
  896. 0,
  897. IFNULL( A.BONUS, 0 ),
  898. IFNULL( A.PRODUCT_POINT, 0 ),
  899. CALC_PERIOD_ID,
  900. PCALCYEAR,
  901. PCALCYEAR*100+PCALCMONTH,
  902. NOW(),
  903. UNIX_TIMESTAMP(
  904. NOW()),
  905. IFNULL( A.BONUS_MNT, 0 ),
  906. 0,
  907. IFNULL( A.BONUS_MNT, 0 ),
  908. IFNULL( A.BONUS_ABBR, 0 ),
  909. 0,
  910. IFNULL( A.BONUS_ABBR, 0 ),
  911. A.ACHIEVE_MEMBER_NUM,
  912. A.ACHIEVE_PERF_PV
  913. FROM
  914. AR_BS_BONUS_103_CALC A
  915. LEFT JOIN AR_EMPLOY_LEVEL B ON A.USER_TYPE = B.SORT * 10
  916. WHERE
  917. A.BONUS > 0
  918. OR A.PRODUCT_POINT > 0;
  919. INSERT INTO AR_CALC_BONUS_BS_DETAIL (
  920. USER_ID,
  921. INTRODUCER_ID,
  922. LAST_DEC_LV,
  923. LAST_EMP_LV,
  924. LAST_STATUS,
  925. LEVEL_ID,
  926. ORI_BONUS,
  927. MANAGE_TAX,
  928. AMOUNT,
  929. PRODUCT_POINT,
  930. PERIOD_NUM,
  931. LAYER,
  932. PV,
  933. GPV10,
  934. GPV,
  935. GPV_4_CALC,
  936. USER_TYPE10,
  937. USER_TYPE,
  938. BONUS10,
  939. BONUS20,
  940. BONUS30,
  941. BONUS40,
  942. BONUS50,
  943. BONUS60,
  944. BONUS70,
  945. BONUS80,
  946. BONUS90,
  947. BONUS100,
  948. BONUS110,
  949. CALC_YEAR,
  950. CALC_MONTH,
  951. P_CALC_MONTH,
  952. CREATED_AT,
  953. ORI_BONUS_MNT,
  954. MANAGE_TAX_MNT,
  955. AMOUNT_MNT,
  956. ORI_BONUS_ABBR,
  957. MANAGE_TAX_ABBR,
  958. AMOUNT_ABBR
  959. ) SELECT
  960. USER_ID,
  961. INTRODUCER_ID,
  962. LAST_DEC_LV,
  963. LAST_EMP_LV,
  964. LAST_STATUS,
  965. B.ID,
  966. IFNULL( BONUS, 0 ),
  967. 0,
  968. IFNULL( BONUS, 0 ),
  969. IFNULL( PRODUCT_POINT, 0 ),
  970. CALC_PERIOD_ID,
  971. LAYER,
  972. PV,
  973. GPV10,
  974. GPV,
  975. GPV_4_CALC,
  976. USER_TYPE10,
  977. USER_TYPE,
  978. BONUS10,
  979. BONUS20,
  980. BONUS30,
  981. BONUS40,
  982. BONUS50,
  983. BONUS60,
  984. BONUS70,
  985. BONUS80,
  986. BONUS90,
  987. BONUS100,
  988. BONUS110,
  989. PCALCYEAR,
  990. PCALCYEAR*100+PCALCMONTH,
  991. NOW(),
  992. UNIX_TIMESTAMP(
  993. NOW()),
  994. IFNULL( A.BONUS_MNT, 0 ),
  995. 0,
  996. IFNULL( A.BONUS_MNT, 0 ),
  997. IFNULL( A.BONUS_ABBR, 0 ),
  998. 0,
  999. IFNULL( A.BONUS_ABBR, 0 )
  1000. FROM
  1001. AR_BS_BONUS_103_CALC A
  1002. LEFT JOIN ( SELECT ID, SORT FROM AR_EMPLOY_LEVEL ) B ON A.USER_TYPE = B.SORT * 10;
  1003. END ;;
  1004. DELIMITER ;
  1005. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  1006. /*!50003 SET character_set_client = @saved_cs_client */ ;
  1007. /*!50003 SET character_set_results = @saved_cs_results */ ;
  1008. /*!50003 SET collation_connection = @saved_col_connection */ ;
  1009. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  1010. /*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ;
  1011. /*!50003 DROP PROCEDURE IF EXISTS `CALCLEVEL` */;
  1012. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  1013. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  1014. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  1015. /*!50003 SET character_set_client = utf8mb4 */ ;
  1016. /*!50003 SET character_set_results = utf8mb4 */ ;
  1017. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  1018. DELIMITER ;;
  1019. CREATE DEFINER=`babysbreath`@`%` PROCEDURE `CALCLEVEL`(IN `PCPID` INT)
  1020. BEGIN
  1021. DECLARE
  1022. FLAG,
  1023. MLAYER,
  1024. MUSERTYPE INT DEFAULT 0;
  1025. DECLARE
  1026. MGPV DECIMAL ( 10, 2 );
  1027. DECLARE
  1028. MC CURSOR FOR SELECT
  1029. LAYER
  1030. FROM
  1031. AR_BS_BONUS_103_CALC_NET T
  1032. WHERE
  1033. T.USER_TYPE = 30 GROUP BY LAYER ORDER BY LAYER DESC;
  1034. DECLARE
  1035. CONTINUE HANDLER FOR NOT FOUND
  1036. SET FLAG = 1;
  1037. START TRANSACTION;-- 打开游标
  1038. OPEN MC;-- 获取结果
  1039. L2 :
  1040. LOOP
  1041. FETCH MC INTO MLAYER;
  1042. IF
  1043. FLAG = 1 THEN-- 当无法FETCH会触发HANDLER CONTINUE
  1044. LEAVE L2;
  1045. END IF;
  1046. -- 计算当前层数的奖金以及向上所贡献的奖金
  1047. CALL CALCLEVEL_ ( MLAYER ,PCPID);
  1048. END LOOP;
  1049. CLOSE MC;
  1050. /*WHILE
  1051. ( MLAYER >= 0 ) DO-- 计算当前层数的奖金以及向上所贡献的奖金
  1052. CALL CALCLEVEL_ ( MLAYER );
  1053. SET MLAYER := MLAYER - 1;
  1054. END WHILE;*/-- 级别更新
  1055. UPDATE AR_BS_BONUS_103_CALC C1
  1056. INNER JOIN AR_BS_BONUS_103_CALC_NET C2 ON C1.USER_ID = C2.USER_ID
  1057. AND C1.USER_TYPE <> C2.USER_TYPE
  1058. SET C1.USER_TYPE = C2.USER_TYPE;
  1059. END ;;
  1060. DELIMITER ;
  1061. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  1062. /*!50003 SET character_set_client = @saved_cs_client */ ;
  1063. /*!50003 SET character_set_results = @saved_cs_results */ ;
  1064. /*!50003 SET collation_connection = @saved_col_connection */ ;
  1065. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  1066. /*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ;
  1067. /*!50003 DROP PROCEDURE IF EXISTS `CALCLEVEL_` */;
  1068. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  1069. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  1070. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  1071. /*!50003 SET character_set_client = utf8mb4 */ ;
  1072. /*!50003 SET character_set_results = utf8mb4 */ ;
  1073. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  1074. DELIMITER ;;
  1075. CREATE DEFINER=`babysbreath`@`%` PROCEDURE `CALCLEVEL_`(IN PLAYER int, IN PCPID int)
  1076. BEGIN
  1077. DECLARE
  1078. FLAG,
  1079. MLAYER,
  1080. MUSERTYPE INT DEFAULT 0;
  1081. DECLARE
  1082. MUSERID,
  1083. MBONUSID,
  1084. MNEWBONUSID VARCHAR ( 50 );
  1085. DECLARE
  1086. MRATE,
  1087. MRATE30,
  1088. MRATE40,
  1089. MRATE50,
  1090. MRATE60,
  1091. MRATE70,
  1092. MRATE80,
  1093. MRATE90,
  1094. MRATE100,
  1095. MRATE110,
  1096. MBONUS,
  1097. MGPV DECIMAL ( 10, 2 );
  1098. DECLARE
  1099. MC CURSOR FOR SELECT
  1100. C.USER_ID,
  1101. C.TEAM_GPV
  1102. FROM
  1103. AR_BS_BONUS_103_CALC_NET C
  1104. WHERE
  1105. C.USER_TYPE >= 30
  1106. AND LAYER = PLAYER;
  1107. DECLARE
  1108. CONTINUE HANDLER FOR NOT FOUND
  1109. SET FLAG = 1;
  1110. START TRANSACTION;
  1111. -- 取各级别蓝星奖比例【开始】
  1112. SELECT
  1113. T.BS_PERCENT / 100 INTO MRATE30
  1114. FROM
  1115. AR_EMPLOY_LEVEL T
  1116. WHERE
  1117. T.ID = 'E121497617216708616';
  1118. SELECT
  1119. T.BS_PERCENT / 100 INTO MRATE40
  1120. FROM
  1121. AR_EMPLOY_LEVEL T
  1122. WHERE
  1123. T.ID = '67BE6A4D03C52288E055736AECE8644D';
  1124. SELECT
  1125. T.BS_PERCENT / 100 INTO MRATE50
  1126. FROM
  1127. AR_EMPLOY_LEVEL T
  1128. WHERE
  1129. T.ID = '67BE6EA2070D22EBE055736AECE8644D';
  1130. SELECT
  1131. T.BS_PERCENT / 100 INTO MRATE60
  1132. FROM
  1133. AR_EMPLOY_LEVEL T
  1134. WHERE
  1135. T.ID = '67BE742A336F2370E055736AECE8644D';
  1136. SELECT
  1137. T.BS_PERCENT / 100 INTO MRATE70
  1138. FROM
  1139. AR_EMPLOY_LEVEL T
  1140. WHERE
  1141. T.ID = '67BE805032C22492E055736AECE8644D';
  1142. # SELECT
  1143. # T.BS_PERCENT / 100 INTO MRATE80
  1144. # FROM
  1145. # AR_EMPLOY_LEVEL T
  1146. # WHERE
  1147. # T.ID = '67BE82019BE524CAE055736AECE8644D';
  1148. #
  1149. # SELECT
  1150. # T.BS_PERCENT / 100 INTO MRATE90
  1151. # FROM
  1152. # AR_EMPLOY_LEVEL T
  1153. # WHERE
  1154. # T.ID = '99BE5FE7857C216AE055736AECE8644D';
  1155. #
  1156. # SELECT
  1157. # T.BS_PERCENT / 100 INTO MRATE100
  1158. # FROM
  1159. # AR_EMPLOY_LEVEL T
  1160. # WHERE
  1161. # T.ID = '99BE5FE9008C216AE055736AECE8644D';
  1162. #
  1163. # SELECT
  1164. # T.BS_PERCENT / 100 INTO MRATE110
  1165. # FROM
  1166. # AR_EMPLOY_LEVEL T
  1167. # WHERE
  1168. # T.ID = '99BE5FE7857C216AE000223AECE8644D';
  1169. -- 取各级别蓝星奖比例【结束】
  1170. -- 打开游标
  1171. OPEN MC;-- 获取结果
  1172. L2 :
  1173. LOOP
  1174. FETCH MC INTO MUSERID,
  1175. MGPV;
  1176. IF
  1177. FLAG = 1 THEN-- 当无法FETCH会触发HANDLER CONTINUE
  1178. LEAVE L2;
  1179. END IF;-- 这里是为了显示获取结果
  1180. SET MLAYER := 1;
  1181. SET MBONUSID := MUSERID;
  1182. OUTER_LABEL :
  1183. WHILE ( MLAYER <= 5 ) DO
  1184. IF ( MLAYER > 1 ) THEN
  1185. CALL CALCREFEREE ( MBONUSID, MNEWBONUSID );
  1186. IF ( ISNULL( MNEWBONUSID ) OR MNEWBONUSID = 0 ) THEN
  1187. LEAVE OUTER_LABEL;
  1188. ELSE
  1189. SET MBONUSID := MNEWBONUSID;
  1190. END IF;
  1191. END IF;
  1192. IF
  1193. ( MLAYER = 1 ) THEN
  1194. SET MRATE := MRATE30;
  1195. ELSEIF ( MLAYER = 2 ) THEN
  1196. SET MRATE := MRATE40;
  1197. ELSEIF ( MLAYER = 3 ) THEN
  1198. SET MRATE := MRATE50;
  1199. ELSEIF ( MLAYER = 4 ) THEN
  1200. SET MRATE := MRATE60;
  1201. ELSEIF ( MLAYER = 5 ) THEN
  1202. SET MRATE := MRATE70;
  1203. ELSEIF ( MLAYER = 6 ) THEN
  1204. SET MRATE := MRATE80;
  1205. ELSEIF ( MLAYER = 7 ) THEN
  1206. SET MRATE := MRATE90;
  1207. ELSEIF ( MLAYER = 8 ) THEN
  1208. SET MRATE := MRATE100;
  1209. ELSEIF ( MLAYER = 9 ) THEN
  1210. SET MRATE := MRATE110;
  1211. END IF;
  1212. SET MBONUS := MGPV * MRATE;
  1213. IF
  1214. ( MLAYER = 1 ) THEN
  1215. UPDATE AR_BS_BONUS_103_CALC T
  1216. SET T.BONUS30 = T.BONUS30 + MBONUS
  1217. WHERE
  1218. T.USER_ID = MBONUSID;
  1219. INSERT INTO AR_CALC_BONUS_BS_DETAIL_BONUS ( USER_ID, INTRODUCER_ID, LAST_EMP_LV, ORI_BONUS, PV, RATE,PERIOD_NUM )
  1220. VALUES
  1221. ( MBONUSID, NULL, 30, MBONUS, MGPV, MRATE ,PCPID);
  1222. ELSEIF ( MLAYER = 2 ) THEN
  1223. UPDATE AR_BS_BONUS_103_CALC T
  1224. SET T.BONUS40 = T.BONUS40 + MBONUS
  1225. WHERE
  1226. T.USER_ID = MBONUSID;
  1227. INSERT INTO AR_CALC_BONUS_BS_DETAIL_BONUS ( USER_ID, INTRODUCER_ID, LAST_EMP_LV, ORI_BONUS, PV, RATE,PERIOD_NUM )
  1228. VALUES
  1229. ( MBONUSID, MUSERID, 40, MBONUS, MGPV, MRATE ,PCPID);
  1230. ELSEIF ( MLAYER = 3 ) THEN
  1231. UPDATE AR_BS_BONUS_103_CALC T
  1232. SET T.BONUS50 = T.BONUS50 + MBONUS
  1233. WHERE
  1234. T.USER_ID = MBONUSID;
  1235. INSERT INTO AR_CALC_BONUS_BS_DETAIL_BONUS ( USER_ID, INTRODUCER_ID, LAST_EMP_LV, ORI_BONUS, PV, RATE,PERIOD_NUM )
  1236. VALUES
  1237. ( MBONUSID, MUSERID, 50, MBONUS, MGPV, MRATE,PCPID );
  1238. ELSEIF ( MLAYER = 4 ) THEN
  1239. UPDATE AR_BS_BONUS_103_CALC T
  1240. SET T.BONUS60 = T.BONUS60 + MBONUS
  1241. WHERE
  1242. T.USER_ID = MBONUSID;
  1243. INSERT INTO AR_CALC_BONUS_BS_DETAIL_BONUS ( USER_ID, INTRODUCER_ID, LAST_EMP_LV, ORI_BONUS, PV, RATE,PERIOD_NUM )
  1244. VALUES
  1245. ( MBONUSID, MUSERID, 60, MBONUS, MGPV, MRATE,PCPID );
  1246. ELSEIF ( MLAYER = 5 ) THEN
  1247. UPDATE AR_BS_BONUS_103_CALC T
  1248. SET T.BONUS70 = T.BONUS70 + MBONUS
  1249. WHERE
  1250. T.USER_ID = MBONUSID;
  1251. INSERT INTO AR_CALC_BONUS_BS_DETAIL_BONUS ( USER_ID, INTRODUCER_ID, LAST_EMP_LV, ORI_BONUS, PV, RATE,PERIOD_NUM )
  1252. VALUES
  1253. ( MBONUSID, MUSERID, 70, MBONUS, MGPV, MRATE,PCPID );
  1254. ELSEIF ( MLAYER = 6 ) THEN
  1255. UPDATE AR_BS_BONUS_103_CALC T
  1256. SET T.BONUS80 = T.BONUS80 + MBONUS
  1257. WHERE
  1258. T.USER_ID = MBONUSID;
  1259. INSERT INTO AR_CALC_BONUS_BS_DETAIL_BONUS ( USER_ID, INTRODUCER_ID, LAST_EMP_LV, ORI_BONUS, PV, RATE,PERIOD_NUM )
  1260. VALUES
  1261. ( MBONUSID, MUSERID, 80, MBONUS, MGPV, MRATE,PCPID );
  1262. ELSEIF ( MLAYER = 7 ) THEN
  1263. UPDATE AR_BS_BONUS_103_CALC T
  1264. SET T.BONUS90 = T.BONUS90 + MBONUS
  1265. WHERE
  1266. T.USER_ID = MBONUSID;
  1267. INSERT INTO AR_CALC_BONUS_BS_DETAIL_BONUS ( USER_ID, INTRODUCER_ID, LAST_EMP_LV, ORI_BONUS, PV, RATE,PERIOD_NUM )
  1268. VALUES
  1269. ( MBONUSID, MUSERID, 90, MBONUS, MGPV, MRATE,PCPID );
  1270. ELSEIF ( MLAYER = 8 ) THEN
  1271. UPDATE AR_BS_BONUS_103_CALC T
  1272. SET T.BONUS100 = T.BONUS100 + MBONUS
  1273. WHERE
  1274. T.USER_ID = MBONUSID;
  1275. INSERT INTO AR_CALC_BONUS_BS_DETAIL_BONUS ( USER_ID, INTRODUCER_ID, LAST_EMP_LV, ORI_BONUS, PV, RATE,PERIOD_NUM )
  1276. VALUES
  1277. ( MBONUSID, MUSERID, 100, MBONUS, MGPV, MRATE,PCPID );
  1278. ELSEIF ( MLAYER = 9 ) THEN
  1279. UPDATE AR_BS_BONUS_103_CALC T
  1280. SET T.BONUS110 = T.BONUS110 + MBONUS
  1281. WHERE
  1282. T.USER_ID = MBONUSID;
  1283. INSERT INTO AR_CALC_BONUS_BS_DETAIL_BONUS ( USER_ID, INTRODUCER_ID, LAST_EMP_LV, ORI_BONUS, PV, RATE,PERIOD_NUM )
  1284. VALUES
  1285. ( MBONUSID, MUSERID, 110, MBONUS, MGPV, MRATE,PCPID );
  1286. END IF;-- 计算会员的级别
  1287. UPDATE AR_BS_BONUS_103_CALC_NET T
  1288. SET T.USER_TYPE = ( MLAYER + 2 )* 10
  1289. WHERE
  1290. T.USER_ID = MBONUSID
  1291. AND USER_TYPE <=(
  1292. MLAYER + 1
  1293. )* 10;
  1294. SET MLAYER := MLAYER + 1;
  1295. END WHILE;-- 关闭游标
  1296. END LOOP;
  1297. CLOSE MC;
  1298. COMMIT;
  1299. END ;;
  1300. DELIMITER ;
  1301. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  1302. /*!50003 SET character_set_client = @saved_cs_client */ ;
  1303. /*!50003 SET character_set_results = @saved_cs_results */ ;
  1304. /*!50003 SET collation_connection = @saved_col_connection */ ;
  1305. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  1306. /*!50003 SET sql_mode = 'IGNORE_SPACE,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ;
  1307. /*!50003 DROP PROCEDURE IF EXISTS `CALCLEVEL_kevin_01` */;
  1308. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  1309. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  1310. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  1311. /*!50003 SET character_set_client = utf8mb4 */ ;
  1312. /*!50003 SET character_set_results = utf8mb4 */ ;
  1313. /*!50003 SET collation_connection = utf8mb4_unicode_ci */ ;
  1314. DELIMITER ;;
  1315. CREATE DEFINER=`babysbreath`@`%` PROCEDURE `CALCLEVEL_kevin_01`(IN PLAYER int, IN PCPID int)
  1316. BEGIN
  1317. DECLARE
  1318. FLAG,
  1319. MLAYER,
  1320. MUSERTYPE INT DEFAULT 0;
  1321. DECLARE
  1322. MUSERID,
  1323. MBONUSID,
  1324. MNEWBONUSID VARCHAR ( 50 );
  1325. DECLARE
  1326. MRATE,
  1327. MRATE30,
  1328. MRATE40,
  1329. MRATE50,
  1330. MRATE60,
  1331. MRATE70,
  1332. MRATE80,
  1333. MRATE90,
  1334. MRATE100,
  1335. MRATE110,
  1336. MBONUS,
  1337. MGPV DECIMAL ( 10, 2 );
  1338. DECLARE
  1339. MC CURSOR FOR SELECT
  1340. C.USER_ID,
  1341. C.TEAM_GPV
  1342. FROM
  1343. AR_BS_BONUS_103_CALC_NET C
  1344. WHERE
  1345. C.USER_TYPE >= 30
  1346. AND LAYER = PLAYER;
  1347. DECLARE
  1348. CONTINUE HANDLER FOR NOT FOUND
  1349. SET FLAG = 1;
  1350. START TRANSACTION;
  1351. SELECT
  1352. T.BS_PERCENT / 100 INTO MRATE30
  1353. FROM
  1354. AR_EMPLOY_LEVEL T
  1355. WHERE
  1356. T.ID = 'E121497617216708616';
  1357. SELECT
  1358. T.BS_PERCENT / 100 INTO MRATE40
  1359. FROM
  1360. AR_EMPLOY_LEVEL T
  1361. WHERE
  1362. T.ID = '67BE6A4D03C52288E055736AECE8644D';
  1363. SELECT
  1364. T.BS_PERCENT / 100 INTO MRATE50
  1365. FROM
  1366. AR_EMPLOY_LEVEL T
  1367. WHERE
  1368. T.ID = '67BE6EA2070D22EBE055736AECE8644D';
  1369. SELECT
  1370. T.BS_PERCENT / 100 INTO MRATE60
  1371. FROM
  1372. AR_EMPLOY_LEVEL T
  1373. WHERE
  1374. T.ID = '67BE742A336F2370E055736AECE8644D';
  1375. SELECT
  1376. T.BS_PERCENT / 100 INTO MRATE70
  1377. FROM
  1378. AR_EMPLOY_LEVEL T
  1379. WHERE
  1380. T.ID = '67BE805032C22492E055736AECE8644D';
  1381. SELECT
  1382. T.BS_PERCENT / 100 INTO MRATE80
  1383. FROM
  1384. AR_EMPLOY_LEVEL T
  1385. WHERE
  1386. T.ID = '67BE82019BE524CAE055736AECE8644D';
  1387. SELECT
  1388. T.BS_PERCENT / 100 INTO MRATE90
  1389. FROM
  1390. AR_EMPLOY_LEVEL T
  1391. WHERE
  1392. T.ID = '99BE5FE7857C216AE055736AECE8644D';
  1393. SELECT
  1394. T.BS_PERCENT / 100 INTO MRATE100
  1395. FROM
  1396. AR_EMPLOY_LEVEL T
  1397. WHERE
  1398. T.ID = '99BE5FE9008C216AE055736AECE8644D';
  1399. SELECT
  1400. T.BS_PERCENT / 100 INTO MRATE110
  1401. FROM
  1402. AR_EMPLOY_LEVEL T
  1403. WHERE
  1404. T.ID = '99BE5FE7857C216AE000223AECE8644D';-- 打开游标
  1405. OPEN MC;-- 获取结果
  1406. L2 :
  1407. LOOP
  1408. FETCH MC INTO MUSERID,
  1409. MGPV;
  1410. IF
  1411. FLAG = 1 THEN-- 当无法FETCH会触发HANDLER CONTINUE
  1412. LEAVE L2;
  1413. END IF;-- 这里是为了显示获取结果
  1414. SET MLAYER := 1;
  1415. SET MBONUSID := MUSERID;
  1416. OUTER_LABEL :
  1417. WHILE
  1418. ( MLAYER <= 9 ) DO
  1419. IF
  1420. ( MLAYER > 1 ) THEN
  1421. CALL CALCREFEREE ( MBONUSID, MNEWBONUSID );
  1422. IF
  1423. ( ISNULL( MNEWBONUSID ) OR MNEWBONUSID = 0 ) THEN
  1424. LEAVE OUTER_LABEL;
  1425. ELSE
  1426. SET MBONUSID := MNEWBONUSID;
  1427. END IF;
  1428. END IF;
  1429. IF
  1430. ( MLAYER = 1 ) THEN
  1431. SET MRATE := MRATE30;
  1432. ELSEIF ( MLAYER = 2 ) THEN
  1433. SET MRATE := MRATE40;
  1434. ELSEIF ( MLAYER = 3 ) THEN
  1435. SET MRATE := MRATE50;
  1436. ELSEIF ( MLAYER = 4 ) THEN
  1437. SET MRATE := MRATE60;
  1438. ELSEIF ( MLAYER = 5 ) THEN
  1439. SET MRATE := MRATE70;
  1440. ELSEIF ( MLAYER = 6 ) THEN
  1441. SET MRATE := MRATE80;
  1442. ELSEIF ( MLAYER = 7 ) THEN
  1443. SET MRATE := MRATE90;
  1444. ELSEIF ( MLAYER = 8 ) THEN
  1445. SET MRATE := MRATE100;
  1446. ELSEIF ( MLAYER = 9 ) THEN
  1447. SET MRATE := MRATE110;
  1448. END IF;
  1449. SET MBONUS := MGPV * MRATE;
  1450. IF
  1451. ( MLAYER = 1 ) THEN
  1452. UPDATE AR_BS_BONUS_103_CALC T
  1453. SET T.BONUS30 = T.BONUS30 + MBONUS
  1454. WHERE
  1455. T.USER_ID = MBONUSID;
  1456. INSERT INTO AR_CALC_BONUS_BS_DETAIL_BONUS ( USER_ID, INTRODUCER_ID, LAST_EMP_LV, ORI_BONUS, PV, RATE,PERIOD_NUM )
  1457. VALUES
  1458. ( MBONUSID, NULL, 30, MBONUS, MGPV, MRATE ,PCPID);
  1459. ELSEIF ( MLAYER = 2 ) THEN
  1460. UPDATE AR_BS_BONUS_103_CALC T
  1461. SET T.BONUS40 = T.BONUS40 + MBONUS
  1462. WHERE
  1463. T.USER_ID = MBONUSID;
  1464. INSERT INTO AR_CALC_BONUS_BS_DETAIL_BONUS ( USER_ID, INTRODUCER_ID, LAST_EMP_LV, ORI_BONUS, PV, RATE,PERIOD_NUM )
  1465. VALUES
  1466. ( MBONUSID, MUSERID, 40, MBONUS, MGPV, MRATE ,PCPID);
  1467. ELSEIF ( MLAYER = 3 ) THEN
  1468. UPDATE AR_BS_BONUS_103_CALC T
  1469. SET T.BONUS50 = T.BONUS50 + MBONUS
  1470. WHERE
  1471. T.USER_ID = MBONUSID;
  1472. INSERT INTO AR_CALC_BONUS_BS_DETAIL_BONUS ( USER_ID, INTRODUCER_ID, LAST_EMP_LV, ORI_BONUS, PV, RATE,PERIOD_NUM )
  1473. VALUES
  1474. ( MBONUSID, MUSERID, 50, MBONUS, MGPV, MRATE,PCPID );
  1475. ELSEIF ( MLAYER = 4 ) THEN
  1476. UPDATE AR_BS_BONUS_103_CALC T
  1477. SET T.BONUS60 = T.BONUS60 + MBONUS
  1478. WHERE
  1479. T.USER_ID = MBONUSID;
  1480. INSERT INTO AR_CALC_BONUS_BS_DETAIL_BONUS ( USER_ID, INTRODUCER_ID, LAST_EMP_LV, ORI_BONUS, PV, RATE,PERIOD_NUM )
  1481. VALUES
  1482. ( MBONUSID, MUSERID, 60, MBONUS, MGPV, MRATE,PCPID );
  1483. ELSEIF ( MLAYER = 5 ) THEN
  1484. UPDATE AR_BS_BONUS_103_CALC T
  1485. SET T.BONUS70 = T.BONUS70 + MBONUS
  1486. WHERE
  1487. T.USER_ID = MBONUSID;
  1488. INSERT INTO AR_CALC_BONUS_BS_DETAIL_BONUS ( USER_ID, INTRODUCER_ID, LAST_EMP_LV, ORI_BONUS, PV, RATE,PERIOD_NUM )
  1489. VALUES
  1490. ( MBONUSID, MUSERID, 70, MBONUS, MGPV, MRATE,PCPID );
  1491. ELSEIF ( MLAYER = 6 ) THEN
  1492. UPDATE AR_BS_BONUS_103_CALC T
  1493. SET T.BONUS80 = T.BONUS80 + MBONUS
  1494. WHERE
  1495. T.USER_ID = MBONUSID;
  1496. INSERT INTO AR_CALC_BONUS_BS_DETAIL_BONUS ( USER_ID, INTRODUCER_ID, LAST_EMP_LV, ORI_BONUS, PV, RATE,PERIOD_NUM )
  1497. VALUES
  1498. ( MBONUSID, MUSERID, 80, MBONUS, MGPV, MRATE,PCPID );
  1499. ELSEIF ( MLAYER = 7 ) THEN
  1500. UPDATE AR_BS_BONUS_103_CALC T
  1501. SET T.BONUS90 = T.BONUS90 + MBONUS
  1502. WHERE
  1503. T.USER_ID = MBONUSID;
  1504. INSERT INTO AR_CALC_BONUS_BS_DETAIL_BONUS ( USER_ID, INTRODUCER_ID, LAST_EMP_LV, ORI_BONUS, PV, RATE,PERIOD_NUM )
  1505. VALUES
  1506. ( MBONUSID, MUSERID, 90, MBONUS, MGPV, MRATE,PCPID );
  1507. ELSEIF ( MLAYER = 8 ) THEN
  1508. UPDATE AR_BS_BONUS_103_CALC T
  1509. SET T.BONUS100 = T.BONUS100 + MBONUS
  1510. WHERE
  1511. T.USER_ID = MBONUSID;
  1512. INSERT INTO AR_CALC_BONUS_BS_DETAIL_BONUS ( USER_ID, INTRODUCER_ID, LAST_EMP_LV, ORI_BONUS, PV, RATE,PERIOD_NUM )
  1513. VALUES
  1514. ( MBONUSID, MUSERID, 100, MBONUS, MGPV, MRATE,PCPID );
  1515. ELSEIF ( MLAYER = 9 ) THEN
  1516. UPDATE AR_BS_BONUS_103_CALC T
  1517. SET T.BONUS110 = T.BONUS110 + MBONUS
  1518. WHERE
  1519. T.USER_ID = MBONUSID;
  1520. INSERT INTO AR_CALC_BONUS_BS_DETAIL_BONUS ( USER_ID, INTRODUCER_ID, LAST_EMP_LV, ORI_BONUS, PV, RATE,PERIOD_NUM )
  1521. VALUES
  1522. ( MBONUSID, MUSERID, 110, MBONUS, MGPV, MRATE,PCPID );
  1523. END IF;-- 计算会员的级别
  1524. UPDATE AR_BS_BONUS_103_CALC_NET T
  1525. SET T.USER_TYPE = ( MLAYER + 2 )* 10
  1526. WHERE
  1527. T.USER_ID = MBONUSID
  1528. AND USER_TYPE <=(
  1529. MLAYER + 1
  1530. )* 10;
  1531. SET MLAYER := MLAYER + 1;
  1532. END WHILE;-- 关闭游标
  1533. END LOOP;
  1534. CLOSE MC;
  1535. COMMIT;
  1536. END ;;
  1537. DELIMITER ;
  1538. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  1539. /*!50003 SET character_set_client = @saved_cs_client */ ;
  1540. /*!50003 SET character_set_results = @saved_cs_results */ ;
  1541. /*!50003 SET collation_connection = @saved_col_connection */ ;
  1542. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  1543. /*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ;
  1544. /*!50003 DROP PROCEDURE IF EXISTS `CALCMAIN` */;
  1545. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  1546. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  1547. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  1548. /*!50003 SET character_set_client = utf8mb4 */ ;
  1549. /*!50003 SET character_set_results = utf8mb4 */ ;
  1550. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  1551. DELIMITER ;;
  1552. CREATE DEFINER=`babysbreath`@`%` PROCEDURE `CALCMAIN`(IN `PCPID` int,OUT `PRESULT` varchar(100))
  1553. BEGIN
  1554. #Routine body goes here...
  1555. DECLARE EXIT HANDLER FOR SQLEXCEPTION
  1556. SET PRESULT = 'FAIL';
  1557. CALL CalcBlue(PCPID);
  1558. SET PRESULT = 'SUCCESS';
  1559. END ;;
  1560. DELIMITER ;
  1561. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  1562. /*!50003 SET character_set_client = @saved_cs_client */ ;
  1563. /*!50003 SET character_set_results = @saved_cs_results */ ;
  1564. /*!50003 SET collation_connection = @saved_col_connection */ ;
  1565. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  1566. /*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ;
  1567. /*!50003 DROP PROCEDURE IF EXISTS `CALCPOINT` */;
  1568. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  1569. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  1570. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  1571. /*!50003 SET character_set_client = utf8mb4 */ ;
  1572. /*!50003 SET character_set_results = utf8mb4 */ ;
  1573. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  1574. DELIMITER ;;
  1575. CREATE DEFINER=`babysbreath`@`%` PROCEDURE `CALCPOINT`()
  1576. BEGIN
  1577. DECLARE
  1578. MPOINTRATE DECIMAL ( 10, 2 );
  1579. SELECT
  1580. VALUE
  1581. / 100 INTO MPOINTRATE
  1582. FROM
  1583. AR_CONFIG
  1584. WHERE
  1585. CONFIG_NAME = 'bsNoPvPointsPercent';
  1586. UPDATE AR_BS_BONUS_103_CALC
  1587. SET PRODUCT_POINT = PV * MPOINTRATE
  1588. WHERE
  1589. USER_TYPE10 = 0
  1590. AND USER_TYPE = 0
  1591. AND PV > 0;
  1592. END ;;
  1593. DELIMITER ;
  1594. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  1595. /*!50003 SET character_set_client = @saved_cs_client */ ;
  1596. /*!50003 SET character_set_results = @saved_cs_results */ ;
  1597. /*!50003 SET collation_connection = @saved_col_connection */ ;
  1598. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  1599. /*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ;
  1600. /*!50003 DROP PROCEDURE IF EXISTS `CALCRECORD` */;
  1601. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  1602. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  1603. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  1604. /*!50003 SET character_set_client = utf8mb4 */ ;
  1605. /*!50003 SET character_set_results = utf8mb4 */ ;
  1606. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  1607. DELIMITER ;;
  1608. CREATE DEFINER=`babysbreath`@`%` PROCEDURE `CALCRECORD`(IN `PID` INT, IN `PEVENT` VARCHAR ( 255 ), IN `PCPID` INT, IN `PNOW` DATETIME)
  1609. BEGIN
  1610. INSERT INTO AR_BS_BONUS_103_CALC_EVENT ( ID, EVENT, CREATION_TIME, CALC_PERIOD_ID )
  1611. VALUES
  1612. ( PID, PEVENT, NOW(), PCPID );
  1613. END ;;
  1614. DELIMITER ;
  1615. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  1616. /*!50003 SET character_set_client = @saved_cs_client */ ;
  1617. /*!50003 SET character_set_results = @saved_cs_results */ ;
  1618. /*!50003 SET collation_connection = @saved_col_connection */ ;
  1619. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  1620. /*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ;
  1621. /*!50003 DROP PROCEDURE IF EXISTS `CALCREFEREE` */;
  1622. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  1623. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  1624. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  1625. /*!50003 SET character_set_client = utf8mb4 */ ;
  1626. /*!50003 SET character_set_results = utf8mb4 */ ;
  1627. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  1628. DELIMITER ;;
  1629. CREATE DEFINER=`babysbreath`@`%` PROCEDURE `CALCREFEREE`(IN `PBONUSID` VARCHAR ( 50 ),
  1630. OUT `PNEWBONUSID` VARCHAR ( 50 ))
  1631. BEGIN
  1632. DECLARE
  1633. MUSERID,
  1634. MBONUSID VARCHAR ( 50 );
  1635. DECLARE
  1636. MUSERTYPE INT;
  1637. /*SET MUSERID := PBONUSID;
  1638. OUTER_LABEL :
  1639. WHILE
  1640. (
  1641. ISNULL( MBONUSID )) DO
  1642. SELECT
  1643. INTRODUCER_ID INTO MUSERID
  1644. FROM
  1645. AR_BS_BONUS_103_CALC_NET T
  1646. WHERE
  1647. T.USER_ID = MUSERID;
  1648. IF
  1649. ( MUSERID = 0 ) THEN
  1650. SET PNEWBONUSID := NULL;
  1651. LEAVE OUTER_LABEL;
  1652. END IF;
  1653. SELECT
  1654. USER_TYPE INTO MUSERTYPE
  1655. FROM
  1656. AR_BS_BONUS_103_CALC_NET T
  1657. WHERE
  1658. T.USER_ID = MUSERID;
  1659. IF
  1660. ( MUSERTYPE >= 30 ) THEN
  1661. SET PNEWBONUSID := MUSERID;
  1662. LEAVE OUTER_LABEL;
  1663. END IF;
  1664. END WHILE;*/
  1665. SELECT INTRODUCER_ID30 INTO PNEWBONUSID FROM AR_BS_BONUS_103_CALC_NET WHERE USER_ID = PBONUSID;
  1666. END ;;
  1667. DELIMITER ;
  1668. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  1669. /*!50003 SET character_set_client = @saved_cs_client */ ;
  1670. /*!50003 SET character_set_results = @saved_cs_results */ ;
  1671. /*!50003 SET collation_connection = @saved_col_connection */ ;
  1672. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  1673. /*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ;
  1674. /*!50003 DROP PROCEDURE IF EXISTS `CALCSTAT` */;
  1675. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  1676. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  1677. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  1678. /*!50003 SET character_set_client = utf8mb4 */ ;
  1679. /*!50003 SET character_set_results = utf8mb4 */ ;
  1680. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  1681. DELIMITER ;;
  1682. CREATE DEFINER=`babysbreath`@`%` PROCEDURE `CALCSTAT`(IN PCPID int)
  1683. BEGIN
  1684. INSERT INTO AR_CALC_BONUS_BS_STAT (
  1685. PERIOD_NUM,
  1686. TOTAL_PV,
  1687. BONUS10,
  1688. PERCENT10,
  1689. BONUS20,
  1690. PERCENT20,
  1691. BONUS30,
  1692. PERCENT30,
  1693. BONUS40,
  1694. PERCENT40,
  1695. BONUS50,
  1696. PERCENT50,
  1697. BONUS60,
  1698. PERCENT60,
  1699. BONUS70,
  1700. PERCENT70,
  1701. BONUS80,
  1702. PERCENT80,
  1703. BONUS90,
  1704. PERCENT90,
  1705. BONUS100,
  1706. PERCENT100,
  1707. BONUS110,
  1708. PERCENT110,
  1709. BONUS,
  1710. PERCENT,
  1711. CHECK_STATUS,
  1712. BONUS_MNT,
  1713. BONUS_MNT_PERCENT,
  1714. BONUS_ABBR,
  1715. BONUS_ABBR_PERCENT
  1716. ) SELECT
  1717. PCPID,
  1718. SUM( PV ),
  1719. SUM( BONUS10 ),
  1720. 0,
  1721. SUM( BONUS20 ),
  1722. 0,
  1723. SUM( BONUS30 ),
  1724. 0,
  1725. SUM( BONUS40 ),
  1726. 0,
  1727. SUM( BONUS50 ),
  1728. 0,
  1729. SUM( BONUS60 ),
  1730. 0,
  1731. SUM( BONUS70 ),
  1732. 0,
  1733. SUM( BONUS80 ),
  1734. 0,
  1735. SUM( BONUS90 ),
  1736. 0,
  1737. SUM( BONUS100 ),
  1738. 0,
  1739. SUM( BONUS110 ),
  1740. 0,
  1741. SUM( BONUS ),
  1742. 0,
  1743. 0,
  1744. SUM(BONUS_MNT),
  1745. 0,
  1746. SUM(BONUS_ABBR),
  1747. 0
  1748. FROM
  1749. AR_BS_BONUS_103_CALC;
  1750. UPDATE AR_CALC_BONUS_BS_STAT
  1751. SET PERCENT10 = BONUS10 / TOTAL_PV,
  1752. PERCENT20 = BONUS20 / TOTAL_PV,
  1753. PERCENT30 = BONUS30 / TOTAL_PV,
  1754. PERCENT40 = BONUS40 / TOTAL_PV,
  1755. PERCENT50 = BONUS50 / TOTAL_PV,
  1756. PERCENT60 = BONUS60 / TOTAL_PV,
  1757. PERCENT70 = BONUS70 / TOTAL_PV,
  1758. PERCENT80 = BONUS80 / TOTAL_PV,
  1759. PERCENT90 = BONUS90 / TOTAL_PV,
  1760. PERCENT100 = BONUS100 / TOTAL_PV,
  1761. PERCENT110 = BONUS110 / TOTAL_PV,
  1762. PERCENT = BONUS / TOTAL_PV,
  1763. BONUS_MNT_PERCENT = BONUS_MNT / TOTAL_PV,
  1764. BONUS_ABBR_PERCENT = BONUS_ABBR / TOTAL_PV
  1765. WHERE
  1766. PERIOD_NUM = PCPID AND TOTAL_PV > 0;
  1767. END ;;
  1768. DELIMITER ;
  1769. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  1770. /*!50003 SET character_set_client = @saved_cs_client */ ;
  1771. /*!50003 SET character_set_results = @saved_cs_results */ ;
  1772. /*!50003 SET collation_connection = @saved_col_connection */ ;
  1773. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  1774. /*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ;
  1775. /*!50003 DROP PROCEDURE IF EXISTS `CALCSUMMARY` */;
  1776. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  1777. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  1778. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  1779. /*!50003 SET character_set_client = utf8mb4 */ ;
  1780. /*!50003 SET character_set_results = utf8mb4 */ ;
  1781. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  1782. DELIMITER ;;
  1783. CREATE DEFINER=`babysbreath`@`%` PROCEDURE `CALCSUMMARY`()
  1784. BEGIN
  1785. UPDATE AR_BS_BONUS_103_CALC T
  1786. SET T.BONUS = BONUS10 + BONUS20 + BONUS30 + BONUS40 + BONUS50 + BONUS60 + BONUS70 + BONUS80 + BONUS90 + BONUS100 + BONUS110,
  1787. T.BONUS_MNT = BONUS30 + BONUS40 + BONUS50 + BONUS60 + BONUS70 + BONUS80 + BONUS90 + BONUS100 + BONUS110,
  1788. T.BONUS_ABBR = BONUS10 + BONUS20
  1789. WHERE
  1790. T.BONUS10 > 0
  1791. OR T.BONUS20 > 0
  1792. OR T.BONUS30 > 0
  1793. OR T.BONUS40 > 0
  1794. OR T.BONUS50 > 0
  1795. OR T.BONUS60 > 0
  1796. OR T.BONUS70 > 0
  1797. OR T.BONUS80 > 0
  1798. OR T.BONUS90 > 0
  1799. OR T.BONUS100 > 0
  1800. OR T.BONUS110 > 0;
  1801. UPDATE AR_BS_BONUS_103_CALC T
  1802. SET GPV = 0
  1803. WHERE
  1804. T.INTRODUCER_ID = '0'
  1805. AND USER_TYPE = 0;
  1806. END ;;
  1807. DELIMITER ;
  1808. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  1809. /*!50003 SET character_set_client = @saved_cs_client */ ;
  1810. /*!50003 SET character_set_results = @saved_cs_results */ ;
  1811. /*!50003 SET collation_connection = @saved_col_connection */ ;
  1812. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  1813. /*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ;
  1814. /*!50003 DROP PROCEDURE IF EXISTS `CALCTOTALGPV` */;
  1815. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  1816. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  1817. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  1818. /*!50003 SET character_set_client = utf8mb4 */ ;
  1819. /*!50003 SET character_set_results = utf8mb4 */ ;
  1820. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  1821. DELIMITER ;;
  1822. CREATE DEFINER=`babysbreath`@`%` PROCEDURE `CALCTOTALGPV`()
  1823. BEGIN
  1824. DECLARE
  1825. MLAYER,
  1826. MMINLAYER,
  1827. MUSERTYPE INT DEFAULT 0;
  1828. DECLARE
  1829. MUSERID,
  1830. MMAXUSERID VARCHAR ( 50 );
  1831. DECLARE
  1832. MGPV DECIMAL ( 10, 2 );
  1833. SELECT
  1834. MAX( LAYER ) INTO MLAYER
  1835. FROM
  1836. AR_BS_BONUS_103_CALC_NET
  1837. WHERE
  1838. GPV > 0;
  1839. SELECT
  1840. MIN( LAYER ) INTO MMINLAYER
  1841. FROM
  1842. AR_BS_BONUS_103_CALC_NET
  1843. WHERE
  1844. USER_TYPE = 30;
  1845. UPDATE AR_BS_BONUS_103_CALC_NET T1
  1846. INNER JOIN AR_BS_BONUS_103_CALC_NET T2 ON IFNULL( T1.INTRODUCER_ID, '0' ) = T2.USER_ID
  1847. AND T1.USER_TYPE = 30
  1848. AND T2.USER_TYPE = 30
  1849. SET T1.INTRODUCER_ID30 = T2.USER_ID;
  1850. WHILE
  1851. MLAYER > MMINLAYER DO
  1852. CALL CALCTOTALGPV_ ( MLAYER, MMINLAYER );
  1853. SET MLAYER = MLAYER - 1;
  1854. END WHILE;
  1855. END ;;
  1856. DELIMITER ;
  1857. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  1858. /*!50003 SET character_set_client = @saved_cs_client */ ;
  1859. /*!50003 SET character_set_results = @saved_cs_results */ ;
  1860. /*!50003 SET collation_connection = @saved_col_connection */ ;
  1861. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  1862. /*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ;
  1863. /*!50003 DROP PROCEDURE IF EXISTS `CALCTOTALGPV_` */;
  1864. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  1865. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  1866. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  1867. /*!50003 SET character_set_client = utf8mb4 */ ;
  1868. /*!50003 SET character_set_results = utf8mb4 */ ;
  1869. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  1870. DELIMITER ;;
  1871. CREATE DEFINER=`babysbreath`@`%` PROCEDURE `CALCTOTALGPV_`(IN `PLAYER` INT, -- 第几层
  1872. IN `PMINLAYER` INT)
  1873. BEGIN
  1874. DECLARE
  1875. FLAG,
  1876. MLAYER,
  1877. MINTLAYER,
  1878. MUSERTYPE,
  1879. MINTTYPE INT DEFAULT 0;
  1880. DECLARE
  1881. MGPV DECIMAL ( 10, 2 );
  1882. DECLARE
  1883. MUSERID,
  1884. MUSERINTID,
  1885. MINTUSERID,
  1886. MINTRODUCERID VARCHAR ( 50 );
  1887. DECLARE
  1888. MC CURSOR FOR SELECT
  1889. C.USER_ID,
  1890. C.INTRODUCER_ID,
  1891. C.USER_TYPE,
  1892. C.GPV
  1893. FROM
  1894. (
  1895. SELECT
  1896. USER_ID,
  1897. IFNULL( INTRODUCER_ID, '0' ) INTRODUCER_ID,
  1898. USER_TYPE,
  1899. GPV
  1900. FROM
  1901. AR_BS_BONUS_103_CALC_NET
  1902. WHERE
  1903. LAYER = PLAYER
  1904. AND GPV > 0
  1905. OR ( GPV = 0 AND USER_TYPE = 30 )
  1906. ORDER BY
  1907. USER_ID DESC
  1908. ) C;
  1909. DECLARE
  1910. CONTINUE HANDLER FOR NOT FOUND
  1911. SET FLAG = 1;
  1912. START TRANSACTION;-- 打开游标
  1913. OPEN MC;-- 获取结果
  1914. L2 :
  1915. LOOP
  1916. FETCH MC INTO MUSERID,
  1917. MUSERINTID,
  1918. MUSERTYPE,
  1919. MGPV;
  1920. IF
  1921. FLAG = 1 THEN-- 当无法FETCH会触发HANDLER CONTINUE
  1922. LEAVE L2;
  1923. END IF;
  1924. SET MLAYER = PLAYER;
  1925. SET MINTUSERID = MUSERINTID;
  1926. IF
  1927. ( MINTUSERID != '0' ) THEN
  1928. OUTLABEL :
  1929. WHILE
  1930. MLAYER > PMINLAYER DO
  1931. SELECT
  1932. INTRODUCER_ID,
  1933. USER_TYPE,
  1934. LAYER INTO MINTRODUCERID,
  1935. MINTTYPE,
  1936. MLAYER
  1937. FROM
  1938. AR_BS_BONUS_103_CALC_NET
  1939. WHERE
  1940. USER_ID = MINTUSERID;
  1941. IF
  1942. ( MINTUSERID != MUSERINTID AND MINTTYPE = 30 ) THEN
  1943. UPDATE AR_BS_BONUS_103_CALC_NET
  1944. SET TEAM_GPV = TEAM_GPV + MGPV
  1945. WHERE
  1946. USER_ID = MINTUSERID;
  1947. IF
  1948. ( MUSERTYPE = 30 ) THEN
  1949. UPDATE AR_BS_BONUS_103_CALC_NET
  1950. SET INTRODUCER_ID30 = MINTUSERID
  1951. WHERE
  1952. USER_ID = MUSERID
  1953. AND INTRODUCER_ID30 IS NULL;
  1954. END IF;
  1955. LEAVE OUTLABEL;
  1956. END IF;
  1957. SET MINTUSERID = MINTRODUCERID;
  1958. END WHILE;
  1959. END IF;-- 关闭游标
  1960. END LOOP;
  1961. CLOSE MC;
  1962. COMMIT;
  1963. END ;;
  1964. DELIMITER ;
  1965. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  1966. /*!50003 SET character_set_client = @saved_cs_client */ ;
  1967. /*!50003 SET character_set_results = @saved_cs_results */ ;
  1968. /*!50003 SET collation_connection = @saved_col_connection */ ;
  1969. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  1970. /*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ;
  1971. /*!50003 DROP PROCEDURE IF EXISTS `CALCUP30` */;
  1972. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  1973. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  1974. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  1975. /*!50003 SET character_set_client = utf8mb4 */ ;
  1976. /*!50003 SET character_set_results = utf8mb4 */ ;
  1977. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  1978. DELIMITER ;;
  1979. CREATE DEFINER=`babysbreath`@`%` PROCEDURE `CALCUP30`()
  1980. BEGIN
  1981. START TRANSACTION;
  1982. UPDATE AR_BS_BONUS_103_CALC_NET T1
  1983. SET T1.USER_TYPE = 30
  1984. WHERE
  1985. USER_TYPE >= 10
  1986. AND DIRECTLY_UNDER >= 3;
  1987. COMMIT;
  1988. END ;;
  1989. DELIMITER ;
  1990. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  1991. /*!50003 SET character_set_client = @saved_cs_client */ ;
  1992. /*!50003 SET character_set_results = @saved_cs_results */ ;
  1993. /*!50003 SET collation_connection = @saved_col_connection */ ;
  1994. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  1995. /*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ;
  1996. /*!50003 DROP PROCEDURE IF EXISTS `CALCUPGARDE` */;
  1997. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  1998. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  1999. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  2000. /*!50003 SET character_set_client = utf8mb4 */ ;
  2001. /*!50003 SET character_set_results = utf8mb4 */ ;
  2002. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  2003. DELIMITER ;;
  2004. CREATE DEFINER=`babysbreath`@`%` PROCEDURE `CALCUPGARDE`(IN `PLAYER` INT)
  2005. BEGIN
  2006. DECLARE
  2007. MLAYER,
  2008. MCOUNT,
  2009. MCOUNT1,
  2010. MCOUNT2 INT;
  2011. SET MLAYER := PLAYER;
  2012. SELECT
  2013. COUNT(*) INTO MCOUNT
  2014. FROM
  2015. AR_BS_BONUS_103_CALC T
  2016. WHERE
  2017. T.LAYER = MLAYER
  2018. AND USER_TYPE10 = 10
  2019. AND USER_TYPE = 0;
  2020. IF
  2021. ( MCOUNT > 0 ) THEN
  2022. BREAKLABLE :
  2023. WHILE
  2024. MLAYER > 0 DO
  2025. SELECT
  2026. COUNT(*) INTO MCOUNT1
  2027. FROM
  2028. AR_BS_BONUS_103_CALC T1
  2029. WHERE
  2030. T1.USER_TYPE10 = 10
  2031. AND T1.LAYER = MLAYER - 1;
  2032. UPDATE AR_BS_BONUS_103_CALC T1
  2033. INNER JOIN ( SELECT INTRODUCER_ID FROM AR_BS_BONUS_103_CALC WHERE LAYER = MLAYER AND USER_TYPE10 = 10 GROUP BY INTRODUCER_ID ) T2 ON T1.USER_ID = T2.INTRODUCER_ID
  2034. AND T1.USER_TYPE10 = 0
  2035. AND T1.LAYER = MLAYER - 1
  2036. SET T1.USER_TYPE10 = 10,
  2037. T1.USER_TYPE = 10;
  2038. SELECT
  2039. COUNT(*) INTO MCOUNT2
  2040. FROM
  2041. AR_BS_BONUS_103_CALC T1
  2042. WHERE
  2043. T1.USER_TYPE10 = 10
  2044. AND T1.LAYER = MLAYER - 1;
  2045. IF
  2046. ( MCOUNT1 = MCOUNT2 ) THEN
  2047. LEAVE BREAKLABLE;
  2048. END IF;
  2049. SET MLAYER := MLAYER - 1;
  2050. END WHILE;
  2051. END IF;
  2052. END ;;
  2053. DELIMITER ;
  2054. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  2055. /*!50003 SET character_set_client = @saved_cs_client */ ;
  2056. /*!50003 SET character_set_results = @saved_cs_results */ ;
  2057. /*!50003 SET collation_connection = @saved_col_connection */ ;
  2058. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  2059. /*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ;
  2060. /*!50003 DROP PROCEDURE IF EXISTS `CLEANACTIVE` */;
  2061. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  2062. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  2063. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  2064. /*!50003 SET character_set_client = utf8mb4 */ ;
  2065. /*!50003 SET character_set_results = utf8mb4 */ ;
  2066. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  2067. DELIMITER ;;
  2068. CREATE DEFINER=`babysbreath`@`%` PROCEDURE `CLEANACTIVE`(IN `UNUMBER` VARCHAR(32))
  2069. BEGIN
  2070. DECLARE t_error INTEGER DEFAULT 0;
  2071. DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=1;
  2072. START TRANSACTION;
  2073. -- 备份用户的余额 奖金 兑换积分 复消积分
  2074. INSERT INTO `AR_ACTIVED_ACCOUNT_BACK` ( `USER_ID`, `USER_NAME`, `USER_CASH`, `EXCHANGE_POINTS`, `EXCHANGE_POINTS_TOTAL`, `RECONSUME_POINTS`, `RECONSUME_POINTS_TOTAL`, `USER_BONUS`, `RECONSUME_POINTS_EXPIRED` ) SELECT
  2075. `AR_USER_BONUS`.`USER_ID`,
  2076. `AR_USER`.`USER_NAME`,
  2077. `AR_USER_WALLET`.`CASH`,
  2078. `AR_USER_BONUS`.`EXCHANGE_POINTS`,
  2079. `AR_USER_BONUS`.`EXCHANGE_POINTS_TOTAL`,
  2080. `AR_USER_BONUS`.`RECONSUME_POINTS`,
  2081. `AR_USER_BONUS`.`RECONSUME_POINTS_TOTAL`,
  2082. `AR_USER_BONUS`.`BONUS`,
  2083. `AR_USER_BONUS`.`RECONSUME_POINTS_EXPIRED`
  2084. FROM
  2085. `AR_USER_BONUS`
  2086. INNER JOIN `AR_USER` ON `AR_USER`.`ID` = `AR_USER_BONUS`.`USER_ID`
  2087. LEFT JOIN `AR_USER_WALLET` ON `AR_USER_WALLET`.`USER_ID` = `AR_USER_BONUS`.`USER_ID`
  2088. WHERE
  2089. `AR_USER`.`USER_NAME` = `UNUMBER`;
  2090. -- 删除用户奖金
  2091. DELETE `UB` FROM `AR_USER_BONUS` `UB` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`UB`.`USER_ID`
  2092. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2093. -- 清除用户的cash余额
  2094. UPDATE `AR_USER_WALLET` INNER JOIN `AR_USER` ON `AR_USER`.`ID`=`AR_USER_WALLET`.`USER_ID` SET `AR_USER_WALLET`.`CASH`=0 WHERE `AR_USER`.`USER_NAME` = `UNUMBER`;
  2095. -- 删除用户累计业绩
  2096. DELETE `UP` FROM `AR_USER_PERF` `UP` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`UP`.`USER_ID`
  2097. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2098. -- 删除用户总奖金发送记录
  2099. DELETE `CB` FROM `AR_CALC_BONUS` `CB` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`CB`.`USER_ID`
  2100. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2101. -- 删除用户各个奖金发送记录
  2102. DELETE `CBBD` FROM `AR_CALC_BONUS_BD` `CBBD` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`CBBD`.`USER_ID`
  2103. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2104. DELETE `CBBS` FROM `AR_CALC_BONUS_BS` `CBBS` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`CBBS`.`USER_ID`
  2105. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2106. DELETE `CBBT` FROM `AR_CALC_BONUS_BT` `CBBT` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`CBBT`.`USER_ID`
  2107. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2108. DELETE `CBCF` FROM `AR_CALC_BONUS_CF` `CBCF` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`CBCF`.`USER_ID`
  2109. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2110. DELETE `CBFL` FROM `AR_CALC_BONUS_FL` `CBFL` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`CBFL`.`USER_ID`
  2111. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2112. DELETE `CBFW` FROM `AR_CALC_BONUS_FW` `CBFW` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`CBFW`.`USER_ID`
  2113. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2114. DELETE `CBFX` FROM `AR_CALC_BONUS_FX` `CBFX` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`CBFX`.`USER_ID`
  2115. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2116. DELETE `CBGL` FROM `AR_CALC_BONUS_GL` `CBGL` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`CBGL`.`USER_ID`
  2117. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2118. DELETE `CBGX` FROM `AR_CALC_BONUS_GX` `CBGX` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`CBGX`.`USER_ID`
  2119. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2120. DELETE `CBLS` FROM `AR_CALC_BONUS_LS` `CBLS` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`CBLS`.`USER_ID`
  2121. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2122. DELETE `CBLX` FROM `AR_CALC_BONUS_LX` `CBLX` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`CBLX`.`USER_ID`
  2123. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2124. DELETE `CBQY` FROM `AR_CALC_BONUS_QY` `CBQY` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`CBQY`.`USER_ID`
  2125. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2126. DELETE `CBST` FROM `AR_CALC_BONUS_STANDARD` `CBST` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`CBST`.`USER_ID`
  2127. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2128. DELETE `CBTG` FROM `AR_CALC_BONUS_TG` `CBTG` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`CBTG`.`USER_ID`
  2129. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2130. DELETE `CBVIP` FROM `AR_CALC_BONUS_VIP` `CBVIP` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`CBVIP`.`USER_ID`
  2131. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2132. DELETE `CBXF` FROM `AR_CALC_BONUS_XF` `CBXF` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`CBXF`.`USER_ID`
  2133. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2134. DELETE `CBYC` FROM `AR_CALC_BONUS_YC` `CBYC` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`CBYC`.`USER_ID`
  2135. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2136. DELETE `CBYJ` FROM `AR_CALC_BONUS_YJ` `CBYJ` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`CBYJ`.`USER_ID`
  2137. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2138. DELETE `CMBU` FROM `AR_CALC_MONTH_BONUS_USER` `CMBU` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`CMBU`.`USER_ID`
  2139. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2140. DELETE `FB` FROM `AR_FLOW_BONUS` `FB` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`FB`.`USER_ID`
  2141. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2142. DELETE `FC` FROM `AR_FLOW_CF` `FC` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`FC`.`USER_ID`
  2143. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2144. DELETE `FDZ` FROM `AR_FLOW_DEDUCT_ZR` `FDZ` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`FDZ`.`USER_ID`
  2145. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2146. DELETE `FEP` FROM `AR_FLOW_EXCHANGE_POINTS` `FEP` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`FEP`.`USER_ID`
  2147. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2148. DELETE `FLX` FROM `AR_FLOW_LX` `FLX` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`FLX`.`USER_ID`
  2149. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2150. DELETE `FRP` FROM `AR_FLOW_RECONSUME_POINTS` `FRP` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`FRP`.`USER_ID`
  2151. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2152. DELETE `FW` FROM `AR_FLOW_WALLET` `FW` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`FW`.`USER_ID`
  2153. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2154. DELETE `HB` FROM `AR_HISTORY_BONUS` `HB` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`HB`.`USER_ID`
  2155. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2156. DELETE `UPEP` FROM `AR_USER_PERIOD_EXCHANGE_POINTS` `UPEP` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`UPEP`.`USER_ID`
  2157. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2158. DELETE `UPP` FROM `AR_USER_PERIOD_POINTS` `UPP` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`UPP`.`USER_ID`
  2159. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2160. DELETE `AW` FROM `AR_WITHDRAW` `AW` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`AW`.`USER_ID`
  2161. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2162. DELETE `AT` FROM `AR_TRANSFER` `AT` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`AT`.`OUT_UID`
  2163. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2164. DELETE `ABA` FROM `AR_BALANCE_AUDIT` `ABA` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`ABA`.`USER_ID`
  2165. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2166. DELETE `R` FROM `AR_RECHARGE` `R` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`R`.`USER_ID`
  2167. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2168. DELETE `ASM` FROM `AR_SCORE_MONTH` `ASM` INNER JOIN `AR_USER` `U` ON `U`.`ID`=`ASM`.`USER_ID`
  2169. WHERE `U`.`USER_NAME` = `UNUMBER`;
  2170. IF t_error = 1 THEN
  2171. ROLLBACK;
  2172. ELSE
  2173. COMMIT;
  2174. END IF;
  2175. select t_error; -- 返回标识位的结果集
  2176. END ;;
  2177. DELIMITER ;
  2178. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  2179. /*!50003 SET character_set_client = @saved_cs_client */ ;
  2180. /*!50003 SET character_set_results = @saved_cs_results */ ;
  2181. /*!50003 SET collation_connection = @saved_col_connection */ ;
  2182. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  2183. /*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
  2184. /*!50003 DROP PROCEDURE IF EXISTS `CONFOUNDING_DATA` */;
  2185. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  2186. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  2187. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  2188. /*!50003 SET character_set_client = utf8mb4 */ ;
  2189. /*!50003 SET character_set_results = utf8mb4 */ ;
  2190. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  2191. DELIMITER ;;
  2192. CREATE DEFINER=`babysbreath`@`%` PROCEDURE `CONFOUNDING_DATA`()
  2193. BEGIN
  2194. #Routine body goes here...
  2195. UPDATE AR_BALANCE_AUDIT SET CREATE_REMARK = '';
  2196. UPDATE AR_CALC_BONUS SET LAST_REAL_NAME = CONCAT(LAST_USER_NAME,'REAL_NAME'),LAST_REC_REAL_NAME = CONCAT(LAST_REC_USER_NAME,'REAL_NAME'),LAST_CON_REAL_NAME = CONCAT(LAST_CON_USER_NAME,'REAL_NAME');
  2197. UPDATE AR_FLOW_BONUS SET REMARK ='';
  2198. UPDATE AR_FLOW_WALLET SET REMARK ='';
  2199. UPDATE AR_ORDER SET CONSIGNEE = CONCAT(USER_NAME,'CONSIGNEE_NAME'),MOBILE = '18888888888',ADDRESS = 'Virtual Address';
  2200. UPDATE AR_ORDER_DEC SET MOBILE = '18888888888',CONSIGNEE = CONCAT(USER_NAME,'CONSIGNEE_NAME'),ADDRESS = 'Virtual Address';
  2201. UPDATE AR_ORDER_SHOP SET MOBILE = '18888888888',CONSIGNEE = CONCAT(USER_NAME,'CONSIGNEE_NAME'),ADDRESS = 'Virtual Address';
  2202. UPDATE AR_RECEIVE_ADDRESS SET CONSIGNEE = CONCAT(USER_NAME,'CONSIGNEE_NAME'),MOBILE = '18888888888',ADDRESS = 'Virtual Address';
  2203. UPDATE AR_RECHARGE SET REAL_NAME = USER_ID;
  2204. UPDATE AR_TRANSFER SET LAST_OUT_REAL_NAME = CONCAT(LAST_OUT_USER_NAME,'REAL_NAME'),LAST_IN_REAL_NAME = CONCAT(LAST_IN_USER_NAME,'REAL_NAME'),REMARK = '';
  2205. UPDATE AR_USER SET REAL_NAME = CONCAT(USER_NAME,'REAL_NAME'),MOBILE = '18888888888',ADDRESS = 'Virtual Address';
  2206. END ;;
  2207. DELIMITER ;
  2208. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  2209. /*!50003 SET character_set_client = @saved_cs_client */ ;
  2210. /*!50003 SET character_set_results = @saved_cs_results */ ;
  2211. /*!50003 SET collation_connection = @saved_col_connection */ ;
  2212. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  2213. /*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
  2214. /*!50003 DROP PROCEDURE IF EXISTS `QTRCALC` */;
  2215. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  2216. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  2217. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  2218. /*!50003 SET character_set_client = utf8mb4 */ ;
  2219. /*!50003 SET character_set_results = utf8mb4 */ ;
  2220. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  2221. DELIMITER ;;
  2222. CREATE DEFINER=`babysbreath`@`%` PROCEDURE `QTRCALC`(IN `PCPID` INT)
  2223. LABEL: BEGIN
  2224. -- DECLARE QTRSTARTPID, QTRSTARTMONTH, THISYEAR, THISMONTH, MISMONTH INT;
  2225. DECLARE TBONUS,BONUSPERU DECIMAL; -- 奖金总额,每份奖金
  2226. DECLARE QTRSTARTMONTH, THISYEAR, THISMONTH, MISMONTH INT; -- 这个月
  2227. -- DECLARE OCROWN1NUM,OCROWN2NUM,OCROWN3NUM,OCROWN4NUM,OCROWN5NUM,OCROWN6NUM,OCROWN7NUM INT; -- 各星级的人数,原始不加权
  2228. -- DECLARE CROWN1U, CROWN2U, CROWN3U, CROWN4U, CROWN5U, CROWN6U, CROWN7U INT; -- 各星级的人数(加权)
  2229. DECLARE TOTALU INT; -- 加权的总份数
  2230. DECLARE MAXID, USERTBID INT;
  2231. DECLARE Q, R INT;
  2232. START TRANSACTION;
  2233. -- 日志;
  2234. DELETE FROM AR_QTR_CALC_RECORD ;
  2235. CALL QTRCALCRECORD(-1,'开始',PCPID,NOW());
  2236. COMMIT;
  2237. CALL QTRCLEAN(PCPID);
  2238. CALL QTRCALCRECORD(1,'清除数据',PCPID,NOW());
  2239. COMMIT;
  2240. SELECT
  2241. CALC_YEAR, CALC_MONTH, IS_MONTH INTO THISYEAR, THISMONTH, MISMONTH FROM AR_PERIOD WHERE PERIOD_NUM = PCPID;
  2242. CALL QTRCALCRECORD(2,'初始化',PCPID,NOW());
  2243. COMMIT;
  2244. -- 查看是否季度结
  2245. IF(THISMONTH!=3 AND THISMONTH!=6 AND THISMONTH!=9 AND THISMONTH!=12) OR MISMONTH!=1 THEN
  2246. CALL QTRCALCRECORD(12,'非季结,结束',PCPID,NOW());
  2247. COMMIT;
  2248. LEAVE LABEL;
  2249. END IF;
  2250. CALL QTRCALCRECORD(3,'计算总奖金',PCPID,NOW());
  2251. COMMIT;
  2252. -- 按照条件,查询当前季度所有月的总PV,计算总奖金
  2253. SET QTRSTARTMONTH = THISMONTH - 2;
  2254. SELECT
  2255. SUM(PV_PCS) * 0.02
  2256. INTO TBONUS
  2257. FROM AR_PERF_MONTH
  2258. WHERE CALC_MONTH >= CONCAT(THISYEAR, lpad(QTRSTARTMONTH,2,0)) AND CALC_MONTH <= CONCAT(THISYEAR, lpad(THISMONTH,2,0));
  2259. CALL QTRCALCRECORD(4,'计算总人数及加权',PCPID,NOW());
  2260. COMMIT;
  2261. -- 查找,所有星级用户
  2262. INSERT INTO AR_QTR_CALC_WEIGHT
  2263. SELECT
  2264. NULL AS ID,
  2265. QY.USER_ID,
  2266. MAX(CL.SORT) AS MAX_SORT,
  2267. (MAX(CL.SORT) - 1)/2 + 1 AS WEIGHT,
  2268. PERIOD_NUM,
  2269. CALC_MONTH,
  2270. CALC_YEAR
  2271. FROM
  2272. AR_CALC_BONUS_QY AS QY
  2273. INNER JOIN
  2274. AR_CROWN_LEVEL AS CL
  2275. ON QY.LAST_CROWN_LV = CL.ID
  2276. INNER JOIN
  2277. AR_USER AS U
  2278. ON QY.USER_ID = U.ID
  2279. WHERE
  2280. QY.LAST_CROWN_LV != (SELECT ID FROM AR_CROWN_LEVEL WHERE SORT = 0)
  2281. AND U.DEC_LV = '67ABCE0ECE705575E055736AECE8644D'
  2282. AND QY.CALC_MONTH >= CONCAT(THISYEAR, lpad(QTRSTARTMONTH,2,0))
  2283. AND QY.CALC_MONTH <= CONCAT(THISYEAR, lpad(THISMONTH,2,0))
  2284. GROUP BY USER_ID, CALC_MONTH;
  2285. COMMIT;
  2286. INSERT INTO AR_QTR_CALC_SCORE
  2287. SELECT
  2288. NULL AS ID,
  2289. USER_ID,
  2290. COUNT(*) AS CNT,
  2291. SUM(WEIGHT) AS SCORE,
  2292. CALC_MONTH,
  2293. CALC_YEAR
  2294. FROM
  2295. AR_QTR_CALC_WEIGHT
  2296. GROUP BY USER_ID;
  2297. COMMIT;
  2298. SELECT SUM(SCORE) INTO TOTALU FROM AR_QTR_CALC_SCORE;
  2299. SET BONUSPERU = TBONUS / TOTALU;
  2300. CALL QTRCALCRECORD(5,'计算每一份奖金',PCPID,NOW());
  2301. COMMIT;
  2302. INSERT INTO AR_QTR_CALC_USER
  2303. SELECT
  2304. NULL AS ID,
  2305. SC.USER_ID,
  2306. BONUSPERU * SC.SCORE AS AMOUNT,
  2307. CALC_YEAR,
  2308. CALC_MONTH,
  2309. PCPID AS PERIOD_NUM
  2310. FROM
  2311. AR_QTR_CALC_SCORE AS SC;
  2312. CALL QTRCALCRECORD(6,'写入user表',PCPID,NOW());
  2313. COMMIT;
  2314. INSERT INTO AR_CALC_BONUS_QUARTER
  2315. SELECT
  2316. NULL AS ID,
  2317. AU.USER_ID,
  2318. AU.AMOUNT AS ORI_BONUS,
  2319. 0 AS MANAGE_TAX,
  2320. AU.AMOUNT,
  2321. 0 AS RECONSUME_POINTS,
  2322. U.DEC_LV,
  2323. AU.CALC_MONTH,
  2324. AU.PERIOD_NUM,
  2325. NOW() AS CREATE_AT
  2326. FROM
  2327. AR_QTR_CALC_USER AS AU
  2328. LEFT JOIN
  2329. AR_USER AS U
  2330. ON AU.USER_ID = U.ID;
  2331. CALL QTRCALCRECORD(20,'写入季度奖金表',PCPID,NOW());
  2332. COMMIT;
  2333. END ;;
  2334. DELIMITER ;
  2335. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  2336. /*!50003 SET character_set_client = @saved_cs_client */ ;
  2337. /*!50003 SET character_set_results = @saved_cs_results */ ;
  2338. /*!50003 SET collation_connection = @saved_col_connection */ ;
  2339. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  2340. /*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ;
  2341. /*!50003 DROP PROCEDURE IF EXISTS `QTRCALCRECORD` */;
  2342. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  2343. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  2344. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  2345. /*!50003 SET character_set_client = utf8mb4 */ ;
  2346. /*!50003 SET character_set_results = utf8mb4 */ ;
  2347. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  2348. DELIMITER ;;
  2349. CREATE DEFINER=`babysbreath`@`%` PROCEDURE `QTRCALCRECORD`(IN `PID` INT, IN `PEVENT` VARCHAR ( 255 ), IN `PCPID` INT, IN `PNOW` DATETIME)
  2350. BEGIN
  2351. INSERT INTO AR_QTR_CALC_RECORD ( ID, EVENT, CREATION_TIME, CALC_PERIOD_ID )
  2352. VALUES
  2353. ( PID, PEVENT, NOW(), PCPID );
  2354. END ;;
  2355. DELIMITER ;
  2356. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  2357. /*!50003 SET character_set_client = @saved_cs_client */ ;
  2358. /*!50003 SET character_set_results = @saved_cs_results */ ;
  2359. /*!50003 SET collation_connection = @saved_col_connection */ ;
  2360. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  2361. /*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
  2362. /*!50003 DROP PROCEDURE IF EXISTS `QTRCLEAN` */;
  2363. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  2364. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  2365. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  2366. /*!50003 SET character_set_client = utf8mb4 */ ;
  2367. /*!50003 SET character_set_results = utf8mb4 */ ;
  2368. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  2369. DELIMITER ;;
  2370. CREATE DEFINER=`babysbreath`@`%` PROCEDURE `QTRCLEAN`(IN `PCPID` INT)
  2371. BEGIN-- 删除当期奖金
  2372. DELETE
  2373. FROM
  2374. AR_CALC_BONUS_QUARTER
  2375. WHERE
  2376. PERIOD_NUM >= PCPID;
  2377. TRUNCATE
  2378. AR_QTR_CALC_USER;
  2379. TRUNCATE
  2380. AR_QTR_CALC_WEIGHT;
  2381. TRUNCATE
  2382. AR_QTR_CALC_SCORE;
  2383. END ;;
  2384. DELIMITER ;
  2385. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  2386. /*!50003 SET character_set_client = @saved_cs_client */ ;
  2387. /*!50003 SET character_set_results = @saved_cs_results */ ;
  2388. /*!50003 SET collation_connection = @saved_col_connection */ ;
  2389. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  2390. /*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ;
  2391. /*!50003 DROP PROCEDURE IF EXISTS `UPPERCASE` */;
  2392. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  2393. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  2394. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  2395. /*!50003 SET character_set_client = utf8mb4 */ ;
  2396. /*!50003 SET character_set_results = utf8mb4 */ ;
  2397. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  2398. DELIMITER ;;
  2399. CREATE DEFINER=`babysbreath`@`%` PROCEDURE `UPPERCASE`(IN DBNAME VARCHAR(200))
  2400. BEGIN
  2401. DECLARE DONE INT DEFAULT 0;
  2402. DECLARE OLDNAME VARCHAR(200);
  2403. DECLARE CUR CURSOR FOR SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DBNAME;
  2404. DECLARE CONTINUE HANDLER FOR NOT FOUND SET DONE = 1;
  2405. OPEN CUR;
  2406. REPEAT
  2407. FETCH CUR INTO OLDNAME;
  2408. SET @NEWNAME = UPPER(OLDNAME);
  2409. SET @ISNOTSAME = @NEWNAME <> BINARY OLDNAME;
  2410. IF NOT DONE && @ISNOTSAME THEN
  2411. SET @SQL = CONCAT('RENAME TABLE `',OLDNAME,'` TO `', LOWER(@NEWNAME), '_TMP` ');
  2412. PREPARE TMPSTMT FROM @SQL;
  2413. EXECUTE TMPSTMT;
  2414. SET @SQL = CONCAT('RENAME TABLE `',LOWER(@NEWNAME),'_TMP` TO `',@NEWNAME, '`');
  2415. PREPARE TMPSTMT FROM @SQL;
  2416. EXECUTE TMPSTMT;
  2417. DEALLOCATE PREPARE TMPSTMT;
  2418. END IF;
  2419. UNTIL DONE END REPEAT;
  2420. CLOSE CUR;
  2421. END ;;
  2422. DELIMITER ;
  2423. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  2424. /*!50003 SET character_set_client = @saved_cs_client */ ;
  2425. /*!50003 SET character_set_results = @saved_cs_results */ ;
  2426. /*!50003 SET collation_connection = @saved_col_connection */ ;
  2427. /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
  2428. /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
  2429. /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
  2430. /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
  2431. /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
  2432. /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
  2433. /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
  2434. -- Dump completed on 2022-10-08 2:33:02