38 lines
1.0 KiB
Rust
38 lines
1.0 KiB
Rust
use axum::extract::Query;
|
|
use axum::{Extension, Json};
|
|
use domain::dto::feedback::FeedbackAdd;
|
|
use domain::dto::pageable::PageParams;
|
|
use domain::vo::feedback::FeedbackPageable;
|
|
use library::context::Context;
|
|
use library::model::response::ResResult;
|
|
use library::model::validator;
|
|
|
|
use crate::service;
|
|
|
|
/// post: /feedback
|
|
///
|
|
/// 添加反馈信息
|
|
pub async fn add_feedback(
|
|
Extension(context): Extension<Context>,
|
|
Json(req): Json<FeedbackAdd>,
|
|
) -> ResResult<()> {
|
|
validator::validate_params(&req, context.get_lang_tag())?;
|
|
service::feedback_service::add_feedback(context, req).await
|
|
}
|
|
|
|
/// get: /feedback
|
|
///
|
|
/// 获取反馈信息列表
|
|
pub async fn get_feedback_list_by_page(
|
|
Extension(context): Extension<Context>,
|
|
Query(page_params): Query<PageParams>,
|
|
) -> ResResult<FeedbackPageable> {
|
|
validator::validate_params(&page_params, context.get_lang_tag())?;
|
|
service::feedback_service::get_feedback_list_by_page(
|
|
context,
|
|
page_params.page.unwrap(),
|
|
page_params.page_size.unwrap(),
|
|
)
|
|
.await
|
|
}
|