Alur pembayaran donasi

# feat
- Tampilan invoce
- Proses acc admin
- Transaksi berhasil
# Issue: Hitungan progres masih salah
This commit is contained in:
2024-01-08 13:56:14 +08:00
parent 4fc158bdc5
commit b4fe35e7d8
113 changed files with 2840 additions and 1274 deletions

View File

@@ -13,6 +13,8 @@ import userSeeder from "../../../bin/seeder/user_seeder.json";
import donasi_status from "../../../bin/seeder/donasi/master_status.json";
import donasi_kategori from "../../../bin/seeder/donasi/master_kategori.json";
import donasi_durasi from "../../../bin/seeder/donasi/master_durasi.json";
import donasi_namaBank from "../../../bin/seeder/donasi/master_bank.json"
import donasi_status_invoice from "../../../bin/seeder/donasi/master_status_invoice.json"
export async function GET(req: Request) {
const dev = new URL(req.url).searchParams.get("dev");
@@ -229,6 +231,39 @@ export async function GET(req: Request) {
});
}
for (let i of donasi_namaBank) {
await prisma.donasiMaster_Bank.upsert({
where: {
id: i.id,
},
create: {
id: i.id,
name: i.name,
norek: i.norek,
},
update: {
id: i.id,
name: i.name,
norek: i.norek,
},
});
}
for (let d of donasi_status_invoice) {
await prisma.donasiMaster_StatusInvoice.upsert({
where: {
id: d.id,
},
create: {
id: d.id,
name: d.name,
},
update: {
name: d.name,
},
});
}
return NextResponse.json({ success: true });
}

View File

@@ -0,0 +1,17 @@
import { AdminDonasi_DetailPublish } from "@/app_modules/admin/donasi";
import { AdminDonasi_funCountDonatur } from "@/app_modules/admin/donasi/fun/count/fun_count_donatur";
import { AdminDonasi_getListDonatur } from "@/app_modules/admin/donasi/fun/get/get_list_donatur_by_id";
import { AdminDonasi_getById } from "@/app_modules/admin/donasi/fun/get/get_one_by_id";
export default async function Page({params}: {params: {id: string}}) {
const dataPublish = await AdminDonasi_getById(params.id)
const listDonatur = await AdminDonasi_getListDonatur(params.id)
const countDonatur = await AdminDonasi_funCountDonatur(params.id)
return (
<>
<AdminDonasi_DetailPublish dataPublish={dataPublish as any} listDonatur={listDonatur} countDonatur={countDonatur} />
</>
);
}

View File

@@ -1,9 +0,0 @@
import { AdminDonasi_DetailPublish } from "@/app_modules/admin/donasi";
export default async function Page() {
return (
<>
<AdminDonasi_DetailPublish />
</>
);
}

View File

@@ -0,0 +1,12 @@
import { AdminDonasi_DetailReject } from "@/app_modules/admin/donasi";
import { AdminDonasi_getById } from "@/app_modules/admin/donasi/fun/get/get_one_by_id";
export default async function Page({ params }: { params: { id: string } }) {
const dataReject = await AdminDonasi_getById(params.id);
return (
<>
<AdminDonasi_DetailReject dataReject={dataReject as any} />
</>
);
}

View File

@@ -0,0 +1,11 @@
import AdminDonasi_ProsesTransaksi from "@/app_modules/admin/donasi/detail_table/publish/proses_transaksi";
import { AdminDonasi_getListStatusInvoiceProses } from "@/app_modules/admin/donasi/fun/get/get_list_status_invoice_proses";
export default async function Page({params}: {params: {id: string}}) {
let donasiId = params.id
const listProses = await AdminDonasi_getListStatusInvoiceProses(donasiId)
return <AdminDonasi_ProsesTransaksi listProses={listProses as any}/>
}

View File

