[WIP] Cashless
This commit is contained in:
@@ -46,4 +46,15 @@ class ClaimController extends Controller
|
|||||||
|
|
||||||
return Helper::responseJson($claim);
|
return Helper::responseJson($claim);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function updateClaimDiagnosis(Request $request)
|
||||||
|
{
|
||||||
|
$request->validate([
|
||||||
|
'claim_code' => 'required',
|
||||||
|
'icd_codes' => 'required'
|
||||||
|
]);
|
||||||
|
|
||||||
|
// dd($request->toArray());
|
||||||
|
return $request->toArray();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,39 +53,43 @@ class MembershipController extends Controller
|
|||||||
|
|
||||||
$limits = ClaimService::showMemberBenefitLimit($member, $benefitCode);
|
$limits = ClaimService::showMemberBenefitLimit($member, $benefitCode);
|
||||||
$limits['postponed_claims'] = $member->postponedClaims;
|
$limits['postponed_claims'] = $member->postponedClaims;
|
||||||
$limits['postponed_claims_payment_url'] = "http://google.com";
|
$limits['postponed_claims_payment_url'] = route('postpone-pay', $member->member_id);
|
||||||
$limits['postponed_claims_unpaid_total'] = $member->postponedClaims->sum('total_claim');
|
$limits['postponed_claims_unpaid_total'] = $member->postponedClaims->sum('total_claim');
|
||||||
|
|
||||||
|
$corporateService = $member->currentCorporate
|
||||||
|
->corporateServices()
|
||||||
|
->active()
|
||||||
|
->where('service_code', 'OP')
|
||||||
|
->with([
|
||||||
|
'configs',
|
||||||
|
'specialities' => function ($speciality) use ($request) {
|
||||||
|
$speciality->where('code', $request->speciality_code)
|
||||||
|
->wherePivot('active', 1);
|
||||||
|
}])
|
||||||
|
->first();
|
||||||
|
|
||||||
|
$configs = $corporateService->configs->mapWithKeys(function ($config) {
|
||||||
|
return [$config->name => $config];
|
||||||
|
});
|
||||||
|
|
||||||
|
$coverage = [
|
||||||
|
'benefit' => false,
|
||||||
|
'admin_fee' => false,
|
||||||
|
'medicine_benefit' => true, // TODO Make this into setting ?
|
||||||
|
'medicine_delivery_fee' => false
|
||||||
|
];
|
||||||
|
$coverage['medicine_delivery_fee'] = (($configs['delivery_fee']['value'] ?? 1) == 1);
|
||||||
|
$coverage['gp_benefit'] = (($configs['gp_internal_doctor_online']['value'] ?? 1) == 1);
|
||||||
|
$coverage['gp_admin_fee'] = (($configs['general_practitioner_fee']['value'] ?? 1) == 1);
|
||||||
|
$coverage['sp_benefit'] = (($configs['sp_internal_doctor_online']['value'] ?? 1) == 1);
|
||||||
|
$coverage['sp_admin_fee'] = (($configs['specialist_practitioner_fee']['value'] ?? 1) == 1);
|
||||||
|
|
||||||
if ($request->has('speciality_code') && !empty($request->speciality_code)) {
|
if ($request->has('speciality_code') && !empty($request->speciality_code)) {
|
||||||
$corporateService = $member->currentCorporate
|
|
||||||
->corporateServices()
|
|
||||||
->active()
|
|
||||||
->where('service_code', 'OP')
|
|
||||||
->with([
|
|
||||||
'specialities' => function ($speciality) use ($request) {
|
|
||||||
$speciality->where('code', $request->speciality_code)
|
|
||||||
->wherePivot('active', 1);
|
|
||||||
}])
|
|
||||||
->first();
|
|
||||||
|
|
||||||
// $rules = $corporateServiceConfigs->
|
if (empty($corporateService) || empty($corporateService->specialities)) {
|
||||||
// dd($corporateServiceConfigs->toArray());
|
$coverage['benefit'] = false;
|
||||||
if (empty($corporateService)) {
|
$coverage['admin_fee'] = false;
|
||||||
$limit['coverage'] = [
|
$limits['coverage'] = $coverage;
|
||||||
'benefit' => false,
|
|
||||||
'admin_fee' => false,
|
|
||||||
'delivery_fee' => false
|
|
||||||
];
|
|
||||||
|
|
||||||
return Helper::responseJson(data: $limits);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (empty($corporateService->specialities)) {
|
|
||||||
$limit['coverage'] = [
|
|
||||||
'benefit' => false,
|
|
||||||
'admin_fee' => false,
|
|
||||||
'delivery_fee' => false
|
|
||||||
];
|
|
||||||
|
|
||||||
return Helper::responseJson(data: $limits);
|
return Helper::responseJson(data: $limits);
|
||||||
}
|
}
|
||||||
@@ -94,8 +98,6 @@ class MembershipController extends Controller
|
|||||||
|
|
||||||
// Load the Relation Data after speciality check is supported
|
// Load the Relation Data after speciality check is supported
|
||||||
$corporateService->load([
|
$corporateService->load([
|
||||||
'configs',
|
|
||||||
// 'configs.exclusions.rules',
|
|
||||||
'corporateServiceSpecialities' => function ($corporateServiceSpeciality) use ($currentSpeciality) {
|
'corporateServiceSpecialities' => function ($corporateServiceSpeciality) use ($currentSpeciality) {
|
||||||
$corporateServiceSpeciality->where('speciality_id', $currentSpeciality->id);
|
$corporateServiceSpeciality->where('speciality_id', $currentSpeciality->id);
|
||||||
},
|
},
|
||||||
@@ -105,10 +107,6 @@ class MembershipController extends Controller
|
|||||||
'corporateServiceSpecialities.exclusions.rules'
|
'corporateServiceSpecialities.exclusions.rules'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$configs = $corporateService->configs->mapWithKeys(function ($config) {
|
|
||||||
return [$config->name => $config];
|
|
||||||
});
|
|
||||||
|
|
||||||
$serviceSpeciality = $corporateService->corporateServiceSpecialities->first() ?? null;
|
$serviceSpeciality = $corporateService->corporateServiceSpecialities->first() ?? null;
|
||||||
$serviceSpecialityRules = $serviceSpeciality->exclusions->first()->rules ?? collect([]);
|
$serviceSpecialityRules = $serviceSpeciality->exclusions->first()->rules ?? collect([]);
|
||||||
$serviceSpecialityRules = $serviceSpecialityRules->mapWithKeys(function ($rule) {
|
$serviceSpecialityRules = $serviceSpecialityRules->mapWithKeys(function ($rule) {
|
||||||
@@ -116,16 +114,6 @@ class MembershipController extends Controller
|
|||||||
});
|
});
|
||||||
|
|
||||||
$gpSpecialityName = config('aso.general_practitioner_speciality_name', 'Umum');
|
$gpSpecialityName = config('aso.general_practitioner_speciality_name', 'Umum');
|
||||||
// dd($serviceSpecialityRules->toArray());
|
|
||||||
|
|
||||||
$coverage = [
|
|
||||||
'benefit' => false,
|
|
||||||
'admin_fee' => false,
|
|
||||||
'delivery_fee' => false
|
|
||||||
];
|
|
||||||
|
|
||||||
// dd($configs->toArray());
|
|
||||||
// dd($gpSpecialityName, $currentSpeciality->name);
|
|
||||||
|
|
||||||
if ($gpSpecialityName == $currentSpeciality->name) {
|
if ($gpSpecialityName == $currentSpeciality->name) {
|
||||||
// To General Practitioner
|
// To General Practitioner
|
||||||
@@ -202,17 +190,9 @@ class MembershipController extends Controller
|
|||||||
$coverage['benefit'] = true;
|
$coverage['benefit'] = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$limits['coverage'] = $coverage;
|
|
||||||
} else {
|
|
||||||
|
|
||||||
$limits['coverage'] = [
|
|
||||||
'benefit' => true,
|
|
||||||
'admin_fee' => true,
|
|
||||||
'delivery_fee' => true
|
|
||||||
];
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$limits['coverage'] = $coverage;
|
||||||
|
|
||||||
return Helper::responseJson(data: $limits);
|
return Helper::responseJson(data: $limits);
|
||||||
}
|
}
|
||||||
|
|||||||
55
app/Http/Controllers/Api/OLDLMS/PaymentController.php
Normal file
55
app/Http/Controllers/Api/OLDLMS/PaymentController.php
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Api\OLDLMS;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use App\Models\Member;
|
||||||
|
use App\Services\Duitku;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Str;
|
||||||
|
|
||||||
|
class PaymentController extends Controller
|
||||||
|
{
|
||||||
|
public function postponePay($memberId)
|
||||||
|
{
|
||||||
|
$member = Member::where('member_id', $memberId)->with('postponedClaims')->firstOrFail();
|
||||||
|
|
||||||
|
$totalBill = $member->postponedClaims->sum('total_claim');
|
||||||
|
|
||||||
|
$config_duitku = [
|
||||||
|
'merchant_code' => env('DUITKU_MERCHANT_CODE'),
|
||||||
|
'merchant_key' => env('DUITKU_MERCHANT_KEY'),
|
||||||
|
];
|
||||||
|
$paymentService = new Duitku($config_duitku);
|
||||||
|
|
||||||
|
$invoice = (object) [
|
||||||
|
'invoice_number' => 'INV'.Str::random(5, 5),
|
||||||
|
];
|
||||||
|
|
||||||
|
$user = (object) [
|
||||||
|
'email' => $member->email,
|
||||||
|
'phone' => $member->phone,
|
||||||
|
'name' => $member->name,
|
||||||
|
'last_name' => $member->last_name ?? '',
|
||||||
|
'address' => collect([
|
||||||
|
'line' => 'Alamat',
|
||||||
|
'city' => (object) [
|
||||||
|
'name' => 'Tangerang Selatan'
|
||||||
|
]
|
||||||
|
]),
|
||||||
|
'postal_code' => '124123',
|
||||||
|
];
|
||||||
|
|
||||||
|
$paymentCreate = (object) [
|
||||||
|
'transaction_id' => Str::random(10, 10)
|
||||||
|
];
|
||||||
|
$paymentMethod = (object) [
|
||||||
|
'code' => 'BC',
|
||||||
|
'timeout' => 60
|
||||||
|
];
|
||||||
|
$paymentService->applyInvoice($user, $invoice, $paymentCreate, $totalBill, $paymentMethod);
|
||||||
|
$duitkuPayment = $paymentService->createPayment();
|
||||||
|
|
||||||
|
return redirect($duitkuPayment->paymentUrl);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -179,7 +179,7 @@ class Plan extends Model
|
|||||||
|
|
||||||
public function benefits()
|
public function benefits()
|
||||||
{
|
{
|
||||||
return $this->belongsToMany(Benefit::class, 'corporate_benefits', 'plan_id', 'id')
|
return $this->belongsToMany(Benefit::class, 'corporate_benefits', 'plan_id', 'benefit_id')
|
||||||
->withTimestamps()
|
->withTimestamps()
|
||||||
->withPivot([
|
->withPivot([
|
||||||
// TODO corporate_benefits pivot
|
// TODO corporate_benefits pivot
|
||||||
|
|||||||
28
app/Providers/DuitkuServiceProvider.php
Normal file
28
app/Providers/DuitkuServiceProvider.php
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Providers;
|
||||||
|
|
||||||
|
use Illuminate\Support\ServiceProvider;
|
||||||
|
|
||||||
|
class DuitkuServiceProvider extends ServiceProvider
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Register services.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function register()
|
||||||
|
{
|
||||||
|
require_once app_path() . '/Services/Duitku.php';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bootstrap services.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function boot()
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -112,6 +112,7 @@ class ClaimService{
|
|||||||
// $policy = $member->currentPolicy;
|
// $policy = $member->currentPolicy;
|
||||||
// $corporate = $member->currentCorporate;
|
// $corporate = $member->currentCorporate;
|
||||||
$benefit = $member->currentPlan->benefits()->where('code', $benefit_code)->first();
|
$benefit = $member->currentPlan->benefits()->where('code', $benefit_code)->first();
|
||||||
|
// dd($member->currentPlan->benefits->toArray());
|
||||||
$corporateBenefit = $member->currentPlan->corporateBenefits()->where('benefit_id', $benefit->id)->first();
|
$corporateBenefit = $member->currentPlan->corporateBenefits()->where('benefit_id', $benefit->id)->first();
|
||||||
|
|
||||||
// dd($benefit->toArray());
|
// dd($benefit->toArray());
|
||||||
|
|||||||
228
app/Services/Duitku.php
Normal file
228
app/Services/Duitku.php
Normal file
@@ -0,0 +1,228 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Services;
|
||||||
|
|
||||||
|
// use Illuminate\Support\Facades\Config;
|
||||||
|
use Illuminate\Support\Facades\Http;
|
||||||
|
|
||||||
|
use Duitku\Config;
|
||||||
|
|
||||||
|
use Exception;
|
||||||
|
|
||||||
|
class Duitku
|
||||||
|
{
|
||||||
|
public function __construct($config_duitku)
|
||||||
|
{
|
||||||
|
$merchantKey = $config_duitku['merchant_key'];
|
||||||
|
$merchantCode = $config_duitku['merchant_code'];
|
||||||
|
|
||||||
|
$this->duitkuConfig = new Config($merchantKey, $merchantCode);
|
||||||
|
$this->duitkuConfig->setSandboxMode(env('DUITKU_SANDBOX', true));
|
||||||
|
|
||||||
|
|
||||||
|
// $duitkuConfig = new \Duitku\Config("3b4264fb0118bab008448a67e83f6cbe", "DS12798");
|
||||||
|
|
||||||
|
// // false for production mode
|
||||||
|
// // true for sandbox mode
|
||||||
|
// $duitkuConfig->setSandboxMode(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function applyInvoice($patient, $invoices, $paymentCreate, $total_price, $paymentMethods)
|
||||||
|
{
|
||||||
|
|
||||||
|
$paymentMethod = $paymentMethods->code;
|
||||||
|
$paymentAmount = $total_price; // Amount
|
||||||
|
|
||||||
|
$email = $patient->email ?? ''; //"customer@gmail.com"; // your customer email
|
||||||
|
$phoneNumber = $patient->phone ?? ''; //"081234567890"; // your customer phone number (optional)
|
||||||
|
$productDetails = $invoices->invoice_number;
|
||||||
|
|
||||||
|
$merchantOrderId = $paymentCreate->transaction_id; // from merchant, unique
|
||||||
|
// dd($merchantOrderId);
|
||||||
|
$additionalParam = ''; // optional
|
||||||
|
$merchantUserInfo = ''; // optional
|
||||||
|
$customerVaName = $patient->name ?? ''; // display name on bank confirmation display
|
||||||
|
$callbackUrl = env('DUITKU_PAYMENT_CALLBACK_URL'); // url for callback
|
||||||
|
$returnUrl = 'https://dev-superapp.primaya.id';
|
||||||
|
$expiryPeriod = $paymentMethods->timeout; // set the expired time in minutes
|
||||||
|
|
||||||
|
// Customer Detail
|
||||||
|
$firstName = $patient->name ?? '';
|
||||||
|
// dd($firstName);
|
||||||
|
$lastName = $patient->last_name ?? '';
|
||||||
|
|
||||||
|
// Address
|
||||||
|
$alamat = $patient->address->first()->line ?? '';
|
||||||
|
// dd($alamat);
|
||||||
|
$city = $patient->address->first()->city->name ?? '';
|
||||||
|
// dd($city);
|
||||||
|
$postalCode = $patient->postal_code ?? '';
|
||||||
|
$countryCode = "ID";
|
||||||
|
|
||||||
|
$address = array(
|
||||||
|
'firstName' => $firstName,
|
||||||
|
'lastName' => $lastName,
|
||||||
|
'address' => $alamat,
|
||||||
|
'city' => $city,
|
||||||
|
'postalCode' => $postalCode,
|
||||||
|
'phone' => $phoneNumber,
|
||||||
|
'countryCode' => $countryCode
|
||||||
|
);
|
||||||
|
|
||||||
|
$customerDetail = array(
|
||||||
|
'firstName' => $firstName,
|
||||||
|
'lastName' => $lastName,
|
||||||
|
'email' => $email,
|
||||||
|
'phoneNumber' => $phoneNumber,
|
||||||
|
'billingAddress' => $address,
|
||||||
|
// 'shippingAddress' => $address
|
||||||
|
);
|
||||||
|
|
||||||
|
// $itemDetails = [];
|
||||||
|
// foreach ($invoices->items as $item) {
|
||||||
|
// $itemDetails[] = [
|
||||||
|
// 'name' => $invoices->invoice_number,
|
||||||
|
// 'price' => (int) $item->price_net,
|
||||||
|
// 'quantity' => 1,
|
||||||
|
// ];
|
||||||
|
// }
|
||||||
|
|
||||||
|
$itemDetails = array(
|
||||||
|
array(
|
||||||
|
'name' => $invoices->invoice_number,
|
||||||
|
'price' => (int) $total_price,
|
||||||
|
'quantity' => 1,
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
$params = array(
|
||||||
|
'paymentMethod' => $paymentMethod,
|
||||||
|
'paymentAmount' => (int) $paymentAmount,
|
||||||
|
'merchantOrderId' => $merchantOrderId,
|
||||||
|
'productDetails' => $productDetails,
|
||||||
|
'additionalParam' => $additionalParam,
|
||||||
|
'merchantUserInfo' => $merchantUserInfo,
|
||||||
|
'customerVaName' => $customerVaName,
|
||||||
|
'email' => $email,
|
||||||
|
'phoneNumber' => $phoneNumber,
|
||||||
|
'itemDetails' => $itemDetails,
|
||||||
|
'customerDetail' => $customerDetail,
|
||||||
|
'callbackUrl' => $callbackUrl,
|
||||||
|
'returnUrl' => $returnUrl,
|
||||||
|
'expiryPeriod' => $expiryPeriod
|
||||||
|
);
|
||||||
|
|
||||||
|
$this->transaction_details = $params;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function createPayment()
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
// createInvoice Request
|
||||||
|
$responseDuitku = \Duitku\Api::createInvoice($this->transaction_details, $this->duitkuConfig);
|
||||||
|
|
||||||
|
return json_decode($responseDuitku);
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
throw $e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function checkTransaction($paymentCreate)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
// $merchantOrderId = "96ce0853-35e2-4809-97bf-47463d236773";
|
||||||
|
$merchantOrderId = $paymentCreate->first()->transaction_id;
|
||||||
|
// dd($merchantOrderId);
|
||||||
|
|
||||||
|
$transactionList = \Duitku\Api::transactionStatus($merchantOrderId, $this->duitkuConfig);
|
||||||
|
|
||||||
|
header('Content-Type: application/json');
|
||||||
|
$transaction = json_decode($transactionList);
|
||||||
|
|
||||||
|
// var_dump($transactionList);
|
||||||
|
|
||||||
|
if ($transaction->statusCode == "00") {
|
||||||
|
return response()->json([
|
||||||
|
'data' => $transaction
|
||||||
|
]);
|
||||||
|
} else if ($transaction->statusCode == "01") {
|
||||||
|
return response()->json([
|
||||||
|
'data' => $transaction
|
||||||
|
]);
|
||||||
|
} else {
|
||||||
|
return response()->json([
|
||||||
|
'data' => $transaction
|
||||||
|
]);
|
||||||
|
// Action Failed Or Expired
|
||||||
|
}
|
||||||
|
} catch (Exception $e) {
|
||||||
|
echo $e->getMessage();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static function getSignature($merchantCode, $amount, $merchantOrderId, $apiKey)
|
||||||
|
{
|
||||||
|
$params = $merchantCode . $amount . $merchantOrderId . $apiKey;
|
||||||
|
|
||||||
|
// DS12798
|
||||||
|
// 110.000,00
|
||||||
|
// 96ce58d2-0aec-4a1a-b0b1-c96c0e2ff2d8
|
||||||
|
// 3b4264fb0118bab008448a67e83f6cbe
|
||||||
|
return md5($params);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function validateCallback($config_duitku, $merchantCode, $amount, $merchantOrderId, $signature)
|
||||||
|
{
|
||||||
|
|
||||||
|
$apiKey = $config_duitku['merchant_key'];
|
||||||
|
|
||||||
|
if (!empty($merchantCode) && !empty($amount) && !empty($merchantOrderId) && !empty($signature)) {
|
||||||
|
$this->params = $merchantCode . $amount . $merchantOrderId . $apiKey;
|
||||||
|
$calcSignature = $this->getSignature($merchantCode, $amount, $merchantOrderId, $apiKey);
|
||||||
|
|
||||||
|
if ($signature == $calcSignature) {
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
throw new \Exception('Bad Signature');
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
throw new \Exception('Bad Parameter');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public function translatePaymentStatus($paymentStatusCode)
|
||||||
|
{
|
||||||
|
switch ($paymentStatusCode) {
|
||||||
|
case '00':
|
||||||
|
$status = 'success';
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
$status = 'failed';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return $status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function paymentMethod()
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$paymentAmount = "10000"; //"YOUR_AMOUNT";
|
||||||
|
$paymentMethodList = \Duitku\Api::getPaymentMethod($paymentAmount, $this->duitkuConfig);
|
||||||
|
|
||||||
|
header('Content-Type: application/json');
|
||||||
|
// return
|
||||||
|
$paymentMethod = json_decode($paymentMethodList);
|
||||||
|
return response()->json($paymentMethod->paymentFee);
|
||||||
|
// echo $paymentMethodList->paymentFee;
|
||||||
|
} catch (Exception $e) {
|
||||||
|
echo $e->getMessage();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -7,6 +7,7 @@
|
|||||||
"require": {
|
"require": {
|
||||||
"php": "^8.0.2",
|
"php": "^8.0.2",
|
||||||
"box/spout": "^3.3",
|
"box/spout": "^3.3",
|
||||||
|
"duitkupg/duitku-php": "dev-master",
|
||||||
"guzzlehttp/guzzle": "^7.2",
|
"guzzlehttp/guzzle": "^7.2",
|
||||||
"laravel/framework": "^9.11",
|
"laravel/framework": "^9.11",
|
||||||
"laravel/sanctum": "^2.15",
|
"laravel/sanctum": "^2.15",
|
||||||
@@ -14,7 +15,8 @@
|
|||||||
"laravel/tinker": "^2.7",
|
"laravel/tinker": "^2.7",
|
||||||
"maatwebsite/excel": "^3.1",
|
"maatwebsite/excel": "^3.1",
|
||||||
"nwidart/laravel-modules": "^9.0",
|
"nwidart/laravel-modules": "^9.0",
|
||||||
"psr/simple-cache": "^1.0"
|
"psr/simple-cache": "^1.0",
|
||||||
|
"pusher/pusher-php-server": "^7.2"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"barryvdh/laravel-debugbar": "^3.7",
|
"barryvdh/laravel-debugbar": "^3.7",
|
||||||
|
|||||||
2363
composer.lock
generated
2363
composer.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -193,7 +193,10 @@ return [
|
|||||||
*/
|
*/
|
||||||
App\Providers\AppServiceProvider::class,
|
App\Providers\AppServiceProvider::class,
|
||||||
App\Providers\AuthServiceProvider::class,
|
App\Providers\AuthServiceProvider::class,
|
||||||
// App\Providers\BroadcastServiceProvider::class,
|
App\Providers\DuitkuServiceProvider::class,
|
||||||
|
|
||||||
|
|
||||||
|
App\Providers\BroadcastServiceProvider::class,
|
||||||
App\Providers\EventServiceProvider::class,
|
App\Providers\EventServiceProvider::class,
|
||||||
App\Providers\RouteServiceProvider::class,
|
App\Providers\RouteServiceProvider::class,
|
||||||
|
|
||||||
@@ -212,6 +215,7 @@ return [
|
|||||||
|
|
||||||
'aliases' => Facade::defaultAliases()->merge([
|
'aliases' => Facade::defaultAliases()->merge([
|
||||||
// 'ExampleClass' => App\Example\ExampleClass::class,
|
// 'ExampleClass' => App\Example\ExampleClass::class,
|
||||||
|
'Duitku' => App\Services\Duitku::class,
|
||||||
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
|
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
|
||||||
'LmsApi' => App\Services\LmsApi::class,
|
'LmsApi' => App\Services\LmsApi::class,
|
||||||
])->toArray(),
|
])->toArray(),
|
||||||
|
|||||||
@@ -36,8 +36,11 @@ return [
|
|||||||
'secret' => env('PUSHER_APP_SECRET'),
|
'secret' => env('PUSHER_APP_SECRET'),
|
||||||
'app_id' => env('PUSHER_APP_ID'),
|
'app_id' => env('PUSHER_APP_ID'),
|
||||||
'options' => [
|
'options' => [
|
||||||
'cluster' => env('PUSHER_APP_CLUSTER'),
|
'host' => env('PUSHER_HOST') ?: 'api-'.env('PUSHER_APP_CLUSTER', 'mt1').'.pusher.com',
|
||||||
'useTLS' => true,
|
'port' => env('PUSHER_PORT', 443),
|
||||||
|
'scheme' => env('PUSHER_SCHEME', 'https'),
|
||||||
|
'encrypted' => true,
|
||||||
|
'useTLS' => env('PUSHER_SCHEME', 'https') === 'https',
|
||||||
],
|
],
|
||||||
'client_options' => [
|
'client_options' => [
|
||||||
// Guzzle client options: https://docs.guzzlephp.org/en/stable/request-options.html
|
// Guzzle client options: https://docs.guzzlephp.org/en/stable/request-options.html
|
||||||
|
|||||||
@@ -218,6 +218,12 @@ export default function List() {
|
|||||||
({row.diagnosis?.code}) {row.diagnosis?.name}
|
({row.diagnosis?.code}) {row.diagnosis?.name}
|
||||||
</TableCell>
|
</TableCell>
|
||||||
<TableCell align="left">{fCurrency(row.total_claim)}</TableCell>
|
<TableCell align="left">{fCurrency(row.total_claim)}</TableCell>
|
||||||
|
{ (row.status == 'approved' && (
|
||||||
|
<TableCell align="left">Approved</TableCell>
|
||||||
|
)) }
|
||||||
|
{ (row.status == 'postponed' && (
|
||||||
|
<TableCell align="left">Postpone</TableCell>
|
||||||
|
)) }
|
||||||
|
|
||||||
<TableCell align="right">
|
<TableCell align="right">
|
||||||
<EditRoundedIcon
|
<EditRoundedIcon
|
||||||
@@ -271,6 +277,9 @@ export default function List() {
|
|||||||
<TableCell style={headStyle} align="left">
|
<TableCell style={headStyle} align="left">
|
||||||
Total Claim
|
Total Claim
|
||||||
</TableCell>
|
</TableCell>
|
||||||
|
<TableCell style={headStyle} align="left">
|
||||||
|
Status
|
||||||
|
</TableCell>
|
||||||
<TableCell style={headStyle} align="right">
|
<TableCell style={headStyle} align="right">
|
||||||
Action
|
Action
|
||||||
</TableCell>
|
</TableCell>
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
use App\Http\Controllers\Api\AuthController;
|
use App\Http\Controllers\Api\AuthController;
|
||||||
use App\Http\Controllers\Api\OLDLMS\ClaimController;
|
use App\Http\Controllers\Api\OLDLMS\ClaimController;
|
||||||
use App\Http\Controllers\Api\OLDLMS\MembershipController;
|
use App\Http\Controllers\Api\OLDLMS\MembershipController;
|
||||||
|
use App\Http\Controllers\Api\OLDLMS\PaymentController;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
@@ -23,4 +24,5 @@ Route::middleware('linksehat.old.auth')->group(function() {
|
|||||||
Route::post('check-coverage-limit', [MembershipController::class, 'checkLimit']);
|
Route::post('check-coverage-limit', [MembershipController::class, 'checkLimit']);
|
||||||
|
|
||||||
Route::post('claim-create', [ClaimController::class, 'store']);
|
Route::post('claim-create', [ClaimController::class, 'store']);
|
||||||
|
Route::post('claim-update-diagnosis', [ClaimController::class, 'updateClaimDiagnosis']);
|
||||||
});
|
});
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use App\Http\Controllers\Api\OLDLMS\PaymentController;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -16,3 +17,5 @@ use Illuminate\Support\Facades\Route;
|
|||||||
Route::get('/', function () {
|
Route::get('/', function () {
|
||||||
return view('welcome');
|
return view('welcome');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Route::get('postpone-pay/{member_id}', [PaymentController::class, 'postponePay'])->name('postpone-pay');
|
||||||
Reference in New Issue
Block a user