public async Task <ResultViewModel> GetById(string shopId, string goodId)
        {
            GoodInfo basicInfo = goodInfoBusiness.GetById(shopId, goodId);
            GoodInfoExtensionsDTO goodInfoExtensions = await goodInfoExtensionsBusiness.GetById(shopId, goodId);

            List <GoodInfoSKU> skuList = await goodInfoSKUBusiness.GetByGoodId(shopId, goodId);

            if (basicInfo == null || goodInfoExtensions == null)
            {
                return new ResultViewModel
                       {
                           Code    = ResultCode.ParamsError,
                           Message = "参数错误,找不到指定商品信息!",
                       }
            }
            ;

            GoodDetailInfo goodDetailInfo = AutoMapperUtil.Singleton.Map <GoodDetailInfo>(goodInfoExtensions);

            goodDetailInfo.BasicInfo = AutoMapperUtil.Singleton.Map <GoodBasicInfoDTO>(basicInfo);
            goodDetailInfo.SKUList   = AutoMapperUtil.Singleton.Map <List <GoodInfoSKUDTO> >(skuList);

            return(new ResultViewModel
            {
                Code = ResultCode.Success,
                Message = ResultMessage.Success,
                Data = goodDetailInfo
            });
        }
        public async Task <ResultViewModel> AddGoodInfo([FromBody] GoodDetailInfo goodDetailInfo)
        {
            if (goodDetailInfo == null)
            {
                return new ResultViewModel {
                           Code = ResultCode.ParamsError, Message = "参数错误"
                }
            }
            ;

            ResultViewModel valRes = GoodDetailInfoValidator.Validate(goodDetailInfo);

            if (valRes.Code != ResultCode.Success)
            {
                return(valRes);
            }

            goodDetailInfo.ShopId           = this.CurrentAuthShopId();
            goodDetailInfo.GoodInfoId       = Guid.NewGuid().ToString("N");
            goodDetailInfo.BasicInfo.ShopId = this.CurrentAuthShopId();
            goodDetailInfo.BasicInfo.Id     = goodDetailInfo.GoodInfoId;
            GoodInfo goodBasicInfo = AutoMapperUtil.Singleton.Map <GoodInfo>(goodDetailInfo.BasicInfo);
            GoodInfoExtensionsDTO goodInfoExtensions = AutoMapperUtil.Singleton.Map <GoodInfoExtensionsDTO>(goodDetailInfo);
            List <GoodInfoSKU>    skuList            = AutoMapperUtil.Singleton.Map <List <GoodInfoSKU> >(goodDetailInfo.SKUList);

            foreach (var skuItem in skuList)
            {
                skuItem.ShopId     = this.CurrentAuthShopId();
                skuItem.GoodInfoId = goodDetailInfo.GoodInfoId;
            }

            DataResult dataResult = await goodInfoBusiness.AddGoodInfo(goodBasicInfo, goodInfoExtensions, skuList);

            return(AutoMapperUtil.Singleton.Map <DataResult, ResultViewModel>(dataResult));
        }
Ejemplo n.º 3
0
        public async Task <GoodInfoExtensionsDTO> GetById(string shopId, string goodId)
        {
            GoodInfoExtensions goodInfoExtensions = await goodInfoExtensionsContext.FirstOrDefaultAsync(g => g.ShopId == shopId && g.GoodInfoId == goodId);

            if (goodInfoExtensions == null)
            {
                return(null);
            }

            GoodInfoExtensionsDTO goodInfoExtensionsDTO = new GoodInfoExtensionsDTO();

            goodInfoExtensionsDTO.ShopId     = goodInfoExtensions.ShopId;
            goodInfoExtensionsDTO.GoodInfoId = goodInfoExtensions.GoodInfoId;

            try
            {
                if (!string.IsNullOrEmpty(goodInfoExtensions.Banner))
                {
                    goodInfoExtensionsDTO.BannerList = JsonConvert.DeserializeObject <List <MediaItem> >(goodInfoExtensions.Banner);
                }
            }
            catch { }

            try
            {
                if (!string.IsNullOrEmpty(goodInfoExtensions.DescMedia))
                {
                    goodInfoExtensionsDTO.DescMediaList = JsonConvert.DeserializeObject <List <MediaItem> >(goodInfoExtensions.DescMedia);
                }
            }
            catch { }

            try
            {
                if (!string.IsNullOrEmpty(goodInfoExtensions.Specification))
                {
                    goodInfoExtensionsDTO.SpecificationList = JsonConvert.DeserializeObject <List <GoodInfoSpecificationItem> >(goodInfoExtensions.Specification);
                }
            }
            catch { }

            return(goodInfoExtensionsDTO);
        }
