getAddressList($request->user['uid']); return app('json')->success($list); } /** * 获取地址详情 * @param Request $request */ public function detail(Request $request) { $post = UtilService::getMore([ ['id', '', 'empty', '参数错误'], ], $request); $address = Db::name('user_address') ->where('id', $post['id']) ->where('uid', $request->user['uid']) ->find(); if (!$address) { return app('json')->fail('地址不存在'); } return app('json')->success($address); } /** * 添加地址 * @param Request $request */ public function add(Request $request) { $post = UtilService::getMore([ ['real_name', '', 'empty', '请输入收货人姓名'], ['phone', '', 'empty', '请输入联系电话'], ['province', '', 'empty', '请选择省份'], ['city', '', 'empty', '请选择城市'], ['district', '', 'empty', '请选择区县'], ['detail', '', 'empty', '请输入详细地址'], ['is_default', 0], ], $request); // 验证手机号 if (!preg_match('/^1[3-9]\d{9}$/', $post['phone'])) { return app('json')->fail('手机号格式不正确'); } $data = [ 'uid' => $request->user['uid'], 'real_name' => $post['real_name'], 'phone' => $post['phone'], 'province' => $post['province'], 'city' => $post['city'], 'district' => $post['district'], 'detail' => $post['detail'], 'is_default' => $post['is_default'] == 1 ? 1 : 0, 'time' => time(), ]; // 如果设置为默认地址,先取消其他默认地址 if ($data['is_default'] == 1) { Db::name('user_address')->where('uid', $request->user['uid'])->update(['is_default' => 0]); } $id = Db::name('user_address')->insertGetId($data); if ($id) { return app('json')->success('添加成功'); } else { return app('json')->fail('添加失败'); } } /** * 编辑地址 * @param Request $request */ public function edit(Request $request) { $post = UtilService::getMore([ ['id', '', 'empty', '参数错误'], ['real_name', '', 'empty', '请输入收货人姓名'], ['phone', '', 'empty', '请输入联系电话'], ['province', '', 'empty', '请选择省份'], ['city', '', 'empty', '请选择城市'], ['district', '', 'empty', '请选择区县'], ['detail', '', 'empty', '请输入详细地址'], ['is_default', 0], ], $request); // 验证手机号 if (!preg_match('/^1[3-9]\d{9}$/', $post['phone'])) { return app('json')->fail('手机号格式不正确'); } $data = [ 'real_name' => $post['real_name'], 'phone' => $post['phone'], 'province' => $post['province'], 'city' => $post['city'], 'district' => $post['district'], 'detail' => $post['detail'], 'is_default' => $post['is_default'] == 1 ? 1 : 0, ]; // 如果设置为默认地址,先取消其他默认地址 if ($data['is_default'] == 1) { Db::name('user_address')->where('uid', $request->user['uid'])->update(['is_default' => 0]); } $result = Db::name('user_address') ->where('id', $post['id']) ->where('uid', $request->user['uid']) ->update($data); if ($result) { return app('json')->success('修改成功'); } else { return app('json')->fail('修改失败'); } } /** * 删除地址 * @param Request $request */ public function delete(Request $request) { $post = UtilService::getMore([ ['id', '', 'empty', '参数错误'], ], $request); $result = Db::name('user_address') ->where('id', $post['id']) ->where('uid', $request->user['uid']) ->delete(); if ($result) { return app('json')->success('删除成功'); } else { return app('json')->fail('删除失败'); } } /** * 设置默认地址 * @param Request $request */ public function setDefault(Request $request) { $post = UtilService::getMore([ ['id', '', 'empty', '参数错误'], ], $request); $result = (new UserAddress())->setDefault($post['id'], $request->user['uid']); if ($result) { return app('json')->success('设置成功'); } else { return app('json')->fail('设置失败'); } } }