ИИ способствовал изменению и повышению эффективности моей повседневной работы
Для разработчика создание службы обработки заказов иногда может показаться утомительным, если у вас ограниченные сроки. Однако с помощью инструментов разработки на основе искусственного интеллекта, таких как ChatGPT, вы можете значительно ускорить процесс, генерируя код, проектируя объекты и шаг за шагом решая проблемы. В этой статье я расскажу вам, как я использовал ChatGPT для создания полнофункциональной службы обработки заказов всего за 2 дня, от сбора требований до завершения.
Честно говоря, есть много мелких тем и подсказок для разных мелких задач, которые я не могу свести в полноценный проект, но в целом... мне это помогло на 70 - 80%. Кроме того, вот часть исходного кода. После того, как я его рассмотрел, он мог быть изменен вручную, поэтому вы можете не найти эту функцию на github, которой я поделился.
Первое, что я сделал, — это перечислил основные функции, необходимые для работы сервиса. Вот основные функции, которые мне нужны:
Я попросил ChatGPT помочь мне спроектировать структуру API в соответствии с требованиями. Вот пример первого приглашения, которое я использовал:
Быстрый:
Создайте конечные точки API для системы регистрации пользователей с помощью Spring Boot, где пользователи могут регистрироваться, используя свое имя, номер мобильного телефона и адрес.
Результат: ChatGPT сгенерировал несколько конечных точек:
Для службы обработки заказов нам нужны сущности для пользователя, франшизы, заказа, очереди и элемента заказа. Я использовал ChatGPT, чтобы определить эти объекты с помощью необходимых полей.
Быстрый:
Разработайте сущность «Пользователь» для системы. Пользователь может иметь номер мобильного телефона, адрес и роль (например, КЛИЕНТ).
Результат: ChatGPT предоставил простой объект «Пользователь», используя JPA:
@Entity public class User { @Id @GeneratedValue(strategy = GenerationType.AUTO) private UUID id; @Column(nullable = false, unique = true) private String username; @Column(nullable = false) private String password; private String mobileNumber; private String address; private UserRole role; // CUSTOMER, ADMIN }
Я повторил этот процесс для объектов Франшиза, Заказ и Очередь.
После того как базовый API и сущности были настроены, я перешел к реализации бизнес-логики для размещения заказов. Это была критическая часть сервиса, поскольку ей нужно было обрабатывать несколько элементов меню и управлять позициями в очереди.
Быстрый:
Реализовать логику размещения заказа с несколькими предметами, где каждый предмет связан с определенным меню во франшизе.
Результат: ChatGPT помог мне разработать OrderService для решения этой проблемы. Вот часть реализации:
public Order createOrder(UUID customerId, UUID franchiseId, Listitems) { Order order = new Order(); order.setCustomer(userRepository.findById(customerId).orElseThrow()); order.setFranchise(franchiseRepository.findById(franchiseId).orElseThrow()); List orderItems = items.stream() .map(itemDto -> new OrderItem(menuItemRepository.findById(itemDto.getMenuItemId()), itemDto.getQuantity())) .collect(Collectors.toList()); order.setItems(orderItems); order.setQueuePosition(findQueuePositionForFranchise(franchiseId)); return orderRepository.save(order); }
Далее я попросил ChatGPT помочь мне разработать логику размещения клиента в очереди и отслеживания его позиции.
Быстрый:
Как рассчитать позицию в очереди и время ожидания заказа в системе франчайзинга кофе?
Результат: ChatGPT предложил создать QueueService, который отслеживает заказы и назначает им позиции на основе временных меток. Я реализовал это следующим образом:
public int findQueuePositionForFranchise(UUID franchiseId) { Listqueue = customerQueueRepository.findAllByFranchiseId(franchiseId); return queue.size() 1; }
Он также предоставил рекомендации по оценке времени ожидания на основе среднего времени обработки заказа.
Наконец, я реализовал логику, позволяющую клиентам отменять свои заказы и выходить из очереди:
public void cancelOrder(UUID orderId) { Order order = orderRepository.findById(orderId).orElseThrow(); queueService.removeFromQueue(order.getQueue().getId(), order.getId()); orderRepository.delete(order); }
К концу второго дня у меня был полностью функциональный сервис, который позволял клиентам:
Мне нужно еще несколько шагов, чтобы создать документацию, использовать Liquidbase и заставить ChatGPT генерировать образцы данных для упрощения тестирования.
Создание системы обработки заказов для кофейни за 2 дня может показаться сложной задачей, но с помощью искусственного интеллекта это достижимо. ChatGPT действовал как помощник по программированию, помогая мне быстро преобразовать абстрактные требования в работающую систему. Хотя ИИ может обеспечить основу, уточнение и настройка кода по-прежнему остаются важным навыком. Этот проект научил меня, как максимизировать ценность инструментов искусственного интеллекта, не теряя при этом контроля над процессом разработки.
Следуя моим шагам, вы сможете ускорить реализацию собственных проектов и сосредоточиться на решении проблем более высокого уровня, оставив рутинную генерацию кода и руководство ИИ.
Полный исходный код на Github
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3