123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- <?php
- /**
- * Created by PhpStorm
- * DateTime: 2022/11/5 0:31
- *
- * @description
- */
- namespace App\Http\Controllers\V1\Share;
- use App\Http\Controllers\V1\Controller;
- use App\Models\ShareConfig;
- use App\Models\User;
- use App\Models\UserShare;
- use App\Models\UserWithdraw;
- use Carbon\Carbon;
- use Dingo\Api\Http\Request;
- use Illuminate\Http\JsonResponse;
- class WithdrawController extends Controller
- {
- public function lists(Request $request): JsonResponse
- {
- $limit = $request->input('limit', 10);
- $page = $request->input('page', 1);
- $status = $request->input('status', -1);
- $offset = ($page - 1) * 10;
- $user = \user();
- $lists = UserWithdraw::where('user_id', $user->id)
- ->when($status != -1, function ($query) use ($status){
- $query->where('status', $status);
- })
- ->limit($limit)
- ->offset($offset)
- ->get();
- /* @var UserWithdraw $list*/
- foreach ($lists as $list){
- $list->status_name = $list->status;
- $list->type_name = $list->type;
- }
- return $this->success($lists);
- }
- public function create(Request $request): JsonResponse
- {
- try {
- $config = ShareConfig::first();
- $price = $request->input('price');
- $account = $request->input('account');
- $phoneNum = $request->input('phone_num');
- $type = $request->input('type');
- $name = $request->input('name');
- $user = \user();
- if($price < $config->withdraw_min){
- return $this->error("提现金额不能小于{$config->withdraw_min}元");
- }
- if($price > $user->income){
- return $this->error("提现金额不能小于{$config->withdraw_min}元");
- }
- \DB::beginTransaction();
- $withdraw = new UserWithdraw();
- $withdraw->user_id = $user->id;
- $withdraw->name = $name;
- $withdraw->account = $account;
- $withdraw->phone_num = $phoneNum;
- $withdraw->price = $price;
- $withdraw->type = $type;
- $withdraw->discount = $price * $config->withdraw_discount / 100;
- $withdraw->save();
- $user->income = $user->income - $price;
- $user->save();
- \DB::commit();
- return $this->success();
- }catch (\Exception $e){
- \DB::rollBack();
- return $this->error('提交失败',$e->getMessage());
- }
- }
- }
|