first process
parent
9f2def2892
commit
20c183b163
|
@ -1238,6 +1238,7 @@ dependencies = [
|
||||||
"clap",
|
"clap",
|
||||||
"directories",
|
"directories",
|
||||||
"dotenv",
|
"dotenv",
|
||||||
|
"log",
|
||||||
"mysql",
|
"mysql",
|
||||||
"sprintf",
|
"sprintf",
|
||||||
]
|
]
|
||||||
|
|
|
@ -9,5 +9,6 @@ edition = "2021"
|
||||||
clap = { version = "4.2.1", features = ["derive"] }
|
clap = { version = "4.2.1", features = ["derive"] }
|
||||||
directories = "5.0.0"
|
directories = "5.0.0"
|
||||||
dotenv = "0.15.0"
|
dotenv = "0.15.0"
|
||||||
|
log = "0.4.17"
|
||||||
mysql = "23.0.1"
|
mysql = "23.0.1"
|
||||||
sprintf = "0.1.3"
|
sprintf = "0.1.3"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
use clap::Parser;
|
use clap::{Parser, Subcommand};
|
||||||
|
|
||||||
#[derive(Parser)]
|
#[derive(Parser)]
|
||||||
#[command(name = "RCC")]
|
#[command(name = "RCC")]
|
||||||
|
@ -6,9 +6,18 @@ use clap::Parser;
|
||||||
#[command(version = "1.0")]
|
#[command(version = "1.0")]
|
||||||
#[command(about = "Tool collection for work at RCC.", long_about = None)]
|
#[command(about = "Tool collection for work at RCC.", long_about = None)]
|
||||||
pub struct Cli {
|
pub struct Cli {
|
||||||
#[arg(short, long)]
|
#[arg(short = 'e', long = "env")]
|
||||||
env: String,
|
pub env: Option<String>,
|
||||||
#[arg(short, long)]
|
#[arg(short = 't', long = "target")]
|
||||||
one: String,
|
pub target: Option<String>,
|
||||||
|
#[command(subcommand)]
|
||||||
|
pub mode: Commands,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Subcommand)]
|
||||||
|
pub enum Commands {
|
||||||
|
Merch {
|
||||||
|
#[arg(short = 's', long = "search")]
|
||||||
|
search: Option<String>,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
27
src/main.rs
27
src/main.rs
|
@ -1,27 +1,28 @@
|
||||||
|
use clap::Parser;
|
||||||
|
use cli::cli::{Cli, Commands};
|
||||||
use database::database::Db;
|
use database::database::Db;
|
||||||
use mysql::PooledConn;
|
use mysql::PooledConn;
|
||||||
use repository::merchant_repo;
|
use repository::merchant_repo;
|
||||||
|
|
||||||
|
pub mod cli;
|
||||||
pub mod database;
|
pub mod database;
|
||||||
pub mod entity;
|
pub mod entity;
|
||||||
pub mod repository;
|
pub mod repository;
|
||||||
pub mod cli;
|
|
||||||
|
|
||||||
#[derive(Debug, PartialEq, Eq)]
|
|
||||||
struct Payment {
|
|
||||||
customer_id: i32,
|
|
||||||
amount: i32,
|
|
||||||
account_name: Option<String>,
|
|
||||||
}
|
|
||||||
|
|
||||||
fn main() -> std::result::Result<(), Box<dyn std::error::Error>> {
|
fn main() -> std::result::Result<(), Box<dyn std::error::Error>> {
|
||||||
|
let args = Cli::parse();
|
||||||
let db = Db::initialize();
|
let db = Db::initialize();
|
||||||
|
|
||||||
let mut conn: PooledConn = db.get_connection();
|
let mut conn: PooledConn = db.get_connection();
|
||||||
let selected_payments = merchant_repo::find_by_name_or_id("1", &mut conn);
|
|
||||||
selected_payments.into_iter().for_each(|payment| {
|
match args.mode {
|
||||||
println!("{:?}", payment);
|
Commands::Merch { search } => {
|
||||||
});
|
let selected_payments = merchant_repo::find_by_name_or_id(&search.unwrap(), &mut conn);
|
||||||
|
|
||||||
|
selected_payments.into_iter().for_each(|payment| {
|
||||||
|
println!("{:?}", payment);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,10 +7,14 @@ pub fn find_by_name_or_id(
|
||||||
conn: &mut PooledConn,
|
conn: &mut PooledConn,
|
||||||
) -> Result<Vec<Merchant>, mysql::Error> {
|
) -> Result<Vec<Merchant>, mysql::Error> {
|
||||||
let stat = conn
|
let stat = conn
|
||||||
.prep("SELECT m_name, m_id FROM global_data.merchant WHERE m_id = :search OR m_name LIKE :search;")
|
.prep("SELECT m_name, m_id FROM global_data.merchant WHERE m_id = :search OR m_name LIKE :search2;")
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
conn.exec_map(stat, params! {"search" => search}, |(m_name, m_id)| {
|
let search_like = format!("%{}%", search);
|
||||||
Merchant { m_name, m_id }
|
|
||||||
})
|
conn.exec_map(
|
||||||
|
stat,
|
||||||
|
params! {"search" => search, "search2" => search_like},
|
||||||
|
|(m_name, m_id)| Merchant { m_name, m_id },
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue