merge goldali with abshode_khanegi branch
This commit is contained in:
@@ -2,13 +2,12 @@
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use App\Http\Controllers\Admin\TahesabController;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Cnt;
|
||||
use App\Models\Customer;
|
||||
use App\Models\Setting;
|
||||
use App\Models\TahesabCustomer;
|
||||
use App\Models\User;
|
||||
use App\Services\ConfigService;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Http\Request;
|
||||
use Symfony\Component\HttpKernel\Exception\UnprocessableEntityHttpException;
|
||||
@@ -85,7 +84,6 @@ class AuthController extends Controller
|
||||
$user->token_sms = $rand;
|
||||
$user->save();
|
||||
|
||||
// $this->SendMessage($mobile, 'رمز عبور یکبار مصرف شما جهت ورود به اپلیکشن ' . $this->ConfigService('name_fa') . ' ' . $rand . ' می باشد' . PHP_EOL . "@$subDomain" . " #" . $r and,true ,"sms");
|
||||
$this->SendMessage($mobile, 'رمز عبور یکبار مصرف شما جهت ورود به اپلیکشن ' . $this->Config('name_fa') . ' ' . $rand . ' می باشد' . PHP_EOL . "@$subDomain" . " #" . $rand,true ,"sms");
|
||||
|
||||
return $user->id;
|
||||
@@ -120,17 +118,20 @@ class AuthController extends Controller
|
||||
|
||||
public function register(Request $request)
|
||||
{
|
||||
$cfg = app(ConfigService::class);
|
||||
|
||||
$register = Setting::where('key', 'open_register')->first();
|
||||
if($register->is_active == 0){
|
||||
if ($register && (int) $register->is_active === 0) {
|
||||
throw new UnprocessableEntityHttpException('امکان ثبت نام وجود ندارد.');
|
||||
}
|
||||
|
||||
$data = $request->all();
|
||||
$data['type'] = 2;
|
||||
if (isset($data['referral_id'])) {
|
||||
$data['referral_to_id'] = $data['referral_id'];
|
||||
}
|
||||
$data['name'] = $data['fname'] . ' ' . $data['lname'];
|
||||
$data['active'] = Setting::where('key', 'auto_active_customer')->first()->value === 'true';
|
||||
$data['active'] = $cfg->getBool('auto_active_customer', false);
|
||||
if (isset($data['type']) && $data['type'] == 2) {
|
||||
$data['active'] = true;
|
||||
}
|
||||
@@ -138,40 +139,74 @@ class AuthController extends Controller
|
||||
if (!is_null($cnt)) {
|
||||
$data['gram'] = $cnt->value;
|
||||
}
|
||||
// Generate unique referral ID
|
||||
|
||||
do {
|
||||
$uniqueId = substr(str_shuffle('0123456789abcdefghijklmnopqrstuvwxyz'), 0, 4);
|
||||
} while (Customer::where('referral_id', $uniqueId)->exists());
|
||||
$data['referral_id'] = $uniqueId;
|
||||
|
||||
// Handle referrer
|
||||
if (isset($data['n_code']) && $cfg->getBool('register_jibit_verify', false)) {
|
||||
$existing = Customer::where('n_code', $data['n_code'])->first();
|
||||
if (!empty($existing)) {
|
||||
return response()->json(['message' => 'کد ملی تکراری است'], 422);
|
||||
}
|
||||
$response = $this->jibitNcode($data['n_code'], $data['mobile']);
|
||||
if (isset($response['matched']) && $response['matched'] == true) {
|
||||
$data['is_legal'] = 1;
|
||||
}
|
||||
}
|
||||
|
||||
$referrer = null;
|
||||
if (isset($data['referral_to_id'])) {
|
||||
$referrer = Customer::where('referral_id', $data['referral_to_id'])->first();
|
||||
if ($referrer) {
|
||||
// $messageRef = "{$data['name']} با کد معرف شما ثبت نام کرد.\nدر صورت احراز او پاداش میگیرید.\n" . $this->ConfigService('name_fa');
|
||||
// $this->Send($referrer->mobile, $messageRef);
|
||||
$AdminMessage = "با معرفی {$referrer->name}، کاربر {$data['name']} در اپ {$this->Config('name_fa')} ثبت نام کرده و منتظر تایید شماست.";
|
||||
User::where('send_sms', 1)->get()->each(function ($admin) use ($AdminMessage, $data,) {
|
||||
$this->send($admin->mobile, $AdminMessage);
|
||||
});
|
||||
if ($cfg->getBool('register_referral_sms_to_referrer', false)) {
|
||||
$messageRef = "{$data['name']} با کد معرف شما ثبت نام کرد.\nبا اولین خرید او پاداش دریافت میکنید.\n" . $this->Config('name_fa');
|
||||
$this->Send($referrer->mobile, $messageRef);
|
||||
} else {
|
||||
$adminMessage = "با معرفی {$referrer->name}، کاربر {$data['name']} در اپ {$this->Config('name_fa')} ثبت نام کرده و منتظر تایید شماست.";
|
||||
User::where('send_sms', 1)->get()->each(function ($admin) use ($adminMessage) {
|
||||
$this->send($admin->mobile, $adminMessage);
|
||||
});
|
||||
}
|
||||
} else {
|
||||
return response()->json(["message" => "کد نامعتبره"], 422);
|
||||
return response()->json(['message' => 'کد نامعتبره'], 422);
|
||||
}
|
||||
} else {
|
||||
if ($this->Config('referral_id') == "required") {
|
||||
return response()->json(["message" => "کد معرف اجباریست"], 422);
|
||||
if (
|
||||
$this->Config('referral_id') == 'required'
|
||||
|| $cfg->getBool('is_requaire_referral', false)
|
||||
) {
|
||||
return response()->json(['message' => 'کد معرف اجباریست'], 422);
|
||||
}
|
||||
}
|
||||
|
||||
$data['active'] = true;
|
||||
// Create customer
|
||||
|
||||
$customer = Customer::create($data);
|
||||
|
||||
// $tah = new TahesabController();
|
||||
// return $tah->store([
|
||||
// 'customer_id' => $customer->id,
|
||||
// ]);
|
||||
if ($referrer) {
|
||||
$referrer->increment('total_referrals');
|
||||
}
|
||||
|
||||
$message = "{$data['name']} عزیز، اکانت شما در پلتفرم {$this->Config('name_fa')} ایجاد شد.\nنام کاربری: {$data['mobile']}\n\nورود به نرم افزار:\n{$this->Config('app_url')}";
|
||||
if ($cfg->getBool('register_jibit_verify', false) && isset($customer->is_legal)) {
|
||||
$message = $customer->is_legal === 1
|
||||
? 'احرازهویت برای ' . $customer->name . ' با کد ' . $customer->id . ' انجام شد.'
|
||||
: 'احرازهویت برای ' . $customer->name . ' با کد ' . $customer->id . ' تأیید نشد لطفا از پنل ادمین اقدام فرمایید.';
|
||||
User::where('send_sms', 1)->get()->each(function ($admin) use ($message) {
|
||||
$this->SendMessage($admin->mobile, $message);
|
||||
});
|
||||
}
|
||||
|
||||
$message = "{$data['name']} عزیز، اکانت شما در پلتفرم {$this->Config('name_fa')} ایجاد شد.";
|
||||
if ($cfg->getBool('register_referral_bonus_message', false)) {
|
||||
$bonus = Setting::where('is_active', 1)->where('key', 'referral_bonus_amount')->first();
|
||||
if ($bonus) {
|
||||
$bonusValues = json_decode($bonus->value, true);
|
||||
$message .= "\nپس از اولین خرید مقدار، " . number_format((int) ($bonusValues[0]['customer'] ?? 0)) . ' ریال پاداش دریافت خواهید کرد.';
|
||||
}
|
||||
}
|
||||
$message .= "\nنام کاربری: {$data['mobile']}\nورود به نرم افزار: {$this->Config('app_url')}";
|
||||
$this->Send($data['mobile'], $message);
|
||||
|
||||
return response()->json($customer);
|
||||
|
||||
Reference in New Issue
Block a user