feat(pembiayaan-online): let PC upload the signed gadai online confirmation form
This commit is contained in:
@@ -62,6 +62,7 @@ class PembiayaanOnlineController extends Controller
|
||||
'kodbank', 'noakaun', 'nama_bank', 'nama_akaun', 'nota',
|
||||
'bukti_akaun_file_id', 'borang_file_id', 'update_customer_bank',
|
||||
'bukti_akaun_data', 'bukti_akaun_filename', 'bukti_akaun_type',
|
||||
'borang_data', 'borang_filename', 'borang_type',
|
||||
] as $key) {
|
||||
if ($request->has($key)) {
|
||||
$input[$key] = $request->input($key);
|
||||
@@ -214,6 +215,14 @@ class PembiayaanOnlineController extends Controller
|
||||
return $this->respond($this->service->getBuktiAkaun($kodcaw, $id));
|
||||
}
|
||||
|
||||
/**
|
||||
* GET /api/pembiayaan-online/{kodcaw}/lines/{id}/borang
|
||||
*/
|
||||
public function getBorang($kodcaw, $id)
|
||||
{
|
||||
return $this->respond($this->service->getBorang($kodcaw, $id));
|
||||
}
|
||||
|
||||
/**
|
||||
* GET /api/pembiayaan-online/{kodcaw}/paid?blast_sent=0
|
||||
*/
|
||||
|
||||
@@ -415,6 +415,19 @@ class PembiayaanOnlineService
|
||||
$fields['bukti_akaun_file_id'] = $saved['payload']['id'];
|
||||
}
|
||||
|
||||
if (!empty($input['borang_data'])) {
|
||||
$saved = $this->storeBuktiFile([
|
||||
'data' => $input['borang_data'],
|
||||
'filename' => $input['borang_filename'] ?? null,
|
||||
'type' => $input['borang_type'] ?? null,
|
||||
]);
|
||||
if (!$saved['ok']) {
|
||||
$saved['payload']['message'] = 'Borang pengesahan diperlukan: fail, nama fail dan jenis fail.';
|
||||
return $saved;
|
||||
}
|
||||
$fields['borang_file_id'] = $saved['payload']['id'];
|
||||
}
|
||||
|
||||
if (empty($fields)) {
|
||||
return [
|
||||
'ok' => false,
|
||||
@@ -1759,6 +1772,65 @@ class PembiayaanOnlineService
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get attached signed online-financing confirmation form (borang_file_id).
|
||||
*
|
||||
* @return array{ok:bool,status:int,payload:mixed}
|
||||
*/
|
||||
public function getBorang($kodcaw, $id)
|
||||
{
|
||||
$resolved = $this->resolveMysql($kodcaw);
|
||||
if (!$resolved['ok']) {
|
||||
return $resolved;
|
||||
}
|
||||
|
||||
$line = PembiayaanOnline::on($resolved['mysql'])
|
||||
->where('kodcaw', $kodcaw)
|
||||
->where('id', $id)
|
||||
->first();
|
||||
|
||||
if (!$line) {
|
||||
return [
|
||||
'ok' => false,
|
||||
'status' => 404,
|
||||
'payload' => ['message' => 'Pembiayaan online tidak dijumpai'],
|
||||
];
|
||||
}
|
||||
|
||||
if (empty($line->borang_file_id)) {
|
||||
return [
|
||||
'ok' => false,
|
||||
'status' => 404,
|
||||
'payload' => ['message' => 'Borang pengesahan belum dimuat naik'],
|
||||
];
|
||||
}
|
||||
|
||||
$file = ARFiles::on('mysql7')->where('id', $line->borang_file_id)->first();
|
||||
if (!$file) {
|
||||
return [
|
||||
'ok' => false,
|
||||
'status' => 404,
|
||||
'payload' => ['message' => 'Fail borang pengesahan tidak dijumpai'],
|
||||
];
|
||||
}
|
||||
|
||||
return [
|
||||
'ok' => true,
|
||||
'status' => 200,
|
||||
'payload' => [
|
||||
'pembiayaan_online_id' => $line->id,
|
||||
'norujukan' => $line->norujukan,
|
||||
'file' => [
|
||||
'id' => $file->id,
|
||||
'filename' => $file->filename,
|
||||
'type' => $file->type,
|
||||
'tarikhmasa' => $file->tarikhmasa,
|
||||
'data' => $file->data,
|
||||
],
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* PC list of PAID lines awaiting blast / tally.
|
||||
*
|
||||
|
||||
@@ -723,6 +723,7 @@ $router->group(['prefix'=>'api'], function () use ($router){
|
||||
$router->post('pembiayaan-online/{kodcaw}/lines/{id}/unverify', ['uses' => 'PembiayaanOnlineController@unverifyLine']);
|
||||
$router->get('pembiayaan-online/{kodcaw}/lines/{id}/bukti', ['uses' => 'PembiayaanOnlineController@getBukti']);
|
||||
$router->get('pembiayaan-online/{kodcaw}/lines/{id}/bukti-akaun', ['uses' => 'PembiayaanOnlineController@getBuktiAkaun']);
|
||||
$router->get('pembiayaan-online/{kodcaw}/lines/{id}/borang', ['uses' => 'PembiayaanOnlineController@getBorang']);
|
||||
$router->get('pembiayaan-online/{kodcaw}/lines/{id}', ['uses' => 'PembiayaanOnlineController@showLine']);
|
||||
$router->get('pembiayaan-online/{kodcaw}/batches', ['uses' => 'PembiayaanOnlineController@listBatches']);
|
||||
$router->get('pembiayaan-online/{kodcaw}/batches/{batchId}', ['uses' => 'PembiayaanOnlineController@showBatch']);
|
||||
|
||||
Reference in New Issue
Block a user