Beispiel #1
0
        /// <summary>
        /// 计算商品获得的积分
        /// </summary>
        /// <param name="product"></param>
        /// <param name="rebateRate"></param>
        /// <param name="count"></param>
        /// <param name="isGetInt"></param>
        /// <returns></returns>
        public decimal CalcProductRebateScore(WXMallProductInfo product, decimal rebateRate, int count = 1, bool isGetInt = false)
        {
            BLLMall bllMall = new BLLMall();

            decimal addScore = 0;

            //如果是特卖中 则不返积分
            if (product.IsPromotionProduct == 1)
            {
                var productSkuList = bllMall.GetProductSkuList(int.Parse(product.PID));//源SKU
                foreach (var item in productSkuList)
                {
                    if (bllMall.IsPromotionTime(item))
                    {
                        return(0);
                    }
                }
            }

            decimal price = product.Price - product.BasePrice;

            if (price < 0)
            {
                price = 0;
            }

            addScore = rebateRate * price * count;

            if (isGetInt)
            {
                addScore = RebateScoreGetInt(addScore);
            }

            return(addScore);
        }