AI telah menyumbang kepada perubahan dan peningkatan kecekapan dalam kerja harian saya
Sebagai pembangun, membina perkhidmatan pemprosesan pesanan kadangkala boleh berasa sukar apabila anda mempunyai tempoh masa yang terhad. Walau bagaimanapun, dengan kuasa alat pembangunan dipacu AI seperti ChatGPT, anda boleh mempercepatkan proses dengan ketara dengan menjana kod, mereka bentuk entiti dan menyelesaikan masalah langkah demi langkah. Dalam artikel ini, saya akan membimbing anda melalui cara saya menggunakan ChatGPT untuk membina perkhidmatan pemprosesan pesanan berfungsi sepenuhnya hanya dalam 2 hari, daripada mengumpul keperluan sehingga selesai.
Sejujurnya, terdapat banyak benang kecil dan gesaan untuk tugasan kecil yang berbeza yang tidak dapat saya rumuskan menjadi projek yang lengkap, tetapi secara keseluruhannya... ia membantu saya 70 - 80%. Selain itu, berikut ialah beberapa kod asal, selepas saya menyemaknya, ia mungkin telah diubah suai dengan tangan, jadi anda mungkin tidak menemui fungsi ini pada github yang saya kongsikan.
Perkara pertama yang saya lakukan ialah menyenaraikan ciri teras yang diperlukan untuk perkhidmatan tersebut. Berikut ialah fungsi utama yang saya perlukan:
Saya meminta ChatGPT untuk membantu saya mereka bentuk struktur API untuk keperluan. Berikut ialah contoh gesaan pertama yang saya gunakan:
Prompt:
Buat titik akhir API untuk sistem pendaftaran pengguna menggunakan Spring Boot, di mana pengguna boleh mendaftar dengan nama, nombor mudah alih dan alamat mereka.
Keputusan: ChatGPT menjana beberapa titik akhir:
Untuk perkhidmatan pemprosesan pesanan, kami memerlukan entiti untuk Pengguna, Francais, Pesanan, Baris Gilir dan Item Pesanan. Saya menggunakan ChatGPT untuk mentakrifkan entiti ini dengan medan yang diperlukan.
Prompt:
Reka bentuk entiti Pengguna untuk sistem. Pengguna boleh mempunyai nombor mudah alih, alamat dan peranan (seperti PELANGGAN).
Keputusan: ChatGPT menyediakan entiti Pengguna yang mudah menggunakan 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 }
Saya mengulangi proses ini untuk entiti Francais, Pesanan dan Baris Gilir.
Setelah API dan entiti asas disediakan, saya beralih kepada melaksanakan logik perniagaan untuk penempatan pesanan. Ini adalah bahagian kritikal perkhidmatan kerana ia perlu mengendalikan berbilang item daripada menu dan mengurus kedudukan baris gilir.
Prompt:
Laksanakan logik untuk membuat pesanan dengan berbilang item, di mana setiap item dipautkan ke menu tertentu dalam Francais.
Hasil: ChatGPT membimbing saya melalui mereka bentuk OrderService untuk mengendalikan perkara ini. Berikut ialah sebahagian daripada pelaksanaan:
public Order createOrder(UUID customerId, UUID franchiseId, List<OrderItemDTO> items) { Order order = new Order(); order.setCustomer(userRepository.findById(customerId).orElseThrow()); order.setFranchise(franchiseRepository.findById(franchiseId).orElseThrow()); List<OrderItem> 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); }
Seterusnya, saya meminta ChatGPT untuk membantu saya mereka bentuk logik untuk meletakkan pelanggan dalam baris gilir dan menjejaki kedudukan mereka.
Prompt:
Bagaimanakah saya boleh mengira kedudukan baris gilir dan masa menunggu untuk pesanan dalam sistem francais kopi?
Keputusan: ChatGPT mencadangkan membuat QueueService yang menjejak pesanan dan memberikan mereka kedudukan berdasarkan cap masa. Saya melaksanakannya seperti berikut:
public int findQueuePositionForFranchise(UUID franchiseId) { List<CustomerQueue> queue = customerQueueRepository.findAllByFranchiseId(franchiseId); return queue.size() + 1; }
Ia juga memberikan panduan tentang menganggarkan masa menunggu berdasarkan purata masa pemprosesan pesanan.
Akhir sekali, saya melaksanakan logik untuk membenarkan pelanggan membatalkan pesanan mereka dan keluar dari baris gilir:
public void cancelOrder(UUID orderId) { Order order = orderRepository.findById(orderId).orElseThrow(); queueService.removeFromQueue(order.getQueue().getId(), order.getId()); orderRepository.delete(order); }
By the end of Day 2, I had a fully functional service that allowed customers to:
I have a few more steps to create the documentation, use liquidbase and have chatGPT generate sample data for easier testing.
Building an order processing system for a coffee shop in 2 days may sound daunting, but with AI assistance, it’s achievable. ChatGPT acted like a coding assistant, helping me transform abstract requirements into a working system quickly. While AI can provide a foundation, refining and customizing code is still an essential skill. This project taught me how to maximize the value of AI tools without losing control of the development process.
By following the steps I took, you can speed up your own projects and focus on higher-level problem-solving, leaving the routine code generation and guidance to AI.
Full source Github
Atas ialah kandungan terperinci Membina Perkhidmatan Pemprosesan Pesanan dengan ChatGPT (usaha menyumbang) dan Selesai dalam ays. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!