autolinking dan manual linking

This commit is contained in:
Linksehat Staging Server
2023-11-13 10:23:45 +07:00
parent 3a83f90ee3
commit db275c152d
5 changed files with 68 additions and 3 deletions

View File

@@ -5,6 +5,11 @@ namespace Modules\Linksehat\Transformers\User;
use Illuminate\Http\Resources\Json\JsonResource;
use App\Models\OLDLMS\User;
use App\Models\OLDLMS\UserDetail;
use App\Models\OLDLMS\UserInsurance;
use App\Models\Member;
use App\Models\Person;
use App\Models\CorporateEmployee;
use App\Models\Corporate;
use Illuminate\Support\Facades\Auth;
use DB;
@@ -26,6 +31,50 @@ class UserProfileResource extends JsonResource
$memberProfile = User::with('detail')->where('nIDUser', $this->nID)->get()->toArray();
$dataMemberProfile = [];
$userInsurance = UserInsurance::where('nIDUser', $this->nID)->get()->first();
$memberId = null;
$linking = false;
if($userInsurance){
$memberId = $userInsurance->sNoPolis;
$linking = true;
} else {
$member = Member::where('email', $this->sEmail)->get()->first();
$person = Person::where('phone', $this->sPhone)->get()->first();
if ($member || $person){ // Autolinking
$corporateEmployee = CorporateEmployee::where('member_id', $member->id)->get()->first(); // cek corporate id empolyee/member
if ($corporateEmployee){
$corporate = Corporate::findOrFail($corporateEmployee->corporate_id)->automatic_linking; // cek autocomplete
if ($corporate){
if($member) {
// Insert into database linksehat
$insurance = UserInsurance::updateOrCreate(
[
'nIDUser' => $this->nID,
],
[
'nIDUser' => $this->nID,
'nIDInsurance' => $_ENV['LINKSEHAT_ASO_INSURANCE_ID'],
'sNoPolis' => $member->member_id,
'sNamaPeserta' => $member->fullName,
'sKartuPeserta' => '',
'sLayanan' => 'RJ,TC',
'dStartDate' => $member->members_effective_date,
'dExpireDate' => $member->members_expire_date,
'dTanggalLahir' => $member->birth_date,
'nNoKTP' => $member->nric != '' ? $member->nric : 0 ,
'sIsConfrimed' => 1,
'sStatus' => 1,
]);
$message = $member->currentPolicy->corporate->welcome_message;
$linking = true;
$memberId = $member->member_id;
}
}
}
}
};
if (count($memberProfile) > 0){
$urlAvatarDefault = $this->detail->nIDJenisKelamin == 1 ? 'https://linksehat.dev/assets/img/users/male-avatar.png' : 'https://linksehat.dev/assets/img/users/male-avatar.png';
@@ -107,8 +156,9 @@ class UserProfileResource extends JsonResource
'full_name' => $this->sFirstName . ' '. $this->sLastName,
'avatar' => $avatar,
'member_type' => $this->nIDUser ? 'Dependent' : 'Principal',
'member_profile' => $dataMemberProfile,
'member_profile' => $dataMemberProfile,
'member_id' => $memberId,
'linking' => $linking,
];
}
}