parent
1eac206f28
commit
2301365d08
|
@ -9,6 +9,8 @@ import com.hzya.frame.base.PluginBaseEntity;
|
||||||
import com.hzya.frame.ningboBankTreasury.dto.req.AccTransactionReq;
|
import com.hzya.frame.ningboBankTreasury.dto.req.AccTransactionReq;
|
||||||
import com.hzya.frame.ningboBankTreasury.dto.res.AccTransactionRes;
|
import com.hzya.frame.ningboBankTreasury.dto.res.AccTransactionRes;
|
||||||
import com.hzya.frame.ningboBankTreasury.util.NingboBankUtil;
|
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.plugin.a8bill.service.INingboBankPluginService;
|
||||||
import com.hzya.frame.web.entity.BaseResult;
|
import com.hzya.frame.web.entity.BaseResult;
|
||||||
import com.hzya.frame.web.entity.JsonResultEntity;
|
import com.hzya.frame.web.entity.JsonResultEntity;
|
||||||
|
@ -16,7 +18,10 @@ import org.apache.commons.collections.CollectionUtils;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
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.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
@ -29,6 +34,10 @@ public class AccLogPluginInitializer extends PluginBaseEntity {
|
||||||
Logger logger = LoggerFactory.getLogger(getClass());
|
Logger logger = LoggerFactory.getLogger(getClass());
|
||||||
@Autowired
|
@Autowired
|
||||||
private INingboBankPluginService ningboBankPluginService;
|
private INingboBankPluginService ningboBankPluginService;
|
||||||
|
@Value("${OA.data_source_code}")
|
||||||
|
private String oa_data_source_code;
|
||||||
|
@Autowired
|
||||||
|
private IPayBillPluginInitializerDao payBillDao;
|
||||||
/***
|
/***
|
||||||
* 插件初始化方法
|
* 插件初始化方法
|
||||||
* @Author 👻👻👻👻👻👻👻👻 gjh
|
* @Author 👻👻👻👻👻👻👻👻 gjh
|
||||||
|
@ -106,11 +115,21 @@ public class AccLogPluginInitializer extends PluginBaseEntity {
|
||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception {
|
public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception {
|
||||||
|
PayBillEntity oaBillEntity = new PayBillEntity();
|
||||||
|
oaBillEntity.setDataSourceCode(oa_data_source_code);
|
||||||
|
List<HashMap<String, Object>> hashMaps = payBillDao.getOaBillData("SELECT field0002 from formmain_0053",oaBillEntity);
|
||||||
|
List<String> accList = new ArrayList<>();
|
||||||
|
if (CollectionUtils.isNotEmpty(hashMaps)){
|
||||||
|
for (HashMap<String, Object> hashMap : hashMaps) {
|
||||||
|
String field0002 = String.valueOf(hashMap.get("field0002"));
|
||||||
|
accList.add(field0002);
|
||||||
|
}
|
||||||
|
}
|
||||||
//1、查询宁波银行的交易记录
|
//1、查询宁波银行的交易记录
|
||||||
AccTransactionReq accTransactionReq = new AccTransactionReq();
|
AccTransactionReq accTransactionReq = new AccTransactionReq();
|
||||||
accTransactionReq.setCdSign(NingboBankUtil.SHOURU);
|
accTransactionReq.setCdSign(NingboBankUtil.SHOURU);
|
||||||
accTransactionReq.setBeginDate("2024-05-01");
|
accTransactionReq.setBeginDate("2024-07-01");
|
||||||
accTransactionReq.setEndDate("2024-05-30");
|
accTransactionReq.setEndDate("2024-07-30");
|
||||||
accTransactionReq.setBankAccList(Convert.toList(String.class,"86041110000110293,86041110000109337,6223160030547665,6214180002001411023,6214180000002609736"));
|
accTransactionReq.setBankAccList(Convert.toList(String.class,"86041110000110293,86041110000109337,6223160030547665,6214180002001411023,6214180000002609736"));
|
||||||
Map<String, String> headerMap = MapBuilder.<String, String>create(true)
|
Map<String, String> headerMap = MapBuilder.<String, String>create(true)
|
||||||
.put("apiCode", "8000360002")
|
.put("apiCode", "8000360002")
|
||||||
|
|
|
@ -17,6 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -167,24 +168,29 @@ public class NingboBankPayPluginInitializer extends PluginBaseEntity {
|
||||||
String sync_flag = "";
|
String sync_flag = "";
|
||||||
try {
|
try {
|
||||||
if(StrUtil.isEmpty(interId)){// 银行状态 1支付中 2 支付失败 null 未提交支付 0支付成功
|
if(StrUtil.isEmpty(interId)){// 银行状态 1支付中 2 支付失败 null 未提交支付 0支付成功
|
||||||
|
logDetails.setCreate_time(new Date());
|
||||||
|
logDetails.setModify_time(new Date());
|
||||||
if(flag){
|
if(flag){
|
||||||
subState = "1";
|
subState = "1";
|
||||||
sync_flag = " ,"+payMsg+" = '支付中'";
|
sync_flag = " ,"+payMsg+" = '支付中'";
|
||||||
taskLivingDetailsService.saveLogToSuccess(logDetails);
|
taskLivingDetailsService.saveLogToSuccess(logDetails);
|
||||||
}else{
|
}else{
|
||||||
subState = "2";
|
subState = "2";
|
||||||
sync_flag = " ,"+payMsg+" = '"+attribute+"'";
|
String resMsg = JSONObject.parseObject(attribute).getString("retMsg");
|
||||||
|
sync_flag = " ,"+payMsg+" = '"+resMsg+"'";
|
||||||
taskLivingDetailsService.saveLogToFail(logDetails);
|
taskLivingDetailsService.saveLogToFail(logDetails);
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
logDetails.setId(interId);
|
logDetails.setId(interId);
|
||||||
|
logDetails.setModify_time(new Date());
|
||||||
if(flag){
|
if(flag){
|
||||||
subState = "1";
|
subState = "1";
|
||||||
sync_flag = " ,"+payMsg+" = '支付中'";
|
sync_flag = " ,"+payMsg+" = '支付中'";
|
||||||
taskLivingDetailsService.saveLogFailToSuccess(logDetails);
|
taskLivingDetailsService.saveLogFailToSuccess(logDetails);
|
||||||
}else{
|
}else{
|
||||||
subState = "2";
|
subState = "2";
|
||||||
sync_flag = " ,"+payMsg+" = '"+attribute+"'";
|
String resMsg = JSONObject.parseObject(attribute).getString("retMsg");
|
||||||
|
sync_flag = " ,"+payMsg+" = '"+resMsg+"'";
|
||||||
taskLivingDetailsService.updateLogFailToSuccess(logDetails);
|
taskLivingDetailsService.updateLogFailToSuccess(logDetails);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -152,7 +152,8 @@ public class NingboBankPayResultPluginInitializer extends PluginBaseEntity {
|
||||||
sb.append(" , "+fieldName+" = '2'");
|
sb.append(" , "+fieldName+" = '2'");
|
||||||
}
|
}
|
||||||
sb.append(" set "+payMsg+" = '"+msg+"'");
|
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'");
|
sb.append(" , "+fieldName+" = '0'");
|
||||||
String payDateStr = DateUtil.now();
|
String payDateStr = DateUtil.now();
|
||||||
sb.append(" , "+payDate+" = '"+payDateStr+"'");
|
sb.append(" , "+payDate+" = '"+payDateStr+"'");
|
||||||
|
|
|
@ -91,7 +91,9 @@ private IFormmain0044Service formmain0044Service;
|
||||||
String serialNo = StringUtil.nullConvert(accTransactionRes.getSerialNo());
|
String serialNo = StringUtil.nullConvert(accTransactionRes.getSerialNo());
|
||||||
String currency = StringUtil.nullConvert(CurrencyEnum.getNameByCode(accTransactionRes.getCurCode()));
|
String currency = StringUtil.nullConvert(CurrencyEnum.getNameByCode(accTransactionRes.getCurCode()));
|
||||||
String uses = StringUtil.nullConvert(accTransactionRes.getUses());
|
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 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);
|
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();
|
JSONObject paramsTemplate = new JSONObject();
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<plugin>
|
||||||
|
<id>NingboBankPlugin</id>
|
||||||
|
<name>宁波银行财资大管家插件</name>
|
||||||
|
<category>202407250001</category>
|
||||||
|
</plugin>
|
|
@ -0,0 +1,5 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
|
||||||
|
<beans default-autowire="byName">
|
||||||
|
<bean name="payBillPluginInitializerDaoImpl" class="com.hzya.frame.plugin.a8bill.dao.impl.PayBillPluginInitializerDaoImpl" />
|
||||||
|
</beans>
|
|
@ -0,0 +1,7 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
|
||||||
|
<beans default-autowire="byName">
|
||||||
|
<bean name="accLogPluginInitializer" class="com.hzya.frame.plugin.a8bill.plugin.AccLogPluginInitializer" />
|
||||||
|
<bean name="ningboBankPayPluginInitializer" class="com.hzya.frame.plugin.a8bill.plugin.NingboBankPayPluginInitializer" />
|
||||||
|
<bean name="ningboBankPayResultPluginInitializer" class="com.hzya.frame.plugin.a8bill.plugin.NingboBankPayResultPluginInitializer" />
|
||||||
|
</beans>
|
|
@ -0,0 +1,5 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
|
||||||
|
<beans default-autowire="byName">
|
||||||
|
<bean name="ningboBankPluginServiceImpl" class="com.hzya.frame.plugin.a8bill.service.impl.NingboBankPluginServiceImpl" />
|
||||||
|
</beans>
|
|
@ -65,10 +65,11 @@ public class temButtom {
|
||||||
@Test
|
@Test
|
||||||
public void accDetailTest(){
|
public void accDetailTest(){
|
||||||
AccTransactionReq accTransactionReq = new AccTransactionReq();
|
AccTransactionReq accTransactionReq = new AccTransactionReq();
|
||||||
accTransactionReq.setBeginDate("2024-06-01");
|
accTransactionReq.setBeginDate("2024-07-01");
|
||||||
accTransactionReq.setEndDate("2024-06-30");
|
accTransactionReq.setEndDate("2024-07-30");
|
||||||
accTransactionReq.setPageSize("10");
|
accTransactionReq.setPageSize("10");
|
||||||
accTransactionReq.setCustId("0000112058");
|
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"));
|
accTransactionReq.setBankAccList(Convert.toList(String.class,"86041110000110293,86041110000109337,6223160030547665,6214180002001411023,6214180000002609736"));
|
||||||
List<AccTransactionRes> list = ningboxService.queryAccDetails(accTransactionReq);
|
List<AccTransactionRes> list = ningboxService.queryAccDetails(accTransactionReq);
|
||||||
System.out.println("查询到的条数"+list.size());
|
System.out.println("查询到的条数"+list.size());
|
||||||
|
|
|
@ -7,25 +7,28 @@ package com.hzya.frame.ningboBankTreasury.enums;
|
||||||
**/
|
**/
|
||||||
public enum CurrencyEnum {
|
public enum CurrencyEnum {
|
||||||
|
|
||||||
人民币("01","人民币"),
|
人民币("01","人民币","CNY"),
|
||||||
美元("02","美元"),
|
美元("02","美元","USD"),
|
||||||
澳元("03","澳元"),
|
澳元("03","澳元","AUD"),
|
||||||
欧元("04","欧元"),
|
欧元("04","欧元","EUR"),
|
||||||
日元("05","日元"),
|
日元("05","日元","JPY"),
|
||||||
英镑("06","英镑"),
|
英镑("06","英镑","GBP"),
|
||||||
港币("07","港币"),
|
港币("07","港币","HKD"),
|
||||||
新加坡元("08","新加坡元"),
|
新加坡元("08","新加坡元","SGD"),
|
||||||
加拿大元("09","加拿大元"),
|
加拿大元("09","加拿大元","CAD"),
|
||||||
瑞士("10","瑞士"),
|
瑞士("10","瑞士","CHF"),
|
||||||
泰铢("23","泰铢"),
|
泰铢("23","泰铢","THB"),
|
||||||
新台币("92","新台币"),
|
新台币("92","新台币","TWD"),
|
||||||
ALL("ALL","多币");
|
ALL("ALL","多币","ALL");
|
||||||
private final String name;
|
|
||||||
private final String code;
|
|
||||||
|
|
||||||
CurrencyEnum(String name, String code) {
|
private final String code;
|
||||||
this.name = name;
|
private final String name;
|
||||||
|
//英文代码 CNY USD之类的
|
||||||
|
private final String symbol;
|
||||||
|
CurrencyEnum(String code,String name,String symbol) {
|
||||||
this.code = code;
|
this.code = code;
|
||||||
|
this.name = name;
|
||||||
|
this.symbol = symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getName() {
|
public String getName() {
|
||||||
|
@ -35,6 +38,10 @@ public enum CurrencyEnum {
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getSymbol() {
|
||||||
|
return symbol;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据code获取币种名字
|
* 根据code获取币种名字
|
||||||
* @param code
|
* @param code
|
||||||
|
@ -48,4 +55,18 @@ public enum CurrencyEnum {
|
||||||
}
|
}
|
||||||
return null; // 或者抛出异常,表示找不到对应的币种
|
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; // 或者抛出异常,表示找不到对应的币种
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,7 +32,6 @@ public enum PayStatusEnum {
|
||||||
// 枚举属性
|
// 枚举属性
|
||||||
private final String code;
|
private final String code;
|
||||||
private final String description;
|
private final String description;
|
||||||
|
|
||||||
// 枚举构造函数
|
// 枚举构造函数
|
||||||
PayStatusEnum(String code, String description) {
|
PayStatusEnum(String code, String description) {
|
||||||
this.code = code;
|
this.code = code;
|
||||||
|
@ -69,4 +68,21 @@ public enum PayStatusEnum {
|
||||||
}
|
}
|
||||||
throw new IllegalArgumentException("Unknown code: " + code);
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue