package org.jeecg.modules.demo.test.service;

import org.jeecg.common.system.base.service.JeecgService;
import org.jeecg.modules.demo.test.entity.JeecgDemo;

import com.baomidou.mybatisplus.core.metadata.IPage;

import java.util.List;

/**
 * @Description: jeecg 测试demo
 * @Author: jeecg-boot
 * @Date:  2018-12-29
 * @Version: V1.0
 */
public interface IJeecgDemoService extends JeecgService<JeecgDemo> {

    /**
     * 测试事务
     */
	public void testTran();

    /**
     * 通过id过去demo数据，先读缓存，在读数据库
     * @param id 数据库id
     * @return demo对象
     */
	public JeecgDemo getByIdCacheable(String id);
    /**
     * 通过id过去demo数据，先读缓存，在读数据库
     * @param id 数据库id
     * @return demo对象
     */
	public JeecgDemo getByIdCacheableTTL(String id);
	
	/**
	 * 查询列表数据 在service中获取数据权限sql信息
	 * @param pageSize
	 * @param pageNo
	 * @return
	 */
	IPage<JeecgDemo> queryListWithPermission(int pageSize,int pageNo);

	/**
	 * 根据用户权限获取导出字段
	 * @return
	 */
	String getExportFields();

	/**
	 * 获取创建人
	 * @return
	 */
	List<String> getCreateByList();
}
