org.github.foxnic.web.system.service.IConfigService Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of service-system Show documentation
Show all versions of service-system Show documentation
System Service Module Of Foxnic-Web
package org.github.foxnic.web.system.service;
import com.github.foxnic.api.transter.Result;
import com.github.foxnic.dao.data.PagedList;
import com.github.foxnic.dao.data.SaveMode;
import com.github.foxnic.dao.entity.ISuperService;
import com.github.foxnic.dao.excel.ExcelStructure;
import com.github.foxnic.dao.excel.ExcelWriter;
import com.github.foxnic.dao.excel.ValidateResult;
import com.github.foxnic.sql.expr.ConditionExpr;
import com.github.foxnic.sql.expr.OrderBy;
import com.github.foxnic.sql.meta.DBField;
import org.github.foxnic.web.constants.enums.SystemConfigEnum;
import org.github.foxnic.web.domain.system.Config;
import java.io.InputStream;
import java.util.List;
/**
*
* 系统配置表 服务接口
*
* @author 李方捷 , [email protected]
* @since 2021-12-03 09:07:26
* @version
*/
public interface IConfigService extends ISuperService {
/**
* 默认的 profile id
* */
public static final String DEFAULT_PROFILE_ID="default";
/**
* 添加,如果语句错误,则抛出异常
* @param config 数据对象
* @return 插入是否成功
* */
Result insert(Config config);
/**
* 添加,根据 throwsException 参数抛出异常或返回 Result 对象
*
* @param config 数据对象
* @param throwsException 是否抛出异常,如果不抛出异常,则返回一个失败的 Result 对象
* @return 结果 , 如果失败返回 false,成功返回 true
*/
Result insert(Config config,boolean throwsException);
/**
* 批量插入实体,事务内
* @param configList 实体数据清单
* @return 插入是否成功
* */
Result insertList(List configList);
/**
* 按主键删除 系统配置
*
* @param id 主键
* @return 删除是否成功
*/
Result deleteByIdPhysical(String id);
/**
* 按主键删除 系统配置
*
* @param id 主键
* @return 删除是否成功
*/
Result deleteByIdLogical(String id);
/**
* 批量物理删除,仅支持单字段主键表
* @param ids 主键清单
* @return 是否删除成功
* */
Result deleteByIdsPhysical(List ids);
/**
* 批量逻辑删除,仅支持单字段主键表
* @param ids 主键清单
* @return 是否删除成功
* */
Result deleteByIdsLogical(List ids);
/**
* 按主键更新字段 系统配置
*
* @param id 主键
* @return 是否更新成功
*/
boolean update(DBField field,Object value , String id);
/**
* 更新,如果执行错误,则抛出异常
* @param config 数据对象
* @param mode 保存模式
* @return 保存是否成功
* */
Result update(Config config , SaveMode mode);
/**
* 更新,根据 throwsException 参数抛出异常或返回 Result 对象
*
* @param config 数据对象
* @param mode SaveMode,数据更新的模式
* @param throwsException 是否抛出异常,如果不抛出异常,则返回一个失败的 Result 对象
* @return 结果
*/
Result update(Config config , SaveMode mode,boolean throwsException);
/**
* 更新实体集,事务内
* @param configList 数据对象列表
* @param mode 保存模式
* @return 保存是否成功
* */
Result updateList(List configList, SaveMode mode);
/**
* 保存实体,根据 throwsException 参数抛出异常或返回 Result 对象
* @param config 实体数据
* @param mode 保存模式
* @param throwsException 是否抛出异常,如果不抛出异常,则返回一个失败的 Result 对象
* @return 保存是否成功
* */
Result save(Config config , SaveMode mode,boolean throwsException);
/**
* 保存实体,如果语句错误,则抛出异常
* @param config 实体数据
* @param mode 保存模式
* @return 保存是否成功
* */
Result save(Config config , SaveMode mode);
/**
* 保存实体,如果主键值不为null,则更新,否则插入
* @param configList 实体数据清单
* @param mode 保存模式
* @return 保存是否成功
* */
Result saveList(List configList , SaveMode mode);
/**
* 检查实体中的数据字段是否已经存在
* @param config 实体对象
* @param field 字段清单,至少指定一个
* @return 是否已经存在
* */
boolean checkExists(Config config,DBField... field);
/**
* 按主键获取 系统配置
*
* @param id 主键
* @return Config 数据对象
*/
Config getById(String id);
/**
* 获取多个对象
* @param ids 主键清单
* @return 实体集
* */
List getByIds(List ids);
/**
* 按主键获取 系统配置
*
* @param configEnum 主键
* @return Config 数据对象
*/
Config getByCode(SystemConfigEnum configEnum);
/**
* 按主键获取 系统配置
*
* @param code 主键
* @return Config 数据对象
*/
Config getByCode(String code);
/**
* 获取多个对象
* @param codes 主键清单
* @return 实体集
* */
List getByCodes(List codes);
/**
* 检查 角色 是否已经存在
*
* @param config 数据对象
* @return 判断结果
*/
Result checkExists(Config config);
/**
* 根据实体数构建默认的条件表达式, 不支持 Join 其它表
* @param sample 数据样例
* @return ConditionExpr 条件表达式
* */
ConditionExpr buildQueryCondition(Config sample);
/**
* 根据实体数构建默认的条件表达式, 不支持 Join 其它表
* @param sample 数据样例
* @param tableAliase 数据表别名
* @return ConditionExpr 条件表达式
* */
ConditionExpr buildQueryCondition(Config sample,String tableAliase);
/**
* 查询实体集合,默认情况下,字符串使用模糊匹配,非字符串使用精确匹配
* @param sample 查询条件
* @return 查询结果
* */
List queryList(Config sample);
/**
* 查询实体集合,默认情况下,字符串使用模糊匹配,非字符串使用精确匹配
* @param sample 查询条件
* @param condition 其它条件
* @param orderBy 排序
* @return 查询结果
* */
List queryList(Config sample,ConditionExpr condition,OrderBy orderBy);
/**
* 查询实体集合,默认情况下,字符串使用模糊匹配,非字符串使用精确匹配
* @param sample 查询条件
* @param orderBy 排序
* @return 查询结果
* */
List queryList(Config sample,OrderBy orderBy);
/**
* 查询实体集合,默认情况下,字符串使用模糊匹配,非字符串使用精确匹配
* @param sample 查询条件
* @param condition 其它条件
* @return 查询结果
* */
List queryList(Config sample,ConditionExpr condition);
/**
* 查询单个实体
* @param sample 查询条件
* @return 查询结果
* */
Config queryEntity(Config sample);
/**
* 分页查询实体集
* @param sample 查询条件
* @param pageSize 分页条数
* @param pageIndex 页码
* @return 查询结果
* */
PagedList queryPagedList(Config sample,int pageSize,int pageIndex);
/**
* 分页查询实体集
* @param sample 查询条件
* @param pageSize 分页条数
* @param pageIndex 页码
* @param condition 其它条件
* @param orderBy 排序
* @return 查询结果
* */
PagedList queryPagedList(Config sample,ConditionExpr condition,OrderBy orderBy,int pageSize,int pageIndex);
/**
* 分页查询实体集
* @param sample 查询条件
* @param pageSize 分页条数
* @param pageIndex 页码
* @param condition 其它条件
* @return 查询结果
* */
PagedList queryPagedList(Config sample,ConditionExpr condition,int pageSize,int pageIndex);
/**
* 分页查询实体集
* @param sample 查询条件
* @param pageSize 分页条数
* @param pageIndex 页码
* @param orderBy 排序
* @return 查询结果
* */
PagedList queryPagedList(Config 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(Config sample);
/**
* 导出用于数据导入的 Excel 模版
* */
ExcelWriter exportExcelTemplate();
/**
* 构建 Excel 结构
* @param isForExport 是否用于数据导出
* @return ExcelStructure
* */
ExcelStructure buildExcelStructure(boolean isForExport);
/**
* 导入 Excel 数据
* @return 错误信息,成功时返回 null
* */
List importExcel(InputStream input,int sheetIndex,boolean batch);
}