/// <summary> /// 将GoodsSkuInfo转换成SetGoodsSkuInfoModel /// </summary> /// <param name="info"></param> /// <returns></returns> public SetGoodsSkuInfoModel ToSetGoodsInfoModel(GoodsSkuInfo info) { Skuid = info.Skuid; Goodsid = info.Goodsid; SkuName = info.SkuName; SkuOriginalPrice = info.SkuOriginalPrice; SkuMaketPrice = info.SkuMaketPrice; SkuFactoryPrice = info.SkuFactoryPrice; SkuVipPrice = info.SkuVipPrice; Stock = info.Stock; SkuImage = info.SkuImage; IsDefault = info.IsDefault; Number = info.Number; Status = info.Status; return(this); }
public async Task <IActionResult> SetGoodsSkuInfo([FromServices] IHostingEnvironment env, IList <IFormFile> skufiles, long goodsId) { const string fileFilt = ".gif|.jpg|.jpeg|.png|.webp|"; const string saveSuffix = ".jpeg"; foreach (var file in Request.Form.Files) { var fileExtension = Path.GetExtension(file.FileName); if (fileExtension == null) { return(Json(new StatusMessageData(StatusMessageType.Error, "上传的文件没有后缀"))); } if (fileFilt.IndexOf(fileExtension.ToLower(), StringComparison.Ordinal) <= -1) { return(Json(new StatusMessageData(StatusMessageType.Error, "上传的文件不是图片"))); } if (file.Length > 1024 * 1024 * 2) { return(Json(new StatusMessageData(StatusMessageType.Error, "上传的文件不能大于2M"))); } } var skuArr = Request.Get <string>("SkuArr"); string[] skuNumArr = skuArr.Split(','); GoodsInfo info = goodsInfoService.GetGoodsInfo(goodsId); List <GoodsSkuInfo> skuModels = new List <GoodsSkuInfo>(); List <GoodsSkuInout> skuinoutModels = new List <GoodsSkuInout>(); var index = 0; var imgIndex = 0; foreach (var skuNum in skuNumArr) { GoodsSkuInfo goodsSkuInfo = new GoodsSkuInfo(); goodsSkuInfo.Skuid = Request.Get <int>($"Skuid{skuNum}"); goodsSkuInfo.SkuName = Request.Get <string>($"SkuName{skuNum}"); goodsSkuInfo.SkuOriginalPrice = Request.Get <decimal>($"SkuOriginalPrice{skuNum}"); goodsSkuInfo.SkuMaketPrice = Request.Get <decimal>($"SkuMaketPrice{skuNum}"); goodsSkuInfo.SkuFactoryPrice = Request.Get <decimal>($"SkuFactoryPrice{skuNum}"); goodsSkuInfo.SkuVipPrice = Request.Get <decimal>($"SkuVipPrice{skuNum}"); goodsSkuInfo.Stock = Request.Get <int>($"Stock{skuNum}"); goodsSkuInfo.IsDefault = Request.Get <bool>($"IsDefault{skuNum}"); goodsSkuInfo.Number = Request.Get <int>($"Number{skuNum}"); goodsSkuInfo.Status = goodsSkuInfo.Status = (int)GoodsSkuInfoStatus.Show; goodsSkuInfo.SkuImage = Request.Get <string>($"SkuImage{skuNum}"); goodsSkuInfo.Goodsid = goodsId; if (string.IsNullOrWhiteSpace(goodsSkuInfo.SkuImage)) { if (skufiles.Count > 0) { IFormFile file = skufiles[imgIndex - index]; goodsSkuInfo.SkuImage = await Utility.SaveImage(env, file, Request, saveSuffix); } } else { imgIndex++; } if (goodsSkuInfo.IsDefault) { info.GoodsPrice = goodsSkuInfo.SkuMaketPrice; info.GoodsRealPrice = goodsSkuInfo.SkuFactoryPrice; info.ImageUrl = goodsSkuInfo.SkuImage; } skuModels.Add(goodsSkuInfo); index++; } if (goodsInfoService.SetGoodsSkuInfo(info, skuModels, UserContext.CurrentUser.UserId)) { return(Json(new StatusMessageData(StatusMessageType.Success, "发布成功"))); } return(Json(new StatusMessageData(StatusMessageType.Error, "设置失败"))); }
public async Task <IActionResult> AddGoods([FromServices] IHostingEnvironment env, GoodsInfoModel model, IList <IFormFile> imgfiles, IList <IFormFile> skufiles) { const string fileFilt = ".gif|.jpg|.jpeg|.png|.webp|"; const string saveSuffix = ".jpeg"; foreach (var file in Request.Form.Files) { var fileExtension = Path.GetExtension(file.FileName); if (fileExtension == null) { return(Json(new StatusMessageData(StatusMessageType.Error, "上传的文件没有后缀"))); } if (fileFilt.IndexOf(fileExtension.ToLower(), StringComparison.Ordinal) <= -1) { return(Json(new StatusMessageData(StatusMessageType.Error, "上传的文件不是图片"))); } if (file.Length > 1024 * 1024 * 2) { return(Json(new StatusMessageData(StatusMessageType.Error, "上传的文件不能大于2M"))); } } var skuArr = Request.Get <string>("SkuArr"); string[] skuNumArr = skuArr.Split(','); GoodsInfo infoModel = model.AsGoodsInfo(); infoModel.Status = (int)GoodsInfoStatus.Shelves; infoModel.IsEnable = false; infoModel.DateCreated = DateTime.Now; infoModel.Userid = UserContext.CurrentUser.UserId; List <GoodsSkuInfo> skuModels = new List <GoodsSkuInfo>(); List <GoodsInRotationImage> imgModels = new List <GoodsInRotationImage>(); var index = 0; foreach (var skuNum in skuNumArr) { GoodsSkuInfo goodsSkuInfo = new GoodsSkuInfo(); goodsSkuInfo.SkuName = Request.Get <string>($"SkuName{skuNum}"); goodsSkuInfo.SkuOriginalPrice = Request.Get <string>($"SkuOriginalPrice{skuNum}").AsDecimal(); goodsSkuInfo.SkuMaketPrice = Request.Get <decimal>($"SkuMaketPrice{skuNum}"); goodsSkuInfo.SkuFactoryPrice = Request.Get <decimal>($"SkuFactoryPrice{skuNum}"); goodsSkuInfo.SkuVipPrice = Request.Get <string>($"SkuVipPrice{skuNum}").AsDecimal(); goodsSkuInfo.Stock = Request.Get <string>($"Stock{skuNum}").AsInt(); goodsSkuInfo.Number = Request.Get <int>($"Number{skuNum}"); goodsSkuInfo.IsDefault = Request.Get <bool>($"IsDefault{skuNum}"); goodsSkuInfo.Status = (int)GoodsSkuInfoStatus.Show; IFormFile file = skufiles[index]; goodsSkuInfo.SkuImage = await Utility.SaveImage(env, file, Request, saveSuffix); if (index == 0) { infoModel.GoodsPrice = goodsSkuInfo.SkuMaketPrice; infoModel.GoodsRealPrice = goodsSkuInfo.SkuFactoryPrice; } skuModels.Add(goodsSkuInfo); index++; } foreach (var img in imgfiles) { GoodsInRotationImage imgModel = new GoodsInRotationImage(); var imgIndex = imgfiles.IndexOf(img); IFormFile file = imgfiles[imgIndex]; imgModel.Number = imgIndex + 1; imgModel.GoodsRotationImage = await Utility.SaveImage(env, file, Request, saveSuffix); if (imgIndex == 0) { infoModel.ImageUrl = imgModel.GoodsRotationImage; } imgModels.Add(imgModel); } var detailsImg = Request.Get <string>("goodsDetailsImg"); string[] detailsImgArr = detailsImg.Split(','); if (goodsInfoService.ReleaseGoods(infoModel, skuModels, imgModels, detailsImgArr, UserContext.CurrentUser.UserId)) { return(Json(new StatusMessageData(StatusMessageType.Success, "发布成功"))); } return(Json(new StatusMessageData(StatusMessageType.Error, "发布失败"))); }