From de94efe62f10800cc30caf5b302a16f77ab0aad3 Mon Sep 17 00:00:00 2001 From: zhaohe Date: Tue, 20 Aug 2024 15:34:41 +0800 Subject: [PATCH] recode --- .../front_msg_processer/front_msg_processer.hpp | 4 +-- appsrc/service/app/add_liquid_service.cpp | 7 ++--- appsrc/service/app/add_liquid_service.hpp | 2 +- .../service/app/disinfection_ctrl_service_ext.cpp | 19 ++++++------- .../service/app/disinfection_ctrl_service_ext.hpp | 6 ++--- appsrc/service/app/pipeline_pressure_control.cpp | 11 +++----- appsrc/service/app/pipeline_pressure_control.hpp | 4 +-- appsrc/service/app_core.cpp | 18 ++++++------- appsrc/service/app_core.hpp | 2 +- appsrc/service/disinfection_logs_service.cpp | 11 ++++---- appsrc/service/disinfection_logs_service.hpp | 4 +-- .../front_end_realtime_display_content_mgr.cpp | 2 +- appsrc/service/os_mgr_service.cpp | 19 +++---------- appsrc/service/os_mgr_service.hpp | 4 +-- appsrc/service/setting_mgr_service.cpp | 28 +++++++++---------- appsrc/service/setting_mgr_service.hpp | 8 +++--- appsrc/service/user_mgr_service.cpp | 31 +++++++--------------- appsrc/service/user_mgr_service.hpp | 10 +++---- 18 files changed, 77 insertions(+), 113 deletions(-) diff --git a/appsrc/baseservice/front_msg_processer/front_msg_processer.hpp b/appsrc/baseservice/front_msg_processer/front_msg_processer.hpp index 23af09c..33094f4 100644 --- a/appsrc/baseservice/front_msg_processer/front_msg_processer.hpp +++ b/appsrc/baseservice/front_msg_processer/front_msg_processer.hpp @@ -102,8 +102,8 @@ class FrontMsgProcesser { if (typeInfoMap.find(type_index(typeid(T))) != typeInfoMap.end()) { return typeInfoMap[type_index(typeid(T))].typeName; } - return typeid(T).name(); - // throw std::runtime_error(fmt::format("reg {}:{} fail,getTypeName error:{}", className, fnName, typeid(T).name())); + // return typeid(T).name(); + throw std::runtime_error(fmt::format("reg {}:{} fail,getTypeName error:{}", className, fnName, typeid(T).name())); }; // diff --git a/appsrc/service/app/add_liquid_service.cpp b/appsrc/service/app/add_liquid_service.cpp index 8959da3..b54397b 100644 --- a/appsrc/service/app/add_liquid_service.cpp +++ b/appsrc/service/app/add_liquid_service.cpp @@ -9,7 +9,7 @@ using namespace iflytop; void AddLiquidService::initialize() { logger->info("AddLiquidService initialize"); - REG_EXTFN_VOID(start, void()); + REG_EXTFN(start, void(int), stopatg); REG_EXTFN_VOID(stop, void()); REG_EXTFN_VOID(getState, void()); REG_EXTFN_VOID(getServiceConfig, void()); @@ -139,10 +139,7 @@ void AddLiquidService::stop() { } AddLiquidService::state_t AddLiquidService::getWorkstate() { return m_workstate; } -void AddLiquidService::start(shared_ptr cxt) { // - int stopatg = jsonGet(cxt->params["stopatg"]); - start(stopatg); -} +void AddLiquidService::start(shared_ptr cxt, int stopatg) { start(stopatg); } void AddLiquidService::stop(shared_ptr cxt) { stop(); } void AddLiquidService::getState(shared_ptr cxt) { // cxt->content["workState"] = state2str(getWorkstate()); diff --git a/appsrc/service/app/add_liquid_service.hpp b/appsrc/service/app/add_liquid_service.hpp index 2802768..ce07a52 100644 --- a/appsrc/service/app/add_liquid_service.hpp +++ b/appsrc/service/app/add_liquid_service.hpp @@ -70,7 +70,7 @@ class AddLiquidService : public enable_shared_from_this { void stop(); state_t getWorkstate(); - void start(shared_ptr cxt); + void start(shared_ptr cxt,int stopatg); void stop(shared_ptr cxt); void getState(shared_ptr cxt); void getServiceConfig(shared_ptr cxt); diff --git a/appsrc/service/app/disinfection_ctrl_service_ext.cpp b/appsrc/service/app/disinfection_ctrl_service_ext.cpp index 409ed61..92ee790 100644 --- a/appsrc/service/app/disinfection_ctrl_service_ext.cpp +++ b/appsrc/service/app/disinfection_ctrl_service_ext.cpp @@ -42,24 +42,22 @@ void DisinfectionCtrlServiceExt::initialize() { GET_TO_SERVICE(gConfig); GET_TO_SERVICE(dcs); - REG_EXTFN_VOID(start, void()); - REG_EXTFN_VOID(startWithFormula, void()); + REG_EXTFN(start, void(string), loglevel); + REG_EXTFN(startWithFormula, void(string), formulaid); REG_EXTFN_VOID(stop, void()); REG_EXTFN_VOID(getState, void()); REG_EXTFN_VOID(getRealtimeConfig, void()); - REG_EXTFN_VOID(setRealtimeConfig, void()); + REG_EXTFN(setRealtimeConfig, void(string, string), key, val); REG_EXTFN_VOID(getServiceConfig, void()); } -void DisinfectionCtrlServiceExt::start(shared_ptr cxt) { +void DisinfectionCtrlServiceExt::start(shared_ptr cxt, string loglevel) { // 从setting中获取实时参数 - string loglevel = cxt->params["loglevel"]; - int level = atoi(loglevel.c_str()); + int level = atoi(loglevel.c_str()); dcs->start(level); // m_state = DisinfectionState::preheat; } -void DisinfectionCtrlServiceExt::startWithFormula(shared_ptr cxt) { // - string formulaid = cxt->params["formulaId"]; +void DisinfectionCtrlServiceExt::startWithFormula(shared_ptr cxt, string formulaid) { // dcs->startWithFormula(formulaid); } void DisinfectionCtrlServiceExt::stop(shared_ptr cxt) { dcs->stop(); } @@ -70,9 +68,8 @@ void DisinfectionCtrlServiceExt::getRealtimeConfig(shared_ptr rely[cfg.first] = cfg.second; } } -void DisinfectionCtrlServiceExt::setRealtimeConfig(shared_ptr cxt) { - string key = cxt->params["key"]; - string val = cxt->params; +void DisinfectionCtrlServiceExt::setRealtimeConfig(shared_ptr cxt, string key, string val) { + logger->info("setRealtimeConfig key:{} val:{}", key, val); dcs->getRealtimeCfg()[key] = val; } diff --git a/appsrc/service/app/disinfection_ctrl_service_ext.hpp b/appsrc/service/app/disinfection_ctrl_service_ext.hpp index b3be333..7adc4c3 100644 --- a/appsrc/service/app/disinfection_ctrl_service_ext.hpp +++ b/appsrc/service/app/disinfection_ctrl_service_ext.hpp @@ -36,12 +36,12 @@ class DisinfectionCtrlServiceExt : public enable_shared_from_this cxt); - void startWithFormula(shared_ptr cxt); + void start(shared_ptr cxt, string loglevel); + void startWithFormula(shared_ptr cxt,string formulaid); void stop(shared_ptr cxt); void getRealtimeConfig(shared_ptr cxt); - void setRealtimeConfig(shared_ptr cxt); + void setRealtimeConfig(shared_ptr cxt, string key, string val); /******************************************************************************* * 状态 * *******************************************************************************/ diff --git a/appsrc/service/app/pipeline_pressure_control.cpp b/appsrc/service/app/pipeline_pressure_control.cpp index f7ec2b2..eb1d091 100644 --- a/appsrc/service/app/pipeline_pressure_control.cpp +++ b/appsrc/service/app/pipeline_pressure_control.cpp @@ -19,13 +19,11 @@ void PipelinePressureControl::initialize() { GET_TO_SERVICE(m_dics); GET_TO_SERVICE(m_gConfig); - REG_EXTFN_VOID(setType, void(void)); - REG_EXTFN_VOID(setIntensity, void(void)); + REG_EXTFN(setType, void(string), type); + REG_EXTFN(setIntensity, void(string), intensity); REG_EXTFN_VOID(getState, void(void)); REG_EXTFN_VOID(getConfig, void(void)); - - m_type = "constantPressure"; m_intensity = 0; syncPressureValueState(); @@ -57,7 +55,7 @@ void PipelinePressureControl::getConfig(shared_ptr cxt) { cfg["intensitys"]["negativePressure"] = {"10%", "20%", "30%", "40%", "50%", "60%", "70%", "80%", "90%", "100%"}; cxt->content = cfg; } -void PipelinePressureControl::setType(shared_ptr cxt) { +void PipelinePressureControl::setType(shared_ptr cxt, string type) { m_type = cxt->params["type"]; if (!isInStrings(m_type, pressureEnum)) { cxt->ackcode = err::kappe_param_value_err; @@ -79,8 +77,7 @@ void PipelinePressureControl::setType(shared_ptr cxt) { cxt->content["intensity"] = fmt::format("{}%", m_intensity); } -void PipelinePressureControl::setIntensity(shared_ptr cxt) { - string intensity = cxt->params["intensity"]; +void PipelinePressureControl::setIntensity(shared_ptr cxt, string intensity) { // 解析字符串 10% -> 10 auto pos = intensity.find("%"); if (pos == string::npos) { diff --git a/appsrc/service/app/pipeline_pressure_control.hpp b/appsrc/service/app/pipeline_pressure_control.hpp index f1969f4..72c2027 100644 --- a/appsrc/service/app/pipeline_pressure_control.hpp +++ b/appsrc/service/app/pipeline_pressure_control.hpp @@ -58,8 +58,8 @@ class PipelinePressureControl : public enable_shared_from_this cxt); - void setIntensity(shared_ptr cxt); + void setType(shared_ptr cxt,string type); + void setIntensity(shared_ptr cxt,string intensity); void getState(shared_ptr cxt); void getConfig(shared_ptr cxt); diff --git a/appsrc/service/app_core.cpp b/appsrc/service/app_core.cpp index ebac235..a74216e 100644 --- a/appsrc/service/app_core.cpp +++ b/appsrc/service/app_core.cpp @@ -38,6 +38,7 @@ void AppCore::initialize() { REG_TYPE(float); REG_TYPE(double); REG_TYPE(void); + REG_TYPE(json); // FrontEnd BUILD_AND_REG_SERRVICE(IflytopFrontEndService); @@ -135,12 +136,11 @@ void AppCore::initialize() { // REG_EXTFN_VOID(getState, void(void)); - REG_EXTFN(promptConfirm, void(string), promptId); REG_EXTFN_VOID(promptGetAll, void(void)); REG_EXTFN_VOID(promptGetNext, void(void)); REG_EXTFN(setInTestMode, void(void), isInTestMode); - REG_EXTFN_VOID(startGenFakeH2O2Data, void(void)); + REG_EXTFN(startGenFakeH2O2Data, void(void), data); REG_EXTFN_VOID(stopGenFakeH2O2Data, void(void)); }; int AppCore::demofn(int a, int b) { return 0; } @@ -188,7 +188,7 @@ typedef struct { bool enable[3]; } fake_h2o2_data_cache_t; -void AppCore::startGenFakeH2O2Data(shared_ptr cxt) { +void AppCore::startGenFakeH2O2Data(shared_ptr cxt, json data) { if (m_genFakeH2O2DataThread) { m_genFakeH2O2DataThread->join(); m_genFakeH2O2DataThread = nullptr; @@ -196,12 +196,12 @@ void AppCore::startGenFakeH2O2Data(shared_ptr cxt) { fake_h2o2_data_cache_t cache; for (size_t i = 0; i < 3; i++) { - cache.h2o2[i] = cxt->params["data"][i]["h2o2"]; - cache.humid[i] = cxt->params["data"][i]["humid"]; - cache.temp[i] = cxt->params["data"][i]["temp"]; - cache.saturation[i] = cxt->params["data"][i]["saturation"]; - cache.random[i] = cxt->params["data"][i]["random"]; - cache.enable[i] = cxt->params["data"][i]["enable"]; + cache.h2o2[i] = data[i]["h2o2"]; + cache.humid[i] = data[i]["humid"]; + cache.temp[i] = data[i]["temp"]; + cache.saturation[i] = data[i]["saturation"]; + cache.random[i] = data[i]["random"]; + cache.enable[i] = data[i]["enable"]; } m_genFakeH2O2DataThread.reset(new Thread("genFakeH2O2DataThread", [this, cache]() { diff --git a/appsrc/service/app_core.hpp b/appsrc/service/app_core.hpp index 53f198c..76bb1ef 100644 --- a/appsrc/service/app_core.hpp +++ b/appsrc/service/app_core.hpp @@ -73,7 +73,7 @@ class AppCore : public enable_shared_from_this { void promptGetNext(shared_ptr cxt); // 测试 void setInTestMode(shared_ptr cxt, bool isInTestMode); - void startGenFakeH2O2Data(shared_ptr cxt); + void startGenFakeH2O2Data(shared_ptr cxt,json data); void stopGenFakeH2O2Data(shared_ptr cxt); private: diff --git a/appsrc/service/disinfection_logs_service.cpp b/appsrc/service/disinfection_logs_service.cpp index cbf286a..488ab86 100644 --- a/appsrc/service/disinfection_logs_service.cpp +++ b/appsrc/service/disinfection_logs_service.cpp @@ -158,8 +158,8 @@ void DisinfectionLogsService::initialize() { REG_EXTFN_VOID(getRecordList, void()); REG_EXTFN_VOID(getRecord, void()); - REG_EXTFN_VOID(deleteReport, void()); - REG_EXTFN_VOID(exportRecord, void()); + REG_EXTFN(deleteReport, void(string), logName); + REG_EXTFN(exportRecord, void(vector), logNames); REG_EXTFN_VOID(printRecord, void()); REG_EXTFN_VOID(selftest, void()); @@ -571,14 +571,13 @@ void DisinfectionLogsService::getRecord(shared_ptr cxt) { } } -void DisinfectionLogsService::deleteReport(shared_ptr cxt) { - string logName = cxt->params["logName"]; +void DisinfectionLogsService::deleteReport(shared_ptr cxt, string logName) { deleteRecordFile(logName); } -void DisinfectionLogsService::exportRecord(shared_ptr cxt) { +void DisinfectionLogsService::exportRecord(shared_ptr cxt, vector logNames) { vector files; - for (auto& key : cxt->params["logNames"]) { + for (auto& key : logNames) { files.push_back(key); } auto errcode = exportDisinfectionData(files); diff --git a/appsrc/service/disinfection_logs_service.hpp b/appsrc/service/disinfection_logs_service.hpp index 683b886..8b8c872 100644 --- a/appsrc/service/disinfection_logs_service.hpp +++ b/appsrc/service/disinfection_logs_service.hpp @@ -53,8 +53,8 @@ class DisinfectionLogsService : public enable_shared_from_this cxt); void getRecord(shared_ptr cxt); - void deleteReport(shared_ptr cxt); - void exportRecord(shared_ptr cxt); + void deleteReport(shared_ptr cxt,string logName); + void exportRecord(shared_ptr cxt,vector logNames); void printRecord(shared_ptr cxt); void selftest(shared_ptr cxt); diff --git a/appsrc/service/front_end_realtime_display_content_mgr.cpp b/appsrc/service/front_end_realtime_display_content_mgr.cpp index e8d01b2..ff9feec 100644 --- a/appsrc/service/front_end_realtime_display_content_mgr.cpp +++ b/appsrc/service/front_end_realtime_display_content_mgr.cpp @@ -4,7 +4,7 @@ using namespace iflytop; void FrontEndRealtimeDisplayContentMgr::initialize() { // - REG_EXTFN_VOID(readH2O2SensorData, void()); + REG_EXTFN_VOID(readH2O2SensorData, json()); } void FrontEndRealtimeDisplayContentMgr::readH2O2SensorData(shared_ptr cxt) { diff --git a/appsrc/service/os_mgr_service.cpp b/appsrc/service/os_mgr_service.cpp index 7357daa..4334623 100644 --- a/appsrc/service/os_mgr_service.cpp +++ b/appsrc/service/os_mgr_service.cpp @@ -10,10 +10,8 @@ void OsMgrService::initialize() { GET_TO_SERVICE(m_gConfig); REG_EXTFN_VOID(shutdown, void()); - REG_EXTFN_VOID(updateDate, void()); - REG_EXTFN_VOID(updateTime, void()); - - + REG_EXTFN(updateDate, void(int, int, int), year, month, day); + REG_EXTFN(updateTime, void(int, int, int), hour, min, second); } void OsMgrService::shutdown(shared_ptr cxt) { @@ -22,25 +20,16 @@ void OsMgrService::shutdown(shared_ptr cxt) { this_thread::sleep_for(chrono::seconds(3)); return; } -void OsMgrService::updateDate(shared_ptr cxt) { +void OsMgrService::updateDate(shared_ptr cxt, int year, int month, int day) { logger->info("updateDate"); // sleep - auto& param = cxt->cmd["params"]; - - int32_t year = jsonGet(param["year"]); - int32_t month = jsonGet(param["month"]); - int32_t day = jsonGet(param["day"]); logger->info("updateDate {} {} {}", year, month, day); // date -s "2023-01-02 02:32:32" dosystem(fmt::format("date -s \"{}{:02}{:02} `date +%T`\"", year, month, day).c_str()); dosystem(fmt::format("hwclock -w").c_str()); } -void OsMgrService::updateTime(shared_ptr cxt) { - auto& param = cxt->cmd["params"]; +void OsMgrService::updateTime(shared_ptr cxt, int hour, int min, int second) { - int32_t hour = jsonGet(param["hour"]); - int32_t min = jsonGet(param["min"]); - int32_t second = jsonGet(param["second"]); logger->info("updateDate {}:{}:{}", hour, min, second); // date -s "2023-01-02 02:32:32" dosystem(fmt::format("date -s \"`date +%Y-%m-%d` {:02}:{:02}:{:02}\"", hour, min, second).c_str()); diff --git a/appsrc/service/os_mgr_service.hpp b/appsrc/service/os_mgr_service.hpp index 73611c4..2043467 100644 --- a/appsrc/service/os_mgr_service.hpp +++ b/appsrc/service/os_mgr_service.hpp @@ -24,8 +24,8 @@ class OsMgrService : public enable_shared_from_this { private: void shutdown(shared_ptr cxt); - void updateDate(shared_ptr cxt); - void updateTime(shared_ptr cxt); + void updateDate(shared_ptr cxt, int year, int month, int day); + void updateTime(shared_ptr cxt,int hour, int min, int second); void dosystem(string order) { logger->info("do:{}", order); diff --git a/appsrc/service/setting_mgr_service.cpp b/appsrc/service/setting_mgr_service.cpp index 0ed890a..733ef39 100644 --- a/appsrc/service/setting_mgr_service.cpp +++ b/appsrc/service/setting_mgr_service.cpp @@ -13,25 +13,21 @@ void SettingMgrService::initialize() { GET_TO_SERVICE(m_ds); REG_EXTFN_VOID(getAllSetting, void()); - REG_EXTFN_VOID(setSettingVal, void()); - REG_EXTFN_VOID(getAllFormula, void()); - REG_EXTFN_VOID(addNewFormula, void()); - REG_EXTFN_VOID(delFormula, void()); - REG_EXTFN_VOID(updateFormula, void()); - REG_EXTFN_VOID(updateFormulaIterm, void()); + REG_EXTFN(setSettingVal, void(string, string), settingName, settingVal); + REG_EXTFN_VOID(getAllFormula, json()); + REG_EXTFN_VOID(addNewFormula, json()); + REG_EXTFN(delFormula, void(string), formula_id); + REG_EXTFN(updateFormula, void(string, json), formula_id, formula); + REG_EXTFN(updateFormulaIterm, void(string, string, string), formula_id, itemName, val); REG_EXTFN_VOID(factoryResetSettings, void()); - - } void SettingMgrService::getAllSetting(shared_ptr cxt) { auto settings = SETTING_DB->getAllSetting(); cxt->content = settings; } -void SettingMgrService::setSettingVal(shared_ptr cxt) { - string settingName = cxt->cmd["params"]["settingName"]; - string settingVal = cxt->cmd["params"]["settingVal"]; - bool suc = SETTING_DB->setSettingVal(settingName, settingVal); +void SettingMgrService::setSettingVal(shared_ptr cxt, string settingName, string settingVal) { + bool suc = SETTING_DB->setSettingVal(settingName, settingVal); APPCHECK(suc, err::kappe_db_operate_error, "setSettingVal failed"); } void SettingMgrService::getAllFormula(shared_ptr cxt) { cxt->content = FORMULA_DB->getAllFormula(); } @@ -41,17 +37,17 @@ void SettingMgrService::addNewFormula(shared_ptr cxt) { cxt->content = formula; } -void SettingMgrService::delFormula(shared_ptr cxt) { +void SettingMgrService::delFormula(shared_ptr cxt, string formula_id) { auto param = cxt->cmd["params"]; FORMULA_DB->deleteFormula(param["formula_id"]); return; } -void SettingMgrService::updateFormula(shared_ptr cxt) { +void SettingMgrService::updateFormula(shared_ptr cxt, string formula_id, json formula) { auto param = cxt->cmd["params"]; - FORMULA_DB->updateFormula(param["formula_id"], param["formula"]); + FORMULA_DB->updateFormula(formula_id, formula); return; } -void SettingMgrService::updateFormulaIterm(shared_ptr cxt) { +void SettingMgrService::updateFormulaIterm(shared_ptr cxt, string formula_id, string itemName, string val) { auto param = cxt->cmd["params"]; FORMULA_DB->updateFormula(param["formula_id"], param["itemName"], param["val"]); return; diff --git a/appsrc/service/setting_mgr_service.hpp b/appsrc/service/setting_mgr_service.hpp index dbe837f..c4ce197 100644 --- a/appsrc/service/setting_mgr_service.hpp +++ b/appsrc/service/setting_mgr_service.hpp @@ -23,13 +23,13 @@ class SettingMgrService : public enable_shared_from_this { private: void getAllSetting(shared_ptr cxt); - void setSettingVal(shared_ptr cxt); + void setSettingVal(shared_ptr cxt,string settingName, string settingVal); void addNewFormula(shared_ptr cxt); void getAllFormula(shared_ptr cxt); void addFormula(shared_ptr cxt); - void delFormula(shared_ptr cxt); - void updateFormula(shared_ptr cxt); - void updateFormulaIterm(shared_ptr cxt); + void delFormula(shared_ptr cxt, string formula_id); + void updateFormula(shared_ptr cxt, string formula_id, json formula); + void updateFormulaIterm(shared_ptr cxt, string formula_id, string itemName, string val); void factoryResetSettings(shared_ptr cxt); private: diff --git a/appsrc/service/user_mgr_service.cpp b/appsrc/service/user_mgr_service.cpp index 0d11057..e8ca9fb 100644 --- a/appsrc/service/user_mgr_service.cpp +++ b/appsrc/service/user_mgr_service.cpp @@ -8,20 +8,17 @@ void UserMgrService::initialize() { GET_TO_SERVICE(m_db); GET_TO_SERVICE(m_deviceStateService); - REG_EXTFN_VOID(login, void()); + REG_EXTFN(login, void(string, string), uid, pwd); REG_EXTFN_VOID(unlogin, void()); - REG_EXTFN_VOID(chpasswd, void()); - REG_EXTFN_VOID(addUser, void()); - REG_EXTFN_VOID(delUser, void()); - REG_EXTFN_VOID(updateUserUid, void()); + REG_EXTFN(chpasswd, void(string, string, string), uid, newpasswd, passwd); + REG_EXTFN(addUser, void(string, string), uid, passwd); + REG_EXTFN(delUser, void(int), id); + REG_EXTFN(updateUserUid, void(int, string), id, uid); REG_EXTFN_VOID(getAllUser, void()); REG_EXTFN_VOID(getLoginUser, void()); }; -void UserMgrService::login(shared_ptr cxt) { - string uid = cxt->cmd["params"]["uid"]; - string pwd = cxt->cmd["params"]["passwd"]; - +void UserMgrService::login(shared_ptr cxt, string uid, string pwd) { // 超超级用户 if (uid == "admin" && pwd == "iflytop9973") { m_deviceStateService->setLoginState("admin", true); @@ -46,10 +43,7 @@ void UserMgrService::unlogin(shared_ptr cxt) { ADD_USER_BEHAVIOR(loginuid, kbehavior_logout, ""); return; } -void UserMgrService::chpasswd(shared_ptr cxt) { - string uid = cxt->cmd["params"]["uid"]; - string newpasswd = cxt->cmd["params"]["newpasswd"]; - string passwd = cxt->cmd["params"]["passwd"]; +void UserMgrService::chpasswd(shared_ptr cxt, string uid, string newpasswd, string passwd) { if (!m_deviceStateService->isLoginAdmin()) { APPCHECK(!m_db->ispasswdCorrect(uid, passwd), err::kappe_passwd_error, fmt::format("user {} passwd error", uid)); @@ -58,20 +52,15 @@ void UserMgrService::chpasswd(shared_ptr cxt) { logger->info("changet passwd {} {}", uid, passwd); auto user = m_db->changePasswd(uid, newpasswd); } -void UserMgrService::addUser(shared_ptr cxt) { - string uid = cxt->cmd["params"]["uid"]; - string passwd = cxt->cmd["params"]["passwd"]; +void UserMgrService::addUser(shared_ptr cxt, string uid, string passwd) { m_db->addUser(uid, passwd); } -void UserMgrService::delUser(shared_ptr cxt) { - int id = jsonGet(cxt->cmd["params"]["id"]); +void UserMgrService::delUser(shared_ptr cxt, int id) { auto user = m_db->delUser(id); APPCHECK(!user, err::kappe_user_not_exist, fmt::format("user {} not exist", id)); } -void UserMgrService::updateUserUid(shared_ptr cxt) { - int id = jsonGet(cxt->cmd["params"]["id"]); - string uid = cxt->cmd["params"]["uid"]; +void UserMgrService::updateUserUid(shared_ptr cxt, int id, string uid) { string olduid; auto user = m_db->updateUserUid(id, uid, olduid); APPCHECK(!user, err::kappe_user_not_exist, fmt::format("user {} not exist", id)); diff --git a/appsrc/service/user_mgr_service.hpp b/appsrc/service/user_mgr_service.hpp index 8f0dd7e..2643263 100644 --- a/appsrc/service/user_mgr_service.hpp +++ b/appsrc/service/user_mgr_service.hpp @@ -22,12 +22,12 @@ class UserMgrService : public enable_shared_from_this { void initialize(); private: - void login(shared_ptr cxt); + void login(shared_ptr cxt, string uid, string pwd); void unlogin(shared_ptr cxt); - void chpasswd(shared_ptr cxt); - void addUser(shared_ptr cxt); - void delUser(shared_ptr cxt); - void updateUserUid(shared_ptr cxt); + void chpasswd(shared_ptr cxt, string uid, string newpasswd, string passwd); + void addUser(shared_ptr cxt, string uid, string passwd); + void delUser(shared_ptr cxt, int id); + void updateUserUid(shared_ptr cxt, int id, string uid); void getAllUser(shared_ptr cxt); void getLoginUser(shared_ptr cxt); };