/// <summary> /// Builder order info and calculator price /// </summary> /// <param name="buyInfoInput"></param> public Tuple <ServiceResult, MerchantCartOutput> BuyInfo(MerchantBuyInfoInput buyInfo) { //user var result = new MerchantCartOutput(); var user = Resolve <IUserService>().GetSingle(buyInfo.UserId); if (user == null || user.Status != Status.Normal) { return(Tuple.Create(ServiceResult.Failure("您的输入的账户不存在,或者状态不正常"), result)); } //get merchant store //var merchantStore = Resolve<IMerchantStoreService>().GetSingle(s => s.Id == buyInfo.MerchantStoreId.ToObjectId()); //if (merchantStore == null) //{ // return Tuple.Create(ServiceResult.Failure("当前店铺不存在"), result); //} //get cart from database var cartIds = buyInfo.ProductItems.Select(c => c.Id.ToObjectId()).ToList(); var carts = Resolve <IMerchantCartService>().GetCart(cartIds); if (carts.Count <= 0) { return(Tuple.Create(ServiceResult.Failure("购物车为空"), result)); } return(CountPrice(carts)); }
public ApiResult <MerchantCartOutput> BuyInfo([FromBody] MerchantBuyInfoInput parameter) { if (!this.IsFormValid()) { return(ApiResult.Failure <MerchantCartOutput>(this.FormInvalidReason(), MessageCodes.ParameterValidationFailure)); } var serviceResult = Resolve <IMerchantOrderService>().BuyInfo(parameter); if (!serviceResult.Item1.Succeeded) { return(ApiResult.Failure <MerchantCartOutput>(serviceResult.Item1.ToString(), MessageCodes.ServiceFailure)); } return(ApiResult.Success(serviceResult.Item2)); }