/* * tcp_util.cpp * * Created on: 2024年7月18日 * Author: m */ #include "tcp_model.h" #include "tcp_util.h" #include "json/json.h" #include #include "base/strings.hpp" #include "service/BusinessConfig.h" void sendAuthLogin(std::string clerkNfc) { Json::Value json; json["passNo"] = clerkNfc; json["operationData"] = ""; // 发送tcp, tcp_type = AUTH, tcp_action = LOGIN TcpModel tcpModel; tcpModel.tid = base::format("t%d",TimeHelper::getCurrentTime()); tcpModel.type = TcpType::AUTH; tcpModel.action = AuthAction::LOGIN; tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0); tcpModel.json = json; sendTcpModel(tcpModel); } void sendAuthLogout(std::string authItId) { TcpModel tcpModel; tcpModel.tid = base::format("t%d",TimeHelper::getCurrentTime()); tcpModel.type = TcpType::AUTH; tcpModel.action = AuthAction::LOGOUT; tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0); tcpModel.to_id = 0; tcpModel.data = authItId; sendTcpModel(tcpModel); } void sendSignIn(std::string clerkNfc) { Json::Value json; json["passNo"] = clerkNfc; json["operationData"] = ""; // 发送tcp, tcp_type = AUTH, tcp_action = LOGIN TcpModel tcpModel; tcpModel.tid = base::format("t%d",TimeHelper::getCurrentTime()); tcpModel.type = TcpType::SIGN_IN; tcpModel.action = SignInAction::SIGN_IN; tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0); tcpModel.json = json; sendTcpModel(tcpModel); } void sendPostionStart(std::string clerkNfc) { Json::Value json; json["passNo"] = clerkNfc; json["operationData"] = ""; TcpModel tcpModel; tcpModel.tid = base::format("t%d", TimeHelper::getCurrentTime()); tcpModel.type = TcpType::POSITION; tcpModel.action = PositionAction::POSITION_START; tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0); tcpModel.json = json; sendTcpModel(tcpModel); } void sendRoomCheckStart(std::string clerkNfc) { Json::Value json; json["passNo"] = clerkNfc; json["operationData"] = ""; TcpModel tcpModel; tcpModel.tid = base::format("t%d", TimeHelper::getCurrentTime()); tcpModel.type = TcpType::ROOMCHECK; tcpModel.action = RoomCheckAction::START; tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0); tcpModel.json = json; sendTcpModel(tcpModel); } void sendNursing() { // 门灯控制 std::string color = StoragePreferences::getString(STORE_NURSING_COLOR_RGB, "010"); if (color != "" && color.size() == 3) { color = color + "F"; } else { color = "010F"; } lightControl("DOORLED", color); // 发送tcp, tcp_type = SIDE, tcp_action = NURSING TcpModel tcpModel; tcpModel.tid = base::format("t%d",TimeHelper::getCurrentTime()); tcpModel.type = TcpType::SIDE; tcpModel.action = SideAction::NURSING; tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0); sendTcpModel(tcpModel); } void sendNursingEnd() { // 发送tcp, tcp_type = SIDE, tcp_action = NURSING_END TcpModel tcpModel; tcpModel.tid = base::format("t%d", TimeHelper::getCurrentTime()); tcpModel.type = TcpType::SIDE; tcpModel.action = SideAction::NURSING_END; tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0); tcpModel.data = StoragePreferences::getString(STORE_NURSING_INTERACTION_ID, ""); // 获取nursingTcpModel里,id字段的数据 sendTcpModel(tcpModel); } void sendReinforceCall() { TcpModel tcpModel; tcpModel.type = TcpType::REINFORCE; tcpModel.action = ReinforceAction::CALL; tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0); tcpModel.to_id = 0; sendTcpModel(tcpModel); } void sendCallByDoor() { // 发送tcp, tcp_type = VOICE, tcp_action = CANCEL_BY_DOOR TcpModel tcpModel; tcpModel.tid = base::format("t%d",TimeHelper::getCurrentTime()); tcpModel.type = TcpType::VOICE; tcpModel.action = VoiceAction::CANCEL_BY_DOOR; tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0); sendTcpModel(tcpModel); } std::string sendVoiceCall(int toId) { TcpModel tcpModel; tcpModel.tid = base::format("t%d", TimeHelper::getCurrentTime()); tcpModel.type = TcpType::VOICE; tcpModel.action = VoiceAction::CALL; tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0); tcpModel.to_id = toId; sendTcpModel(tcpModel); return tcpModel.tid; } std::string sendVoiceCall(Json::Value json) { TcpModel tcpModel; tcpModel.tid = base::format("t%d", TimeHelper::getCurrentTime()); tcpModel.type = TcpType::VOICE; tcpModel.action = VoiceAction::CALL; tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0); tcpModel.to_id = 0; tcpModel.json = json; sendTcpModel(tcpModel); return tcpModel.tid; } void sendVoiceTcp(std::string action, TcpModel model, int toId){ //发出TCP TcpModel tcpModel; tcpModel.tid = model.tid; tcpModel.type = TcpType::VOICE; tcpModel.action = action; tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0); tcpModel.to_id = toId; if (model.data!=""){ tcpModel.data = model.data; } else if (model.json>0){ tcpModel.json = model.json; } sendTcpModel(tcpModel); } void sendVoiceCancel(int fromId, int toId) { TcpModel tcpModel; tcpModel.type = TcpType::VOICE; tcpModel.action = VoiceAction::CANCEL; tcpModel.from_id = fromId; tcpModel.to_id = toId; sendTcpModel(tcpModel); } void sendVoiceCancel(int toId) { TcpModel tcpModel; tcpModel.type = TcpType::VOICE; tcpModel.action = VoiceAction::CANCEL; tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0); tcpModel.to_id = toId; sendTcpModel(tcpModel); } void sendVoiceGainCall(std::string tid, Json::Value it) { TcpModel tcpModel; tcpModel.tid = tid; tcpModel.type = TcpType::VOICE; tcpModel.action = VoiceAction::GAIN_CALL; tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0); tcpModel.json = it; tcpModel.to_id = it["fromDeviceId"].asInt(); sendTcpModel(tcpModel); } void sendSosCall(std::string sosMsg) { TcpModel tcpModel; tcpModel.tid = base::format("t%d", TimeHelper::getCurrentTime()); tcpModel.type = TcpType::SOS; tcpModel.action = SosAction::CALL; tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID, 0); if (sosMsg != "") { Json::Value data; data["title"] = sosMsg; tcpModel.json = data; } sendTcpModel(tcpModel); } void sendSosCancel(std::string sosId) { TcpModel tcpModel; tcpModel.tid = base::format("t%d", TimeHelper::getCurrentTime()); tcpModel.type = TcpType::SOS; tcpModel.action = SosAction::CANCEL; tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID, 0); tcpModel.data = sosId; sendTcpModel(tcpModel); } void sendDataRemindOhter(std::string msg) { TcpModel tcpModel; tcpModel.tid = base::format("t%d", TimeHelper::getCurrentTime()); tcpModel.type = TcpType::DATA; tcpModel.action = DataAction::REMIND_OTHER; tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID, 0); tcpModel.to_id = 0; tcpModel.data = msg; sendTcpModel(tcpModel); }