Esempio n. 1
0
        /// <summary>
        /// 支付成功 支付订单(充值订单、商城订单)更新操作
        /// </summary>
        /// <param name="view">支付单信息</param>
        /// <returns>操作结果</returns>
        public ResultModel PaymentOrder(PaymentOrderView view)
        {
            var result = new ResultModel()
            {
                IsValid = false
            };

            PaymentOrderView tempPaymentOrder =
                base._database.Db.PaymentOrder.Find(base._database.Db.PaymentOrder.paymentOrderId == view.PaymentOrderID);

            if (tempPaymentOrder != null && (OrderEnums.PaymentFlag)tempPaymentOrder.Flag == OrderEnums.PaymentFlag.NonPaid)
            {
                view.PayType = tempPaymentOrder.PayType;
                switch ((OrderEnums.PaidType)tempPaymentOrder.PayType)
                {
                //商城订单处理
                case OrderEnums.PaidType.Mall:
                    result = this.PaymentMallOrder(view);
                    break;

                //充值订单处理
                case OrderEnums.PaidType.Recharge:
                default:
                    ZJ_UserBalanceServiceWeb zjbsw = new ZJ_UserBalanceServiceWeb();
                    result = zjbsw.AccountRechargeWeb(view.PaymentOrderID, view.outOrderId);
                    break;
                }
            }
            return(result);
        }
        /// <summary>
        /// web 账户充值(第三方充值成功)
        /// </summary>
        /// <param name="RechargeAmount">充值金额</param>
        /// <param name="Radiochecked">第三方充值方式通道</param>
        /// <param name="UserID">用户ID</param>
        ///  <param name="Account">登录名</param>
        ///  <param name="AddOrCutType">充值类型(账户充值1)</param>
        ///  <param name="OrderNo">订单编号</param>
        ///  <param name="OrderSource">来源0:网站,1移动设备</param>
        /// <returns></returns>
        public ResultModel AccountRechargeWeb(AccountRechargeModel armodel)
        {
            var result = new ResultModel();


            #region 用户余额信息表 和其对应的资金流水账
            //用户余额信息表(前台)
            ZJ_UserBalanceModel zjubModel = new ZJ_UserBalanceModel();
            zjubModel.UserID   = armodel.UserID;
            zjubModel.UpdateBy = "前台账户自己充值";
            zjubModel.UpdateDT = DateTime.Now;
            //用户账户金额异动记录表(资金流水账)
            ZJ_UserBalanceChangeLogModel zjublModel = new ZJ_UserBalanceChangeLogModel();
            zjublModel.Account        = armodel.Account;
            zjublModel.AddOrCutAmount = armodel.AddOrCutAmount;
            zjublModel.AddOrCutType   = armodel.AddOrCutType;
            zjublModel.CreateBy       = armodel.Account == null ? "前台登录名为空" : armodel.Account;
            zjublModel.CreateDT       = DateTime.Now;
            if (armodel.AddOrCutAmount >= 0)
            {
                zjublModel.IsAddOrCut = 1;
            }
            else
            {
                zjublModel.IsAddOrCut = 0;
            }
            zjublModel.IsDisplay = 1;
            zjublModel.OrderNo   = armodel.OrderNo;
            zjublModel.Remark    = "前台账户充值";
            zjublModel.UserID    = armodel.UserID;
            #endregion

            #region 用户充值订单
            //用户充值订单
            ZJ_RechargeOrderModel zjroModel = new ZJ_RechargeOrderModel();

            zjroModel.OrderNO = armodel.OrderNo;

            zjroModel.RechargeResult = 1;

            #endregion

            #region 订单支付信息表
            //订单支付信息表
            PaymentOrderModel poModel = new PaymentOrderModel();
            poModel.PaymentOrderID = armodel.PaymentOrderID;
            poModel.Flag           = 2;
            poModel.outOrderId     = armodel.outOrderId;
            //poModel.outOrderId = armodel.OrderNo;
            //poModel.PaymentDate = DateTime.Now;

            //poModel.PayType = 1;
            //poModel.ProductAmount = armodel.AddOrCutAmount;
            //poModel.RealAmount = armodel.AddOrCutAmount;
            //poModel.UserID = armodel.UserID;
            ////订单支付信息与订单关联记录表
            //PaymentOrder_OrdersModel pooModel = new PaymentOrder_OrdersModel();
            //pooModel.OrderID = armodel.OrderNo;
            //pooModel.RelateID = MemCacheFactory.GetCurrentMemCache().Increment("commonId");
            #endregion

            result = _zjUserBalanceServiceWeb.AccountRechargeWeb(zjubModel, zjublModel, poModel, zjroModel, zjublModel);


            return(result);
        }