将数据库修改到本地配置文件,修复工单没创建成功依旧会写入数据库的问题
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
mod config;
|
||||
|
||||
use std::sync::Mutex;
|
||||
use lazy_static::lazy_static;
|
||||
use tokio_postgres::{NoTls, Error};
|
||||
@@ -8,6 +10,12 @@ use tms_service;
|
||||
use std::time::Duration;
|
||||
use tokio::time::sleep;
|
||||
|
||||
/// 获取数据库连接字符串,从配置文件读取
|
||||
fn get_database_url() -> Result<String, String> {
|
||||
let cfg = config::Config::load()?;
|
||||
Ok(cfg.database_url)
|
||||
}
|
||||
|
||||
lazy_static! {
|
||||
static ref COOKIE_STORAGE: Mutex<Option<String>> = Mutex::new(None);
|
||||
static ref USERNAME_STORAGE: Mutex<Option<String>> = Mutex::new(None);
|
||||
@@ -81,8 +89,8 @@ async fn login(username: String, password: String) -> Result<LoginResult, String
|
||||
}
|
||||
|
||||
// If API login is successful, proceed with database operations
|
||||
let db_url = "postgres://tmstools:521707@honulla.com:5432/tmstools";
|
||||
let (mut client, connection) = match tokio_postgres::connect(db_url, NoTls).await {
|
||||
let db_url = get_database_url()?;
|
||||
let (mut client, connection) = match tokio_postgres::connect(&db_url, NoTls).await {
|
||||
Ok(res) => res,
|
||||
Err(e) => return Err(format!("数据库连接失败: {}", e)),
|
||||
};
|
||||
@@ -169,8 +177,8 @@ async fn get_dashboard_username() -> Result<String, String> {
|
||||
#[tauri::command]
|
||||
async fn get_workorders(range: String) -> Result<WorkOrderResponse, String> {
|
||||
let username = USERNAME_STORAGE.lock().unwrap().clone().ok_or("用户未登录".to_string())?;
|
||||
let db_url = "postgres://tmstools:521707@honulla.com:5432/tmstools";
|
||||
let (mut client, connection) = tokio_postgres::connect(db_url, NoTls)
|
||||
let db_url = get_database_url()?;
|
||||
let (mut client, connection) = tokio_postgres::connect(&db_url, NoTls)
|
||||
.await
|
||||
.map_err(|e| format!("数据库连接失败: {}", e))?;
|
||||
|
||||
@@ -232,8 +240,8 @@ async fn create_ticket_command(n2p: String, massage_q: String, wx: Option<String
|
||||
#[tauri::command]
|
||||
async fn insert_workorder(code: String, n2n: String, q: String, a: String) -> Result<(), String> {
|
||||
let username = USERNAME_STORAGE.lock().unwrap().clone().ok_or("用户未登录".to_string())?;
|
||||
let db_url = "postgres://tmstools:521707@honulla.com:5432/tmstools";
|
||||
let (mut client, connection) = tokio_postgres::connect(db_url, NoTls)
|
||||
let db_url = get_database_url()?;
|
||||
let (mut client, connection) = tokio_postgres::connect(&db_url, NoTls)
|
||||
.await
|
||||
.map_err(|e| format!("数据库连接失败: {}", e))?;
|
||||
|
||||
@@ -259,8 +267,8 @@ async fn insert_workorder(code: String, n2n: String, q: String, a: String) -> Re
|
||||
#[tauri::command]
|
||||
async fn feedback_workorder(gdid: String) -> Result<(), String> {
|
||||
let username = USERNAME_STORAGE.lock().unwrap().clone().ok_or("用户未登录".to_string())?;
|
||||
let db_url = "postgres://tmstools:521707@honulla.com:5432/tmstools";
|
||||
let (mut client, connection) = tokio_postgres::connect(db_url, NoTls)
|
||||
let db_url = get_database_url()?;
|
||||
let (mut client, connection) = tokio_postgres::connect(&db_url, NoTls)
|
||||
.await
|
||||
.map_err(|e| format!("数据库连接失败: {}", e))?;
|
||||
|
||||
@@ -299,8 +307,8 @@ async fn feedback_workorder(gdid: String) -> Result<(), String> {
|
||||
async fn feedback_today_workorders() -> Result<String, String> {
|
||||
let username = USERNAME_STORAGE.lock().unwrap().clone().ok_or("用户未登录".to_string())?;
|
||||
let cookie = COOKIE_STORAGE.lock().unwrap().clone().ok_or("未找到登录Cookie")?;
|
||||
let db_url = "postgres://tmstools:521707@honulla.com:5432/tmstools";
|
||||
let (mut client, connection) = tokio_postgres::connect(db_url, NoTls)
|
||||
let db_url = get_database_url()?;
|
||||
let (mut client, connection) = tokio_postgres::connect(&db_url, NoTls)
|
||||
.await
|
||||
.map_err(|e| format!("数据库连接失败: {}", e))?;
|
||||
|
||||
@@ -353,8 +361,8 @@ async fn feedback_today_workorders() -> Result<String, String> {
|
||||
async fn feedback_selected_workorders(gdids: Vec<String>) -> Result<String, String> {
|
||||
let username = USERNAME_STORAGE.lock().unwrap().clone().ok_or("用户未登录".to_string())?;
|
||||
let cookie = COOKIE_STORAGE.lock().unwrap().clone().ok_or("未找到登录Cookie")?;
|
||||
let db_url = "postgres://tmstools:521707@honulla.com:5432/tmstools";
|
||||
let (mut client, connection) = tokio_postgres::connect(db_url, NoTls)
|
||||
let db_url = get_database_url()?;
|
||||
let (mut client, connection) = tokio_postgres::connect(&db_url, NoTls)
|
||||
.await
|
||||
.map_err(|e| format!("数据库连接失败: {}", e))?;
|
||||
|
||||
@@ -405,8 +413,8 @@ async fn close_workorder(gdid: String) -> Result<(), String> {
|
||||
|
||||
// Step 2: If remote close is successful, update the local database
|
||||
let username = USERNAME_STORAGE.lock().unwrap().clone().ok_or("用户未登录".to_string())?;
|
||||
let db_url = "postgres://tmstools:521707@honulla.com:5432/tmstools";
|
||||
let (mut client, connection) = tokio_postgres::connect(db_url, NoTls)
|
||||
let db_url = get_database_url()?;
|
||||
let (mut client, connection) = tokio_postgres::connect(&db_url, NoTls)
|
||||
.await
|
||||
.map_err(|e| format!("数据库连接失败: {}", e))?;
|
||||
|
||||
@@ -433,8 +441,8 @@ async fn close_workorder(gdid: String) -> Result<(), String> {
|
||||
async fn close_today_workorders() -> Result<String, String> {
|
||||
let username = USERNAME_STORAGE.lock().unwrap().clone().ok_or("用户未登录".to_string())?;
|
||||
let cookie = COOKIE_STORAGE.lock().unwrap().clone().ok_or("未找到登录Cookie")?;
|
||||
let db_url = "postgres://tmstools:521707@honulla.com:5432/tmstools";
|
||||
let (mut client, connection) = tokio_postgres::connect(db_url, NoTls)
|
||||
let db_url = get_database_url()?;
|
||||
let (mut client, connection) = tokio_postgres::connect(&db_url, NoTls)
|
||||
.await
|
||||
.map_err(|e| format!("数据库连接失败: {}", e))?;
|
||||
|
||||
@@ -478,8 +486,8 @@ async fn close_today_workorders() -> Result<String, String> {
|
||||
async fn close_selected_workorders(gdids: Vec<String>) -> Result<String, String> {
|
||||
let username = USERNAME_STORAGE.lock().unwrap().clone().ok_or("用户未登录".to_string())?;
|
||||
let cookie = COOKIE_STORAGE.lock().unwrap().clone().ok_or("未找到登录Cookie")?;
|
||||
let db_url = "postgres://tmstools:521707@honulla.com:5432/tmstools";
|
||||
let (mut client, connection) = tokio_postgres::connect(db_url, NoTls)
|
||||
let db_url = get_database_url()?;
|
||||
let (mut client, connection) = tokio_postgres::connect(&db_url, NoTls)
|
||||
.await
|
||||
.map_err(|e| format!("数据库连接失败: {}", e))?;
|
||||
|
||||
@@ -512,8 +520,8 @@ async fn close_selected_workorders(gdids: Vec<String>) -> Result<String, String>
|
||||
async fn feedback_and_close_today_workorders() -> Result<String, String> {
|
||||
let username = USERNAME_STORAGE.lock().unwrap().clone().ok_or("用户未登录".to_string())?;
|
||||
let cookie = COOKIE_STORAGE.lock().unwrap().clone().ok_or("未找到登录Cookie")?;
|
||||
let db_url = "postgres://tmstools:521707@honulla.com:5432/tmstools";
|
||||
let (mut client, connection) = tokio_postgres::connect(db_url, NoTls)
|
||||
let db_url = get_database_url()?;
|
||||
let (mut client, connection) = tokio_postgres::connect(&db_url, NoTls)
|
||||
.await
|
||||
.map_err(|e| format!("数据库连接失败: {}", e))?;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user