示例#1
0
        /// <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");
            }
        }