Browse Source

解析获取的参数数据

wanggaokun 1 year ago
parent
commit
0e96eb4343

+ 9 - 10
PHM-admin/phm-manage/src/main/java/com/phm/manage/controller/ModelApiController.java

@@ -1,9 +1,5 @@
 package com.phm.manage.controller;
 
-import java.util.HashMap;
-import java.util.Map;
-
-import com.phm.manage.service.IModelService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -12,11 +8,10 @@ import org.springframework.web.bind.annotation.RestController;
 import com.phm.common.annotation.Anonymous;
 import com.phm.common.core.controller.BaseController;
 import com.phm.manage.domain.common.CommonResult;
-import com.phm.manage.util.HttpClientUtils;
-import com.phm.manage.util.JsonUtils;
+import com.phm.manage.domain.dto.ModelRequest;
+import com.phm.manage.service.IModelService;
 
-import cn.hutool.json.JSONObject;
-import cn.hutool.json.JSONUtil;
+import cn.hutool.core.util.ObjectUtil;
 
 /**
  * @Description ApiController 模型算法调用API
@@ -29,8 +24,12 @@ import cn.hutool.json.JSONUtil;
 public class ModelApiController extends BaseController {
     @Autowired
     private IModelService modelService;
+
     @PostMapping("/execute")
-    public CommonResult<String> executeModel(Long modelId) {
-        return CommonResult.success(modelService.executeModel(modelId));
+    public CommonResult<String> executeModel(ModelRequest modelRequest) {
+        if (ObjectUtil.isEmpty(modelRequest)) {
+            return CommonResult.error("模型参数,不能为空");
+        }
+        return CommonResult.success(modelService.executeModel(modelRequest));
     }
 }

+ 5 - 13
PHM-admin/phm-manage/src/main/java/com/phm/manage/domain/SortieParameter.java

@@ -7,7 +7,7 @@ import com.phm.common.core.domain.BaseEntity;
 
 import lombok.Data;
 import lombok.EqualsAndHashCode;
-import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
 
 /**
  * @Description 模型参数信息对象 PHM_SORTIE_PARAMETER
@@ -16,18 +16,10 @@ import lombok.NoArgsConstructor;
  */
 @EqualsAndHashCode(callSuper = true)
 @Data
