parent
f9bb6a07ac
commit
b31fb15f1a
|
@ -97,11 +97,6 @@ public class ApiService {
|
||||||
// 禁用 SSL 证书验证
|
// 禁用 SSL 证书验证
|
||||||
disableSSLCertificateValidation();
|
disableSSLCertificateValidation();
|
||||||
|
|
||||||
// 禁用 SSL 证书验证
|
|
||||||
// disableSSLCertificateChecking();
|
|
||||||
|
|
||||||
// return urlString;
|
|
||||||
|
|
||||||
// 设置自定义主机名
|
// 设置自定义主机名
|
||||||
connection.setHostnameVerifier((hostname, session) -> {
|
connection.setHostnameVerifier((hostname, session) -> {
|
||||||
logger.info("获取验证主机名: " + hostname);
|
logger.info("获取验证主机名: " + hostname);
|
||||||
|
@ -133,7 +128,7 @@ public class ApiService {
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void disableSSLCertificateValidation() throws Exception {
|
private static void disableSSLCertificateValidation() throws Exception {
|
||||||
// Create a trust manager that does not validate certificate chains
|
// 创建不验证证书链的信任管理器
|
||||||
TrustManager[] trustAllCerts = new TrustManager[]{
|
TrustManager[] trustAllCerts = new TrustManager[]{
|
||||||
new X509TrustManager() {
|
new X509TrustManager() {
|
||||||
public X509Certificate[] getAcceptedIssuers() {
|
public X509Certificate[] getAcceptedIssuers() {
|
||||||
|
@ -148,18 +143,18 @@ public class ApiService {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// Install the all-trusting trust manager
|
// 安装完全信任的信任管理器
|
||||||
SSLContext sc = SSLContext.getInstance("SSL");
|
SSLContext sc = SSLContext.getInstance("SSL");
|
||||||
sc.init(null, trustAllCerts, new java.security.SecureRandom());
|
sc.init(null, trustAllCerts, new java.security.SecureRandom());
|
||||||
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
|
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
|
||||||
|
|
||||||
// Create all-trusting host name verifier
|
// 创建完全信任的主机名验证器
|
||||||
HostnameVerifier allHostsValid = (hostname, session) -> {
|
HostnameVerifier allHostsValid = (hostname, session) -> {
|
||||||
logger.info("HostnameVerifier called for: " + hostname);
|
logger.info("HostnameVerifier called for: " + hostname);
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Install the all-trusting host verifier
|
// 安装完全信任的主机验证程序
|
||||||
HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);
|
HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -308,21 +303,6 @@ public class ApiService {
|
||||||
dynamicObjects.add(dynamic);
|
dynamicObjects.add(dynamic);
|
||||||
logger.info("银行收付处理 → BIP推送接口 → 成功\n成功单据编号:{}\n成功请求体:{}\n推送成功接口返回数据:{}", dynamic.getString("billno"), saveRequestBody, saveResponseBody);
|
logger.info("银行收付处理 → BIP推送接口 → 成功\n成功单据编号:{}\n成功请求体:{}\n推送成功接口返回数据:{}", dynamic.getString("billno"), saveRequestBody, saveResponseBody);
|
||||||
result = "推送 → 银行收付处理 → 成功";
|
result = "推送 → 银行收付处理 → 成功";
|
||||||
|
|
||||||
/*// 电子回单关联标记
|
|
||||||
String receiptno = dynamic.getString("receiptno");
|
|
||||||
DynamicObject[] loaded = BusinessDataServiceHelper.load("bei_elecreceipt",
|
|
||||||
"id,billno,shkd_pushstatus,fileserverurl,bizdate,oppbankname,description,company," +
|
|
||||||
"oppbanknumber,detaildatetime,accountbank,amount,use,debitamount,creditamount,detailid," +
|
|
||||||
"uploadfilename,shkd_businessnumber,shkd_businessid,shkd_businessname,filepath"
|
|
||||||
, new QFilter("receiptno", QCP.equals, receiptno).toArray());
|
|
||||||
String slipsJson = paymentSlipsJson(loaded[0], "BIP", dynamicObjects, null);
|
|
||||||
if (slipsJson.contains("成功")) {
|
|
||||||
result = "(推送 → 银行收付处理 → 成功\n推送 → 电子回单 → 成功\n推送 → 电子回单附件 → 成功)";
|
|
||||||
} else {
|
|
||||||
result = "(推送 → 银行收付处理 → 成功\n推送 → 电子回单 → 失败\n推送 → 电子回单附件 → 失败)";
|
|
||||||
}*/
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
logger.info("银行收付处理 → BIP推送接口 → 失败\n失败单据编号:{}\n失败请求体:{}\n推送失败接口返回数据:{}", dynamic.getString("billno"), saveRequestBody, saveResponseBody);
|
logger.info("银行收付处理 → BIP推送接口 → 失败\n失败单据编号:{}\n失败请求体:{}\n推送失败接口返回数据:{}", dynamic.getString("billno"), saveRequestBody, saveResponseBody);
|
||||||
result = "推送 → 银行收付处理 → 失败";
|
result = "推送 → 银行收付处理 → 失败";
|
||||||
|
|
|
@ -109,6 +109,9 @@ public class PayBillApiSavePlugin implements ApiSavePlugin {
|
||||||
map.put("reccity", bd_bebank[0].getString("citytxt"));
|
map.put("reccity", bd_bebank[0].getString("citytxt"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Map<String, Object> settletype = (Map<String, Object>) map.get("settletype");
|
||||||
|
String settletype_number = settletype.get("number").toString();
|
||||||
|
|
||||||
|
|
||||||
Map<String, Object> payeracctbank = (Map<String, Object>) map.get("payeracctbank");
|
Map<String, Object> payeracctbank = (Map<String, Object>) map.get("payeracctbank");
|
||||||
bankNumber = payeracctbank.get("number").toString(); // 付款银行账号
|
bankNumber = payeracctbank.get("number").toString(); // 付款银行账号
|
||||||
|
@ -121,8 +124,10 @@ public class PayBillApiSavePlugin implements ApiSavePlugin {
|
||||||
payerbank.put("number", amAccountbanks[0].getDynamicObject("bank").getString("number"));
|
payerbank.put("number", amAccountbanks[0].getDynamicObject("bank").getString("number"));
|
||||||
logger.info("账户查询,通过银行账号查对应的付款账户信息:{}", amAccountbanks[0]);
|
logger.info("账户查询,通过银行账号查对应的付款账户信息:{}", amAccountbanks[0]);
|
||||||
|
|
||||||
if (amAccountbanks[0].getBoolean("issetbankinterface")) {
|
if ("JSFS17、JSFS18".contains(settletype_number) && amAccountbanks[0].getBoolean("issetbankinterface")) {
|
||||||
map.put("paymentchannel", "bei");
|
map.put("paymentchannel", "bei");
|
||||||
|
} else {
|
||||||
|
map.put("paymentchannel", "counter");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,10 +42,7 @@ public class PushTaskPlugin extends AbstractTask implements Plugin {
|
||||||
// 已结算、未结算、结算失败、未推送
|
// 已结算、未结算、结算失败、未推送
|
||||||
// 付款处理
|
// 付款处理
|
||||||
case "cas_paybill":
|
case "cas_paybill":
|
||||||
DynamicObject[] objects1 = BusinessDataServiceHelper.load("cas_paybill",
|
DynamicObject[] objects1 = BusinessDataServiceHelper.load("cas_paybill", "id,billno,actpayamt,entry,entry.e_expenseitem,entry.e_remark,settletype,payeebanknum,payeetype,payeenumber,payeracctbank,payeebank,payeebankname,paymenttype,org,bizdate,description,shkd_pushstatus,shkd_businessnumber,shkd_businessid,shkd_businessname,billstatus,bankpaystatus"
|
||||||
"id,billno,actpayamt,entry,entry.e_expenseitem,entry.e_remark,settletype,payeebanknum," +
|
|
||||||
"payeetype,payeenumber,payeracctbank,payeebank,payeebankname,paymenttype,org,bizdate,description," +
|
|
||||||
"shkd_pushstatus,shkd_businessnumber,shkd_businessid,shkd_businessname,billstatus,bankpaystatus"
|
|
||||||
, new QFilter("bizdate", QCP.large_equals, calculateTheDate(2))
|
, new QFilter("bizdate", QCP.large_equals, calculateTheDate(2))
|
||||||
.and("shkd_pushstatus", QCP.not_equals, "已结算")
|
.and("shkd_pushstatus", QCP.not_equals, "已结算")
|
||||||
.and("shkd_pushstatus", QCP.not_equals, "结算失败")
|
.and("shkd_pushstatus", QCP.not_equals, "结算失败")
|
||||||
|
@ -70,19 +67,13 @@ public class PushTaskPlugin extends AbstractTask implements Plugin {
|
||||||
//TF 交易失败
|
//TF 交易失败
|
||||||
//NC 交易未确认
|
//NC 交易未确认
|
||||||
//OF 银企异常
|
//OF 银企异常
|
||||||
DynamicObject[] objects4 = BusinessDataServiceHelper.load("cas_paybill",
|
DynamicObject[] objects4 = BusinessDataServiceHelper.load("cas_paybill", "id,billno,actpayamt,entry,entry.e_expenseitem,entry.e_remark,settletype,payeebanknum,payeetype,payeenumber,payeracctbank,payeebank,payeebankname,paymenttype,org,bizdate,description,shkd_pushstatus,shkd_businessnumber,shkd_businessid,shkd_businessname,billstatus,bankpaystatus"
|
||||||
"id,billno,actpayamt,entry,entry.e_expenseitem,entry.e_remark,settletype,payeebanknum," +
|
|
||||||
"payeetype,payeenumber,payeracctbank,payeebank,payeebankname,paymenttype,org,bizdate,description," +
|
|
||||||
"shkd_pushstatus,shkd_businessnumber,shkd_businessid,shkd_businessname,billstatus,bankpaystatus"
|
|
||||||
, new QFilter("bizdate", QCP.large_equals, calculateTheDate(10))
|
, new QFilter("bizdate", QCP.large_equals, calculateTheDate(10))
|
||||||
.and("bankpaystatus", QCP.in, new String[]{"TS", "TF", "NC", "OF"})
|
.and("bankpaystatus", QCP.in, new String[]{"TS", "TF", "NC", "OF"})
|
||||||
.and("shkd_pushstatus", QCP.equals, "未结算")
|
.and("shkd_pushstatus", QCP.equals, "未结算")
|
||||||
.and(new QFilter("shkd_businessname", QCP.equals, "共享系统")).toArray());
|
.and(new QFilter("shkd_businessname", QCP.equals, "共享系统")).toArray());
|
||||||
|
|
||||||
DynamicObject[] objects5 = BusinessDataServiceHelper.load("cas_paybill",
|
DynamicObject[] objects5 = BusinessDataServiceHelper.load("cas_paybill", "id,billno,actpayamt,entry,entry.e_expenseitem,entry.e_remark,settletype,payeebanknum,payeetype,payeenumber,payeracctbank,payeebank,payeebankname,paymenttype,org,bizdate,description,shkd_pushstatus,shkd_businessnumber,shkd_businessid,shkd_businessname,billstatus,bankpaystatus"
|
||||||
"id,billno,actpayamt,entry,entry.e_expenseitem,entry.e_remark,settletype,payeebanknum," +
|
|
||||||
"payeetype,payeenumber,payeracctbank,payeebank,payeebankname,paymenttype,org,bizdate,description," +
|
|
||||||
"shkd_pushstatus,shkd_businessnumber,shkd_businessid,shkd_businessname,billstatus,bankpaystatus"
|
|
||||||
, new QFilter("bankpaystatus", QCP.equals, "TS")
|
, new QFilter("bankpaystatus", QCP.equals, "TS")
|
||||||
.and("shkd_pushstatus", QCP.equals, "结算失败")
|
.and("shkd_pushstatus", QCP.equals, "结算失败")
|
||||||
.and(new QFilter("shkd_businessname", QCP.equals, "共享系统")).toArray());
|
.and(new QFilter("shkd_businessname", QCP.equals, "共享系统")).toArray());
|
||||||
|
@ -93,10 +84,7 @@ public class PushTaskPlugin extends AbstractTask implements Plugin {
|
||||||
break;
|
break;
|
||||||
// 收款处理
|
// 收款处理
|
||||||
case "cas_recbill":
|
case "cas_recbill":
|
||||||
DynamicObject[] objects2 = BusinessDataServiceHelper.load("cas_recbill",
|
DynamicObject[] objects2 = BusinessDataServiceHelper.load("cas_recbill", "id,billno,entry,entry.e_expenseitem,settletype,entry.e_remark,receivingtype,payertype,org,bizdate,accountbank,payernumber,actrecamt,txt_description,shkd_pushstatus,shkd_businessnumber,shkd_businessid,shkd_businessname,billstatus"
|
||||||
"id,billno,entry,entry.e_expenseitem,settletype,entry.e_remark,receivingtype," +
|
|
||||||
"payertype,org,bizdate,accountbank,payernumber,actrecamt,txt_description,shkd_pushstatus," +
|
|
||||||
"shkd_businessnumber,shkd_businessid,shkd_businessname,billstatus"
|
|
||||||
, new QFilter("bizdate", QCP.large_equals, calculateTheDate(2))
|
, new QFilter("bizdate", QCP.large_equals, calculateTheDate(2))
|
||||||
.and("shkd_pushstatus", QCP.not_equals, "已结算")
|
.and("shkd_pushstatus", QCP.not_equals, "已结算")
|
||||||
.and("billstatus", QCP.equals, "D").toArray());
|
.and("billstatus", QCP.equals, "D").toArray());
|
||||||
|
@ -116,49 +104,14 @@ public class PushTaskPlugin extends AbstractTask implements Plugin {
|
||||||
* 收款 → 先有流水 后有单据
|
* 收款 → 先有流水 后有单据
|
||||||
*/
|
*/
|
||||||
case "bei_transdetail_cas":
|
case "bei_transdetail_cas":
|
||||||
// DynamicObject[] objects3 = BusinessDataServiceHelper.load("bei_transdetail_cas",
|
DynamicObject[] objects3 = BusinessDataServiceHelper.load("bei_transdetail_cas", "id,bizdate,billno,detailid,oppbank,oppunit,accountbank,description,company,oppbanknumber,bankdetailno,transbalance,description,debitamount,creditamount,shkd_pushstatus,shkd_businessnumber,shkd_businessid,shkd_businessname,recedbillentry,receiptno,recedbillentry.e_recedbilltype,recedbillentry.e_recedbillnumber,recedbillentry.e_recedbillid"
|
||||||
// "id,bizdate,oppbank,oppunit,accountbank,description,company,oppbanknumber," +
|
, new QFilter("bizdate", QCP.large_equals, getFirstDayOfMonth(3))
|
||||||
// "bankdetailno,transbalance,description,debitamount,creditamount,shkd_pushstatus," +
|
|
||||||
// "shkd_businessnumber,shkd_businessid,shkd_businessname,recedbillentry,receiptno," +
|
|
||||||
// "recedbillentry.e_recedbilltype,recedbillentry.e_recedbillnumber,recedbillentry.e_recedbillid"
|
|
||||||
// , new QFilter("bizdate", QCP.large_equals, calculateTheDate(7))
|
|
||||||
// .and("shkd_pushstatus", QCP.not_equals, "已推送").toArray());
|
|
||||||
|
|
||||||
DynamicObject[] objects3 = BusinessDataServiceHelper.load("bei_transdetail_cas",
|
|
||||||
"id,bizdate,billno,detailid,oppbank,oppunit,accountbank,description,company,oppbanknumber," +
|
|
||||||
"bankdetailno,transbalance,description,debitamount,creditamount,shkd_pushstatus," +
|
|
||||||
"shkd_businessnumber,shkd_businessid,shkd_businessname,recedbillentry,receiptno," +
|
|
||||||
"recedbillentry.e_recedbilltype,recedbillentry.e_recedbillnumber,recedbillentry.e_recedbillid"
|
|
||||||
, new QFilter("bizdate", QCP.large_equals, calculateTheDate(7))
|
|
||||||
.and("bizdate", QCP.less_equals, calculateTheDate(1))
|
.and("bizdate", QCP.less_equals, calculateTheDate(1))
|
||||||
.and("shkd_pushstatus", QCP.not_equals, "已推送").toArray());
|
.and("shkd_pushstatus", QCP.not_equals, "已推送").toArray());
|
||||||
|
|
||||||
Arrays.stream(objects3).forEach(dynamicObject -> {
|
Arrays.stream(objects3).forEach(dynamicObject -> {
|
||||||
DynamicObject companys = dynamicObject.getDynamicObject("company");
|
DynamicObject companys = dynamicObject.getDynamicObject("company");
|
||||||
if (("SIG1040100、" +
|
if (("SIG1040100、SIG1040901、SIG1040201、SIG1090000、SIG1040700、SIG000101135、SIG1040600、SIG1040300、SIG000100079、SIG000003001、SIG1041000、SIG1040802、SIG000101558、SIG1040808、SIG1040804、SIG1040803、SIG1040801、SIG1040400、SIG104010101、SIG104010102、SIG1040202、SIG1040203、SIG1040204、SIG1040902、SIG000101822、SIG000101799").contains(companys.getString("number"))) {
|
||||||
"SIG1040901、" +
|
|
||||||
"SIG1040201、" +
|
|
||||||
"SIG1090000、" +
|
|
||||||
"SIG1040700、" +
|
|
||||||
"SIG000101135、" +
|
|
||||||
"SIG1040600、" +
|
|
||||||
"SIG1040300、" +
|
|
||||||
"SIG000100079、" +
|
|
||||||
"SIG000003001、" +
|
|
||||||
"SIG1041000、" +
|
|
||||||
"SIG1040802、" +
|
|
||||||
"SIG000101558、" +
|
|
||||||
"SIG1040808、" +
|
|
||||||
"SIG1040804、" +
|
|
||||||
"SIG1040803、" +
|
|
||||||
"SIG1040801、" +
|
|
||||||
"SIG1040400、" +
|
|
||||||
"SIG104010101、" +
|
|
||||||
"SIG104010102、" +
|
|
||||||
"SIG1040202、" +
|
|
||||||
"SIG1040203、" +
|
|
||||||
"SIG1040204、" +
|
|
||||||
"SIG1040902").contains(companys.getString("number"))) {
|
|
||||||
ApiService.paymentSlipsJson(dynamicObject, "BIP", dynamicObjectList, null);
|
ApiService.paymentSlipsJson(dynamicObject, "BIP", dynamicObjectList, null);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -169,39 +122,13 @@ public class PushTaskPlugin extends AbstractTask implements Plugin {
|
||||||
* 星空推送不会有影响吧?
|
* 星空推送不会有影响吧?
|
||||||
*/
|
*/
|
||||||
case "bei_elecreceipt":
|
case "bei_elecreceipt":
|
||||||
DynamicObject[] elecreceiptArays = BusinessDataServiceHelper.load("bei_elecreceipt",
|
DynamicObject[] elecreceiptArays = BusinessDataServiceHelper.load("bei_elecreceipt", "id,billno,shkd_pushstatus,fileserverurl,bizdate,oppbank,oppbankname,description,company,oppbanknumber,oppunit,detaildatetime,accountbank,amount,use,debitamount,creditamount,detailid,uploadfilename,shkd_businessnumber,shkd_businessid,shkd_businessname,filepath,receiptno,ismatch"
|
||||||
"id,billno,shkd_pushstatus,fileserverurl,bizdate,oppbank,oppbankname,description,company," +
|
, new QFilter("bizdate", QCP.large_equals, getFirstDayOfMonth(3))
|
||||||
"oppbanknumber,oppunit,detaildatetime,accountbank,amount,use,debitamount,creditamount,detailid," +
|
|
||||||
"uploadfilename,shkd_businessnumber,shkd_businessid,shkd_businessname,filepath,receiptno,ismatch"
|
|
||||||
, new QFilter("bizdate", QCP.large_equals, getFirstDayOfMonth())
|
|
||||||
.and("ismatch", QCP.equals, "1")
|
.and("ismatch", QCP.equals, "1")
|
||||||
.and("shkd_pushstatus", QCP.not_equals, "已推送").toArray());
|
.and("shkd_pushstatus", QCP.not_equals, "已推送").toArray());
|
||||||
Arrays.stream(elecreceiptArays).forEach(dynamicObject -> {
|
Arrays.stream(elecreceiptArays).forEach(dynamicObject -> {
|
||||||
DynamicObject companys = dynamicObject.getDynamicObject("company");
|
DynamicObject companys = dynamicObject.getDynamicObject("company");
|
||||||
if (("SIG1040100、" +
|
if (("SIG1040100、SIG1040901、SIG1040201、SIG1090000、SIG1040700、SIG000101135、SIG1040600、SIG1040300、SIG000100079、SIG000003001、SIG1041000、SIG1040802、SIG000101558、SIG1040808、SIG1040804、SIG1040803、SIG1040801、SIG1040400、SIG104010101、SIG104010102、SIG1040202、SIG1040203、SIG1040204、SIG1040902、SIG000101822、SIG000101799").contains(companys.getString("number"))) {
|
||||||
"SIG1040901、" +
|
|
||||||
"SIG1040201、" +
|
|
||||||
"SIG1090000、" +
|
|
||||||
"SIG1040700、" +
|
|
||||||
"SIG000101135、" +
|
|
||||||
"SIG1040600、" +
|
|
||||||
"SIG1040300、" +
|
|
||||||
"SIG000100079、" +
|
|
||||||
"SIG000003001、" +
|
|
||||||
"SIG1041000、" +
|
|
||||||
"SIG1040802、" +
|
|
||||||
"SIG000101558、" +
|
|
||||||
"SIG1040808、" +
|
|
||||||
"SIG1040804、" +
|
|
||||||
"SIG1040803、" +
|
|
||||||
"SIG1040801、" +
|
|
||||||
"SIG1040400、" +
|
|
||||||
"SIG104010101、" +
|
|
||||||
"SIG104010102、" +
|
|
||||||
"SIG1040202、" +
|
|
||||||
"SIG1040203、" +
|
|
||||||
"SIG1040204、" +
|
|
||||||
"SIG1040902").contains(companys.getString("number"))) {
|
|
||||||
ApiService.paymentSlipsJson(dynamicObject, "BIP", dynamicObjectList, null);
|
ApiService.paymentSlipsJson(dynamicObject, "BIP", dynamicObjectList, null);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -233,15 +160,12 @@ public class PushTaskPlugin extends AbstractTask implements Plugin {
|
||||||
return date;
|
return date;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Date getFirstDayOfMonth() {
|
private static Date getFirstDayOfMonth(int month) {
|
||||||
// 获取当前日期
|
// 获取当前年份
|
||||||
LocalDate currentDate = LocalDate.now();
|
int currentYear = LocalDate.now().getYear();
|
||||||
|
|
||||||
// 获取当前年份和月份
|
// 获取指定年份和月份的第一天
|
||||||
YearMonth yearMonth = YearMonth.from(currentDate);
|
LocalDate firstDayOfMonth = LocalDate.of(currentYear, month, 1);
|
||||||
|
|
||||||
// 获取当前月份的第一天
|
|
||||||
LocalDate firstDayOfMonth = yearMonth.atDay(1);
|
|
||||||
|
|
||||||
// 将LocalDate转换为Date
|
// 将LocalDate转换为Date
|
||||||
return Date.from(firstDayOfMonth.atStartOfDay(ZoneId.systemDefault()).toInstant());
|
return Date.from(firstDayOfMonth.atStartOfDay(ZoneId.systemDefault()).toInstant());
|
||||||
|
|
Loading…
Reference in New Issue