From 35ea37fbfcaa5e62b166442beb2b1921daebf1af Mon Sep 17 00:00:00 2001 From: yuqh <123456> Date: Thu, 18 Jul 2024 15:05:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A0=83=E5=8D=9AOA=E5=AF=B9=E6=8E=A5=E5=AE=81?= =?UTF-8?q?=E6=B3=A2=E9=93=B6=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- buildpackage/pom.xml | 4 +- .../KunBNingBBankPluginInitializer.java | 104 +++++++++++++++++- .../plugin/KunBPayBillPluginInitializer.java | 49 +++------ 3 files changed, 123 insertions(+), 34 deletions(-) diff --git a/buildpackage/pom.xml b/buildpackage/pom.xml index fdaea1a9..670f60ab 100644 --- a/buildpackage/pom.xml +++ b/buildpackage/pom.xml @@ -94,9 +94,9 @@ - kunb + dongj - kunb + dongj diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/plugin/KunBNingBBankPluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/plugin/KunBNingBBankPluginInitializer.java index d5b0c2ff..86fc3ece 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/plugin/KunBNingBBankPluginInitializer.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/plugin/KunBNingBBankPluginInitializer.java @@ -1,20 +1,24 @@ package com.hzya.frame.plugin.a8bill.plugin; import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.hzya.frame.base.PluginBaseEntity; import com.hzya.frame.plugin.a8bill.dao.IPayBillPluginInitializerDao; import com.hzya.frame.plugin.a8bill.entity.PayBillEntity; import com.hzya.frame.plugin.a8bill.util.NingBBankUtil; import com.hzya.frame.seeyon.paybill.service.IPayBillService; +import com.hzya.frame.sysnew.integtationTaskLivingDetails.entity.IntegrationTaskLivingDetailsEntity; import com.hzya.frame.web.entity.JsonResultEntity; import org.apache.commons.collections.CollectionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import java.util.Date; import java.util.HashMap; import java.util.List; +import java.util.Map; /** * 堃博OA单据推送宁波银行 @@ -57,7 +61,105 @@ public class KunBNingBBankPluginInitializer extends PluginBaseEntity{ } @Override public JsonResultEntity executeBusiness(JSONObject requestJson) { + PayBillEntity oaBillEntity = new PayBillEntity(); + String dataSourceCode = "KUNBOA"; + oaBillEntity.setDataSourceCode(dataSourceCode); + StringBuffer stringBuffer = new StringBuffer(); + stringBuffer.append("select field0001 as serialNo,field0031 as corpCode,field0012 as rcvAcc,'' as rcvBankName,field0030 as payAcc,field0032 as rcvBankNo,field0012 as rcvName,field0033 as purpose,field0008 as amt,'field0034' as fieldName,'formmain_0020' as tableName, as field0036 payMsg from formmain_0020 where field0034 = '1' and field0012 is not null and field0030 is not null"); + try { + List> hashMaps = payBillDao.getOaBillData(stringBuffer.toString(),oaBillEntity); + if(CollectionUtils.isNotEmpty(hashMaps)){ + for (HashMap hashMap : hashMaps) { + JSONObject main = new JSONObject(); + for(String key:hashMap.keySet()) { + main.put(key, hashMap.get(key)); + } + String tableName = main.getString("tableName"); + String fieldName = main.getString("fieldName"); + String payMsg = main.getString("payMsg"); + try { - return new JsonResultEntity("成功",true,new JsonResultEntity()); + logger.info("获取到付款单状态的数据"+main.toString()); + String apiCode = "8000310001"; + JSONObject reMain = new JSONObject(); + reMain.put("serialNo",main.getString("serialNo")); + String result = NingBBankUtil.sendU9cTOCrmEsb(reMain.toString(),apiCode); + logger.info("获取付款状态结果"+result); + + JSONObject resultObj = JSON.parseObject(result); + JSONObject attribute = resultObj.getJSONObject("attribute"); + boolean flag = resultObj.getBoolean("flag"); + + StringBuffer sb = new StringBuffer(); + sb.append("update "+tableName); + if(flag){ + JSONObject data = attribute.getJSONObject("Data"); + JSONObject transferDtl = data.getJSONObject("transferDtl"); + String status = transferDtl.getString("status"); + +// if(1==1){ +// status = "0"; +// } + String msg = formatStatus(status); + if(StrUtil.isEmpty(msg)){ + msg ="未知交易状态,请联系管理员查证"; + sb.append(" set "+payMsg+" = '"+msg+"'"); + 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")){ + sb.append(" , "+fieldName+" = '0'"); + } + }else { + sb.append(" set "+payMsg+" = '查询失败,请联系管理员'"); + sb.append(" ,"+fieldName+" = '2'"); + + } + sb.append(" where id = '"+main.getString("id")+"'"); + //修改推送状态,防止重复推送 + oaBillEntity.setSql(sb.toString()); + payBillDao.updateStateForId(sb.toString(),oaBillEntity); + } catch (Exception e) { + StringBuffer sb = new StringBuffer(); + sb.append("update "+tableName ); + sb.append(" set "+payMsg+" = '获取交易状态失败'"); + sb.append(" , "+fieldName+" = '2'"); + sb.append(" where id = '"+main.getString("id")+"'"); + logger.info("获取交易状态失败,更新交易信息为失败状态,后续不在查询"); + e.printStackTrace(); + } + } + } + } catch (Exception e) { + e.printStackTrace(); + } + return new JsonResultEntity("成功",true,new JsonResultEntity()); + } + + public String formatStatus(String status){ + + Map statusMap = new HashMap<>(); + statusMap.put("0","交易成功"); + statusMap.put("-2","已删除"); + statusMap.put("-3","审批打回交易关闭"); + statusMap.put("2","交易失败"); + statusMap.put("4","交易失败,资金下拨失败"); + statusMap.put("5","联动支付失败,资金退回成功"); + statusMap.put("6","联动支付失败,资金退回查证中、"); + statusMap.put("96","联动支付失败,资金退回失败"); + statusMap.put("112","请款失败"); + statusMap.put("-1","驳回"); + statusMap.put("1","交易待查证"); + statusMap.put("3","待发送"); + statusMap.put("95","审批通过"); + statusMap.put("7","暂存"); + statusMap.put("-4","经办撤回"); + statusMap.put("111","请款查证中"); + statusMap.put("113","请款成功,交易待发送"); + statusMap.put("114","联动支付成功,智能支付交易待发送"); + if(Long.valueOf(status)>=11 && Long.valueOf(status) <=94){ + return "待审批"; + } + return statusMap.get(status); } } diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/plugin/KunBPayBillPluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/plugin/KunBPayBillPluginInitializer.java index 0a6c5d76..f40aebcc 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/plugin/KunBPayBillPluginInitializer.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/a8bill/plugin/KunBPayBillPluginInitializer.java @@ -52,7 +52,7 @@ public class KunBPayBillPluginInitializer extends PluginBaseEntity{ @Override public String getPluginName() { - return "KunBPayBillPluginInitializer插件"; + return "堃博OA付款单同步宁波银行"; } @Override @@ -76,7 +76,7 @@ public class KunBPayBillPluginInitializer extends PluginBaseEntity{ try { StringBuffer sb = new StringBuffer(); - if(null != requestJson && StrUtil.isNotEmpty(requestJson.getString("code"))){ + if(StrUtil.isNotEmpty(rootAppPk)){ String code = requestJson.getString("code"); sb.append(" and id = '"+rootAppPk+"'"); }else{ @@ -84,30 +84,12 @@ public class KunBPayBillPluginInitializer extends PluginBaseEntity{ } PayBillEntity oaBillEntity = new PayBillEntity(); - String dataSourceCode = requestJson.getString("sourceCode"); + String dataSourceCode = "KUNBOA"; oaBillEntity.setDataSourceCode(dataSourceCode); StringBuffer stringBuffer = new StringBuffer(); - stringBuffer.append("select \n" + - "id as id,\n" + - "serialno as serialNo,\n" + - "corpcode as corpCode,\n" + - "payacc as payAcc,\n" + - "rcvacc as rcvAcc,\n" + - "rcvbankname as rcvBankName,\n" + - "rcvbankno as rcvBankNo,\n" + - "rcvname as rcvName,\n" + - "purpose as purpose,\n" + - "remark as remark,\n" + - "issubscribe as isSubscribe,\n" + - "difbank as difBank,\n" + - "areasign as areaSign,\n" + - "amt as amt,\n" + - "'subState' as fieldName,\n" + - "'formmain_bank' as tableName,\n" + - "amt as amt,\n" + - "wishpaytime as wishPayTime,\n" + - "isforindividual as isForIndividual\n" + - "from formmain_bank where 1=1 " ); + + //备用金申请单 + stringBuffer.append("select * from v_hzya_pay" ); stringBuffer.append(sb.toString()); List> hashMaps = payBillDao.getOaBillData(stringBuffer.toString(),oaBillEntity); if(CollectionUtils.isNotEmpty(hashMaps)){ @@ -133,30 +115,35 @@ public class KunBPayBillPluginInitializer extends PluginBaseEntity{ String subState = ""; String fieldName = main.getString("fieldName"); String tableName = main.getString("tableName"); + String payMsg = main.getString("payMsg"); String str = ""; + String sync_flag = ""; try { - if(StrUtil.isEmpty(interId)){ + if(StrUtil.isEmpty(interId)){//todo 银行状态 1支付中 2 支付失败 null 未提交支付 0支付成功 if(flag){ - subState = "Y"; + subState = "1"; + sync_flag = " ,"+payMsg+" = '支付中'"; taskLivingDetailsService.saveLogToSuccess(logDetails); }else{ - subState = "N"; + subState = "2"; taskLivingDetailsService.saveLogToFail(logDetails); } }else{ logDetails.setId(interId); if(flag){ - subState = "Y"; + subState = "1"; + sync_flag = " ,"+payMsg+" = '支付中'"; taskLivingDetailsService.saveLogFailToSuccess(logDetails); }else{ - subState = "N"; + subState = "2"; taskLivingDetailsService.updateLogFailToSuccess(logDetails); } } - str = "update "+tableName+" set " + fieldName + "= '" +subState+"'," +"subMsg = '"+attribute+"'"+"where id = '"+main.getString("id")+"'"; + + str = "update "+tableName+" set " + fieldName + "= '" +subState+"'," +"subMsg = '"+attribute+"'"+sync_flag+"where id = '"+main.getString("id")+"'"; } catch (Exception e) { subState = "N"; - str = "update "+tableName+" set " + fieldName + "= '" +subState+"'," +"subMsg = '"+attribute+"'"+"where id = '"+main.getString("id")+"'"; + str = "update "+tableName+" set " + fieldName + "= '" +subState+"'," +"subMsg = '"+attribute+"' "+"where id = '"+main.getString("id")+"'"; logger.info("保存日志失败"+e.getMessage()); oaBillEntity.setSql(str); payBillDao.updateStateForId(str,oaBillEntity);