withdraw check befor otp
This commit is contained in:
@@ -179,21 +179,11 @@ class WalletController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
$wallet_interface_fund = new WalletInterface(auth('customer')->id(), auth('customer')->user()->type);
|
$wallet_interface_fund = new WalletInterface(auth('customer')->id(), auth('customer')->user()->type);
|
||||||
$wallet = $wallet_interface_fund->wallet;
|
|
||||||
if ($data['value'] < 0) {
|
if ($data['value'] < 0) {
|
||||||
throw new UnprocessableEntityHttpException('مقدار برداشت باید مثبت باشد');
|
throw new UnprocessableEntityHttpException('مقدار برداشت باید مثبت باشد');
|
||||||
}
|
}
|
||||||
if ($data['value'] > $wallet->cash) {
|
|
||||||
throw new UnprocessableEntityHttpException('مقدار برداشت بیشتر از موجودی است');
|
|
||||||
}
|
|
||||||
|
|
||||||
$min_withdraw = Setting::where('is_active', 1)
|
$this->validateWithdrawAmount((int) $data['value']);
|
||||||
->where('key', 'min_withdraw')
|
|
||||||
->first();
|
|
||||||
|
|
||||||
if ($min_withdraw && (int) $min_withdraw->value > $data['value']) {
|
|
||||||
throw new UnprocessableEntityHttpException('حداقل مقدار برداشت ' . number_format((int) $min_withdraw->value) . ' ریال است');
|
|
||||||
}
|
|
||||||
|
|
||||||
$Withdraw = Withdraw::create([
|
$Withdraw = Withdraw::create([
|
||||||
'customer_id' => auth('customer')->id(),
|
'customer_id' => auth('customer')->id(),
|
||||||
@@ -324,6 +314,16 @@ class WalletController extends Controller
|
|||||||
|
|
||||||
public function withdrawOtp(Request $request)
|
public function withdrawOtp(Request $request)
|
||||||
{
|
{
|
||||||
|
$data = $request->all();
|
||||||
|
if (!isset($data['value'])) {
|
||||||
|
return response()->json(['message' => 'مبلغ برداشت مشخص نشده است'], 422);
|
||||||
|
}
|
||||||
|
if ($data['value'] < 0) {
|
||||||
|
throw new UnprocessableEntityHttpException('مقدار برداشت باید مثبت باشد');
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->validateWithdrawAmount((int) $data['value']);
|
||||||
|
|
||||||
$customer = auth('customer')->user();
|
$customer = auth('customer')->user();
|
||||||
$otp = rand(1000, 9999);
|
$otp = rand(1000, 9999);
|
||||||
$customer->token_sms = $otp;
|
$customer->token_sms = $otp;
|
||||||
@@ -335,6 +335,24 @@ class WalletController extends Controller
|
|||||||
return response()->json(true);
|
return response()->json(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function validateWithdrawAmount(int $value): void
|
||||||
|
{
|
||||||
|
$wallet_interface_fund = new WalletInterface(auth('customer')->id(), auth('customer')->user()->type);
|
||||||
|
$wallet = $wallet_interface_fund->wallet;
|
||||||
|
|
||||||
|
if ($value > $wallet->cash) {
|
||||||
|
throw new UnprocessableEntityHttpException('مقدار برداشت بیشتر از موجودی است');
|
||||||
|
}
|
||||||
|
|
||||||
|
$min_withdraw = Setting::where('is_active', 1)
|
||||||
|
->where('key', 'min_withdraw')
|
||||||
|
->first();
|
||||||
|
|
||||||
|
if ($min_withdraw && (int) $min_withdraw->value > $value) {
|
||||||
|
throw new UnprocessableEntityHttpException('حداقل مقدار برداشت ' . number_format((int) $min_withdraw->value) . ' ریال است');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private function applyMetalTypeTransactionTitle($record): void
|
private function applyMetalTypeTransactionTitle($record): void
|
||||||
{
|
{
|
||||||
if (!empty($record->product_id)) {
|
if (!empty($record->product_id)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user