/* * @file * module_call_help.h * * @brief * 呼救业务模块 * * @version * V1.0 * * @author * @date * @note * @warning * @bug * @copyright * * */ #ifndef MODULE_CALL_HELP_H #define MODULE_CALL_HELP_H #include "module_singleton_base.h" #include "card.h" #include "websocket/sio/sio_client.h" /** * @brief 呼救类 * 把呼救消息保存到数据库,同时推送给web, 单例 */ class module_call_help : public singleton_base { private: friend class singleton_base; module_call_help() { } public: /** * @brief //1.如果已经有呼救告警 //2.web取消告警。status_help && status_help_cancel 置为status_help_dealed //3.如果底层已经没有呼救则,取消后,不会再次进行呼救。因为status_help已经不会置为status_error。 //4.如果底层还在呼救。这时候不管status_help是何种状态,极大的可能是error.status_help_cancel的存在都会取消。 //并且还要保证等待线程把json传送到前端 */ void rev_from_card_help(std::shared_ptr card_ptr); /** * @brief 接收到web端发来的处理呼救请求 * @param data_map */ void accept_web_deal_help(sio::message::ptr const& data); static std::string get_json_help(); }; #endif