示例#1
0
        /// <summary>
        /// 从拼多多同步主题数据到数据库中
        /// </summary>
        /// <returns></returns>
        public bool Sync(out string errMsg)
        {
            errMsg = "";
            DdkAppsModel appInfo = DdkAppProvider.Instance.GetModelByDefault();

            if (appInfo == null)
            {
                errMsg = "未能找到多多客应用配置信息";
                return(false);
            }

            try
            {
                int pageSize                    = 50;
                int page                        = 1;
                int curPageItemNums             = pageSize;
                List <DdkThemeModel> listResult = new List <DdkThemeModel>();
                while (curPageItemNums >= pageSize)
                {
                    ThemeListJsonResult        themeListJsonResult = DdkApi.GetThemeList(appInfo.ClientId, appInfo.ClientSecret, page, pageSize);
                    List <ThemeListItemEntity> themeList           = themeListJsonResult.theme_list_get_response.theme_list;
                    curPageItemNums = themeList.Count;
                    foreach (ThemeListItemEntity entity in themeList)
                    {
                        listResult.Add(new DdkThemeModel()
                        {
                            GoodsNum   = entity.goods_num,
                            ImageUrl   = entity.image_url,
                            Name       = entity.name,
                            ThemeId    = (int)entity.id,
                            UpdateTime = DateTime.Now
                        });
                    }
                    page++;
                }
                dal.TruncateTable();
                foreach (DdkThemeModel model in listResult)
                {
                    this.Add(model);
                }
                return(true);
            }
            catch (Exception ex)
            {
                LogHelper.Write("DdkThemeBLL.Sync发生异常:" + ex.Message);
                return(false);
            }
        }