Esempio n. 1
0
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        private string Delete(HttpContext context)
        {
            int    promotionActivityId = int.Parse(context.Request["promotion_activity_id"]);
            string productId           = context.Request["product_id"];

            BLLJIMP.Model.PromotionActivity      promotionActivity = bllMall.GetPromotionActivity(promotionActivityId);
            ZentCloud.ZCBLLEngine.BLLTransaction tran = new ZCBLLEngine.BLLTransaction();
            try
            {
                string sql = string.Format(" Update ZCJ_ProductSku Set PromotionStartTime=0,PromotionStopTime=0,PromotionPrice=0,PromotionStock=0,PromotionSaleStock=0 where ProductId in ({0})", productId);
                sql += string.Format(" Update ZCJ_WXMallProductInfo Set PromotionStartTime=0,PromotionStopTime=0,IsPromotionProduct=0,PromotionActivityId=0 where PID in ({0})", productId);
                ZentCloud.ZCBLLEngine.BLLBase.ExecuteSql(sql, tran);
                resp.errmsg = "ok";
                tran.Commit();
            }
            catch (Exception ex)
            {
                resp.errcode = -1;
                resp.errmsg  = ex.Message;
                tran.Rollback();
            }

            bllMall.ClearProductListCacheByWhere(string.Format(" PID in ({0}) ", productId));

            return(ZentCloud.Common.JSONHelper.ObjectToJson(resp));
        }
Esempio n. 2
0
        /// <summary>
        /// 更新
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        private string Update(HttpContext context)
        {
            PromotionActivityRequestModel requestModel;

            try
            {
                string data = context.Request["data"];
                requestModel = ZentCloud.Common.JSONHelper.JsonToModel <PromotionActivityRequestModel>(data);
            }
            catch (Exception)
            {
                resp.errcode = 1;
                resp.errmsg  = "json格式错误,请检查。";
                return(ZentCloud.Common.JSONHelper.ObjectToJson(resp));
            }

            ZentCloud.ZCBLLEngine.BLLTransaction tran = new ZCBLLEngine.BLLTransaction();
            try
            {
                BLLJIMP.Model.PromotionActivity model = bllMall.Get <BLLJIMP.Model.PromotionActivity>(string.Format(" WebSiteOwner='{0}' And ActivityId={1}", bllMall.WebsiteOwner, requestModel.promotion_activity_id));
                model.ActivityImage         = requestModel.promotion_activity_image;
                model.ActivityName          = requestModel.promotion_activity_name;
                model.ActivitySummary       = requestModel.promotion_activity_summary;
                model.StartTime             = requestModel.promotion_activity_start_time;
                model.StopTime              = requestModel.promotion_activity_stop_time;
                model.Sort                  = requestModel.promotion_activity_sort;
                model.PromotionActivityType = requestModel.promotion_activity_type;
                model.PromotionActivityRule = requestModel.promotion_activity_rule;
                int limitBuyProductCount = 0;
                if (int.TryParse(requestModel.limit_buy_product_count, out limitBuyProductCount))
                {
                    model.LimitBuyProductCount = limitBuyProductCount;
                }

                if (!bllMall.Update(model, tran))
                {
                    resp.errcode = 1;
                    resp.errmsg  = "更新失败";
                    return(ZentCloud.Common.JSONHelper.ObjectToJson(resp));
                }
                //TODO
                //更新SKU 表时间
                string sql = string.Format(" Update ZCJ_ProductSku Set PromotionStartTime={0},PromotionStopTime={1} where ProductId in( Select PID from ZCJ_WXMallProductInfo where PromotionActivityId={2});", model.StartTime, model.StopTime, model.ActivityId); //更新SKU表
                sql += string.Format(" Update ZCJ_WXMallProductInfo set IsPromotionProduct=1,PromotionStartTime={0},PromotionStopTime={1} where PromotionActivityId={2}", model.StartTime, model.StopTime, model.ActivityId);                                       //更新商品表
                ZentCloud.ZCBLLEngine.BLLBase.ExecuteSql(sql, tran);
                tran.Commit();
                resp.errcode = 0;
                resp.errmsg  = "ok";

                bllMall.ClearProductListCacheByWhere(string.Format(" PromotionActivityId={0} ", model.ActivityId));
            }
            catch (Exception ex)
            {
                resp.errcode = -1;
                resp.errmsg  = ex.Message;
                tran.Rollback();
            }
            return(ZentCloud.Common.JSONHelper.ObjectToJson(resp));
        }
Esempio n. 3
0
        /// <summary>
        /// 查询
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        private string List(HttpContext context)
        {
            string promotionActivityId = context.Request["promotion_activity_id"];                                                          //限时特卖活动ID
            int    pageIndex           = !string.IsNullOrEmpty(context.Request["pageindex"]) ? int.Parse(context.Request["pageindex"]) : 1; //页码
            int    pageSize            = !string.IsNullOrEmpty(context.Request["pagesize"]) ? int.Parse(context.Request["pagesize"]) : 10;  //页数

            pageSize = 1000;
            BLLJIMP.Model.PromotionActivity promotionActivity = new BLLJIMP.Model.PromotionActivity();
            if (!string.IsNullOrEmpty(promotionActivityId))
            {
                promotionActivity = bllMall.Get <BLLJIMP.Model.PromotionActivity>(string.Format(" ActivityId={0}", promotionActivityId));
            }
            int totalCount = 0;
            var sourceData = bllMall.GetPromotionProductList(context, out totalCount);
            //using (System.IO.StreamWriter sw = new System.IO.StreamWriter(@"D:\WXOpenOAuthDevLog.txt", true, System.Text.Encoding.GetEncoding("gb2312")))
            //{
            //    sw.WriteLine(string.Format("{0}\t{1}", DateTime.Now.ToString(), ZentCloud.Common.JSONHelper.ObjectToJson(sourceData)));
            //}
            var list = from p in sourceData
                       select new
            {
                product_id      = p.PID,
                category_id     = p.CategoryId,
                title           = p.PName,
                quote_price     = p.PreviousPrice,
                price           = bllMall.GetShowPrice(p),
                promotion_price = bllMall.GetMinPrommotionPrice(int.Parse(p.PID)),
                img_url         = bllMall.GetImgUrl(p.RecommendImg),
                is_onsale       = (!string.IsNullOrEmpty(p.IsOnSale) && p.IsOnSale == "1") ? 1 : 0,
                totalcount      = bllMall.GetProductTotalStockPromotion(int.Parse(p.PID)),
                tags            = p.Tags,
                promotion_count = bllMall.GetProductTotalPromotionSaleStock(int.Parse(p.PID)),
                //start_time = bllMall.Get<BLLJIMP.Model.PromotionActivity>(string.Format(" ActivityId={0}", p.PromotionActivityId)).StartTime,
                //stop_time = bllMall.Get<BLLJIMP.Model.PromotionActivity>(string.Format(" ActivityId={0}", p.PromotionActivityId)).StopTime,
                start_time            = promotionActivity.StartTime,
                stop_time             = promotionActivity.StopTime,
                is_sms_remind         = IsRemind(p.PromotionActivityId.ToString(), bllMall.GetCurrUserID()),
                is_collect            = IsCollectProduct(int.Parse(p.PID)),
                promotion_activity_id = p.PromotionActivityId
            };

            list       = list.Where(p => p.promotion_count > 0).ToList();
            totalCount = list.Count();
            // list = list.Skip((pageIndex - 1) * pageSize).Take(pageSize);
            return(ZentCloud.Common.JSONHelper.ObjectToJson(new
            {
                start_time = promotionActivity.StartTime,
                stop_time = promotionActivity.StopTime,
                totalcount = totalCount,
                list = list
            }));
        }
