IClearApiTask.java 2.64 KB
package com.erry.iclear.dateInterface.task;

import com.erry.iclear.dateInterface.api.response.TokenResult;
import com.erry.iclear.dateInterface.common.Constants;
import com.erry.iclear.dateInterface.service.ApiService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

/**
 * @author Administrator
 */
@Component
@Slf4j
public class IClearApiTask {
    @Autowired
    ApiService apiService;
    String token;

    /**
     * TODO 定时任务:每分钟推送: 报关数据、回执
     */
    @Scheduled(cron = "${task.pushCustomsTask}")
    public void pushCustomsTask(){
        try{
            log.info("pushCustomsTask start>>>>>>>>>>>>");
            if(token == null){
                try {
                    //获取token
                    TokenResult tokenResult = apiService.getToken();
                    if(tokenResult.getErrorcode().equals(Constants.ApiResponseKeys.SUCCESS)){
                        this.token = tokenResult.getData().getToken();
                    }
                }catch(Exception ex){
                    ex.printStackTrace();
                }
            }
            if(this.token == null){
                throw new Exception("获取token失败!");
            }
            //获取token成功则进行海关回执推送
            apiService.pushCustoms(this.token);
            log.info("pushCustomsTask end>>>>>>>>>>>>");
        }catch (Exception e){
            log.error("pushCustomsTask() error:" +e.getMessage());
        }
    }

    /**
     * TODO 定时任务:每分钟推送: 完整报文
     */
    @Scheduled(cron = "${task.pushMawbTask}")
    public void pushMawbTask(){
        try{
            log.info("pushMawbTask start>>>>>>>>>>>>");
            if(token == null){
                try {
                    //获取token
                    TokenResult tokenResult = apiService.getToken();
                    if(tokenResult.getErrorcode().equals(Constants.ApiResponseKeys.SUCCESS)){
                        this.token = tokenResult.getData().getToken();
                    }
                }catch(Exception ex){
                    ex.printStackTrace();
                }
            }
            if(this.token == null){
                throw new Exception("获取token失败!");
            }
            //获取token成功则进行海关回执推送
            apiService.pushMawb(this.token);
            log.info("pushMawbTask end>>>>>>>>>>>>");
        }catch (Exception e){
            log.error("pushMawbTask() error:" +e.getMessage());
        }
    }
}