package com.copy.trade.service;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.copy.trade.entity.form.TraderForm;
import com.copy.trade.entity.form.TraderQueryForAdminForm;
import com.copy.trade.entity.po.Customer;
import com.copy.trade.entity.vo.CustomerVo;
import com.copy.trade.entity.vo.TraderTotalVo;

import java.util.List;


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

    Customer getByMemberId(Long memberId);

    Boolean approvalTrader(Long traderId, Long levelId);

    Boolean reject(Long traderId);

    Boolean automaticUnfollow();
    
    Boolean cancelTrader(Long traderId);
    
    Boolean synchronousTraderInfor();
    
    Boolean updateTraderLevelId(Long traderId, Long traderLevelId);

    Boolean updateTraderTop(Long traderId, Integer isTop);

    List<Customer> traderList();
    
    Page<Customer> applyList(Page page);
    
    Page<CustomerVo> traderList(TraderQueryForAdminForm traderQueryForAdminForm);
    
    Page<TraderTotalVo> traderTotalList(TraderQueryForAdminForm traderQueryForAdminForm);
    
    Boolean updateTraderParams(Long traderId, TraderForm traderForm);
}
