前台地址

This commit is contained in:
TL 2022-07-05 10:57:20 +08:00
parent c22c66e6d7
commit f06f71033e
4 changed files with 9 additions and 6 deletions

View File

@ -19,7 +19,7 @@ class Address extends Model
{ {
use HasFactory; use HasFactory;
protected $fillable = ['customer_id', 'name', 'phone', 'country_id', 'state_id', 'state', 'city_id', 'city', 'zipcode', 'address_1', 'address_2']; protected $fillable = ['customer_id', 'name', 'phone', 'country_id', 'zone_id', 'zone', 'city_id', 'city', 'zipcode', 'address_1', 'address_2'];
public function country(): BelongsTo public function country(): BelongsTo
{ {

View File

@ -39,14 +39,14 @@ class AddressController extends Controller
public function store(AddressRequest $request) public function store(AddressRequest $request)
{ {
$data = $request->only(['name', 'phone', 'country_id', 'zone_id', 'zone', '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']);
$address = AddressService::create($data); $address = AddressService::create($data);
return json_success('创建成功', new AddressResource($address)); return json_success('创建成功', new AddressResource($address));
} }
public function update(AddressRequest $request, int $id) public function update(AddressRequest $request, int $id)
{ {
$data = $request->only(['name', 'phone', 'country_id', 'zone_id', 'zone', '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']);
$address = AddressService::update($id, $data); $address = AddressService::update($id, $data);
return json_success('更新成功', new AddressResource($address)); return json_success('更新成功', new AddressResource($address));
} }

View File

@ -14,12 +14,14 @@ namespace Beike\Shop\Services;
use Beike\Repositories\AddressRepo; use Beike\Repositories\AddressRepo;
use Beike\Repositories\ZoneRepo;
class AddressService class AddressService
{ {
public static function create($data) public static function create($data)
{ {
$data['customer_id'] = current_customer()->customer_id; $data['customer_id'] = current_customer()->id;
$data['zone'] = ZoneRepo::find($data['zone_id'])->name;
$address = AddressRepo::create($data); $address = AddressRepo::create($data);
return $address; return $address;
} }
@ -27,7 +29,8 @@ class AddressService
public static function update($id, $data) public static function update($id, $data)
{ {
$address = AddressRepo::find($id); $address = AddressRepo::find($id);
if ($address->customer_id != current_customer()->customer_id) { $data['zone'] = ZoneRepo::find($data['zone_id'])->name;
if ($address->customer_id != current_customer()->id) {
$address; $address;
} }
return AddressRepo::update($address, $data); return AddressRepo::update($address, $data);

View File

@ -21,7 +21,7 @@ class CreateAddress extends Migration
$table->unsignedInteger('country_id'); $table->unsignedInteger('country_id');
$table->unsignedInteger('zone_id'); $table->unsignedInteger('zone_id');
$table->string('zone'); $table->string('zone');
$table->unsignedInteger('city_id'); $table->unsignedInteger('city_id')->nullable();
$table->string('city'); $table->string('city');
$table->string('zipcode'); $table->string('zipcode');
$table->string('address_1'); $table->string('address_1');