wangyi

处理上传失败数据

......@@ -33,5 +33,21 @@ public interface ReceiptMessageRepository extends JpaSpecificationExecutor<Recei
@Query(nativeQuery = true,value = "UPDATE T_DECLEAR_TASK SET PUSH_TIME = ?1,PUSH_NUMBER = PUSH_NUMBER + 1,RESPONSE_TIME = ?2,RESPONSE_RESULTS = ?3,RESPONSE_CONTENT = ?4 WHERE FILE_TYPE = 2 AND CHMSIGNMENT_ID = ?5")
void updateDeclearTaskStatus(Date pushTime, Date responseTime, String responseResults, String responseContent, Long chmsignmentId);
/**
* 推送失败回执数据
*
* @param
* @return
*/
@Query(nativeQuery = true, value = "SELECT RM.* FROM T_RECEIPT_MESSAGE RM INNER JOIN T_DECLEAR_TASK DT ON(RM.ID = DT.CHMSIGNMENT_ID) WHERE FILE_TYPE = 2 AND PUSH_NUMBER >= 3 AND RESPONSE_RESULTS ='失败' ORDER BY RM.NOTICE_DATE ASC")
public List<ReceiptMessage> findReceiptMessageErrorReturnList();
/**
* 推送失败申报数据
*
* @param
* @return
*/
@Query(nativeQuery = true, value = "SELECT RM.* FROM T_RECEIPT_MESSAGE RM INNER JOIN T_DECLEAR_TASK DT ON(RM.ID = DT.CHMSIGNMENT_ID) WHERE FILE_TYPE = 1 AND PUSH_NUMBER >= 3 AND RESPONSE_RESULTS ='失败' ORDER BY RM.NOTICE_DATE ASC")
public List<ReceiptMessage> findReceiptMessageErrorDeclareList();
}
\ No newline at end of file
......
......@@ -180,4 +180,28 @@ public class ApiService {
ex.printStackTrace();
}
}
/**
* 传输推送失败回执数据
* @param token
* @throws Exception
*/
public void pushErrorReturnDate(String token){
//获取海关回执数据
List<ReceiptMessage> receiptMessageList = receiptMessageRepository.findReceiptMessageErrorReturnList();
if (receiptMessageList !=null && receiptMessageList.size() > 0){
this.sendCustoms(token,receiptMessageList);
}
}
/**
* 传输推送失败申报数据
* @param token
* @throws Exception
*/
public void pushErrorDeclareDate(String token){
//获取海关申报数据
List<ReceiptMessage> receiptMessageList = receiptMessageRepository.findReceiptMessageErrorDeclareList();
if (receiptMessageList !=null && receiptMessageList.size() > 0){
this.sendCustoms(token,receiptMessageList);
}
}
}
......
......@@ -75,4 +75,60 @@ public class IClearApiTask {
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());
}
}
}
......
......@@ -11,6 +11,11 @@ task:
pushCustomsTask: 0 0/1 * * * ?
#推送完整报文
pushMawbTask: 0 0/1 * * * ?
#推送失败的回执数据
pushErrorReturnDate: 0 0/1 * * * ?
#推送失败的申报数据
pushErrorDeclareDate: 0 0/1 * * * ?
#推送地址
api:
......
......@@ -11,6 +11,10 @@ task:
pushCustomsTask: 0 0/1 * * * ?
#推送完整报文
pushMawbTask: 0 0/1 * * * ?
#推送失败的回执数据
pushErrorReturnDate: 0 0/1 * * * ?
#推送失败的申报数据
pushErrorDeclareDate: 0 0/1 * * * ?
#推送地址
api:
......
......@@ -11,6 +11,10 @@ task:
pushCustomsTask: 0 0/1 * * * ?
#推送完整报文
pushMawbTask: 0 0/1 * * * ?
#推送失败的回执数据
pushErrorReturnDate: 0 0/1 * * * ?
#推送失败的申报数据
pushErrorDeclareDate: 0 0/1 * * * ?
#推送地址
api:
......