package org.dromara.settlement.mapper;


import org.apache.ibatis.annotations.Param;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.settlement.api.domain.UnitConfClass;
import org.dromara.settlement.api.domain.UnitConfDetail;
import org.dromara.settlement.api.domain.UnitConfGroup;
import org.dromara.settlement.domain.SysUnitConfig;
import org.dromara.settlement.domain.SysUnitConfigKey;

import java.util.List;

public interface SysUnitConfigMapper extends BaseMapperPlus<SysUnitConfig, SysUnitConfigKey> {
	/**
	 * 查询单位的配置项
	 * @author 张涛
	 * @date 2021年1月13日
	 * @param unitIds 单位id（多个逗号分隔）
	 * @param items 配置项唯一标识（多个逗号分隔）
	 * @return
	 */
	public List<SysUnitConfig> selectByUnit(@Param("conf_units") String unitIds,@Param("conf_items") String items);



	/**
	 * Description: {功能简述}
	 * @param :
	 * @return :
	 * @throws :
	 * @see :com.tyy.user.dao.unit
	 * @author: dinghongbo
	 * @date :2021年1月27日
	 * Note: Nothing much.
	 */
	public List<UnitConfClass> getConfClass(@Param("unit_id") Long unit_id, @Param("unit_type") String unit_type);

	/**
	 * Description: {查询大类下的组信息}
	 * @param :
	 * @return :
	 * @throws :
	 * @see :com.tyy.user.dao.unit
	 * @author: dinghongbo
	 * @date :2021年1月27日
	 * Note: Nothing much.
	 */
	public List<UnitConfGroup> getConfGroupByUnit(@Param("unit_id") Long unit_id, @Param("class_alias") String class_alias);

	/**
	 * Description: {功能简述}
	 * @param :
	 * @return :
	 * @throws :
	 * @see :com.tyy.user.dao.unit
	 * @author: dinghongbo
	 * @date :2021年1月27日
	 * Note: Nothing much.
	 */
	public List<UnitConfDetail> getConfDetailByUnit(@Param("unit_id")  Long unit_id, @Param("conf_group") String conf_group);

	/**
	 * Description: {更新企业下大类的所有配置都是不可用}
	 * @param :
	 * @return :
	 * @throws :
	 * @see :com.tyy.user.dao.unit
	 * @author: dinghongbo
	 * @date :2021年1月27日
	 * Note: Nothing much.
	 */
	public void updateIsEnableByUnit(@Param("unit_id") Long conf_unit,@Param("class_alias") String class_alias);

	/**
	 * Description: {删除配置项}
	 * @param :
	 * @return :
	 * @throws :
	 * @see :com.tyy.user.dao.unit
	 * @author: dinghongbo
	 * @date :2021年1月27日
	 * Note: Nothing much.
	 */
	public void delConfIsEnableByUnit(@Param("unit_id") Long conf_unit,@Param("conf_group") String conf_group);

	/**
	 * Description: {保存配置项}
	 * @param :
	 * @return :
	 * @throws :
	 * @see :com.tyy.user.dao.unit
	 * @author: dinghongbo
	 * @date :2021年1月27日
	 * Note: Nothing much.
	 */
	public void addConf(List<UnitConfDetail> lendReco);





	/**
	 * Description: {删除配置项}
	 * @param :
	 * @return :
	 * @throws :
	 * @see :com.tyy.config.dao.unit
	 * @author: dinghongbo
	 * @date :2021年2月3日
	 * Note: Nothing much.
	 */
	public void delConfig(@Param("unit_id") Long conf_unit,@Param("key") String key);



	/**
	 * Description: {保存单个配置项}
	 * @param :
	 * @return :
	 * @throws :
	 * @see :com.tyy.config.dao.unit
	 * @author: dinghongbo
	 * @date :2021年2月3日
	 * Note: Nothing much.
	 */
	public void saveConfig(@Param("unit_id") Long conf_unit,@Param("key") String key,@Param("value") String value);





}
