예제 #1
0
파일: PointBo.cs 프로젝트: KqSMea8/HS.Admin
        /// <summary>
        /// 计算订单能使用多少惠源币
        /// </summary>
        /// <param name="cart">购物车对象</param>
        /// <param name="customerModel">客户实体</param>
        /// <returns>惠源币数量</returns>
        /// <remarks>2014-1-3 黄波 创建</remarks>
        public int SettleAccountsUseExperienceCoinQuantity(Hyt.Model.CrShoppingCart cart, CrCustomer customerModel)
        {
            var allowMaxExperienceCoin = 0;

            try
            {
                //判断顾客是否能使用惠源币
                if (customerModel.IsExperienceCoinFixed == 1)
                {
                    return(0);
                }

                var level = Hyt.DataAccess.CRM.ICrCustomerDao.Instance.GetCustomerLevel(customerModel.LevelSysNo);

                if (level.CanPayForProduct == 1)//惠源币可用于支付货款
                {
                    var productPaymentUseExperienceCoin = (int)Math.Floor(((decimal)(cart.SettlementAmount - (cart.FreightAmount - cart.FreightDiscountAmount)) * level.ProductPaymentPercentage / 100));
                    allowMaxExperienceCoin += Math.Min(productPaymentUseExperienceCoin, level.ProductPaymentUpperLimit);
                }
                if (level.CanPayForService == 1)//惠源币可用于支付服务
                {
                    var servicePaymentUseExperienceCoin = (int)Math.Floor(((decimal)(cart.FreightAmount - cart.FreightDiscountAmount) * level.ServicePaymentPercentage / 100));
                    allowMaxExperienceCoin += Math.Min(servicePaymentUseExperienceCoin, level.ServicePaymentUpperLimit);
                }
            }
            catch (Exception ex)
            {
                Log.SysLog.Instance.Error(LogStatus.系统日志来源.后台, ex.Message, ex);
            }

            return(allowMaxExperienceCoin);
        }
예제 #2
0
파일: PointBo.cs 프로젝트: KqSMea8/HS.Admin
        /// <summary>
        /// 计算订单能使用多少惠源币
        /// </summary>
        /// <param name="cart">购物车对象</param>
        /// <param name="customerSysNo">客户编号</param>
        /// <returns>惠源币数量</returns>
        /// <remarks>2014-1-3 黄波 创建</remarks>
        public int SettleAccountsUseExperienceCoinQuantity(Hyt.Model.CrShoppingCart cart, int customerSysNo)
        {
            var customerModel = Hyt.DataAccess.CRM.ICrCustomerDao.Instance.GetCrCustomerItem(customerSysNo);

            return(SettleAccountsUseExperienceCoinQuantity(cart, customerModel));
        }
예제 #3
0
파일: PointBo.cs 프로젝트: KqSMea8/HS.Admin
 /// <summary>
 /// 验证等级惠源币支付比例是否有效
 /// </summary>
 /// <param name="cart">购物车对象</param>
 /// <param name="customerModel">客户实体</param>
 /// <param name="experienceCoin">惠源币</param>
 /// <returns>是否有效</returns>
 /// <remarks>2014-1-3 黄波 创建</remarks>
 public bool ExperienceCoinScaleIsValid(Hyt.Model.CrShoppingCart cart, CrCustomer customerModel, int experienceCoin)
 {
     return(experienceCoin <= SettleAccountsUseExperienceCoinQuantity(cart, customerModel));
 }