Advertisement
Guest User

transactionController.js

a guest
Jan 5th, 2019
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.13 KB | None | 0 0
  1. var express = require('express');
  2. var transRepo = require('../repos/transactionRepo');
  3. var otpRepo = require('../repos/otpRepo');
  4. var transfer = require('../db/opts').TRANSFER;
  5. var nodemailer = require('nodemailer');
  6. var router = express.Router();
  7. var cardRepo = require('../repos/cardRepo');
  8.  
  9. var smtpTransport = nodemailer.createTransport({
  10. service: "Gmail",
  11. auth: {
  12. user: "minhanpro123@gmail.com",
  13. pass: "anhyeuem1997?214097#"
  14. }
  15. });
  16.  
  17. router.post('/confirm', (req, res) => {
  18. var fee = +req.body.fee;
  19. var feeReceiver = req.body.feeReceiver;
  20. console.log(feeReceiver);
  21. console.log(typeof(feeReceiver));
  22. var transId = req.body.transId;
  23. transRepo.single(transId).then(trans => {
  24. var srcCardId = trans[0].SrcCardId;
  25. var desCardId = trans[0].DesCardId;
  26. var srcCard = cardRepo.load(srcCardId);
  27. var desCard = cardRepo.load(desCardId);
  28. Promise.all([srcCard, desCard]).then(([src, des]) => {
  29. src[0].Money = src[0].Money - trans[0].Money;
  30. des[0].Money = des[0].Money + trans[0].Money;
  31. if (feeReceiver) {
  32. des[0].Money = des[0].Money - fee;
  33. } else {
  34. src[0].Money = src[0].Money - fee;
  35. }
  36. var updateSrc = cardRepo.updateMoney(src[0].Id, src[0].Money);
  37. var updateDes = cardRepo.updateMoney(des[0].Id, des[0].Money);
  38. Promise.all([updateSrc, updateDes]).then(([idSrc, idDes]) => {
  39. res.json({
  40. msg: 'success'
  41. });
  42. }).catch(err => {
  43. console.log(err);
  44. res.statusCode = 500;
  45. res.end('View error log on console.');
  46. })
  47. }).catch(err => {
  48. console.log(err);
  49. res.statusCode = 500;
  50. res.end('View error log on console.');
  51. });
  52. }).catch(err => {
  53. console.log(err);
  54. res.statusCode = 500;
  55. res.end('View error log on console.');
  56. });
  57. });
  58.  
  59. router.post('/', (req, res) => {
  60. transRepo.newTransaction(req.body) .then(affectedRows => {
  61. var otp = (""+Math.random()).substring(2,8);
  62. var user = req.token_payload.user;
  63. const mailOptions = {
  64. to: user.Email, // list of receivers
  65. subject: 'Xác nhận chuyển khoản', // Subject line
  66. html: `<p>Your OTP here: ${otp}</p>`// plain text body
  67. };
  68. smtpTransport.sendMail(mailOptions, (err, info) => {
  69. if (err) {
  70. console.log(err);
  71. } else {
  72. console.log(info);
  73. otpRepo.newOTP(otp, affectedRows).then(otpIdRow => {
  74. res.json({
  75. transId: affectedRows,
  76. msg: 'success'
  77. });
  78. }).catch(err => {
  79. console.log(err);
  80. });
  81. }
  82. })
  83. })
  84. .catch(err => {
  85. console.log(err);
  86. res.statusCode = 500;
  87. res.end('View error log on console.');
  88. });
  89. });
  90.  
  91. module.exports = router;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement