package com.crm.custom.service;

import com.crm.rely.backend.core.dto.base.ResultWithPagerDto;
import com.crm.rely.backend.core.exception.ServiceException;
import com.crm.rely.backend.model.dto.custom.login.CustomLoginConditionDto;
import com.crm.rely.backend.model.dto.custom.login.CustomLoginDemoDto;
import com.crm.rely.backend.model.entity.custom.info.CustomInfoUpdateAgentEntity;
import com.crm.rely.backend.model.entity.custom.login.CustomLoginCheckByLoginEntity;
import com.crm.rely.backend.model.entity.custom.login.demo.CustomLoginDemoApproveEntity;
import com.crm.rely.backend.model.entity.custom.login.demo.CustomLoginDemoSearchListEntity;
import com.crm.rely.backend.model.entity.custom.login.demo.CustomLoginDemoUpdateCheckByLoginEntity;
import com.crm.rely.backend.model.pojo.table.CustomLoginDemoTable;

public interface CustomLoginDemoService {

    boolean existDemoStatus(Long customId) throws ServiceException;

    boolean existDemoStatus(Long customId, Integer status) throws ServiceException;

    void update(Long login, Integer valid) throws ServiceException;

    void applyCheck(CustomLoginDemoUpdateCheckByLoginEntity entity) throws ServiceException;

    CustomLoginDemoTable approve(CustomLoginDemoApproveEntity entity) throws ServiceException;

    ResultWithPagerDto<CustomLoginDemoDto> searchPageList(CustomLoginDemoSearchListEntity entity) throws ServiceException;

    CustomLoginDemoTable getByLogin(Long login) throws ServiceException;

    CustomLoginConditionDto conditionDemo(CustomLoginCheckByLoginEntity entity) throws Exception;

    void studyDemo(CustomLoginCheckByLoginEntity entity) throws Exception;
    void updateAgentId(CustomInfoUpdateAgentEntity entity) throws ServiceException;
}
