4 次代码提交 5fbffa8f00 ... abe2d1ec88

作者 SHA1 备注 提交日期
  liweimin abe2d1ec88 1、前端页面 2 周之前
  liweimin 784a0532f0 1、调试宝终端功能菜单权限sql 2 周之前
  liweimin f313591db7 1、增加报税口的上行/下行测试报文 2 周之前
  liweimin 03409598e3 1、构建通用的Web端->后端消息->设备MQTT,双向json通信 2 周之前
共有 27 个文件被更改,包括 1496 次插入130 次删除
  1. 41 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/device/TsbWebSocketController.java
  2. 23 0
      ruoyi-device/src/main/java/com/ruoyi/device/mqtt/annotation/JsonCmdDownHandler.java
  3. 0 27
      ruoyi-device/src/main/java/com/ruoyi/device/mqtt/annotation/JsonCmdHandler.java
  4. 23 0
      ruoyi-device/src/main/java/com/ruoyi/device/mqtt/annotation/JsonCmdUpHandler.java
  5. 98 0
      ruoyi-device/src/main/java/com/ruoyi/device/mqtt/handler/JsonCmdHandlerManager.java
  6. 2 2
      ruoyi-device/src/main/java/com/ruoyi/device/mqtt/handler/decoder/json/IJsonCmdUpHandler.java
  7. 3 2
      ruoyi-device/src/main/java/com/ruoyi/device/mqtt/handler/decoder/json/JsonBodyDecoder.java
  8. 0 65
      ruoyi-device/src/main/java/com/ruoyi/device/mqtt/handler/decoder/json/JsonCmdHandlerManager.java
  9. 4 4
      ruoyi-device/src/main/java/com/ruoyi/device/mqtt/handler/decoder/json/service/DeviceLoginService.java
  10. 4 4
      ruoyi-device/src/main/java/com/ruoyi/device/mqtt/handler/decoder/json/service/DevicePtService.java
  11. 26 7
      ruoyi-device/src/main/java/com/ruoyi/device/mqtt/handler/decoder/json/service/TaxDataUpService.java
  12. 21 0
      ruoyi-device/src/main/java/com/ruoyi/device/mqtt/handler/encoder/json/IJsonCmdDownHandler.java
  13. 39 0
      ruoyi-device/src/main/java/com/ruoyi/device/mqtt/handler/encoder/json/service/TaxDataDownService.java
  14. 20 8
      ruoyi-device/src/main/java/com/ruoyi/device/websocket/TsbWebSocketService.java
  15. 25 3
      ruoyi-device/src/test/java/com/ruoyi/device/EncoderDecoderTest.java
  16. 9 0
      ruoyi-ui/src/api/tsb/ws.js
  17. 7 0
      ruoyi-ui/src/permission.js
  18. 3 1
      ruoyi-ui/src/store/index.js
  19. 32 0
      ruoyi-ui/src/store/modules/tsb.js
  20. 4 0
      ruoyi-ui/src/store/modules/user.js
  21. 13 0
      ruoyi-ui/src/utils/tsbCmdRoute.js
  22. 290 0
      ruoyi-ui/src/utils/tsbWebSocket.js
  23. 234 0
      ruoyi-ui/src/utils/tsbWebSocketTab.js
  24. 71 0
      ruoyi-ui/src/utils/tsbWsRouter.js
  25. 389 0
      ruoyi-ui/src/views/app-common/tax/index.vue
  26. 25 7
      ruoyi-ui/vue.config.js
  27. 90 0
      sql/tsb_3.0.sql

+ 41 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/device/TsbWebSocketController.java

@@ -0,0 +1,41 @@
+package com.ruoyi.web.controller.device;
+
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.device.domain.model.TsbUserDeviceBind;
+import com.ruoyi.device.mapper.TsbUserDeviceMapper;
+import jakarta.annotation.Resource;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 调试宝 WebSocket连接 辅助接口
+ * 测试是否可以连接
+ *
+ * @author lwm
+ */
+@RestController
+@RequestMapping("/tsb/ws")
+public class TsbWebSocketController extends BaseController
+{
+    @Resource
+    private TsbUserDeviceMapper tsbUserDeviceMapper;
+
+    /**
+     * 当前登录用户的设备绑定信息(建立 WebSocket 前校验)
+     */
+    @GetMapping("/bind")
+    public AjaxResult bindInfo()
+    {
+        Long userId = SecurityUtils.getUserId();
+        TsbUserDeviceBind bind = tsbUserDeviceMapper.selectBindByUserId(userId);
+        if (bind == null || bind.getDeviceSn() == null || StringUtils.isEmpty(bind.getDeviceType()))
+        {
+            return error("当前用户未绑定调试宝设备,无法建立实时连接");
+        }
+        return success(bind);
+    }
+}

+ 23 - 0
ruoyi-device/src/main/java/com/ruoyi/device/mqtt/annotation/JsonCmdDownHandler.java

@@ -0,0 +1,23 @@