From 15529bf2a35b6c8f22d43ac531d2b6a6d70a4cee Mon Sep 17 00:00:00 2001 From: jie Date: Mon, 8 Jul 2024 00:45:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/services/work_service.rs | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/src/services/work_service.rs b/src/services/work_service.rs index ededd6e..672043f 100644 --- a/src/services/work_service.rs +++ b/src/services/work_service.rs @@ -1,7 +1,6 @@ use crate::models::work_model::WorkModel; use crate::services::{serial_service::SerialService, sqlite_service::SqliteService, excel_service::ExcelService}; - pub struct WorkService { serial_service: SerialService, sqlite_service: SqliteService, @@ -15,6 +14,34 @@ impl Default for WorkService { } impl WorkService { + + fn init_excel_service(&mut self, path: String)->Result{ + return if let Ok(excel_service) = ExcelService::new(&path) { + self.excel_service = excel_service; + Ok(true) + } else { + Err("Cant Init ExcelService".to_string()) + } + } + + fn init_sqlite_service(&mut self, db_path: String)->Result{ + return if let Ok(sqlite_service) = SqliteService::new(db_path) { + self.sqlite_service = sqlite_service; + Ok(true) + } else { + Err("Cant Init SqliteService".to_string()) + } + } + + fn init_serial_service(&mut self, port_name: String)->Result{ + return if let Ok(serial_service) = SerialService::new(&port_name) { + self.serial_service = *serial_service; + Ok(true) + } else { + Err("Cant Init SerialService".to_string()) + } + } + fn write_imei(&mut self, imei: String) -> Result { let write_imei_command = format!("AT+ECCGSN=\"IMEI\",\"{}\"", imei); return self.serial_service.send_command_with_target(write_imei_command, None, "OK".to_string());