From 30e627e0e42d893ce08eaedc3d279c4bb449a3af Mon Sep 17 00:00:00 2001 From: zhaohe Date: Tue, 15 Aug 2023 12:30:56 +0800 Subject: [PATCH] update --- iflytoplinuxsdk | 2 +- src/main_control_service.cpp | 34 +++++++++++++++++++++----------- src/main_control_service.hpp | 2 ++ src/service/front_end_service.cpp | 0 src/service/front_end_service.hpp | 41 --------------------------------------- 5 files changed, 26 insertions(+), 53 deletions(-) delete mode 100644 src/service/front_end_service.cpp delete mode 100644 src/service/front_end_service.hpp diff --git a/iflytoplinuxsdk b/iflytoplinuxsdk index 11ccc50..0bb43f7 160000 --- a/iflytoplinuxsdk +++ b/iflytoplinuxsdk @@ -1 +1 @@ -Subproject commit 11ccc50026b05ca736e4a9d0d6c4fc854c7893e6 +Subproject commit 0bb43f7007917cafa25dd18b3f455256608ff1f9 diff --git a/src/main_control_service.cpp b/src/main_control_service.cpp index 41a14fc..b2e0c35 100644 --- a/src/main_control_service.cpp +++ b/src/main_control_service.cpp @@ -31,17 +31,22 @@ static T jsonGet(json j) { } void MainControlService::initialize() { + GET_TO_SERVICE(m_zconfig); + /** * @brief 构造系统中的单例服务 */ BUILD_AND_REG_SERRVICE(DeviceStateService); GET_SERVICE(DeviceStateService)->initialize(); + GET_TO_SERVICE(m_deviceStateService); + + BUILD_AND_REG_SERRVICE(ZCanHost); + GET_SERVICE(ZCanHost)->initialize(m_zconfig->get_iflytopSubDeviceCanIFName(), m_zconfig->get_iflytopSubDeviceCanBitrate(), false); + GET_TO_SERVICE(m_zcanhost); /** * @brief Get the to service object */ - GET_TO_SERVICE(m_zconfig); - GET_TO_SERVICE(m_deviceStateService); m_disinfectionCtrlService.reset(new DisinfectionCtrlService()); m_disinfectionCtrlService->initialize(); @@ -55,14 +60,21 @@ void MainControlService::initialize() { m_iflytopwsService.reset(new IflytopFrontEndService()); m_iflytopwsService->initialize("0.0.0.0"); m_iflytopwsService->onMessage.connect([this](weak_ptr webSocket, json& cmd, json& receipt) { processFrontEndMessage(webSocket, cmd, receipt); }); + m_iflytopwsService->onUdpCmdMessage.connect([this](struct sockaddr_in* from, char* data, size_t len) { + // + string retmsg; + bool suc = m_zcanhost->execcmd(string(data, len), retmsg); + string retmsgstr = fmt::format("{},{}", suc ? "suc" : "fail", retmsg); + + m_iflytopwsService->sendToUDP(from, retmsgstr.c_str(), retmsgstr.size()); + }); m_iflytopwsService->startListen(); m_dbService.reset(new DBService()); m_dbService->initialize(); - shared_ptr zcanReceiverHost = make_shared(); - - zcanReceiverHost->initialize(m_zconfig->get_iflytopSubDeviceCanIFName(), m_zconfig->get_iflytopSubDeviceCanBitrate(), false); + // shared_ptr zcanReceiverHost = make_shared(); + // zcanReceiverHost->initialize(m_zconfig->get_iflytopSubDeviceCanIFName(), m_zconfig->get_iflytopSubDeviceCanBitrate(), false); // while (true) { // shared_ptr cmd = make_shared(); // cmd->packetindex = 1; @@ -190,15 +202,15 @@ void MainControlService::processFrontEndMessage(weak_ptr webSocket, j auto usr = m_dbService->getUser(uid); if (usr == nullptr) { logger->warn("login fail, user {} not exist", uid); - receipt["ackcode"] = err::error_code_get_get_ecode(err::kcommon_error_code, err::kuser_not_exist); - receipt["ackcodeInfo"] = err::error_code_get_desc(err::kcommon_error_code, err::kuser_not_exist, ""); + receipt["ackcode"] = err::error_code_get_get_ecode(err::kce, err::kuser_not_exist); + receipt["ackcodeInfo"] = err::error_code_get_desc(err::kce, err::kuser_not_exist, ""); return; } if (usr->passwd != pwd) { logger->warn("login fail, user {} passwd error", uid); - receipt["ackcode"] = err::error_code_get_get_ecode(err::kcommon_error_code, err::kpasswd_error); - receipt["ackcodeInfo"] = err::error_code_get_desc(err::kcommon_error_code, err::kpasswd_error, ""); + receipt["ackcode"] = err::error_code_get_get_ecode(err::kce, err::kpasswd_error); + receipt["ackcodeInfo"] = err::error_code_get_desc(err::kce, err::kpasswd_error, ""); return; } @@ -293,8 +305,8 @@ void MainControlService::processFrontEndMessage(weak_ptr webSocket, j int settingVal = jsonGet(cmd["settingVal"]); bool suc = m_dbService->setSettingVal(settingName, settingVal); if (!suc) { - receipt["ackcode"] = err::error_code_get_get_ecode(err::kcommon_error_code, err::kdb_operate_error); - receipt["ackcodeInfo"] = err::error_code_get_desc(err::kcommon_error_code, err::kdb_operate_error, "setSettingVal fail"); + receipt["ackcode"] = err::error_code_get_get_ecode(err::kce, err::kdb_operate_error); + receipt["ackcodeInfo"] = err::error_code_get_desc(err::kce, err::kdb_operate_error, "setSettingVal fail"); } return; } diff --git a/src/main_control_service.hpp b/src/main_control_service.hpp index d3ea35e..86a8d31 100644 --- a/src/main_control_service.hpp +++ b/src/main_control_service.hpp @@ -29,6 +29,7 @@ // #include "db/db_service.hpp" +#include "iflytop/components/zcanreceiver/zcanhost.hpp" #include "src/service/iflytop_can_host_device.hpp" /** @@ -55,6 +56,7 @@ class MainControlService : public enable_shared_from_this { shared_ptr m_dbService; shared_ptr m_deviceStateService; shared_ptr m_disinfectionCtrlService; + shared_ptr m_zcanhost; unique_ptr m_reportThread; diff --git a/src/service/front_end_service.cpp b/src/service/front_end_service.cpp deleted file mode 100644 index e69de29..0000000 diff --git a/src/service/front_end_service.hpp b/src/service/front_end_service.hpp deleted file mode 100644 index c2eb1c2..0000000 --- a/src/service/front_end_service.hpp +++ /dev/null @@ -1,41 +0,0 @@ -// -// Created by zwsd -// - -#pragma once -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "iflytop/core/spdlogfactory/logger.hpp" -#include "iflytop/core/thread/thread.hpp" - -/** - * @brief - * - * service: FrontEndService - * - * 监听事件: - * 依赖状态: - * 依赖服务: - * 作用: - * - */ - -namespace iflytop { -using namespace std; -using namespace core; -class FrontEndService : public enable_shared_from_this { - ENABLE_LOGGER(FrontEndService); - - public: - FrontEndService(){}; - void initialize(){}; -}; -} // namespace iflytop \ No newline at end of file