From 2301365d08c5444e80d64098f3fc179348b85e58 Mon Sep 17 00:00:00 2001 From: xiang2lin <251481237@qq.com> Date: Tue, 30 Jul 2024 17:33:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=81=E6=B3=A2=E9=93=B6=E8=A1=8C=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=202024=E5=B9=B47=E6=9C=8830=E6=97=A5=2017:33:52?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/AccLogPluginInitializer.java | 23 +++++++- .../NingboBankPayPluginInitializer.java | 10 +++- .../NingboBankPayResultPluginInitializer.java | 3 +- .../impl/NingboBankPluginServiceImpl.java | 4 +- .../cfgHome/plugin/ningbobank/pluginCfg.xml | 6 ++ .../spring/spring-buildpackage-dao.xml | 5 ++ .../spring/spring-buildpackage-plugin.xml | 7 +++ .../spring/spring-buildpackage-service.xml | 5 ++ .../test/java/com/hzya/frame/temButtom.java | 5 +- .../enums/CurrencyEnum.java | 55 +++++++++++++------ .../enums/PayStatusEnum.java | 18 +++++- 11 files changed, 115 insertions(+), 26 deletions(-) create mode 100644 buildpackage/src/main/resources/cfgHome/plugin/ningbobank/pluginCfg.xml create mode 100644 buildpackage/src/main/resources/cfgHome/plugin/ningbobank/spring/spring-buildpackage-dao.xml create mode 100644 buildpackage/src/main/resources/cfgHome/plugin/ningbobank/spring/spring-buildpackage-plugin.xml create mode 100644 buildpackage/src/main/resources/cfgHome/plugin/ningbobank/spring/spring-buildpackage-service.xml diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/plugin/AccLogPluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/plugin/AccLogPluginInitializer.java index 602932c2..899e427b 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/plugin/AccLogPluginInitializer.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/plugin/AccLogPluginInitializer.java @@ -9,6 +9,8 @@ import com.hzya.frame.base.PluginBaseEntity; import com.hzya.frame.ningboBankTreasury.dto.req.AccTransactionReq; import com.hzya.frame.ningboBankTreasury.dto.res.AccTransactionRes; import com.hzya.frame.ningboBankTreasury.util.NingboBankUtil; +import com.hzya.frame.plugin.a8bill.dao.IPayBillPluginInitializerDao; +import com.hzya.frame.plugin.a8bill.entity.PayBillEntity; import com.hzya.frame.plugin.a8bill.service.INingboBankPluginService; import com.hzya.frame.web.entity.BaseResult; import com.hzya.frame.web.entity.JsonResultEntity; @@ -16,7 +18,10 @@ import org.apache.commons.collections.CollectionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -29,6 +34,10 @@ public class AccLogPluginInitializer extends PluginBaseEntity { Logger logger = LoggerFactory.getLogger(getClass()); @Autowired private INingboBankPluginService ningboBankPluginService; + @Value("${OA.data_source_code}") + private String oa_data_source_code; + @Autowired + private IPayBillPluginInitializerDao payBillDao; /*** * 插件初始化方法 * @Author 👻👻👻👻👻👻👻👻 gjh @@ -106,11 +115,21 @@ public class AccLogPluginInitializer extends PluginBaseEntity { **/ @Override public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception { + PayBillEntity oaBillEntity = new PayBillEntity(); + oaBillEntity.setDataSourceCode(oa_data_source_code); + List> hashMaps = payBillDao.getOaBillData("SELECT field0002 from formmain_0053",oaBillEntity); + List accList = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(hashMaps)){ + for (HashMap hashMap : hashMaps) { + String field0002 = String.valueOf(hashMap.get("field0002")); + accList.add(field0002); + } + } //1、查询宁波银行的交易记录 AccTransactionReq accTransactionReq = new AccTransactionReq(); accTransactionReq.setCdSign(NingboBankUtil.SHOURU); - accTransactionReq.setBeginDate("2024-05-01"); - accTransactionReq.setEndDate("2024-05-30"); + accTransactionReq.setBeginDate("2024-07-01"); + accTransactionReq.setEndDate("2024-07-30"); accTransactionReq.setBankAccList(Convert.toList(String.class,"86041110000110293,86041110000109337,6223160030547665,6214180002001411023,6214180000002609736")); Map headerMap = MapBuilder.create(true) .put("apiCode", "8000360002") diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/plugin/NingboBankPayPluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/plugin/NingboBankPayPluginInitializer.java index 54edfb8a..e9ce1098 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/plugin/NingboBankPayPluginInitializer.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/plugin/NingboBankPayPluginInitializer.java @@ -17,6 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import javax.annotation.Resource; +import java.nio.charset.StandardCharsets; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -167,24 +168,29 @@ public class NingboBankPayPluginInitializer extends PluginBaseEntity { String sync_flag = ""; try { if(StrUtil.isEmpty(interId)){// 银行状态 1支付中 2 支付失败 null 未提交支付 0支付成功 + logDetails.setCreate_time(new Date()); + logDetails.setModify_time(new Date()); if(flag){ subState = "1"; sync_flag = " ,"+payMsg+" = '支付中'"; taskLivingDetailsService.saveLogToSuccess(logDetails); }else{ subState = "2"; - sync_flag = " ,"+payMsg+" = '"+attribute+"'"; + String resMsg = JSONObject.parseObject(attribute).getString("retMsg"); + sync_flag = " ,"+payMsg+" = '"+resMsg+"'"; taskLivingDetailsService.saveLogToFail(logDetails); } }else{ logDetails.setId(interId); + logDetails.setModify_time(new Date()); if(flag){ subState = "1"; sync_flag = " ,"+payMsg+" = '支付中'"; taskLivingDetailsService.saveLogFailToSuccess(logDetails); }else{ subState = "2"; - sync_flag = " ,"+payMsg+" = '"+attribute+"'"; + String resMsg = JSONObject.parseObject(attribute).getString("retMsg"); + sync_flag = " ,"+payMsg+" = '"+resMsg+"'"; taskLivingDetailsService.updateLogFailToSuccess(logDetails); } } diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/plugin/NingboBankPayResultPluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/plugin/NingboBankPayResultPluginInitializer.java index 3bed39bf..5f0c1705 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/plugin/NingboBankPayResultPluginInitializer.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/plugin/NingboBankPayResultPluginInitializer.java @@ -152,7 +152,8 @@ public class NingboBankPayResultPluginInitializer extends PluginBaseEntity { sb.append(" , "+fieldName+" = '2'"); } sb.append(" set "+payMsg+" = '"+msg+"'"); - if(status.equals("0")||status.equals("-2")||status.equals("-3")||status.equals("2")||status.equals("4")||status.equals("5")||status.equals("6")||status.equals("96")||status.equals("112")){ + //收否最终态 + if(PayStatusEnum.isFinally(status)){ sb.append(" , "+fieldName+" = '0'"); String payDateStr = DateUtil.now(); sb.append(" , "+payDate+" = '"+payDateStr+"'"); diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/service/impl/NingboBankPluginServiceImpl.java b/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/service/impl/NingboBankPluginServiceImpl.java index 16aa36a9..fee9e555 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/service/impl/NingboBankPluginServiceImpl.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/service/impl/NingboBankPluginServiceImpl.java @@ -91,7 +91,9 @@ private IFormmain0044Service formmain0044Service; String serialNo = StringUtil.nullConvert(accTransactionRes.getSerialNo()); String currency = StringUtil.nullConvert(CurrencyEnum.getNameByCode(accTransactionRes.getCurCode())); String uses = StringUtil.nullConvert(accTransactionRes.getUses()); - String curCode = StringUtil.nullConvert(accTransactionRes.getCurCode()); + //String curCode = StringUtil.nullConvert(accTransactionRes.getCurCode()); + //这里转换成货币符号 + String curCode = StringUtil.nullConvert(CurrencyEnum.getSymbolByCode(accTransactionRes.getCurCode())); String postScript = StringUtil.nullConvert(accTransactionRes.getPostScript()); String data = StrUtil.format(getAccLogXmlTemplate(),bankAcc,bankName,accName,oppAccNo,oppAccName,oppAccBank,transTime,serialId,amt,abs,bankType,serialNo,currency,uses,postScript,curCode); JSONObject paramsTemplate = new JSONObject(); diff --git a/buildpackage/src/main/resources/cfgHome/plugin/ningbobank/pluginCfg.xml b/buildpackage/src/main/resources/cfgHome/plugin/ningbobank/pluginCfg.xml new file mode 100644 index 00000000..b278a16d --- /dev/null +++ b/buildpackage/src/main/resources/cfgHome/plugin/ningbobank/pluginCfg.xml @@ -0,0 +1,6 @@ + + +NingboBankPlugin +宁波银行财资大管家插件 +202407250001 + diff --git a/buildpackage/src/main/resources/cfgHome/plugin/ningbobank/spring/spring-buildpackage-dao.xml b/buildpackage/src/main/resources/cfgHome/plugin/ningbobank/spring/spring-buildpackage-dao.xml new file mode 100644 index 00000000..a8d4b5ed --- /dev/null +++ b/buildpackage/src/main/resources/cfgHome/plugin/ningbobank/spring/spring-buildpackage-dao.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/buildpackage/src/main/resources/cfgHome/plugin/ningbobank/spring/spring-buildpackage-plugin.xml b/buildpackage/src/main/resources/cfgHome/plugin/ningbobank/spring/spring-buildpackage-plugin.xml new file mode 100644 index 00000000..3c2d53a3 --- /dev/null +++ b/buildpackage/src/main/resources/cfgHome/plugin/ningbobank/spring/spring-buildpackage-plugin.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/buildpackage/src/main/resources/cfgHome/plugin/ningbobank/spring/spring-buildpackage-service.xml b/buildpackage/src/main/resources/cfgHome/plugin/ningbobank/spring/spring-buildpackage-service.xml new file mode 100644 index 00000000..7d4d44a9 --- /dev/null +++ b/buildpackage/src/main/resources/cfgHome/plugin/ningbobank/spring/spring-buildpackage-service.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/buildpackage/src/test/java/com/hzya/frame/temButtom.java b/buildpackage/src/test/java/com/hzya/frame/temButtom.java index f8628b33..4ab3bcf7 100644 --- a/buildpackage/src/test/java/com/hzya/frame/temButtom.java +++ b/buildpackage/src/test/java/com/hzya/frame/temButtom.java @@ -65,10 +65,11 @@ public class temButtom { @Test public void accDetailTest(){ AccTransactionReq accTransactionReq = new AccTransactionReq(); - accTransactionReq.setBeginDate("2024-06-01"); - accTransactionReq.setEndDate("2024-06-30"); + accTransactionReq.setBeginDate("2024-07-01"); + accTransactionReq.setEndDate("2024-07-30"); accTransactionReq.setPageSize("10"); accTransactionReq.setCustId("0000112058"); + //accTransactionReq.setBankAccList(Convert.toList(String.class,"86041110000110293,86041110000109337,6223160030547665,6214180002001411023,6214180000002609736")); accTransactionReq.setBankAccList(Convert.toList(String.class,"86041110000110293,86041110000109337,6223160030547665,6214180002001411023,6214180000002609736")); List list = ningboxService.queryAccDetails(accTransactionReq); System.out.println("查询到的条数"+list.size()); diff --git a/service/src/main/java/com/hzya/frame/ningboBankTreasury/enums/CurrencyEnum.java b/service/src/main/java/com/hzya/frame/ningboBankTreasury/enums/CurrencyEnum.java index e23923e6..38e61b85 100644 --- a/service/src/main/java/com/hzya/frame/ningboBankTreasury/enums/CurrencyEnum.java +++ b/service/src/main/java/com/hzya/frame/ningboBankTreasury/enums/CurrencyEnum.java @@ -7,25 +7,28 @@ package com.hzya.frame.ningboBankTreasury.enums; **/ public enum CurrencyEnum { - 人民币("01","人民币"), - 美元("02","美元"), - 澳元("03","澳元"), - 欧元("04","欧元"), - 日元("05","日元"), - 英镑("06","英镑"), - 港币("07","港币"), - 新加坡元("08","新加坡元"), - 加拿大元("09","加拿大元"), - 瑞士("10","瑞士"), - 泰铢("23","泰铢"), - 新台币("92","新台币"), - ALL("ALL","多币"); - private final String name; - private final String code; + 人民币("01","人民币","CNY"), + 美元("02","美元","USD"), + 澳元("03","澳元","AUD"), + 欧元("04","欧元","EUR"), + 日元("05","日元","JPY"), + 英镑("06","英镑","GBP"), + 港币("07","港币","HKD"), + 新加坡元("08","新加坡元","SGD"), + 加拿大元("09","加拿大元","CAD"), + 瑞士("10","瑞士","CHF"), + 泰铢("23","泰铢","THB"), + 新台币("92","新台币","TWD"), + ALL("ALL","多币","ALL"); - CurrencyEnum(String name, String code) { - this.name = name; + private final String code; + private final String name; + //英文代码 CNY USD之类的 + private final String symbol; + CurrencyEnum(String code,String name,String symbol) { this.code = code; + this.name = name; + this.symbol = symbol; } public String getName() { @@ -35,6 +38,10 @@ public enum CurrencyEnum { return code; } + public String getSymbol() { + return symbol; + } + /** * 根据code获取币种名字 * @param code @@ -48,4 +55,18 @@ public enum CurrencyEnum { } return null; // 或者抛出异常,表示找不到对应的币种 } + + /** + * 根据code获取币种符号 + * @param code + * @return + */ + public static String getSymbolByCode(String code){ + for (CurrencyEnum currency : values()) { + if (currency.code.equals(code)) { + return currency.symbol; + } + } + return null; // 或者抛出异常,表示找不到对应的币种 + } } diff --git a/service/src/main/java/com/hzya/frame/ningboBankTreasury/enums/PayStatusEnum.java b/service/src/main/java/com/hzya/frame/ningboBankTreasury/enums/PayStatusEnum.java index 01a697f7..fa5bd341 100644 --- a/service/src/main/java/com/hzya/frame/ningboBankTreasury/enums/PayStatusEnum.java +++ b/service/src/main/java/com/hzya/frame/ningboBankTreasury/enums/PayStatusEnum.java @@ -32,7 +32,6 @@ public enum PayStatusEnum { // 枚举属性 private final String code; private final String description; - // 枚举构造函数 PayStatusEnum(String code, String description) { this.code = code; @@ -69,4 +68,21 @@ public enum PayStatusEnum { } throw new IllegalArgumentException("Unknown code: " + code); } + + /** + * 是否为最终态 + * @param code + * @return + */ + public static boolean isFinally(String code){ + return SUCCESS.code.equals(code) + || FAILED_DELETED.code.equals(code) + || APPROVAL_REJECTED_CLOSED.code.equals(code) + || TRANSACTION_FAILED.code.equals(code) + || FUND_ALLOCATION_FAILED.code.equals(code) + || LINKAGE_PAYMENT_FAILED_REFUNDED.code.equals(code) + || LINKAGE_PAYMENT_FAILED_REFUND_PENDING.code.equals(code) + || LINKAGE_PAYMENT_FAILED_REFUND_FAILED.code.equals(code) + || PAYMENT_REQUEST_FAILED.code.equals(code); + } }