diff --git a/appsrc/baseservice/db/formula_db_dao.cpp b/appsrc/baseservice/db/formula_db_dao.cpp index 57027cf..628e2b4 100644 --- a/appsrc/baseservice/db/formula_db_dao.cpp +++ b/appsrc/baseservice/db/formula_db_dao.cpp @@ -22,7 +22,7 @@ json FormulaDBDao::getAllFormula() { json allFormula; auto all = keyvaldb.getAll(); for (auto& formula : all) { - allFormula.push_back(formula->val); + allFormula.push_back(json::parse(formula->val)); } return allFormula; } diff --git a/appsrc/service/app/disinfection_ctrl_service.cpp b/appsrc/service/app/disinfection_ctrl_service.cpp index bd47fbe..feefe9f 100644 --- a/appsrc/service/app/disinfection_ctrl_service.cpp +++ b/appsrc/service/app/disinfection_ctrl_service.cpp @@ -31,22 +31,26 @@ void DisinfectionCtrlService::initialize() { REGFNV2(DisinfectionCtrlService, startWithFormula); REGFNV2(DisinfectionCtrlService, stop); REGFNV2(DisinfectionCtrlService, getState); - REGFNV2(DisinfectionCtrlService, getServiceConfig); REGFNV2(DisinfectionCtrlService, getRealtimeConfig); + REGFNV2(DisinfectionCtrlService, setRealtimeConfig); + REGFNV2(DisinfectionCtrlService, getServiceConfig); } void DisinfectionCtrlService::fn_start(shared_ptr cxt) { // 从setting中获取实时参数 m_formulaid = ""; auto allrealtimesetting = SETTING_DB->getRealtimeSetting(); + m_realtimeCfg.clear(); for (auto& setting : allrealtimesetting) { m_realtimeCfg[string(setting->setting_id)] = setting->val; } m_state = kstate_preheat; } void DisinfectionCtrlService::fn_startWithFormula(shared_ptr cxt) { // - m_formulaid = cxt->params["formula_id"]; - m_defaultFormulaJson = FORMULA_DB->getFormula(m_formulaid); + m_formulaid = cxt->params["formula_id"]; + m_defaultFormulaJson = FORMULA_DB->getFormula(m_formulaid); + m_realtimeCfg.clear(); + auto allrealtimesetting = SETTING_DB->getRealtimeSetting(); for (auto& setting : allrealtimesetting) { m_realtimeCfg[string(setting->setting_id)] = m_defaultFormulaJson[string(setting->setting_id)]; @@ -66,12 +70,38 @@ void DisinfectionCtrlService::fn_getRealtimeConfig(shared_ptr } void DisinfectionCtrlService::fn_setRealtimeConfig(shared_ptr cxt) { string key = cxt->params["key"]; - string val = cxt->params["val"]; + string val = cxt->params; m_realtimeCfg[key] = val; } void DisinfectionCtrlService::fn_getState(shared_ptr cxt) { - json& rely = cxt->content; - rely["statedisplayName"] = disinfectionState2DisplayName(m_state); - rely["state"] = toString(m_state); + json& rely = cxt->content; + rely["statedisplayName"] = disinfectionState2DisplayName(m_state); + rely["state"] = toString(m_state); + rely["curStateRemainTimeS"] = 60; + rely["tlog"] = "12.0"; + rely["nlog"] = "3.0"; + + json sensordata; + sensordata[0]["h2o2"] = 11.1; + sensordata[0]["temp"] = 12.2; + sensordata[0]["rh"] = 13.3; + sensordata[0]["rs"] = 14.4; + + sensordata[1]["h2o2"] = 21.1; + sensordata[1]["temp"] = 22.2; + sensordata[1]["rh"] = 23.3; + sensordata[1]["rs"] = 24.4; + + sensordata[2]["h2o2"] = 31.1; + sensordata[2]["temp"] = 32.2; + sensordata[2]["rh"] = 33.3; + sensordata[2]["rs"] = 34.4; + + rely["h2o2SensorData"] = sensordata; +} + +void DisinfectionCtrlService::fn_getServiceConfig(shared_ptr cxt) { + json& rely = cxt->content; + rely["curveNum"] = 3; + rely["updatePeriodMs"] = 5000; } -void DisinfectionCtrlService::fn_getServiceConfig(shared_ptr cxt) { json& rely = cxt->content; } \ No newline at end of file diff --git a/appsrc/service/front_end_realtime_display_content_mgr.cpp b/appsrc/service/front_end_realtime_display_content_mgr.cpp index 5460207..1672fb5 100644 --- a/appsrc/service/front_end_realtime_display_content_mgr.cpp +++ b/appsrc/service/front_end_realtime_display_content_mgr.cpp @@ -4,20 +4,22 @@ using namespace iflytop; void FrontEndRealtimeDisplayContentMgr::initialize() { REGFN(FrontEndRealtimeDisplayContentMgr, readH2O2SensorData); } void FrontEndRealtimeDisplayContentMgr::readH2O2SensorData(shared_ptr cxt) { - json j; - j["val"][0]["h2o2"] = "h11.1"; - j["val"][0]["temp"] = "t12.2"; - j["val"][0]["rh"] = "rh13.3"; - j["val"][0]["rs"] = "rs14.4"; + json sensordata; - j["val"][1]["h2o2"] = "h21.1"; - j["val"][1]["temp"] = "t22.2"; - j["val"][1]["rh"] = "rh23.3"; - j["val"][1]["rs"] = "rs24.4"; + sensordata[0]["h2o2"] = 11.1; + sensordata[0]["temp"] = 12.2; + sensordata[0]["rh"] = 13.3; + sensordata[0]["rs"] = 14.4; - j["val"][2]["h2o2"] = "h31.1"; - j["val"][2]["temp"] = "t32.2"; - j["val"][2]["rh"] = "rh33.3"; - j["val"][2]["rs"] = "rs34.4"; - cxt->content = j; + sensordata[1]["h2o2"] = 21.1; + sensordata[1]["temp"] = 22.2; + sensordata[1]["rh"] = 23.3; + sensordata[1]["rs"] = 24.4; + + sensordata[2]["h2o2"] = 31.1; + sensordata[2]["temp"] = 32.2; + sensordata[2]["rh"] = 33.3; + sensordata[2]["rs"] = 34.4; + + cxt->content["val"] = sensordata; } \ No newline at end of file