|
@@ -32,6 +32,9 @@ import java.util.Map;
|
|
|
/**
|
|
|
* 交易明细API插件类
|
|
|
* 用于处理交易明细相关的操作,如保存交易明细信息。
|
|
|
+ *
|
|
|
+ * @author turborao
|
|
|
+ * @date 2025/05/24
|
|
|
*/
|
|
|
@ApiController(value = "nstc", desc = "对接九恒星交易明细")
|
|
|
@ApiMapping("/nstc")
|
|
@@ -167,17 +170,23 @@ public class TransDetailApiPlugin implements Serializable {
|
|
|
/**
|
|
|
* 资金组织判断
|
|
|
*/
|
|
|
- String company = jsonObject.getString("company");
|
|
|
- DynamicObject companyByn = BusinessDataServiceHelper.loadSingle("bos_org",new QFilter[]{new QFilter("number", QCP.equals, company)});
|
|
|
- if(EmptyUtils.isEmpty(companyByn)) {
|
|
|
- errMsg.append("资金组织不存在;");
|
|
|
- }else {
|
|
|
- transDetail.set(BeiTransdetailConstantInfo.COMPANY, companyByn); // 资金组织Number
|
|
|
+ //String company = jsonObject.getString("company");
|
|
|
+ JSONObject companyObj = jsonObject.getJSONObject("company");
|
|
|
+ if (EmptyUtils.isNotEmpty(companyObj)) {
|
|
|
+ String company = companyObj.getString("id");
|
|
|
+ DynamicObject companyByn = BusinessDataServiceHelper.loadSingle("bos_org", new QFilter[]{new QFilter("number", QCP.equals, company)});
|
|
|
+ if (EmptyUtils.isEmpty(companyByn)) {
|
|
|
+ errMsg.append("资金组织不存在;");
|
|
|
+ } else {
|
|
|
+ transDetail.set(BeiTransdetailConstantInfo.COMPANY, companyByn); // 资金组织Number
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ errMsg.append("组织不能为空;");
|
|
|
}
|
|
|
/**
|
|
|
* 银行账号Number
|
|
|
*/
|
|
|
- String bankAccount = jsonObject.getString("bankAccount");
|
|
|
+ String bankAccount = jsonObject.getString("bankAccountNumber");
|
|
|
DynamicObject bankAccountByn = BusinessDataServiceHelper.loadSingle("bd_accountbanks",new QFilter[]{new QFilter("number", QCP.equals, bankAccount)});
|
|
|
if (EmptyUtils.isEmpty(bankAccountByn)){
|
|
|
errMsg.append("银行账号不存在;");
|
|
@@ -188,12 +197,16 @@ public class TransDetailApiPlugin implements Serializable {
|
|
|
/**
|
|
|
* 币种ID
|
|
|
*/
|
|
|
- String currency = jsonObject.getString("currency");
|
|
|
- DynamicObject currencyByn = BusinessDataServiceHelper.loadSingle("bd_currency",new QFilter[]{new QFilter("number", QCP.equals, currency)});
|
|
|
- if (EmptyUtils.isEmpty(currencyByn)){
|
|
|
- errMsg.append("币种不存在;");
|
|
|
- }else {
|
|
|
- transDetail.set(BeiTransdetailConstantInfo.CURRENCY, currencyByn); // 币种Number
|
|
|
+ //String currency = jsonObject.getString("currency");
|
|
|
+ JSONObject currencyObj = jsonObject.getJSONObject("currency");
|
|
|
+ if (EmptyUtils.isNotEmpty(currencyObj)) {
|
|
|
+ String currency = currencyObj.getString("id");
|
|
|
+ DynamicObject currencyByn = BusinessDataServiceHelper.loadSingle("bd_currency", new QFilter[]{new QFilter("number", QCP.equals, currency)});
|
|
|
+ if (EmptyUtils.isEmpty(currencyByn)) {
|
|
|
+ errMsg.append("币种不存在;");
|
|
|
+ } else {
|
|
|
+ transDetail.set(BeiTransdetailConstantInfo.CURRENCY, currencyByn); // 币种Number
|
|
|
+ }
|
|
|
}
|
|
|
String bizTimeStr = jsonObject.getString("bizTime");
|
|
|
Date bizTime = DateUtils.parseDateTime(bizTimeStr, "yyyy-MM-dd HH:mm:ss");
|
|
@@ -228,17 +241,21 @@ public class TransDetailApiPlugin implements Serializable {
|
|
|
* 入账状态
|
|
|
* 待入账=0,已入账=1,无需入账=2
|
|
|
*/
|
|
|
- String isReced = jsonObject.getString("isReced");
|
|
|
- switch (isReced) {
|
|
|
- case "0":
|
|
|
- transDetail.set(BeiTransdetailConstantInfo.RECEREDTYPE, "0");
|
|
|
- break;
|
|
|
- case "1":
|
|
|
- transDetail.set(BeiTransdetailConstantInfo.RECEREDTYPE, "3");
|
|
|
- break;
|
|
|
- default:
|
|
|
- errMsg.append("入账状态不存在;");
|
|
|
- break;
|
|
|
+ //String isReced = jsonObject.getString("isReced");
|
|
|
+ JSONObject isRecedObj = jsonObject.getJSONObject("isReced");
|
|
|
+ if (EmptyUtils.isNotEmpty(isRecedObj)) {
|
|
|
+ String isReced = isRecedObj.getString("value");
|
|
|
+ switch (isReced) {
|
|
|
+ case "0":
|
|
|
+ transDetail.set(BeiTransdetailConstantInfo.RECEREDTYPE, "0");
|
|
|
+ break;
|
|
|
+ case "1":
|
|
|
+ transDetail.set(BeiTransdetailConstantInfo.RECEREDTYPE, "3");
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ errMsg.append("入账状态不存在;");
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -260,22 +277,26 @@ public class TransDetailApiPlugin implements Serializable {
|
|
|
* 存款结息 15
|
|
|
* 定期收益 16
|
|
|
*/
|
|
|
- String bizType = jsonObject.getString("bizType");
|
|
|
- switch (bizType) {
|
|
|
- case "1":
|
|
|
- transDetail.set(BeiTransdetailConstantInfo.BIZTYPE, "1");
|
|
|
- break;
|
|
|
- case "2":
|
|
|
- transDetail.set(BeiTransdetailConstantInfo.BIZTYPE, "2");
|
|
|
- transDetail.set(BeiTransdetailConstantInfo.ISTRANSUP, true); // 是否上划
|
|
|
- break;
|
|
|
- case "3":
|
|
|
- transDetail.set(BeiTransdetailConstantInfo.BIZTYPE, "3");
|
|
|
- transDetail.set(BeiTransdetailConstantInfo.ISTRANSDOWN, true); // 是否下拨
|
|
|
- break;
|
|
|
- default:
|
|
|
- errMsg.append("业务类型不存在;");
|
|
|
- break;
|
|
|
+
|
|
|
+ JSONObject bizTypeObj = jsonObject.getJSONObject("bizType");
|
|
|
+ if (EmptyUtils.isNotEmpty(bizTypeObj)) {
|
|
|
+ String bizType = jsonObject.getString("value");
|
|
|
+ switch (bizType) {
|
|
|
+ case "1":
|
|
|
+ transDetail.set(BeiTransdetailConstantInfo.BIZTYPE, "1");
|
|
|
+ break;
|
|
|
+ case "2":
|
|
|
+ transDetail.set(BeiTransdetailConstantInfo.BIZTYPE, "2");
|
|
|
+ transDetail.set(BeiTransdetailConstantInfo.ISTRANSUP, true); // 是否上划
|
|
|
+ break;
|
|
|
+ case "3":
|
|
|
+ transDetail.set(BeiTransdetailConstantInfo.BIZTYPE, "3");
|
|
|
+ transDetail.set(BeiTransdetailConstantInfo.ISTRANSDOWN, true); // 是否下拨
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ errMsg.append("业务类型不存在;");
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
if(EmptyUtils.isNotEmpty(errMsg)){
|
|
|
return errMsg.toString();
|
|
@@ -330,6 +351,14 @@ public class TransDetailApiPlugin implements Serializable {
|
|
|
return errMsg.toString();
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 保存电子回单信息
|
|
|
+ *
|
|
|
+ * @param transDetail 交易明细对象,包含交易的详细信息
|
|
|
+ * @param elecreceipt 电子回单对象,如果已存在则不为空
|
|
|
+ * @param electricAddress 电子回单的地址,用于从FTP服务器下载文件
|
|
|
+ * @return 返回错误信息,如果没有错误则返回空字符串
|
|
|
+ */
|
|
|
private String saveElecreceipt( DynamicObject transDetail,DynamicObject elecreceipt,String electricAddress) {
|
|
|
StringBuilder errMsg = new StringBuilder();
|
|
|
|