using dy.net.model.dto; using dy.net.model.entity; using dy.net.model.response; using dy.net.service; using dy.net.utils; using System; namespace dy.net.job { public class DouyinCollectCustomSyncJob : DouyinBasicSyncJob { public DouyinCollectCustomSyncJob(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_custom_collect; protected override async Task FetchVideoData(DouyinCookie cookie, string cursor, DouyinFollowed followed, DouyinCollectCate cate) { return await douyinHttpClientService.SyncCollectVideos(cursor, count, cookie.Cookies); } protected override bool ShouldContinueSync(DouyinCookie cookie, DouyinVideoInfoResponse data, DouyinFollowed followed = null) { return data != null && data.HasMore == 1 && cookie.CollHasSyncd == 0; } } }