package io.renren.service;

import io.renren.common.vo.agree.AgreeApplyResp;
import io.renren.common.vo.agree.AgreePageQueryResp;
import io.renren.common.vo.agree.AgreeQueryResp;
import io.renren.common.vo.agree.AgreeApplyReq;

/**
 * 协议管理服务
 * https://open.lianlianpay.com/docs/accp/accpstandard/sandbox-account.html
 * @author lsy
 */
public interface AgreeService {
	
	/**
	 * 协议申请
	 * 此接口用于用户发起对某个客户的余额委托交易的协议授权。
	 * @param agreeSignInfo
	 * @return
	 * @throws Exception
	 */
	AgreeApplyResp agreeApply(AgreeApplyReq agreeSignInfo) throws Exception;
	
	/**
	 * 协议单条查询
	 * 此接口用于查询指定用户已签约的协议。
	 * @param userId
	 * @param agreeNo
	 * @return
	 * @throws Exception
	 */
	AgreeQueryResp agreeQuery(String userId,String agreeNo) throws Exception;
	
	/**
	 * 协议分页查询
	 * 此接口用于查询指定用户已签约的协议列表。
	 * @param userId
	 * @return
	 * @throws Exception
	 */
	AgreePageQueryResp agreePageQuery(String userId) throws Exception;
}