package ${basePackage}.module.system.mpr;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import ${basePackage}.frame.auth.Token;
import ${basePackage}.module.system.ent.DictItem;
import ${basePackage}.module.system.req.DictItemDeleteRequest;
import ${basePackage}.module.system.req.DictItemFindRequest;
import ${basePackage}.module.system.req.DictItemGetRequest;
import ${basePackage}.module.system.req.DictItemUpdateRequest;

import java.util.List;

/**
 * DICT_ITEM - 字典项
 *
 * @author wangbing
 * @since 2017-01-01
 */
@Mapper
public interface DictItemMapper {

    /**
     * 插入
     *
     * @param request 请求对象
     * @param token   令牌
     * @return 返回数量
     */
    long insert(@Param("request") DictItem request, @Param("token") Token token);

    /**
     * 逻辑删除
     *
     * @param request 请求对象
     * @param token   令牌
     * @return 返回数量
     */
    long delete(@Param("request") DictItemDeleteRequest request, @Param("token") Token token);

    /**
     * 更新
     *
     * @param request 请求对象
     * @param token   令牌
     * @return 返回数量
     */
    long update(@Param("request") DictItemUpdateRequest request, @Param("token") Token token);

    /**
     * 查询
     *
     * @param request 请求对象
     * @param token   令牌
     * @return 返回对象
     */
    List<DictItem> find(@Param("request") DictItemFindRequest request, @Param("token") Token token);

    /**
     * 获得对象
     *
     * @param request 请求对象
     * @param token   令牌
     * @return 返回对象
     */
    DictItem get(@Param("request") DictItemGetRequest request, @Param("token") Token token);
}
