chimes_rust/handler/
chimes_dict_detail_info.rs

1use crate::entity::ChimesDictDetailInfo;
2use actix_web::{web, HttpResponse, Result};
3use chimes_auth::ApiResult;
4use chimes_utils::{get_rbatis, reload_translate_dicts};
5/**
6 * Generate the file for chimes_dict_detail_info.rs,
7 */
8use rbatis::Page;
9
10#[post("/api/v1/dict_detail/save")]
11pub async fn dict_detail_save(req: web::Json<ChimesDictDetailInfo>) -> Result<HttpResponse> {
12    let rb = get_rbatis();
13    let mut val = req.to_owned();
14    val.create_time = Some(rbatis::DateTimeNative::now());
15    val.update_time = Some(rbatis::DateTimeNative::now());
16    match val.save(rb).await {
17        Ok(_st) => {
18            reload_translate_dicts().await;
19            let ret: web::Json<ApiResult<ChimesDictDetailInfo>> = web::Json(ApiResult::ok(val));
20            Ok(HttpResponse::Ok().json(ret))
21        }
22        Err(err) => {
23            let ret: web::Json<ApiResult<ChimesDictDetailInfo>> =
24                web::Json(ApiResult::error(5010, &err.to_string()));
25            Ok(HttpResponse::Ok().json(ret))
26        }
27    }
28}
29
30#[post("/api/v1/dict_detail/update")]
31async fn dict_detail_update(req: web::Json<ChimesDictDetailInfo>) -> Result<HttpResponse> {
32    let rb = get_rbatis();
33    let mut val = req.to_owned();
34    val.update_time = Some(rbatis::DateTimeNative::now());
35    match val.update_selective(rb).await {
36        Ok(_st) => {
37            reload_translate_dicts().await;
38            let ret: web::Json<ApiResult<ChimesDictDetailInfo>> = web::Json(ApiResult::ok(val));
39            Ok(HttpResponse::Ok().json(ret))
40        }
41        Err(err) => {
42            let ret: web::Json<ApiResult<ChimesDictDetailInfo>> =
43                web::Json(ApiResult::error(5010, &err.to_string()));
44            Ok(HttpResponse::Ok().json(ret))
45        }
46    }
47}
48
49#[post("/api/v1/dict_detail/delete")]
50pub async fn dict_detail_delete(req: web::Json<ChimesDictDetailInfo>) -> Result<HttpResponse> {
51    let rb = get_rbatis();
52    let mut val = req.to_owned();
53    match val.remove(rb).await {
54        Ok(_st) => {
55            reload_translate_dicts().await;
56            let ret: web::Json<ApiResult<ChimesDictDetailInfo>> = web::Json(ApiResult::ok(val));
57            Ok(HttpResponse::Ok().json(ret))
58        }
59        Err(err) => {
60            let ret: web::Json<ApiResult<ChimesDictDetailInfo>> =
61                web::Json(ApiResult::error(5010, &err.to_string()));
62            Ok(HttpResponse::Ok().json(ret))
63        }
64    }
65}
66
67#[post("/api/v1/dict_detail/delete_ids")]
68pub async fn dict_detail_delete_ids(req: web::Json<Vec<i64>>) -> Result<HttpResponse> {
69    let rb = get_rbatis();
70    let ids = req.as_slice();
71    match ChimesDictDetailInfo::remove_ids(rb, ids).await {
72        Ok(st) => {
73            reload_translate_dicts().await;
74            let ret: web::Json<ApiResult<u64>> = web::Json(ApiResult::ok(st));
75            Ok(HttpResponse::Ok().json(ret))
76        }
77        Err(err) => {
78            let ret: web::Json<ApiResult<u64>> =
79                web::Json(ApiResult::error(5010, &err.to_string()));
80            Ok(HttpResponse::Ok().json(ret))
81        }
82    }
83}
84
85#[post("/api/v1/dict_detail/search")]
86pub async fn dict_detail_search(req: web::Json<ChimesDictDetailInfo>) -> Result<HttpResponse> {
87    let rb = get_rbatis();
88    let val = req.to_owned();
89    match val.query_list(rb).await {
90        Ok(st) => {
91            let ret: web::Json<ApiResult<Vec<ChimesDictDetailInfo>>> = web::Json(ApiResult::ok(st));
92            Ok(HttpResponse::Ok().json(ret))
93        }
94        Err(err) => {
95            let ret: web::Json<ApiResult<Vec<ChimesDictDetailInfo>>> =
96                web::Json(ApiResult::error(5010, &err.to_string()));
97            Ok(HttpResponse::Ok().json(ret))
98        }
99    }
100}
101
102#[post("/api/v1/dict_detail/paged/{current}/{size}")]
103pub async fn dict_detail_paged(
104    req: web::Json<ChimesDictDetailInfo>,
105    path_param: web::Path<(u64, u64)>,
106) -> Result<HttpResponse> {
107    let rb = get_rbatis();
108    let val = req.to_owned();
109    let (current, size) = path_param.into_inner();
110    match val.query_paged(rb, current, size).await {
111        Ok(st) => {
112            let ret: web::Json<ApiResult<Page<ChimesDictDetailInfo>>> =
113                web::Json(ApiResult::ok(st));
114            Ok(HttpResponse::Ok().json(ret))
115        }
116        Err(err) => {
117            let ret: web::Json<ApiResult<Page<ChimesDictDetailInfo>>> =
118                web::Json(ApiResult::error(5010, &err.to_string()));
119            Ok(HttpResponse::Ok().json(ret))
120        }
121    }
122}
123
124#[get("/api/v1/dict_detail/get/{id}")]
125pub async fn dict_detail_get(detail_id_req: web::Path<i64>) -> Result<HttpResponse> {
126    let rb = get_rbatis();
127    let detail_id = detail_id_req.to_owned();
128    match ChimesDictDetailInfo::from_id(rb, &detail_id).await {
129        Ok(st) => match st {
130            Some(tv) => {
131                let ret: web::Json<ApiResult<ChimesDictDetailInfo>> = web::Json(ApiResult::ok(tv));
132                Ok(HttpResponse::Ok().json(ret))
133            }
134            None => {
135                let ret: web::Json<ApiResult<ChimesDictDetailInfo>> =
136                    web::Json(ApiResult::error(5040, &"Not-Found".to_string()));
137                Ok(HttpResponse::Ok().json(ret))
138            }
139        },
140        Err(err) => {
141            let ret: web::Json<ApiResult<ChimesDictDetailInfo>> =
142                web::Json(ApiResult::error(5010, &err.to_string()));
143            Ok(HttpResponse::Ok().json(ret))
144        }
145    }
146}