Esempio n. 4
0
        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        private string Add(HttpContext context)
        {
            PromotionActivityRequestModel requestModel;

            try
            {
                string data = context.Request["data"];
                requestModel = ZentCloud.Common.JSONHelper.JsonToModel <PromotionActivityRequestModel>(data);
            }
            catch (Exception)
            {
                resp.errcode = 1;
                resp.errmsg  = "json格式错误,请检查。";
                return(ZentCloud.Common.JSONHelper.ObjectToJson(resp));
            }
            BLLJIMP.Model.PromotionActivity model = new BLLJIMP.Model.PromotionActivity();
            model.ActivityId            = int.Parse(bllMall.GetGUID(BLLJIMP.TransacType.AddPromotionActivity));
            model.ActivityImage         = requestModel.promotion_activity_image;
            model.ActivityName          = requestModel.promotion_activity_name;
            model.ActivitySummary       = requestModel.promotion_activity_summary;
            model.InsertDate            = DateTime.Now;
            model.StartTime             = requestModel.promotion_activity_start_time;
            model.StopTime              = requestModel.promotion_activity_stop_time;
            model.Sort                  = requestModel.promotion_activity_sort;
            model.PromotionActivityType = requestModel.promotion_activity_type;
            model.PromotionActivityRule = requestModel.promotion_activity_rule;
            model.WebSiteOwner          = bllMall.WebsiteOwner;

            int limitBuyProductCount = 0;

            if (int.TryParse(requestModel.limit_buy_product_count, out limitBuyProductCount))
            {
                model.LimitBuyProductCount = limitBuyProductCount;
            }

            if (bllMall.Add(model))
            {
                resp.errcode = 0;
                resp.errmsg  = "ok";
            }
            else
            {
                resp.errcode = 1;
                resp.errmsg  = "添加失败";
            }
            return(ZentCloud.Common.JSONHelper.ObjectToJson(resp));
        }
Esempio n. 5
0
        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        private string Add(HttpContext context)
        {
            int    promotionActivityId = int.Parse(context.Request["promotion_activity_id"]);
            string productIds          = context.Request["product_ids"];

            BLLJIMP.Model.PromotionActivity promotionActivity = bllMall.GetPromotionActivity(promotionActivityId);
            if (promotionActivity == null)
            {
                resp.errcode = 1;
                resp.errmsg  = "限时特卖活动不存在,请检查";
                return(ZentCloud.Common.JSONHelper.ObjectToJson(resp));
            }
            if (bllMall.GetCount <BLLJIMP.Model.WXMallProductInfo>(string.Format(" PID in ({0}) And WebsiteOwner='{1}' And IsPromotionProduct=0 And (PromotionActivityId=0 Or PromotionActivityId Is NULL)", productIds, bllMall.WebsiteOwner)) != productIds.Split(',').Length)
            {
                resp.errcode = 1;
                resp.errmsg  = "商品ID不存在或商品已经加入限时特卖,请检查";
                return(ZentCloud.Common.JSONHelper.ObjectToJson(resp));
            }


            ZentCloud.ZCBLLEngine.BLLTransaction tran = new ZCBLLEngine.BLLTransaction();
            try
            {
                string sql = string.Format(" Update ZCJ_ProductSku Set PromotionStartTime={0},PromotionStopTime={1} where ProductId in({2})", promotionActivity.StartTime, promotionActivity.StopTime, productIds);                                                                        //更新sku表
                sql += string.Format(" Update ZCJ_WXMallProductInfo Set IsPromotionProduct=1, PromotionStartTime={0},PromotionStopTime={1},PromotionActivityId={2} where PID in({3})", promotionActivity.StartTime, promotionActivity.StopTime, promotionActivity.ActivityId, productIds); //更新sku表
                ZentCloud.ZCBLLEngine.BLLBase.ExecuteSql(sql, tran);
                resp.errmsg = "ok";
                tran.Commit();
            }
            catch (Exception ex)
            {
                resp.errcode = -1;
                resp.errmsg  = ex.Message;
                tran.Rollback();
            }

            bllMall.ClearProductListCacheByWhere(string.Format(" PID in ({0}) ", productIds));

            return(ZentCloud.Common.JSONHelper.ObjectToJson(resp));
        }
