6
0
Fork 0

收货地址管理

release
李静 2021-12-08 14:35:41 +08:00
parent 0ae862335a
commit a06072408b
7 changed files with 26 additions and 26 deletions

View File

@ -2,12 +2,12 @@
namespace App\Endpoint\Api\Http\Controllers;
use App\Endpoint\Api\Http\Resources\AddressResource;
use App\Endpoint\Api\Http\Resources\ShippingAddressResource;
use App\Models\Zone;
use App\Rules\PhoneNumber;
use Illuminate\Http\Request;
class AddressController extends Controller
class ShippingAddressController extends Controller
{
/**
* 地址列表
@ -17,9 +17,9 @@ class AddressController extends Controller
*/
public function index(Request $request)
{
$addresses = $request->user()->addresses()->latest('id')->get();
$addresses = $request->user()->shippingAddresses()->latest('id')->get();
return AddressResource::collection($addresses->sortByDesc('is_default'));
return ShippingAddressResource::collection($addresses->sortByDesc('is_default'));
}
/**
@ -42,15 +42,15 @@ class AddressController extends Controller
$user = $request->user();
$address = $user->addresses()->create(
$address = $user->shippingAddresses()->create(
array_merge($input, ['zone' => $zone->full_name])
);
if ($address->is_default) {
$user->addresses()->where('id', '!=', $address->id)->update(['is_default' => false]);
$user->shippingAddresses()->where('id', '!=', $address->id)->update(['is_default' => false]);
}
return AddressResource::make($address);
return ShippingAddressResource::make($address);
}
/**
@ -61,9 +61,9 @@ class AddressController extends Controller
*/
public function show($id, Request $request)
{
$address = $request->user()->addresses()->findOrFail($id);
$address = $request->user()->shippingAddresses()->findOrFail($id);
return AddressResource::make($address);
return ShippingAddressResource::make($address);
}
/**
@ -85,7 +85,7 @@ class AddressController extends Controller
$user = $request->user();
$address = $user->addresses()->findOrFail($id);
$address = $user->shippingAddresses()->findOrFail($id);
$address->fill($input);
if ($address->isDirty('zone_id')) {
@ -97,10 +97,10 @@ class AddressController extends Controller
$address->save();
if ($address->is_default && $address->wasChanged('is_default')) {
$user->addresses()->where('id', '!=', $address->id)->update(['is_default' => false]);
$user->shippingAddresses()->where('id', '!=', $address->id)->update(['is_default' => false]);
}
return AddressResource::make($address);
return ShippingAddressResource::make($address);
}
/**
@ -112,7 +112,7 @@ class AddressController extends Controller
*/
public function destroy($id, Request $request)
{
$request->user()->addresses()->where('id', $id)->delete();
$request->user()->shippingAddresses()->where('id', $id)->delete();
return response()->noContent();
}

View File

@ -4,7 +4,7 @@ namespace App\Endpoint\Api\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
class AddressResource extends JsonResource
class ShippingAddressResource extends JsonResource
{
/**
* Transform the resource into an array.
@ -17,7 +17,7 @@ class AddressResource extends JsonResource
return [
'id' => $this->id,
'zone_id' => $this->zone_id,
'consignee' => $this->consignee,
'name' => $this->name,
'telephone' => $this->telephone,
'zone' => $this->zone,
'address' => $this->address,

View File

@ -3,7 +3,6 @@
use App\Endpoint\Api\Http\Controllers\Account\ChangePasswordController;
use App\Endpoint\Api\Http\Controllers\Account\UserController;
use App\Endpoint\Api\Http\Controllers\AdController;
use App\Endpoint\Api\Http\Controllers\AddressController;
use App\Endpoint\Api\Http\Controllers\Auth\LoginController;
use App\Endpoint\Api\Http\Controllers\Auth\LogoutController;
use App\Endpoint\Api\Http\Controllers\Auth\RegisterController;
@ -14,6 +13,7 @@ use App\Endpoint\Api\Http\Controllers\Product\ProductCategoryController;
use App\Endpoint\Api\Http\Controllers\Product\ProductSkuController;
use App\Endpoint\Api\Http\Controllers\Product\ProductSkuFavoriteController;
use App\Endpoint\Api\Http\Controllers\Product\ProductViewLogController;
use App\Endpoint\Api\Http\Controllers\ShippingAddressController;
use App\Endpoint\Api\Http\Controllers\ShoppingCartItemController;
use App\Endpoint\Api\Http\Controllers\SmsCodeController;
use Illuminate\Support\Facades\Route;
@ -67,6 +67,6 @@ Route::group([
Route::delete('shopping-cart-items', [ShoppingCartItemController::class, 'delete']);
Route::put('shopping-cart-items/{shopping_cart_item}', [ShoppingCartItemController::class, 'update']);
Route::apiResource('addresses', AddressController::class);
Route::apiResource('shipping-addresses', ShippingAddressController::class);
});
});

View File

@ -4,7 +4,7 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Address extends Model
class ShippingAddress extends Model
{
/**
* @var array

View File

@ -87,11 +87,11 @@ class User extends Model implements AuthorizableContract, AuthenticatableContrac
}
/**
* 属于此用户的地址
* 属于此用户的收货地址
*/
public function addresses()
public function shippingAddresses()
{
return $this->hasMany(Address::class);
return $this->hasMany(ShippingAddress::class);
}
/**

View File

@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateAddressesTable extends Migration
class CreateShippingAddressesTable extends Migration
{
/**
* Run the migrations.
@ -13,7 +13,7 @@ class CreateAddressesTable extends Migration
*/
public function up()
{
Schema::create('addresses', function (Blueprint $table) {
Schema::create('shipping_addresses', function (Blueprint $table) {
$table->id();
$table->unsignedBigInteger('user_id')->comment('用户ID');
$table->unsignedBigInteger('zone_id')->comment('地区ID');
@ -33,6 +33,6 @@ class CreateAddressesTable extends Migration
*/
public function down()
{
Schema::dropIfExists('addresses');
Schema::dropIfExists('shipping_addresses');
}
}

View File

@ -1,13 +1,13 @@
<?php
use App\Models\Address;
use App\Models\ProductSku;
use App\Models\ProductSpu;
use App\Models\ShippingAddress;
use App\Models\ShoppingCartItem;
use App\Models\Zone;
return [
Address::class => '地址',
ShippingAddress::class => '地址',
ProductSpu::class => '商品',
ProductSku::class => '商品',
ShoppingCartItem::class => '商品',