package com.cyksj.service.corp;

import com.cyksj.dto.CorpOauth2UserInfo;
import com.cyksj.model.entity.CorpCustomerAcquistionCallback;
import com.cyksj.model.entity.CorpFollow;
import com.cyksj.model.entity.CorpUserPayIntention;
import com.cyksj.model.request.corp.Attachments;

/*
 *项目名: netflix
 *文件名: CorpService
 *创建者: JavaZou
 *创建时间:2022/10/13 14:58
 */
public interface CorpService {
	String VerifyURL(String msgSignature, String timestamp, String nonce, String echoStr) throws Exception;

	String corpMsg(String msgSignature, String timestamp, String nonce, String content) throws Exception;

	String dataInitByCorpId(String corpId) throws Exception;

	String createUrl(String corpId, String state);

	CorpOauth2UserInfo getUserInfo(String corpId, String code) throws Exception;

	CorpFollow saveFollowUser(String corpId, CorpOauth2UserInfo corpOauth2UserInfo) throws Exception;

	String getJsTicket(String corpId) throws Exception;

	String getAgentJsTicket(String corpId, String agentId) throws Exception;

	/**
	 **
	 * 上传附件
	 * @param attachments 附件类容
	 * @param corpId 企业微信id
	 * @param type 1群发素材,2朋友圈附件
	 * @return
	 */
	Attachments updateMaterial(Attachments attachments, String corpId,Integer type);

	/**
	 * 回传加粉延后回传记录
	 * @param id 记录id
	 */
	void postAcquistionLinkCallback(Long id);

	/**
	 * 更新加粉回传 意向
	 * @param corpCustomerAcquistionCallback
	 */
	void upCallbackIntention(CorpCustomerAcquistionCallback corpCustomerAcquistionCallback);

	/**
	 * 修改用户购买意愿
	 * @param corpUserPayIntention
	 */
	void updateUserIntention(CorpUserPayIntention corpUserPayIntention);
}
