IClearApiTask.java
4.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
package com.erry.iclear.dateInterface.task;
import com.erry.iclear.dateInterface.enums.ErrorCodeEnum;
import com.erry.iclear.dateInterface.api.response.TokenResult;
import com.erry.iclear.dateInterface.service.ApiService;
import com.erry.iclear.dateInterface.service.EmailSenderService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
/**
* @author Administrator
*/
@Component
@Slf4j
public class IClearApiTask {
@Autowired
ApiService apiService;
@Autowired
EmailSenderService emailSenderService;
String token;
@Value("${iclear.address.url42}")
String iclearAddressUrl42;
@Value("${iclear.address.url43}")
String iclearAddressUrl43;
/**
* TODO 定时任务:每分钟推送: 报关数据、回执
*/
@Scheduled(cron = "${task.pushCustomsTask}")
public void pushCustomsTask(){
try{
log.info("pushCustomsTask start>>>>>>>>>>>>");
//获取token
getToken();
//获取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>>>>>>>>>>>>");
//获取token
getToken();
//获取token成功则进行海关回执推送
apiService.pushMawb(this.token);
log.info("pushMawbTask end>>>>>>>>>>>>");
}catch (Exception e){
log.error("pushMawbTask() error:" +e.getMessage());
}
}
/**
* TODO 定时任务:每5分钟监听: iclear应用节点是否正常
*/
@Scheduled(cron = "${task.monitorIclearNodes}")
public void monitorIclearNodesTask(){
try{
log.info("monitorIclearNodesTask start>>>>>>>>>>>>");
boolean requestResult42 = apiService.connectIclearNode(this.iclearAddressUrl42);
if(!requestResult42){
emailSenderService.sendMail(null,"系统访问异常提示","系统提示:应用第一个节点访问异常,请及时查看");
}
boolean requestResult43 = apiService.connectIclearNode(this.iclearAddressUrl43);
if(!requestResult43){
emailSenderService.sendMail(null,"系统访问异常提示","系统提示:应用第二个节点访问异常,请及时查看");
}
log.info("monitorIclearNodesTask end>>>>>>>>>>>>");
}catch (Exception e){
log.error("monitorIclearNodesTask() error:" +e.getMessage());
}
}
/**
* 每次请求获取最新token
* @throws Exception
*/
private void getToken() throws Exception{
try {
//获取token
TokenResult tokenResult = apiService.getToken();
if(tokenResult.getErrorcode().equals(ErrorCodeEnum.SUCCESS.getCode())){
this.token = tokenResult.getData().getToken();
}
}catch(Exception ex){
log.error(ex.getMessage(),ex);
}
if(this.token == null){
throw new Exception("获取token失败!");
}
}
/*
* wy on 2022年1月20日17:50:57
* 经clj确认,这两个任务没有必要
* *//**
* TODO 定时任务:每分钟推送: 推送失败的回执数据,
*//*
@Scheduled(cron = "${task.pushErrorReturnDate}")
public void pushErrorReturnDate(){
*//* try{
log.info("pushErrorReturnDate start>>>>>>>>>>>>");
//获取token
getToken();
//获取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>>>>>>>>>>>>");
//获取token
getToken();
//获取token成功则进行海关回执推送
apiService.pushErrorDeclareDate(this.token);
log.info("pushErrorDeclareDate end>>>>>>>>>>>>");
}catch (Exception e){
log.error("pushErrorDeclareDate() error:" +e.getMessage());
}*//*
}*/
}