Exemple #1
0
        public SaveResult Refund(string orderNo)
        {
            var sdk = new RefundAgent();

            try
            {
                var result = sdk.Refund(orderNo);
                if (result)
                {
                    //MSMQ.BackOfficeUserRefundOrder(orderNo, 0);
                    //MSMQ.BackOfficeMerchantArticleRefundOrder(orderNo, 0);
                    RabbitMQSender.SendMessage("FiiiPay_BackOfficeRefundOrder", orderNo);
                    RabbitMQSender.SendMessage("FiiiPos_BackOfficeRefundOrder", orderNo);
                }
                return(new SaveResult(true));
            }
            catch (CommonException ex)
            {
                return(new SaveResult(false, ex.Message));
            }
        }
        public SaveResult Update(BillerOrders order, int userId, string userName)
        {
            BillerOrders oldOrders = FiiiPayDB.BillerOrderDb.GetById(order.Id);

            oldOrders.Status     = order.Status;
            oldOrders.Remark     = order.Remark;
            oldOrders.FinishTime = DateTime.UtcNow;
            var result = FiiiPayDB.BillerOrderDb.Update(oldOrders);

            if (result && order.Status == BillerOrderStatus.Fail)
            {
                result = new RefundAgent().BillerRefund(oldOrders.OrderNo);
            }
            FiiiPayDB.DB.Updateable <UserTransactions>().SetColumns(t => new UserTransactions()
            {
                Status = (byte)order.Status
            })
            .Where(w => w.Type == UserTransactionType.BillOrder && w.DetailId == oldOrders.Id.ToString() && w.AccountId == oldOrders.AccountId);
            // Create ActionLog
            ActionLog actionLog = new ActionLog();

            actionLog.IPAddress  = GetClientIPAddress();
            actionLog.AccountId  = userId;
            actionLog.CreateTime = DateTime.UtcNow;
            actionLog.ModuleCode = typeof(AccountBLL).FullName + ".Update";
            actionLog.Username   = userName;
            actionLog.LogContent = "Update BillerOrder " + order.Id;
            ActionLogBLL ab = new ActionLogBLL();

            ab.Create(actionLog);
            if (order.Status != BillerOrderStatus.Pending)
            {
                RabbitMQSender.SendMessage("Biller", order.Id);
            }

            return(new SaveResult(result));
        }