Esempio n. 6
0
        /// <summary>
        /// 更新
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        private string Update(HttpContext context)
        {
            string       data = context.Request["data"];
            ProcuctModel productRequestModel;

            try
            {
                productRequestModel = ZentCloud.Common.JSONHelper.JsonToModel <ProcuctModel>(data);
            }
            catch (Exception ex)
            {
                resp.errcode = 1;
                resp.errmsg  = "JSON格式错误,请检查。错误信息:" + ex.Message;
                return(ZentCloud.Common.JSONHelper.ObjectToJson(resp));
            }

            #region 检查

            foreach (var sku in productRequestModel.skus)
            {
                ProductSku productSku = bllMall.GetProductSku(sku.sku_id);
                if (productSku.ProductId != productRequestModel.product_id)
                {
                    resp.errcode = 1;
                    resp.errmsg  = "sku product_id不匹配,请检查";
                    return(ZentCloud.Common.JSONHelper.ObjectToJson(resp));
                }
                if (sku.promotion_sale_count > productSku.Stock)
                {
                    resp.errcode = 1;
                    resp.errmsg  = "特卖总库存不能大于" + productSku.Stock;
                    return(ZentCloud.Common.JSONHelper.ObjectToJson(resp));
                }
                if (sku.promotion_count > sku.promotion_sale_count)
                {
                    resp.errcode = 1;
                    resp.errmsg  = "特卖剩余库存不能大于" + sku.promotion_sale_count;
                    return(ZentCloud.Common.JSONHelper.ObjectToJson(resp));
                }
                if (sku.promotion_sale_count > 0 && sku.promotion_price <= 0)
                {
                    resp.errcode = 1;
                    resp.errmsg  = "有特卖总数量的特卖价格需大于0";
                    return(ZentCloud.Common.JSONHelper.ObjectToJson(resp));
                }
                //if (sku.promotion_price<=0)
                //{
                //    resp.errcode = 1;
                //    resp.errmsg = "特卖价格需大于0";
                //    return ZentCloud.Common.JSONHelper.ObjectToJson(resp);
                //}
                if (sku.promotion_price > productSku.Price)
                {
                    resp.errcode = 1;
                    resp.errmsg  = "特卖价格不能大于原价格";
                    return(ZentCloud.Common.JSONHelper.ObjectToJson(resp));
                }
            }
            //检查
            #endregion
            ProductSku        temproductSku   = bllMall.GetProductSku(productRequestModel.skus[0].sku_id);
            WXMallProductInfo tempProductInfo = bllMall.GetProduct(temproductSku.ProductId.ToString());
            BLLJIMP.Model.PromotionActivity      promotionActivity = bllMall.GetPromotionActivity(tempProductInfo.PromotionActivityId);
            ZentCloud.ZCBLLEngine.BLLTransaction tran = new ZCBLLEngine.BLLTransaction();
            try
            {
                foreach (var sku in productRequestModel.skus)
                {
                    ProductSku productSku = bllMall.GetProductSku(sku.sku_id);
                    productSku.PromotionPrice     = sku.promotion_price;
                    productSku.PromotionStock     = sku.promotion_count;
                    productSku.PromotionSaleStock = sku.promotion_sale_count;
                    if (productSku.PromotionSaleStock == 0)
                    {
                        productSku.PromotionSaleStock = sku.promotion_count;
                    }
                    if (sku.promotion_sale_count > 0)
                    {
                        productSku.PromotionSaleStock = sku.promotion_sale_count;
                    }
                    if (productSku.PromotionStartTime == 0 || productSku.PromotionStopTime == 0)
                    {
                        productSku.PromotionStartTime = promotionActivity.StartTime;
                        productSku.PromotionStopTime  = promotionActivity.StopTime;
                    }
                    if (!bllMall.Update(productSku))
                    {
                        tran.Rollback();
                        resp.errcode = 1;
                        resp.errmsg  = "修改失败";
                        return(ZentCloud.Common.JSONHelper.ObjectToJson(resp));
                    }
                }
                WXMallProductInfo productInfo = bllMall.GetProduct(productRequestModel.product_id.ToString());
                productInfo.PromotionPrice = productRequestModel.skus.Min(p => p.promotion_price);
                if (!bllMall.Update(productInfo, tran))
                {
                    tran.Rollback();
                    resp.errcode = 1;
                    resp.errmsg  = "操作失败";
                    return(ZentCloud.Common.JSONHelper.ObjectToJson(resp));
                }
                tran.Commit();
                resp.errmsg = "ok";
            }
            catch (Exception ex)
            {
                tran.Rollback();
                resp.errcode = -1;
                resp.errmsg  = ex.Message;
            }

            bllMall.ClearProductListCacheByWhere(string.Format(" PID='{0}' ", productRequestModel.product_id.ToString()));


            return(ZentCloud.Common.JSONHelper.ObjectToJson(resp));
        }