package cc.mrbird.febs.ai.service; import cc.mrbird.febs.ai.entity.AiMemberRoleProduct; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; /** * AI用户选择角色关联产品 Service接口 * * @author yourname * @date 2025-07-29 */ public interface AiMemberRoleProductService extends IService { /** * 根据ID查询关联记录 * @param id 关联记录ID * @return 关联记录信息 */ AiMemberRoleProduct getById(String id); /** * 根据角色ID查询关联记录 * @param roleId 角色ID * @return 关联记录列表 */ List getByRoleId(String roleId); /** * 根据产品ID查询关联记录 * @param productId 产品ID * @return 关联记录列表 */ List getByProductId(String productId); /** * 根据公司ID查询关联记录 * @param companyId 公司ID * @return 关联记录列表 */ List getByCompanyId(String companyId); /** * 根据角色ID和产品ID查询关联记录 * @param roleId 角色ID * @param productId 产品ID * @return 关联记录列表 */ List getByRoleIdAndProductId(String roleId, String productId); /** * 保存关联记录 * @param aiMemberRoleProduct 关联记录实体 * @return 是否保存成功 */ boolean saveRoleProduct(AiMemberRoleProduct aiMemberRoleProduct); /** * 批量保存关联记录 * @param roleProducts 关联记录列表 * @return 是否保存成功 */ boolean saveBatchRoleProducts(List roleProducts); /** * 更新关联记录 * @param aiMemberRoleProduct 关联记录实体 * @return 是否更新成功 */ boolean updateRoleProduct(AiMemberRoleProduct aiMemberRoleProduct); /** * 根据ID删除关联记录 * @param id 关联记录ID * @return 是否删除成功 */ boolean deleteById(String id); /** * 根据角色ID删除关联记录 * @param roleId 角色ID * @return 是否删除成功 */ boolean deleteByRoleId(String roleId); /** * 根据产品ID删除关联记录 * @param productId 产品ID * @return 是否删除成功 */ boolean deleteByProductId(String productId); /** * 根据角色ID和产品ID删除关联记录 * @param roleId 角色ID * @param productId 产品ID * @return 是否删除成功 */ boolean deleteByRoleIdAndProductId(String roleId, String productId); }