using dy.net.model.dto; using dy.net.model.entity; using dy.net.model.response; using dy.net.service; using dy.net.utils; namespace dy.net.job { public class DouyinMixSyncJob : DouyinBasicSyncJob { public DouyinMixSyncJob(DouyinCookieService douyinCookieService, DouyinHttpClientService douyinHttpClientService, DouyinVideoService douyinVideoService, DouyinCommonService douyinCommonService, DouyinFollowService douyinFollowService, DouyinMergeVideoService douyinMergeVideoService, DouyinCollectCateService douyinCollectCateService) : base(douyinCookieService, douyinHttpClientService, douyinVideoService, douyinCommonService, douyinFollowService, douyinMergeVideoService, douyinCollectCateService) { } protected override VideoTypeEnum VideoType => VideoTypeEnum.dy_favorite; protected override async Task FetchVideoData(DouyinCookie cookie, string cursor,DouyinFollowed followed,DouyinCollectCate cate) { return await douyinHttpClientService.SyncFavoriteVideos(count, cursor, cookie.SecUserId, cookie.Cookies); } protected override bool ShouldContinueSync(DouyinCookie cookie, DouyinVideoInfoResponse data, DouyinFollowed followed=null) { return data != null && data.HasMore == 1 && cookie.FavHasSyncd == 0; } } }