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.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<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、查询宁波银行的交易记录
|
||||
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<String, String> headerMap = MapBuilder.<String, String>create(true)
|
||||
.put("apiCode", "8000360002")
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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+"'");
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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
|
||||
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<AccTransactionRes> list = ningboxService.queryAccDetails(accTransactionReq);
|
||||
System.out.println("查询到的条数"+list.size());
|
||||
|
|
|
@ -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; // 或者抛出异常,表示找不到对应的币种
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue