package com.cyksj.service.corp.kf;

import com.cyksj.model.entity.CorpKfAccount;
import com.cyksj.model.entity.CorpKfAccountSessionConfig;
import com.cyksj.model.request.corp.kf.CorpKfDutyReq;
import com.cyksj.model.response.corp.CorpKfServicerStateViewResp;
import com.cyksj.model.views.CorpKfDutyServicersStatusView;

import java.util.List;

/**
 * 项目名: yhlxj2
 * 文件名: CorpKfService
 * 创建者: JavaZou
 * 创建时间:2024/12/30 18:10
 */
public interface CorpKfService {
	void addKfAccount(CorpKfAccount corpKfAccount) throws Exception;

	void delKfAccount(Long id) throws Exception;

	void updateKfAccount(CorpKfAccount corpKfAccount) throws Exception;

	void setKfAccountRuleOrAutoReply(CorpKfAccountSessionConfig CorpKfAccountSessionConfig);

	void setKfDuty(CorpKfDutyReq dutyReq) throws Exception;

	void servicerCommute(long cmsUserId, String openKfId, Boolean status) throws Exception;

	List<CorpKfDutyServicersStatusView> getDutyFollowByOpenKfId(long cmsUserId, String openKfId) throws Exception;

	String getUrl(String openKfId, String scene) throws Exception;

	void transCustomer(String followId, String toFollowId, Integer transNum, List<String> transUserIds, String openKfId) throws Exception;

	List<CorpKfAccount> getCorpKfAccountByUId(long cmsUserId);

	List<CorpKfServicerStateViewResp> getServicerStateList(String openKfId) throws Exception;
}
