mirror of
https://github.com/Bigherollc/wticreatorstudio.git
synced 2026-07-31 23:16:52 -04:00
89 lines
3.2 KiB
PHP
89 lines
3.2 KiB
PHP
<?php
|
|
|
|
namespace Modules\Staff\Repositories;
|
|
|
|
use App\Models\User;
|
|
use App\Traits\SendMail;
|
|
|
|
class StaffRepository
|
|
{
|
|
use SendMail;
|
|
|
|
public function find($id)
|
|
{
|
|
return User::with('wallet_balances', 'orders', 'customerAddresses', 'creditPoints', 'subscriptions')->findOrFail($id);
|
|
}
|
|
|
|
public function store($data){
|
|
|
|
$user = User::create([
|
|
'first_name' => $data->first_name,
|
|
'last_name' => $data->last_name,
|
|
'username' => $data->email,
|
|
'email' => $data->email,
|
|
'verify_code' => sha1(time()),
|
|
'password' => Hash::make($data->password),
|
|
'role_id' => 4,
|
|
'phone' => $data->phone,
|
|
'is_verified' => 1,
|
|
'is_active' => $data->is_active,
|
|
'currency_id' => app('general_setting')->currency,
|
|
'lang_code' => app('general_setting')->language_code,
|
|
'currency_code' => app('general_setting')->currency_code,
|
|
'referrer_id' => $data->referrer_id,
|
|
]);
|
|
|
|
//lets save the company details
|
|
$user->wti_data = json_encode($data->only('storefront', 'company_name', 'brand_name', 'accounts_payable_name', 'accounts_payable_email', 'marketing_contact_name', 'marketing_contact_email', 'company_address'));
|
|
$user->save();
|
|
|
|
// User Notification Setting Create
|
|
(new UserNotificationSetting)->createForRegisterUser($user->id);
|
|
$this->typeId = EmailTemplateType::where('type', 'register_email_template')->first()->id; //register email templete typeid
|
|
$this->notificationSend("Register", $user->id);
|
|
|
|
if ($data->has('referral_code')) {
|
|
$referralData = ReferralCodeSetup::first();
|
|
$referralExist = ReferralCode::where('referral_code', $data->referral_code)->first();
|
|
if ($referralExist) {
|
|
$referralExist->update(['total_used' => $referralExist->total_used + 1]);
|
|
ReferralUse::create([
|
|
'user_id' => $user->id,
|
|
'referral_code' => $data->referral_code,
|
|
'discount_amount' => $referralData->amount
|
|
]);
|
|
}
|
|
}
|
|
return $user;
|
|
}
|
|
|
|
public function update($data, $id){
|
|
$user = User::find($id);
|
|
$user->update([
|
|
'first_name' => $data->first_name,
|
|
'last_name' => $data->last_name,
|
|
'email' => $data->email,
|
|
'phone' => $data->phone,
|
|
'password' => $data->password != null ? Hash::make($data->password) : $user->password,
|
|
'is_active' => $data->has('is_active') ? $data->is_active : $user->is_active,
|
|
'referrer_id' => $data->referrer_id,
|
|
]);
|
|
|
|
//lets update the company details
|
|
$user->wti_data = json_encode($data->only('storefront', 'company_name', 'brand_name', 'accounts_payable_name', 'accounts_payable_email', 'marketing_contact_name', 'marketing_contact_email', 'company_address'));
|
|
$user->save();
|
|
|
|
return $user;
|
|
|
|
}
|
|
|
|
public function contact($data, $id){
|
|
$user = User::find($id);
|
|
if($user){
|
|
return $this->sendContactCustomer($user,$data);
|
|
}
|
|
return false;
|
|
}
|
|
|
|
}
|