From ac9d8196b37e8f007ccd3e3af36e623d6636ac81 Mon Sep 17 00:00:00 2001 From: zhaohe Date: Tue, 5 Sep 2023 11:43:56 +0800 Subject: [PATCH] update --- src/db/db_service.cpp | 32 ++++++++--------------- src/main_control_service.cpp | 45 +++++++++++++++++++++++++++++--- src/service/disinfection_ctl_service.cpp | 36 ++++++++++++++++++------- src/service/disinfection_ctl_service.hpp | 23 ++++++++++------ 4 files changed, 93 insertions(+), 43 deletions(-) diff --git a/src/db/db_service.cpp b/src/db/db_service.cpp index a1056ad..63af958 100644 --- a/src/db/db_service.cpp +++ b/src/db/db_service.cpp @@ -90,20 +90,10 @@ void DBService::init_usr_db() { logger->info("init user db"); auto storage = make_storage(USER_DB_STRUCT); storage.sync_schema(); - auto root = storage.get_all(where(c(&User::uid) == "root")); - if (root.size() == 0) { - storage.insert(User{-1, "root", "iflytop.com#9973", 0, 0}); // 超级用户 - } - auto vendor = storage.get_all(where(c(&User::uid) == "vendor")); - if (vendor.size() == 0) { - storage.insert({-1, "vendor", "9973", 1, true}); // 厂商 - } - auto admin = storage.get_all(where(c(&User::uid) == "admin")); if (admin.size() == 0) { - storage.insert({-1, "admin", "9973", 2, true}); // 管理员 + storage.insert({-1, "admin", "9973", 0, true}); // 管理员 } - auto user = storage.get_all(where(c(&User::uid) == "user")); if (user.size() == 0) { storage.insert({-1, "user", "0000", 3, true}); // 普通用户 @@ -136,34 +126,34 @@ id setting_name setting_name_ch val_upper_limit val_lower_limi storage.sync_schema(); if (storage.get_all(where(c(&Setting::id) == 1)).size() == 0) // - storage.insert(Setting{1, "stoped_gs", "消毒停止过氧化氢溶度", 0, 2000, 2, 1800}); + storage.insert(Setting{1, "stoped_gs", "消毒停止过氧化氢溶度", 0, 2000, 0, 1800}); if (storage.get_all(where(c(&Setting::id) == 2)).size() == 0) - storage.insert(Setting{2, "continued_gs", "消毒继续过氧化氢溶度", 0, 2000, 2, 1500}); + storage.insert(Setting{2, "continued_gs", "消毒继续过氧化氢溶度", 0, 2000, 0, 1500}); if (storage.get_all(where(c(&Setting::id) == 3)).size() == 0) - storage.insert(Setting{3, "stoped_satur", "消毒停止过氧化氢相对饱和度", 0, 100, 2, 85}); + storage.insert(Setting{3, "stoped_satur", "消毒停止过氧化氢相对饱和度", 0, 100, 0, 85}); if (storage.get_all(where(c(&Setting::id) == 4)).size() == 0) - storage.insert(Setting{4, "continued_satur", "消毒继续过氧化氢相对饱和度", 0, 100, 2, 70}); + storage.insert(Setting{4, "continued_satur", "消毒继续过氧化氢相对饱和度", 0, 100, 0, 70}); if (storage.get_all(where(c(&Setting::id) == 5)).size() == 0) // - storage.insert(Setting{5, "max_humidity", "允许消毒最大湿度", 0, 100, 2, 90}); + storage.insert(Setting{5, "max_humidity", "允许消毒最大湿度", 0, 100, 0, 90}); if (storage.get_all(where(c(&Setting::id) == 6)).size() == 0) - storage.insert(Setting{6, "drainage_pump_speed", "排液蠕动泵转速", 0, 350, 2, 300}); + storage.insert(Setting{6, "drainage_pump_speed", "排液蠕动泵转速", 0, 350, 0, 300}); if (storage.get_all(where(c(&Setting::id) == 7)).size() == 0) - storage.insert(Setting{7, "injection_pump_speed", "喷射蠕动泵转速", 0, 350, 2, 300}); + storage.insert(Setting{7, "injection_pump_speed", "喷射蠕动泵转速", 0, 350, 0, 300}); if (storage.get_all(where(c(&Setting::id) == 8)).size() == 0) // - storage.insert(Setting{8, "pre_heat_time_s", "预热时间", 0, 600, 2, 120}); + storage.insert(Setting{8, "pre_heat_time_s", "预热时间", 0, 600, 0, 120}); if (storage.get_all(where(c(&Setting::id) == 9)).size() == 0) // - storage.insert(Setting{9, "stoped_humi", "消毒停止相对湿度", 0, 100, 2, 85}); + storage.insert(Setting{9, "stoped_humi", "消毒停止相对湿度", 0, 100, 0, 85}); if (storage.get_all(where(c(&Setting::id) == 10)).size() == 0) // - storage.insert(Setting{10, "continued_humi", "消毒继续相对湿度", 0, 100, 2, 70}); + storage.insert(Setting{10, "continued_humi", "消毒继续相对湿度", 0, 100, 0, 70}); suc = true; } catch (const std::exception& e) { diff --git a/src/main_control_service.cpp b/src/main_control_service.cpp index 9e772f4..a30c6e1 100644 --- a/src/main_control_service.cpp +++ b/src/main_control_service.cpp @@ -32,7 +32,7 @@ static T jsonGet(json j) { void MainControlService::initialize() { GET_TO_SERVICE(m_zconfig); - system("systemctl restart zchromium.service"); + // system("systemctl restart zchromium.service"); // m_dbService.reset(new DBService()); // m_dbService->initialize(); @@ -255,7 +255,7 @@ void MainControlService::processFrontEndMessage(weak_ptr webSocket, j * 消毒相关指令 * *******************************************************************************/ - if (cmdstr == "startDisinfection") { + if (cmdstr == "startDisinfection2") { int loglevel = jsonGet(cmd["loglevel"]); int injection_pump_speed = jsonGet(cmd["injection_pump_speed"]); // int stoped_gs = jsonGet(cmd["stoped_gs"]); // @@ -277,9 +277,46 @@ void MainControlService::processFrontEndMessage(weak_ptr webSocket, j return; } - if (cmdstr == "changeInjectionPumpSpeed") { + if (cmdstr == "startDisinfection") { + int loglevel = jsonGet(cmd["loglevel"]); + + int injection_pump_speed = m_dbService->getSettingVal("injection_pump_speed"); + int stoped_gs = m_dbService->getSettingVal("stoped_gs"); + int continued_gs = m_dbService->getSettingVal("continued_gs"); + int stoped_satur = m_dbService->getSettingVal("stoped_satur"); + int continued_satur = m_dbService->getSettingVal("continued_satur"); + int stoped_humi = m_dbService->getSettingVal("stoped_humi"); + int continued_humi = m_dbService->getSettingVal("continued_humi"); + + m_disinfectionCtrlService->startDisinfection(loglevel, // + injection_pump_speed, // + stoped_gs, // + continued_gs, // + stoped_satur, // + continued_satur, // + stoped_humi, // + continued_humi // + ); + return; + } + + if (cmdstr == "changeDisinfectionParameter") { int injection_pump_speed = jsonGet(cmd["injection_pump_speed"]); // - m_disinfectionCtrlService->changeInjectionPumpSpeed(injection_pump_speed); + int stoped_gs = jsonGet(cmd["stoped_gs"]); // + int continued_gs = jsonGet(cmd["continued_gs"]); // + int stoped_satur = jsonGet(cmd["stoped_satur"]); // + int continued_satur = jsonGet(cmd["continued_satur"]); // + int stoped_humi = jsonGet(cmd["stoped_humi"]); // + int continued_humi = jsonGet(cmd["continued_humi"]); // + m_disinfectionCtrlService->changeDisinfectionParameter( // + injection_pump_speed, // + stoped_gs, // + continued_gs, // + stoped_satur, // + continued_satur, // + stoped_humi, // + continued_humi // + ); return; } diff --git a/src/service/disinfection_ctl_service.cpp b/src/service/disinfection_ctl_service.cpp index 8f3f480..935b562 100644 --- a/src/service/disinfection_ctl_service.cpp +++ b/src/service/disinfection_ctl_service.cpp @@ -422,21 +422,37 @@ void DisinfectionCtrlService::disinfectionLoop(bool& breakflag) { } } -void DisinfectionCtrlService::changeInjectionPumpSpeed(int speed) { +void DisinfectionCtrlService::changeDisinfectionParameter(int injection_pump_speed, // + int stoped_gs, // + int continued_gs, // + int stoped_satur, // + int continued_satur, // + int stoped_humi, // + int continued_humi) { lock_guard lock(lock_); - logger->info("changeInjectionPumpSpeed {}=>{}", m_context.injection_pump_speed, speed); - m_context.injection_pump_speed = speed; + // logger->info("changeInjectionPumpSpeed {}=>{}", m_context.injection_pump_speed, speed); + // m_context.injection_pump_speed = speed; + m_context.injection_pump_speed = injection_pump_speed; + m_context.stoped_gs = stoped_gs; + m_context.continued_gs = continued_gs; + m_context.stoped_satur = stoped_satur; + m_context.continued_satur = continued_satur; + m_context.stoped_humi = stoped_humi; + m_context.continued_humi = continued_humi; m_context.injection_pump_speed_changed = true; + + logger->info("changeDisinfectionParameter {} {} {} {} {} {} {}", injection_pump_speed, stoped_gs, continued_gs, stoped_satur, continued_satur, stoped_humi, + continued_humi); } void DisinfectionCtrlService::startDisinfection(int loglevel, // - float injection_pump_speed, // - float stoped_gs, // - float continued_gs, // - float stoped_satur, // - float continued_satur, // - float stoped_humi, // - float continued_humi // + int injection_pump_speed, // + int stoped_gs, // + int continued_gs, // + int stoped_satur, // + int continued_satur, // + int stoped_humi, // + int continued_humi // ) { lock_guard lock(lock_); diff --git a/src/service/disinfection_ctl_service.hpp b/src/service/disinfection_ctl_service.hpp index 248b714..7cf7b4b 100644 --- a/src/service/disinfection_ctl_service.hpp +++ b/src/service/disinfection_ctl_service.hpp @@ -112,15 +112,22 @@ class DisinfectionCtrlService : public enable_shared_from_this