Advertisement
AbdulMuttaqin

Untitled

Jul 8th, 2021
1,697
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. const axios = require('axios');
  3. const mysql = require('mysql2');
  4. var dateFormat = require('dateformat');
  5. const emailid = [];
  6. function foreach(arr, func)
  7. {
  8.    for (var i in arr)
  9.    {
  10.       func(i, arr[i]);
  11.    }
  12. }
  13. const connection = mysql.createConnection({
  14.   host: 'localhost',
  15.   user: 'root',
  16.   database: 'v'
  17. });  
  18.  
  19. //tb_email_reminder_2102
  20.  
  21.  
  22. // checking tahun dan bulan yymm
  23. let cektahunbulan =dateFormat(new Date(), "yymm");
  24. //  function cektable
  25. function cektable(){
  26.   return new Promise(resolve => {
  27. const query = "SHOW TABLES;";
  28.  
  29. const pool = connection.query(query, async function(err, result ) {
  30.  
  31.   if (err) {
  32.      console.log(err)
  33.        }
  34.        
  35.        else{
  36.       resolve(result);
  37.      
  38.  }    
  39. })
  40. })
  41. }
  42.  
  43. function buat_table(namatable){
  44.   return new Promise(resolve => {
  45.     const query = "CREATE TABLE `tb_email_reminder_"+ cektahunbulan +"` ( `"+ cektahunbulan +"` int(11) NOT NULL, `email_id` varchar(100) NOT NULL, `body_message` varchar(4000) NOT NULL, `tgl_proses` varchar(25) DEFAULT NULL, `cycle` varchar(25) DEFAULT NULL, `jenis_surat_email` varchar(100) DEFAULT NULL, `fin_account` varchar(100) DEFAULT NULL, `cr_limit` varchar(100) DEFAULT NULL, `aging` varchar(100) DEFAULT NULL, `min_pembayaran` varchar(100) DEFAULT NULL, `total_tagihan` varchar(100) DEFAULT NULL, `jatuh_tempo` varchar(100) DEFAULT NULL, `kanwil` varchar(100) DEFAULT NULL, `out_standing` varchar(100) DEFAULT NULL, `card_no` varchar(100) DEFAULT NULL, `email` varchar(500) DEFAULT NULL, `flag_ever` varchar(100) DEFAULT NULL, `date_submit` varchar(50) DEFAULT NULL, `f_bucket` varchar(50) DEFAULT NULL, `f_ratio` varchar(50) DEFAULT NULL, `flag_dd` varchar(11) DEFAULT NULL, `priority` varchar(20) DEFAULT NULL, `status` varchar(11) DEFAULT NULL, `flag_err` int(11) DEFAULT NULL, `created_date` datetime DEFAULT '0000-00-00 00:00:00', `modified_date` datetime DEFAULT '0000-00-00 00:00:00', `status_read` varchar(11) DEFAULT NULL, `read_date` datetime DEFAULT '0000-00-00 00:00:00', `stmt_clsba` varchar(100) DEFAULT NULL, `date_payment` varchar(50) DEFAULT NULL, `age_report` varchar(11) DEFAULT NULL, `hp` varchar(25) DEFAULT NULL, `pic` varchar(500) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1;"
  46.    
  47.     const pool = connection.query(query, async function(err, result ) {
  48.      
  49.       if (err) {
  50.          console.log(err)
  51.            }
  52.            
  53.            else{
  54.           resolve(result);
  55.          
  56.      }    
  57.     })
  58.     })
  59. }
  60. buat_table()
  61.  
  62. function execute(){
  63.   cektable().then(data => {
  64.  
  65.     if (data.indexOf(cektahunbulan)){
  66.     }else{
  67.       console.log("ada")
  68.       process.exit(1);
  69.     }
  70.   });
  71. var url = "https://msapi.bankmega.com/email_gtw/email_gateway.php?token=3a7fd845c56b168fea4e67175b024bb9&request_type=get_email";
  72.  
  73. let day =dateFormat(new Date(), "dd-mm-yyyy");
  74.  
  75. let initanggal = day.replace(/\D/g,'');
  76.  
  77.         axios.get(url)
  78.             .then(function(res){
  79.                 const emailid = res.data.data[0].email_id;
  80.                 let jenis_surat;
  81.                     const array = [];
  82.                            foreach(res.data.data ,function(i , v){
  83.                                  const emailid = res.data.data[i].email_id;
  84.                                   const email = res.data.data[i].email_address;
  85.                                   const body = res.data.data[i].body_message;
  86.        // console.log(res.data.data[i].email_id)
  87.                                  const nomorkartu = res.data.data[i].body_message.split("dengan nomor ")[1].split("dengan jumlah")[0];
  88.                                  const jatuhtempo = res.data.data[i].body_message.split(" pada tanggal ")[1].split(". Anda bisa melakukan")[0];
  89.                                  const jumlah_tagihan = res.data.data[i].body_message.split("jumlah tagihan ")[1].split(" akan jatuh ")[0];                              
  90.                                  const minimum_pembayaran = res.data.data[i].body_message.split("minimum sebesar ")[1].split(". Abaikan pesan")[0];
  91.                            
  92.                                  const hitungtempo = jatuhtempo.replace(/\D/g,'');
  93.                                  
  94.                                  if (hitungtempo > initanggal){
  95.                                    jenis_surat += "AFTER DUE DATE";
  96.                                  }else{
  97.                                   jenis_surat += "BEFORE DUE DATE";
  98.                                  }
  99.                                
  100.                                    array.push([emailid, email, body , nomorkartu, jatuhtempo , jumlah_tagihan , minimum_pembayaran])
  101.                                    
  102.                                   // console.log(array)
  103.  
  104.                                   })
  105.                                    const query = "INSERT INTO tb_trans_email_reminder_2102(tb_email_reminder_2102_id, email,status,message) VALUES ?";
  106.  
  107.                                const pool = connection.query(query, [array], function(err, result) {
  108.                               if (err) {
  109.                               console.log(err)
  110.                              }else{
  111.                                       console.log('result', result)
  112.                                     }    
  113.                          })
  114.                                 console.log(array)
  115.                                
  116.    
  117. })
  118. }
  119. execute()
  120.        
  121.        // console.log(results)
  122.        // console.log(err)
  123.    // })
  124.  
  125.  
  126.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement