Я такая тупая блин клас

master
Алексей Алексей 2026-05-14 19:15:35 +10:00
parent c92819cda9
commit 7e1fd4f5df
4 changed files with 35 additions and 7 deletions

27
code/Cargo.lock generated
View File

@ -445,6 +445,19 @@ version = "1.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06" checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06"
[[package]]
name = "bigdecimal"
version = "0.4.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4d6867f1565b3aad85681f1015055b087fcfd840d6aeee6eee7f2da317603695"
dependencies = [
"autocfg",
"libm",
"num-bigint",
"num-integer",
"num-traits",
]
[[package]] [[package]]
name = "bit-set" name = "bit-set"
version = "0.9.1" version = "0.9.1"
@ -2340,6 +2353,16 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451"
[[package]]
name = "num-bigint"
version = "0.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9"
dependencies = [
"num-integer",
"num-traits",
]
[[package]] [[package]]
name = "num-bigint-dig" name = "num-bigint-dig"
version = "0.8.6" version = "0.8.6"
@ -3777,6 +3800,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ee6798b1838b6a0f69c007c133b8df5866302197e404e8b6ee8ed3e3a5e68dc6" checksum = "ee6798b1838b6a0f69c007c133b8df5866302197e404e8b6ee8ed3e3a5e68dc6"
dependencies = [ dependencies = [
"base64", "base64",
"bigdecimal",
"bytes", "bytes",
"crc", "crc",
"crossbeam-queue", "crossbeam-queue",
@ -3850,6 +3874,7 @@ checksum = "aa003f0038df784eb8fecbbac13affe3da23b45194bd57dba231c8f48199c526"
dependencies = [ dependencies = [
"atoi", "atoi",
"base64", "base64",
"bigdecimal",
"bitflags 2.11.1", "bitflags 2.11.1",
"byteorder", "byteorder",
"bytes", "bytes",
@ -3892,6 +3917,7 @@ checksum = "db58fcd5a53cf07c184b154801ff91347e4c30d17a3562a635ff028ad5deda46"
dependencies = [ dependencies = [
"atoi", "atoi",
"base64", "base64",
"bigdecimal",
"bitflags 2.11.1", "bitflags 2.11.1",
"byteorder", "byteorder",
"crc", "crc",
@ -3908,6 +3934,7 @@ dependencies = [
"log", "log",
"md-5", "md-5",
"memchr", "memchr",
"num-bigint",
"once_cell", "once_cell",
"rand", "rand",
"serde", "serde",

View File

@ -12,7 +12,7 @@ egui = "0.34.2"
egui_dock = "0.19.1" egui_dock = "0.19.1"
egui_extras = "0.34.2" egui_extras = "0.34.2"
rust_decimal = {version = "1.42.0", features = ["macros"]} rust_decimal = {version = "1.42.0", features = ["macros"]}
sqlx = {version="0.8.6", features = ["runtime-tokio", "mysql"]} sqlx = {version="0.8.6", features = ["runtime-tokio", "mysql","bigdecimal"]}
[target.'cfg(target_os="windows")'.dependencies] [target.'cfg(target_os="windows")'.dependencies]
eframe = {version ="0.34.2",default-features=false, features=["glow"]} eframe = {version ="0.34.2",default-features=false, features=["glow"]}

View File

@ -21,15 +21,14 @@ impl DBOperator{
} }
async fn get_position(pool: &MySqlPool) -> anyhow::Result<()>{ async fn get_position(pool: &MySqlPool) -> Result<Vec<Position>, sqlx::Error>{
let rets = sqlx::query!(r#"SELECT * FROM position"#) let rets: Vec<Position> = sqlx::query_as:: <_, Position>("SELECT * FROM `position`").fetch_all(pool).await?;
.fetch_all(*pool) Ok(rets)
.await?;
Ok(())
} }
pub async fn estabilish_connection() -> Result<(), sqlx::Error>{ pub async fn estabilish_connection() -> Result<(), sqlx::Error>{
dotenv().ok(); dotenv().ok();
let db_url = dotenv::var("DATABASE_URL").expect("DATABASE_URL установи!"); let db_url = dotenv::var("DATABASE_URL").expect("DATABASE_URL установи!");

View File

@ -1,9 +1,11 @@
use sqlx::types::BigDecimal;
#[derive(Default, Clone, Hash, sqlx::FromRow)] #[derive(Default, Clone, Hash, sqlx::FromRow)]
pub struct Position{ pub struct Position{
id: i32, id: i32,
name: String, name: String,
wage: rust_decimal::Decimal, wage: BigDecimal,
} }
#[derive(Default, Clone, Hash)] #[derive(Default, Clone, Hash)]
pub struct Worker{ pub struct Worker{