public async void Add(long productID)
        {
            await Task.Run(() =>
            {
                var list = MallProductProvider.GetMallProductList(productID);

                AreaIndexManager.Instance.Insert(list);
                MallProductIndexManager.Instance.Insert(list);
            });
        }
        public async void DeleteSku(int?areaID, long skuID)
        {
            await Task.Run(() =>
            {
                if (!areaID.HasValue)
                {
                    areaID = MallProductProvider.GetSkuAreaID(skuID);
                }

                AreaIndexManager.Instance.Delete(Enums.IndexDataType.MallProduct, areaID.Value, skuID);
                MallProductIndexManager.Instance.Delete(Enums.IndexDataType.MallProduct, areaID.Value, skuID);
            });
        }
        public async void Delete(int?areaID, long productID)
        {
            await Task.Run(() =>
            {
                if (!areaID.HasValue)
                {
                    areaID = MallProductProvider.GetProductAreaID(productID);
                }
                var list = MallProductProvider.GetMallProductSkuIds(productID);

                AreaIndexManager.Instance.Delete(Enums.IndexDataType.MallProduct, areaID.Value, list);
                MallProductIndexManager.Instance.Delete(Enums.IndexDataType.MallProduct, areaID.Value, list);
            });
        }
        public async void Init()
        {
            await Task.Run(() =>
            {
                var list = MallProductProvider.GetAllProductSKUList();

                if (null != list)
                {
                    foreach (var item in list)
                    {
                        Update(item);
                    }
                }
            });
        }