|
@@ -203,4 +203,40 @@ class UserAddressService
|
|
|
return ['code' => 500, 'message' => '设置默认地址失败'];
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取地址列表
|
|
|
+ */
|
|
|
+ public function list($userId, $perPage = 15)
|
|
|
+ {
|
|
|
+ try {
|
|
|
+ // 根据用户编号查询用户数据
|
|
|
+ $user = MemberUser::findOrFail($userId);
|
|
|
+ if ($user->state != UserStatus::OPEN->value) {
|
|
|
+ return ['code' => 400, 'message' => '用户状态异常'];
|
|
|
+ }
|
|
|
+
|
|
|
+ // 查询用户地址列表并分页
|
|
|
+ $addresses = $user->addresses()
|
|
|
+ ->orderBy('is_default', 'desc')
|
|
|
+ ->orderBy('id', 'desc')
|
|
|
+ ->paginate($perPage);
|
|
|
+
|
|
|
+ return [
|
|
|
+ 'code' => 200,
|
|
|
+ 'message' => 'success',
|
|
|
+ 'data' => [
|
|
|
+ 'items' => $addresses->items(),
|
|
|
+ 'total' => $addresses->total(),
|
|
|
+ ],
|
|
|
+ ];
|
|
|
+ } catch (\Exception $e) {
|
|
|
+ Log::error('获取地址列表失败', [
|
|
|
+ 'user_id' => $userId,
|
|
|
+ 'error' => $e->getMessage(),
|
|
|
+ ]);
|
|
|
+
|
|
|
+ return ['code' => 500, 'message' => '获取地址列表失败'];
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|