Exemple #1
0
        /// <summary>
        /// 判断充值单类型
        /// </summary>
        /// <param name="paymentOrderId">支付单号</param>
        /// <param name="prefix">充值单前缀</param>
        /// <returns>判断充值单类型</returns>
        public ResultModel IsCurrentRechargeOrder(string paymentOrderId, ERechargeOrderPrefix prefix)
        {
            ResultModel resultModel = new ResultModel()
            {
                IsValid = false
            };

            string sql = string.Format("SELECT COUNT(*) AS [Count] FROM dbo.PaymentOrder_Orders WHERE PaymentOrderID='{0}' AND OrderID LIKE '{1}%'"
                                       , SqlFilterUtil.ReplaceSqlChar(paymentOrderId), EnumDescription.GetFieldText(prefix));
            //执行sql
            var     queryResult = _database.RunSqlQuery(x => x.ToResultSets(sql));
            dynamic source      = queryResult[0][0];

            resultModel.IsValid = source.Count > 0;
            return(resultModel);
        }
        /// <summary>
        /// 添加 用户充值订单表(第三方用户没有返汇前添加)
        /// </summary>
        /// <param name="RechargeAmount">充值金额</param>
        /// <param name="Radiochecked">第三方充值方式通道</param>
        /// <param name="UserID">用户ID</param>
        /// <param name="OrderSource">来源0:网站,1移动设备</param>
        ///  <param name="OrderNO">用户充值订单表ID</param>
        ///   <param name="PaymentOrderID">订单支付信息表ID</param>
        /// <returns></returns>
        public ResultModel InsertAddZJ_RechargeOrder(AccountRechargeModel armodel, ERechargeOrderPrefix prefix, out string OrderNO, out string PaymentOrderID)
        {
            var result = new ResultModel();

            #region 用户充值订单表
            ZJ_RechargeOrderModel zjroModel = new ZJ_RechargeOrderModel();
            zjroModel.CreateDT        = DateTime.Now;
            zjroModel.IsDisplay       = 1;
            zjroModel.OrderNO         = EnumDescription.GetFieldText(prefix) + MemCacheFactory.GetCurrentMemCache().Increment("commonId").ToString();//这里是为了区分商品订单还是充值订单
            zjroModel.OrderSource     = armodel.OrderSource;
            zjroModel.RechargeAmount  = armodel.AddOrCutAmount;
            zjroModel.RechargeChannel = armodel.RechargeChannel;
            zjroModel.RechargeDT      = DateTime.Now;
            zjroModel.RechargeResult  = 0;//默认是失败的
            zjroModel.UserID          = armodel.UserID;

            OrderNO = zjroModel.OrderNO;
            #endregion

            #region 订单支付信息表
            //订单支付信息表
            PaymentOrderModel poModel = new PaymentOrderModel();
            poModel.Flag           = 1;
            poModel.outOrderId     = "";
            poModel.PaymentDate    = DateTime.Now;
            poModel.PaymentOrderID = MemCacheFactory.GetCurrentMemCache().Increment("commonId").ToString();
            poModel.PayType        = 2;//支付类型(1:商城订单支付,2充值支付)
            poModel.ProductAmount  = armodel.AddOrCutAmount;
            poModel.RealAmount     = armodel.AddOrCutAmount;
            poModel.UserID         = armodel.UserID;
            poModel.CreateDT       = DateTime.Now;
            poModel.PayChannel     = armodel.RechargeChannel;
            //订单支付信息与订单关联记录表
            PaymentOrder_OrdersModel pooModel = new PaymentOrder_OrdersModel();
            pooModel.OrderID  = zjroModel.OrderNO;
            pooModel.RelateID = MemCacheFactory.GetCurrentMemCache().Increment("commonId");

            pooModel.PaymentOrderID = poModel.PaymentOrderID;

            #endregion
            result = _zjUserBalanceServiceWeb.AccountRechargeFailure(zjroModel, pooModel, poModel);

            PaymentOrderID = poModel.PaymentOrderID;
            return(result);
        }