transfer and withdraw

This commit is contained in:
Tokumeikoi
2020-05-10 18:38:02 +08:00
parent c46b8b1b40
commit 15a28e7bd3
7 changed files with 94 additions and 3 deletions

View File

@ -4,6 +4,7 @@ namespace App\Http\Controllers\User;
use App\Http\Controllers\Controller;
use App\Http\Requests\User\TicketSave;
use App\Http\Requests\User\TicketWithdraw;
use Illuminate\Http\Request;
use App\Models\Ticket;
use App\Models\TicketMessage;
@ -144,4 +145,40 @@ class TicketController extends Controller
->orderBy('id', 'DESC')
->first();
}
public function withdraw(TicketWithdraw $request)
{
DB::beginTransaction();
$subject = '[提现申请]本工单由系统发出';
$ticket = Ticket::create([
'subject' => $subject,
'level' => 2,
'user_id' => $request->session()->get('id'),
'last_reply_user_id' => $request->session()->get('id')
]);
if (!$ticket) {
DB::rollback();
abort(500, '工单创建失败');
}
$methodText = [
'alipay' => '支付宝',
'paypal' => '贝宝(Paypal)',
'usdt' => 'USDT',
'btc' => '比特币'
];
$message = "提现方式:{$methodText[$request->input('withdraw_method')]}\r\n提现账号:{$request->input('withdraw_account')}\r\n";
$ticketMessage = TicketMessage::create([
'user_id' => $request->session()->get('id'),
'ticket_id' => $ticket->id,
'message' => $message
]);
if (!$ticketMessage) {
DB::rollback();
abort(500, '工单创建失败');
}
DB::commit();
return response([
'data' => true
]);
}
}

View File

@ -137,4 +137,26 @@ class UserController extends Controller
'data' => true
]);
}
public function transfer(Request $request)
{
$user = User::find($request->session()->get('id'));
if (!$user) {
abort(500, '该用户不存在');
}
if ($request->input('transfer_amount') <= 0) {
abort(500, '参数错误');
}
if ($request->input('transfer_amount') > $user->commission_balance) {
abort(500, '推广佣金余额不足');
}
$user->commission_balance = $user->commission_balance - $request->input('transfer_amount');
$user->balance = $user->balance + $request->input('transfer_amount');
if (!$user->save()) {
abort(500, '划转失败');
}
return response([
'data' => true
]);
}
}