package cn.estsh.i3plus.core.api.iservice.busi;

import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.platform.bean.SysLocaleLanguage;
import io.swagger.annotations.ApiOperation;

import java.util.List;

/**
 * @Description : 系统语言管理
 * @Reference :
 * @Author : yunhao
 * @CreateDate : 2018-11-12 11:53
 * @Modify:
 **/
public interface ISysLocaleLanguageService {

    @ApiOperation(value = "添加系统语言",notes = "添加系统语言")
    SysLocaleLanguage insertSysLocaleLanguage(SysLocaleLanguage sysLocaleLanguage);

    @ApiOperation(value = "修改系统语言",notes = "修改系统语言")
    void updateSysLocaleLanguage(SysLocaleLanguage sysLocaleLanguage);

    @ApiOperation(value = "根据id删除系统语言",notes = "根据id删除系统语言")
    void deleteSysLocaleLanguageById(Long id);

    @ApiOperation(value = "查询全部系统语言",notes = "查询全部系统语言")
    List listSysLocaleLanguage();

    @ApiOperation(value = "系统语言复杂查询，分页，排序",notes = "系统语言复杂查询，分页，排序")
    ListPager querySysLocaleLanguageByPager(SysLocaleLanguage sysLocaleLanguage, Pager pager);

    @ApiOperation(value = "根据id批量删除系统语言",notes = "根据id批量删除系统语言")
    void deleteSysLocaleLanguageByIds(Long[] ids);

    @ApiOperation(value = "设置默认语言",notes = "设置默认语言")
    void updateSysLocaleLanguageDefaultById(Long id);

    @ApiOperation(value = "根据code查询语言")
    SysLocaleLanguage getSysLocaleLanguageByCode(String code);

    @ApiOperation(value = "根据语言id修改语言状态")
    void updateSysLocaleLanguageStatusById(Long id,Integer status);

    @ApiOperation(value = "根据语言id批量修改语言状态")
    void updateSysLocaleLanguageStatusByIds(Long[] ids,Integer status);

    @ApiOperation(value = "根据语言状态查询语言信息")
    List<SysLocaleLanguage> findSysLocaleLanguageByStatus(Integer status);

    @ApiOperation(value = "根据code查询语言")
    SysLocaleLanguage getSysLocaleLanguageById(Long id);
}
