我很久都搞不懂这个问题,简而言之——使用 jdk 8 或 11 时环境声称 sdk 部分未安装,而使用 jdk 21 时代码无法编译。当尝试单击“配置 SDK”时,出现错误。

Сергей
Asked:
2025-01-21 21:44:23 +0000 UTC
我为实现实现了一个接口:
interface ICrmClientsRepository
{
public function create(CreateClientDTO $createClientDTO);
public function updateById(
string $id,
UpdateClientDTO $updateClientDTO
);
public function getById(
string $id
);
public function getList($page = 1,$perPage = 50);
public function getListByCreatedRange($startDate, $endDate);
}
在 1 个存储库实现中,我只需要 getList(),但不需要 getListByCreatedRange() 实现,因为在 1 个 CRM 中我们只采用页面记录。在 2 中,相反,我们只取日期,因为没有页面等等。这种情况下我应该怎么办?这两者没有通用的方法,因为它们有不同的方法,并且留下未实现的接口方法不是一个好主意。
JustProgrammer
Asked:
2025-01-21 20:45:28 +0000 UTC
最近接触了微服务。
假设有两个微服务:第一个(处理用户,我们称之为Users)和第二个(处理统计数据、文档等,我们称之为Documents),两者都有自己的控制器、模型等,但如果您需要为特定用户请求文档(作为示例),很明显您需要在微服务中拉取控制器Documnets,并将ID用户传递给它,但控制器返回的模型只在其微服务中可用(Documents),而在Users这样的模型中则不然,事实证明您需要为Users和添加一些通用模型Documents?其次,如何通过常规 HTTP 客户端将请求从 传递Users到Documents,或者还有其他解决方案?
Lop9952
Asked:
2025-01-21 17:44:32 +0000 UTC
有一个用 C# 实现的电报机器人,它有一个带有回复按钮的菜单。有必要配置按下多个按钮的正确处理,即确保单击此按钮后,机器人会向用户发送一条消息,要求他输入评论,然后用户必须输入一条消息,机器人必须将其保存为评论。我附上当前解决方案的代码:
if (e.Message != null && e.Message.Type == MessageType.Text)
{
string text = e.Message.Text;
try
{
// Проверяем, является ли полученное сообщение нажатием одной из кнопок
if (ButtonMenu.Values.Contains(text)) // Если текст сообщения совпадает с одним из значений в словаре buttonMenu
{
// Получаем индекс кнопки из словаря buttonMenu
string buttonIndex = ButtonMenu.FirstOrDefault(x => x.Value == text).Key;
string buttonName = ButtonMenu[buttonIndex];
if (buttonIndex == "1" || buttonIndex == "2" || buttonIndex == "5)
{
await _botClient.SendTextMessageAsync(chatId, $"Вы выбрали {buttonName}. Введите комментарий:");
// Сохраняем информацию о том, что мы ожидаем комментарий от этого пользователя
usersAwaitingComment[chatId] = true;
}
else
{
await _botClient.SendTextMessageAsync(chatId, $"Вы выбрали {buttonName}. Сохранено!");
}
}
// Проверяем, ожидает ли бот комментарий от этого пользователя
if (usersAwaitingComment.TryGetValue(chatId, out bool isAwaitingComment) && isAwaitingComment)
{
// Получаем введённый комментарий
string comment = e.Message.Text;
// Отправляем подтверждение пользователю
await _botClient.SendTextMessageAsync(chatId, $"Ваш комментарий: {comment}");
// Убираем пользователя из списка ожидающих комментариев
usersAwaitingComment[chatId] = false;
}
}
在这种情况下,机器人将他单击的按钮本身的文本视为用户评论,因为单击按钮后其名称在聊天中重复,您需要在不使用内联键盘的情况下修复此问题。我想找到解决问题的方法。谢谢。
Ильнур Габдуллин
Asked:
2025-01-21 17:37:48 +0000 UTC


