Пример #1
0
        /// <summary>
        ///     获取用户的购物车    快递模板费用未处理
        /// </summary>
        /// <param name="UserId">用户Id</param>
        public Tuple <ServiceResult, StoreProductSku> GetCart(long UserId)
        {
            var storeItems = Resolve <IShopStoreService>().GetStoreItemListFromCache();
            var temp       = storeItems.Select(r => r.StoreId);
            var viewCarts  = Resolve <ICartService>().GetList(e =>
                                                              e.UserId == UserId && e.Status == Status.Normal && temp.Contains(e.StoreId)); // 读取购物车数据,是正常店铺的
            var orderProductInputList = new List <OrderProductInput>();

            foreach (var item in viewCarts)
            {
                var orderProductInput = new OrderProductInput
                {
                    Count        = item.Count,
                    LoginUserId  = UserId,
                    StoreId      = item.StoreId,
                    ProductId    = item.ProductId,
                    ProductSkuId = item.ProductSkuId
                };
                orderProductInputList.Add(orderProductInput);
            }

            if (orderProductInputList.Count == 0)
            {
                return(Tuple.Create(ServiceResult.FailedWithMessage("商品数量为0"), new StoreProductSku()));
            }

            var buyInput = new BuyInfoInput
            {
                LoginUserId = UserId,
                ProductJson = orderProductInputList.ToJsons()
            };

            return(Resolve <IOrderBuyServcie>().BuyInfo(buyInput));
        }
Пример #2
0
        public StoreProductSku BuyInfoSync(BuyInfoInput parameter)
        {
            parameter.IsBuy = true;
            var result = Resolve <IOrderBuyServcie>().BuyInfo(parameter);

            return(result.Item2);
        }
Пример #3
0
        public void BuyInfo_BuyInfoInput_test()
        {
            BuyInfoInput buyInfoInput = null;
            var          result       = Resolve <IOrderBuyServcie>().BuyInfo(buyInfoInput);

            Assert.NotNull(result);
        }
Пример #4
0
        public ApiResult <StoreProductSku> BuyInfo([FromBody] BuyInfoInput parameter)
        {
            if (!this.IsFormValid())
            {
                return(ApiResult.Failure <StoreProductSku>(this.FormInvalidReason(),
                                                           MessageCodes.ParameterValidationFailure));
            }

            parameter.IsBuy = true; // 为购买,生成sign 插入缓存
            var result = Resolve <IOrderBuyServcie>().BuyInfo(parameter);

            if (!result.Item1.Succeeded)
            {
                return(ApiResult.Failure <StoreProductSku>(result.Item1.ToString(), MessageCodes.ServiceFailure));
            }

            return(ApiResult.Success(result.Item2));
        }