IClearApiTask.java 4.83 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());
        }
    }
    /**
     * TODO 定时任务:每分钟推送: 推送失败的回执数据,
     */
    @Scheduled(cron = "${task.pushErrorReturnDate}")
    public void pushErrorReturnDate(){
        try{
            log.info("pushErrorReturnDate 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.pushErrorReturnDate(this.token);
            log.info("pushErrorReturnDate end>>>>>>>>>>>>");
        }catch (Exception e){
            log.error("pushErrorReturnDate() error:" +e.getMessage());
        }
    }
    /**
     * TODO 定时任务:每分钟推送: 推送失败的申报数据,
     */
    @Scheduled(cron = "${task.pushErrorDeclareDate}")
    public void pushErrorData(){
        try{
            log.info("pushErrorDeclareDate 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.pushErrorDeclareDate(this.token);
            log.info("pushErrorDeclareDate end>>>>>>>>>>>>");
        }catch (Exception e){
            log.error("pushErrorDeclareDate() error:" +e.getMessage());
        }
    }
}