Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static async editOrdersPelanggan(event, context) {
- let dataBody = JSON.parse(event.body)
- let orders = dataBody.orders
- let editedOrders = dataBody.editedOrders
- let token = dataBody.token
- let kode_pelanggan = dataBody.kode_pelanggan
- let url = process.env.TRANSACTION_URI + '/mutasiwallet/editorderspelanggan'
- let data = JSON.stringify({
- orders: orders,
- editedOrders: editedOrders,
- token: token,
- kode_pelanggan: kode_pelanggan
- })
- try {
- let temp = await axios.post(url, data, {
- headers: {
- 'Content-Type': 'application/json',
- apikey: process.env.APIKEY
- }
- })
- context.succeed({
- statusCode: 200,
- body: JSON.stringify(temp.data.body)
- })
- } catch (e) {
- console.log(e)
- console.log(e.response)
- context.succeed({
- statusCode: 400
- })
- }
- // let dataBody = JSON.parse(event.body)
- // // data Orderan dari client
- // let orders = dataBody.orders
- // let editedOrders = dataBody.editedOrders
- // // data pelanggan user, nanti convert nya dari token
- // let kode_pelanggan = ''
- // if (dataBody.kode_pelanggan) {
- // kode_pelanggan = dataBody.kode_pelanggan
- // } else {
- // // data pelanggan user, nanti convert nya dari token
- // kode_pelanggan = verifyTokenPelanggan(dataBody.token)
- // }
- // let hasilFilterOrdersYangBerubah = cariOrdersYangBerubah(editedOrders, orders)
- // let transaksiBaruId = []
- // let transaksiYgDiubah = []
- // let uangKeluar = []
- // let uangMasuk = []
- // let tanggalKembalianOrder = []
- // for (var i = 0; i < hasilFilterOrdersYangBerubah.bertambah.length; i++) {
- // hasilFilterOrdersYangBerubah.bertambah[i]
- // let pesananBaru = hasilFilterOrdersYangBerubah.bertambah[i].ordersBaru.jumlah_pesan - hasilFilterOrdersYangBerubah.bertambah[i].ordersBaru.jumlah_kembali
- // let pesananLama = hasilFilterOrdersYangBerubah.bertambah[i].ordersLama.jumlah_pesan - hasilFilterOrdersYangBerubah.bertambah[i].ordersLama.jumlah_kembali
- // let perbedaan = pesananBaru - pesananLama
- // uangKeluar.push(perbedaan * hasilFilterOrdersYangBerubah.bertambah[i].ordersLama.harga_beli)
- // let kode_kantin = hasilFilterOrdersYangBerubah.bertambah[i].kode_outlet[0] + hasilFilterOrdersYangBerubah.bertambah[i].kode_outlet[1] + hasilFilterOrdersYangBerubah.bertambah[i].kode_outlet[2] + hasilFilterOrdersYangBerubah.bertambah[i].kode_outlet[3] + hasilFilterOrdersYangBerubah.bertambah[i].kode_outlet[4]
- // try {
- // let transaksiDetail = {
- // kode_menu: hasilFilterOrdersYangBerubah.bertambah[i].kode_menu,
- // nama_menu: hasilFilterOrdersYangBerubah.bertambah[i].nama_menu,
- // jam_istirahat: hasilFilterOrdersYangBerubah.bertambah[i].ordersBaru.jam_istirahat,
- // jam_ambil: null,
- // jumlah_pesan: perbedaan,
- // jumlah_ambil: 0,
- // jumlah_kembali: 0,
- // harga_beli: hasilFilterOrdersYangBerubah.bertambah[i].ordersBaru.harga_beli
- // }
- // let objTransaksi = {
- // _id: await autoGenerateIdTransaksi(kode_kantin),
- // kode_pelanggan: kode_pelanggan,
- // kode_outlet: hasilFilterOrdersYangBerubah.bertambah[i].kode_outlet,
- // tanggal_ambil: new Date(hasilFilterOrdersYangBerubah.bertambah[i].date),
- // jenis_transaksi: 0,
- // transaksi_detail: transaksiDetail
- // }
- // let selesaiCreateTransaksiBaru = await mongoModel.Transaksi.create(objTransaksi)
- // let updateSaldoKantin = await mongoModel.Outlet.update({
- // "_id": hasilFilterOrdersYangBerubah.bertambah[i].kode_outlet
- // }, {
- // $inc: {
- // saldo: (perbedaan * hasilFilterOrdersYangBerubah.bertambah[i].ordersLama.harga_beli)
- // }
- // })
- // transaksiBaruId.push(objTransaksi._id)
- // let Sequelize = new sequelize(process.env.POSTGRE_DB, process.env.POSTGRE_USER, process.env.POSTGRE_PASSWORD, {
- // isolationLevel: sequelize.Transaction.ISOLATION_LEVELS.SERIALIZABLE || "SERIALIZABLE",
- // host: process.env.POSTGRE_HOST,
- // dialect: process.env.POSTGRE_DIALECT
- // });
- // Sequelize.transaction().then(function(t) {
- // return model.Wallet.findOne({where: {kode_user: objTransaksi.kode_outlet}, transaction: t}).then(function(walletOutlet) {
- // return model.Wallet.findOne({where: {kode_user: objTransaksi.kode_pelanggan}, transaction: t}).then(function(walletPelanggan) {
- // return walletOutlet.increment({saldo: (perbedaan * hasilFilterOrdersYangBerubah.bertambah[i].ordersLama.harga_beli)}, {transaction: t}).then(function(walletOutletBaru){
- // let saldoBaruOutlet = walletOutletBaru.dataValues.saldo
- // let saldoLamaOutlet = walletOutletBaru._previousDataValues.saldo
- // return model.MutasiWallet.create({
- // kode_wallet: walletOutlet.kode_wallet,
- // tanggal_mutasi: moment(),
- // jenis_mutasi: 1,
- // saldo_awal: saldoLamaOutlet,
- // saldo_akhir: saldoBaruOutlet,
- // jumlah: (perbedaan * hasilFilterOrdersYangBerubah.bertambah[i].ordersLama.harga_beli),
- // keterangan: 'Pembayaran transaksi ' + objTransaksi._id + ' tanggal ' + new Date(moment())
- // }, {transaction: t}).then(function (mutasiWallet) {
- // return walletPelanggan.decrement({saldo: (perbedaan * hasilFilterOrdersYangBerubah.bertambah[i].ordersLama.harga_beli)}, {transaction: t}).then(function(walletPelangganBaru) {
- // let saldoBaruPelanggan = walletPelangganBaru.dataValues.saldo
- // let saldoLamaPelanggan = walletPelangganBaru._previousDataValues.saldo
- // return model.MutasiWallet.create({
- // kode_wallet: walletPelanggan.kode_wallet,
- // tanggal_mutasi: moment(),
- // jenis_mutasi: 0,
- // saldo_awal: saldoLamaPelanggan,
- // saldo_akhir: saldoBaruPelanggan,
- // jumlah: (perbedaan * hasilFilterOrdersYangBerubah.bertambah[i].ordersLama.harga_beli),
- // keterangan: 'Pembayaran transaksi ' + objTransaksi._id + ' tanggal ' + new Date(moment())
- // }, {transaction: t})
- // })
- // })
- // })
- // })
- // }).then(function (transactionSequelize) {
- // t.commit()
- // }).catch((err) => {
- // t.rollback()
- // })
- // })
- // } catch (e) {
- // console.log(e);
- // context.fail({
- // statusCode: 400,
- // body: JSON.stringify('Error when add new transaction')
- // })
- // }
- // }
- // console.log(hasilFilterOrdersYangBerubah.berkurang[0])
- // for (var i = 0; i < hasilFilterOrdersYangBerubah.berkurang.length; i++) {
- // let pesananBaru = hasilFilterOrdersYangBerubah.berkurang[i].ordersBaru.jumlah_pesan - hasilFilterOrdersYangBerubah.berkurang[i].ordersBaru.jumlah_kembali
- // let pesananLama = hasilFilterOrdersYangBerubah.berkurang[i].ordersLama.jumlah_pesan - hasilFilterOrdersYangBerubah.berkurang[i].ordersLama.jumlah_kembali
- // let perbedaan = pesananLama - pesananBaru
- // uangMasuk.push(perbedaan * hasilFilterOrdersYangBerubah.berkurang[i].ordersBaru.harga_beli)
- // tanggalKembalianOrder.push(hasilFilterOrdersYangBerubah.berkurang[i].date)
- // let kode_transaksi = hasilFilterOrdersYangBerubah.berkurang[i].ordersBaru.kode_transaksi.split('#')
- // let dataOrdersBaru = hasilFilterOrdersYangBerubah.berkurang[i]
- // let kode_transaksiYgBerubah = []
- // let sudahDikembalikan = 0
- // for (var j = 0; j < kode_transaksi.length; j++) {
- // if (sudahDikembalikan == perbedaan) {
- // break;
- // }
- // try {
- // let dataTransaksiDariDB = await mongoModel.Transaksi.findById(kode_transaksi[j])
- // transaksiYgDiubah.push({_id: kode_transaksi[j], data: dataTransaksiDariDB})
- // let transaksiDetailAfterDiubah = []
- // for (var k = 0; k < dataTransaksiDariDB.transaksi_detail.length; k++) {
- // let detailTransaksi = dataTransaksiDariDB.transaksi_detail[k]
- // if (detailTransaksi.kode_menu == dataOrdersBaru.kode_menu && detailTransaksi.nama_menu == dataOrdersBaru.nama_menu && detailTransaksi.jam_istirahat == dataOrdersBaru.ordersBaru.jam_istirahat){
- // if ((perbedaan - sudahDikembalikan) > (detailTransaksi.jumlah_pesan - detailTransaksi.jumlah_kembali)) {
- // sudahDikembalikan += (detailTransaksi.jumlah_pesan - detailTransaksi.jumlah_kembali)
- // detailTransaksi.jumlah_kembali = detailTransaksi.jumlah_kembali + (detailTransaksi.jumlah_pesan - detailTransaksi.jumlah_kembali)
- // } else {
- // detailTransaksi.jumlah_kembali = detailTransaksi.jumlah_kembali + (perbedaan - sudahDikembalikan)
- // sudahDikembalikan = perbedaan
- // }
- // }
- // transaksiDetailAfterDiubah.push(detailTransaksi)
- // }
- // let selesaiUpdateTransaksiDetail = await mongoModel.Transaksi.findByIdAndUpdate(kode_transaksi[j], {transaksi_detail: transaksiDetailAfterDiubah})
- // kode_transaksiYgBerubah.push(kode_transaksi[j])
- // } catch (err) {
- // console.log(err);
- // context.fail({
- // statusCode: 400,
- // body: JSON.stringify('Error when edit transaction')
- // })
- // }
- // }
- // let updateSaldoKantin = await mongoModel.Outlet.update({
- // "_id": hasilFilterOrdersYangBerubah.berkurang[i].kode_outlet
- // }, {
- // $inc: {
- // saldo: (perbedaan * hasilFilterOrdersYangBerubah.berkurang[i].ordersBaru.harga_beli * -1)
- // }
- // })
- // let Sequelize = new sequelize(process.env.POSTGRE_DB, process.env.POSTGRE_USER, process.env.POSTGRE_PASSWORD, {
- // isolationLevel: sequelize.Transaction.ISOLATION_LEVELS.SERIALIZABLE || "SERIALIZABLE",
- // host: process.env.POSTGRE_HOST,
- // dialect: process.env.POSTGRE_DIALECT
- // });
- // let kode_outletBuatSequelizeNih = hasilFilterOrdersYangBerubah.berkurang[i].kode_outlet
- // let totalBuatSequelizeNih = (perbedaan * hasilFilterOrdersYangBerubah.berkurang[i].ordersBaru.harga_beli)
- // Sequelize.transaction().then(function(t) {
- // return model.Wallet.findOne({where: {kode_user: kode_outletBuatSequelizeNih}, transaction: t}).then(function(walletOutlet) {
- // return model.Wallet.findOne({where: {kode_user: kode_pelanggan}, transaction: t}).then(function(walletPelanggan) {
- // return walletOutlet.decrement({saldo: totalBuatSequelizeNih}, {transaction: t}).then(function(walletOutletBaru){
- // let saldoBaruOutlet = walletOutletBaru.dataValues.saldo
- // let saldoLamaOutlet = walletOutletBaru._previousDataValues.saldo
- // return model.MutasiWallet.create({
- // kode_wallet: walletOutlet.kode_wallet,
- // tanggal_mutasi: moment(),
- // jenis_mutasi: 0,
- // saldo_awal: saldoLamaOutlet,
- // saldo_akhir: saldoBaruOutlet,
- // jumlah: totalBuatSequelizeNih,
- // keterangan: 'Pengembalian transaksi ' + kode_transaksiYgBerubah.join(',') + ' tanggal ' + new Date(moment())
- // }, {transaction: t}).then(function (mutasiWallet) {
- // return walletPelanggan.increment({saldo: totalBuatSequelizeNih}, {transaction: t}).then(function(walletPelangganBaru) {
- // let saldoBaruPelanggan = walletPelangganBaru.dataValues.saldo
- // let saldoLamaPelanggan = walletPelangganBaru._previousDataValues.saldo
- // return model.MutasiWallet.create({
- // kode_wallet: walletPelanggan.kode_wallet,
- // tanggal_mutasi: moment(),
- // jenis_mutasi: 1,
- // saldo_awal: saldoLamaPelanggan,
- // saldo_akhir: saldoBaruPelanggan,
- // jumlah: totalBuatSequelizeNih,
- // keterangan: 'Pengembalian transaksi ' + kode_transaksiYgBerubah.join(',') + ' tanggal ' + new Date(moment())
- // }, {transaction: t})
- // })
- // })
- // })
- // })
- // }).then(function (transactionSequelize) {
- // t.commit()
- // }).catch((err) => {
- // t.rollback()
- // })
- // })
- // }
- // // update saldo pelanggan
- // if (uangKeluar.length > 0) {
- // let tanggalUntukNotif = moment()
- // let jumlahUangKeluar = uangKeluar.reduce(function(acc, val) {return acc + val})
- // let updateSaldoPembelianBaru = await mongoModel.Pelanggan.update({
- // "_id": kode_pelanggan
- // }, {
- // $inc: {
- // saldo: (jumlahUangKeluar * -1)
- // },
- // $push: {
- // notifikasi: {
- // tanggal_waktu: new Date(),
- // notifikasi: 'Transaksi pemesanan via aplikasi pada ' + tanggalanConverter(new Date(tanggalUntukNotif), true) + ' telah berhasil dilakukan ' + rupiahConverter(jumlahUangKeluar),
- // baca: 0
- // }
- // }
- // })
- // }
- // if (uangMasuk.length > 0) {
- // let jumlahUangMasuk = uangMasuk.reduce(function(acc, val) {return acc + val})
- // let tanggalanOrder = []
- // tanggalKembalianOrder = tanggalKembalianOrder.filter(function(item, pos) {
- // return tanggalKembalianOrder.indexOf(item) == pos;
- // })
- // for (var i = 0; i < tanggalKembalianOrder.length; i++) {
- // tanggalanOrder.push(tanggalanConverter(new Date(tanggalKembalianOrder[i]), false))
- // }
- // tanggalanOrder.join(' & ')
- // let updateSaldoPengembalianBaru = await mongoModel.Pelanggan.update({
- // "_id": kode_pelanggan
- // }, {
- // $inc: {
- // saldo: (jumlahUangMasuk)
- // },
- // $push: {
- // notifikasi: {
- // tanggal_waktu: new Date(),
- // notifikasi: 'Saldo kamu sebanyak ' + rupiahConverter(jumlahUangMasuk) + ' untuk pembatalan pesanan pada order ' + tanggalanOrder + ' telah dikembalikan.',
- // baca: 0
- // }
- // }
- // })
- // }
- // // update saldo outlet
- // context.succeed({
- // statusCode: 200,
- // body: JSON.stringify({
- // orderBertambah: hasilFilterOrdersYangBerubah.bertambah,
- // orderBerkurang: hasilFilterOrdersYangBerubah.berkurang
- // })
- // })
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment