Skip to content

Commit 23b0a6e

Browse files
committed
Reduced participants size - README.md
1 parent 2462077 commit 23b0a6e

File tree

1 file changed

+48
-107
lines changed

1 file changed

+48
-107
lines changed

InventoryManagement/README.md

Lines changed: 48 additions & 107 deletions
Original file line numberDiff line numberDiff line change
@@ -452,51 +452,28 @@ sequenceDiagram
452452
```mermaid
453453
sequenceDiagram
454454
participant Client
455-
participant SaleController
456-
participant SaleService
457-
participant SaleRepo as SaleRepository
458-
participant StockService
459-
participant StockRepo as StockRepository
460-
participant DB as MySQL Database
461-
462-
Client->>SaleController: POST /api/sales
463-
Note over Client: Sale Order with<br/>Product, Quantity, Customer
464-
465-
SaleController->>SaleService: createSale(sale)
466-
activate SaleService
455+
participant API as Sale API
456+
participant Service as Business Logic
457+
participant DB as Database
467458
468-
SaleService->>StockService: checkAvailability(productId, warehouseId, quantity)
469-
activate StockService
470-
StockService->>StockRepo: findByProductAndWarehouse(productId, warehouseId)
471-
StockRepo->>DB: SELECT * FROM stocks WHERE...
472-
DB-->>StockRepo: Stock Entity
473-
StockRepo-->>StockService: Stock Entity
474-
StockService-->>SaleService: Stock availability result
475-
deactivate StockService
459+
Client->>API: POST /api/sales
460+
API->>Service: Process Sale Order
461+
activate Service
462+
463+
Service->>DB: Check Stock Availability
464+
DB-->>Service: Stock Status
476465
477466
alt Stock Available
478-
SaleService->>SaleRepo: save(sale)
479-
activate SaleRepo
480-
SaleRepo->>DB: INSERT INTO sales
481-
DB-->>SaleRepo: Sale Entity
482-
SaleRepo-->>SaleService: Sale Entity
483-
deactivate SaleRepo
484-
485-
SaleService->>StockService: reduceStock(productId, warehouseId, quantity)
486-
activate StockService
487-
StockService->>DB: UPDATE stocks SET quantity = quantity - ?
488-
DB-->>StockService: Updated
489-
StockService-->>SaleService: Success
490-
deactivate StockService
491-
492-
SaleService-->>SaleController: Sale Entity
493-
SaleController-->>Client: 201 Created
494-
deactivate SaleService
467+
Service->>DB: Create Sale Record
468+
Service->>DB: Reduce Stock Quantity
469+
DB-->>Service: Success
470+
Service-->>API: Sale Created
471+
API-->>Client: 201 Created
495472
else Insufficient Stock
496-
SaleService-->>SaleController: Error: Insufficient Stock
497-
SaleController-->>Client: 400 Bad Request
498-
deactivate SaleService
473+
Service-->>API: Stock Unavailable
474+
API-->>Client: 400 Bad Request
499475
end
476+
deactivate Service
500477
```
501478

