tcp_util.cpp 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  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.json = json;
  24. sendTcpModel(tcpModel);
  25. }
  26. void sendAuthLogout(std::string authItId) {
  27. TcpModel tcpModel;
  28. tcpModel.tid = base::format("t%d",TimeHelper::getCurrentTime());
  29. tcpModel.type = TcpType::AUTH;
  30. tcpModel.action = AuthAction::LOGOUT;
  31. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  32. tcpModel.to_id = 0;
  33. tcpModel.data = authItId;
  34. sendTcpModel(tcpModel);
  35. }
  36. void sendSignIn(std::string clerkNfc) {
  37. Json::Value json;
  38. json["passNo"] = clerkNfc;
  39. json["operationData"] = "";
  40. // 发送tcp, tcp_type = AUTH, tcp_action = LOGIN
  41. TcpModel tcpModel;
  42. tcpModel.tid = base::format("t%d",TimeHelper::getCurrentTime());
  43. tcpModel.type = TcpType::SIGN_IN;
  44. tcpModel.action = SignInAction::SIGN_IN;
  45. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  46. tcpModel.json = json;
  47. sendTcpModel(tcpModel);
  48. }
  49. void sendPostionStart(std::string clerkNfc) {
  50. Json::Value json;
  51. json["passNo"] = clerkNfc;
  52. json["operationData"] = "";
  53. TcpModel tcpModel;
  54. tcpModel.tid = base::format("t%d", TimeHelper::getCurrentTime());
  55. tcpModel.type = TcpType::POSITION;
  56. tcpModel.action = PositionAction::POSITION_START;
  57. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  58. tcpModel.json = json;
  59. sendTcpModel(tcpModel);
  60. }
  61. void sendRoomCheckStart(std::string clerkNfc) {
  62. Json::Value json;
  63. json["passNo"] = clerkNfc;
  64. json["operationData"] = "";
  65. TcpModel tcpModel;
  66. tcpModel.tid = base::format("t%d", TimeHelper::getCurrentTime());
  67. tcpModel.type = TcpType::ROOMCHECK;
  68. tcpModel.action = RoomCheckAction::START;
  69. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  70. tcpModel.json = json;
  71. sendTcpModel(tcpModel);
  72. }
  73. void sendNursing() {
  74. // 门灯控制
  75. std::string color = StoragePreferences::getString(STORE_NURSING_COLOR_RGB, "010");
  76. if (color != "" && color.size() == 3) {
  77. color = color + "F";
  78. } else {
  79. color = "010F";
  80. }
  81. lightControl("DOORLED", color);
  82. // 发送tcp, tcp_type = SIDE, tcp_action = NURSING
  83. TcpModel tcpModel;
  84. tcpModel.tid = base::format("t%d",TimeHelper::getCurrentTime());
  85. tcpModel.type = TcpType::SIDE;
  86. tcpModel.action = SideAction::NURSING;
  87. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  88. sendTcpModel(tcpModel);
  89. }
  90. void sendNursingEnd() {
  91. // 发送tcp, tcp_type = SIDE, tcp_action = NURSING_END
  92. TcpModel tcpModel;
  93. tcpModel.tid = base::format("t%d", TimeHelper::getCurrentTime());
  94. tcpModel.type = TcpType::SIDE;
  95. tcpModel.action = SideAction::NURSING_END;
  96. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  97. tcpModel.data = StoragePreferences::getString(STORE_NURSING_INTERACTION_ID, ""); // 获取nursingTcpModel里,id字段的数据
  98. sendTcpModel(tcpModel);
  99. }
  100. void sendReinforceCall() {
  101. TcpModel tcpModel;
  102. tcpModel.type = TcpType::REINFORCE;
  103. tcpModel.action = ReinforceAction::CALL;
  104. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  105. tcpModel.to_id = 0;
  106. sendTcpModel(tcpModel);
  107. }
  108. void sendCallByDoor() {
  109. // 发送tcp, tcp_type = VOICE, tcp_action = CANCEL_BY_DOOR
  110. TcpModel tcpModel;
  111. tcpModel.tid = base::format("t%d",TimeHelper::getCurrentTime());
  112. tcpModel.type = TcpType::VOICE;
  113. tcpModel.action = VoiceAction::CANCEL_BY_DOOR;
  114. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  115. sendTcpModel(tcpModel);
  116. }
  117. void sendBlueCodeCall() {
  118. TcpModel tcpModel;
  119. tcpModel.tid = base::format("t%d",TimeHelper::getCurrentTime());
  120. tcpModel.type = TcpType::BLUE_CODE;
  121. tcpModel.action = BlueCodeAction::CALL;
  122. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  123. sendTcpModel(tcpModel);
  124. }
  125. void sendBlueCodeResponse(std::string tid, std::string blueCodeId) {
  126. TcpModel tcpModel;
  127. tcpModel.tid = tid;
  128. tcpModel.type = TcpType::BLUE_CODE;
  129. tcpModel.action = BlueCodeAction::RESPONSE;
  130. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  131. tcpModel.data = blueCodeId;
  132. sendTcpModel(tcpModel);
  133. }
  134. std::string sendVoiceCall(int toId) {
  135. TcpModel tcpModel;
  136. tcpModel.tid = base::format("t%d", TimeHelper::getCurrentTime());
  137. tcpModel.type = TcpType::VOICE;
  138. tcpModel.action = VoiceAction::CALL;
  139. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  140. tcpModel.to_id = toId;
  141. sendTcpModel(tcpModel);
  142. return tcpModel.tid;
  143. }
  144. void sendVoiceTcp(std::string action, TcpModel model, int toId){
  145. //发出TCP
  146. TcpModel tcpModel;
  147. tcpModel.tid = model.tid;
  148. tcpModel.type = TcpType::VOICE;
  149. tcpModel.action = action;
  150. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID,0);
  151. tcpModel.to_id = toId;
  152. if (model.data!=""){
  153. tcpModel.data = model.data;
  154. } else if (model.json>0){
  155. tcpModel.json = model.json;
  156. }
  157. sendTcpModel(tcpModel);
  158. }
  159. void sendVoiceCancel(int fromId, int toId) {
  160. TcpModel tcpModel;
  161. tcpModel.type = TcpType::VOICE;
  162. tcpModel.action = VoiceAction::CANCEL;
  163. tcpModel.from_id = fromId;
  164. tcpModel.to_id = toId;
  165. sendTcpModel(tcpModel);
  166. }
  167. std::string sendVoiceHCall(int id) {
  168. Json::Value json;
  169. json["roleType"] = "NURSE";
  170. TcpModel tcpModel;
  171. tcpModel.tid = base::format("t%d",TimeHelper::getCurrentTime());
  172. tcpModel.type = TcpType::VOICE;
  173. tcpModel.action = VoiceAction::HCALL;
  174. tcpModel.from_id = id;
  175. tcpModel.json = json;
  176. sendTcpModel(tcpModel);
  177. return tcpModel.tid;
  178. }
  179. void sendSosCall(std::string sosMsg) {
  180. TcpModel tcpModel;
  181. tcpModel.tid = base::format("t%d", TimeHelper::getCurrentTime());
  182. tcpModel.type = TcpType::SOS;
  183. tcpModel.action = SosAction::CALL;
  184. tcpModel.from_id = StoragePreferences::getInt(STORE_DEVICE_ID, 0);
  185. if (sosMsg != "") {
  186. Json::Value data;
  187. data["title"] = sosMsg;
  188. tcpModel.json = data;
  189. }
  190. sendTcpModel(tcpModel);
  191. }