package cn.wisenergy.mapper;

import cn.wisenergy.model.app.AntiFake;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

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

/**
 * @author 86187
 */
public interface AntiFakeMapper extends BaseMapper<AntiFake> {

    /**
     * 添加  二维码数据
     *
     * @param antiFake 二维码
     * @return 1
     */
    int add(AntiFake antiFake);

    /**
     * 编辑 二维码数据
     *
     * @param antiFake 二维码
     * @return 1
     */
    int edit(AntiFake antiFake);

    /**
     * 获取最大批次号
     *
     * @return 最大批次号
     */
    String getByBestBigNumber();

    /**
     * 批量创建防伪二维码
     *
     * @param list 入参list
     * @return list.size()
     */
    int creates(List<AntiFake> list);

    /**
     * 通过产品编号 获取二维码信息
     *
     * @param productNo  产品编号
     * @return 二维码信息
     */
    AntiFake getByProductNo(@Param("productNo") String productNo);

    /**
     * 通过防伪码 获取二维码信息
     *
     * @param shaValue 防伪码
     * @return 二维码信息
     */
    AntiFake getByShaValue(@Param("shaValue") String shaValue);

    /**
     * 根据条件获取二维码数量
     *
     * @param map 条件参数
     * @return 数量
     */
    int count(Map<String, Object> map);

    /**
     * 获取二维码列表
     *
     * @param map 条件参数
     * @return 二维码列表
     */
    List<AntiFake> getList(Map<String, Object> map);

    /**
     * 根据主键id,获取生产码
     *
     * @param list 主键ids
     * @return ProductNos
     */
    List<AntiFake> getProductNos(List<Long> list);

    int updateUseStatus(List<Long> list);

}
