where('user_id', $request->user_data['id'])->orderByDesc('id')->get(); return success($data); } #[Apidoc\Title("新增和更新地址")] #[Apidoc\Url("api/address/add.html")] #[Apidoc\Method("POST")] #[Apidoc\Header("token", type: "string", require: true, desc: "身份令牌Token", mock: "@token")] #[Apidoc\Param("id", type: "int", require: true, desc: "地址ID 没有ID为新增 有ID为更新", mock: 1)] #[Apidoc\Param(name: "name", type: "int", require: true, desc: '收货人', default: '')] #[Apidoc\Param(name: "mobile", type: "int", require: true, desc: '手机号', default: '')] #[Apidoc\Param(name: "address", type: "int", require: true, desc: '收货地址', default: '')] public function add(Request $request) { $param = $request->param_data; Db::beginTransaction(); try { Validator::input($param, [ 'name' => Validator::notEmpty()->setName('收货人'), 'mobile' => Validator::notEmpty()->setName('手机号'), 'address' => Validator::notEmpty()->setName('收货地址'), ]); if (empty(Arr::get($param, 'id', ''))) { Db::table('wa_address')->insert( [ 'user_id' => $request->user_data['id'], 'name' => Arr::get($param, 'name', ''), 'mobile' => Arr::get($param, 'mobile', ''), 'address' => Arr::get($param, 'address', ''), ] ); } else { $has = Db::table('wa_address')->where('id', $param['id'])->where('user_id', $request->user_data['id'])->first(); if (empty($has)) { throw new \Exception('非法操作'); } Db::table('wa_address')->where('id', $param['id'])->where('user_id', $request->user_data['id'])->update([ 'name' => Arr::get($param, 'name', ''), 'mobile' => Arr::get($param, 'mobile', ''), 'address' => Arr::get($param, 'address', ''), ]); } } catch (\Throwable $exception) { Db::rollBack(); return error($exception->getMessage()); } Db::commit(); return success([], '操作成功'); } #[Apidoc\Title("删除")] #[Apidoc\Url("api/address/del.html")] #[Apidoc\Method("POST")] #[Apidoc\Header("token", type: "string", require: true, desc: "身份令牌Token", mock: "@token")] #[Apidoc\Param("id", type: "int", require: true, desc: "地址ID", mock: 1)] public function del(Request $request) { $param = $request->param_data; Db::beginTransaction(); try { Validator::input($param, [ 'id' => Validator::notEmpty()->setName('地址标识'), ]); $has = Db::table('wa_address')->where('id', $param['id'])->where('user_id', $request->user_data['id'])->first(); if (empty($has)) { throw new \Exception('非法操作'); } Db::table('wa_address')->where('id', $param['id'])->where('user_id', $request->user_data['id'])->delete(); } catch (\Throwable $exception) { Db::rollBack(); return error($exception->getMessage()); } Db::commit(); return success([], '操作成功'); } }