Переглянути джерело

添加 socket交互的数据格式

zhanghaijun 2 роки тому
батько
коміт
f1ed77381e

+ 6 - 7
train-server/src/main/java/top/haijunit/train/controller/DemoController.java

@@ -3,12 +3,11 @@ package top.haijunit.train.controller;
 import lombok.RequiredArgsConstructor;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.servlet.ModelAndView;
 import top.haijunit.common.domain.ResultData;
-import top.haijunit.train.domain.entity.UserEntity;
-import top.haijunit.train.domain.repository.UserRepository;
+import top.haijunit.train.domain.entity.DeviceEntity;
+import top.haijunit.train.domain.repository.DeviceRepository;
 
 import java.util.List;
 
@@ -22,7 +21,7 @@ import java.util.List;
 @RequiredArgsConstructor
 public class DemoController {
 
-    private final UserRepository userRepository;
+    private final DeviceRepository deviceRepository;
 
     @GetMapping("")
     public ResultData<String> demo() {
@@ -34,8 +33,8 @@ public class DemoController {
         return new ModelAndView("webSocket");
     }
 
-    @GetMapping("/user")
-    public ResultData<List<UserEntity>> userList() {
-        return ResultData.success(userRepository.findAll());
+    @GetMapping("/device")
+    public ResultData<List<DeviceEntity>> userList() {
+        return ResultData.success(deviceRepository.findAll());
     }
 }

+ 34 - 0
train-server/src/main/java/top/haijunit/train/domain/entity/DeviceEntity.java

@@ -0,0 +1,34 @@
+package top.haijunit.train.domain.entity;
+
+import jakarta.persistence.*;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author zhanghaijun
+ * @date 2023/11/24 17:50
+ * @description [一句话描述该类的功能]
+ */
+@Data
+@Entity(name = "db_device")
+public class DeviceEntity implements Serializable {
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    private Long id;
+
+    /** 资源类型 */
+    @Column(name = "device_type", nullable = false, unique = true)
+    private String deviceType;
+
+    /** 标识编码 */
+    @Column(nullable = false, unique = true)
+    private String code;
+
+    /** 状态 */
+    @Column(nullable = false, unique = true)
+    private String status;
+
+
+}

+ 0 - 33
train-server/src/main/java/top/haijunit/train/domain/entity/UserEntity.java

@@ -1,33 +0,0 @@
-package top.haijunit.train.domain.entity;
-
-import jakarta.persistence.*;
-import lombok.Data;
-
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * @author zhanghaijun
- * @date 2023/11/24 11:34
- * @description [一句话描述该类的功能]
- */
-@Data
-@Entity(name = "t_user")
-public class UserEntity implements Serializable {
-
-    @Id
-    @GeneratedValue(strategy = GenerationType.IDENTITY)
-    private Long id;
-
-    @Column(nullable = false, unique = true)
-    private String username;
-
-    @Column(nullable = false)
-    private String phone;
-
-    @Column(name = "create_time", nullable = false)
-    private Date createTime;
-
-    @Column(nullable = false)
-    private Integer status;
-}

+ 18 - 0
train-server/src/main/java/top/haijunit/train/domain/repository/DeviceRepository.java

@@ -0,0 +1,18 @@
+package top.haijunit.train.domain.repository;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+import top.haijunit.train.domain.entity.DeviceEntity;
+
+import java.util.List;
+
+/**
+ * @author zhanghaijun
+ * @date 2023/11/24 11:36
+ * @description [一句话描述该类的功能]
+ */
+@Repository
+public interface DeviceRepository extends JpaRepository<DeviceEntity, Long> {
+
+    List<DeviceEntity> findByDeviceType(String deviceType);
+}

+ 0 - 13
train-server/src/main/java/top/haijunit/train/domain/repository/UserRepository.java

@@ -1,13 +0,0 @@
-package top.haijunit.train.domain.repository;
-
-import org.springframework.data.jpa.repository.JpaRepository;
-import top.haijunit.train.domain.entity.UserEntity;
-
-/**
- * @author zhanghaijun
- * @date 2023/11/24 11:36
- * @description [一句话描述该类的功能]
- */
-public interface UserRepository extends JpaRepository<UserEntity, Long> {
-
-}

+ 1 - 1
train-server/src/main/java/top/haijunit/train/socket/MessageBase.java

@@ -5,6 +5,6 @@ package top.haijunit.train.socket;
  * @date 2023/11/24 00:12
  * @description [一句话描述该类的功能]
  */
-public abstract class MessageBase {
+public abstract class SocketBase {
 
 }

+ 43 - 0
train-server/src/main/java/top/haijunit/train/socket/SocketGateMachine.java

@@ -0,0 +1,43 @@
+package top.haijunit.train.socket;
+
+import com.fasterxml.jackson.annotation.JsonValue;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.Getter;
+
+/**
+ * @author zhanghaijun
+ * @date 2023/11/24 18:15
+ * @description AFC设备
+ */
+@Data
+@AllArgsConstructor
+public class SocketGateMachine {
+
+    // 闸机编号
+    private final String gateMachineNo;
+    // 闸机状态
+    private final StateEnum state;
+    // 闸机方向状态
+    private final DirectionEnum direction;
+
+    @Getter
+    @AllArgsConstructor
+    enum StateEnum {
+        CLOSE(0, "关闭"), OPEN(1, "开启"), PAUSE(2, "暂停服务"), FAULT(3, "故障");
+
+        @JsonValue
+        private final int code;
+        private final String describe;
+    }
+
+    @Getter
+    @AllArgsConstructor
+    enum DirectionEnum {
+        IN(0, "进站"), OUT(1, "出站");
+
+        @JsonValue
+        private final int code;
+        private final String describe;
+    }
+}

+ 16 - 0
train-server/src/main/java/top/haijunit/train/socket/SocketPlatform.java

@@ -0,0 +1,16 @@
+package top.haijunit.train.socket;
+
+import lombok.Data;
+
+/**
+ * @author zhanghaijun
+ * @date 2023/11/24 18:12
+ * @description [一句话描述该类的功能]
+ */
+@Data
+public class SocketPlatform {
+
+    private String platformNo;    // 站台编号	string
+    private int direction;    // 运行方向	int	1下行2上行
+    private int isPressed;    // 按下/弹起指令	int	0弹起/复位/1按下
+}

+ 5 - 5
train-server/src/main/java/top/haijunit/train/socket/Train.java

@@ -8,13 +8,13 @@ import lombok.Data;
  * @description [一句话描述该类的功能]
  */
 @Data
-public class Train {
+public class SocketTrain {
     private String trainNo;    // 列车编号	string
     private String blockNo;    // 当前区段号	string
-    private String offset;    // 偏移	float
-    private String direction;    // 运行方向	int	1下行2上行
-    private String speed;    // 运行速度	float
-    private String acceleration;    // 运行加速度	float
+    private float offset;    // 偏移	float
+    private int direction;    // 运行方向	int	1下行2上行
+    private float speed;    // 运行速度	float
+    private float acceleration;    // 运行加速度	float
 
     // private String platformNo;    // 站台编号	string
     // private String direction;    // 运行方向	int	1下行2上行