public InquriyTransferResponse DuitkuInquiryTransactionStatusRequest(InquiryTransferRequest inquiryRequest) { InquriyTransferResponse result = new InquriyTransferResponse(); try { string data = JsonConvert.SerializeObject(inquiryRequest); string response = request("https://passport.duitku.com/webapi/api/merchant/transactionStatus", data); if (String.IsNullOrEmpty(response)) { return(result); } else { result = JsonConvert.DeserializeObject <InquriyTransferResponse>(response); } } catch (Exception ex) { Log.WriteErrorLog("HttpHelper::DuitkuInquiryTransactionStatusRequest", ex.Message); } return(result); }
private void threadProc() { while (!_isbreak) { SortedList <string, string> list = BusinessDao.GetNeedCheckDebitRecords(); Log.WriteDebugLog("StatusCheckThread::threadProc", "存在{0}个需要确认的订单。", list.Count); foreach (string orderId in list.Keys) { string target = list[orderId]; Log.WriteDebugLog("StatusCheckThread::threadProc", "{0} 准备开始确认订单的状态,渠道{1}。", orderId, target); LoanBank bank = new LoanBank(); string merchantCode = String.Empty; InquriyTransferResponse response = bank.DuitkuOrderStatusInquiryRequest(orderId, target); if (response.statusCode == "00") { CallbackRequestModel callback = new CallbackRequestModel(); callback.amount = response.amount; callback.merchantOrderId = response.merchantOrderId; DataProviderResultModel resultModel = DuitkuProvider.SetDuitkuPaybackRecordStaus(callback); if (resultModel.result == Result.SUCCESS) { Log.WriteDebugLog("StatusCheckThread::threadProc", "[{0}]重做成功了。", orderId); } else { Log.WriteDebugLog("StatusCheckThread::threadProc", "[{0}]接口调用成功,但是数据库操作失败了。", orderId); } } else { Log.WriteDebugLog("StatusCheckThread::threadProc", "[{0}]重做失败了。", orderId); } ///重做次数+1 BusinessDao.UpdateRedoUserPayBackRecordStatus(orderId); } Thread.Sleep(10 * 60 * 1000); } }