Advertisement
Guest User

Untitled

a guest
Nov 19th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.56 KB | None | 0 0
  1. proc_label:BEGIN
  2. declare dailycapping int default 16;
  3. declare evratio int default 10;
  4. declare muserid varchar(45);
  5. declare mleftuser varchar(45);
  6. declare mrightuser varchar(45);
  7. declare mleftuserpin varchar(45);
  8. declare mrightuserpin varchar(45);
  9. declare mleftpinprice double;
  10. declare mrightpinprice double;
  11. declare mmatchingdate datetime;
  12. declare totalamount double;
  13. declare aday_bal double;
  14. declare acurrent_bal double;
  15. declare atotal_bal double;
  16. declare acurrent_matching_count int;
  17. declare atotal_matching_count int;
  18. declare acurrent_paid_matching int;
  19. declare atotal_paid_matching int;
  20. declare aaday_bal double;
  21. declare aacurrent_bal double;
  22. declare aatotal_bal double;
  23. declare aacurrent_matching_count int;
  24. declare aatotal_matching_count int;
  25. declare aacurrent_paid_matching int;
  26. declare aatotal_paid_matching int;
  27. declare n int default 0;
  28. declare i int default 0;
  29. declare matchingid int default 0;
  30. declare edes text;
  31.  
  32. #START TRANSACTION READ WRITE;
  33.  
  34. /*all not updated date wise user*/
  35. SET SQL_SAFE_UPDATES = 0;
  36. SELECT count(*) FROM tbl_matching_details where matchingdate !='1970-01-01 00:00:00' and isupdated='0' into n;
  37. #insert into `infinity2_iml4`.`tbl_proc_logs` (`userid`,`procname`,`status`) values ('400','amount','start');
  38.  
  39.  
  40.  
  41. while i < n do
  42. /*amount update here*/
  43. SELECT id,userid,leftuser,rightuser,leftuserpin,rightuserpin,leftpinprice,rightpinprice,matchingdate
  44. into matchingid,muserid,mleftuser,mrightuser,mleftuserpin,mrightuserpin,mleftpinprice,mrightpinprice,mmatchingdate
  45. FROM tbl_matching_details where matchingdate !='1970-01-01 00:00:00' and isupdated='0'
  46. order by id asc limit 1;
  47. # insert into logs
  48. insert into tbl_proc_logs (`userid`,`procname`,`status`) values (matchingid,'amount','start');
  49. update tbl_matching_details set isupdated='1' where id=matchingid;
  50. set totalamount=mleftpinprice+mrightpinprice;
  51.  
  52.  
  53. select day_bal,current_bal,total_bal,current_matching_count,total_matching_count,current_paid_matching,total_paid_matching
  54. into aday_bal,acurrent_bal,atotal_bal,acurrent_matching_count,atotal_matching_count,acurrent_paid_matching,atotal_paid_matching
  55. from tbl_ew where userid=muserid;
  56. if acurrent_matching_count >= dailycapping then
  57. /*matching count increase */
  58. update tbl_ew set current_matching_count=acurrent_matching_count+1,total_matching_count=atotal_matching_count+1 where userid=muserid;
  59. /* insert into flush table*/
  60. insert tbl_matching_flush (`matchingid`,`userid`,`leftuser`,`rightuser`,`leftuserpin`,`rightuserpin`,`leftpinprice`,`rightpinprice`,`matchingdate`)
  61. value (matchingid,muserid,mleftuser,mrightuser,mleftuserpin,mrightuserpin,mleftpinprice,mrightpinprice,mmatchingdate);
  62. else
  63. /*check matching condition 10:1*/
  64.  
  65. if mod((atotal_paid_matching+1),evratio) = 0 then
  66. select day_bal,current_bal,total_bal,current_matching_count,total_matching_count,current_paid_matching,total_paid_matching
  67. into aaday_bal,aacurrent_bal,aatotal_bal,aacurrent_matching_count,aatotal_matching_count,aacurrent_paid_matching,aatotal_paid_matching
  68. from tbl_ev where userid=muserid;
  69.  
  70. update tbl_ev set
  71. day_bal=aaday_bal+totalamount,current_bal=aacurrent_bal+totalamount,total_bal=aatotal_bal+totalamount,
  72. current_matching_count=aacurrent_matching_count+1,total_matching_count=aatotal_matching_count+1,
  73. current_paid_matching=aacurrent_paid_matching+1,total_paid_matching=aatotal_paid_matching+1
  74. where userid=muserid;
  75.  
  76. update tbl_ew set current_matching_count=acurrent_matching_count+1,total_matching_count=atotal_matching_count+1,
  77. current_paid_matching=acurrent_paid_matching+1,total_paid_matching=atotal_paid_matching+1
  78. where userid=muserid;
  79. /*insert detals data into wallet history for EV*/
  80. set edes =CONCAT('Credited by: ','Left pin ',mleftuserpin,' with price ',mleftpinprice,' and ','right pin ',mrightuserpin,' with price ',mrightpinprice);
  81. insert tbl_wallet_history (`userid`,`prev_bal`,`amount`,`new_bal`,`des`,`account_type`)
  82. value (muserid,aacurrent_bal,totalamount,(aacurrent_bal+totalamount),edes,'ev');
  83. /*insert detals data into Ev history*/
  84. insert tbl_ev_history (`matchingid`,`userid`,`leftuser`,`rightuser`,`leftuserpin`,`rightuserpin`,`leftpinprice`,`rightpinprice`,`matchingdate`)
  85. value (matchingid,muserid,mleftuser,mrightuser,mleftuserpin,mrightuserpin,mleftpinprice,mrightpinprice,mmatchingdate);
  86. else
  87. /*update amount and count for ecah user*/
  88. select day_bal,current_bal,total_bal,current_matching_count,total_matching_count,current_paid_matching,total_paid_matching
  89. into aday_bal,acurrent_bal,atotal_bal,acurrent_matching_count,atotal_matching_count,acurrent_paid_matching,atotal_paid_matching
  90. from tbl_ew where userid=muserid;
  91.  
  92. update tbl_ew set
  93. day_bal=aday_bal+totalamount,current_bal=acurrent_bal+totalamount,total_bal=atotal_bal+totalamount,
  94. current_matching_count=acurrent_matching_count+1,total_matching_count=atotal_matching_count+1,
  95. current_paid_matching=acurrent_paid_matching+1,total_paid_matching=atotal_paid_matching+1
  96. where userid=muserid;
  97. /*insert data into wallet history for EW*/
  98. set edes =CONCAT('Credited by: ','Left pin ',mleftuserpin,' with price ',mleftpinprice,' and ','right pin ',mrightuserpin,' with price ',mrightpinprice);
  99. insert tbl_wallet_history (`userid`,`prev_bal`,`amount`,`new_bal`,`des`,`account_type`)
  100. value (muserid,acurrent_bal,totalamount,(acurrent_bal+totalamount),edes,'ew');
  101.  
  102. /*insert detals data into EW history*/
  103. insert tbl_ew_history (`matchingid`,`userid`,`leftuser`,`rightuser`,`leftuserpin`,`rightuserpin`,`leftpinprice`,`rightpinprice`,`matchingdate`)
  104. value (matchingid,muserid,mleftuser,mrightuser,mleftuserpin,mrightuserpin,mleftpinprice,mrightpinprice,mmatchingdate);
  105. end if;
  106. end if;
  107.  
  108. # insert into logs
  109. insert into tbl_proc_logs (userid,procname,`status`) values (muserid,'amount','end');
  110.  
  111. set i =i+1;
  112. end while;
  113. /*update current matching count and current paid matching from tbl_ew,tbl_ev and day_bal*/
  114. update tbl_ew set day_bal=0,current_matching_count=0,current_paid_matching=0 where current_matching_count != 0;
  115. update tbl_ev set day_bal=0,current_matching_count=0,current_paid_matching=0 where current_matching_count != 0;
  116. # call promo engine here
  117. call promoengine(/*@mgs*/ );
  118. /*SET mgs='updated all data';
  119. select @mgs;*/
  120. COMMIT;
  121. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement