Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2020
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.75 KB | None | 0 0
  1. //опрашиваем опционы со статусами креат и пендинг
  2. var optbet = "select * from OPT_bets where bet_status = 1 OR bet_status = 2 and bet_pair = 'USD-BTC'";
  3. pool.query(optbet , function(err, results) {
  4.  
  5. //начинаем перебор
  6.  
  7. results.forEach((rec) => {
  8. //перебираем созданые , меняем статус на пендинг и уменьшаем баланс на сумму ставки
  9. if (rec.bet_status == 'created'){
  10.  
  11. var optupd = "UPDATE OPT_bets SET bet_status = 2, pending_at = NOW() WHERE id = "+rec.id+"";
  12. pool.query(optupd);
  13. var optpend = "select * from site_users_balances where site_user = "+rec.user_id+" and currency = 28";
  14. pool.query(optpend , function(err, balance) {
  15. var newbalance = balance[0].balance - rec.bet_amount;
  16. var optupd = "UPDATE site_users_balances SET balance = "+newbalance+" WHERE site_user = "+rec.user_id+" and currency = 28 ";
  17. pool.query(optupd);
  18. })
  19.  
  20. // для статуса пендинг работаем по условиям
  21. } else if (rec.bet_status == 'pending'){
  22. var history = "select btc_price from transactions where currency = 27 and c_currency = 28 ORDER BY id DESC LIMIT 1 ";
  23. pool.query(history , function(err, resultss) {
  24. console.log(resultss[0].btc_price);
  25. console.log(rec.current_price);
  26. // если ставил на вверх и выиграл , ставим победил и прибавляем 60% и возвращаем его ставку
  27. if(rec.current_price < resultss[0].btc_price && rec.bet_type == 'buy'){
  28. console.log('цена выше покупка выиграл');
  29. var optwins = "select * from site_users_balances where site_user = "+rec.user_id+" and currency = 28";
  30. pool.query(optwins , function(err, balance) {
  31. var newwins = rec.bet_amount + (rec.bet_amount*0.6);
  32. var newbalance = balance[0].balance + newwins;
  33. var optwin = "UPDATE site_users_balances SET balance = "+newbalance+" WHERE site_user = "+rec.user_id+" and currency = 28 ";
  34. pool.query(optwin);
  35. })
  36. var optupd = "UPDATE OPT_bets SET bet_status = 3, finish_price= "+resultss[0].btc_price+", finished_at = NOW() WHERE id = "+rec.id+"";
  37. pool.query(optupd);
  38. // если ставил на вверх и проиграл , просто ставим проиграл
  39. } else if(rec.current_price > resultss[0].btc_price && rec.bet_type == 'buy'){
  40. console.log('цена ниже покупка проиграл');
  41. var optupd = "UPDATE OPT_bets SET bet_status = 4,finish_price= "+resultss[0].btc_price+", finished_at = NOW() WHERE id = "+rec.id+"";
  42. pool.query(optupd);
  43. // если ставил на вниз и проиграл , просто ставим проиграл
  44. } else if(rec.current_price < resultss[0].btc_price && rec.bet_type == 'sell'){
  45. console.log('цена выше продажа проиграл');
  46.  
  47. var optupd = "UPDATE OPT_bets SET bet_status = 4,finish_price= "+resultss[0].btc_price+", finished_at = NOW() WHERE id = "+rec.id+"";
  48. pool.query(optupd);
  49. // если ставил на вниз и выиграл , ставим победил и прибавляем 60% и возвращаем его ставку
  50. } else if(rec.current_price > resultss[0].btc_price && rec.bet_type == 'sell'){
  51. var optwins = "select * from site_users_balances where site_user = "+rec.user_id+" and currency = 28";
  52. pool.query(optwin , function(err, balance) {
  53. var newwins = rec.bet_amount + (rec.bet_amount*0.6);
  54. var newbalance = balance[0].balance + newwins;
  55. var optwin = "UPDATE site_users_balances SET balance = "+newbalance+" WHERE site_user = "+rec.user_id+" and currency = 28 ";
  56. pool.query(optwin);
  57. })
  58. console.log('цена ниже продажа выиграл');
  59. var optupd = "UPDATE OPT_bets SET bet_status = 3,finish_price= "+resultss[0].btc_price+", finished_at = NOW() WHERE id = "+rec.id+"";
  60. pool.query(optupd);
  61. }
  62. })
  63. }
  64.  
  65. })
  66.  
  67. })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement