KI hat dazu beigetragen, meine tägliche Arbeit zu verändern und die Effizienz zu steigern
Als Entwickler kann der Aufbau eines Auftragsabwicklungsdienstes manchmal überwältigend sein, wenn Sie nur einen begrenzten Zeitrahmen haben. Mit der Leistungsfähigkeit von KI-gesteuerten Entwicklungstools wie ChatGPT können Sie den Prozess jedoch erheblich beschleunigen, indem Sie Code generieren, Entitäten entwerfen und Probleme Schritt für Schritt lösen. In diesem Artikel erkläre ich Ihnen, wie ich mit ChatGPT in nur 2 Tagen einen voll funktionsfähigen Auftragsabwicklungsdienst aufgebaut habe, von der Anforderungserfassung bis zur Fertigstellung.
Ehrlich gesagt gibt es viele kleine Threads und Aufforderungen für verschiedene kleine Aufgaben, die ich nicht zu einem vollständigen Projekt zusammenfassen kann, aber insgesamt ... hat es mir zu 70 - 80 % geholfen. Darüber hinaus ist hier ein Teil des Originalcodes. Nachdem ich ihn überprüft habe, wurde er möglicherweise manuell geändert, sodass Sie diese Funktion möglicherweise nicht auf Github finden, den ich geteilt habe.
Als Erstes habe ich die für den Dienst erforderlichen Kernfunktionen aufgelistet. Hier sind die wichtigsten Funktionen, die ich brauchte:
Ich habe ChatGPT gebeten, mir beim Entwerfen der API-Struktur für die Anforderungen zu helfen. Hier ist ein Beispiel für die erste Eingabeaufforderung, die ich verwendet habe:
Prompt:
Erstellen Sie API-Endpunkte für ein Benutzerregistrierungssystem mit Spring Boot, bei dem sich Benutzer mit ihrem Namen, ihrer Mobiltelefonnummer und ihrer Adresse registrieren können.
Ergebnis: ChatGPT hat mehrere Endpunkte generiert:
Für den Bestellverarbeitungsdienst benötigten wir Entitäten für Benutzer, Franchise, Bestellung, Warteschlange und Bestellelement. Ich habe ChatGPT verwendet, um diese Entitäten mit den erforderlichen Feldern zu definieren.
Prompt:
Entwerfen Sie die Benutzerentität für das System. Der Benutzer kann eine Mobiltelefonnummer, eine Adresse und eine Rolle (z. B. KUNDE) haben.
Ergebnis: ChatGPT hat eine einfache Benutzerentität mithilfe von JPA bereitgestellt:
@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 }
Ich habe diesen Vorgang für die Entitäten Franchise, Bestellung und Warteschlange wiederholt.
Nachdem die grundlegende API und die Entitäten eingerichtet waren, ging ich zur Implementierung der Geschäftslogik für die Auftragserteilung über. Dies war der kritische Teil des Dienstes, da mehrere Menüpunkte verarbeitet und Warteschlangenpositionen verwaltet werden mussten.
Prompt:
Implementieren Sie die Logik zum Aufgeben einer Bestellung mit mehreren Artikeln, wobei jeder Artikel mit einem bestimmten Menü im Franchise verknüpft ist.
Ergebnis: ChatGPT hat mich durch die Entwicklung eines OrderService geführt, um dies zu bewältigen. Hier ist ein Teil der Implementierung:
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); }
Als nächstes habe ich ChatGPT gebeten, mir beim Entwerfen der Logik zum Platzieren eines Kunden in der Warteschlange und zum Verfolgen seiner Position zu helfen.
Prompt:
Wie kann ich die Warteschlangenposition und Wartezeit für eine Bestellung in einem Kaffee-Franchise-System berechnen?
Ergebnis: ChatGPT hat vorgeschlagen, einen QueueService zu erstellen, der Bestellungen verfolgt und ihnen basierend auf Zeitstempeln Positionen zuweist. Ich habe es wie folgt implementiert:
public int findQueuePositionForFranchise(UUID franchiseId) { Listqueue = customerQueueRepository.findAllByFranchiseId(franchiseId); return queue.size() 1; }
Es wurden auch Hinweise zur Schätzung der Wartezeiten basierend auf der durchschnittlichen Auftragsbearbeitungszeit gegeben.
Schließlich habe ich die Logik implementiert, die es Kunden ermöglicht, ihre Bestellungen zu stornieren und die Warteschlange zu verlassen:
public void cancelOrder(UUID orderId) { Order order = orderRepository.findById(orderId).orElseThrow(); queueService.removeFromQueue(order.getQueue().getId(), order.getId()); orderRepository.delete(order); }
Am Ende von Tag 2 hatte ich einen voll funktionsfähigen Service, der es den Kunden ermöglichte:
Ich habe noch ein paar Schritte, um die Dokumentation zu erstellen, liquidbase zu verwenden und chatGPT Beispieldaten für einfachere Tests generieren zu lassen.
Der Aufbau eines Bestellabwicklungssystems für ein Café in zwei Tagen mag entmutigend klingen, aber mit KI-Unterstützung ist es machbar. ChatGPT fungierte wie ein Codierungsassistent und half mir, abstrakte Anforderungen schnell in ein funktionierendes System umzuwandeln. Während KI eine Grundlage bieten kann, ist die Verfeinerung und Anpassung von Code immer noch eine wesentliche Fähigkeit. Durch dieses Projekt habe ich gelernt, wie ich den Wert von KI-Tools maximieren kann, ohne die Kontrolle über den Entwicklungsprozess zu verlieren.
Wenn Sie die Schritte befolgen, die ich unternommen habe, können Sie Ihre eigenen Projekte beschleunigen und sich auf die Problemlösung auf höherer Ebene konzentrieren, während Sie die routinemäßige Codegenerierung und -führung der KI überlassen.
Vollständiger Quellcode von Github
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3