tcp_util.cpp 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311
  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 sendAuthLogin(std::string clerkNfc) {
  14. Json::Value json;
  15. json["passNo"] = clerkNfc;
  16. json["operationData"] = "";
  17. // 发送tcp, tcp_type = AUTH, tcp_action = LOGIN
  18. TcpModel tcpModel;
  19. tcpModel.tid = base::format("t%d",TimeHelper::getCurrentTime());
  20. tcpModel.type = TcpType::AUTH;
  21. tcpModel.action = AuthAction::LOGIN;
  22. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  23. tcpModel.to_id = 0;
  24. tcpModel.json = json;
  25. sendTcpModel(tcpModel);
  26. }
  27. void sendAuthLogout(std::string authItId) {
  28. TcpModel tcpModel;
  29. tcpModel.tid = base::format("t%d",TimeHelper::getCurrentTime());
  30. tcpModel.type = TcpType::AUTH;
  31. tcpModel.action = AuthAction::LOGOUT;
  32. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  33. tcpModel.to_id = 0;
  34. tcpModel.data = authItId;
  35. sendTcpModel(tcpModel);
  36. }
  37. void sendSignIn(std::string clerkNfc) {
  38. Json::Value json;
  39. json["passNo"] = clerkNfc;
  40. json["operationData"] = "";
  41. // 发送tcp, tcp_type = AUTH, tcp_action = LOGIN
  42. TcpModel tcpModel;
  43. tcpModel.tid = base::format("t%d",TimeHelper::getCurrentTime());
  44. tcpModel.type = TcpType::SIGN_IN;
  45. tcpModel.action = SignInAction::SIGN_IN;
  46. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  47. tcpModel.to_id = 0;
  48. tcpModel.json = json;
  49. sendTcpModel(tcpModel);
  50. }
  51. void sendPostionStart(std::string clerkNfc) {
  52. Json::Value json;
  53. json["passNo"] = clerkNfc;
  54. json["operationData"] = "";
  55. TcpModel tcpModel;
  56. tcpModel.tid = base::format("t%d", TimeHelper::getCurrentTime());
  57. tcpModel.type = TcpType::POSITION;
  58. tcpModel.action = PositionAction::POSITION_START;
  59. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  60. tcpModel.to_id = 0;
  61. tcpModel.json = json;
  62. sendTcpModel(tcpModel);
  63. }
  64. void sendRoomCheckStart(std::string clerkNfc) {
  65. Json::Value json;
  66. json["passNo"] = clerkNfc;
  67. json["operationData"] = "";
  68. TcpModel tcpModel;
  69. tcpModel.tid = base::format("t%d", TimeHelper::getCurrentTime());
  70. tcpModel.type = TcpType::ROOMCHECK;
  71. tcpModel.action = RoomCheckAction::START;
  72. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  73. tcpModel.to_id = 0;
  74. tcpModel.json = json;
  75. sendTcpModel(tcpModel);
  76. }
  77. void sendNursing() {
  78. // 门灯控制
  79. std::string color = StoragePreferences::getString(STORE_NURSING_COLOR_RGB, "010");
  80. if (color != "" && color.size() == 3) {
  81. color = color + "F";
  82. } else {
  83. color = "010F";
  84. }
  85. lightControl("DOORLED", color);
  86. // 发送tcp, tcp_type = SIDE, tcp_action = NURSING
  87. TcpModel tcpModel;
  88. tcpModel.tid = base::format("t%d",TimeHelper::getCurrentTime());
  89. tcpModel.type = TcpType::SIDE;
  90. tcpModel.action = SideAction::NURSING;
  91. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  92. tcpModel.to_id = 0;
  93. sendTcpModel(tcpModel);
  94. }
  95. void sendNursingEnd() {
  96. // 发送tcp, tcp_type = SIDE, tcp_action = NURSING_END
  97. TcpModel tcpModel;
  98. tcpModel.tid = base::format("t%d", TimeHelper::getCurrentTime());
  99. tcpModel.type = TcpType::SIDE;
  100. tcpModel.action = SideAction::NURSING_END;
  101. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  102. tcpModel.to_id = 0;
  103. tcpModel.data = StoragePreferences::getString(STORE_NURSING_INTERACTION_ID, ""); // 获取nursingTcpModel里,id字段的数据
  104. sendTcpModel(tcpModel);
  105. }
  106. void sendReinforceCall() {
  107. TcpModel tcpModel;
  108. tcpModel.type = TcpType::REINFORCE;
  109. tcpModel.action = ReinforceAction::CALL;
  110. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  111. tcpModel.to_id = 0;
  112. sendTcpModel(tcpModel);
  113. }
  114. void sendBlueCodeCall() {
  115. TcpModel tcpModel;
  116. tcpModel.tid = base::format("t%d",TimeHelper::getCurrentTime());
  117. tcpModel.type = TcpType::BLUE_CODE;
  118. tcpModel.action = BlueCodeAction::CALL;
  119. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  120. tcpModel.to_id = 0;
  121. sendTcpModel(tcpModel);
  122. }
  123. void sendBlueCodeResponse(std::string tid, std::string blueCodeId) {
  124. TcpModel tcpModel;
  125. tcpModel.tid = tid;
  126. tcpModel.type = TcpType::BLUE_CODE;
  127. tcpModel.action = BlueCodeAction::RESPONSE;
  128. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  129. tcpModel.to_id = 0;
  130. tcpModel.data = blueCodeId;
  131. sendTcpModel(tcpModel);
  132. }
  133. void sendCallByDoor() {
  134. // 发送tcp, tcp_type = VOICE, tcp_action = CANCEL_BY_DOOR
  135. TcpModel tcpModel;
  136. tcpModel.tid = base::format("t%d",TimeHelper::getCurrentTime());
  137. tcpModel.type = TcpType::VOICE;
  138. tcpModel.action = VoiceAction::CANCEL_BY_DOOR;
  139. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  140. tcpModel.to_id = 0;
  141. sendTcpModel(tcpModel);
  142. }
  143. std::string sendVoiceCall(int toId) {
  144. TcpModel tcpModel;
  145. tcpModel.tid = base::format("t%d", TimeHelper::getCurrentTime());
  146. tcpModel.type = TcpType::VOICE;
  147. tcpModel.action = VoiceAction::CALL;
  148. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  149. tcpModel.to_id = toId;
  150. sendTcpModel(tcpModel);
  151. return tcpModel.tid;
  152. }
  153. std::string sendVoiceCall(Json::Value data) {
  154. TcpModel tcpModel;
  155. tcpModel.tid = base::format("t%d", TimeHelper::getCurrentTime());
  156. tcpModel.type = TcpType::VOICE;
  157. tcpModel.action = VoiceAction::CALL;
  158. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  159. tcpModel.json = data;
  160. tcpModel.to_id = 0;
  161. sendTcpModel(tcpModel);
  162. return tcpModel.tid;
  163. }
  164. void sendVoiceTcp(std::string action, TcpModel model, int toId){
  165. //发出TCP
  166. TcpModel tcpModel;
  167. tcpModel.tid = model.tid;
  168. tcpModel.type = TcpType::VOICE;
  169. tcpModel.action = action;
  170. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  171. tcpModel.to_id = toId;
  172. if (model.data!=""){
  173. tcpModel.data = model.data;
  174. } else if (model.json>0){
  175. tcpModel.json = model.json;
  176. }
  177. sendTcpModel(tcpModel);
  178. }
  179. void sendVoiceCancel(int fromId, int toId) {
  180. TcpModel tcpModel;
  181. tcpModel.type = TcpType::VOICE;
  182. tcpModel.action = VoiceAction::CANCEL;
  183. tcpModel.from_id = fromId;
  184. tcpModel.to_id = toId;
  185. sendTcpModel(tcpModel);
  186. }
  187. void sendVoiceCancel(int toId) {
  188. TcpModel tcpModel;
  189. tcpModel.type = TcpType::VOICE;
  190. tcpModel.action = VoiceAction::CANCEL;
  191. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  192. tcpModel.to_id = toId;
  193. sendTcpModel(tcpModel);
  194. }
  195. std::string sendVoiceHCall(int id) {
  196. Json::Value json;
  197. json["roleType"] = "NURSE";
  198. TcpModel tcpModel;
  199. tcpModel.tid = base::format("t%d",TimeHelper::getCurrentTime());
  200. tcpModel.type = TcpType::VOICE;
  201. tcpModel.action = VoiceAction::HCALL;
  202. tcpModel.from_id = id;
  203. tcpModel.to_id = 0;
  204. tcpModel.json = json;
  205. sendTcpModel(tcpModel);
  206. return tcpModel.tid;
  207. }
  208. void sendVoiceGainCall(std::string tid, Json::Value it) {
  209. TcpModel tcpModel;
  210. tcpModel.tid = tid;
  211. tcpModel.type = TcpType::VOICE;
  212. tcpModel.action = VoiceAction::GAIN_CALL;
  213. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  214. tcpModel.json = it;
  215. tcpModel.to_id = it["fromDeviceId"].asInt();
  216. sendTcpModel(tcpModel);
  217. }
  218. void sendSosCall(std::string sosMsg) {
  219. TcpModel tcpModel;
  220. tcpModel.tid = base::format("t%d", TimeHelper::getCurrentTime());
  221. tcpModel.type = TcpType::SOS;
  222. tcpModel.action = SosAction::CALL;
  223. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID, 0);
  224. tcpModel.to_id = 0;
  225. if (sosMsg != "") {
  226. Json::Value data;
  227. data["title"] = sosMsg;
  228. tcpModel.json = data;
  229. }
  230. sendTcpModel(tcpModel);
  231. }
  232. void sendSosCancel(std::string sosId) {
  233. TcpModel tcpModel;
  234. tcpModel.tid = base::format("t%d", TimeHelper::getCurrentTime());
  235. tcpModel.type = TcpType::SOS;
  236. tcpModel.action = SosAction::CANCEL;
  237. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID, 0);
  238. tcpModel.to_id = 0;
  239. tcpModel.data = sosId;
  240. sendTcpModel(tcpModel);
  241. }
  242. void sendDataRemindOhter(std::string msg) {
  243. TcpModel tcpModel;
  244. tcpModel.tid = base::format("t%d", TimeHelper::getCurrentTime());
  245. tcpModel.type = TcpType::DATA;
  246. tcpModel.action = DataAction::REMIND_OTHER;
  247. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID, 0);
  248. tcpModel.to_id = 0;
  249. tcpModel.data = msg;
  250. sendTcpModel(tcpModel);
  251. }