|
|
@@ -121,7 +121,7 @@ public class PaymentRsaDownloadJob {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 按明细打印(包括正常支付明细+补发明细)
|
|
|
+ * 按明细打印(正常支付明细)
|
|
|
*
|
|
|
* @param param
|
|
|
* @return
|
|
|
@@ -156,6 +156,41 @@ public class PaymentRsaDownloadJob {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 按明细打印(补发明细)
|
|
|
+ *
|
|
|
+ * @param param
|
|
|
+ * @return
|
|
|
+ * @throws Exception
|
|
|
+ */
|
|
|
+ @XxlJob("paymentRsaDownDetailSuppleJobHandler")
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public ReturnT<String> paymentRsaDownDetailSuppleJobHandler(String param) throws Exception {
|
|
|
+ log.info(String.format(" 回执单定时器! 时间:" + DateUtils.getTimestamp()));
|
|
|
+ XxlJobLogger.log(String.format(" 回执单定时器! 时间:" + DateUtils.getTimestamp()));
|
|
|
+ //查询前一天未下载对账单的付款记录(考虑补发,按付款批次记录查询)
|
|
|
+ List<HlwPayRecord> hlwPayRecordList = hlwPayRecordService.findDetailNoStatementList();
|
|
|
+ for (HlwPayRecord hlwPayRecord : hlwPayRecordList) {
|
|
|
+ //付款单
|
|
|
+ HlwPayment hlwPayment = hlwPaymentService.getById(hlwPayRecord.getPaymentId());
|
|
|
+ //服务商信息
|
|
|
+ HlwSubcontractor hlwSubcontractor = hlwSubcontractorService.getById(hlwPayment.getSubcontractorId());
|
|
|
+ //打印模式 S:逐笔打印:每笔明细生成一个PDF文件 M:批量打印:所有明细生成生成到一个PDF文件里面
|
|
|
+ printMode = "S";
|
|
|
+ //请求银行接口查询结果
|
|
|
+ JSONObject jsonObjectBody = PayRsaCommon.DCAGPPDF(hlwPayRecord, hlwSubcontractor, printMode);
|
|
|
+ if (jsonObjectBody != null) {
|
|
|
+ //打印任务编号
|
|
|
+ String printId = jsonObjectBody.getString("printid");
|
|
|
+ //每个下载任务独立线程池(需要考虑并发问题)
|
|
|
+ ScheduledThreadPoolExecutor scheduledThreadPoolExecutor = new ScheduledThreadPoolExecutor(2);
|
|
|
+ //下载对账单
|
|
|
+ downLoad(hlwPayment, printId, hlwSubcontractor, scheduledThreadPoolExecutor);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return ReturnT.SUCCESS;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 下载对账单
|
|
|
* schedule:一次性调度线程
|
|
|
* scheduleAtFixedRate
|
|
|
@@ -209,7 +244,7 @@ public class PaymentRsaDownloadJob {
|
|
|
httpURLConnection.connect();
|
|
|
InputStream inputStream = httpURLConnection.getInputStream();
|
|
|
ZipInputStream zipInputStream = new ZipInputStream(inputStream);
|
|
|
- //解压文件
|
|
|
+ //解压文件并上传oss
|
|
|
decompressionFile("/mnt/opt", zipInputStream, hlwPayment);
|
|
|
if (inputStream != null) {
|
|
|
inputStream.close();
|