Skip to content
Launch GitLab Knowledge Graph

[MR Train 3/6] Refactor: Add service layer business logic

MR Train Overview

This is MR 3 of 6 in a stacked MR train to refactor orders-service.

Train Structure

  1. [MR 1/6] Foundation (!2 (merged))
  2. [MR 2/6] Database layer (!3 (merged))
  3. [MR 3/6] Service layer ← YOU ARE HERE
  4. [MR 4/6] API endpoints (depends on MR 3)
  5. [MR 5/6] Integration tests (depends on MR 4)
  6. [MR 6/6] Performance optimizations (depends on MR 5)

This MR: Service Layer

Implements the business logic layer with order management functionality.

Changes

  • Created OrderService with CRUD operations
  • Implemented order state machine (PENDING → CONFIRMED → PROCESSING → SHIPPED → DELIVERED)
  • Added OrderValidationService for request validation
  • Created OrderEventPublisher for event-driven architecture
  • Added @Transactional annotations for proper transaction boundaries

Business Rules Implemented

  • Orders start in PENDING status
  • Cannot confirm non-PENDING orders
  • Cannot cancel DELIVERED orders
  • All state transitions publish events

Dependencies

⚠️ Depends on: !3 (merged) (MR 2/6 - Database layer)

This MR is based on the refactor/step2-database branch.

Next Steps

MR 4 will add REST API endpoints that use this service layer.

@sabrina_farmer @bill_staples Please review the business logic!

Merge request reports

Loading