+@Accessors(chain = true)
 public class SortieParameter extends BaseEntity {
     private static final long serialVersionUID = 1L;
 
-    public SortieParameter() {
-    }
-
-    public SortieParameter(String sortieNo, String parameterName, String dataPath) {
-        this.sortieNo = sortieNo;
-        this.parameterName = parameterName;
-        this.dataPath = dataPath;
-    }
-
     /** 唯一ID */
     @JsonSerialize(using = ToStringSerializer.class)
     private Long id;
@@ -36,9 +28,9 @@ public class SortieParameter extends BaseEntity {
     @Excel(name = "架次编号")
     private String sortieNo;
 
-    /** 参数名称 */
-    @Excel(name = "参数名称")
-    private String parameterName;
+    /** 批次号 */
+    @Excel(name = "批次号")
+    private String batchNo;
 
     /** 参数数据路径 */
     @Excel(name = "参数数据路径")

+ 22 - 0
PHM-admin/phm-manage/src/main/java/com/phm/manage/domain/dto/ModelRequest.java

@@ -0,0 +1,22 @@
+package com.phm.manage.domain.dto;
+
+import lombok.Data;
+
+/**
+ * @Description modelRequest
+ * @Author WGK
+ * @Date 2023/11/22 16:56
+ */
+@Data
+public class ModelRequest {
+
+    // 模型ID
+    private long modelId;
+
+    // 架次号
+    private String sortieNo;
+
+    // 批次号
+    private String batchNo;
+
+}

+ 8 - 1
PHM-admin/phm-manage/src/main/java/com/phm/manage/service/IModelService.java

@@ -3,6 +3,7 @@ package com.phm.manage.service;
 import java.util.List;
 
 import com.phm.manage.domain.ModelInfo;
+import com.phm.manage.domain.dto.ModelRequest;
 
 /**
  * 深度隔离模型Service接口
@@ -59,5 +60,11 @@ public interface IModelService {
      */
     int deleteModelInfoById(Long id);
 
-    String executeModel(Long id);
+    /**
+     * 执行模型
+     *
+     * @param modelRequest 模型参数类
+     * @return 结果
+     */
+    String executeModel(ModelRequest modelRequest);
 }

+ 18 - 16
PHM-admin/phm-manage/src/main/java/com/phm/manage/service/impl/ModelServiceImpl.java

@@ -5,20 +5,21 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import cn.hutool.json.JSONObject;
-import cn.hutool.json.JSONUtil;
-import com.phm.common.config.PHMConfig;
-import com.phm.common.utils.file.FileUploadUtils;
-import com.phm.manage.util.CsvUtils;
-import com.phm.manage.util.HttpClientUtils;
-import com.phm.manage.util.JsonUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import com.phm.common.config.PHMConfig;
+import com.phm.common.utils.file.FileUploadUtils;
 import com.phm.manage.domain.ModelInfo;
+import com.phm.manage.domain.dto.ModelRequest;
 import com.phm.manage.mapper.ModelInfoMapper;
 import com.phm.manage.service.IModelService;
-import org.springframework.web.multipart.commons.CommonsMultipartFile;
+import com.phm.manage.util.CsvUtils;
+import com.phm.manage.util.HttpClientUtils;
+import com.phm.manage.util.SnowFlakeIdGenerator;
+
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
 
 /**
  * 深度隔离模型Service业务层处理
@@ -31,6 +32,8 @@ public class ModelServiceImpl implements IModelService {
 
     @Autowired
     ModelInfoMapper modelInfoMapper;
+    @Autowired
+    private SnowFlakeIdGenerator snowFlakeIdGenerator;
 
     @Override
     public ModelInfo selectModelById(Long id) {
@@ -44,6 +47,7 @@ public class ModelServiceImpl implements IModelService {
 
     @Override
     public int insertModelInfo(ModelInfo modelInfo) {
+        modelInfo.setId(snowFlakeIdGenerator.nextId());
         return modelInfoMapper.insertModel(modelInfo);
     }
 
@@ -63,14 +67,13 @@ public class ModelServiceImpl implements IModelService {
     }
 
     @Override
-    public String executeModel(Long id) {
+    public String executeModel(ModelRequest modelRequest) {
         // 查询对应模型参数
-        ModelInfo modelInfo = modelInfoMapper.selectModelById(id);
+        ModelInfo modelInfo = modelInfoMapper.selectModelById(modelRequest.getModelId());
         // 模型参数
-        String  modelParms = modelInfo.getModelParms();
+        String modelParms = modelInfo.getModelParms();
         // 数据参数
-        String  dataParms = modelInfo.getDataParms();
-        modelInfo.setUrl("http://127.0.0.1:8858/abnormal");
+        String dataParms = modelInfo.getDataParms();
         // TODO 根据数据参数获取数据,生成csv在文件,返回csv文件服务器路径
 
         // 上传文件路径
@@ -83,12 +86,11 @@ public class ModelServiceImpl implements IModelService {
         }
         Map<String, String> parms = new HashMap<>();
         parms.put("data_url", "http://127.0.0.1:8080/profile/upload/2023/11/13/origin.csv");
-        String result = HttpClientUtils.postJson("http://127.0.0.1:8858/abnormal", parms);
+        String result = HttpClientUtils.postJson(modelInfo.getUrl(), parms);
         JSONObject jsonObject = JSONUtil.parseObj(result);
         String jsonString = jsonObject.getStr("data");
         // CSV文件路径
-        String csvFilePath = PHMConfig.getCsvFilePath() + CsvUtils.RESULT_DATA_PATH +
-                "result";
+        String csvFilePath = PHMConfig.getCsvFilePath() + CsvUtils.RESULT_DATA_PATH + "result";
         CsvUtils.jsonToFileCsv(jsonString, csvFilePath);
         return jsonString;
     }

+ 6 - 3
PHM-admin/phm-manage/src/main/java/com/phm/manage/service/impl/SortieParameterService.java

@@ -1,19 +1,22 @@
 package com.phm.manage.service.impl;
 
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
 import com.phm.common.utils.DateUtils;
 import com.phm.manage.domain.SortieParameter;
 import com.phm.manage.mapper.SortieParameterMapper;
 import com.phm.manage.service.ISortieParameterService;
 import com.phm.manage.util.SnowFlakeIdGenerator;
-import org.springframework.beans.factory.annotation.Autowired;
-
-import java.util.List;
 
 /**
  * @Description SortieParameterService
  * @Author WGK
  * @Date 2023/11/21 17:15
  */
+@Service
 public class SortieParameterService implements ISortieParameterService {
     @Autowired
     private SortieParameterMapper sortieParameterMapper;

+ 10 - 10
PHM-admin/phm-manage/src/main/resources/mapper/manage/SortieParameterMapper.xml

@@ -7,7 +7,7 @@
     <resultMap type="SortieParameter" id="SortieParameterResult">
         <result property="id"    column="ID"    />
         <result property="sortieNo"    column="SORTIE_NO"    />
-        <result property="parameterName"    column="PARAMETER_NAME"    />
+        <result property="batchNo"    column="BATCH_NO"    />
         <result property="dataPath"    column="DATA_PATH"    />
         <result property="isDelete"    column="IS_DELETE"    />
         <result property="createBy"    column="CREATE_BY"    />
@@ -17,15 +17,15 @@
     </resultMap>
 
     <sql id="selectSortieParameterVo">
-        select ID, SORTIE_NO, PARAMETER_NAME, DATA_PATH, IS_DELETE, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME from PHM_SORTIE_PARAMETER
+        select ID, SORTIE_NO, BATCH_NO, DATA_PATH, IS_DELETE, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME from PHM_SORTIE_PARAMETER
     </sql>
 
     <select id="selectSortieParameterList" parameterType="SortieParameter" resultMap="SortieParameterResult">
         <include refid="selectSortieParameterVo"/>
         <where>
-            <if test="ID != null "> and ID = #{id}</if>
+            <if test="id != null "> and ID = #{id}</if>
             <if test="sortieNo != null  and sortieNo != ''"> and SORTIE_NO = #{sortieNo}</if>
-            <if test="parameterName != null  and parameterName != ''"> and PARAMETER_NAME like concat('%', #{parameterName}, '%')</if>
+            <if test="batchNo != null  and batchNo != ''"> and BATCH_NO like concat('%', #{batchNo}, '%')</if>
             <if test="dataPath != null  and dataPath != ''"> and DATA_PATH = #{dataPath}</if>
             <if test="isDelete != null "> and IS_DELETE = #{isDelete}</if>
             <if test="createBy != null  and createBy != ''"> and CREATE_BY = #{createBy}</if>
@@ -43,9 +43,9 @@
     <insert id="insertSortieParameter" parameterType="SortieParameter">
         insert into PHM_SORTIE_PARAMETER
         <trim prefix="(" suffix=")" suffixOverrides=",">
-            <if test="ID != null">ID,</if>
+            <if test="id != null">ID,</if>
             <if test="sortieNo != null">SORTIE_NO,</if>
-            <if test="parameterName != null">PARAMETER_NAME,</if>
+            <if test="batchNo != null">BATCH_NO,</if>
             <if test="dataPath != null">DATA_PATH,</if>
             <if test="isDelete != null">IS_DELETE,</if>
             <if test="createBy != null">CREATE_BY,</if>
@@ -54,9 +54,9 @@
             <if test="updateTime != null">UPDATE_TIME,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
-            <if test="ID != null">#{id},</if>
+            <if test="id != null">#{id},</if>
             <if test="sortieNo != null">#{sortieNo},</if>
-            <if test="parameterName != null">#{parameterName},</if>
+            <if test="batchNo != null">#{batchNo},</if>
             <if test="dataPath != null">#{dataPath},</if>
             <if test="isDelete != null">#{isDelete},</if>
             <if test="createBy != null">#{createBy},</if>
@@ -70,7 +70,7 @@
         update PHM_SORTIE_PARAMETER
         <trim prefix="SET" suffixOverrides=",">
             <if test="sortieNo != null">SORTIE_NO = #{sortieNo},</if>
-            <if test="parameterName != null">PARAMETER_NAME = #{parameterName},</if>
+            <if test="batchNo != null">BATCH_NO = #{batchNo},</if>
             <if test="dataPath != null">DATA_PATH = #{dataPath},</if>
             <if test="isDelete != null">IS_DELETE = #{isDelete},</if>
             <if test="createBy != null">CREATE_BY = #{createBy},</if>
@@ -87,7 +87,7 @@
 
     <delete id="deleteSortieParameterByIds" parameterType="String">
         delete from PHM_SORTIE_PARAMETER where ID in
-        <foreach item="ID" collection="array" open="(" separator="," close=")">
+        <foreach item="id" collection="array" open="(" separator="," close=")">
             #{id}
         </foreach>
     </delete>

+ 24 - 5
PHM-admin/phm-netty/src/main/java/com/phm/netty/client/NettyUdpClient.java

@@ -4,16 +4,19 @@ import java.net.InetSocketAddress;
 
 import org.springframework.stereotype.Component;
 
-import com.phm.netty.client.handler.NettyUdpClientInitialize;
+import com.phm.netty.client.handler.NettyUdpClientHandler;
 
 import io.netty.bootstrap.Bootstrap;
 import io.netty.buffer.Unpooled;
 import io.netty.channel.Channel;
+import io.netty.channel.ChannelInitializer;
 import io.netty.channel.ChannelOption;
 import io.netty.channel.EventLoopGroup;
 import io.netty.channel.nio.NioEventLoopGroup;
 import io.netty.channel.socket.DatagramPacket;
 import io.netty.channel.socket.nio.NioDatagramChannel;
+import io.netty.util.Attribute;
+import io.netty.util.AttributeKey;
 import lombok.extern.slf4j.Slf4j;
 
 /**
@@ -24,14 +27,30 @@ import lombok.extern.slf4j.Slf4j;
 @Slf4j
 @Component
 public class NettyUdpClient {
-    public void bind(String address, int port, byte[] data) {
+    public void bind(String address, int port, byte[] data, String customValue) {
         EventLoopGroup eventLoopGroup = new NioEventLoopGroup();
         try {
             Bootstrap clientBootstrap = new Bootstrap();
             clientBootstrap = clientBootstrap.group(eventLoopGroup);
             clientBootstrap = clientBootstrap.channel(NioDatagramChannel.class);
             clientBootstrap = clientBootstrap.option(ChannelOption.SO_BROADCAST, true);
-            clientBootstrap = clientBootstrap.handler(new NettyUdpClientInitialize());
+            // clientBootstrap = clientBootstrap.handler(new NettyUdpClientInitialize(customValue));
+            clientBootstrap = clientBootstrap.handler(new ChannelInitializer<NioDatagramChannel>() {
+                @Override
+                protected void initChannel(NioDatagramChannel ch) {
+                    // 使用 AttributeKey 定义一个键
+                    final AttributeKey<String> key = AttributeKey.valueOf("customKey");
+
+                    // 获取 Channel 的 Attribute
+                    Attribute<String> attr = ch.attr(key);
+
+                    // 设置自定义值
+                    attr.set(customValue);
+
+                    // 在这里添加你的处理器
+                    ch.pipeline().addLast(new NettyUdpClientHandler());
+                }
+            });
             Channel channel = clientBootstrap.bind(8989).sync().channel();
             // 给服务端发送请求信息
             channel.writeAndFlush(new DatagramPacket(Unpooled.copiedBuffer(data), new InetSocketAddress(address, port)))
@@ -40,9 +59,9 @@ public class NettyUdpClient {
 
             // 方式一:查询等待超时 单位s, 超时自动关闭
             channel.closeFuture().await(10000);
-            // 方式er:原地等候返回消息,再关闭连接
-            // channel.closeFuture().sync();
 
+            // 方式er:原地等候返回消息,再关闭连接
+            channel.closeFuture().sync();
         } catch (Exception e) {
             log.error(e.getMessage());
         } finally {

+ 18 - 8
PHM-admin/phm-netty/src/main/java/com/phm/netty/client/handler/NettyUdpClientHandler.java

@@ -1,20 +1,23 @@
 package com.phm.netty.client.handler;
 
-import com.phm.netty.domain.Message;
-import com.phm.netty.enums.OrderEnum;
+import java.util.List;
 
+import javax.annotation.PostConstruct;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import com.phm.netty.domain.Message;
 import com.phm.netty.service.IProcessService;
+
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.ByteBufUtil;
 import io.netty.channel.ChannelHandler;
 import io.netty.channel.ChannelHandlerContext;
 import io.netty.channel.SimpleChannelInboundHandler;
 import io.netty.channel.socket.DatagramPacket;
+import io.netty.util.AttributeKey;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
 
 /**
  * @Description NettyUdpClientHandler
@@ -28,10 +31,17 @@ public class NettyUdpClientHandler extends SimpleChannelInboundHandler<DatagramP
 
     @Autowired
     IProcessService processService;
+    private static NettyUdpClientHandler nettyUdpClientHandler;
 
+    @PostConstruct
+    public void init() {
+        nettyUdpClientHandler = this;
+    }
 
     @Override
     protected void channelRead0(ChannelHandlerContext ctx, DatagramPacket packet) throws Exception {
+        // 获取自定义值
+        String sortieNo = ctx.channel().attr(AttributeKey.valueOf("customKey")).get().toString();
         final ByteBuf buf = packet.content();
         try {
             log.info("channelId---:{}", ctx.channel().id().toString());
@@ -42,10 +52,10 @@ public class NettyUdpClientHandler extends SimpleChannelInboundHandler<DatagramP
                 return;
             }
             // 处理数据
-            List<String> list = processService.handleData(msg);
+            List<String> list = nettyUdpClientHandler.processService.handleData(msg, sortieNo);
             ctx.close();
         } catch (Exception e) {
-            log.error(e.getMessage());
+            log.error("channelRead=={}", e.getMessage());
         }
     }
 

+ 5 - 3
PHM-admin/phm-netty/src/main/java/com/phm/netty/controller/NettyUdpClientController.java

@@ -32,11 +32,12 @@ public class NettyUdpClientController extends BaseController {
      */
     @GetMapping("/simulation")
     public CommonResult<String> getSimulationInfo() {
+        // TODO 这里差入参需要确定
         Message message = new Message();
         message.setType(OrderEnum.ORDER_CONFIG.getType()).setTarget("GPHM").setSource("SPHM")
             .setData("{\"cmdId\": \"getConfig\"}");
         // udp客户端,向服务端发送获取数据请求服务
-        udpClient.bind("127.0.0.1", 19000, Message.msgToBytes(message));
+        udpClient.bind("127.0.0.1", 19000, Message.msgToBytes(message), "JC01");
         return CommonResult.buildSuccess();
     }
 
@@ -47,11 +48,12 @@ public class NettyUdpClientController extends BaseController {
      */
     @GetMapping("/airborne/{id}")
     public CommonResult<String> getAirborneInfo(@PathVariable("id") Long id) {
+        // TODO 这里入参需要确定
         Message message = new Message();
         message.setType(OrderEnum.ORDER_CONFIG.getType()).setTarget("GPHM").setSource("SPHM")
-            .setData("{\"cmdId\": \"getConfig\"}");
+            .setData("{\"cmdId\": \"getConfig\", \"params\": [{\"参数一\":0.1079,\"参数三\":0.6007,\"参数二\":0.0116,\"参数五\":0.0689,\"参数四\":1.1915,\"时间\":\"2022/6/3013:08\"},{\"参数一\":0.8088,\"参数三\":2.9169,\"参数二\":0.6541,\"参数五\":0.6229,\"参数四\":5.5326,\"时间\":\"2022/6/3013:09\"},\t{\"参数一\":0.9088,\"参数三\":2.7169,\"参数二\":0.0541,\"参数五\":0.4229,\"参数四\":3.5326,\"时间\":\"2022/6/3013:10\"}]}");
         // udp客户端,向服务端发送获取数据请求服务
-        udpClient.bind("127.0.0.1", 19000, Message.msgToBytes(message));
+        udpClient.bind("127.0.0.1", 19000, Message.msgToBytes(message), "JC01");
         return CommonResult.buildSuccess();
     }
 }

+ 4 - 3
PHM-admin/phm-netty/src/main/java/com/phm/netty/service/IProcessService.java

@@ -1,10 +1,10 @@
 package com.phm.netty.service;
 
+import java.util.List;
+
 import com.phm.manage.domain.OrderConfig;
 import com.phm.netty.domain.Message;
 
-import java.util.List;
-
 /**
  * @Description IProcessService
  * @Author WGK
@@ -42,8 +42,9 @@ public interface IProcessService {
      * 解析Data
      *
      * @param message message
+     * @param customValue customValue
      * @return res
      * @throws Exception ex
      */
-    List<String> handleData(Message message) throws Exception;
+    List<String> handleData(Message message, String customValue) throws Exception;
 }

+ 17 - 28
PHM-admin/phm-netty/src/main/java/com/phm/netty/service/impl/ProcessService.java

@@ -1,8 +1,10 @@
 package com.phm.netty.service.impl;
 
-import cn.hutool.json.JSONArray;
-import cn.hutool.json.JSONObject;
-import cn.hutool.json.JSONUtil;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
 import com.phm.common.config.PHMConfig;
 import com.phm.manage.domain.OrderConfig;
 import com.phm.manage.domain.OrderInfo;
@@ -15,17 +17,16 @@ import com.phm.manage.service.IOrderInfoService;
 import com.phm.manage.service.ISortieParameterService;
 import com.phm.manage.service.ISortieService;
 import com.phm.manage.util.CsvUtils;
+import com.phm.manage.util.JsonUtils;
 import com.phm.netty.domain.Message;
 import com.phm.netty.enums.OrderEnum;
 import com.phm.netty.service.IProcessService;
-import com.phm.manage.util.JsonUtils;
 import com.phm.system.service.ISysDictTypeService;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.List;
+import cn.hutool.core.util.IdUtil;
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
+import lombok.extern.slf4j.Slf4j;
 
 /**
  * @Description ProcessService
@@ -106,38 +107,26 @@ public class ProcessService implements IProcessService {
     }
 
     @Override
-    public List<String> handleData(Message message) throws Exception {
+    public List<String> handleData(Message message, String sortieNo) throws Exception {
         JSONObject jsonObject = JSONUtil.parseObj(message.getData());
         short type = message.getType();
-        // TODO mock参数数据
-        String dataJson =
-            "[{\"参数一\":0.1079,\"参数三\":0.6007,\"参数二\":0.0116,\"参数五\":0.0689,\"参数四\":1.1915,\"时间\":\"2022/6/3013:08\"},{\"参数一\":0.8088,\"参数三\":2.9169,\"参数二\":0.6541,\"参数五\":0.6229,\"参数四\":5.5326,\"时间\":\"2022/6/3013:09\"},\t{\"参数一\":0.9088,\"参数三\":2.7169,\"参数二\":0.0541,\"参数五\":0.4229,\"参数四\":3.5326,\"时间\":\"2022/6/3013:10\"}]";
-        String sortieNo = "JC000001121";
         log.info("msg---:{}", message);
         // 数链仿真系统获取数据
         if (OrderEnum.SIMULATION.getType() != type) {
             String cmdId = jsonObject.getStr("cmdid");
             String params = jsonObject.getStr("params");
-            JSONArray jsonArray = JSONUtil.parseArray(dataJson);
-            // TODO 参数存放位置
+            // 参数数据存放位置
             String parameterDataPath =
                 PHMConfig.getCsvFilePath() + CsvUtils.PARAMETER_DATA_PATH + sortieNo + CsvUtils.CSV_TYPE;
-            CsvUtils.jsonToFileCsv(dataJson, parameterDataPath);
-            JSONObject obj = jsonArray.getJSONObject(0);
-            List<SortieParameter> parameterList = new ArrayList<>();
-            // 遍历JSONObject的所有键
-            for (String key : obj.keySet()) {
-                parameterList.add(new SortieParameter("sortieNo", key, parameterDataPath));
-            }
-            CsvUtils.jsonToFileCsv(params, "");
-            // 解析数据集合,保存 TODO 参数数据映射表PHM_SORTIE_PARAMETER
-            parameterList.forEach(parameter -> sortieParameterService.insertSortieParameter(parameter));
-            // 数据
+            CsvUtils.jsonToFileCsv(params, parameterDataPath);
+            SortieParameter parameter = new SortieParameter();
+            parameter.setDataPath(parameterDataPath).setSortieNo(sortieNo).setBatchNo(IdUtil.getSnowflakeNextIdStr());
+            sortieParameterService.insertSortieParameter(parameter);
             log.info("数链仿真系统获取数据");
         }
 
         // 机载PHM获取数据
-        if (OrderEnum.AIRBORNE.getType() != type) {
+        if (OrderEnum.AIRBORNE.getType() == type) {
             // 数据
             log.info("机载PHM获取数据");
         }