默认地址功能
This commit is contained in:
parent
6ee3aacc0f
commit
5d8bd758d5
|
|
@ -39,14 +39,14 @@ class AddressController extends Controller
|
|||
|
||||
public function store(AddressRequest $request)
|
||||
{
|
||||
$data = $request->only(['name', 'phone', 'country_id', 'zone_id', 'city_id', 'city', 'zipcode', 'address_1', 'address_2']);
|
||||
$data = $request->only(['name', 'phone', 'country_id', 'zone_id', 'city_id', 'city', 'zipcode', 'address_1', 'address_2', 'default']);
|
||||
$address = AddressService::create($data);
|
||||
return json_success('创建成功', new AddressResource($address));
|
||||
}
|
||||
|
||||
public function update(AddressRequest $request, int $id)
|
||||
{
|
||||
$data = $request->only(['name', 'phone', 'country_id', 'zone_id', 'city_id', 'city', 'zipcode', 'address_1', 'address_2']);
|
||||
$data = $request->only(['name', 'phone', 'country_id', 'zone_id', 'city_id', 'city', 'zipcode', 'address_1', 'address_2', 'default']);
|
||||
$address = AddressService::update($id, $data);
|
||||
return json_success('更新成功', new AddressResource($address));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ class AddressResource extends JsonResource
|
|||
'zipcode' => $this->zipcode,
|
||||
'address_1' => $this->address_1,
|
||||
'address_2' => $this->address_2,
|
||||
'default' => (current_customer()->address_id == $this->id),
|
||||
];
|
||||
|
||||
return $data;
|
||||
|
|
|
|||
|
|
@ -20,19 +20,32 @@ class AddressService
|
|||
{
|
||||
public static function create($data)
|
||||
{
|
||||
$data['customer_id'] = current_customer()->id;
|
||||
$customer = current_customer();
|
||||
$data['customer_id'] = $customer->id;
|
||||
$data['zone'] = ZoneRepo::find($data['zone_id'])->name;
|
||||
$address = AddressRepo::create($data);
|
||||
|
||||
if ($data['default']) {
|
||||
$customer->address_id = $address->id;
|
||||
$customer->save();
|
||||
}
|
||||
return $address;
|
||||
}
|
||||
|
||||
public static function update($id, $data)
|
||||
{
|
||||
$customer = current_customer();
|
||||
$address = AddressRepo::find($id);
|
||||
$data['zone'] = ZoneRepo::find($data['zone_id'])->name;
|
||||
if ($address->customer_id != current_customer()->id) {
|
||||
$address;
|
||||
if ($address->customer_id != $customer->id) {
|
||||
return null;
|
||||
}
|
||||
return AddressRepo::update($address, $data);
|
||||
$data['zone'] = ZoneRepo::find($data['zone_id'])->name;
|
||||
$address = AddressRepo::update($address, $data);
|
||||
if ($data['default'] && $customer->address_id != $address->id) {
|
||||
$customer->address_id = $address->id;
|
||||
$customer->save();
|
||||
}
|
||||
|
||||
return $address;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ class CreateCustomerTable extends Migration
|
|||
$table->string('name');
|
||||
$table->string('avatar')->default('');
|
||||
$table->unsignedInteger('customer_group_id');
|
||||
$table->unsignedInteger('address_id');
|
||||
$table->string('locale', 10);
|
||||
$table->tinyInteger('status')->default(0);
|
||||
$table->string('code', 40)->default('');
|
||||
|
|
|
|||
Loading…
Reference in New Issue