


Membina Perkhidmatan Pemprosesan Pesanan dengan ChatGPT (usaha menyumbang) dan Selesai dalam ays
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.
Hari 1: Memahami Keperluan dan Menyediakan
Langkah 1: Kumpul dan Jelaskan Keperluan
Perkara pertama yang saya lakukan ialah menyenaraikan ciri teras yang diperlukan untuk perkhidmatan tersebut. Berikut ialah fungsi utama yang saya perlukan:
- Pendaftaran Pengguna: Benarkan pengguna mendaftar menggunakan nombor mudah alih dan alamat mereka.
- Carian Lokasi Francais: Membolehkan pelanggan melihat dan mencari francais kopi berdekatan.
- Peletakan Pesanan: Pelanggan boleh membuat pesanan dengan berbilang item daripada menu.
- Pengurusan Baris Gilir: Jejaki kedudukan pelanggan dalam baris gilir dan sediakan jangkaan masa menunggu.
- Pembatalan Pesanan: Pelanggan boleh keluar dari baris gilir dan membatalkan pesanan mereka pada bila-bila masa.
Langkah 2: Jana Titik Akhir API dengan ChatGPT
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:
- POST /users/register: Untuk mendaftarkan pengguna baharu.
- DAPATKAN /francais/berdekatan: Untuk mencari francais kopi berdekatan berdasarkan latitud dan longitud.
- POS /pesanan: Untuk membuat pesanan dengan berbilang item.
- DAPATKAN /orders/{orderId}/queue-position: Untuk menyemak kedudukan pengguna dalam baris gilir.
- PADAM /orders/{orderId}: Untuk membatalkan pesanan dan keluar dari baris gilir.
Langkah 3: Reka Bentuk Entiti
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.
Hari 2: Melaksanakan Logik Perniagaan
Langkah 4: Logik Peletakan Pesanan
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); }
Langkah 5: Pengurusan Baris Gilir
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.
Langkah 6: Pembatalan 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); }
Finalizing the Project
By the end of Day 2, I had a fully functional service that allowed customers to:
- Register using their mobile number and address.
- View nearby franchises.
- Place orders with multiple items from the menu.
- Check their queue position and waiting time.
- Cancel their order at any time.
Key Takeaways
- Leverage AI for Routine Tasks: ChatGPT sped up repetitive tasks like designing APIs, generating boilerplate code, and implementing common business logic patterns.
- Divide and Conquer: By breaking the project into small, manageable tasks (such as user registration, queue management, and order placement), I was able to implement each feature sequentially.
- AI-Assisted Learning: While ChatGPT provided a lot of code, I still had to understand the underlying logic and tweak it to fit my project’s needs, which was a great learning experience.
- Real-Time Debugging: ChatGPT helped me solve real-time issues by guiding me through errors and exceptions I encountered during implementation, which kept the project on track.
I have a few more steps to create the documentation, use liquidbase and have chatGPT generate sample data for easier testing.
Conclusion
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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











Penyelesaian masalah dan penyelesaian kepada perisian keselamatan syarikat yang menyebabkan beberapa aplikasi tidak berfungsi dengan baik. Banyak syarikat akan menggunakan perisian keselamatan untuk memastikan keselamatan rangkaian dalaman. …

Penyelesaian untuk menukar nama kepada nombor untuk melaksanakan penyortiran dalam banyak senario aplikasi, pengguna mungkin perlu menyusun kumpulan, terutama dalam satu ...

Pemprosesan pemetaan medan dalam dok sistem sering menemui masalah yang sukar ketika melaksanakan sistem dok: bagaimana untuk memetakan medan antara muka sistem dengan berkesan ...

Apabila menggunakan Mybatis-Plus atau Rangka Kerja ORM yang lain untuk operasi pangkalan data, sering diperlukan untuk membina syarat pertanyaan berdasarkan nama atribut kelas entiti. Sekiranya anda secara manual setiap kali ...

Mula musim bunga menggunakan versi IntelliJideaultimate ...

Penukaran objek dan tatasusunan Java: Perbincangan mendalam tentang risiko dan kaedah penukaran jenis cast yang betul Banyak pemula Java akan menemui penukaran objek ke dalam array ...

Penjelasan terperinci mengenai reka bentuk jadual SKU dan SPU di platform e-dagang Artikel ini akan membincangkan isu reka bentuk pangkalan data SKU dan SPU dalam platform e-dagang, terutamanya bagaimana menangani jualan yang ditentukan pengguna ...

Bagaimanakah penyelesaian caching Redis menyedari keperluan senarai kedudukan produk? Semasa proses pembangunan, kita sering perlu menangani keperluan kedudukan, seperti memaparkan ...
