Пример #1
0
        public ActionResult ReNewPayReturn(string id, decimal balance)
        {
            id = DecodePaymentId(id);
            string errorMsg = string.Empty;

            try
            {
                var             payment = Core.PluginsManagement.GetPlugin <IPaymentPlugin>(id);
                var             payInfo = payment.Biz.ProcessReturn(HttpContext.Request);
                ShopRenewRecord model   = new ShopRenewRecord();
                bool            result  = Cache.Get(CacheKeyCollection.PaymentState(string.Join(",", payInfo.OrderIds))) == null ? false : true;
                if (!result)
                {
                    throw new Exception("支付未成功");

                    #region  "废弃,因为参数不足,无法在这里处理续费逻辑"
                    ////添加诊所续费记录
                    //model.ShopId = CurrentSellerManager.ShopId;
                    //model.OperateDate = DateTime.Now;
                    //model.Operator = CurrentSellerManager.UserName;
                    //model.Amount = balance;
                    ////续费操作
                    //if (type == 1)
                    //{

                    //    model.OperateType = ShopRenewRecord.EnumOperateType.ReNew;
                    //    var shopInfo = _iShopService.GetShop(CurrentSellerManager.ShopId);
                    //    string strNewEndTime = shopInfo.EndDate.Value.AddYears(value).ToString("yyyy-MM-dd");
                    //    model.OperateContent = "续费 " + value + " 年至 " + strNewEndTime;
                    //    _iShopService.AddShopRenewRecord(model);

                    //    //诊所续费
                    //    _iShopService.ShopReNew(CurrentSellerManager.ShopId, value);
                    //}
                    ////升级操作
                    //else
                    //{
                    //    model.ShopId = CurrentSellerManager.ShopId;
                    //    model.OperateType = ShopRenewRecord.EnumOperateType.Upgrade;
                    //    var shopInfo = _iShopService.GetShop(CurrentSellerManager.ShopId);
                    //    var shopGrade = _iShopService.GetShopGrades().Where(c => c.Id == shopInfo.GradeId).FirstOrDefault();
                    //    var newshopGrade = _iShopService.GetShopGrades().Where(c => c.Id == (long)value).FirstOrDefault();
                    //    model.OperateContent = "将套餐‘" + shopGrade.Name + "'升级为套餐‘" + newshopGrade.Name + "'";
                    //    _iShopService.AddShopRenewRecord(model);

                    //    //诊所升级
                    //    _iShopService.ShopUpGrade(CurrentSellerManager.ShopId, (long)value);
                    //}



                    ////写入支付状态缓存
                    //string payStateKey = CacheKeyCollection.PaymentState(string.Join(",", payInfo.OrderIds));//获取支付状态缓存键
                    //Cache.Insert(payStateKey, true);//标记为已支付
                    #endregion
                }
            }
            catch (Exception ex)
            {
                errorMsg = ex.Message;
            }
            ViewBag.Error = errorMsg;
            return(View());
        }
Пример #2
0
        public ContentResult ReNewPayNotify_Post(string id, string str)
        {
            decimal balance  = decimal.Parse(str.Split('-')[0]);
            string  userName = str.Split('-')[1];
            long    shopId   = long.Parse(str.Split('-')[2]);
            int     type     = int.Parse(str.Split('-')[3]);
            int     value    = int.Parse(str.Split('-')[4]);

            id = DecodePaymentId(id);
            string errorMsg = string.Empty;
            string response = string.Empty;

            try
            {
                var             payment = Core.PluginsManagement.GetPlugin <IPaymentPlugin>(id);
                var             payInfo = payment.Biz.ProcessNotify(HttpContext.Request);
                ShopRenewRecord model   = new ShopRenewRecord();
                model.TradeNo = payInfo.TradNo;
                bool result = Cache.Get(CacheKeyCollection.PaymentState(string.Join(",", payInfo.OrderIds))) == null ? false : true;
                if (!result)
                {
                    //添加店铺续费记录
                    model.ShopId      = shopId;
                    model.OperateDate = DateTime.Now;
                    model.Operator    = userName;
                    model.Amount      = balance;
                    //续费操作
                    if (type == 1)
                    {
                        model.OperateType = ShopRenewRecord.EnumOperateType.ReNew;
                        var      shopInfo  = _iShopService.GetShop(shopId);
                        DateTime beginTime = shopInfo.EndDate.Value;
                        if (beginTime < DateTime.Now)
                        {
                            beginTime = DateTime.Now;
                        }
                        string strNewEndTime = beginTime.AddYears(value).ToString("yyyy-MM-dd");
                        model.OperateContent = "续费 " + value + " 年至 " + strNewEndTime;
                        _iShopService.AddShopRenewRecord(model);
                        //店铺续费
                        _iShopService.ShopReNew(shopId, value);
                    }
                    //升级操作
                    else
                    {
                        model.ShopId      = shopId;
                        model.OperateType = ShopRenewRecord.EnumOperateType.Upgrade;
                        var shopInfo     = _iShopService.GetShop(shopId);
                        var shopGrade    = _iShopService.GetShopGrades().Where(c => c.Id == shopInfo.GradeId).FirstOrDefault();
                        var newshopGrade = _iShopService.GetShopGrades().Where(c => c.Id == (long)value).FirstOrDefault();
                        model.OperateContent = "将套餐‘" + shopGrade.Name + "'升级为套餐‘" + newshopGrade.Name + "'";
                        _iShopService.AddShopRenewRecord(model);
                        //店铺升级
                        _iShopService.ShopUpGrade(shopId, (long)value);
                    }
                    response = payment.Biz.ConfirmPayResult();
                    string payStateKey = CacheKeyCollection.PaymentState(string.Join(",", payInfo.OrderIds)); //获取支付状态缓存键
                    Cache.Insert(payStateKey, true);                                                          //标记为已支付
                    if (Cache.Exists(CacheKeyCollection.CACHE_SHOP(shopId, false)))
                    {
                        Cache.Remove(CacheKeyCollection.CACHE_SHOP(shopId, false));
                    }
                }
            }
            catch (Exception ex)
            {
                errorMsg = ex.Message;
                Log.Error("ReNewPayNotify_Post", ex);
            }
            return(Content(response));
        }