package com.td.Dawa.common.service;


import com.td.Dawa.common.pojo.PageInfo;
import com.td.Dawa.common.pojo.Result;

import java.util.List;

/**
 * 通用Service
 *
 * @param <V> 实体类Vo
 * @param <E> 实体类
 * @param <T> id主键类型
 */
public interface CommonService<V, E,T> {

    Result<PageInfo<V>> page(V entityVo);

    PageInfo<V> pageByClass(V entityVo, Class entityModelClass);

    Result<List<V>> list(V entityVo);


    Result<V> get(T id);

    V getVo(T id);

    Result<V> save(V entityVo);

    Result<T> delete(T id);

    //更新当前列表数据到缓存
    List<E> updateListToCache(String key);
    //添加缓存列表操作
    List<E> getListFromCache(String key);

}
