package com.fkzy.warn.mapper;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import com.fkzy.warn.model.DictItem;
import com.fkzy.warn.model.vo.DictItemVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

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

/**
 * @Author: yuyantian
 * @Date: 2020/12/7
 * @description
 */
@Mapper
public interface DictItemMapper extends BaseMapper<DictItem> {

  /**
   * 批量逻辑删除
   *
   * @param dictId 字典id
   */
  boolean updateByDictId(@Param("dictIdList") List<String> dictId);

  /**
   * 根据字典编码查询字典项集合
   */
  List<DictItem> getDictItem(@Param("dictCode") String dictCode);

  /**
   * 根据字典编码查询指定字典项
   *
   * @param dictCode 字典编码
   * @param dictItemCode 字典项编码
   */
  DictItemVO findByDictCode(@Param("dictCode") String dictCode,
                            @Param("dictItemCode") String dictItemCode);

  /**
   * 根据字典名称查询指定字典项
   *
   * @param dictCode 字典编码
   * @param dictItemName 字典项名称
   */
  DictItemVO findByDictName(@Param("dictCode") String dictCode,
      @Param("dictItemName") String dictItemName);

  /**
   * 分页
   */
  Page<DictItemVO> queryPage(@Param("pagination") Page<DictItem> pagination,
                                      @Param("map") Map map);

  /**
   * 分页查询出的数据总条数
   */
  long queryListTotal(JSONObject jsonObject);

    List<String> findByDictId(@Param("dictId") Long  dictId);

  String findDictCodeByProductName(@Param("productName")String productName);
}
