using ClockSnowFlake; using dy.net.model.dto; using dy.net.model.entity; using dy.net.repository; using SqlSugar; using System.Linq.Expressions; using System.Threading.Tasks; namespace dy.net.service { public class DouyinCookieService { private readonly DouyinCookieRepository _cookieRepository; public DouyinCookieService(DouyinCookieRepository cookieRepository) { _cookieRepository = cookieRepository; } public Task> GetOpendCookiesAsync(Expression> whereExpression = null) { return _cookieRepository.GetAllCookies(whereExpression); } public Task> GetAllAsync() { return _cookieRepository.GetAllAsync(); } /// /// /// /// public async Task IsInit() { return await _cookieRepository.ExistsAsync(x => !string.IsNullOrEmpty(x.Id)); } public async Task Add(DouyinCookie dyUserCookies) { return await _cookieRepository.InsertAsync(dyUserCookies); } public async Task Switch(DouyinCookieSwitchDto dto) { return await _cookieRepository.SwitchAsync(dto); } public bool InitCookie() { var exist = _cookieRepository.GetDefault(); if (exist != null) { return true; } var cookie = new DouyinCookie { UserName = "douyin2026", Cookies = "", SecUserId = "", Id = IdGener.GetLong().ToString(), Status = 0, SavePath = "/app/collect", FavSavePath = "/app/favorite", UpSavePath = "/app/uper", //ImgSavePath="/app/images", //CollHasSyncd = 0, //FavHasSyncd = 0, //UperSyncd = 0, MyUserId="" }; return _cookieRepository.Insert(cookie); } // 查询单个 public async Task GetByIdAsync(string id) { return await _cookieRepository.GetByIdAsync(id); } // 查询列表(可加条件) public async Task<(List list, int totalCount)> GetPagedAsync(int pageIndex, int pageSize) { return await _cookieRepository.GetPagedAsync(pageIndex, pageSize); } // 更新 public async Task UpdateAsync(DouyinCookie dyUserCookies) { return await _cookieRepository.UpdateAsync(dyUserCookies); } // 删除(根据主键) public async Task DeleteByIdAsync(string id) { return await _cookieRepository.DeleteByIdAsync(id); } // 批量删除 public async Task DeleteByIdsAsync(IEnumerable ids) { return await _cookieRepository.DeleteByIdsAsync(ids.Cast()); } public async Task ImportCookies(List cookies) { await _cookieRepository.DeleteAsync(x => !string.IsNullOrWhiteSpace(x.Id)); await _cookieRepository.InsertRangeAsync(cookies); return true; } /// /// 将所有同步类型的同步状态改为已同步,这样,之后就不会再扫描所有接口数据,只会读取最新一页的数据了 /// /// //public async Task SetOnlySyncNew() //{ // var cks= await _cookieRepository.GetAllAsync(); // foreach (var item in cks) // { // item.CollHasSyncd = 1; // item.FavHasSyncd = 1; // item.UperSyncd = 1; // } // var d= await _cookieRepository.UpdateRangeAsync(cks); // return d>0; //} } }