forked from pamongdesa/pdbackend
-
Notifications
You must be signed in to change notification settings - Fork 1
Modul
Rolly Maulana Awangga edited this page Sep 20, 2024
·
10 revisions
Modul terletak pada folder mod yang diatur oleh file modcaller.go
Buat api get(url/phonenumber) dengan header token untuk mengecek kontak helpdesk dari user dengan response:
{
"success": true,
"data": {
"fullname": "John Doe",
"province": "Central Java",
"regency": "Semarang",
"district": "Banyumanik",
"village": "Ngesrep",
"contact_admin_regency": [
{
"fullname": "Admin Regency",
"phone": "+628123456789"
}
],
"contact_admin_province": [
{
"fullname": "Admin Province",
"phone": "+628987654321"
}
]
}
}
Merupakan modul inti dari chatbot dengan nama modcaller helpdesk dengan memanggil fungsi HelpdeskPDLMS. alurnya
- Cek apakah tiket sudah tutup atau belum
- jikaada yang belum closed, lanjutkan sesi hub. pesan ke user,inject menu session untuk menutup tiket.
- Jika tiket sudah clear, cek apakah user sudah terdaftar atau belum
- Jika belum terdaftar maka akan memanggil fungsi UserNotFound. Jika ada maka lanjut memroses data struct res lms.ResponseAPIPD
- Jika struct kosogn data kontak admin provinsi maka akan memanggil fungsi AdminNotFoundWithProvinsi
- jika arraynya ada adminnya maka lanjut ke start session hub
- pesan ke admin,pesan ke user,inject menu session untuk menutup tiket
- Jika user tidak terdaftar maka check session dulu menu.CheckSession(Pesan.Phone_number, db)
- Mengeluarkan list operator pusat dengan memanggil fungsi : menu.GetMenuFromKeywordAndSetSession("adminpusat", Sesdoc, db)
Jika user terdaftar tapi belum ada operator provinsi maka akan mengeluarkan list operator pusat yang ditugaskan untuk provinsi tersebut
- tambah lojik query ke provinsi
- insert ke database dan set hub session
- inject menu session untuk menutup tiket
penugasan helpdeskpusat jika user belum terdaftar, ini limpahan dari pilihan func UserNotFound. Modul dispatch ke admin pusat dengan pilihan regional, modcaller fungsi : helpdesk.HelpdeskPusat(Profile, Pesan, db)
- GetPrefillMessage("adminbantuanadmin", db) pesan untuk admin
- GetPrefillMessage("userbantuanadmin", db) pesan untuk user
- insert ke database dan set hub session
- inject menu session untuk menutup tiket