10 changed files with 207 additions and 58 deletions
-
13app_protocols/apperrorcode/apperrorcode.hpp
-
98appsrc/baseservice/db/db_service.cpp
-
15appsrc/baseservice/db/db_service.hpp
-
6appsrc/baseservice/front_msg_processer/front_msg_processer.cpp
-
1appsrc/baseservice/front_msg_processer/front_msg_processer.hpp
-
0appsrc/service/device_info_mgr_service.cpp
-
0appsrc/service/device_info_mgr_service.hpp
-
3appsrc/service/main_control_service.cpp
-
92appsrc/service/setting_mgr_service.cpp
-
37appsrc/service/setting_mgr_service.hpp
@ -0,0 +1,92 @@ |
|||||
|
#include "setting_mgr_service.hpp"
|
||||
|
|
||||
|
using namespace iflytop; |
||||
|
using namespace std; |
||||
|
using namespace core; |
||||
|
|
||||
|
SettingMgrService::SettingMgrService() {} |
||||
|
void SettingMgrService::initialize() { |
||||
|
GET_TO_SERVICE(m_db); |
||||
|
GET_TO_SERVICE(m_ds); |
||||
|
|
||||
|
REGFN(SettingMgrService, getAllSetting); |
||||
|
REGFN(SettingMgrService, setSettingVal); |
||||
|
REGFN(SettingMgrService, getAllFormula); |
||||
|
REGFN(SettingMgrService, addFormula); |
||||
|
REGFN(SettingMgrService, delFormula); |
||||
|
REGFN(SettingMgrService, updateFormula); |
||||
|
REGFN(SettingMgrService, updateFormulaIterm); |
||||
|
REGFN(SettingMgrService, factoryResetSettings); |
||||
|
} |
||||
|
|
||||
|
void SettingMgrService::getAllSetting(shared_ptr<MsgProcessContext> cxt) { cxt->receipt["content"] = m_db->getAllSettingJson(); } |
||||
|
void SettingMgrService::setSettingVal(shared_ptr<MsgProcessContext> cxt) { |
||||
|
string settingName = cxt->cmd["param"]["settingName"]; |
||||
|
string settingVal = cxt->cmd["param"]["settingVal"]; |
||||
|
bool suc = m_db->setSettingVal(settingName, settingVal); |
||||
|
APPCHECK(suc, err::kappe_db_operate_error, "setSettingVal failed"); |
||||
|
} |
||||
|
void SettingMgrService::getAllFormula(shared_ptr<MsgProcessContext> cxt) { cxt->receipt["content"] = m_db->getAllFormulaJson(); } |
||||
|
void SettingMgrService::addFormula(shared_ptr<MsgProcessContext> cxt) { |
||||
|
string formula_id = cxt->cmd["param"]["formula_id"]; |
||||
|
m_db->addFormula(cxt->cmd["formula_id"], //
|
||||
|
jsonGet<int>(cxt->cmd["loglevel"]), //
|
||||
|
jsonGet<int>(cxt->cmd["stoped_gs"]), //
|
||||
|
jsonGet<int>(cxt->cmd["continued_gs"]), //
|
||||
|
jsonGet<int>(cxt->cmd["stoped_satur"]), //
|
||||
|
jsonGet<int>(cxt->cmd["continued_satur"]), //
|
||||
|
jsonGet<int>(cxt->cmd["stoped_humi"]), //
|
||||
|
jsonGet<int>(cxt->cmd["continued_humi"]), //
|
||||
|
jsonGet<int>(cxt->cmd["injection_pump_speed"])); |
||||
|
return; |
||||
|
} |
||||
|
void SettingMgrService::delFormula(shared_ptr<MsgProcessContext> cxt) { m_db->delFormula(jsonGet<int>(cxt->cmd["param"]["id"])); } |
||||
|
void SettingMgrService::updateFormula(shared_ptr<MsgProcessContext> cxt) { |
||||
|
auto param = cxt->cmd["param"]; |
||||
|
string val_str; |
||||
|
if (param["val"].is_string()) { |
||||
|
val_str = param["val"]; |
||||
|
} else { |
||||
|
val_str = std::to_string(param["val"].get<int>()); |
||||
|
} |
||||
|
auto formula = m_db->updateFormula(jsonGet<int>(param["id"]), param["itemName"], val_str); |
||||
|
return; |
||||
|
} |
||||
|
void SettingMgrService::updateFormulaIterm(shared_ptr<MsgProcessContext> cxt) { |
||||
|
auto param = cxt->cmd["param"]; |
||||
|
|
||||
|
int id = jsonGet<int>(param["id"]); |
||||
|
string formula_id = param["formula_id"]; |
||||
|
int loglevel = jsonGet<int>(param["loglevel"]); |
||||
|
int stoped_gs = jsonGet<int>(param["stoped_gs"]); |
||||
|
int continued_gs = jsonGet<int>(param["continued_gs"]); |
||||
|
int stoped_satur = jsonGet<int>(param["stoped_satur"]); |
||||
|
int continued_satur = jsonGet<int>(param["continued_satur"]); |
||||
|
int stoped_humi = jsonGet<int>(param["stoped_humi"]); |
||||
|
int continued_humi = jsonGet<int>(param["continued_humi"]); |
||||
|
int injection_pump_speed = jsonGet<int>(param["injection_pump_speed"]); |
||||
|
|
||||
|
shared_ptr<Formula> formula = m_db->getFormula(id); |
||||
|
APPCHECK(formula, err::kappe_db_operate_error, "formula id {} not exist", id); |
||||
|
|
||||
|
string oldname = formula->formula_id; |
||||
|
formula->formula_id = formula_id; |
||||
|
formula->loglevel = std::to_string(loglevel); |
||||
|
formula->stoped_gs = std::to_string(stoped_gs); |
||||
|
formula->continued_gs = std::to_string(continued_gs); |
||||
|
formula->stoped_satur = std::to_string(stoped_satur); |
||||
|
formula->continued_satur = std::to_string(continued_satur); |
||||
|
formula->stoped_humi = std::to_string(stoped_humi); |
||||
|
formula->continued_humi = std::to_string(continued_humi); |
||||
|
formula->injection_pump_speed = std::to_string(injection_pump_speed); |
||||
|
|
||||
|
m_db->updateFormula(formula); |
||||
|
|
||||
|
return; |
||||
|
} |
||||
|
void SettingMgrService::factoryResetSettings(shared_ptr<MsgProcessContext> cxt) { |
||||
|
m_db->settingfactoryReset(); |
||||
|
auto dbval = m_db->getAllSettingJson(); |
||||
|
cxt->content = dbval; |
||||
|
return; |
||||
|
} |
@ -0,0 +1,37 @@ |
|||||
|
#pragma once
|
||||
|
#include <fstream>
|
||||
|
#include <iostream>
|
||||
|
#include <list>
|
||||
|
#include <map>
|
||||
|
#include <memory>
|
||||
|
#include <set>
|
||||
|
#include <sstream>
|
||||
|
#include <string>
|
||||
|
#include <vector>
|
||||
|
//
|
||||
|
#include "baseservice/baseservice.hpp"
|
||||
|
namespace iflytop { |
||||
|
class SettingMgrService : public enable_shared_from_this<SettingMgrService> { |
||||
|
ENABLE_LOGGER(SettingMgrService); |
||||
|
|
||||
|
shared_ptr<DBService> m_db; |
||||
|
shared_ptr<DeviceStateService> m_ds; |
||||
|
|
||||
|
public: |
||||
|
SettingMgrService(); |
||||
|
void initialize(); |
||||
|
|
||||
|
private: |
||||
|
void getAllSetting(shared_ptr<MsgProcessContext> cxt); |
||||
|
void setSettingVal(shared_ptr<MsgProcessContext> cxt); |
||||
|
void getAllFormula(shared_ptr<MsgProcessContext> cxt); |
||||
|
void addFormula(shared_ptr<MsgProcessContext> cxt); |
||||
|
void delFormula(shared_ptr<MsgProcessContext> cxt); |
||||
|
void updateFormula(shared_ptr<MsgProcessContext> cxt); |
||||
|
void updateFormulaIterm(shared_ptr<MsgProcessContext> cxt); |
||||
|
void factoryResetSettings(shared_ptr<MsgProcessContext> cxt); |
||||
|
|
||||
|
private: |
||||
|
}; |
||||
|
|
||||
|
} // namespace iflytop
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue