Exemplo n.º 1
0
        private static bool SyncSellerRecharge(OnlineOrder order, OrderPayWay payWay)
        {
            using (DbOperator dbOperator = ConnectionManager.CreateConnection())
            {
                IParkSeller factory = ParkSellerFactory.GetFactory();
                ParkSeller  model   = factory.QueryBySellerId(order.InOutID);
                if (model == null)
                {
                    throw new MyException("商家不存在");
                }

                dbOperator.BeginTransaction();
                try
                {
                    ParkOrder pkOrder = ParkOrderServices.MarkSellerChargeOrder(model, order.Amount, model.SellerID, OrderSource.WeiXin, payWay, dbOperator);
                    if (order == null)
                    {
                        throw new MyException("创建充值订单失败");
                    }

                    bool result = factory.SellerRecharge(model.SellerID, order.Amount, dbOperator);
                    if (!result)
                    {
                        throw new MyException("商家充值失败");
                    }
                    dbOperator.CommitTransaction();
                    return(result);
                }
                catch (Exception ex) {
                    dbOperator.RollbackTransaction();
                    ExceptionsServices.AddExceptions(ex, "商家微信充值通知失败,订单编号:" + order.OrderID);
                    return(false);
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 构建商家充值充值订单
        /// </summary>
        /// <param name="seller">商家信息</param>
        /// <param name="chargeBalance">充值金额</param>
        /// <param name="systemId">系统编号</param>
        /// <param name="loginUserRecordId">登录用户编号</param>
        /// <returns></returns>
        private static ParkOrder GetSellerChargeOrder(ParkSeller seller, decimal chargeBalance, string operatorId, OrderSource orderSource, OrderPayWay payWay)
        {
            ParkOrder order = new ParkOrder();

            order.OrderNo     = IdGenerator.Instance.GetId().ToString();
            order.Status      = 1;
            order.OrderSource = orderSource;
            order.Amount      = chargeBalance;
            order.PayAmount   = chargeBalance;
            order.Remark      = "商家充值";
            order.OrderTime   = DateTime.Now;
            order.OrderType   = OrderType.BusinessRecharge;
            order.TagID       = seller.SellerID;
            order.PayWay      = payWay;
            order.UserID      = operatorId;
            order.OldMoney    = seller.Balance;
            order.NewMoney    = chargeBalance + seller.Balance;
            order.PayTime     = DateTime.Now;
            return(order);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 生存商家充值订单
        /// </summary>
        /// <param name="seller">商家信息</param>
        /// <param name="chargeBalance">充值金额</param>
        /// <param name="operatorId">操作者编号</param>
        /// <param name="dbOperator"></param>
        /// <returns></returns>
        public static ParkOrder MarkSellerChargeOrder(ParkSeller seller, decimal chargeBalance, string operatorId, OrderSource orderSource, OrderPayWay payWay, DbOperator dbOperator)
        {
            ParkOrder  order   = GetSellerChargeOrder(seller, chargeBalance, operatorId, orderSource, payWay);
            IParkOrder factory = ParkOrderFactory.GetFactory();

            return(factory.Add(order, dbOperator));
        }