package org.jeecg.modules.dnc.service; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.dnc.dto.ComponentExt; import org.jeecg.modules.dnc.entity.ComponentInfo; import org.jeecg.modules.dnc.entity.PermissionStream; import org.jeecg.modules.dnc.ucenter.Department; import org.jeecg.modules.system.entity.SysUser; import org.springframework.stereotype.Service; import java.util.Collection; import java.util.List; public interface IComponentInfoService extends IService { /** * 新增 * @param componentInfo * @return */ boolean addComponentInfo(ComponentInfo componentInfo); /** * 编辑 * @param id * @param componentInfo * @return */ boolean editComponentInfo(String id ,ComponentInfo componentInfo); /** * 获取所有的部件父子关系 * @return */ List findExtAll(); /** * 根据用户id获取部件信息 * @param userId * @return */ List getByUserPerms(String userId); /** * 根据用户id和查询条件获取部件信息 * @param userId * @param queryParam * @return */ List getByUserPerms(String userId, String queryParam); /** * 根据用户id获取部件信息 向上查询父 * @param userId * @return */ List getByUserPermsAs(String userId); /** * 根据产品id获取 * @param productId * @return */ List getByProductId(String productId); /** * 根据产品id删除部件 * @param componentInfoList * @return */ boolean deleteCollections(List componentInfoList); /** * 根据部件 * @param id * @return */ boolean deleteComponentInfo(String id); /** * 获取节点下的所有子节点 * @param componentId * @return */ List getByParentId(String componentId); /** * 分配用户权限 * @param componentInfo * @param userList * @return */ boolean assignAddUser(ComponentInfo componentInfo, Collection userList); /** * 移除用户权限 * @param componentInfo * @param userList * @return */ boolean assignRemoveUser(ComponentInfo componentInfo, Collection userList); /** * 分配部门权限 * @param componentInfo * @param departmentList * @return */ boolean assignAddDepart(ComponentInfo componentInfo, Collection departmentList); /** * 移除部门权限 * @param componentInfo * @param departmentList * @return */ boolean assignRemoveDepart(ComponentInfo componentInfo, Collection departmentList); /** * 获取唯一 部件编号 * @param code * @return */ ComponentInfo getByCode(String code); /** * 检查pn码的有效性 * @param pnCode * @return */ PermissionStream validateComponentOrPartsPnCode(String pnCode); /** * 根据产品id和用户id获取部门列表 * @param paramId * @param userId * @return */ List getByProductIdAndUserId(String paramId, String userId); /** * 根据父Id和用户id获取部门列表 * @param parentId * @param userId * @return */ List getByParentIdAndUserId(String parentId, String userId); }