tcp_util.cpp 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259
  1. /*
  2. * tcp_util.cpp
  3. *
  4. * Created on: 2024年7月18日
  5. * Author: m
  6. */
  7. #include "tcp_model.h"
  8. #include "tcp_util.h"
  9. #include "json/json.h"
  10. #include <utils/TimeHelper.h>
  11. #include "base/strings.hpp"
  12. #include "service/BusinessConfig.h"
  13. void sendNursing() {
  14. // 发送tcp, tcp_type = SIDE, tcp_action = NURSING
  15. TcpModel tcpModel;
  16. tcpModel.tid = base::format("t%d",TimeHelper::getCurrentTime());
  17. tcpModel.type = TcpType::SIDE;
  18. tcpModel.action = SideAction::NURSING;
  19. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  20. tcpModel.to_id = 0;
  21. sendTcpModel(tcpModel);
  22. }
  23. void sendNursingEnd() {
  24. // 发送tcp, tcp_type = SIDE, tcp_action = NURSING_END
  25. TcpModel tcpModel;
  26. tcpModel.tid = base::format("t%d", TimeHelper::getCurrentTime());
  27. tcpModel.type = TcpType::SIDE;
  28. tcpModel.action = SideAction::NURSING_END;
  29. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  30. tcpModel.to_id = 0;
  31. tcpModel.data = StoragePreferences::getString(STORE_NURSING_INTERACTION_ID, ""); // 获取nursingTcpModel里,id字段的数据
  32. sendTcpModel(tcpModel);
  33. }
  34. void sendReinforceCall() {
  35. TcpModel tcpModel;
  36. tcpModel.type = TcpType::REINFORCE;
  37. tcpModel.action = ReinforceAction::CALL;
  38. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  39. tcpModel.to_id = 0;
  40. sendTcpModel(tcpModel);
  41. }
  42. std::string sendVoiceCall(Json::Value json, std::string tid) {
  43. TcpModel tcpModel;
  44. if (tid != "") {
  45. tcpModel.tid = tid;
  46. }
  47. else {
  48. tcpModel.tid = base::format("t%d", TimeHelper::getCurrentTime());
  49. }
  50. tcpModel.type = TcpType::VOICE;
  51. tcpModel.action = VoiceAction::CALL;
  52. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  53. tcpModel.to_id = 0;
  54. tcpModel.json = json;
  55. sendTcpModel(tcpModel);
  56. return tcpModel.tid;
  57. }
  58. std::string sendVoiceCall(Json::Value json) {
  59. return sendVoiceCall(json, "");
  60. }
  61. std::string sendVoiceCall(int toId) {
  62. TcpModel tcpModel;
  63. tcpModel.tid = base::format("t%d", TimeHelper::getCurrentTime());
  64. tcpModel.type = TcpType::VOICE;
  65. tcpModel.action = VoiceAction::CALL;
  66. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  67. tcpModel.to_id = toId;
  68. sendTcpModel(tcpModel);
  69. return tcpModel.tid;
  70. }
  71. void sendVoiceTcp(std::string action, TcpModel model, int toId){
  72. //发出TCP
  73. TcpModel tcpModel;
  74. tcpModel.tid = model.tid;
  75. tcpModel.type = TcpType::VOICE;
  76. tcpModel.action = action;
  77. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  78. tcpModel.to_id = toId;
  79. if (model.data != ""){
  80. tcpModel.data = model.data;
  81. } else if (model.json > 0){
  82. tcpModel.json = model.json;
  83. }
  84. sendTcpModel(tcpModel);
  85. }
  86. void sendVoiceCancel(int toId) {
  87. TcpModel tcpModel;
  88. tcpModel.type = TcpType::VOICE;
  89. tcpModel.action = VoiceAction::CANCEL;
  90. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  91. tcpModel.to_id = toId;
  92. sendTcpModel(tcpModel);
  93. }
  94. void sendVoiceCancelByDoor() {
  95. TcpModel tcpModel;
  96. tcpModel.tid = base::format("t%d",TimeHelper::getCurrentTime());
  97. tcpModel.type = TcpType::VOICE;
  98. tcpModel.action = VoiceAction::CANCEL_BY_DOOR;
  99. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  100. std::string req = getTcpModelString(tcpModel);
  101. sendTcpModel(tcpModel);
  102. }
  103. void sendSosCall(std::string sosMsg) {
  104. TcpModel tcpModel;
  105. tcpModel.tid = base::format("t%d", TimeHelper::getCurrentTime());
  106. tcpModel.type = TcpType::SOS;
  107. tcpModel.action = SosAction::CALL;
  108. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID, 0);
  109. tcpModel.to_id = 0;
  110. if (sosMsg != "") {
  111. Json::Value data;
  112. data["title"] = sosMsg;
  113. tcpModel.json = data;
  114. }
  115. sendTcpModel(tcpModel);
  116. }
  117. void sendSosCancel(std::string sosId) {
  118. TcpModel tcpModel;
  119. tcpModel.tid = base::format("t%d", TimeHelper::getCurrentTime());
  120. tcpModel.type = TcpType::SOS;
  121. tcpModel.action = SosAction::CANCEL;
  122. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID, 0);
  123. tcpModel.to_id = 0;
  124. tcpModel.data = sosId;
  125. sendTcpModel(tcpModel);
  126. }
  127. void sendSosRoomCall() {
  128. TcpModel tcpModel;
  129. tcpModel.tid = base::format("t%d", TimeHelper::getCurrentTime());
  130. tcpModel.type = TcpType::SOS;
  131. tcpModel.action = SosAction::ROOM_CALL;
  132. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID, 0);
  133. tcpModel.to_id = 0;
  134. sendTcpModel(tcpModel);
  135. }
  136. void sendPowerReset() {
  137. TcpModel tcpModel;
  138. tcpModel.type = TcpType::DEVICE;
  139. tcpModel.action = DeviceAction::POWER_RESET;
  140. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  141. tcpModel.to_id = 0;
  142. sendTcpModel(tcpModel);
  143. }
  144. void sendEventClick(Json::Value json) {
  145. TcpModel tcpModel;
  146. tcpModel.tid = base::format("t%d",TimeHelper::getCurrentTime());
  147. tcpModel.type = TcpType::EVENT;
  148. tcpModel.action = EventAction::KEY_CLICK;
  149. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  150. tcpModel.to_id = 0;
  151. tcpModel.json = json;
  152. sendTcpModel(tcpModel);
  153. }
  154. void sendEventCompleted(std::string event) {
  155. TcpModel tcpModel;
  156. tcpModel.type = TcpType::EVENT;
  157. tcpModel.action = EventAction::COMPLETED;
  158. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  159. tcpModel.to_id = 0;
  160. tcpModel.data = event;
  161. tcpModel.tid = base::format("t%d",TimeHelper::getCurrentTime());
  162. sendTcpModel(tcpModel);
  163. }
  164. void sendEventCancel(std::string event) {
  165. TcpModel tcpModel;
  166. tcpModel.type = TcpType::EVENT;
  167. tcpModel.action = EventAction::CANCEL;
  168. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  169. tcpModel.to_id = 0;
  170. tcpModel.data = event;
  171. tcpModel.tid = base::format("t%d",TimeHelper::getCurrentTime());
  172. sendTcpModel(tcpModel);
  173. }
  174. void sendConutdownStart(Json::Value json) {
  175. TcpModel tcpModel;
  176. tcpModel.tid = base::format("t%d", TimeHelper::getCurrentTime());
  177. tcpModel.type = TcpType::COUNTDOWN;
  178. tcpModel.action = CountdownAction::START;
  179. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  180. tcpModel.to_id = 0;
  181. tcpModel.json = json;
  182. sendTcpModel(tcpModel);
  183. }
  184. void sendCountdownEnd(std::string id) {
  185. TcpModel tcpModel;
  186. tcpModel.tid = base::format("t%d", TimeHelper::getCurrentTime());
  187. tcpModel.type = TcpType::COUNTDOWN;
  188. tcpModel.action = CountdownAction::END;
  189. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  190. tcpModel.to_id = 0;
  191. tcpModel.data = id;
  192. sendTcpModel(tcpModel);
  193. }
  194. void sendCountdownCancel(std::string id) {
  195. TcpModel tcpModel;
  196. tcpModel.tid = base::format("t%d", TimeHelper::getCurrentTime());
  197. tcpModel.type = TcpType::COUNTDOWN;
  198. tcpModel.action = CountdownAction::CANCEL;
  199. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  200. tcpModel.to_id = 0;
  201. tcpModel.data = id;
  202. sendTcpModel(tcpModel);
  203. }
  204. void sendDataRemindOhter(std::string msg) {
  205. TcpModel tcpModel;
  206. tcpModel.tid = base::format("t%d", TimeHelper::getCurrentTime());
  207. tcpModel.type = TcpType::DATA;
  208. tcpModel.action = DataAction::REMIND_OTHER;
  209. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID, 0);
  210. tcpModel.to_id = 0;
  211. tcpModel.data = msg;
  212. sendTcpModel(tcpModel);
  213. }