package com.xhkjedu.sapi.mapper.system;

import com.xhkjedu.sapi.base.TkMapper;
import com.xhkjedu.sapi.model.system.TModule;
import com.xhkjedu.sapi.vo.system.ModuleSelVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * @ClassName ModuleMapper
 * Description 模块
 * Author WN
 * Date 2020/6/11 16:13
 **/
@Repository
public interface ModuleMapper extends TkMapper<TModule> {

    /**
     *功能描述 所有模块
     * @author WN
     * @date 2020/6/11
     * @param  * @param schoolid
     * @param display
     * @return java.util.List<com.xhkjedu.model.system.TModule>
     */
    List<TModule> listModules(@Param("schoolid") Integer schoolid, @Param("moduletype") Integer moduletype, @Param("display") Integer display);

    //获取第一层模块
    List<ModuleSelVo> listLevelModule(@Param("schoolid") Integer schoolid, @Param("moduletype") Integer moduletype);


    /**
     * 修改模块排序
     * @Param [module]
     * @Author ywx
     * @Date 2020/8/31 16:24
     * @return void
     **/
    void updateOrder(@Param("module") TModule module);

    /**
     * 模块上移
     * @Param [modules]
     * @Author ywx
     * @Date 2020/8/31 16:28
     * @return void
     **/
    void moveUp(@Param("list") List<TModule> modules);

    //模块选择列表
    List<Map> listForSel2(@Param("schoolid") Integer schoolid, @Param("moduletype") Integer moduletype);

    //删除默认模块关联的学校模块
    void deleteByDefaultId(String defaultid);

    //批量保存
    void batchSave(@Param("modules") List<TModule> modules);

    //修改模块状态
    void updateModuleDisplay(@Param("moduleid") String moduleid, @Param("display") Integer display);
}
