* @Date : 2020/11/5 5:09 下午 * @return mixed */ public function index() { $addresses = Address::byUser(Api::user())->orderBy('is_default', 'desc')->get(); return $this->success(AddressResource::collection($addresses)); } /** * Notes: 创建地址,展示地区联动数据 * * @Author: * @Date : 2020/11/5 5:10 下午 */ public function create(Request $request) { $parentId = $request->parent_id ?? 1; $list = Region::where('parent_id', $parentId)->get(); return $this->success($list); } /** * Notes: 保存地址 * * @Author: * @Date : 2020/11/5 5:13 下午 * @param \Modules\Mall\Http\Requests\Address\AddressRequest $request * @return mixed */ public function store(AddressRequest $request) { $result = Address::create([ 'user_id' => Api::userId(), 'name' => $request->name, 'mobile' => $request->mobile, 'province_id' => $request->province_id, 'city_id' => $request->city_id, 'district_id' => $request->district_id, 'address' => $request->address, 'is_default' => $request->is_default, ]); if ($result) { return $this->success('操作成功'); } else { return $this->failed('失败'); } } /** * Notes: 地址详情,如果不是自己的地址,不显示 * * @Author: * @Date : 2020/11/5 5:31 下午 * @param Address $address * @return mixed */ public function show(Address $address) { if ($address->user()->isNot(Api::user())) { return $this->failed('', 404); } return $this->success(new AddressResource($address)); } /** * Notes: 设置默认地址 * * @Author: * @Date : 2020/11/5 5:34 下午 * @param Address $address * @return mixed */ public function setDefault(Address $address) { if ($address->user()->isNot(Api::user())) { return $this->failed('', 404); } try { $address->setDefault(); return $this->success('操作成功'); } catch (Exception $exception) { return $this->failed('失败'); } } /** * Notes: 更新地址 * * @Author: * @Date : 2020/11/5 5:40 下午 */ public function update(AddressRequest $request, Address $address) { if ($address->user()->isNot(Api::user())) { return $this->failed('', 404); } $address->update([ 'name' => $request->name, 'mobile' => $request->mobile, 'province_id' => $request->province_id, 'city_id' => $request->city_id, 'district_id' => $request->district_id, 'address' => $request->address, 'is_default' => $request->is_default, ]); return $this->success('操作成功'); } /** * Notes: 删除地址 * * @Author: * @Date : 2020/11/5 5:52 下午 * @param Address $address * @return mixed */ public function destroy(Address $address) { if ($address->user()->isNot(Api::user())) { return $this->failed('', 404); } try { $address->delete(); return $this->success('操作成功'); } catch (Exception$exception) { return $this->failed('失败'); } } }