zhanghaijun лет назад: 2
Родитель
Сommit
d316d3fa0d

+ 25 - 0
train-server/src/main/java/top/haijunit/train/config/properties/TrainProperties.java

@@ -0,0 +1,25 @@
+package top.haijunit.train.config.properties;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.PropertySource;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @author zhanghaijun
+ * @version 1.0
+ * @date 2023/11/11 13:31
+ * @description [一句话描述该类的功能]
+ */
+@Data
+@Configuration
+@Component
+@ConfigurationProperties(prefix = "train")
+@PropertySource(value = "classpath:train.yml")
+public class TrainProperties {
+
+    private List<String> routes;
+}

+ 30 - 0
train-server/src/main/java/top/haijunit/train/controller/TrainController.java

@@ -0,0 +1,30 @@
+package top.haijunit.train.controller;
+
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import top.haijunit.common.domain.ResultData;
+import top.haijunit.train.domain.entity.SignEntity;
+import top.haijunit.train.service.TrainService;
+
+import java.util.List;
+
+/**
+ * @author zhanghaijun
+ * @date 2023/11/11 13:47
+ * @description [一句话描述该类的功能]
+ */
+@Slf4j
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/train")
+public class TrainController {
+    private final TrainService trainService;
+
+    @GetMapping("")
+    public ResultData<List<SignEntity>> getSignAll() {
+        return ResultData.success(trainService.getSignAll());
+    }
+}

+ 1 - 1
train-server/src/main/java/top/haijunit/train/domain/constant/DirectionEnum.java

@@ -16,7 +16,7 @@ import java.util.Objects;
 @Getter
 @AllArgsConstructor
 public enum DirectionEnum {
-    top("top", "上行,从右向左"),
+    top("up", "上行,从右向左"),
     down("down", "下行,从左向右");
 
     @JsonValue

+ 2 - 1
train-server/src/main/java/top/haijunit/train/mapper/SignMapper.java

@@ -1,6 +1,6 @@
 package top.haijunit.train.mapper;
 
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import top.haijunit.mybatis.mapper.BaseMapper;
 import top.haijunit.train.domain.entity.SignEntity;
 
 /**
@@ -9,4 +9,5 @@ import top.haijunit.train.domain.entity.SignEntity;
  * @description 轨道中的点位 数据库操作
  */
 public interface SignMapper extends BaseMapper<SignEntity> {
+
 }

+ 36 - 0
train-server/src/main/java/top/haijunit/train/service/TrainService.java

@@ -0,0 +1,36 @@
+package top.haijunit.train.service;
+
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+import top.haijunit.train.config.properties.TrainProperties;
+import top.haijunit.train.domain.entity.SignEntity;
+import top.haijunit.train.mapper.SignMapper;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author zhanghaijun
+ * @date 2023/11/11 13:40
+ * @description 列车行驶业务处理
+ */
+@Service
+@RequiredArgsConstructor
+public class TrainService {
+
+    private final TrainProperties trainProperties;
+    private final SignMapper signMapper;
+
+    public List<SignEntity> getSignAll() {
+        List<String> routeList = trainProperties.getRoutes();
+        if(CollUtil.isEmpty(routeList)){
+            return new ArrayList<>();
+        }
+        LambdaQueryWrapper<SignEntity> wrapper = new LambdaQueryWrapper<>();
+        wrapper.in(SignEntity::getCode, routeList);
+        return signMapper.selectList(wrapper);
+    }
+
+}

+ 24 - 0
train-server/src/main/resources/db/changelog/db-server-train.xml

@@ -27,5 +27,29 @@
         </createTable>
     </changeSet>
 
+    <changeSet id="load-sign-data11" author="zhanghaijun" failOnError="false" runOnChange="true">
+        <sql splitStatements="true" stripComments="true">
+            delete from db_sign;
+        </sql>
+        <loadUpdateData catalogName="${catalog.name}"
+                        schemaName="${schema.name}"
+                        tableName = "db_sign"
+                        file="db_sign.txt"
+                        relativeToChangelogFile="true"
+                        primaryKey="code"
+                        quotchar="'"
+                        separator=","
+                        encoding="UTF-8">
+            <column name = "station_code" type="STRING" />
+            <column name = "station_name" type="STRING" />
+            <column name = "code" type="STRING" />
+            <column name = "name" type="STRING" />
+            <column name = "kilometer" type="NUMERIC" />
+            <column name = "direction" type="STRING" />
+            <column name = "sign_type" type="STRING" />
+            <column name = "selection_name" type="STRING" />
+        </loadUpdateData>
+    </changeSet>
+
 </databaseChangeLog>
 

+ 6 - 0
train-server/src/main/resources/db/changelog/db_sign.txt

@@ -0,0 +1,6 @@
+station_code,station_name,code,name,kilometer,direction,sign_type,sign_status,selection_name
+T001,A站,S1001,S1001,0,up,MachineSign,disable,QS1001
+T001,A站,S1002,S1002,100,up,MachineSign,disable,QS1002
+T001,A站,S1003,S1003,200,up,MachineSign,disable,QS1003
+T001,A站,S1004,S1004,300,up,MachineSign,disable,QS1004
+T001,A站,S1005,S1005,400,up,MachineSign,disable,QS1005

+ 7 - 0
train-server/src/main/resources/train.yml

@@ -0,0 +1,7 @@
+train:
+  routes:
+    - S1001
+    - S1002
+    - S1003
+    - S1004
+    - S1005