Explorar o código

feat: 添加机号ID和机号编码映射

wanggaokun hai 11 meses
pai
achega
cfb3702b6a

+ 17 - 0
als-common/common-core/src/main/java/org/eco/common/core/service/AircraftService.java

@@ -0,0 +1,17 @@
+package org.eco.common.core.service;
+
+/**
+ * @Description: AircraftService
+ * @Author: GaoKun Wang
+ * @Date: 2024/7/29
+ */
+public interface AircraftService {
+
+    /**
+     * 通过机号ID查询机号
+     *
+     * @param aircraftId 机号ID
+     * @return 机号
+     */
+    String selectAircraftNoById(Long aircraftId);
+}

+ 5 - 0
als-common/common-mapper/src/main/java/com/eco/common/mapper/constant/MapperConstant.java

@@ -31,4 +31,9 @@ public interface MapperConstant {
      * ossId转url
      */
     String OSS_ID_TO_URL = "oss_id_to_url";
+
+    /**
+     * aircraftId转aircraftNo
+     */
+    String AIRCRAFT_ID_TO_NO = "aircraft_id_to_no";
 }

+ 26 - 0
als-common/common-mapper/src/main/java/com/eco/common/mapper/core/impl/AircraftNoMapperImpl.java

@@ -0,0 +1,26 @@
+package com.eco.common.mapper.core.impl;
+
+import com.eco.common.mapper.annotation.FieldMapperType;
+import com.eco.common.mapper.constant.MapperConstant;
+import com.eco.common.mapper.core.FieldMapperInterface;
+import lombok.AllArgsConstructor;
+import org.eco.common.core.service.AircraftService;
+
+/**
+ * @Description: AircraftNoMapperImpl
+ * @Author: GaoKun Wang
+ * @Date: 2024/7/29
+ */
+@AllArgsConstructor
+@FieldMapperType(type = MapperConstant.AIRCRAFT_ID_TO_NO)
+public class AircraftNoMapperImpl implements FieldMapperInterface<String> {
+    private final AircraftService aircraftService;
+
+    @Override
+    public String fieldMapper(Object key, String other) {
+        if (key instanceof Long id) {
+            return aircraftService.selectAircraftNoById(id);
+        }
+        return null;
+    }
+}

+ 1 - 0
als-common/common-mapper/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

@@ -4,3 +4,4 @@ com.eco.common.mapper.core.impl.DictTypeMapperImpl
 com.eco.common.mapper.core.impl.NicknameMapperImpl
 com.eco.common.mapper.core.impl.OssUrlMapperImpl
 com.eco.common.mapper.core.impl.UserNameMapperImpl
+com.eco.common.mapper.core.impl.AircraftNoMapperImpl

+ 1 - 1
als-modules/agile-assurance/src/main/java/org/eco/als/domain/DataImport.java

@@ -47,7 +47,7 @@ public class DataImport extends BaseEntity {
     /**
      * 机号
      */
-    private String aircraftNo;
+    private Long aircraftId;
 
     /**
      * 飞行日期

+ 4 - 3
als-modules/agile-assurance/src/main/java/org/eco/als/domain/bo/DataImportBo.java

@@ -3,6 +3,7 @@ package org.eco.als.domain.bo;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.github.linpeilie.annotations.AutoMapper;
 import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import org.eco.als.domain.DataImport;
@@ -43,10 +44,10 @@ public class DataImportBo extends BaseEntity {
     private String sortieNo;
 
     /**
-     * 机号
+     * 机号Id
      */
-    @NotBlank(message = "机号不能为空")
-    private String aircraftNo;
+    @NotNull(message = "机号不能为空")
+    private Long aircraftId;
 
     /**
      * 飞行日期

+ 6 - 0
als-modules/agile-assurance/src/main/java/org/eco/als/domain/vo/DataImportVo.java

@@ -44,6 +44,11 @@ public class DataImportVo extends BaseEntity implements Serializable {
     @ExcelProperty(value = "文件编号")
     private Long ossId;
 
+    /**
+     * 机号Id
+     */
+    private Long aircraftId;
+
     /**
      * 数据源
      */
@@ -61,6 +66,7 @@ public class DataImportVo extends BaseEntity implements Serializable {
      * 机号
      */
     @ExcelProperty(value = "机号")
+    @FieldMapper(type = MapperConstant.AIRCRAFT_ID_TO_NO, mapper = "aircraftId")
     private String aircraftNo;
 
     /**

+ 7 - 1
als-modules/agile-assurance/src/main/java/org/eco/als/service/impl/AircraftServiceImpl.java

@@ -14,6 +14,7 @@ import org.eco.als.listener.AircraftImportListener;
 import org.eco.als.mapper.AircraftMapper;
 import org.eco.als.service.IAircraftService;
 import org.eco.common.core.core.domain.model.LoginUser;
+import org.eco.common.core.service.AircraftService;
 import org.eco.common.core.utils.MapstructUtils;
 import org.eco.common.core.utils.SpringUtils;
 import org.eco.common.core.utils.TreeBuildUtils;
@@ -39,7 +40,7 @@ import static org.eco.als.domain.table.AircraftTableDef.AIRCRAFT;
  */
 @Service
 @Slf4j
-public class AircraftServiceImpl extends BaseServiceImpl<AircraftMapper, Aircraft> implements IAircraftService {
+public class AircraftServiceImpl extends BaseServiceImpl<AircraftMapper, Aircraft> implements IAircraftService, AircraftService {
     @Resource
     private AircraftMapper aircraftMapper;
 
@@ -207,4 +208,9 @@ public class AircraftServiceImpl extends BaseServiceImpl<AircraftMapper, Aircraf
         return this.removeByIds(Arrays.asList(ids));
     }
 
+    @Override
+    public String selectAircraftNoById(Long aircraftId) {
+        AircraftVo aircraft = selectById(aircraftId);
+        return ObjectUtil.isNull(aircraft) ? null : aircraft.getName();
+    }
 }

+ 2 - 2
als-modules/agile-assurance/src/main/java/org/eco/als/service/impl/DataImportServiceImpl.java

@@ -61,8 +61,8 @@ public class DataImportServiceImpl extends BaseServiceImpl<DataImportMapper, Dat
             (dataImportBo.getSource()));
         queryWrapper.and(DATA_IMPORT.SORTIE_NO.eq
             (dataImportBo.getSortieNo()));
-        queryWrapper.and(DATA_IMPORT.AIRCRAFT_NO.eq
-            (dataImportBo.getAircraftNo()));
+        queryWrapper.and(DATA_IMPORT.AIRCRAFT_ID.eq
+            (dataImportBo.getAircraftId()));
         queryWrapper.and(DATA_IMPORT.FLIGHT_DATE.eq
             (dataImportBo.getFlightDate()));
         queryWrapper.and(DATA_IMPORT.STATUS.eq

+ 1 - 1
pom.xml

@@ -18,7 +18,7 @@
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
         <java.version>21</java.version>
         <spring-boot.version>3.2.5</spring-boot.version>
-        <mybatis-flex.version>1.9.3</mybatis-flex.version>
+        <mybatis-flex.version>1.9.4</mybatis-flex.version>
         <satoken.version>1.38.0</satoken.version>
         <maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
         <HikariCP.version>5.0.1</HikariCP.version>