From 987a5f84475b0f945408993afb7793e0ab14edce Mon Sep 17 00:00:00 2001 From: zxj Date: Thu, 22 May 2025 22:52:01 +0800 Subject: [PATCH] up rbatis version --- Cargo.toml | 12 ++++++------ src/domain/table/tables_init.rs | 3 ++- src/main.rs | 4 ++-- src/service/rbac_permission_service.rs | 10 ++++++---- src/service/rbac_role_permission_service.rs | 9 +++++---- src/service/rbac_role_service.rs | 9 +++++---- src/service/rbac_user_role_service.rs | 7 ++++--- src/service/sys_dict_service.rs | 8 ++++---- src/service/sys_user_service.rs | 15 ++++++++------- 9 files changed, 42 insertions(+), 35 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index b488cecd..87a3ef41 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,12 +15,12 @@ cache_redis = ["redis"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -rbs = { version = "4.5" } -rbatis = { version = "4.5", features = [] } -rbdc-sqlite = { version = "4.5" } -#rbdc-mysql = { version = "4.5" } -#rbdc-pg = { version = "4.5" } -#rbdc-mssql = { version = "4.5" } +rbs = { version = "4.6" } +rbatis = { version = "4.6", features = [] } +rbdc-sqlite = { version = "4.6" } +#rbdc-mysql = { version = "4.6" } +#rbdc-pg = { version = "4.6" } +#rbdc-mssql = { version = "4.6" } actix-web = "4.11.0" actix-files = "0.6.2" diff --git a/src/domain/table/tables_init.rs b/src/domain/table/tables_init.rs index ede55e70..71acacf5 100644 --- a/src/domain/table/tables_init.rs +++ b/src/domain/table/tables_init.rs @@ -4,6 +4,7 @@ use rbatis::intercept_log::LogInterceptor; use rbatis::RBatis; use rbatis::rbdc::DateTime; use rbatis::table_sync::{ColumnMapper, MssqlTableMapper, MysqlTableMapper, PGTableMapper, SqliteTableMapper}; +use rbs::value; use crate::domain::table::sys_dict::SysDict; use crate::domain::table::LoginCheck::PasswordCheck; use crate::domain::table::rbac; @@ -66,7 +67,7 @@ pub async fn sync_tables(rb: &RBatis) { pub async fn sync_tables_data(rb: &RBatis) { let conn = rb.acquire().await.expect("init data fail"); - if let Ok(v) = SysUser::select_by_column(&conn, "id", "1").await { + if let Ok(v) = SysUser::select_by_map(&conn, value! {"id":"1"}).await { if v.len() > 0 { //if user exists,return return; diff --git a/src/main.rs b/src/main.rs index 999ae603..888d2ae1 100644 --- a/src/main.rs +++ b/src/main.rs @@ -9,7 +9,7 @@ use abs_admin::controller::{ }; use abs_admin::domain::table; use abs_admin::context::CONTEXT; -use rbs::to_value; +use rbs::value; use abs_admin::domain::vo::RespVO; #[tokio::main] @@ -17,7 +17,7 @@ async fn main() -> std::io::Result<()> { //log abs_admin::config::log::init_log(); if CONTEXT.config.debug { - log::info!("[abs_admin] {}", to_value!(&CONTEXT.config)); + log::info!("[abs_admin] {}", value!(&CONTEXT.config)); log::info!("[abs_admin] ///////////////////// Start On Debug Mode //////////////////////////////"); } else { log::info!("[abs_admin] ///////////////////// Start On Release Mode ////////////////////////////"); diff --git a/src/service/rbac_permission_service.rs b/src/service/rbac_permission_service.rs index da4f421d..c87ecb09 100644 --- a/src/service/rbac_permission_service.rs +++ b/src/service/rbac_permission_service.rs @@ -6,6 +6,8 @@ use crate::error::Result; use crate::context::CONTEXT; use crate::{error_info, pool}; use rbatis::{Page, PageRequest}; +use rbs::value; + /// Resource service pub struct RbacPermissionService {} @@ -36,15 +38,15 @@ impl RbacPermissionService { pub async fn edit(&self, arg: &ResEditDTO) -> Result { let data = RbacPermission::from(arg); - let result = RbacPermission::update_by_column(pool!(), &data, "id").await?; + let result = RbacPermission::update_by_map(pool!(), &data, value! {"id": &data.id }).await?; Ok(result.rows_affected) } pub async fn remove(&self, id: &str) -> Result { - let num = RbacPermission::delete_by_column(pool!(), "id", id) + let num = RbacPermission::delete_by_map(pool!(), value! {"id":id}) .await? .rows_affected; - RbacPermission::delete_by_column(pool!(), "id", id).await?; + RbacPermission::delete_by_map(pool!(), value! {"id":id}).await?; let _ = CONTEXT .rbac_role_permission_service .remove_by_permission_id(id) @@ -56,7 +58,7 @@ impl RbacPermissionService { if ids.is_empty(){ return Ok(vec![]); } - let data=RbacPermission::select_in_column(pool!(), "id", &ids).await?; + let data=RbacPermission::select_by_map(pool!(), value! {"id": &ids}).await?; Ok(data) } diff --git a/src/service/rbac_role_permission_service.rs b/src/service/rbac_role_permission_service.rs index 17d4f1a3..2f784b9d 100644 --- a/src/service/rbac_role_permission_service.rs +++ b/src/service/rbac_role_permission_service.rs @@ -10,6 +10,7 @@ use crate::{error_info, pool}; use rbatis::plugin::object_id::ObjectId; use rbatis::rbdc::DateTime; use rbatis::Page; +use rbs::value; /// Role Resource Service pub struct RbacRolePermissionService {} @@ -34,7 +35,7 @@ impl RbacRolePermissionService { if role_ids.is_empty(){ return Ok(vec![]); } - let datas = RbacRolePermission::select_in_column(pool!(), "role_id", role_ids).await?; + let datas = RbacRolePermission::select_by_map(pool!(), value! {"role_id":role_ids}).await?; Ok(datas) } @@ -92,14 +93,14 @@ impl RbacRolePermissionService { } pub async fn remove(&self, id: &str) -> Result { - Ok(RbacRolePermission::delete_by_column(pool!(), "id", id) + Ok(RbacRolePermission::delete_by_map(pool!(), value! {"id":id}) .await? .rows_affected) } pub async fn remove_by_permission_id(&self, permission_id: &str) -> Result { Ok( - RbacRolePermission::delete_by_column(pool!(), "permission_id", permission_id) + RbacRolePermission::delete_by_map(pool!(), value! {"permission_id": permission_id}) .await? .rows_affected, ) @@ -107,7 +108,7 @@ impl RbacRolePermissionService { pub async fn remove_by_role_id(&self, role_id: &str) -> Result { Ok( - RbacRolePermission::delete_by_column(pool!(), "role_id", role_id) + RbacRolePermission::delete_by_map(pool!(), value! {"role_id": role_id}) .await? .rows_affected, ) diff --git a/src/service/rbac_role_service.rs b/src/service/rbac_role_service.rs index 5b7e5eb6..a97914f4 100644 --- a/src/service/rbac_role_service.rs +++ b/src/service/rbac_role_service.rs @@ -7,6 +7,7 @@ use crate::error::Result; use crate::pool; use rbatis::{Page, PageRequest}; use std::collections::{HashMap, HashSet}; +use rbs::value; use crate::domain::table::rbac::IntoMap; ///Role of service @@ -69,12 +70,12 @@ impl RbacRoleService { pub async fn edit(&self, arg: RoleEditDTO) -> Result { let role = RbacRole::from(arg); - let result = RbacRole::update_by_column(pool!(), &role, "id").await; + let result = RbacRole::update_by_map(pool!(), &role, value! {"id": &role.id}).await; Ok(result?.rows_affected) } pub async fn remove(&self, id: &str) -> Result { - let result = RbacRole::delete_by_column(pool!(), "id", id).await?; + let result = RbacRole::delete_by_map(pool!(), value! {"id": id}).await?; Ok(result.rows_affected) } @@ -82,14 +83,14 @@ impl RbacRoleService { if ids.is_empty() { return Ok(vec![]); } - Ok(RbacRole::select_in_column(pool!(), "id", ids).await?) + Ok(RbacRole::select_by_map(pool!(), value! {"id":ids}).await?) } pub async fn find_role_res(&self, role_ids: &Vec) -> Result> { if role_ids.is_empty() { return Ok(vec![]); } - Ok(RbacRolePermission::select_in_column(pool!(), "role_id", role_ids).await?) + Ok(RbacRolePermission::select_by_map(pool!(), value! {"role_id":role_ids}).await?) } pub async fn find_all(&self) -> Result> { diff --git a/src/service/rbac_user_role_service.rs b/src/service/rbac_user_role_service.rs index 1da66115..6bcf8364 100644 --- a/src/service/rbac_user_role_service.rs +++ b/src/service/rbac_user_role_service.rs @@ -8,6 +8,7 @@ use crate::error::Error; use crate::error::Result; use crate::{error_info, pool}; use rbatis::plugin::object_id::ObjectId; +use rbs::value; pub struct SetUserVO { //this is user_id @@ -23,7 +24,7 @@ impl RbacUserRoleService { ///set to user list pub async fn set_roles(&self, records: &mut Vec) -> Result<()> { let user_ids = rbatis::table_field_vec!(&*records, id); - let user_roles = RbacUserRole::select_in_column(pool!(), "user_id", &user_ids).await?; + let user_roles = RbacUserRole::select_by_map(pool!(), value! {"user_id": &user_ids}).await?; let role_ids = rbatis::table_field_vec!(&user_roles, role_id).into_iter().map(|v|v.to_string()).collect(); let user_id_map = user_roles.into_map(|v|v.user_id.clone().unwrap_or_default()); @@ -82,13 +83,13 @@ impl RbacUserRoleService { } pub async fn remove_by_role_id(&self, role_id: &str) -> Result { - Ok(RbacUserRole::delete_by_column(pool!(), "role_id", role_id) + Ok(RbacUserRole::delete_by_map(pool!(), value! {"role_id": role_id}) .await? .rows_affected) } pub async fn remove_by_user_id(&self, user_id: &str) -> Result { - Ok(RbacUserRole::delete_by_column(pool!(), "user_id", user_id) + Ok(RbacUserRole::delete_by_map(pool!(), value! {"user_id": user_id}) .await? .rows_affected) } diff --git a/src/service/sys_dict_service.rs b/src/service/sys_dict_service.rs index e7f74ab2..41cfa521 100644 --- a/src/service/sys_dict_service.rs +++ b/src/service/sys_dict_service.rs @@ -1,5 +1,5 @@ use rbatis::{Page, PageRequest}; - +use rbs::value; use crate::domain::dto::{DictEditDTO, DictPageDTO}; use crate::domain::vo::SysDictVO; use crate::error::Error; @@ -22,7 +22,7 @@ impl SysDictService { pub async fn add(&self, arg: &SysDict) -> Result { let old = - SysDict::select_by_column(pool!(), "id", arg.id.as_deref().unwrap_or_default()).await?; + SysDict::select_by_map(pool!(), value! {"id":arg.id.as_deref().unwrap_or_default()}).await?; if old.len() > 0 { return Err(Error::from(format!( "{},code={}", @@ -37,7 +37,7 @@ impl SysDictService { pub async fn edit(&self, arg: &DictEditDTO) -> Result { let data = SysDict::from(arg); - let result = SysDict::update_by_column(pool!(), &data, "id").await; + let result = SysDict::update_by_map(pool!(), &data, value! {"id": &data.id }).await; if result.is_ok() { self.update_cache().await?; } @@ -45,7 +45,7 @@ impl SysDictService { } pub async fn remove(&self, id: &str) -> Result { - let r = SysDict::delete_by_column(pool!(), "id", id).await?; + let r = SysDict::delete_by_map(pool!(), value! {"id": id }).await?; if r.rows_affected > 0 { self.update_cache().await?; } diff --git a/src/service/sys_user_service.rs b/src/service/sys_user_service.rs index 882eff72..d9754b19 100644 --- a/src/service/sys_user_service.rs +++ b/src/service/sys_user_service.rs @@ -13,6 +13,7 @@ use crate::service::SetUserVO; use crate::util::password_encoder::PasswordEncoder; use crate::{error_info, pool}; use std::time::Duration; +use rbs::value; use crate::domain::table::sys_user::SysUser; const CACHE_KEY_RETRY: &'static str = "login:login_retry"; @@ -72,14 +73,14 @@ impl SysUserService { } pub async fn find(&self, id: &str) -> Result> { - Ok(SysUser::select_by_column(pool!(), "id", id) + Ok(SysUser::select_by_map(pool!(), value! {"id":id}) .await? .into_iter() .next()) } pub async fn find_by_account(&self, account: &str) -> Result> { - Ok(SysUser::select_by_column(pool!(), "account", account) + Ok(SysUser::select_by_map(pool!(), value! {"account": account}) .await? .into_iter() .next()) @@ -125,7 +126,7 @@ impl SysUserService { pub async fn sign_in(&self, arg: &SignInDTO) -> Result { self.is_need_wait_login_ex(&arg.account).await?; - let user: Option = SysUser::select_by_column(pool!(), "account", &arg.account) + let user: Option = SysUser::select_by_map(pool!(), value! {"account": &arg.account}) .await? .into_iter() .next(); @@ -255,7 +256,7 @@ impl SysUserService { } pub async fn get_user_info_by_token(&self, token: &JWTToken) -> Result { - let user = SysUser::select_by_column(pool!(), "id", &token.id) + let user = SysUser::select_by_map(pool!(), value! {"id": &token.id}) .await? .into_iter() .next(); @@ -299,7 +300,7 @@ impl SysUserService { let role_id = arg.role_id.clone(); let mut arg = SysUser::from(arg); //old user - let user = SysUser::select_by_column(pool!(), "id", arg.id.as_ref()) + let user = SysUser::select_by_map(pool!(), value! {"id": arg.id.as_ref()}) .await? .into_iter() .next() @@ -323,7 +324,7 @@ impl SysUserService { }) .await?; } - Ok(SysUser::update_by_column(pool!(), &arg, "id") + Ok(SysUser::update_by_map(pool!(), &arg, value! {"id":&arg.id}) .await? .rows_affected) } @@ -332,7 +333,7 @@ impl SysUserService { if id.is_empty() { return Err(Error::from(error_info!("id_empty"))); } - let r = SysUser::delete_by_column(pool!(), "id", id).await?; + let r = SysUser::delete_by_map(pool!(), value! {"id": id}).await?; CONTEXT.rbac_user_role_service.remove_by_user_id(id).await?; Ok(r.rows_affected) }