internal static PaymentResult OnPayCheckAcct(DateTime queryDate, out List<PayCheckAcct> outData, out String outmsg) { outmsg = ""; outData = null; PaymentResult resultdetail = null; byte[] codemsg = null; bool sent = false; string dbexception = ""; MessageData recdata = null; MessageData reqdata = null; Guid msgid = Guid.Empty; try { msgid = MsgTransferUtility.PayCheckAccount(queryDate, ref codemsg); reqdata = MsgHandlerEntry.CreateMessageData(msgid, PlatformType.PaymentDownload, MsgHandlerEntry.System_Organ_ID, MsgHandlerEntry.System_Teller_ID, (int)MessageBizType.PayCheckAccout, codemsg, ""); #if MQSYNC recdata = MQMsgHandlerEntry.DeliverMessage(reqdata, codemsg, out sent); #else recdata = MsgHandlerEntry.DeliverMessage(MsgHandlerEntry.CreateMessageData(msgid, PlatformType.Payment, codemsg)); #endif PayAcctCheckData retdata = MsgTransfer.DecodeMsg(recdata.MessageID, recdata.CurrentRespPackage.PackageMessage) as PayAcctCheckData; MsgLogState statecode = MsgLogState.RecvFailed; if (retdata != null && retdata.RPData != null) { resultdetail = new PaymentResult(); resultdetail.Succeed = (CommonDataHelper.StrTrimer(retdata.RPData.RetCode, null) == "0"); resultdetail.HostReturnMessage = CommonDataHelper.StrTrimer(retdata.RPData.RetMsg, null); outmsg = CommonDataHelper.StrTrimer(retdata.RPData.RetMsg, null); if (CommonDataHelper.StrTrimer(retdata.RPData.RetCode, null) == "0") { statecode = MsgLogState.RecvSucceed; if (retdata.RPData.AccoutCount > 0) { outData = new List<PayCheckAcct>(); foreach (PayAcctCheckItemRP item in retdata.RPData.AccountList) { PayCheckAcct check = new PayCheckAcct(); check.AccountFlag = CommonDataHelper.StrTrimer(item.AccountFlag, null); check.Amount = CommonDataHelper.StrTrimer(item.Amount, null); check.BizType = CommonDataHelper.StrTrimer(item.BizType, null); check.ChanelFlag = CommonDataHelper.StrTrimer(item.ChanelFlag, null); check.Currency = CommonDataHelper.StrTrimer(item.Currency, null); check.Fee = CommonDataHelper.StrTrimer(item.Fee, null); check.HostFlowNO = CommonDataHelper.StrTrimer(item.HostFlowNO, null); check.HostRespCode = CommonDataHelper.StrTrimer(item.HostRespCode, null); check.HostRespMsg = CommonDataHelper.StrTrimer(item.HostRespMsg, null); check.HostTradeDate = CommonDataHelper.StrTrimer(item.HostTradeDate, null); check.IBOLimit = CommonDataHelper.StrTrimer(item.IBOLimit, null); check.IBORate = CommonDataHelper.StrTrimer(item.IBORate, null); check.MsgNO = CommonDataHelper.StrTrimer(item.MsgNO, null); check.Note = CommonDataHelper.StrTrimer(item.Note, null); check.Operator = CommonDataHelper.StrTrimer(item.Operator, null); check.OrganNO = CommonDataHelper.StrTrimer(item.OrganNO, null); check.PayAccount = CommonDataHelper.StrTrimer(item.PayAccount, null); check.PayBankName = CommonDataHelper.StrTrimer(item.PayBankName, null); check.PayBankNO = CommonDataHelper.StrTrimer(item.PayBankNO, null); check.PayName = CommonDataHelper.StrTrimer(item.PayName, null); check.PlatDate = CommonDataHelper.StrTrimer(item.PlatDate, null); check.RecvAccount = CommonDataHelper.StrTrimer(item.RecvAccount, null); check.RecvBankName = CommonDataHelper.StrTrimer(item.RecvBankName, null); check.RecvBankNO = CommonDataHelper.StrTrimer(item.RecvBankNO, null); check.RecvName = CommonDataHelper.StrTrimer(item.RecvName, null); check.SeqNO = CommonDataHelper.StrTrimer(item.SeqNO, null); check.SysSeqNO = CommonDataHelper.StrTrimer(item.SysSeqNO, null); check.TradeDate = CommonDataHelper.StrTrimer(item.TradeDate, null); check.TradeTime = CommonDataHelper.StrTrimer(item.TradeTime, null); check.UploadChannel = CommonDataHelper.StrTrimer(item.UploadChannel, null); outData.Add(check); } } } else { statecode = MsgLogState.RecvFailed; } } else { outmsg = MsgHandlerEntry.Type_Convert_Error; } if (statecode != MsgLogState.RecvSucceed) { //MQMsgCommonHelper.UpdateMQLog(recdata.MessageID, outmsg, statecode, out dbexception); OnUpdateDBLog(recdata.MessageID, outmsg, MsgLogState.RecvFailed, out dbexception); } return resultdetail; } catch (Exception ex) { outmsg = ex.Message; OnException(sent, reqdata, recdata, msgid, ex, outmsg); return resultdetail; } }
internal static PaymentResult OnPayDownloadBanksInfo(out List<PayBanksInfo> outData, out String outmsg) { outmsg = ""; outData = null; PaymentResult resultdetail = null; byte[] codemsg = null; bool sent = false; string dbexception = ""; MessageData recdata = null; MessageData reqdata = null; Guid msgid = Guid.Empty; try { msgid = MsgTransferUtility.PayRetrieveBanksInfo(ref codemsg); reqdata = MsgHandlerEntry.CreateMessageData(msgid, PlatformType.PaymentDownload, MsgHandlerEntry.System_Organ_ID, MsgHandlerEntry.System_Teller_ID, (int)MessageBizType.PayBanksInfoDownload, codemsg, ""); #if MQSYNC recdata = MQMsgHandlerEntry.DeliverMessage(reqdata, codemsg, out sent); #else recdata = MsgHandlerEntry.DeliverMessage(MsgHandlerEntry.CreateMessageData(msgid, PlatformType.Payment, codemsg)); #endif PayBankInfoData retdata = MsgTransfer.DecodeMsg(recdata.MessageID, recdata.CurrentRespPackage.PackageMessage) as PayBankInfoData; MsgLogState statecode = MsgLogState.RecvFailed; if (retdata != null && retdata.RPData != null) { resultdetail = new PaymentResult(); resultdetail.Succeed = (CommonDataHelper.StrTrimer(retdata.RPData.RetCode, null) == "0"); resultdetail.HostReturnMessage = CommonDataHelper.StrTrimer(retdata.RPData.RetMsg, null); outmsg = CommonDataHelper.StrTrimer(retdata.RPData.RetMsg, null); if (CommonDataHelper.StrTrimer(retdata.RPData.RetCode, null) == "0") { statecode = MsgLogState.RecvSucceed; if (retdata.RPData.BankCount > 0) { outData = new List<PayBanksInfo>(); foreach (PayBankInfoItemRP item in retdata.RPData.BankList) { PayBanksInfo check = new PayBanksInfo(); check.Address = CommonDataHelper.StrTrimer(item.Address, null); check.BankName = CommonDataHelper.StrTrimer(item.BankName, null); check.BankNO = CommonDataHelper.StrTrimer(item.BankNO, null); check.CityCode = CommonDataHelper.StrTrimer(item.CityCode, null); check.DirectParticipator = CommonDataHelper.StrTrimer(item.DirectParticipator, null); check.NodeCode = CommonDataHelper.StrTrimer(item.NodeCode, null); check.TelephoneNO = CommonDataHelper.StrTrimer(item.TelephoneNO, null); outData.Add(check); } } } else { statecode = MsgLogState.RecvFailed; } } else { outmsg = MsgHandlerEntry.Type_Convert_Error; } if (statecode != MsgLogState.RecvSucceed) { //MQMsgCommonHelper.UpdateMQLog(recdata.MessageID, outmsg, statecode, out dbexception); OnUpdateDBLog(recdata.MessageID, outmsg, MsgLogState.RecvFailed, out dbexception); } return resultdetail; } catch (Exception ex) { outmsg = ex.Message; OnException(sent, reqdata, recdata, msgid, ex, outmsg); return resultdetail; } }
internal static PaymentResult OnPayVostroAccountEliminate(String tellerNO, String orgNO, DateTime delegateDate, PayVostroAcctEliminate inputData, String exFlowNO, out String outmsg) { outmsg = ""; PaymentResult resultdetail = null; byte[] codemsg = null; bool sent = false; string dbexception = ""; MessageData reqdata = null; MessageData recdata = null; Guid msgid = Guid.Empty; try { msgid = MsgTransferUtility.PayVostroAccountEliminate(tellerNO, orgNO, delegateDate.ToString("yyyyMMdd"), inputData, ref codemsg); reqdata = MsgHandlerEntry.CreateMessageData(msgid, PlatformType.Payment, tellerNO, orgNO, (int)MessageBizType.PayVostroAcctEliminate, codemsg); #if MQSYNC recdata = MQMsgHandlerEntry.DeliverMessage(reqdata, codemsg, out sent); #else recdata = MsgHandlerEntry.DeliverMessage(MsgHandlerEntry.CreateMessageData(msgid, PlatformType.Payment, codemsg)); #endif PayVostroAcctEliminateData retdata = MsgTransfer.DecodeMsg(recdata.MessageID, recdata.CurrentRespPackage.PackageMessage) as PayVostroAcctEliminateData; MsgLogState statecode = MsgLogState.RecvFailed; if (retdata != null && retdata.RPData != null) { resultdetail = new PaymentResult(); resultdetail.Succeed = (retdata.RPData.RetCode == "00"); resultdetail.HostReturnMessage = CommonDataHelper.StrTrimer(retdata.RPData.HostReturnMessage, null); resultdetail.HostReturnCode = CommonDataHelper.StrTrimer(retdata.RPData.HostReturnCode, null); resultdetail.HostTranFlowNo = CommonDataHelper.StrTrimer(retdata.RPData.HostTranFlowNo, null); resultdetail.TransSeq = CommonDataHelper.StrTrimer(retdata.RPData.TransSeq, null); resultdetail.PendingSN = CommonDataHelper.StrTrimer(retdata.RPData.PendingSN, null); outmsg = CommonDataHelper.StrTrimer(retdata.RPData.HostReturnMessage, null); if (retdata.RPData.RetCode == "00") { statecode = MsgLogState.RecvSucceed; } else if (retdata.RPData.RetCode == "02") { statecode = MsgLogState.PayTimeOut; } } else { outmsg = MsgHandlerEntry.Type_Convert_Error; } //转换保存此次来账销账的资金流水号 if (!string.IsNullOrEmpty(exFlowNO)) { recdata.BizMsgID = exFlowNO; //MQMsgCommonHelper.UpdateMQLog(recdata, resultdetail.HostTranFlowNo, outmsg, statecode, out dbexception); OnUpdateDBLog(recdata, resultdetail.HostTranFlowNo, outmsg, statecode, out dbexception); } return resultdetail; } catch (Exception ex) { outmsg = ex.Message; OnException(sent, reqdata, recdata, msgid, ex, outmsg); return resultdetail; } }
internal static PaymentResult OnPayInterBankBiz(String tellerNO, String orgNO, DateTime tradeDate, PayInterBank inputData, out String outmsg) { outmsg = ""; PaymentResult resultdetail = null; byte[] codemsg = null; bool sent = false; string dbexception = ""; MessageData recdata = null; MessageData reqdata = null; Guid msgid = Guid.Empty; try { msgid = MsgTransferUtility.PayInterBankBiz(tellerNO, orgNO, tradeDate, inputData, ref codemsg); reqdata = MsgHandlerEntry.CreateMessageData(msgid, PlatformType.Payment, tellerNO, orgNO, (int)MessageBizType.PayInterBank, codemsg, inputData.TransferFlowNo); #if MQSYNC recdata = MQMsgHandlerEntry.DeliverMessage(reqdata, codemsg, out sent); #else recdata = MsgHandlerEntry.DeliverMessage(MsgHandlerEntry.CreateMessageData(msgid, PlatformType.Payment, codemsg)); #endif PayInterBankData retdata = MsgTransfer.DecodeMsg(recdata.MessageID, recdata.CurrentRespPackage.PackageMessage) as PayInterBankData; MsgLogState statecode = MsgLogState.RecvFailed; if (retdata != null && retdata.RPData != null) { resultdetail = new PaymentResult(); resultdetail.Succeed = (retdata.RPData.RetCode == "00"); resultdetail.HostReturnMessage = CommonDataHelper.StrTrimer(retdata.RPData.HostReturnMessage, null); resultdetail.HostReturnCode = CommonDataHelper.StrTrimer(retdata.RPData.HostReturnCode, null); resultdetail.HostTranFlowNo = CommonDataHelper.StrTrimer(retdata.RPData.HostTranFlowNo, null); resultdetail.TransSeq = CommonDataHelper.StrTrimer(retdata.RPData.TransSeq, null); outmsg = CommonDataHelper.StrTrimer(retdata.RPData.HostReturnMessage, null); if (retdata.RPData.RetCode == "00") { statecode = MsgLogState.RecvSucceed; } else if (retdata.RPData.RetCode == "02") { statecode = MsgLogState.PayTimeOut; } } else { outmsg = MsgHandlerEntry.Type_Convert_Error; } //MQMsgCommonHelper.UpdateMQLog(recdata, resultdetail.HostTranFlowNo, outmsg, statecode, out dbexception); OnUpdateDBLog(recdata, resultdetail.HostTranFlowNo, outmsg, statecode, out dbexception); return resultdetail; } catch (Exception ex) { outmsg = ex.Message; OnException(sent, reqdata, recdata, msgid, ex, outmsg); return resultdetail; } }
internal static PaymentResult OnPayRegisterRetrieved(String tellerNO, String orgNO, String flowNO, DateTime orignalDate, out String outmsg) { outmsg = ""; PaymentResult resultdetail = null; byte[] codemsg = null; bool sent = false; string dbexception = ""; MessageData reqdata = null; MessageData recdata = null; Guid msgid = Guid.Empty; try { msgid = MsgTransferUtility.PayRegisterRetrieved(tellerNO, orgNO,flowNO,orignalDate, ref codemsg); reqdata = MsgHandlerEntry.CreateMessageData(msgid, PlatformType.Payment, tellerNO, orgNO, (int)MessageBizType.PayRegisterRetrieve, codemsg, flowNO); recdata = MQMsgHandlerEntry.DeliverMessage(reqdata, codemsg, out sent); PayRegisterRetrievedData retdata = MsgTransfer.DecodeMsg(recdata.MessageID, recdata.CurrentRespPackage.PackageMessage) as PayRegisterRetrievedData; MsgLogState statecode = MsgLogState.RecvFailed; if (retdata != null && retdata.RPData != null) { resultdetail = new PaymentResult(); resultdetail.Succeed = (retdata.RPData.RetCode == "00"); resultdetail.HostReturnMessage = CommonDataHelper.StrTrimer(retdata.RPData.RetMsg,null); resultdetail.AccountStatus = CommonDataHelper.StrTrimer(retdata.RPData.AccountStatus,null); resultdetail.PackageChannelType = CommonDataHelper.StrTrimer(retdata.RPData.PackageChannelType,null); outmsg = CommonDataHelper.StrTrimer(retdata.RPData.RetMsg, null); if (retdata.RPData.RetCode == "00") { statecode = MsgLogState.RecvSucceed; } else if (retdata.RPData.RetCode == "02") { statecode = MsgLogState.PayTimeOut; } } else { outmsg = MsgHandlerEntry.Type_Convert_Error; } if (statecode != MsgLogState.RecvSucceed) { OnUpdateDBLog(recdata.MessageID, outmsg, statecode, out dbexception); } return resultdetail; } catch (Exception ex) { outmsg = ex.Message; OnException(sent, reqdata, recdata, msgid, ex, outmsg); return resultdetail; } }
/// <summary> /// 同业拆借业务 /// </summary> /// <param name="tellerNO">机构号</param> /// <param name="orgNO">柜员号</param> /// <param name="tradeDate">交易日期</param> /// <param name="inputData">输入数据</param> /// <param name="result">返回结果的数据</param> /// <param name="outmsg">失败时的信息</param> /// <returns>成功与否</returns> public static bool PayInterBankBiz(String tellerNO, String orgNO, DateTime tradeDate, PayInterBank inputData, out PaymentResult result, out String outmsg) { result = ClientSyncHelper.OnPayInterBankBiz(tellerNO, orgNO, tradeDate, inputData, out outmsg); if (result != null && result.Succeed) { return true; } outmsg = string.Format("{0}{1}", MsgHandlerEntry.Info_Return_Pay, outmsg); return false; }
/// <summary> /// 来账的销账 /// </summary> /// <param name="tellerNO">机构号</param> /// <param name="orgNO">柜员号</param> /// <param name="delegateDate">委托日期</param> /// <param name="inputData">销账输入数据</param> /// <param name="result">返回结果的数据</param> /// <param name="outmsg">失败时的信息</param> /// <returns>成功与否</returns> public static bool PayVostroAccountEliminate(String tellerNO, String orgNO, DateTime delegateDate, PayVostroAcctEliminate inputData, String exFlowNO, out PaymentResult result, out String outmsg) { result = ClientSyncHelper.OnPayVostroAccountEliminate(tellerNO, orgNO, delegateDate, inputData, exFlowNO, out outmsg); if (result != null && result.Succeed) { return true; } outmsg = string.Format("{0}{1}", MsgHandlerEntry.Info_Return_Pay, outmsg); return false; }
/// <summary> /// 来帐销账后的抹帐交易 /// </summary> /// <returns></returns> public static bool PayIncomeEraseAccounting(String tellerNO, String orgNO, String srcBankNO, String paySN, DateTime orignalDate, String channelType, String hostFlowNO, out PaymentResult result, out String outmsg) { result = ClientSyncHelper.OnPayIncomeEraseAccounting(tellerNO, orgNO, paySN, srcBankNO, orignalDate, channelType, hostFlowNO, out outmsg); if (result != null && result.Succeed) { return true; } outmsg = string.Format("{0}{1}", MsgHandlerEntry.Info_Return_Pay, outmsg); return false; }
/// <summary> /// 登记簿查询 /// </summary> /// <param name="tellerNO">交易机构号</param> /// <param name="orgNO">柜员号</param> /// <param name="flowNO">资金业务系统流水号</param> /// <param name="orignalDate">原委托日期</param> /// <param name="result">返回结果的数据</param> /// <param name="outmsg">失败时的信息</param> /// <returns>查询成功与否</returns> public static bool RetrievePayRegister(String tellerNO, String orgNO, String flowNO, DateTime orignalDate, out PaymentResult result, out String outmsg) { result = ClientSyncHelper.OnPayRegisterRetrieved(tellerNO, orgNO, flowNO, orignalDate, out outmsg); if (result != null && result.Succeed) { return true; } outmsg = string.Format("{0}{1}", MsgHandlerEntry.Info_Return_Pay, outmsg); return false; }