Example #1
0
        private bool checkComCanBuy(CheckCommodityDTO com, CreateOrderCom createOrderCom)
        {
            if (com == null)
            {
                createOrderCom.checkResult.FillData(true, false, 0, ComCantBuyReasonEnum.NoCom, "无此商品");
                return(false);
            }
            if (com.State == 3)
            {
                createOrderCom.checkResult.FillData(true, false, 0, ComCantBuyReasonEnum.Deled, "商品已失效");
                return(false);
            }
            if (com.State == 1)
            {
                createOrderCom.checkResult.FillData(true, false, 0, ComCantBuyReasonEnum.State, "商品已下架");
                return(false);
            }

            if (com.Stock < createOrderCom.number)
            {
                createOrderCom.checkResult.FillData(true, false, com.Stock, ComCantBuyReasonEnum.Stock, "商品库存不足");
                return(false);
            }
            return(true);
        }
Example #2
0
        private bool checkCanBuyByPromotion(TodayPromotionDTO promotion, CreateOrderCom createOrderCom)
        {
            if (promotion == null)
            {
                createOrderCom.checkResult.FillData(true, false, 0, ComCantBuyReasonEnum.NoPromotion, "活动已失效");
                return(false);
            }
            if (promotion.StartTime > DateTime.Now)
            {
                createOrderCom.checkResult.FillData(true, false, 0, ComCantBuyReasonEnum.PromotionNotStart,
                                                    "活动即将开始");
                return(false);
            }
            if (promotion.EndTime < DateTime.Now)
            {
                createOrderCom.checkResult.FillData(true, false, 0, ComCantBuyReasonEnum.PromotionEnded, "活动已结束");
                return(false);
            }
            if (!PromotionCheck.CheckResource(_condition.userId, promotion, createOrderCom.number))
            {
                createOrderCom.checkResult.FillData(true, false, 0, ComCantBuyReasonEnum.Stock, "商品库存不足");
                return(false);
            }

            return(true);
        }