Ejemplo n.º 4
0
        public Task <DataResult> AddGoodInfo(GoodInfo goodInfo, GoodInfoExtensionsDTO goodInfoExtensionsDTO, List <GoodInfoSKU> skuList)
        {
            GoodInfoExtensions goodInfoExtensions = new GoodInfoExtensions();

            goodInfoExtensions.ShopId     = goodInfoExtensionsDTO.ShopId;
            goodInfoExtensions.GoodInfoId = goodInfoExtensionsDTO.GoodInfoId;

            if (goodInfoExtensionsDTO.BannerList != null && goodInfoExtensionsDTO.BannerList.Count > 0)
            {
                goodInfoExtensions.Banner = JsonConvert.SerializeObject(goodInfoExtensionsDTO.BannerList);
            }

            if (goodInfoExtensionsDTO.DescMediaList != null && goodInfoExtensionsDTO.DescMediaList.Count > 0)
            {
                goodInfoExtensions.DescMedia = JsonConvert.SerializeObject(goodInfoExtensionsDTO.DescMediaList);
            }

            if (goodInfoExtensionsDTO.SpecificationList != null && goodInfoExtensionsDTO.SpecificationList.Count > 0)
            {
                goodInfoExtensions.Specification = JsonConvert.SerializeObject(goodInfoExtensionsDTO.SpecificationList);
            }

            return(goodInfoContext.AddGoodInfo(goodInfo, goodInfoExtensions, skuList));
        }
        public async Task <ResultViewModel> UpdateGoodInfo([FromBody] GoodDetailInfo goodDetailInfo)
        {
            if (goodDetailInfo == null || string.IsNullOrEmpty(goodDetailInfo.GoodInfoId))
            {
                return new ResultViewModel {
                           Code = ResultCode.ParamsError, Message = "参数错误"
                }
            }
            ;

            ResultViewModel valRes = GoodDetailInfoValidator.Validate(goodDetailInfo);

            if (valRes.Code != ResultCode.Success)
            {
                return(valRes);
            }

            goodDetailInfo.ShopId           = this.CurrentAuthShopId();
            goodDetailInfo.BasicInfo.ShopId = this.CurrentAuthShopId();
            goodDetailInfo.BasicInfo.Id     = goodDetailInfo.GoodInfoId;

            GoodInfo goodBasicInfo = AutoMapperUtil.Singleton.Map <GoodInfo>(goodDetailInfo.BasicInfo);

            goodInfoBusiness.Update(goodBasicInfo);

            GoodInfoExtensionsDTO goodInfoExtensions = AutoMapperUtil.Singleton.Map <GoodInfoExtensionsDTO>(goodDetailInfo);

            goodInfoExtensionsBusiness.Update(goodInfoExtensions);

            List <GoodInfoSKU> skuList = AutoMapperUtil.Singleton.Map <List <GoodInfoSKU> >(goodDetailInfo.SKUList);
            await goodInfoSKUBusiness.Update(this.CurrentAuthShopId(), goodDetailInfo.GoodInfoId, skuList);

            return(new ResultViewModel {
                Code = ResultCode.Success, Message = "操作成功!"
            });
        }
Ejemplo n.º 6
0
        public void Update(GoodInfoExtensionsDTO goodInfoExtensionsDTO)
        {
            GoodInfoExtensions goodInfoExtensions = new GoodInfoExtensions();

            goodInfoExtensions.ShopId     = goodInfoExtensionsDTO.ShopId;
            goodInfoExtensions.GoodInfoId = goodInfoExtensionsDTO.GoodInfoId;

            if (goodInfoExtensionsDTO.BannerList != null && goodInfoExtensionsDTO.BannerList.Count > 0)
            {
                goodInfoExtensions.Banner = JsonConvert.SerializeObject(goodInfoExtensionsDTO.BannerList);
            }

            if (goodInfoExtensionsDTO.DescMediaList != null && goodInfoExtensionsDTO.DescMediaList.Count > 0)
            {
                goodInfoExtensions.DescMedia = JsonConvert.SerializeObject(goodInfoExtensionsDTO.DescMediaList);
            }

            if (goodInfoExtensionsDTO.SpecificationList != null && goodInfoExtensionsDTO.SpecificationList.Count > 0)
            {
                goodInfoExtensions.Specification = JsonConvert.SerializeObject(goodInfoExtensionsDTO.SpecificationList);
            }

            goodInfoExtensionsContext.Update(goodInfoExtensions);
        }
        public async Task <ResultViewModel> GetPrice([FromBody] List <GetGoodPriceParams> getGoodPriceParamsList)
        {
            List <GoodPriceViewModel> goodPriceList = new List <ViewModel.GoodPriceViewModel>();

            foreach (var paramsItem in getGoodPriceParamsList)
            {
                if (string.IsNullOrEmpty(paramsItem.ShopId) || string.IsNullOrEmpty(paramsItem.GoodInfoId))
                {
                    break;
                }
                GoodInfoExtensionsDTO goodInfoExtensions = await goodInfoExtensionsBusiness.GetById(paramsItem.ShopId, paramsItem.GoodInfoId);

                if (goodInfoExtensions == null)
                {
                    break;
                }

                //如果没有规格,直接返回默认值
                if (goodInfoExtensions.SpecificationList == null || goodInfoExtensions.SpecificationList.Count <= 0)
                {
                    GoodInfo basicInfo = goodInfoBusiness.GetById(paramsItem.ShopId, paramsItem.GoodInfoId);
                    if (basicInfo == null)
                    {
                        break;
                    }
                    GoodPriceViewModel price = AutoMapperUtil.Singleton.Map <GoodPriceViewModel>(paramsItem);
                    price.Price = basicInfo.Price;
                    break;
                }

                GoodInfoSKU sku = await goodInfoSKUBusiness.GetSKUBySpecification(paramsItem.ShopId, paramsItem.GoodInfoId,
                                                                                  paramsItem.SpecificationValue1,
                                                                                  paramsItem.SpecificationValue2,
                                                                                  paramsItem.SpecificationValue3);


                if (sku != null)
                {
                    GoodPriceViewModel price = AutoMapperUtil.Singleton.Map <GoodPriceViewModel>(paramsItem);
                    price.Price = sku.Price;
                }
                else //如果没有SKU,直接返回默认值
                {
                    GoodInfo basicInfo = goodInfoBusiness.GetById(paramsItem.ShopId, paramsItem.GoodInfoId);
                    if (basicInfo == null)
                    {
                        break;
                    }
                    GoodPriceViewModel price = AutoMapperUtil.Singleton.Map <GoodPriceViewModel>(paramsItem);
                    price.Price = basicInfo.Price;
                    break;
                }
            }

            return(new ResultViewModel
            {
                Code = ResultCode.Success,
                Message = ResultMessage.Success,
                Data = goodPriceList
            });
        }