package com.cool.store.mapper.dict;

import com.cool.store.entity.dict.SysDictGroupDO;
import com.cool.store.request.dict.DictGroupQueryRequest;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author zhangchenbiao
 * @date 2025-09-25 06:35
 */
public interface SysDictGroupMapper {
    /**
     * 默认插入方法，只会给有值的字段赋值
     * 会对传进来的字段做判空处理，如果字段为空，则使用数据库默认字段或者null
     * dateTime:2025-09-25 06:35
     */
    int insertSelective(@Param("record") SysDictGroupDO record);

    /**
     * 默认更新方法，根据主键更新，不会把null值更新到数据库，避免覆盖之前有值的
     * dateTime:2025-09-25 06:35
     */
    int updateByPrimaryKeySelective(@Param("record") SysDictGroupDO record);

    /**
     * 根据id批量删除
     *
     * @param ids id列表
     * @return int
     */
    int deleteByIds(@Param("ids") List<Long> ids);

    /**
     * 根据id查询
     *
     * @param id id
     * @return 字典分组
     */
    SysDictGroupDO selectById(@Param("id") Long id);

    /**
     * 列表查询
     *
     * @param dto 查询DTO
     * @return 字典分组列表
     */
    List<SysDictGroupDO> selectList(@Param("dto") DictGroupQueryRequest dto);
}