@@ -13,7 +13,7 @@ export default async function Layout({
const statusDonasiId = dataDonasi?.donasiMaster_StatusDonasiId;
return (
<>
<LayoutCeritaPenggalangDonasi statusDonasiId={statusDonasiId as string}>
<LayoutCeritaPenggalangDonasi statusDonasiId={statusDonasiId as string} donasiId={dataDonasi?.id as string}>
{children}
</LayoutCeritaPenggalangDonasi>
</>

View File

@@ -0,0 +1,17 @@
import { DetailDonasiSaya } from "@/app_modules/donasi";
import { Donasi_getCountDonatur } from "@/app_modules/donasi/fun/count/get_count_donatur";
import { Donasi_getOneById } from "@/app_modules/donasi/fun/get/get_one_donasi_by_id";
import { Donasi_getOneInvoiceById } from "@/app_modules/donasi/fun/get/get_one_invoice_by_id";
export default async function Page({ params }: { params: { id: string } }) {
let invoiceId = params.id;
const dataDonasi = await Donasi_getOneInvoiceById(invoiceId);
const countDonatur= await Donasi_getCountDonatur(dataDonasi?.donasiId as any)
return (
<>
<DetailDonasiSaya dataDonasi={dataDonasi as any} countDonatur={countDonatur} />
</>
);
}

View File

@@ -1,7 +0,0 @@
import { DetailDonasiSaya } from "@/app_modules/donasi";
export default async function Page() {
return<>
<DetailDonasiSaya/>
</>
}

View File

@@ -3,12 +3,14 @@ import React from "react";
export default async function Layout({
children,
params
}: {
children: React.ReactNode;
params: {id: string}
}) {
return (
<>
<LayoutDetailMainDonasi>{children}</LayoutDetailMainDonasi>
<LayoutDetailMainDonasi donasiId={params.id}>{children}</LayoutDetailMainDonasi>
</>
);
}

View File

@@ -0,0 +1,16 @@
import { DetailMainDonasi } from "@/app_modules/donasi";
import { Donasi_getCountDonatur } from "@/app_modules/donasi/fun/count/get_count_donatur";
import { Donasi_getOneById } from "@/app_modules/donasi/fun/get/get_one_donasi_by_id";
export default async function Page({ params }: { params: { id: string } }) {
let donasiId = params.id;
const dataDonasi = await Donasi_getOneById(donasiId);
const countDonatur = await Donasi_getCountDonatur(donasiId)
return (
<>
<DetailMainDonasi dataDonasi={dataDonasi as any} countDonatur={countDonatur} />
</>
);
}

View File

@@ -1,9 +0,0 @@
import { DetailMainDonasi } from "@/app_modules/donasi";
export default async function Page() {
return (
<>
<DetailMainDonasi />
</>
);
}

View File

@@ -0,0 +1,14 @@
import { DetailPublishDonasi } from "@/app_modules/donasi";
import { Donasi_getCountDonatur } from "@/app_modules/donasi/fun/count/get_count_donatur";
import { Donasi_getOneById } from "@/app_modules/donasi/fun/get/get_one_donasi_by_id";
export default async function Page({ params }: { params: { id: string } }) {
const dataPublish = await Donasi_getOneById(params.id);
const countDonatur= await Donasi_getCountDonatur(params.id)
return (
<>
<DetailPublishDonasi dataPublish={dataPublish as any} countDonatur={countDonatur} />
</>
);
}

View File

@@ -1,7 +0,0 @@
import { DetailPublishDonasi } from "@/app_modules/donasi";
export default async function Page() {
return<>
<DetailPublishDonasi/>
</>
}

View File

@@ -0,0 +1,11 @@
import { DetailRejectDonasi } from "@/app_modules/donasi";
import { Donasi_getOneById } from "@/app_modules/donasi/fun/get/get_one_donasi_by_id";
export default async function Page({params}: {params: {id: string}}) {
let donasiId= params.id
const dataReject = await Donasi_getOneById(donasiId)
return<>
<DetailRejectDonasi dataReject={dataReject as any}/>
</>
}

View File

@@ -1,7 +0,0 @@
import { DetailRejectDonasi } from "@/app_modules/donasi";
export default async function Page() {
return<>
<DetailRejectDonasi/>
</>
}

View File

@@ -1,5 +1,8 @@
import { MainDonasi } from "@/app_modules/donasi";
import { Donasi_getListBeranda } from "@/app_modules/donasi/fun/get/get_list_beranda";
export default async function Page() {
return <MainDonasi/>
const listDonasi = await Donasi_getListBeranda()
// console.log(listDonasi)
return <MainDonasi listDonasi={listDonasi as any}/>
}

View File

@@ -1,5 +1,10 @@
import { DonasiSayaDonasi } from "@/app_modules/donasi";
import { Donasi_getInvoiceByAuthorId } from "@/app_modules/donasi/fun/get/get_list_invoice_by_author_id";
import { getToken_UserId } from "@/app_modules/fun/get_user_token";
export default async function Page() {
return <DonasiSayaDonasi/>
}
const authorId = await getToken_UserId();
const listInvoice = await Donasi_getInvoiceByAuthorId(authorId);
return <DonasiSayaDonasi listInvoice={listInvoice as any} />;
}

View File

@@ -4,14 +4,16 @@ import { getToken_UserId } from "@/app_modules/fun/get_user_token";
export default async function Page() {
const authorId = await getToken_UserId();
const listPublish = await Donasi_getByStatus(authorId, "1")
const listReview = await Donasi_getByStatus(authorId, "2");
const listDraft = await Donasi_getByStatus(authorId, "3");
const listReject = await Donasi_getByStatus(authorId, "4")
// console.log(listReview)
return (
<>
<PostingDonasi listReview={listReview} listDraft={listDraft} />
<PostingDonasi listPublish={listPublish} listReview={listReview} listDraft={listDraft} listReject={listReject} />
</>
);
}

View File

@@ -1,5 +0,0 @@
import { MasukanDonasi } from "@/app_modules/donasi";
export default async function Page() {
return <MasukanDonasi/>
}

View File

@@ -0,0 +1,13 @@
import { PenggalangDanaDonasi } from "@/app_modules/donasi";
import { Donasi_getAuthorById } from "@/app_modules/donasi/fun/get/get_author_by_id";
export default async function Page({ params }: { params: { id: string } }) {
let authorId = params.id;
const dataPenggalang = await Donasi_getAuthorById(authorId);
return (
<>
<PenggalangDanaDonasi dataPenggalang={dataPenggalang as any} />
</>
);
}

View File

@@ -1,10 +0,0 @@
import { PenggalangDanaDonasi } from "@/app_modules/donasi";
export default async function Page() {
return (
<>
<PenggalangDanaDonasi />
</>
);
}

View File

@@ -0,0 +1,8 @@
import { LayoutDonasi_InvoiceProses } from "@/app_modules/donasi";
import React from "react";
export default async function Layout({children}: {children: React.ReactNode}) {
return<>
<LayoutDonasi_InvoiceProses>{children}</LayoutDonasi_InvoiceProses>
</>
}

View File

@@ -0,0 +1,11 @@
import { Donasi_InvoiceProses } from "@/app_modules/donasi";
import { Donasi_getOneById } from "@/app_modules/donasi/fun/get/get_one_donasi_by_id";
import { Donasi_getOneInvoiceById } from "@/app_modules/donasi/fun/get/get_one_invoice_by_id";
export default async function Page({ params }: { params: { id: string } }) {
let invoiceId = params.id;
const dataInvoice = await Donasi_getOneInvoiceById(invoiceId);
return <Donasi_InvoiceProses dataInvoice={dataInvoice as any} />;
}

View File

@@ -0,0 +1,6 @@
import { MasukanDonasi } from "@/app_modules/donasi";
export default async function Page({params}: {params : {id: string}}) {
let donasiId = params.id
return <MasukanDonasi donasiId={donasiId}/>
}

View File

@@ -0,0 +1,8 @@
import { LayoutDonasi_MetodePembayaran } from "@/app_modules/donasi";
import React from "react";
export default async function Layout({children}: {children: React.ReactNode}) {
return<>
<LayoutDonasi_MetodePembayaran>{children}</LayoutDonasi_MetodePembayaran>
</>
}

View File

@@ -0,0 +1,13 @@
import { Donasi_MetodePembayaran } from "@/app_modules/donasi";
import { Donasi_getMasterBank } from "@/app_modules/donasi/fun/master/get_bank";
import { getToken_UserId } from "@/app_modules/fun/get_user_token";
export default async function Page({params}: {params: {id: string}}) {
let donasiId= params.id
const listBank = await Donasi_getMasterBank()
const authorId = await getToken_UserId()
return<>
<Donasi_MetodePembayaran listBank={listBank} donasiId={donasiId} authorId={authorId}/>
</>
}

View File

@@ -0,0 +1,8 @@
import { LayoutDonasi_ProsesTransaksi } from "@/app_modules/donasi";
import React from "react";
export default async function Layout({children}:{children: React.ReactNode}) {
return<>
<LayoutDonasi_ProsesTransaksi>{children}</LayoutDonasi_ProsesTransaksi>
</>
}

View File

@@ -0,0 +1,13 @@
import { Donasi_ProsesTransaksi } from "@/app_modules/donasi";
import { Donasi_getOneInvoiceById } from "@/app_modules/donasi/fun/get/get_one_invoice_by_id";
export default async function Page({params}: {params: {id: string}}) {
// console.log(params.id)
const dataInvoice = await Donasi_getOneInvoiceById(params.id)
// console.log(dataInvoice)
return (
<>
<Donasi_ProsesTransaksi dataInvoice={dataInvoice as any} />
</>
);
}

View File

@@ -23,8 +23,13 @@ export const RouterAdminDonasi = {
// detail
detail_publish: "/dev/admin/donasi/detail/publish",
detail_publish: "/dev/admin/donasi/detail/publish/",
detail_review: "/dev/admin/donasi/detail/review/",
detail_reject: "/dev/admin/donasi/detail/reject/",
// proses
proses_transaksi: "/dev/admin/donasi/proses_transaksi/"
};

View File

@@ -23,20 +23,28 @@ export const RouterDonasi = {
page_pop_up_create: "/dev/donasi/page_pop_up/create",
//detail
detail_main: "/dev/donasi/detail/detail_main",
detail_main: "/dev/donasi/detail/detail_main/",
detail_kabar: "/dev/donasi/detail/detail_kabar",
detail_publish: "/dev/donasi/detail/detail_publish",
detail_publish: "/dev/donasi/detail/detail_publish/",
detail_review: "/dev/donasi/detail/detail_review/",
detail_draft: "/dev/donasi/detail/detail_draft/",
detail_reject: "/dev/donasi/detail/detail_reject",
detail_donasi_saya: "/dev/donasi/detail/detail_donasi_saya",
detail_reject: "/dev/donasi/detail/detail_reject/",
detail_donasi_saya: "/dev/donasi/detail/detail_donasi_saya/",
//alur donasi
masukan_donasi: "/dev/donasi/masukan_donasi",
donatur: "/dev/donasi/donatur",
kabar: "/dev/donasi/kabar",
pencairan_dana: "/dev/donasi/pencairan_dana",
penggalang_dana: "/dev/donasi/penggalang_dana",
penggalang_dana: "/dev/donasi/penggalang_dana/",
cerita_penggalang: "/dev/donasi/cerita_penggalang/",
list_kabar: "/dev/donasi/list_kabar",
// proses donasi
masukan_donasi: "/dev/donasi/proses_donasi/masukan_donasi/",
metode_pembayaran: "/dev/donasi/proses_donasi/metode_pembayaran/",
invoice: "/dev/donasi/proses_donasi/invoice/",
proses_transaksi: "/dev/donasi/proses_donasi/proses_transaksi/",
};