package tech.aiflowy.ai.service.impl; import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.spring.service.impl.ServiceImpl; import tech.aiflowy.ai.entity.AiBotPlugins; import tech.aiflowy.ai.entity.AiPlugin; import tech.aiflowy.ai.mapper.AiBotPluginsMapper; import tech.aiflowy.ai.mapper.AiPluginMapper; import tech.aiflowy.ai.service.AiBotPluginsService; import org.springframework.stereotype.Service; import tech.aiflowy.common.domain.Result; import javax.annotation.Resource; import java.math.BigInteger; import java.util.List; /** * 服务层实现。 * * @author michael * @since 2025-04-07 */ @Service public class AiBotPluginsServiceImpl extends ServiceImpl implements AiBotPluginsService{ @Resource private AiBotPluginsMapper aiBotPluginsMapper; @Resource private AiPluginMapper aiPluginMapper; @Override public Result getList(String botId) { QueryWrapper queryWrapper = QueryWrapper.create().select("plugin_tool_id").where("bot_id = ?", botId); List pluginIds = aiBotPluginsMapper.selectListByQueryAs(queryWrapper, BigInteger.class); List aiPlugins = aiPluginMapper.selectListByIds(pluginIds); return Result.success(aiPlugins); } @Override public Result doRemove(String botId, String pluginToolId) { QueryWrapper queryWrapper = QueryWrapper.create().select("id") .from("tb_ai_bot_plugins") .where("bot_id = ?", botId) .where("plugin_tool_id = ?", pluginToolId); BigInteger id = aiBotPluginsMapper.selectOneByQueryAs(queryWrapper, BigInteger.class); int delete = aiBotPluginsMapper.deleteById(id); if (delete <= 0) { return Result.fail(); } return Result.success(); } }