«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Создание службы обработки заказов с помощью ChatGPT (внесите свой вклад) и завершено в течение нескольких дней.

Создание службы обработки заказов с помощью ChatGPT (внесите свой вклад) и завершено в течение нескольких дней.

Опубликовано 6 ноября 2024 г.
Просматривать:163

Building an Orders Processing Service with ChatGPT (contribute  efforts) and Finished in ays

ИИ способствовал изменению и повышению эффективности моей повседневной работы

Для разработчика создание службы обработки заказов иногда может показаться утомительным, если у вас ограниченные сроки. Однако с помощью инструментов разработки на основе искусственного интеллекта, таких как ChatGPT, вы можете значительно ускорить процесс, генерируя код, проектируя объекты и шаг за шагом решая проблемы. В этой статье я расскажу вам, как я использовал ChatGPT для создания полнофункциональной службы обработки заказов всего за 2 дня, от сбора требований до завершения.

Честно говоря, есть много мелких тем и подсказок для разных мелких задач, которые я не могу свести в полноценный проект, но в целом... мне это помогло на 70 - 80%. Кроме того, вот часть исходного кода. После того, как я его рассмотрел, он мог быть изменен вручную, поэтому вы можете не найти эту функцию на github, которой я поделился.

День 1. Понимание требований и настройка.

Шаг 1. Соберите и уточните требования

Первое, что я сделал, — это перечислил основные функции, необходимые для работы сервиса. Вот основные функции, которые мне нужны:

  1. Регистрация пользователя: разрешить пользователям регистрироваться, используя номер мобильного телефона и адрес.
  2. Поиск местоположения франшизы: дайте клиентам возможность просматривать и находить кофейни поблизости.
  3. Размещение заказа: клиенты могут разместить заказ на несколько позиций из меню.
  4. Управление очередью: отслеживайте положение клиента в очереди и сообщайте ожидаемое время ожидания.
  5. Отмена заказа: клиенты могут выйти из очереди и отменить свой заказ в любое время.

Шаг 2. Создайте конечные точки API с помощью ChatGPT

Я попросил ChatGPT помочь мне спроектировать структуру API в соответствии с требованиями. Вот пример первого приглашения, которое я использовал:

Быстрый:

Создайте конечные точки API для системы регистрации пользователей с помощью Spring Boot, где пользователи могут регистрироваться, используя свое имя, номер мобильного телефона и адрес.

Результат: ChatGPT сгенерировал несколько конечных точек:

  • POST /users/register: для регистрации нового пользователя.
  • GET /franchises/nearby: чтобы найти близлежащие кофейни по широте и долготе.
  • POST /orders: Чтобы разместить заказ с несколькими товарами.
  • GET /orders/{orderId}/queue-position: Чтобы проверить положение пользователя в очереди.
  • DELETE /orders/{orderId}: отменить заказ и выйти из очереди.

Шаг 3. Проектирование объекта

Для службы обработки заказов нам нужны сущности для пользователя, франшизы, заказа, очереди и элемента заказа. Я использовал 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
}

Я повторил этот процесс для объектов Франшиза, Заказ и Очередь.

День 2. Реализация бизнес-логики

Шаг 4: Логика размещения заказа

После того как базовый API и сущности были настроены, я перешел к реализации бизнес-логики для размещения заказов. Это была критическая часть сервиса, поскольку ей нужно было обрабатывать несколько элементов меню и управлять позициями в очереди.

Быстрый:

Реализовать логику размещения заказа с несколькими предметами, где каждый предмет связан с определенным меню во франшизе.

Результат: ChatGPT помог мне разработать OrderService для решения этой проблемы. Вот часть реализации:

public Order createOrder(UUID customerId, UUID franchiseId, List items) {
    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);
}

Шаг 5: Управление очередью

Далее я попросил ChatGPT помочь мне разработать логику размещения клиента в очереди и отслеживания его позиции.

Быстрый:

Как рассчитать позицию в очереди и время ожидания заказа в системе франчайзинга кофе?

Результат: ChatGPT предложил создать QueueService, который отслеживает заказы и назначает им позиции на основе временных меток. Я реализовал это следующим образом:

public int findQueuePositionForFranchise(UUID franchiseId) {
    List queue = customerQueueRepository.findAllByFranchiseId(franchiseId);
    return queue.size()   1;
}

Он также предоставил рекомендации по оценке времени ожидания на основе среднего времени обработки заказа.

Шаг 6: Отмена заказа

Наконец, я реализовал логику, позволяющую клиентам отменять свои заказы и выходить из очереди:

public void cancelOrder(UUID orderId) {
    Order order = orderRepository.findById(orderId).orElseThrow();
    queueService.removeFromQueue(order.getQueue().getId(), order.getId());
    orderRepository.delete(order);
}

Завершение проекта

К концу второго дня у меня был полностью функциональный сервис, который позволял клиентам:

  • Зарегистрируйтесь, используя номер мобильного телефона и адрес.
  • Просмотреть близлежащие франшизы.
  • Размещайте заказы на несколько позиций из меню.
  • Проверьте их позицию в очереди и время ожидания.
  • Отменить заказ в любое время.

Ключевые выводы

  • Используйте искусственный интеллект для рутинных задач: ChatGPT ускорил выполнение повторяющихся задач, таких как разработка API, генерация шаблонного кода и реализация общих шаблонов бизнес-логики.
  • Разделяй и властвуй: разбив проект на небольшие, управляемые задачи (такие как регистрация пользователей, управление очередями и размещение заказов), я смог реализовать каждую функцию последовательно.
  • Обучение с помощью искусственного интеллекта: Хотя ChatGPT предоставил много кода, мне все равно пришлось понять основную логику и настроить ее в соответствии с потребностями моего проекта, что было отличным опытом обучения.
  • Отладка в реальном времени: ChatGPT помог мне решить проблемы в реальном времени, помогая мне разобраться с ошибками и исключениями, с которыми я столкнулся во время реализации, что позволило поддерживать проект в правильном направлении.

Мне нужно еще несколько шагов, чтобы создать документацию, использовать Liquidbase и заставить ChatGPT генерировать образцы данных для упрощения тестирования.

Заключение

Создание системы обработки заказов для кофейни за 2 дня может показаться сложной задачей, но с помощью искусственного интеллекта это достижимо. ChatGPT действовал как помощник по программированию, помогая мне быстро преобразовать абстрактные требования в работающую систему. Хотя ИИ может обеспечить основу, уточнение и настройка кода по-прежнему остаются важным навыком. Этот проект научил меня, как максимизировать ценность инструментов искусственного интеллекта, не теряя при этом контроля над процессом разработки.

Следуя моим шагам, вы сможете ускорить реализацию собственных проектов и сосредоточиться на решении проблем более высокого уровня, оставив рутинную генерацию кода и руководство ИИ.

Полный исходный код на Github

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/jackynote/building-an-orders-processing-service-with-chatgpt-contribute-70-80-efforts-and-finished-in-2-days-3klf? 1. Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить их.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3