package com.bonus.canteen.core.allocation.flow.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.bonus.canteen.core.allocation.flow.enums.FlowDefinitionEum;
import com.bonus.canteen.core.allocation.flow.model.FlowDefinitionMaping;

import java.util.List;

public interface FlowDefinitionMapingService extends IService<FlowDefinitionMaping> {
   void deleteByDefinition(Long definitionId);

   List<FlowDefinitionMaping> getByDefinitionIds(List<Long> definitionIds);

   List<FlowDefinitionMaping> getByMappingIdAndType(Long mappingId, String mappingType);

   List<FlowDefinitionMaping> getByMappingIdAndDefinitionType(Long mappingId, String definitionType);

   void changeStatusByDefinitionId(Long definitionId, Integer status);

   Long getByMappingIdAndDefinitionType(Long mappingId, FlowDefinitionEum flowDefinitionEum);

   List<FlowDefinitionMaping> getByMappingIdsAndDefinitionType(List<Long> mappingIds, String type);

   List<FlowDefinitionMaping> getNotIdByMappingIdsAndDefinitionType(Long definitionId, List<Long> mappingIds, String type);

   FlowDefinitionMaping getDefaultByType(String type);
}
