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()); }
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)); }