package com.tzld.piaoquan.api.service.contentplatform;

import com.tzld.piaoquan.api.model.param.contentplatform.CooperateAccountListParam;
import com.tzld.piaoquan.api.model.param.contentplatform.CooperateAccountSaveParam;
import com.tzld.piaoquan.api.model.param.contentplatform.GzhAuthResultParam;
import com.tzld.piaoquan.api.model.po.contentplatform.ContentPlatformGzhAccount;
import com.tzld.piaoquan.api.model.vo.contentplatform.CooperateAccountItemVO;
import com.tzld.piaoquan.api.model.vo.contentplatform.GenerateQrcodeVO;
import com.tzld.piaoquan.api.model.vo.contentplatform.GzhAccountItem;
import com.tzld.piaoquan.api.model.vo.contentplatform.GzhAuthResultVO;
import com.tzld.piaoquan.growth.common.utils.page.Page;

import java.util.List;

public interface ContentPlatformCooperateAccountService {
    Page<CooperateAccountItemVO> gzhList(CooperateAccountListParam param);

    void gzhSave(CooperateAccountSaveParam param);

    GenerateQrcodeVO getGzhAuthQrCode(GzhAuthResultParam param);

    GzhAuthResultVO getGzhAuthResult(GzhAuthResultParam param);

    List<String> getGzhContentType();

    void gzhDelete(Long id);

    List<GzhAccountItem> getGzhAccountList(Integer accountType, String name);

    List<ContentPlatformGzhAccount> getAccountListByIds(List<Long> ids);

    ContentPlatformGzhAccount getById(Long id);

    List<ContentPlatformGzhAccount> getCooperateAccountListByGhIds(Long loginAccountId, List<String> ghIds);

    void gzhImport(List<String> channels);

    ContentPlatformGzhAccount getGzhAccount(String ghId);

    List<ContentPlatformGzhAccount> getAccountListByCreatorId(Long creatorId);

    List<ContentPlatformGzhAccount> getAccountListByGhIds(List<String> ghIds, Long creatorId);
}
