package com.vci.ubcs.code.service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.vci.ubcs.code.entity.CodeClassify; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; import com.vci.ubcs.code.vo.pagemodel.TreeQueryObject; import com.vci.ubcs.com.vci.starter.web.pagemodel.Tree; import org.springblade.core.tool.api.R; import java.util.Collection; import java.util.List; /** * 主题库分类服务接口 * * @author ludc * @date 2022-01-20 */ public interface ICodeClassifyService extends IService { /** * 使用查询封装器来查询 * @param wrapper 查询封装器 * @return 数据对象 */ List selectByWrapper(Wrapper wrapper); /** * 自定义分页 * * @param page * @param plCodeClassify * @return */ IPage selectPlCodeClassifyPage(IPage page, CodeClassifyVO plCodeClassify); /** * 增加主题库分类 * @param codeClassifyEntity 主题库分类数据传输对象 * @return 执行结果 */ R addSave(CodeClassify codeClassifyEntity) ; /** * 修改主题库分类 * @param codeClassifyEntity 主题库分类数据传输对象 * @return 执行结果 */ R editSave(CodeClassify codeClassifyEntity) ; /** * 检查 主题库分类是否删除 * @param codeClassify 主题库分类数据传输对象,必须要有oid和ts属性 * @return 执行结果 */ R checkIsCanDelete(CodeClassify codeClassify); /** * 检查是否有下级是否关联了数据 * * @param oid 主键 * @return true 表示有引用,false表示没有引用 */ boolean checkChildIsLinked(String oid) ; /** * 校验是否有下级节点,不校验是否关联了数据 * * @param oid 主键 * @return true表示有下级,false表示没有下级 */ boolean checkHasChild(String oid) ; /** * 删除主题库分类 * @param codeClassify 主题库分类数据传输对象,oid和ts需要传输 * @return 删除结果反馈::success:成功,fail:失败 */ R deleteCodeClassify(CodeClassify codeClassify) ; /** * 启用、停用 * @param oid 主键 * @param lcStatus 状态 * @return 执行结果 */ R updateLcStatus(String oid, String lcStatus); /** * 根据主键批量查询对象 * @param oids 对象主键,使用逗号分隔,但是不能超过1000 * @return 业务对象 */ // List selectByPrimaryKeyCollection(Collection oids); /** * 主键批量获取主题库分类 * @param oidCollections 主键集合,但是受性能影响,建议一次查询不超过10000个 * @return 主题库分类显示对象 */ Collection listCodeClassifyByOids(Collection oidCollections) ; /** * 批量数据对象转换为显示对象 * @param codeClassifys 数据对象列表 * @return 显示对象 */ List codeClassifyDO2VOs(Collection codeClassifys); /** * 数据对象转换为显示对象 * @param codeClassify 数据对象 * @return 显示对象 */ CodeClassifyVO codeClassifyDO2VO(CodeClassify codeClassify); /** * 参照树 主题库分类 * @param treeQueryObject 树形查询对象 * @return 主题库分类显示树 */ List referTree(TreeQueryObject treeQueryObject); /** * 查询主题库分类 树 * @param treeQueryObject 树查询对象 * @return 主题库分类 显示树 */ List treeCodeClassify(TreeQueryObject treeQueryObject); /** * 导出分类 * @param oid 分类主键 * @return excel文件路径 */ String exportClassify(String oid); /** * 获取子级的主题库分类 * * @param codeClassifyOid 分类的主键 * @param allLevel 是否所有的层级 * @param fieldInPath 在路径中的字段 * @param enable 是否只显示启用 * @return 分类的显示对象 */ List listChildrenClassify(String codeClassifyOid, boolean allLevel, String fieldInPath, boolean enable); }