public void SetupTags(BaiduAppDetail appItem, AppProject appProject, App app) { if (!string.IsNullOrEmpty(appItem.Type)) { switch (appItem.Type) { case "soft": AppStoreUIService.AddTagForAppProject(AppConfigKey.TAG_SOFTWARE, appProject.Id); AppStoreUIService.AddTagForAppProject(AppConfigKey.TAG_TOT_10_SOFTWARE, appProject.Id); break; case "game": AppStoreUIService.AddTagForAppProject(AppConfigKey.TAG_GAME, appProject.Id); AppStoreUIService.AddTagForAppProject(AppConfigKey.TAG_TOT_10_GAMES, appProject.Id); break; default: break; } AppStoreUIService.AddTagForAppProject(AppConfigKey.TAG_LATEST, appProject.Id); AppStoreUIService.AddTagForAppProject(appItem.CategoryName, appProject.Id); AppStoreUIService.AddTagForApp(appItem.CategoryName, app.Id); AppStoreUIService.AddTagForApp(AppConfigKey.TAG_LIVE, app.Id); AppStoreUIService.AddTagForApp(AppConfigKey.TAG_VALID, app.Id); AppStoreUIService.AddTagForAppProject(AppConfigKey.TAG_FROM_BAIDU, appProject.Id); } }
public void DownloadResources(BaiduAppDetail appItem, out string appfileName) { appfileName = string.Empty; if (appItem != null) { MakeSureDIRExist(APK_Folder_Base); MakeSureDIRExist(Screenshots_Folder_Base); MakeSureDIRExist(Logo_Folder_Base); var iconFileName = GetFileNameFromUri(GetDownloadUrl(appItem.IconUrl)); var iconFilePath = Path.Combine(Logo_Folder_Base, iconFileName); DownloadFile(appItem.IconUrl, iconFilePath); var screenshotlist = GetScreenShotlist(appItem); foreach (var img in screenshotlist) { var screenshotFileName = GetFileNameFromUri(GetDownloadUrl(img)); var screenshotFilePath = Path.Combine(Screenshots_Folder_Base, screenshotFileName); DownloadFile(img, screenshotFilePath); } var appdownloadurl = GetRedirectUrl(appItem.DownloadUrlDetail, out appfileName); var apkFilePath = Path.Combine(APK_Folder_Base, appfileName.MakeSureNotNull()); DownloadFile(appdownloadurl, apkFilePath); } }
public void SetupAppVersion(BaiduAppDetail appItem, App app, string appfileName) { if (!string.IsNullOrEmpty(appItem.DownloadUrlDetail)) { FileInfo fi = new FileInfo(Path.Combine(APK_Folder_Base, appfileName)); if (fi != null && fi.Exists) { AppVersion ver = new AppVersion { FileSize = (int)fi.Length, FileUrl = appfileName, PublishDateTime = appItem.UpdateTimeDetail.ToExactDateTime("yyyy-MM-dd"), Status = 1, VersionName = appItem.VersionName, Id = appItem.VersionCode }; AndroidPackageView apkInfo = FileService.GetAndroidPackageInfomation(fi.FullName); apkInfo.Id = ver.Id; var originalApp = RedisService.Get <App>(app.Id); if (app.Status == 0) { RedisService.UpdateWithRebuildIndex <App>(originalApp, app); LogHelper.WriteInfo(string.Format("This App {0} status is invaild", app.Name), ConsoleColor.Gray); } RedisService.SetSubModel <App, AppVersion>(app.Id, ver); RedisService.SetSubModel <App, AndroidPackageView>(app.Id, apkInfo); AppStoreUIService.SetAppCurrentTestVersion(app.Id, ver.Id); AppStoreUIService.PublishAppVersion(app.Id); } } }
public void AddNewVersionApp(ReformApp reformApp, BaiduAppDetail appItem, AppProject appProject) { try { var appitems = AppStoreUIService.GetAppsFromAppList <AppProject>(appProject.Id); foreach (var a in appitems) { var versions = RedisService.GetAllSubModelIdsByType <App, AppVersion>(a.Id).ToIdsWithNoPrefix <AppVersion>(); if (!versions.Contains(appItem.VersionCode)) { reformApp.NewVersionCount = AddNewVersionForApp(reformApp.NewVersionCount, appItem, a); } else { reformApp.DupVersionCount++; LogHelper.WriteInfo(string.Format("Already has version {1} for app name {0}", appItem.Name, appItem.VersionCode), ConsoleColor.DarkYellow); } } } catch (Exception ex) { LogHelper.WriteError(ex.Message + ex.StackTrace); } }
public App SetupApp(BaiduAppDetail appItem, AppProject appProject, App app) { var originalApp = CloneHelper.DeepClone <App>(app); var originalApp2 = RedisService.Get <App>(app.Id); app.AppNo = appProject.AppNo; app.AppProjectId = appProject.Id; app.UseGreaterVersion = true; ClientImageInfo lg = new ClientImageInfo { BelongsToAppId = app.Id, FileUrl = Path.Combine(LogoDirRoot, GetFileNameFromUri(GetDownloadUrl(appItem.IconUrl))), TypeId = AppConfigKey.CLIENT_IMAGE_TYPE_ID }; RedisService.Add <ClientImageInfo>(lg); app.ClientLogos = new List <ClientImageInfo> { lg }; ImageInfo lg2 = new ImageInfo { BelongsToAppId = app.Id, FileUrl = Path.Combine(LogoDirRoot, GetFileNameFromUri(GetDownloadUrl(appItem.IconUrl))) }; RedisService.Add <ImageInfo>(lg2); app.Logo = lg2; app.Name = appItem.Name; app.OrderNumber = appItem.Score; app.DownloadTimes = appItem.Score; app.Status = 1; var screenShotlist = GetScreenShotlist(appItem); foreach (var s in screenShotlist) { ImageInfo ss = new ImageInfo { BelongsToAppId = app.Id, FileUrl = Path.Combine(ScreenshotDirRoot, GetFileNameFromUri(GetDownloadUrl(s))) }; RedisService.Add <ImageInfo>(ss); app.ScreenShot.Add(ss); } app.PlatformType = AppConfigKey.PLATFORM_TYPE_ID.ConfigValue().ToInt32(); app.Summary = appItem.Summary.Replace("<br/>", string.Empty).Replace("<br>", string.Empty); var changeLog = appItem.ChangeLog.Replace("<br/>", string.Empty).Replace("<br>", string.Empty).Replace("NULL", string.Empty); app.Summary = string.Format("{0}\r\n{1}", app.Summary, changeLog); RedisService.UpdateWithRebuildIndex <App>(originalApp2, app); return(app); }
public bool CheckTencentApp(BaiduAppDetail appItem, App app) { var tags = AppStoreUIService.GetTagsByApp(app.Id); if (app.AppNo.StartsWith("tencent_") || tags.FindIndex(x => (x.Name == AppConfigKey.TAG_FROM_TENCENT)) != -1) { LogHelper.WriteInfo(string.Format("Tencent App -- {0}, skipped versionupdate", appItem.Name), ConsoleColor.Yellow); return(true); } LogHelper.WriteInfo(string.Format("Has new version for app, name {0}, downloading...", appItem.Name), ConsoleColor.Yellow); return(false); }
public bool CheckTYDApp(BaiduAppDetail appItem, App app) { var tags = AppStoreUIService.GetTagsByApp(app.Id); if (tags.FindIndex(x => (x.Name == AppConfigKey.TAG_TYD_SKIP) || (x.Id == AppConfigKey.TAG_TYD_SKIP_ID)) != -1) { LogHelper.WriteInfo(string.Format("TYD手动维护 -- {0}, skipped", appItem.Name), ConsoleColor.Yellow); return(true); } LogHelper.WriteInfo(string.Format("Has new version for app, name {0}, downloading...", appItem.Name), ConsoleColor.Yellow); return(false); }
public AppProject SetupAppProject(BaiduAppDetail appItem, AppProject appProject) { var originalAppProject = CloneHelper.DeepClone <AppProject>(appProject); appProject.AppNo = "baidu_" + appItem.Id; appProject.Creator = appItem.SourceName; appProject.LogoFile = GetFileNameFromUri(GetDownloadUrl(appItem.IconUrl)); appProject.Name = appItem.Name; appProject.PackageName = appItem.PackageName; //appProject.Rate = appItem.Rating.ToInt32(); RedisService.UpdateWithRebuildIndex <AppProject>(originalAppProject, appProject); return(appProject); }
public AppProject AddNewApp(BaiduAppDetail appItem, AppProject appProject, string appfileName) { try { var app = new App(); appProject = SetupAppList(appProject, out app); appProject = SetupAppProject(appItem, appProject); app = SetupApp(appItem, appProject, app); SetupAppVersion(appItem, app, appfileName); SetupTags(appItem, appProject, app); } catch (Exception ex) { LogHelper.WriteError(ex.Message + ex.StackTrace); AppProjectDelete(appProject.Id); LogHelper.WriteInfo(string.Format("AppProjectId: {0} is delete.", appProject.Id)); } return(appProject); }
private int AddNewVersionForApp(int newVersionCount, BaiduAppDetail appItem, App app) { newVersionCount++; var isTYD = CheckTYDApp(appItem, app); var isTencent = CheckTencentApp(appItem, app); if (!isTYD && !isTencent) { var appfileName = string.Empty; DownloadResources(appItem, out appfileName); if (!string.IsNullOrEmpty(appfileName)) { SetupAppVersion(appItem, app, appfileName); SetupTags(appItem, app); } } return(newVersionCount); }
public void BuildAppProject(ReformApp reformApp, BaiduAppDetail appItem) { var appProject = AppStoreUIService.GetAppProjectByPKGName(appItem.PackageName); if (appProject == null) { LogHelper.WriteInfo(string.Format("Has new app, name {0}, downloading...", appItem.Name), ConsoleColor.Yellow); reformApp.NewAppCount++; var appfileName = string.Empty; DownloadResources(appItem, out appfileName); if (!string.IsNullOrEmpty(appfileName)) { appProject = AddNewApp(appItem, appProject, appfileName); } } else { try { var appitems = AppStoreUIService.GetAppsFromAppList <AppProject>(appProject.Id); if (appitems == null) { AppProjectDelete(appProject.Id); } else { AddNewVersionApp(reformApp, appItem, appProject); } } catch (Exception) { AppProjectDelete(appProject.Id); } } }
public string[] GetScreenShotlist(BaiduAppDetail appItem) { var imagelist = appItem.ScreenShot.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); return(imagelist); }