/// <summary> /// 个人撤标响应 /// </summary> /// <param name="msg"></param> private static void Withdrawal(WithDrawalRespMsg msg) { try { //检查请求处理结果 if (msg.CheckResult()) { //检查签名 if (msg.CheckSignature()) { #if !DEBUG //同步返回平台不做处理 if (msg.Result.Equals("00001")) return; #endif Agp2pDataContext context = new Agp2pDataContext(); //查找对应的原交易流水 var trans = context.li_project_transactions.SingleOrDefault(u => u.no_order == msg.BidRequestId); if (trans != null) { context.Refund(trans.id, DateTime.Now); msg.HasHandle = true; } else { msg.Remarks = "没有找到平台交易流水记录,交易流水号为:" + msg.RequestId; } } } } catch (Exception ex) { msg.Remarks = "内部错误:" + ex.Message; } }
protected void btnRefund_OnClick(object sender, EventArgs e) { try { int projectTransactionId = Convert.ToInt32(((Button)sender).CommandArgument); var proTran = context.li_project_transactions.SingleOrDefault(t => t.id == projectTransactionId); if (proTran == null) { throw new ArgumentNullException(nameof(proTran)); } var msg = new WithDrawalReqMsg(proTran.project, proTran.li_projects.investment_amount.ToString("f"), proTran.no_order, proTran.principal.ToString("f")); MessageBus.Main.Publish(msg); var msgResp = BaseRespMsg.NewInstance <WithDrawalRespMsg>(msg.SynResult); MessageBus.Main.Publish(msgResp); if (msgResp.HasHandle) { var remark = "撤销投资成功, 涉及金额: " + proTran.principal; AddAdminLog(DTEnums.ActionEnum.Cancel.ToString(), remark); //记录日志 JscriptMsg(remark, Utils.CombUrlTxt("project_investment_list.aspx", "project_id={0}", project_id), "Success"); } else { JscriptMsg("撤销投资失败:" + msgResp.Remarks, "back", "Error"); } var bt = context.Refund(projectTransactionId, DateTime.Now); } catch (Exception ex) { JscriptMsg("撤销投资失败!" + ex.Message, Utils.CombUrlTxt("project_investment_list.aspx", "project_id={0}", project_id), "Failure"); } }