update status

This commit is contained in:
afiq
2021-06-10 13:24:37 +08:00
parent 55d494296a
commit 37bb86c860
4 changed files with 158 additions and 4 deletions
@@ -21,9 +21,9 @@ class TacExpressPaymentController extends Controller
'expired_at' => $expired_at
]);
// $mobileno = '6'.$request->mobileno;
$mobileno = '60189025461';
$messages = 'AR-RAHN PKB ' . $request->cawangan . ' : TAC: ' . $request->otp_token . ' ' . $currentDateTime . '. AR-RAHN CARELINE CENTRE 1300-22-4343';
$mobileno = '6'.$request->mobileno;
// $mobileno = '60189025461';
$messages = 'SPARE : SMS-OTP '. $request->otp_token . ' for one time usage on ' . $expired_at . '. Call AR-RAHN CARELINE CENTRE 1300-22-4343 if not request';
$status = Http::get('http://gateway.onewaysms.com.au:10001/api.aspx',[
'apiusername' => 'APIQ4LP5EMKXM',
@@ -3,6 +3,10 @@
namespace App\Http\Controllers;
use App\TransactionOnline;
use App\Advansur;
use App\Transaction;
use App\TransaksiKeuntungan;
use App\Gadai;
use Illuminate\Http\Request;
use Carbon\Carbon;
@@ -50,4 +54,153 @@ class TransactionOnlineController extends Controller
return response()->json($transaction,200);
}
public function updateTransactionOnline(){
$transactions = TransactionOnline::on('mysql7')->where([['status','PAID'],['update_status',0]])->get();
foreach($transactions as $index=>$transaction){
$cawangan = Cawangan::on('mysql7')
->where('kodcaw','=',$transaction['kodcaw'])
->first();
$gadai_data = Gadai::on($cawangan['mysql'])->where([['norujukan',$transaction['norujukan']],['nokp',$transaction['nokp']]])->first();
if($gadai_data['hargajualan'] > 0){
$this->updateGadaiMarhunKaunter($transaction['kodcaw'],$transaction['norujukan'],$transaction['total_payment'],$transaction['paid_at']);
}else{
$this->createAdvansur($transaction['kodcaw'],$transaction['norujukan'],$transaction['total_payment'],$transaction['paid_at']);
}
TransactionOnline::on('mysql7')->where('norujukan',$transaction['norujukan'])->update([
'update_status' => 1
]);
}
return response()->json($transaction);
}
public function kiraupahTawarruq($kodcaw,$norujukan){
$cawangan = Cawangan::on('mysql7')
->where('kodcaw','=',$kodcaw)
->first();
$gadai_data = Gadai::on($cawangan['mysql'])
->where('norujukan','=',$norujukan)
->first();
$bilang_bln = $gadai_data['tempoh'] - $gadai_data['tempohbayar'];
$upahsemasa_raw = $bilang_bln * (($gadai_data['kadarupah']/100 )* $gadai_data['pinjaman']);
$upah_semasa_round = number_format($upahsemasa_raw,2);
$upah_semasa = (float)substr($upah_semasa_round, 0, -1);
return $upah_semasa;
}
public function kiraUpahRebet($kodcaw,$norujukan){
$cawangan = Cawangan::on('mysql7')
->where('kodcaw','=',$kodcaw)
->first();
$gadai_data = Gadai::on($cawangan['mysql'])
->where('norujukan','=',$norujukan)
->first();
$bilang_bln = $gadai_data['tempoh'] - $gadai_data['tempohbayar'];
$upahrebet_raw = $bilang_bln * (($gadai_data['kadarupah']/100 )* $gadai_data['bakipjm']);
$upah_rebet_round = number_format($upahrebet_raw,2);
$upah_rebet = (float)substr($upah_rebet_round, 0, -1);
return $upah_rebet;
}
public function updateGadaiMarhunKaunter($kodcaw,$norujukan,$bayaran,$paid_at){
$current = Carbon::now();
$current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->first();
$upahsemasa = $this->kiraupahTawarruq($kodcaw,$norujukan);
$upahrebet = $this->kiraUpahRebet($kodcaw,$norujukan);
$total_bayaran_prev = Transaction::on('mysql7')->where([['norujukan','=',$norujukan],['trans_type','=','A']])->sum('duit_masuk');
$total_bayaran_semasa = $total_bayaran_prev + $bayaran;
if($total_bayaran_semasa >= $gadai['bakiupah']){
$lelong_tawarruq = 0;
}else{
$lelong_tawarruq = 1;
}
$baki_hargajualan = $gadai['bakihargajualan'] - $bayaran;
$baki_bayaran = $bayaran - $upahsemasa;
$baki_pinjaman = $gadai['bakipjm'] - $baki_bayaran;
$transaction = Transaction::on('mysql7')->create([
'trans_type' => 'A',
'norujukan' => $norujukan,
'nokp' => $gadai['nokp'],
'teller' => 'Online',
'kodcaw' => $kodcaw,
'duit_masuk' => $bayaran,
'created_at' => $paid_at,
'bakiharga' => $baki_hargajualan,
]);
$transaction_upah = TransaksiKeuntungan::on('mysql7')->create([
'norujukan' => $norujukan,
'bayaran_keuntungan' => $upahsemasa,
'bayaran_pembiayaan' => $baki_bayaran,
'keuntungan_rebet'=> $upahrebet,
'tarikh_bayaran'=> $paid_at,
'kodcaw'=> $kodcaw
]);
$update_gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->update(array(
'bakipjm' => $baki_pinjaman,
'jbg' => 0,
't_update' => $paid_at->toDateString(),
'bakihargajualan' => $baki_hargajualan,
'tempohbayar' => $gadai['tempoh'],
'lelong_tawarruq' => $lelong_tawarruq
));
return response()->json($update_gadai, 200);
}
public function createAdvansur($kodcaw,$norujukan,$bayaran,$paid_at){
$current = Carbon::now();
$current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$gadai = Gadai::on($cawangan['mysql'])->where('norujukan',$norujukan)->first();
$create_advansur = Advansur::on($cawangan['mysql'])->create([
'tarikh'=> $paid_at->toDateString(),
'noresit'=> 0,
'norujukan' => $norujukan,
'nopelanggan' => $gadai['nopelanggan'],
'nilaimarhun' => $gadai['nilaimarhun'],
'pinjaman' => $gadai['pinjaman'],
'kadarupah' => $gadai['kadarupah'],
'glcode' => "1000/010",
'upahsebenar' => $bayaran,
'upahDibayar' => $bayaran,
'teller' => 'Online',
'prkod' => $gadai['prkod'],
'jbg' => $gadai['tempoh'],
'nowakil' => 0,
'hubungan' => 0,
'status' => 0,
'historygadaian' => $norujukan
]);
return response()->json($create_advansur ,201);
}
}
+1 -1
View File
@@ -15,7 +15,7 @@ class TransactionOnline extends Model
* @var array
*/
protected $fillable = [
'nokp','reference_no','nosiri','total_payment','tarikh','masa','status','billplz_id','kodcaw','norujukan','paid_at','customer_name'
'nokp','reference_no','nosiri','total_payment','tarikh','masa','status','billplz_id','kodcaw','norujukan','paid_at','customer_name','update_status','update_serahan'
];
/**
+1
View File
@@ -191,6 +191,7 @@ $router->group(['prefix'=>'api'], function () use ($router){
$router->post('online/transaction',['uses'=>'TransactionOnlineController@create']);
$router->put('online/transaction',['uses'=>'TransactionOnlineController@updateStatus']);
$router->get('transaction/online/express',['uses'=>'TransactionOnlineController@getTransactionOnline']);
$router->get('transaction/online/update',['uses'=>'TransactionOnlineController@updateTransactionOnline']);
//ANSURAN UPAH API