cancelOrder(id), changePassword(userId, newPass). Внутри загружаешь entity через репо, дёргаешь доменный метод, сохраняешь. Вся эта цепочка = одна команда, а не голый save.findById() юзается и в query-сервисе и внутри команды — норм, CQS делит публичный интерфейс, не внутренние запросы.