From b1b64558fefcfda2bad025ea08cca096b37d95b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E8=BF=90=E5=AE=B6?= Date: Wed, 5 Jun 2024 16:27:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=B0=81=E8=A3=85ResResult?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/src/controller/account.rs | 8 ++++---- api/src/controller/feedback.rs | 9 ++++----- library/src/resp/response.rs | 13 +++++++------ service/src/account.rs | 6 +++--- service/src/feedback.rs | 12 ++++++------ service/src/sys_account.rs | 10 +++++----- 6 files changed, 29 insertions(+), 29 deletions(-) diff --git a/api/src/controller/account.rs b/api/src/controller/account.rs index adc2b39..b7ed55f 100644 --- a/api/src/controller/account.rs +++ b/api/src/controller/account.rs @@ -1,22 +1,22 @@ use axum::Json; use axum_extra::extract::WithRejection; use domain::dto::account::{AuthenticateGooleAccountReq, AuthenticateWithPassword}; -use library::resp::{rejection::IRejection, response::{ ResOK, ResResult}}; +use library::resp::{rejection::IRejection, response::{ ResData, ResResult}}; use validator::Validate; pub async fn authenticate_google( WithRejection(Json(req), _): IRejection> -) -> ResResult> { +) -> ResResult> { req.validate()?; service::account::authenticate_google(req).await?; - Ok(ResOK::none()) + Ok(ResData::none()) } pub async fn authenticate_with_password( WithRejection(Json(req), _): IRejection> -) -> ResResult> { +) -> ResResult> { req.validate()?; service::sys_account::authenticate_with_password(req).await diff --git a/api/src/controller/feedback.rs b/api/src/controller/feedback.rs index 281b9d5..2addda4 100644 --- a/api/src/controller/feedback.rs +++ b/api/src/controller/feedback.rs @@ -7,23 +7,22 @@ use domain::dto::pageable::PageParams; use domain::entities::feedback::Feedback; use library::resp::pageable::Pageable; use library::resp::rejection::IRejection; -use library::resp::response::{ResErr, ResOK, ResResult}; +use library::resp::response::{ResErr, ResData, ResResult}; /// 添加反馈信息 pub async fn add_feedback( WithRejection(Json(req), _): IRejection> -) -> ResResult> { +) -> ResResult> { if let Err(err) = req.validate() { return Err(ResErr::ErrParams(Some(err.to_string()))); } - service::feedback::add_feedback(req).await?; - Ok(ResOK(None)) + service::feedback::add_feedback(req).await } /// 获取反馈信息列表 pub async fn get_feedback_list_by_page( Query(page_params): Query -) -> ResResult>> { +) -> ResResult>> { service::feedback::get_feedback_list_by_page(page_params.page, page_params.page_size).await } \ No newline at end of file diff --git a/library/src/resp/response.rs b/library/src/resp/response.rs index 44f5573..f962cc8 100644 --- a/library/src/resp/response.rs +++ b/library/src/resp/response.rs @@ -8,28 +8,28 @@ use serde::Serialize; use super::status::Status; -pub struct ResOK(pub Option) +pub struct ResData(pub Option) where T: Serialize; -impl IntoResponse for ResOK +impl IntoResponse for ResData where T: Serialize, { fn into_response(self) -> Response { - let ResOK(data) = self; + let ResData(data) = self; let status = Status::OK(data); Json(status.to_reply()).into_response() } } -impl ResOK { +impl ResData { pub fn none() -> Self { - ResOK(None) + ResData(None) } pub fn some(data: T) -> Self { - ResOK(Some(data)) + ResData(Some(data)) } } @@ -230,4 +230,5 @@ impl ResErr { } } + pub type ResResult = std::result::Result; diff --git a/service/src/account.rs b/service/src/account.rs index 211e8a0..c4f0986 100644 --- a/service/src/account.rs +++ b/service/src/account.rs @@ -3,13 +3,13 @@ use domain::dto::account::AuthenticateGooleAccountReq; use domain::entities::account::Account; use library::cache::login_cache::{LoginAccount, LOGIN_CACHE}; use library::resp::response::ResErr::ErrPerm; -use library::resp::response::{ResErr, ResOK, ResResult}; +use library::resp::response::{ResErr, ResData, ResResult}; use library::social::google::GOOGLE_SOCIAL; use library::{db, token}; pub async fn authenticate_google( req: AuthenticateGooleAccountReq, -) -> ResResult> { +) -> ResResult> { let verify_result = GOOGLE_SOCIAL .verify_id_token(&req.id_token.unwrap()) .await @@ -58,5 +58,5 @@ pub async fn authenticate_google( ) .await; - return Ok(ResOK::some((token, refresh_token))); + return Ok(ResData::some((token, refresh_token))); } diff --git a/service/src/feedback.rs b/service/src/feedback.rs index 0f045b4..26243b9 100644 --- a/service/src/feedback.rs +++ b/service/src/feedback.rs @@ -2,17 +2,17 @@ use domain::dto::feedback::FeedbackAdd; use domain::entities::feedback::Feedback; use library::db; use library::resp::pageable::Pageable; -use library::resp::response::{ResOK, ResResult}; +use library::resp::response::{ResData, ResResult}; /// 获取反馈信息列表 -pub async fn get_feedback_list_by_page(page: i64, page_size: i64) -> ResResult>> { +pub async fn get_feedback_list_by_page(page: i64, page_size: i64) -> ResResult>> { let feedback_list = Feedback::search_feedback(page, page_size, db!()).await.ok(); if feedback_list.is_none() { tracing::error!("反馈信息为空"); - return Ok(ResOK::some(Pageable::::empty())); + return Ok(ResData::some(Pageable::::empty())); } let total = get_feedback_count().await; - Ok(ResOK::some(Pageable::new(feedback_list.unwrap(), total))) + Ok(ResData::some(Pageable::new(feedback_list.unwrap(), total))) } /// 获取反馈信息总数 @@ -26,7 +26,7 @@ async fn get_feedback_count() -> i64 { } /// 添加反馈信息 -pub async fn add_feedback(req: FeedbackAdd) -> ResResult> { +pub async fn add_feedback(req: FeedbackAdd) -> ResResult> { match Feedback::add_feedback(&mut Feedback{ user_id: req.user_id.unwrap(), content: req.content.unwrap(), @@ -41,5 +41,5 @@ pub async fn add_feedback(req: FeedbackAdd) -> ResResult> { } } - Ok(ResOK::none()) + Ok(ResData::none()) } \ No newline at end of file diff --git a/service/src/sys_account.rs b/service/src/sys_account.rs index fd6573f..ed13fd5 100644 --- a/service/src/sys_account.rs +++ b/service/src/sys_account.rs @@ -4,13 +4,13 @@ use domain::{ entities::account::{Account, Role}, }; use library::{ - cache::login_cache::{LoginAccount, LOGIN_CACHE}, db, resp::response::{ResErr, ResOK, ResResult}, token::{generate_refresh_token, generate_token} + cache::login_cache::{LoginAccount, LOGIN_CACHE}, db, resp::response::{ResErr, ResData, ResResult}, token::{generate_refresh_token, generate_token} }; pub async fn authenticate_with_password( req: AuthenticateWithPassword, -) -> ResResult> { +) -> ResResult> { let account = Account::find_with_password(req.username.unwrap(), req.password.unwrap(), db!()).await?; @@ -41,10 +41,10 @@ pub async fn authenticate_with_password( ) .await; - Ok(ResOK(Some((token, refresh_token)))) + Ok(ResData(Some((token, refresh_token)))) } -pub async fn add_account() -> ResResult> { +pub async fn add_account() -> ResResult> { let account = Account::add_account( &Account { username: "admin".to_string(), @@ -59,5 +59,5 @@ pub async fn add_account() -> ResResult> { tracing::error!("添加用户失败"); return Err(ResErr::service("添加用户失败")); } - Ok(ResOK(None)) + Ok(ResData(None)) } \ No newline at end of file