content: package openjoe.smart.sso.server.service;
  
  import openjoe.smart.sso.server.entity.App;
  import openjoe.smart.sso.server.stage.core.Page;
  import openjoe.smart.sso.server.stage.mybatisplus.service.BaseService;
  
  import java.util.Collection;
  import java.util.List;
  import java.util.Map;
  
  /**
   * 应用服务接口
   * 
   * @author Joe
   */
  public interface AppService extends BaseService<App> {
  	
  	/**
  	 * 启用禁用操作
  	 * @param isEnable 是否启用
  	 * @param idList 应用ID集合
  	 * @return
  	 */
  	void enable(Boolean isEnable, List<Long> idList);
  	
  	/**
  	 * 根据名称查询
  	 */
  	List<App> selectAll(Boolean isEnable);
  	
  	/**
  	 * 根据名称分页查询
  	 * @param name 应用名称
  	 * @return
  	 */
  	Page<App> selectPage(String name, Long current, Long size);
  	
  	/**
  	 * 根据应用编码查询
  	 * @param code 应用编码
  	 * @return
  	 */
  	App selectByCode(String code);
  
  	App selectByClientId(String clientId);
  
  	void deleteByIds(Collection<Long> idList);
  
  	Map<String, App> selectMapByClientIds(Collection<String> clientIdList);
  
  	String generateClientId();
  }