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"
|
||||
rustls-pemfile = "2"
|
||||
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
|
||||
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])?;
|
||||
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()
|
||||
&& let Some(sc) = row.get("sell_cost")
|
||||
&& let Ok(v) = sc.parse::<f64>()
|
||||
|
||||
@@ -44,7 +44,7 @@ VALUES ($1, $2, FALSE, NOW(), NOW());
|
||||
|
||||
// Product pricing
|
||||
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#"
|
||||
|
||||
Reference in New Issue
Block a user