public CustomJsonResult GetMy(RupGiftGiveGetMy rup) { var query = (from o in CurrentDb.GiftGive where o.CurrentQuantity > 0 && o.ClientId == this.CurrentUserId select new { o.Id, o.SkuId, o.CurrentQuantity, o.LockQuantity, o.AvailableQuantity, o.CreateTime }); query = query.OrderByDescending(r => r.CreateTime); var list = query.ToList(); List <object> oList = new List <object>(); foreach (var item in list) { var sku = CurrentDb.ProductSku.Where(m => m.Id == item.SkuId).FirstOrDefault(); oList.Add(new { Id = sku.Id, ImgUrl = ImgSet.GetMain(sku.DisplayImgUrls), Name = sku.Name, Quantity = item.CurrentQuantity, CreateTime = item.CreateTime }); } return(new CustomJsonResult(ResultType.Success, ResultCode.Success, "", new { skus = oList })); }
public CustomJsonResult Edit(string operater, string merchId, RopPrdKindEdit rop) { CustomJsonResult result = new CustomJsonResult(); using (TransactionScope ts = new TransactionScope()) { var prdKind = CurrentDb.PrdKind.Where(m => m.Id == rop.Id).FirstOrDefault(); if (prdKind == null) { return(new CustomJsonResult(ResultType.Failure, ResultCode.Failure, "数据为空")); } prdKind.Name = rop.Name; prdKind.DispalyImgUrls = rop.DispalyImgUrls.ToJsonString(); prdKind.MainImgUrl = ImgSet.GetMain(prdKind.DispalyImgUrls); prdKind.Description = rop.Description; prdKind.MendTime = DateTime.Now; prdKind.Mender = operater; CurrentDb.SaveChanges(); ts.Complete(); result = new CustomJsonResult(ResultType.Success, ResultCode.Success, "保存成功"); } return(result); }
/// <summary> /// 保存海报信息 /// </summary> /// <param name="set"></param> /// <param name="userTypes"></param> /// <returns></returns> public bool SaveImgSet(ImgSet set, List <int> userTypes) { var model = _context.ImgSets.FirstOrDefault(x => x.Id == set.Id); List <ImgSetOfUserType> list = new List <ImgSetOfUserType>(); userTypes.ForEach(x => { var setOfType = new ImgSetOfUserType(); setOfType.ImgSetId = set.Id; setOfType.UserType = x; list.Add(setOfType); }); if (model == null) { _context.ImgSets.Add(set); } else { model.Ttile = set.Ttile; model.ImgType = set.ImgType; model.ImgUrl = set.ImgUrl; model.TurnUrl = set.TurnUrl; model.SortedId = set.SortedId; var _q = _context.ImgSetOfUserTypes.Where(x => x.ImgSetId == set.Id); _context.ImgSetOfUserTypes.RemoveRange(_q); } _context.ImgSetOfUserTypes.AddRange(list); return(_context.SaveChanges() > 0); }
public CustomJsonResult Edit(string operater, string merchId, RopStoreEdit rop) { CustomJsonResult result = new CustomJsonResult(); using (TransactionScope ts = new TransactionScope()) { var isExistStore = CurrentDb.Store.Where(m => m.MerchId == merchId && m.Id != rop.Id && m.Name == rop.Name).FirstOrDefault(); if (isExistStore != null) { return(new CustomJsonResult(ResultType.Failure, ResultCode.Failure, "名称已存在,请使用其它")); } var store = CurrentDb.Store.Where(m => m.Id == rop.Id).FirstOrDefault(); store.Name = rop.Name; store.Address = rop.Address; store.BriefDes = rop.BriefDes; store.DispalyImgUrls = rop.DispalyImgUrls.ToJsonString(); store.MainImgUrl = ImgSet.GetMain(store.DispalyImgUrls); store.IsOpen = rop.IsOpen; store.MendTime = DateTime.Now; store.Mender = operater; CurrentDb.SaveChanges(); ts.Complete(); result = new CustomJsonResult(ResultType.Success, ResultCode.Success, "保存成功"); } return(result); }
public CustomJsonResult GetList(string operater, string merchId, RupPrdProductGetList rup) { var result = new CustomJsonResult(); var query = (from u in CurrentDb.PrdProduct where (rup.Name == null || u.Name.Contains(rup.Name)) && u.MerchId == merchId select new { u.Id, u.Name, u.BriefDes, u.CreateTime, u.DispalyImgUrls }); int total = query.Count(); int pageIndex = rup.Page - 1; int pageSize = rup.Limit; query = query.OrderByDescending(r => r.CreateTime).Skip(pageSize * (pageIndex)).Take(pageSize); var list = query.ToList(); List <object> olist = new List <object>(); foreach (var item in list) { var prdKindNames = CurrentDb.PrdKind.Where(p => (from d in CurrentDb.PrdProductKind where d.PrdProductId == item.Id select d.PrdKindId).Contains(p.Id)).Select(m => m.Name).ToArray(); string str_prdKindNames = prdKindNames.Length != 0 ? string.Join(",", prdKindNames) : ""; var prdProductSkus = CurrentDb.PrdProductSku.Where(m => m.PrdProductId == item.Id).ToList(); var list_Sku = new List <object>(); foreach (var prdProductSku in prdProductSkus) { list_Sku.Add(new { Id = prdProductSku.Id, SalePrice = prdProductSku.SalePrice, SpecDes = prdProductSku.SpecDes }); } olist.Add(new { Id = item.Id, Name = item.Name, BriefDes = item.BriefDes, MainImgUrl = ImgSet.GetMain(item.DispalyImgUrls), KindNames = str_prdKindNames, Skus = list_Sku, CreateTime = item.CreateTime, }); } PageEntity pageEntity = new PageEntity { PageSize = pageSize, Total = total, Items = olist }; result = new CustomJsonResult(ResultType.Success, ResultCode.Success, "", pageEntity); return(result); }
public IEnumerator InitCCImg(CardSetPack Cs) { MainStand_raw = Cs.stand_image; Shadow_raw = Cs.bg_image; if (MainStand == null) { yield return(false); } else { Texture2D tas = Cs.stand_image_t2; var income_img_ratio = (float)(tas.height / tas.width); var orig_img_ratio = (float)Cs.stand_image.height / Cs.stand_image.width; var ms_sprite = MainStand.GetComponent <SpriteRenderer>(); ms_sprite.sprite = Sprite.Create(tas, new Rect(0, 0, tas.width, tas.height), new Vector2(0.5f, 0f) ); MainStand.AddComponent <BoxCollider2D>(); var mtrans = MainStand.GetComponent <RectTransform>(); mtrans.localScale = new Vector3((float)(income_img_ratio / orig_img_ratio), 1, 1); } if (Shadow == null) { yield return(false); } else { Texture2D tas = Cs.bg_image_t2; var income_img_ratio = (float)1 / (tas.width / tas.height); var orig_img_ratio = (float)Cs.bg_image.height / Cs.bg_image.width; var ms_sprite = Shadow.GetComponent <SpriteRenderer>(); ms_sprite.sprite = Sprite.Create(tas, new Rect(0, 0, tas.width, tas.height), new Vector2(0.5f, 1f) ); var mtrans = Shadow.GetComponent <RectTransform>(); mtrans.localScale = new Vector3((float)(income_img_ratio / orig_img_ratio), 1, 1); } if (CCMainSet == null) { yield return(false); } else { this.transform.Find("cc").localScale = new Vector3(ratio, ratio, 1); } yield return(true); }
public IEnumerator InitCCImg(AssetBundle ab, CardSet Cs) { if (ab == null) { yield return(false); } MainStand_raw = Cs.stand_image; Shadow_raw = Cs.bg_image; if (MainStand == null) { yield return(false); } else { Texture2D tas = ab.LoadAsset(MainStand_raw.name) as Texture2D; var ms_sprite = MainStand.GetComponent <SpriteRenderer>(); ms_sprite.sprite = Sprite.Create(tas, new Rect(0, 0, tas.width, tas.height), new Vector2(0.5f, 0f) ); MainStand.AddComponent <BoxCollider2D>(); } if (Shadow == null) { yield return(false); } else { Texture2D tas = ab.LoadAsset(Shadow_raw.name) as Texture2D; var ms_sprite = Shadow.GetComponent <SpriteRenderer>(); ms_sprite.sprite = Sprite.Create(tas, new Rect(0, 0, tas.width, tas.height), new Vector2(0.5f, 1f) ); } if (CCMainSet == null) { yield return(false); } else { CCMainSet.localScale = new Vector3(ratio, ratio, 1); } yield return(true); }
public CustomJsonResult Add(string operater, string merchId, RopStoreAdd rop) { CustomJsonResult result = new CustomJsonResult(); using (TransactionScope ts = new TransactionScope()) { var isExistStore = CurrentDb.Store.Where(m => m.MerchId == merchId && m.Name == rop.Name).FirstOrDefault(); if (isExistStore != null) { return(new CustomJsonResult(ResultType.Failure, ResultCode.Failure, "名称已存在,请使用其它")); } var store = new Store(); store.Id = GuidUtil.New(); store.MerchId = merchId; store.Name = rop.Name; store.Address = rop.Address; store.BriefDes = rop.BriefDes; store.IsOpen = false; store.DispalyImgUrls = rop.DispalyImgUrls.ToJsonString(); store.MainImgUrl = ImgSet.GetMain(store.DispalyImgUrls); store.CreateTime = DateTime.Now; store.Creator = operater; CurrentDb.Store.Add(store); //默认 快递商品库存 var storeSellChannel = new StoreSellChannel(); storeSellChannel.Id = GuidUtil.New(); storeSellChannel.Name = "快递商品"; storeSellChannel.MerchId = merchId; storeSellChannel.StoreId = store.Id; storeSellChannel.RefType = E_StoreSellChannelRefType.Express; storeSellChannel.RefId = GuidUtil.Empty(); storeSellChannel.CreateTime = DateTime.Now; store.Creator = operater; CurrentDb.SaveChanges(); ts.Complete(); result = new CustomJsonResult(ResultType.Success, ResultCode.Success, "保存成功"); } return(result); }
public CustomJsonResult Add(string operater, string merchId, RopPrdKindAdd rop) { var result = new CustomJsonResult(); using (TransactionScope ts = new TransactionScope()) { var isExists = CurrentDb.PrdKind.Where(m => m.Name == rop.Name).FirstOrDefault(); if (isExists != null) { return(new CustomJsonResult(ResultType.Failure, ResultCode.Failure, "该名称已经存在")); } var pPrdKind = CurrentDb.PrdKind.Where(m => m.Id == rop.PId).FirstOrDefault(); if (pPrdKind == null) { return(new CustomJsonResult(ResultType.Failure, ResultCode.Failure, "找不到上级节点")); } var productKind = new PrdKind(); productKind.Id = GuidUtil.New(); productKind.PId = rop.PId; productKind.Name = rop.Name; productKind.IconImgUrl = rop.IconImgUrl; productKind.DispalyImgUrls = rop.DispalyImgUrls.ToJsonString(); productKind.MainImgUrl = ImgSet.GetMain(productKind.DispalyImgUrls); productKind.MerchId = merchId; productKind.Description = rop.Description; productKind.Depth = pPrdKind.Depth + 1; productKind.CreateTime = DateTime.Now; productKind.Creator = operater; CurrentDb.PrdKind.Add(productKind); CurrentDb.SaveChanges(); ts.Complete(); result = new CustomJsonResult(ResultType.Success, ResultCode.Success, "保存成功"); } return(result); }
public ActionResult AddImgSet(string setId = "") { Guid setGuid = Utils.ParseGuid(setId); var list = _system.GetUserTypeByImgSetId(setGuid); if (list == null) { list = new List <UserType>(); } ViewBag.UserTypeList = list; var model = _system.GetImgeSetById(setGuid); var typelist = manager.GetTypeList(); ViewBag.TypeList = typelist; if (model == null) { model = new ImgSet(); } return(View(model)); }
public CustomJsonResult Add(string operater, string merchId, RopPrdProductAdd rop) { CustomJsonResult result = new CustomJsonResult(); if (string.IsNullOrEmpty(rop.Name)) { return(new CustomJsonResult(ResultType.Failure, ResultCode.Failure, "商品名称不能为空")); } if (rop.KindIds == null || rop.KindIds.Count == 0) { return(new CustomJsonResult(ResultType.Failure, ResultCode.Failure, "至少选择一个商品模块")); } if (rop.SubjectIds == null || rop.SubjectIds.Count == 0) { return(new CustomJsonResult(ResultType.Failure, ResultCode.Failure, "至少选择一个商品栏目")); } if (rop.DispalyImgUrls == null || rop.DispalyImgUrls.Count == 0) { return(new CustomJsonResult(ResultType.Failure, ResultCode.Failure, "至少上传一张商品图片")); } using (TransactionScope ts = new TransactionScope()) { var prdProduct = new PrdProduct(); prdProduct.Id = GuidUtil.New(); prdProduct.MerchId = merchId; prdProduct.Name = rop.Name; prdProduct.BarCode = rop.BarCode; prdProduct.PinYinName = Pinyin.ConvertEncoding(prdProduct.Name, Encoding.UTF8, Encoding.GetEncoding("GB2312")); prdProduct.PinYinIndex = Pinyin.GetInitials(prdProduct.PinYinName, Encoding.GetEncoding("GB2312")); prdProduct.DispalyImgUrls = rop.DispalyImgUrls.ToJsonString(); prdProduct.MainImgUrl = ImgSet.GetMain(prdProduct.DispalyImgUrls); prdProduct.DetailsDes = rop.DetailsDes; prdProduct.BriefDes = rop.BriefDes; prdProduct.Creator = operater; prdProduct.CreateTime = DateTime.Now; foreach (var sku in rop.Skus) { var prdProductSku = new PrdProductSku(); prdProductSku.Id = GuidUtil.New(); prdProductSku.MerchId = prdProduct.MerchId; prdProductSku.PrdProductId = prdProduct.Id; prdProductSku.Name = prdProduct.Name; prdProductSku.SpecDes = sku.SpecDes; prdProductSku.SalePrice = sku.SalePrice; prdProductSku.Creator = operater; prdProductSku.CreateTime = DateTime.Now; CurrentDb.PrdProductSku.Add(prdProductSku); } if (rop.KindIds != null) { prdProduct.PrdKindIds = string.Join(",", rop.KindIds.ToArray()); foreach (var kindId in rop.KindIds) { var productSkuKind = new PrdProductKind(); productSkuKind.Id = GuidUtil.New(); productSkuKind.PrdKindId = kindId; productSkuKind.PrdProductId = prdProduct.Id; productSkuKind.Creator = operater; productSkuKind.CreateTime = DateTime.Now; CurrentDb.PrdProductKind.Add(productSkuKind); } } if (rop.SubjectIds != null) { prdProduct.PrdSubjectIds = string.Join(",", rop.SubjectIds.ToArray()); foreach (var subjectId in rop.SubjectIds) { var productSkuSubject = new PrdProductSubject(); productSkuSubject.Id = GuidUtil.New(); productSkuSubject.PrdSubjectId = subjectId; productSkuSubject.PrdProductId = prdProduct.Id; productSkuSubject.Creator = operater; productSkuSubject.CreateTime = DateTime.Now; CurrentDb.PrdProductSubject.Add(productSkuSubject); } } CurrentDb.PrdProduct.Add(prdProduct); CurrentDb.SaveChanges(); ts.Complete(); result = new CustomJsonResult(ResultType.Success, ResultCode.Success, "保存成功"); } return(result); }
public PrdProductModel GetProduct(string storeId, string productId) { //先从缓存信息读取商品信息 PrdProductModel prdProductByCache = RedisHashUtil.Get <PrdProductModel>(redis_key_product_info, productId); //如商品信息从缓存取不到,读取数据库信息加载 if (prdProductByCache == null) { var prdProductByDb = CurrentDb.PrdProduct.Where(m => m.Id == productId).FirstOrDefault(); if (prdProductByDb == null) { return(null); } var prdProductRefSkuByDb = CurrentDb.PrdProductSku.Where(m => m.PrdProductId == prdProductByDb.Id && m.IsRef == true).FirstOrDefault(); if (prdProductRefSkuByDb == null) { return(null); } prdProductByCache = new PrdProductModel(); prdProductByCache.Id = prdProductByDb.Id; prdProductByCache.Name = prdProductByDb.Name; prdProductByCache.DispalyImgUrls = prdProductByDb.DispalyImgUrls.ToJsonObject <List <ImgSet> >(); prdProductByCache.MainImgUrl = ImgSet.GetMain(prdProductByDb.DispalyImgUrls); prdProductByCache.DetailsDes = prdProductByDb.DetailsDes; prdProductByCache.BriefDes = prdProductByDb.BriefDes; prdProductByCache.RefSku = new PrdProductModel.RefSkuModel { Id = prdProductRefSkuByDb.Id, SalePrice = prdProductRefSkuByDb.SalePrice, SpecDes = prdProductRefSkuByDb.SpecDes }; RedisManager.Db.HashSetAsync(redis_key_product_info, prdProductByCache.Id, Newtonsoft.Json.JsonConvert.SerializeObject(prdProductByCache), StackExchange.Redis.When.Always); } if (prdProductByCache.RefSku == null) { return(null); } //从缓存中取店铺的商品库存信息 var refSkuStock = CacheServiceFactory.StoreSellChannelStock.GetStock(storeId, prdProductByCache.RefSku.Id); if (refSkuStock == null) { LogUtil.Info(string.Format("库存,Product,StoreId:{0},SkuId:{1},数据为NULL", storeId, prdProductByCache.RefSku.Id)); } else { if (refSkuStock.Stocks == null || refSkuStock.Stocks.Count == 0) { LogUtil.Info(string.Format("库存,Product,StoreId:{0},SkuId:{1},Stocks为NULL", storeId, prdProductByCache.RefSku.Id)); } else { prdProductByCache.RefSku.ReceptionMode = Entity.E_ReceptionMode.Machine; prdProductByCache.RefSku.SumQuantity = refSkuStock.Stocks.Where(m => m.RefType == Entity.E_StoreSellChannelRefType.Machine).Sum(m => m.SumQuantity); prdProductByCache.RefSku.LockQuantity = refSkuStock.Stocks.Where(m => m.RefType == Entity.E_StoreSellChannelRefType.Machine).Sum(m => m.LockQuantity); prdProductByCache.RefSku.SellQuantity = refSkuStock.Stocks.Where(m => m.RefType == Entity.E_StoreSellChannelRefType.Machine).Sum(m => m.SellQuantity); prdProductByCache.RefSku.SalePrice = refSkuStock.Stocks[0].SalePrice; prdProductByCache.RefSku.SalePriceByVip = refSkuStock.Stocks[0].SalePriceByVip; prdProductByCache.RefSku.IsOffSell = refSkuStock.Stocks[0].IsOffSell; } } prdProductByCache.BriefDes = prdProductByCache.BriefDes.NullToEmpty(); return(prdProductByCache); }
public CustomJsonResult <RetOrderUnifiedOrder> UnifiedOrder(string operater, string clientId, RopOrderUnifiedOrder rop) { CustomJsonResult <RetOrderUnifiedOrder> result = new CustomJsonResult <RetOrderUnifiedOrder>(); try { lock (lock_UnifiedOrder) { var ret = new RetOrderUnifiedOrder(); using (TransactionScope ts = new TransactionScope()) { LogUtil.Info("用户id:" + clientId); var wxUserInfo = CurrentDb.WxUserInfo.Where(m => m.ClientId == clientId).FirstOrDefault(); if (wxUserInfo == null) { return(new CustomJsonResult <RetOrderUnifiedOrder>(ResultType.Failure, ResultCode.Failure, "找不到用户微信信息", null)); } var orderByBuyed = CurrentDb.Order.Where(m => m.ClientId == clientId && m.PromoteId == rop.PromoteId && m.Status == Enumeration.OrderStatus.Payed).FirstOrDefault(); if (orderByBuyed != null) { return(new CustomJsonResult <RetOrderUnifiedOrder>(ResultType.Failure, ResultCode.Failure, "您已成功抢购,支付成功", null)); } var promoteBlackList = CurrentDb.PromoteBlackList.Where(m => m.PromoteId == rop.PromoteId && m.ClientId == clientId).FirstOrDefault(); if (promoteBlackList != null) { return(new CustomJsonResult <RetOrderUnifiedOrder>(ResultType.Failure, ResultCode.Failure, "谢谢参与,已售罄", null)); } var promote = CurrentDb.Promote.Where(m => m.Id == rop.PromoteId).FirstOrDefault(); if (promote != null) { if (promote.TargetType == Enumeration.PromoteTargetType.NotStudent) { var student = CurrentDb.Student.Where(m => m.Phone == rop.PromoteUser.CtPhone).FirstOrDefault(); if (student != null) { return(new CustomJsonResult <RetOrderUnifiedOrder>(ResultType.Failure, ResultCode.Failure, "仅限于非学员参与报名,谢谢关注", null)); } } var promoteUser = CurrentDb.PromoteUser.Where(m => m.ClientId == clientId && m.PromoteId == rop.PromoteId).FirstOrDefault(); if (promoteUser == null) { promoteUser = new PromoteUser(); promoteUser.Id = GuidUtil.New(); promoteUser.PromoteId = rop.PromoteId; promoteUser.ClientId = clientId; promoteUser.BroadcastChannelId = rop.BcId; promoteUser.RefereerId = rop.RefereerId; promoteUser.CtName = rop.PromoteUser.CtName; promoteUser.CtPhone = rop.PromoteUser.CtPhone; promoteUser.CtIsStudent = rop.PromoteUser.CtIsStudent; promoteUser.CtSchool = rop.PromoteUser.CtSchool; promoteUser.CreateTime = DateTime.Now; promoteUser.Creator = operater; CurrentDb.PromoteUser.Add(promoteUser); } else { promoteUser.BroadcastChannelId = rop.BcId; promoteUser.RefereerId = rop.RefereerId; promoteUser.CtName = rop.PromoteUser.CtName; promoteUser.CtPhone = rop.PromoteUser.CtPhone; promoteUser.CtIsStudent = rop.PromoteUser.CtIsStudent; promoteUser.CtSchool = rop.PromoteUser.CtSchool; } foreach (var sku in rop.Skus) { var productSku = CurrentDb.ProductSku.Where(m => m.Id == sku.SkuId).FirstOrDefault(); if (productSku == null) { return(new CustomJsonResult <RetOrderUnifiedOrder>(ResultType.Failure, ResultCode.Failure, "找不到该商品", null)); } var promoteSku = CurrentDb.PromoteSku.Where(m => m.PromoteId == rop.PromoteId && m.SkuId == sku.SkuId && m.BuyStartTime <= this.DateTime && m.BuyEndTime >= this.DateTime).FirstOrDefault(); if (promoteSku == null) { return(new CustomJsonResult <RetOrderUnifiedOrder>(ResultType.Failure, ResultCode.Failure, "谢谢参与,活动已经结束", null)); } if (!string.IsNullOrEmpty(promoteSku.RefereePromoteId)) { var clientCoupon = CurrentDb.ClientCoupon.Where(m => m.PromoteId == promoteSku.RefereePromoteId && m.ClientId == clientId && m.IsBuy == true).FirstOrDefault(); if (clientCoupon == null) { return(new CustomJsonResult <RetOrderUnifiedOrder>(ResultType.Failure, ResultCode.Failure, "谢谢参与,您没有资格参与购买", null)); } } if (promoteSku.StockQuantity > -1) { if (promoteSku.SellQuantity <= 0) { return(new CustomJsonResult <RetOrderUnifiedOrder>(ResultType.Failure, ResultCode.Failure, "谢谢参与,商品已经售罄", null)); } } } } var order = CurrentDb.Order.Where(m => m.PromoteId == rop.PromoteId && m.ClientId == clientId && m.Status == Entity.Enumeration.OrderStatus.WaitPay).FirstOrDefault(); if (order == null) { string orderId = GuidUtil.New(); var l_orderDetails = new List <OrderDetails>(); foreach (var sku in rop.Skus) { var productSku = CurrentDb.ProductSku.Where(m => m.Id == sku.SkuId).FirstOrDefault(); var productSkuOriginalPrice = productSku.SalePrice; var productSkuSalePrice = productSku.SalePrice; var promoteSku = CurrentDb.PromoteSku.Where(m => m.PromoteId == rop.PromoteId && m.SkuId == sku.SkuId && m.BuyStartTime <= this.DateTime && m.BuyEndTime >= this.DateTime).FirstOrDefault(); if (promoteSku != null) { productSkuSalePrice = promoteSku.SkuSalePrice; if (promoteSku.StockQuantity > -1) { promoteSku.SellQuantity -= 1; promoteSku.LockQuantity += 1; } } var orderDetails = new OrderDetails(); orderDetails.Id = GuidUtil.New(); orderDetails.ClientId = clientId; orderDetails.OrderId = orderId; orderDetails.BroadcastChannelId = rop.BcId; orderDetails.PromoteId = rop.PromoteId; orderDetails.SkuId = productSku.Id; orderDetails.SkuName = productSku.Name; orderDetails.SkuImgUrl = ImgSet.GetMain(productSku.DisplayImgUrls); orderDetails.Quantity = 1; orderDetails.SalePrice = productSkuSalePrice; orderDetails.OriginalAmount = productSkuOriginalPrice; orderDetails.DiscountAmount = productSkuOriginalPrice - productSkuSalePrice; orderDetails.ChargeAmount = orderDetails.OriginalAmount - orderDetails.DiscountAmount; orderDetails.CreateTime = this.DateTime; orderDetails.Creator = operater; orderDetails.Status = Enumeration.OrderDetailsStatus.WaitPay; CurrentDb.OrderDetails.Add(orderDetails); l_orderDetails.Add(orderDetails); } order = new Order(); order.Id = orderId; order.ClientId = clientId; order.Sn = SnUtil.Build(Enumeration.BizSnType.Order, order.ClientId); order.BroadcastChannelId = rop.BcId; order.PromoteId = rop.PromoteId; order.RefereerId = rop.RefereerId; order.OriginalAmount = l_orderDetails.Sum(m => m.OriginalAmount); order.DiscountAmount = l_orderDetails.Sum(m => m.DiscountAmount); order.ChargeAmount = order.OriginalAmount - order.DiscountAmount; order.SubmitTime = this.DateTime; order.CreateTime = this.DateTime; order.Creator = operater; order.IsInVisiable = true; order.Status = Enumeration.OrderStatus.WaitPay; //待支付状态 CurrentDb.Order.Add(order); CurrentDb.SaveChanges(); } bool isNeedBuy = true; decimal chargeAmount = order.ChargeAmount; if (chargeAmount <= 0) { isNeedBuy = false; } string[] testClientId = new string[2] { "62c587c13c124f96b436de9522fb31f0", "4faecb3507aa48698405cf492dc26916" }; if (isNeedBuy) { if (testClientId.Contains(order.ClientId)) { chargeAmount = 0.01m; } string goods_tag = ""; string prepayId = SdkFactory.Wx.Instance().GetPrepayId(operater, "JSAPI", wxUserInfo.OpenId, order.Sn, chargeAmount, goods_tag, Common.CommonUtil.GetIP(), "商品购买", order.PayExpireTime); if (string.IsNullOrEmpty(prepayId)) { LogUtil.Error("去结算,微信支付中生成预支付订单失败"); return(new CustomJsonResult <RetOrderUnifiedOrder>(ResultType.Failure, ResultCode.Failure, "抢购失败,刷新页面再试试", null)); } order.WxPrepayId = prepayId; order.PayExpireTime = this.DateTime.AddMinutes(2); Task4Factory.Tim2Global.Enter(TimerTaskType.CheckOrderPay, order.PayExpireTime.Value, order); ret.IsBuy = false; ret.WxPrepayId = order.WxPrepayId; } else { ret.IsBuy = true; BizFactory.Order.PayCompleted(operater, order.Sn, this.DateTime); } CurrentDb.SaveChanges(); ts.Complete(); ret.OrderId = order.Id; ret.OrderSn = order.Sn; result = new CustomJsonResult <RetOrderUnifiedOrder>(ResultType.Success, ResultCode.Success, "操作成功", ret); LogUtil.Info("去结算结束"); } } return(result); } catch (Exception ex) { LogUtil.Error("检查下单发生异常", ex); return(new CustomJsonResult <RetOrderUnifiedOrder>(ResultType.Exception, ResultCode.Exception, "下单发生异常", null)); } }
public string SaveImgSet(ImgSet set, List <int> userTypeList) { var res = _system.SaveImgSet(set, userTypeList); return(Utils.SerializeObject(res)); }