chimes_rust/entity/
chimes_role_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_role_info.rs,
11 */
12use std::fmt::Debug;
13
14#[crud_table(table_name:"chimes_role"|table_columns:"role_id,name,role_code,level,description,data_scope,create_by,update_by,create_time,update_time")]
15#[derive(Debug, Clone, Default, Deserialize, Serialize)]
16pub struct ChimesRoleInfo {
17    pub role_id: Option<i64>,
18    pub name: Option<String>,
19    pub role_code: Option<String>,
20    pub level: Option<i32>,
21    pub description: Option<String>,
22    pub data_scope: Option<String>,
23    pub create_by: Option<String>,
24    pub update_by: Option<String>,
25    pub create_time: Option<rbatis::DateTimeNative>,
26    pub update_time: Option<rbatis::DateTimeNative>,
27}
28
29impl ChimesRoleInfo {
30    #[allow(dead_code)]
31    pub async fn from_id(rb: &Rbatis, role_id: &i64) -> Result<Option<Self>, Error> {
32        let wp = rb.new_wrapper().eq("role_id", role_id);
33        rb.fetch_by_wrapper::<Option<Self>>(wp).await
34    }
35
36    #[allow(dead_code)]
37    pub async fn from_code(rb: &Rbatis, role_code: &String) -> Result<Option<Self>, Error> {
38        let wp = rb.new_wrapper().eq("role_code", role_code);
39        rb.fetch_by_wrapper::<Option<Self>>(wp).await
40    }
41
42    #[allow(dead_code)]
43    pub async fn save(&mut self, rb: &Rbatis) -> Result<u64, Error> {
44        match rb.save(self, &[Skip::Column("role_id")]).await {
45            Ok(ds) => {
46                self.role_id = ds.last_insert_id;
47                Ok(ds.rows_affected)
48            }
49            Err(err) => Err(err),
50        }
51    }
52
53    #[allow(dead_code)]
54    pub async fn update(&self, rb: &Rbatis) -> Result<u64, Error> {
55        let wp = rb.new_wrapper().eq("role_id", self.role_id);
56        rb.update_by_wrapper(self, wp, &[Skip::Column("role_id")])
57            .await
58    }
59
60    #[allow(dead_code)]
61    pub async fn update_selective(&self, rb: &Rbatis) -> Result<u64, Error> {
62        let wp = rb.new_wrapper().eq("role_id", self.role_id);
63        rb.update_by_wrapper(self, wp, &[Skip::Value(Bson::Null)])
64            .await
65    }
66
67    #[allow(dead_code)]
68    pub async fn remove_batch(&self, rb: &Rbatis) -> Result<u64, Error> {
69        let wp = rb
70            .new_wrapper()
71            .r#if(self.role_id.clone().is_some(), |w| {
72                w.and().eq("role_id", self.role_id.unwrap())
73            })
74            .r#if(self.name.clone().is_some(), |w| {
75                w.and().eq("name", self.name.clone().unwrap())
76            })
77            .r#if(self.role_code.clone().is_some(), |w| {
78                w.and().eq("role_code", self.role_code.clone().unwrap())
79            })
80            .r#if(self.level.clone().is_some(), |w| {
81                w.and().eq("level", self.level.unwrap())
82            })
83            .r#if(self.description.clone().is_some(), |w| {
84                w.and().eq("description", self.description.clone().unwrap())
85            })
86            .r#if(self.data_scope.clone().is_some(), |w| {
87                w.and().eq("data_scope", self.data_scope.clone().unwrap())
88            })
89            .r#if(self.create_by.clone().is_some(), |w| {
90                w.and().eq("create_by", self.create_by.clone().unwrap())
91            })
92            .r#if(self.update_by.clone().is_some(), |w| {
93                w.and().eq("update_by", self.update_by.clone().unwrap())
94            })
95            .r#if(self.create_time.clone().is_some(), |w| {
96                w.and().eq("create_time", self.create_time.unwrap())
97            })
98            .r#if(self.create_time.clone().is_some(), |w| {
99                w.and().eq("create_time", self.create_time.unwrap())
100            })
101            .r#if(self.update_time.clone().is_some(), |w| {
102                w.and().eq("update_time", self.update_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("role_id", self.role_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("role_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.role_id.clone().is_some(), |w| {
124                w.and().eq("role_id", self.role_id.unwrap())
125            })
126            .r#if(self.name.clone().is_some(), |w| {
127                w.and().eq("name", self.name.clone().unwrap())
128            })
129            .r#if(self.role_code.clone().is_some(), |w| {
130                w.and().eq("role_code", self.role_code.clone().unwrap())
131            })
132            .r#if(self.level.clone().is_some(), |w| {
133                w.and().eq("level", self.level.unwrap())
134            })
135            .r#if(self.description.clone().is_some(), |w| {
136                w.and().eq("description", self.description.clone().unwrap())
137            })
138            .r#if(self.data_scope.clone().is_some(), |w| {
139                w.and().eq("data_scope", self.data_scope.clone().unwrap())
140            })
141            .r#if(self.create_by.clone().is_some(), |w| {
142                w.and().eq("create_by", self.create_by.clone().unwrap())
143            })
144            .r#if(self.update_by.clone().is_some(), |w| {
145                w.and().eq("update_by", self.update_by.clone().unwrap())
146            })
147            .r#if(self.create_time.clone().is_some(), |w| {
148                w.and().eq("create_time", self.create_time.unwrap())
149            })
150            .r#if(self.update_time.clone().is_some(), |w| {
151                w.and().eq("update_time", self.update_time.unwrap())
152            });
153        rb.fetch_page_by_wrapper::<Self>(wp, &PageRequest::new(curr, ps))
154            .await
155    }
156
157    #[allow(dead_code)]
158    pub async fn query_list(&self, rb: &Rbatis) -> Result<Vec<Self>, Error> {
159        let wp = rb
160            .new_wrapper()
161            .r#if(self.role_id.clone().is_some(), |w| {
162                w.and().eq("role_id", self.role_id.unwrap())
163            })
164            .r#if(self.name.clone().is_some(), |w| {
165                w.and().eq("name", self.name.clone().unwrap())
166            })
167            .r#if(self.role_code.clone().is_some(), |w| {
168                w.and().eq("role_code", self.role_code.clone().unwrap())
169            })
170            .r#if(self.level.clone().is_some(), |w| {
171                w.and().eq("level", self.level.unwrap())
172            })
173            .r#if(self.description.clone().is_some(), |w| {
174                w.and().eq("description", self.description.clone().unwrap())
175            })
176            .r#if(self.data_scope.clone().is_some(), |w| {
177                w.and().eq("data_scope", self.data_scope.clone().unwrap())
178            })
179            .r#if(self.create_by.clone().is_some(), |w| {
180                w.and().eq("create_by", self.create_by.clone().unwrap())
181            })
182            .r#if(self.update_by.clone().is_some(), |w| {
183                w.and().eq("update_by", self.update_by.clone().unwrap())
184            })
185            .r#if(self.create_time.clone().is_some(), |w| {
186                w.and().eq("create_time", self.create_time.unwrap())
187            })
188            .r#if(self.update_time.clone().is_some(), |w| {
189                w.and().eq("update_time", self.update_time.unwrap())
190            });
191        rb.fetch_list_by_wrapper::<Self>(wp).await
192    }
193
194    #[allow(dead_code)]
195    pub async fn query_rolecode(&self, rb: &Rbatis) -> Result<Vec<Self>, Error> {
196        let wp = rb
197            .new_wrapper()
198            .r#if(self.role_code.clone().is_some(), |w| {
199                w.and()
200                    .like_right("role_code", self.role_code.clone().unwrap())
201            })
202            .order_by(true, &["create_time"]);
203        rb.fetch_list_by_wrapper::<Self>(wp).await
204    }
205
206    #[allow(dead_code)]
207    pub async fn query_multicode(rb: &Rbatis, codes: &Vec<String>) -> Result<Vec<Self>, Error> {
208        let wp = rb
209            .new_wrapper()
210            .r#in("role_code", codes.as_slice())
211            .order_by(true, &["create_time"]);
212        rb.fetch_list_by_wrapper::<Self>(wp).await
213    }
214
215    #[allow(dead_code)]
216    pub async fn query_all(rb: &Rbatis) -> Result<Vec<Self>, Error> {
217        let wp = rb.new_wrapper();
218        rb.fetch_list_by_wrapper::<Self>(wp).await
219    }
220}