validate()) { return [ 'code' => 1, 'msg' => $this->getErrorSummary(false)[0], ]; } $address = Address::findOne($this->address_id); if (!$address) { return [ 'code' => 1, 'msg' => '操作失败,收货地址不存在', ]; } Address::updateAll(['is_default' => Address::DEFAULT_STATUS_FALSE], [ 'user_id' => $this->user_id, 'is_delete' => Address::DELETE_STATUS_FALSE, ]); $address->is_default = Address::DEFAULT_STATUS_TRUE; $address->save(); return [ 'code' => 0, 'msg' => '操作成功', ]; } public function info() { $address = Address::find()->select('id,name,mobile,province_id,province,city_id,city,district_id,district,detail,is_default,longitude,latitude')->where([ 'user_id' => $this->user_id, 'is_delete' => 0, 'id' => $this->address_id, ])->one(); if (!$address) { return [ 'code' => 1, 'msg' => '收货地址不存在', ]; } return [ 'code' => 0, 'msg' => 'success', 'data' => [ 'address_id' => $address->id, 'name' => $address->name, 'mobile' => $address->mobile, 'district' => [ 'province' => [ 'id' => $address->province_id, 'name' => $address->province, ], 'city' => [ 'id' => $address->city_id, 'name' => $address->city, ], 'district' => [ 'id' => $address->district_id, 'name' => $address->district, ], 'town' => [ 'id' => $address->town_id?:0, 'name' => $address->town?:'', ], 'village' => [ 'id' => $address->village_id?:0, 'name' => $address->village?:'', ], ], 'detail' => $address->detail, 'latitude' => $address->latitude, 'longitude' => $address->longitude, 'is_default' => $address->is_default ], ]; } public function delete() { if (!$this->validate()) { return [ 'code' => 1, 'msg' => $this->getErrorSummary(false)[0], ]; } $address = Address::findOne($this->address_id); if (!$address) { return [ 'code' => 1, 'msg' => '操作失败,收货地址不存在', ]; } $address->is_delete = Address::DELETE_STATUS_TRUE; $address->save(); return [ 'code' => 0, 'msg' => '操作成功', ]; } }