public void ProcessRequest(HttpContext context) { ProductModel productRequestModel = new ProductModel();//订单模型 try { productRequestModel = bllMall.ConvertRequestToModel <ProductModel>(productRequestModel); } catch (Exception ex) { apiResp.msg = "提交格式错误"; apiResp.code = (int)APIErrCode.OperateFail; bllMall.ContextResponse(context, apiResp); return; } //数据检查 if (string.IsNullOrEmpty(productRequestModel.product_title)) { apiResp.msg = "商品名称必填"; apiResp.code = (int)APIErrCode.OperateFail; bllMall.ContextResponse(context, apiResp); return; } //if (productRequestModel.price == 0) //{ // apiResp.msg = "商品价格必填"; // apiResp.code = (int)APIErrCode.OperateFail; // bllMall.ContextResponse(context, apiResp); // return; //} //if (string.IsNullOrWhiteSpace(productRequestModel.show_imgs) && !productRequestModel.article_category_type.Contains("Added")) //{ // apiResp.msg = "请上传商品图片"; // apiResp.code = (int)APIErrCode.OperateFail; // bllMall.ContextResponse(context, apiResp); // return; //} WXMallProductInfo productModel = new WXMallProductInfo(); productModel.PName = productRequestModel.product_title; productModel.PDescription = productRequestModel.product_desc; productModel.Price = productRequestModel.price; productModel.ArticleCategoryType = productRequestModel.article_category_type; productModel.CategoryId = productRequestModel.category_id; productModel.IsOnSale = productRequestModel.is_onsale.ToString(); productModel.Stock = productRequestModel.totalcount;//(容纳人数) productModel.WebsiteOwner = bllMall.WebsiteOwner; productModel.Sort = productRequestModel.sort; productModel.UserID = currentUserInfo.UserID; productModel.PreviousPrice = productRequestModel.price; productModel.Summary = productRequestModel.product_summary; productModel.InsertDate = DateTime.Now; productModel.LastUpdate = DateTime.Now; productModel.RelationProductId = productRequestModel.relation_product_id; productModel.AccessLevel = productRequestModel.access_Level; productModel.Unit = productRequestModel.unit; if (!string.IsNullOrWhiteSpace(productRequestModel.show_imgs)) { productModel.ShowImage = productRequestModel.show_imgs; List <string> imgs = productRequestModel.show_imgs.Split(',').Where(p => !string.IsNullOrWhiteSpace(p)).ToList(); productModel.RecommendImg = imgs[0]; int max = imgs.Count > 5 ? 5 : imgs.Count; for (int i = 0; i < max; i++) { if (i == 0) { productModel.ShowImage1 = imgs[0]; } else if (i == 1) { productModel.ShowImage2 = imgs[1]; } else if (i == 2) { productModel.ShowImage3 = imgs[2]; } else if (i == 3) { productModel.ShowImage4 = imgs[3]; } else if (i == 4) { productModel.ShowImage5 = imgs[4]; } } } //增加系统默认sku ProductSku productSkuDefault = new ProductSku();// productSkuDefault.InsertDate = DateTime.Now; productSkuDefault.Stock = 1; productSkuDefault.WebSiteOwner = bllMall.WebsiteOwner; productSkuDefault.ArticleCategoryType = productModel.ArticleCategoryType; List <ProductSku> skuList = new List <ProductSku>(); if (productRequestModel.time_set_method == 0) { productSkuDefault.Price = productModel.Price; skuList.Add(productSkuDefault); } else if (productRequestModel.time_set_method == 1 || productRequestModel.time_set_method == 2) { if (string.IsNullOrWhiteSpace(productRequestModel.time_data)) { apiResp.msg = "请添加时间段"; apiResp.code = (int)APIErrCode.OperateFail; bllMall.ContextResponse(context, apiResp); return; } List <timeModel> skuModelList = JSONHelper.JsonToModel <List <timeModel> >(productRequestModel.time_data); foreach (timeModel item in skuModelList) { ProductSku nSku = (ProductSku)productSkuDefault.Clone(); nSku.PropValueIdEx1 = item.ex1; nSku.PropValueIdEx2 = item.ex2; nSku.PropValueIdEx3 = item.ex3; nSku.Price = item.price; skuList.Add(nSku); } } productModel.PID = bllMall.GetGUID(BLLJIMP.TransacType.AddWXMallProductID); BLLTransaction tran = new BLLTransaction(); bool result = bllMall.Add(productModel, tran); if (!result) { tran.Rollback(); apiResp.msg = "提交失败"; apiResp.code = (int)APIErrCode.OperateFail; bllMall.ContextResponse(context, apiResp); return; } int productId = int.Parse(productModel.PID); foreach (ProductSku item in skuList) { item.ProductId = productId; item.SkuId = int.Parse(bllMall.GetGUID(BLLJIMP.TransacType.AddProductSku)); result = bllMall.Add(item, tran); if (!result) { tran.Rollback(); apiResp.msg = "提交失败"; apiResp.code = (int)APIErrCode.OperateFail; bllMall.ContextResponse(context, apiResp); return; } } tran.Commit(); apiResp.msg = "提交完成"; apiResp.code = (int)APIErrCode.IsSuccess; apiResp.status = true; bllMall.ContextResponse(context, apiResp); }