RadioMsgController.java 3.4 KB
package com.tianbo.analysis.controller;

import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.FileUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.io.File;
import java.io.IOException;
import java.util.UUID;

/**
 * 在线报文导入管理
 */
@RestController
@RequestMapping("/Rmsg")
@Slf4j
public class RadioMsgController {

    //备份目录
    @Value("${custom.extRedioMsgDir}")
    private  String extRedioMsgDir;

    private final static String FFM_HEADER = "<MSG>\n" +
            "<META>\n" +
            "<SNDR>TXD</SNDR>\n" +
            "<DDTM>20200113050339</DDTM>\n" +
            "<TYPE>IATA</TYPE>\n" +
            "<STYP>FFM</STYP>\n" +
            "<SEQN>95205940</SEQN>\n" +
            "</META>\n" +
            "<FFM>\n";

    private final static String FFM_FOOTER = "\n</FFM>\n" +
            "</MSG>";

    private final static String FWB_HEADER="<MSG>\n" +
            "<META>\n" +
            "<SNDR>TXD</SNDR>\n" +
            "<DDTM>20200113004608</DDTM>\n" +
            "<TYPE>IATA</TYPE>\n" +
            "<STYP>IFWB</STYP>\n" +
            "<SEQN>95203026</SEQN>\n" +
            "</META>\n" +
            "<FWB>\n";
    private final static String FWB_FOOTER="\n</FWB>\n" +
            "</MSG>";

    private final static String FHL_HEADER="<MSG>\n" +
            "<META>\n" +
            "<SNDR>TXD</SNDR>\n" +
            "<DDTM>20200113003006</DDTM>\n" +
            "<TYPE>IATA</TYPE>\n" +
            "<STYP>IFHL</STYP>\n" +
            "<SEQN>95202782</SEQN>\n" +
            "</META>\n" +
            "<FHL>\n";
    private final static String FHL_FOOTER="\n</FHL>\n" +
            "</MSG>";

    @PostMapping("ffm")
    public int extFFM(String ffmmsg){
        if (ffmmsg!=null){
            ffmmsg = FFM_HEADER + ffmmsg;
            ffmmsg = ffmmsg + FFM_FOOTER;
            File file = new File(extRedioMsgDir+UUID.randomUUID()+".txt");
            try {
                FileUtils.writeStringToFile(file,ffmmsg,"UTF-8");
                log.info("FFM报文导入成功");
                return 1;
            }catch (IOException e){
                e.printStackTrace();
            }
        }
        return 0;
    }


    @PostMapping("fwb")
    public int extFWB(String ffmmsg){
        if (ffmmsg!=null) {
            ffmmsg = FWB_HEADER + ffmmsg;
            ffmmsg = ffmmsg + FWB_FOOTER;
            File file = new File(extRedioMsgDir + UUID.randomUUID() + ".txt");
            try {
                FileUtils.writeStringToFile(file, ffmmsg, "UTF-8");
                log.info("FWB报文导入成功");
                return 1;
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return 0;
    }

    @PostMapping("fhl")
    public int extFHL(String ffmmsg){
        if (ffmmsg!=null) {
            ffmmsg = FHL_HEADER + ffmmsg;
            ffmmsg = ffmmsg + FHL_FOOTER;
            File file = new File(extRedioMsgDir + UUID.randomUUID() + ".txt");
            try {
                FileUtils.writeStringToFile(file, ffmmsg, "UTF-8");
                log.info("FHL报文导入成功");
                return 1;
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return 0;
    }
}