Application.java 3.3 KB
package com.vion;


import com.aliyun.oss.model.GetObjectRequest;
import com.aliyun.oss.model.ObjectListing;
import com.vion.configuration.OssConfigration;
import com.vion.dao.IDao;
import com.vion.entity.OssClientEntity;
import com.vion.utils.OssFileUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;

import javax.annotation.Resource;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;


@ComponentScan(value = "com.vion")
@SpringBootApplication
@Slf4j
public class Application implements CommandLineRunner {

    public static final String PICTURE = "picture/";
    public static final String FEATURE = "feature/";
    public static final String POSTFIX = ".feature";


    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }


    @Autowired
    private IDao dao;
    @Resource
    private OssClientEntity ossClientEntity;

    @Value("${path.picture}")
    private String facePath;
    @Value("${path.feature}")
    private String featurePath;
    @Value("${date.begin}")
    private String begin;
    @Value("${date.end}")
    private String end;

    @Override
    public void run(String... args) throws Exception {
//        File file = new File(facePath);
//        if (!file.exists()) {
//            log.error("face路径不存在!!!!!:{}", facePath);
//            System.exit(1);
//        }
//        File file1 = new File(featurePath);
//        if (!file1.exists()) {
//            log.error("feature路径不存在!!!!!!!!!!{}", featurePath);
//            System.exit(2);
//        }


        /*下载文件*/
        OssFileUtil ossFileUtil = new OssFileUtil();
        ObjectListing objectListing = ossFileUtil.getFilesInPrefix(ossClientEntity.getBucket(), "picture/face/20190322/08A0-F93D-CEFE-9881-01/", ossClientEntity.getOssClient(), 1000, false);
        objectListing.getObjectSummaries().forEach(summery -> {
            File f = new File("D:\\" + summery.getKey().replace("\\", "/"));
            if (!f.getParentFile().exists()) {
                f.getParentFile().mkdirs();
            }
            ossClientEntity.getOssClient().getObject(new GetObjectRequest(ossClientEntity.getBucket(), summery.getKey()),f );
                }
        );

        //上传文件
        // 建立线程池
//
//        ThreadPoolExecutor threadPool = new ThreadPoolExecutor(50, 100, 10, TimeUnit.MINUTES, new ArrayBlockingQueue<Runnable>(250), r -> {
//            Thread t = new Thread(r);
//            t.setName("线程" + OssConfigration.COUNT);
//            OssConfigration.COUNT++;
//            return t;
//        });
//
//
//        SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
//        Date beginDate = format.parse(begin);
//        Date endDate = format.parse(end);
//
//        dao.getAll(beginDate, endDate, ossClientEntity, facePath, featurePath, threadPool);
    }
}