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.CustomLoginAssetManagementDto;
import com.crm.rely.backend.model.dto.custom.login.CustomLoginConditionDto;
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.asset.management.CustomLoginAssetManagementAddEntity;
import com.crm.rely.backend.model.entity.custom.login.asset.management.CustomLoginAssetManagementApproveEntity;
import com.crm.rely.backend.model.entity.custom.login.asset.management.CustomLoginAssetManagementSearchListEntity;
import com.crm.rely.backend.model.entity.custom.login.asset.management.CustomLoginAssetManagementUpdateCheckByLoginEntity;
import com.crm.rely.backend.model.pojo.table.CustomLoginAssetManagementTable;

public interface CustomLoginAssetManagementService {

    void add(CustomLoginAssetManagementAddEntity entity) throws ServiceException;

    boolean existAssetManagementStatus(Long customId) throws ServiceException;

    void applyCheck(CustomLoginAssetManagementUpdateCheckByLoginEntity entity) throws ServiceException;

    CustomLoginAssetManagementTable approve(CustomLoginAssetManagementApproveEntity entity) throws ServiceException;

    ResultWithPagerDto<CustomLoginAssetManagementDto> searchPageList(CustomLoginAssetManagementSearchListEntity entity) throws ServiceException;

    CustomLoginAssetManagementTable getByLogin(Long login) throws ServiceException;

    CustomLoginConditionDto conditionAssetManagement(CustomLoginCheckByLoginEntity entity) throws Exception;

    void studyAssetManagement(CustomLoginCheckByLoginEntity entity) throws Exception;
    void updateAgentId(CustomInfoUpdateAgentEntity entity) throws ServiceException;

}
