人工智能为改变和提高我的日常工作效率做出了贡献
作为一名开发人员,当您的时间有限时,构建订单处理服务有时会让人感到不知所措。然而,借助 ChatGPT 等人工智能驱动的开发工具的强大功能,您可以通过生成代码、设计实体和逐步解决问题来显着加快流程。在本文中,我将向您介绍如何使用 ChatGPT 在短短 2 天 内构建功能齐全的订单处理服务,从收集需求到完成。
老实说,对于不同的小任务有很多小线程和提示,我无法将它们总结成一个完整的项目,但总的来说......它帮助了我 70 - 80%。另外,这里是一些原始代码,经过我审阅,可能是手工修改过的,所以你可能在我分享的github上找不到这个功能。
我做的第一件事就是列出该服务所需的核心功能。以下是我需要的主要功能:
我请求 ChatGPT 帮助我设计满足需求的 API 结构。这是我使用的第一个提示的示例:
迅速的:
使用 Spring Boot 为用户注册系统创建 API 端点,用户可以在其中使用姓名、手机号码和地址进行注册。
结果: ChatGPT 生成了几个端点:
对于订单处理服务,我们需要 User、Franchise、Order、Queue 和 OrderItem 实体。我使用 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); }
到第 2 天结束时,我获得了功能齐全的服务,使客户能够:
我还有几个步骤来创建文档、使用 Liquidbase 并让 chatGPT 生成示例数据以便于测试。
在 2 天内为一家咖啡店建立一个订单处理系统可能听起来令人畏惧,但在人工智能的帮助下,这是可以实现的。 ChatGPT 就像编码助手一样,帮助我将抽象需求快速转化为工作系统。虽然人工智能可以提供基础,但改进和定制代码仍然是一项基本技能。这个项目教会了我如何在不失去对开发过程的控制的情况下最大限度地发挥人工智能工具的价值。
按照我采取的步骤,您可以加快自己的项目速度并专注于解决更高级别的问题,而将常规代码生成和指导留给 AI。
完整源码Github
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3