Refactor product cost retrieval in DirectorWorker: Simplify the SQL query by removing the original_sell_cost from the selection, and adjust the cost resolution logic to improve clarity and efficiency in database interactions.
This commit is contained in:
@@ -15,4 +15,4 @@ ctrlc = "3"
|
|||||||
tokio-rustls = "0.25"
|
tokio-rustls = "0.25"
|
||||||
rustls-pemfile = "2"
|
rustls-pemfile = "2"
|
||||||
libsystemd = "0.7"
|
libsystemd = "0.7"
|
||||||
chrono = "0.4"
|
chrono = "0.4"
|
||||||
@@ -718,14 +718,8 @@ impl DirectorWorker {
|
|||||||
|
|
||||||
// Helper: get one_piece_cost from DB row fallback logic
|
// Helper: get one_piece_cost from DB row fallback logic
|
||||||
fn resolve_one_piece_cost(conn: &mut DbConnection, product_id: i32, fallback: f64) -> Result<f64, DbError> {
|
fn resolve_one_piece_cost(conn: &mut DbConnection, product_id: i32, fallback: f64) -> Result<f64, DbError> {
|
||||||
conn.prepare("get_product_cost", QUERY_GET_PRODUCT_COST)?;
|
conn.prepare("get_product_cost", QUERY_GET_PRODUCT_COST)?;
|
||||||
let rows = conn.execute("get_product_cost", &[&product_id])?;
|
let rows = conn.execute("get_product_cost", &[&product_id])?;
|
||||||
if let Some(row) = rows.first()
|
|
||||||
&& let Some(osc) = row.get("original_sell_cost")
|
|
||||||
&& let Ok(v) = osc.parse::<f64>()
|
|
||||||
{
|
|
||||||
return Ok(v);
|
|
||||||
}
|
|
||||||
if let Some(row) = rows.first()
|
if let Some(row) = rows.first()
|
||||||
&& let Some(sc) = row.get("sell_cost")
|
&& let Some(sc) = row.get("sell_cost")
|
||||||
&& let Ok(v) = sc.parse::<f64>()
|
&& let Ok(v) = sc.parse::<f64>()
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ VALUES ($1, $2, FALSE, NOW(), NOW());
|
|||||||
|
|
||||||
// Product pricing
|
// Product pricing
|
||||||
pub const QUERY_GET_PRODUCT_COST: &str = r#"
|
pub const QUERY_GET_PRODUCT_COST: &str = r#"
|
||||||
SELECT original_sell_cost, sell_cost FROM falukant_type.product WHERE id = $1;
|
SELECT sell_cost FROM falukant_type.product WHERE id = $1;
|
||||||
"#;
|
"#;
|
||||||
|
|
||||||
pub const QUERY_GET_DIRECTORS: &str = r#"
|
pub const QUERY_GET_DIRECTORS: &str = r#"
|
||||||
|
|||||||
Reference in New Issue
Block a user