502479
### Inter-Warehouse Transfer Flow
@@ -506,88 +483,52 @@ sequenceDiagram
506483
```mermaid
507484
sequenceDiagram
508485
participant Client
509-
participant TransferController
510-
participant TransferService
511-
participant TransferRepo as TransferRepository
512-
participant StockService
513-
participant DB as MySQL Database
486+
participant API as Transfer API
487+
participant Service as Business Logic
488+
participant DB as Database
514489
515-
Client->>TransferController: POST /api/transfers
516-
Note over Client: Transfer Request: From Warehouse A to B
517-
518-
TransferController->>TransferService: createTransfer(transfer)
519-
activate TransferService
490+
Client->>API: POST /api/transfers
491+
API->>Service: Create Transfer Request
492+
activate Service
520493
521-
TransferService->>StockService: checkStock(productId, fromWarehouseId, quantity)
522-
activate StockService
523-
StockService->>DB: SELECT quantity FROM stocks
524-
DB-->>StockService: Available Quantity
525-
StockService-->>TransferService: Stock check result
526-
deactivate StockService
494+
Service->>DB: Check Stock in Source Warehouse
495+
DB-->>Service: Stock Status
527496
528497
alt Stock Available
529-
TransferService->>TransferRepo: save(transfer)
530-
activate TransferRepo
531-
TransferRepo->>DB: INSERT INTO transfers (status='PENDING')
532-
DB-->>TransferRepo: Transfer (PENDING)
533-
TransferRepo-->>TransferService: Transfer (PENDING)
534-
deactivate TransferRepo
535-
TransferService-->>TransferController: Transfer Entity
536-
TransferController-->>Client: 201 Created
537-
deactivate TransferService
498+
Service->>DB: Save Transfer (Status: PENDING)
499+
DB-->>Service: Transfer Created
500+
Service-->>API: Transfer Entity
501+
API-->>Client: 201 Created
538502
else Insufficient Stock
539-
TransferService-->>TransferController: Error: Insufficient Stock
540-
TransferController-->>Client: 400 Bad Request
541-
deactivate TransferService
503+
Service-->>API: Stock Unavailable
504+
API-->>Client: 400 Bad Request
542505
end
506+
deactivate Service
543507
```
544508

545-
**Phase 2: Approve and Execute Transfer**
509+
**Phase 2: Execute Transfer**
546510

547511
```mermaid
548512
sequenceDiagram
549513
participant Client
550-
participant TransferController
551-
participant TransferService
552-
participant TransferRepo as TransferRepository
553-
participant StockService
554-
participant DB as MySQL Database
514+
participant API as Transfer API
515+
participant Service as Business Logic
516+
participant DB as Database
555517
556-
Client->>TransferController: PUT /api/transfers/{id}
557-
Note over Client: Update status: RECEIVED
558-
559-
TransferController->>TransferService: updateTransfer(id, updated)
560-
activate TransferService
561-
562-
TransferService->>DB: BEGIN TRANSACTION
563-
564-
TransferService->>StockService: reduceStock(productId, fromWarehouseId, quantity)
565-
activate StockService
566-
StockService->>DB: UPDATE stocks (reduce from source)
567-
DB-->>StockService: Updated
568-
StockService-->>TransferService: Success
569-
deactivate StockService
570-
571-
TransferService->>StockService: addStock(productId, toWarehouseId, quantity)
572-
activate StockService
573-
StockService->>DB: UPDATE/INSERT stocks (add to destination)
574-
DB-->>StockService: Updated
575-
StockService-->>TransferService: Success
576-
deactivate StockService
577-
578-
TransferService->>TransferRepo: save(updated)
579-
activate TransferRepo
580-
TransferRepo->>DB: UPDATE transfers SET status='RECEIVED'
581-
DB-->>TransferRepo: Updated Transfer
582-
TransferRepo-->>TransferService: Transfer (RECEIVED)
583-
deactivate TransferRepo
518+
Client->>API: PUT /api/transfers/{id}
519+
API->>Service: Execute Transfer
520+
activate Service
584521
585-
TransferService->>DB: COMMIT TRANSACTION
586-
DB-->>TransferService: Transaction Complete
522+
Service->>DB: BEGIN TRANSACTION
523+
Service->>DB: Reduce Stock from Source
524+
Service->>DB: Add Stock to Destination
525+
Service->>DB: Update Transfer Status (RECEIVED)
526+
Service->>DB: COMMIT TRANSACTION
527+
DB-->>Service: Success
587528
588-
TransferService-->>TransferController: Transfer Entity
589-
TransferController-->>Client: 200 OK
590-
deactivate TransferService
529+
Service-->>API: Transfer Completed
530+
API-->>Client: 200 OK
531+
deactivate Service
591532
```
592533

593534

0 commit comments

Comments
 (0)