lip 1 неделя назад
Родитель
Сommit
dbc1b50365
2 измененных файлов с 71 добавлено и 0 удалено
  1. 67 0
      app/Http/Controllers/api/Wallet.php
  2. 4 0
      routes/api.php

+ 67 - 0
app/Http/Controllers/api/Wallet.php

@@ -10,6 +10,7 @@ use App\Models\Wallet as WalletModel;
 use App\Models\Withdraw;
 use App\Models\User;
 use App\Models\Bank;
+use App\Models\Address;
 use App\Services\BalanceLogService;
 use App\Services\Payment\SanJinService;
 use App\Services\PaymentOrderService;
@@ -366,4 +367,70 @@ class Wallet extends BaseController
         }
     }
 
+    public function addAddress()
+    {
+        try {
+            $params = request()->validate([
+                'id' => 'nullable|integer',
+                'address' => 'required',
+                'alias' => 'nullable',
+            ]);
+            $member_id = request()->user->member_id;
+            if (!empty($params['id'])) {
+                $info = Address::where('id', $params['id'])->where('member_id', $member_id)->first();
+                if (empty($info)) throw new Exception(lang('找不到此记录'));
+                $info->address = $params['address'];
+                $info->alias = $params['alias'] ?? '';
+                $info->save();
+            } else {
+                $count = Address::where('member_id', $member_id)->where('address', $params['address'])->count();
+                if ($count >= 5) throw new Exception(lang('已达添加上限'));
+                Address::create([
+                    'member_id' => $member_id,
+                    'address' => $params['address'],
+                    'alias' => $params['alias'] ?? '',
+                ]);
+            }
+
+            return $this->success([],'提交成功');
+        } catch (ValidationException $e) {
+            return $this->error($e->validator->errors()->first());
+        } catch (\Exception $e) {
+            return $this->error($e->getMessage());
+        }
+    }
+
+    public function delAddress()
+    {
+        try {
+            $params = request()->validate([
+                'id' => 'required|integer',
+            ]);
+            $member_id = request()->user->member_id;
+            $info = Address::where('id', $params['id'])->where('member_id', $member_id)->first();
+            if (empty($info)) throw new Exception(lang('找不到此记录'));
+               
+            $info->delete();
+            return $this->success([],'删除成功');
+        } catch (ValidationException $e) {
+            return $this->error($e->validator->errors()->first());
+        } catch (\Exception $e) {
+            return $this->error($e->getMessage());
+        }
+    }
+
+    public function address()
+    {
+        try {
+            $member_id = request()->user->member_id;
+            $list = Address::where('member_id', $member_id)->get()->toArray();
+
+            return $this->success([
+                'list' => $list,
+            ]);
+        } catch (\Exception $e) {
+            return $this->error($e->getMessage());
+        }
+    }
+
 }

+ 4 - 0
routes/api.php

@@ -92,6 +92,10 @@ Route::middleware('check.token')->group(function () {
         Route::post("/addBank", [Wallet::class, 'addBank']);
         Route::get("/delBank", [Wallet::class, 'delBank']);
         Route::get("/bankList", [Wallet::class, 'bankList']);
+
+        Route::post("/addAddress", [Wallet::class, 'addAddress']);
+        Route::get("/delAddress", [Wallet::class, 'delAddress']);
+        Route::get("/address", [Wallet::class, 'address']);
     });
 });