All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.github.foxnic.web.system.service.INodeService Maven / Gradle / Ivy

There is a newer version: 1.7.1.RELEASE
Show newest version
package org.github.foxnic.web.system.service;


import com.github.foxnic.sql.expr.ConditionExpr;
import com.github.foxnic.dao.entity.ISuperService;
import org.github.foxnic.web.domain.system.Node;
import org.github.foxnic.web.domain.system.NodeVO;
import java.util.List;
import com.github.foxnic.api.transter.Result;
import com.github.foxnic.dao.data.PagedList;
import java.io.InputStream;
import com.github.foxnic.sql.expr.OrderBy;
import com.github.foxnic.sql.meta.DBField;
import com.github.foxnic.dao.excel.ExcelWriter;
import com.github.foxnic.dao.excel.ExcelStructure;
import com.github.foxnic.dao.excel.ValidateResult;
import com.github.foxnic.dao.data.SaveMode;

/**
 * 

* 服务接口 *

* @author 李方捷 , [email protected] * @since 2021-08-11 17:11:20 */ public interface INodeService extends ISuperService { /** * 插入实体 * @param node 实体数据 * @return 插入是否成功 * */ Result insert(Node node); /** * 批量插入实体,事务内 * @param nodeList 实体数据清单 * @return 插入是否成功 * */ Result insertList(List nodeList); /** * 按主键删除 sys_node * * @param id 实例id * @return 删除是否成功 */ Result deleteByIdPhysical(String id); /** * 按主键删除 sys_node * * @param id 实例id * @return 删除是否成功 */ Result deleteByIdLogical(String id); /** * 批量物理删除,仅支持单字段主键表 * @param ids 主键清单 * @return 是否删除成功 * */ Result deleteByIdsPhysical(List ids); /** * 批量逻辑删除,仅支持单字段主键表 * @param ids 主键清单 * @return 是否删除成功 * */ Result deleteByIdsLogical(List ids); /** * 按主键更新字段 sys_node * * @param id 实例id * @return 是否更新成功 */ boolean update(DBField field,Object value , String id); /** * 更新实体 * @param node 数据对象 * @param mode 保存模式 * @return 保存是否成功 * */ Result update(Node node , SaveMode mode); /** * 更新实体集,事务内 * @param nodeList 数据对象列表 * @param mode 保存模式 * @return 保存是否成功 * */ Result updateList(List nodeList, SaveMode mode); /** * 保存实体,如果主键值不为 null,则更新,否则插入 * @param node 实体数据 * @param mode 保存模式 * @return 保存是否成功 * */ Result save(Node node , SaveMode mode); /** * 保存实体,如果主键值不为null,则更新,否则插入 * @param nodeList 实体数据清单 * @param mode 保存模式 * @return 保存是否成功 * */ Result saveList(List nodeList , SaveMode mode); /** * 检查实体中的数据字段是否已经存在 * @param node 实体对象 * @param field 字段清单,至少指定一个 * @return 是否已经存在 * */ boolean checkExists(Node node,DBField... field); /** * 按主键获取 sys_node * * @param id 实例id * @return Node 数据对象 */ Node getById(String id); /** * 检查实体中的数据字段是否已经存在 * @param ids 主键清单 * @return 实体集 * */ List getByIds(List ids); /** * 检查 角色 是否已经存在 * * @param node 数据对象 * @return 判断结果 */ Result checkExists(Node node); /** * 根据实体数构建默认的条件表达式,字符串使用模糊匹配 * @param sample 数据样例 * @return ConditionExpr 条件表达式 * */ ConditionExpr buildQueryCondition(Node sample); /** * 根据实体数构建默认的条件表达式, 字符串是否使用模糊匹配 * @param sample 数据样例 * @param tableAliase 数据表别名 * @return ConditionExpr 条件表达式 * */ ConditionExpr buildQueryCondition(Node sample,String tableAliase); /** * 查询实体集合,默认情况下,字符串使用模糊匹配,非字符串使用精确匹配 * @param sample 查询条件 * @return 查询结果 * */ List queryList(Node sample); /** * 查询实体集合,默认情况下,字符串使用模糊匹配,非字符串使用精确匹配 * @param sample 查询条件 * @param condition 其它条件 * @param orderBy 排序 * @return 查询结果 * */ List queryList(Node sample,ConditionExpr condition,OrderBy orderBy); /** * 查询实体集合,默认情况下,字符串使用模糊匹配,非字符串使用精确匹配 * @param sample 查询条件 * @param orderBy 排序 * @return 查询结果 * */ List queryList(Node sample,OrderBy orderBy); /** * 查询实体集合,默认情况下,字符串使用模糊匹配,非字符串使用精确匹配 * @param sample 查询条件 * @param condition 其它条件 * @return 查询结果 * */ List queryList(Node sample,ConditionExpr condition); /** * 查询单个实体 * @param sample 查询条件 * @return 查询结果 * */ Node queryEntity(Node sample); /** * 分页查询实体集 * @param sample 查询条件 * @param pageSize 分页条数 * @param pageIndex 页码 * @return 查询结果 * */ PagedList queryPagedList(Node sample,int pageSize,int pageIndex); /** * 分页查询实体集 * @param sample 查询条件 * @param pageSize 分页条数 * @param pageIndex 页码 * @param condition 其它条件 * @param orderBy 排序 * @return 查询结果 * */ PagedList queryPagedList(Node sample,ConditionExpr condition,OrderBy orderBy,int pageSize,int pageIndex); /** * 分页查询实体集 * @param sample 查询条件 * @param pageSize 分页条数 * @param pageIndex 页码 * @param condition 其它条件 * @return 查询结果 * */ PagedList queryPagedList(Node sample,ConditionExpr condition,int pageSize,int pageIndex); /** * 分页查询实体集 * @param sample 查询条件 * @param pageSize 分页条数 * @param pageIndex 页码 * @param orderBy 排序 * @return 查询结果 * */ PagedList queryPagedList(Node sample,OrderBy orderBy,int pageSize,int pageIndex); /** * 查询指定字段的数据清单 * @param 元素类型 * @param field 字段 * @param type 元素类型 * @param condition 条件表达式 * @return 列数据 * */ List queryValues(DBField field,Class type, ConditionExpr condition); /** * 查询指定字段的数据清单 * @param 元素类型 * @param field 字段 * @param type 元素类型 * @param condition 条件表达式 * @param ps 参数清单 * @return 列数据 * */ List queryValues(DBField field, Class type, String condition,Object... ps); /** * 导出 Excel * */ ExcelWriter exportExcel(Node sample); /** * 导出用于数据导入的 Excel 模版 * */ ExcelWriter exportExcelTemplate(); /** * 构建 Excel 结构 * @param isForExport 是否用于数据导出 * @return ExcelStructure * */ ExcelStructure buildExcelStructure(boolean isForExport); /** * 导入 Excel 数据 * @return 错误信息,成功时返回 null * */ List importExcel(InputStream input,int sheetIndex,boolean batch); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy