DevOpsController.java 2.4 KB
package com.tianbo.analysis.controller;

import com.tianbo.analysis.handle.CustomXmlHandle;
import com.tianbo.util.Date.DateUtil;
import com.tianbo.util.IO.FileTool;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.FileUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.io.File;
import java.util.Iterator;
import java.util.List;

@RestController
@Slf4j
@RequestMapping("/devops")
public class DevOpsController {

    //单一窗口回执读取目录
    @Value("${devops.dir.singlewindow-tcs-recept}")
    private  String singlewindow_tcs_recept_dir;

    //天博TCS回执读取目录
    @Value("${devops.dir.tianbo-tcs-recept}")
    private  String tianbo_tcs_recept_dir;

    //CFPS订阅货运报文目录
    @Value("${devops.dir.cfps-subscribe-dir}")
    private  String cfps_recept_dir;

    @RequestMapping("/watchdir")
    public Integer singlewindow(@RequestParam(value = "dir",required = true,defaultValue = "D:\\系统部署\\imf_Warehouse_reader\\xmlFromImf") String dir){
        switch (dir){
            case "stcs" :
                dir = singlewindow_tcs_recept_dir;
                break;
            case "tcs" :
                dir = tianbo_tcs_recept_dir;
                break;
            case "cfps" :
                dir = cfps_recept_dir;
                break;
            default:
                dir = cfps_recept_dir;
                break;
        }
        try{
//            dir = "/Users/mrz/Downloads/rdp_temp";
            File fileDirectory = new File(dir);
            if (!fileDirectory.exists()){
                log.error("目录{}不存在",dir);
            }else{
                log.info("{}{}{}","开始获取目录",dir,"文件数量");
                List<File> files = FileTool.readAllDirectoryFiles(fileDirectory);
                if(files!=null && !files.isEmpty()){
                    log.info("{}{}{}{}","目录",dir,"文件数量为:",files.size());
                    return files.size();
                }else {
                    return 0;
                }
            }
        }catch (Exception e){
            e.printStackTrace();
            log.error("获取目录文件出错",e);
        }
        return 500;
    }



}