chimes_rust/entity/
chimes_log_info.rs

1use rbatis::crud::{Skip, CRUD};
2use rbatis::crud_table;
3use rbatis::error::Error;
4use rbatis::rbatis::Rbatis;
5use rbatis::Page;
6use rbatis::PageRequest;
7use rbson::Bson;
8use serde_derive::{Deserialize, Serialize};
9/**
10 * Generate the file for chimes_log_info.rs,
11 */
12use std::fmt::Debug;
13
14#[crud_table(table_name:"chimes_log"|table_columns:"log_id,description,log_type,method,params,request_ip,time,username,address,browser,exception_detail,create_time")]
15#[derive(Debug, Clone, Default, Deserialize, Serialize)]
16pub struct ChimesLogInfo {
17    pub log_id: Option<i64>,
18    pub description: Option<String>,
19    pub log_type: Option<String>,
20    pub method: Option<String>,
21    pub params: Option<String>,
22    pub request_ip: Option<String>,
23    pub time: Option<i64>,
24    pub username: Option<String>,
25    pub address: Option<String>,
26    pub browser: Option<String>,
27    pub exception_detail: Option<String>,
28    pub create_time: Option<rbatis::DateTimeNative>,
29}
30
31impl ChimesLogInfo {
32    #[allow(dead_code)]
33    pub async fn from_id(rb: &Rbatis, log_id: &i64) -> Result<Option<Self>, Error> {
34        let wp = rb.new_wrapper().eq("log_id", log_id);
35        rb.fetch_by_wrapper::<Option<Self>>(wp).await
36    }
37
38    #[allow(dead_code)]
39    pub async fn save(&mut self, rb: &Rbatis) -> Result<u64, Error> {
40        match rb.save(self, &[Skip::Column("log_id")]).await {
41            Ok(ds) => {
42                self.log_id = ds.last_insert_id;
43                Ok(ds.rows_affected)
44            }
45            Err(err) => Err(err),
46        }
47    }
48
49    #[allow(dead_code)]
50    pub async fn update(&self, rb: &Rbatis) -> Result<u64, Error> {
51        let wp = rb.new_wrapper().eq("log_id", self.log_id);
52        rb.update_by_wrapper(self, wp, &[Skip::Column("log_id")])
53            .await
54    }
55
56    #[allow(dead_code)]
57    pub async fn update_selective(&self, rb: &Rbatis) -> Result<u64, Error> {
58        let wp = rb.new_wrapper().eq("log_id", self.log_id);
59        rb.update_by_wrapper(self, wp, &[Skip::Value(Bson::Null)])
60            .await
61    }
62
63    #[allow(dead_code)]
64    pub async fn remove_batch(&self, rb: &Rbatis) -> Result<u64, Error> {
65        let wp = rb
66            .new_wrapper()
67            .r#if(self.log_id.clone().is_some(), |w| {
68                w.and().eq("log_id", self.log_id.unwrap())
69            })
70            .r#if(self.description.clone().is_some(), |w| {
71                w.and().eq("description", self.description.clone().unwrap())
72            })
73            .r#if(self.log_type.clone().is_some(), |w| {
74                w.and().eq("log_type", self.log_type.clone().unwrap())
75            })
76            .r#if(self.method.clone().is_some(), |w| {
77                w.and().eq("method", self.method.clone().unwrap())
78            })
79            .r#if(self.params.clone().is_some(), |w| {
80                w.and().eq("params", self.params.clone().unwrap())
81            })
82            .r#if(self.request_ip.clone().is_some(), |w| {
83                w.and().eq("request_ip", self.request_ip.clone().unwrap())
84            })
85            .r#if(self.time.clone().is_some(), |w| {
86                w.and().eq("time", self.time.unwrap())
87            })
88            .r#if(self.username.clone().is_some(), |w| {
89                w.and().eq("username", self.username.clone().unwrap())
90            })
91            .r#if(self.address.clone().is_some(), |w| {
92                w.and().eq("address", self.address.clone().unwrap())
93            })
94            .r#if(self.browser.clone().is_some(), |w| {
95                w.and().eq("browser", self.browser.clone().unwrap())
96            })
97            .r#if(self.exception_detail.clone().is_some(), |w| {
98                w.and()
99                    .eq("exception_detail", self.exception_detail.clone().unwrap())
100            })
101            .r#if(self.create_time.clone().is_some(), |w| {
102                w.and().eq("create_time", self.create_time.unwrap())
103            });
104        rb.remove_by_wrapper::<Self>(wp).await
105    }
106
107    #[allow(dead_code)]
108    pub async fn remove(&mut self, rb: &Rbatis) -> Result<u64, Error> {
109        let wp = rb.new_wrapper().eq("log_id", self.log_id);
110        rb.remove_by_wrapper::<Self>(wp).await
111    }
112
113    #[allow(dead_code)]
114    pub async fn remove_ids(rb: &Rbatis, ids: &[i64]) -> Result<u64, Error> {
115        let wp = rb.new_wrapper().r#in("log_id", ids);
116        rb.remove_by_wrapper::<Self>(wp).await
117    }
118
119    #[allow(dead_code)]
120    pub async fn query_paged(&self, rb: &Rbatis, curr: u64, ps: u64) -> Result<Page<Self>, Error> {
121        let wp = rb
122            .new_wrapper()
123            .r#if(self.log_id.clone().is_some(), |w| {
124                w.and().eq("log_id", self.log_id.unwrap())
125            })
126            .r#if(self.description.clone().is_some(), |w| {
127                w.and().eq("description", self.description.clone().unwrap())
128            })
129            .r#if(self.log_type.clone().is_some(), |w| {
130                w.and().eq("log_type", self.log_type.clone().unwrap())
131            })
132            .r#if(self.method.clone().is_some(), |w| {
133                w.and().eq("method", self.method.clone().unwrap())
134            })
135            .r#if(self.params.clone().is_some(), |w| {
136                w.and().eq("params", self.params.clone().unwrap())
137            })
138            .r#if(self.request_ip.clone().is_some(), |w| {
139                w.and().eq("request_ip", self.request_ip.clone().unwrap())
140            })
141            .r#if(self.time.clone().is_some(), |w| {
142                w.and().eq("time", self.time.unwrap())
143            })
144            .r#if(self.username.clone().is_some(), |w| {
145                w.and().eq("username", self.username.clone().unwrap())
146            })
147            .r#if(self.address.clone().is_some(), |w| {
148                w.and().eq("address", self.address.clone().unwrap())
149            })
150            .r#if(self.browser.clone().is_some(), |w| {
151                w.and().eq("browser", self.browser.clone().unwrap())
152            })
153            .r#if(self.exception_detail.clone().is_some(), |w| {
154                w.and()
155                    .eq("exception_detail", self.exception_detail.clone().unwrap())
156            })
157            .r#if(self.create_time.clone().is_some(), |w| {
158                w.and().eq("create_time", self.create_time.unwrap())
159            });
160        rb.fetch_page_by_wrapper::<Self>(wp, &PageRequest::new(curr, ps))
161            .await
162    }
163
164    #[allow(dead_code)]
165    pub async fn query_list(&self, rb: &Rbatis) -> Result<Vec<Self>, Error> {
166        let wp = rb
167            .new_wrapper()
168            .r#if(self.log_id.clone().is_some(), |w| {
169                w.and().eq("log_id", self.log_id.unwrap())
170            })
171            .r#if(self.description.clone().is_some(), |w| {
172                w.and().eq("description", self.description.clone().unwrap())
173            })
174            .r#if(self.log_type.clone().is_some(), |w| {
175                w.and().eq("log_type", self.log_type.clone().unwrap())
176            })
177            .r#if(self.method.clone().is_some(), |w| {
178                w.and().eq("method", self.method.clone().unwrap())
179            })
180            .r#if(self.params.clone().is_some(), |w| {
181                w.and().eq("params", self.params.clone().unwrap())
182            })
183            .r#if(self.request_ip.clone().is_some(), |w| {
184                w.and().eq("request_ip", self.request_ip.clone().unwrap())
185            })
186            .r#if(self.time.clone().is_some(), |w| {
187                w.and().eq("time", self.time.unwrap())
188            })
189            .r#if(self.username.clone().is_some(), |w| {
190                w.and().eq("username", self.username.clone().unwrap())
191            })
192            .r#if(self.address.clone().is_some(), |w| {
193                w.and().eq("address", self.address.clone().unwrap())
194            })
195            .r#if(self.browser.clone().is_some(), |w| {
196                w.and().eq("browser", self.browser.clone().unwrap())
197            })
198            .r#if(self.exception_detail.clone().is_some(), |w| {
199                w.and()
200                    .eq("exception_detail", self.exception_detail.clone().unwrap())
201            })
202            .r#if(self.create_time.clone().is_some(), |w| {
203                w.and().eq("create_time", self.create_time.unwrap())
204            });
205        rb.fetch_list_by_wrapper::<Self>(wp).await
206    }
207}