package com.copy.trade.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bizzan.bitrade.entity.transform.AuthMember;
import com.copy.trade.entity.form.TraderQueryForm;
import com.copy.trade.entity.po.Customer;
import com.copy.trade.entity.vo.TraderVo;
import lombok.Getter;

import java.util.Map;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author wz
 * @since 2022-11-08
 */
public interface ICustomerService extends IService<Customer> {

    Boolean openAccount(AuthMember authMember);

    Customer getByMemberId(Long memberId);

    Boolean applyTrade(AuthMember authMember);

    Boolean applyTrade(AuthMember authMember, Map<String, String> requestHeaders);

    Boolean cancelTrade(AuthMember authMember);
    
    Page<TraderVo> traderList(TraderQueryForm traderQueryForm);

    Page<TraderVo> topTraderList(Integer pageNum, Integer pageSize, TraderQueryForm traderQueryForm);

    TraderVo traderInfo(Long customerId, Long traderId);
    
    TraderVo traderFollowInfo(Long traderId);
}
