Skip to content

Commit 4ebe5b4

Browse files
Merge pull request #1 from alamgir-ahosain/dev
merge dev : added all api Except min_max Route capacity validation API
2 parents 1f7da2b + 37514bb commit 4ebe5b4

30 files changed

+1007
-0
lines changed
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package csembstu.alamgir.server.controller;
2+
3+
import org.springframework.web.bind.annotation.RestController;
4+
5+
import csembstu.alamgir.server.dto.request.CreateDemandRequest;
6+
import csembstu.alamgir.server.dto.response.DemandResponse;
7+
import csembstu.alamgir.server.entity.Demand;
8+
import csembstu.alamgir.server.service.DemandService;
9+
import jakarta.validation.Valid;
10+
11+
import java.util.List;
12+
13+
import org.springframework.beans.factory.annotation.Autowired;
14+
import org.springframework.http.HttpStatus;
15+
import org.springframework.http.ResponseEntity;
16+
import org.springframework.web.bind.annotation.GetMapping;
17+
import org.springframework.web.bind.annotation.PostMapping;
18+
import org.springframework.web.bind.annotation.RequestBody;
19+
20+
@RestController
21+
22+
public class DemandController {
23+
24+
@Autowired
25+
private DemandService demandService;
26+
27+
@PostMapping("api/demands")
28+
public ResponseEntity<DemandResponse> createDemand(@Valid @RequestBody CreateDemandRequest req) {
29+
DemandResponse demand = demandService.createDemand(req);
30+
return ResponseEntity.status(HttpStatus.CREATED).body(demand);
31+
}
32+
33+
@GetMapping("api/demands")
34+
public List<DemandResponse> getAllDemand() { return demandService.getAllDemand(); }
35+
36+
@GetMapping("api/demands/all")
37+
public List<Demand> getAllDemands() { return demandService.getAllDemands(); }
38+
39+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package csembstu.alamgir.server.controller;
2+
3+
import org.springframework.web.bind.annotation.RestController;
4+
5+
import csembstu.alamgir.server.dto.response.LogisticsSummaryResponse;
6+
import csembstu.alamgir.server.service.LogisticsSummaryService;
7+
8+
import org.springframework.beans.factory.annotation.Autowired;
9+
import org.springframework.web.bind.annotation.GetMapping;
10+
11+
@RestController
12+
public class LogisticsSummaryController {
13+
14+
@Autowired
15+
private LogisticsSummaryService logisticsSummaryService;
16+
17+
@GetMapping("api//network/summary")
18+
public LogisticsSummaryResponse getNetworkSummary() {
19+
return logisticsSummaryService.logisticsSummaryResponse();
20+
21+
}
22+
23+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package csembstu.alamgir.server.controller;
2+
3+
import org.springframework.web.bind.annotation.RestController;
4+
5+
import csembstu.alamgir.server.dto.request.CreateProductRequest;
6+
import csembstu.alamgir.server.entity.Product;
7+
import csembstu.alamgir.server.service.ProductService;
8+
import jakarta.validation.Valid;
9+
10+
import java.util.List;
11+
12+
import org.apache.coyote.BadRequestException;
13+
import org.springframework.beans.factory.annotation.Autowired;
14+
import org.springframework.http.HttpStatus;
15+
import org.springframework.http.ResponseEntity;
16+
import org.springframework.web.bind.annotation.GetMapping;
17+
import org.springframework.web.bind.annotation.PostMapping;
18+
import org.springframework.web.bind.annotation.RequestBody;
19+
20+
@RestController
21+
public class ProductController {
22+
23+
@Autowired
24+
private ProductService productService;
25+
26+
@PostMapping("/api/products")
27+
public ResponseEntity<Product> createProduct(@Valid @RequestBody CreateProductRequest request) throws BadRequestException {
28+
Product newProduct = productService.createProduct(request);
29+
return ResponseEntity.status(HttpStatus.CREATED).body(newProduct); // 201 Created
30+
}
31+
32+
@GetMapping("/api/products")
33+
public List<Product> getAllProduct() {return productService.getAllProduct();}
34+
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package csembstu.alamgir.server.controller;
2+
3+
import org.springframework.web.bind.annotation.RestController;
4+
5+
import csembstu.alamgir.server.dto.request.CreateRouteRequest;
6+
import csembstu.alamgir.server.dto.response.RouteResponse;
7+
import csembstu.alamgir.server.entity.Route;
8+
import csembstu.alamgir.server.service.RouteService;
9+
import jakarta.validation.Valid;
10+
11+
12+
import java.util.List;
13+
14+
import org.springframework.beans.factory.annotation.Autowired;
15+
import org.springframework.http.HttpStatus;
16+
import org.springframework.http.ResponseEntity;
17+
import org.springframework.web.bind.annotation.GetMapping;
18+
import org.springframework.web.bind.annotation.PostMapping;
19+
import org.springframework.web.bind.annotation.RequestBody;
20+
21+
@RestController
22+
public class RouteController {
23+
24+
@Autowired
25+
private RouteService routeService;
26+
27+
@PostMapping("api/routes")
28+
public ResponseEntity<RouteResponse> createRoute(@Valid @RequestBody CreateRouteRequest request) {
29+
RouteResponse newRoute = routeService.createRoute(request);
30+
return ResponseEntity.status(HttpStatus.CREATED).body(newRoute);
31+
}
32+
33+
@GetMapping("api/routes")
34+
public List<RouteResponse> getAllRoute() { return routeService.getAllRoute(); }
35+
36+
37+
@GetMapping("api/routes/all")
38+
public List<Route> getAllRoutes() { return routeService.getAllRoutes(); }
39+
40+
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package csembstu.alamgir.server.controller;
2+
3+
import org.springframework.web.bind.annotation.RestController;
4+
5+
import csembstu.alamgir.server.dto.request.CreateStorageUnitRequest;
6+
import csembstu.alamgir.server.dto.response.StorageUnitResponse;
7+
import csembstu.alamgir.server.entity.StorageUnit;
8+
import csembstu.alamgir.server.service.StorageUnitService;
9+
import jakarta.validation.Valid;
10+
11+
import java.util.List;
12+
13+
import org.springframework.beans.factory.annotation.Autowired;
14+
import org.springframework.http.HttpStatus;
15+
import org.springframework.http.ResponseEntity;
16+
import org.springframework.web.bind.annotation.GetMapping;
17+
import org.springframework.web.bind.annotation.PostMapping;
18+
import org.springframework.web.bind.annotation.RequestBody;
19+
20+
@RestController
21+
public class StorageUnitController {
22+
23+
@Autowired
24+
private StorageUnitService storageUnitService;
25+
26+
@PostMapping("api/storage-units")
27+
public ResponseEntity<StorageUnitResponse> createStorageUnit(@Valid @RequestBody CreateStorageUnitRequest request) {
28+
StorageUnitResponse newStorageUnit = storageUnitService.createStorageUnit(request);
29+
return ResponseEntity.status(HttpStatus.CREATED).body(newStorageUnit);
30+
}
31+
32+
@GetMapping("api/storage-units")
33+
public List<StorageUnitResponse> getAllStorageUnit() {return storageUnitService.getAllStorageUnit();}
34+
35+
36+
@GetMapping("api/storage-units/all")
37+
public List<StorageUnit> getAllStorageUnits() {return storageUnitService.getAllStorageUnits();}
38+
39+
40+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package csembstu.alamgir.server.controller;
2+
3+
import org.springframework.web.bind.annotation.RestController;
4+
5+
import csembstu.alamgir.server.dto.request.DateRequestValidation;
6+
import csembstu.alamgir.server.dto.response.TemperatureValidationResponse;
7+
8+
import csembstu.alamgir.server.service.ValidationApiService;
9+
import jakarta.validation.Valid;
10+
11+
import org.springframework.beans.factory.annotation.Autowired;
12+
import org.springframework.web.bind.annotation.PostMapping;
13+
import org.springframework.web.bind.annotation.RequestBody;
14+
15+
@RestController
16+
public class ValidationApiController {
17+
18+
@Autowired
19+
private ValidationApiService validationApiService;
20+
21+
@PostMapping("api/temps/validate")
22+
public TemperatureValidationResponse postMethodName(@Valid @RequestBody DateRequestValidation requestValidation) {
23+
return validationApiService.validateTemperature(requestValidation);
24+
}
25+
26+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package csembstu.alamgir.server.dto.request;
2+
3+
import jakarta.validation.constraints.NotBlank;
4+
import jakarta.validation.constraints.NotNull;
5+
import lombok.Data;
6+
7+
@Data
8+
public class CreateDemandRequest {
9+
10+
@NotBlank(message = "Location ID is required")
11+
private String locationId;
12+
13+
@NotBlank(message = "Product ID is required")
14+
private String productId;
15+
16+
@NotNull(message = "Date is required")
17+
private String date;
18+
19+
@NotNull(message = "Min quantity is required")
20+
private Integer minQuantity;
21+
22+
@NotNull(message = "Max quantity is required")
23+
private Integer maxQuantity;
24+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package csembstu.alamgir.server.dto.request;
2+
3+
import jakarta.validation.constraints.NotBlank;
4+
import jakarta.validation.constraints.NotNull;
5+
import lombok.Data;
6+
7+
@Data
8+
public class CreateProductRequest {
9+
10+
@NotBlank(message = "Product name is required")
11+
private String name;
12+
13+
@NotNull(message = "Minimum temperature is required")
14+
private Double minTemperature;
15+
16+
@NotNull(message = "Maximum temperature is required")
17+
private Double maxTemperature;
18+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package csembstu.alamgir.server.dto.request;
2+
3+
import jakarta.validation.constraints.NotBlank;
4+
import jakarta.validation.constraints.NotNull;
5+
import lombok.Data;
6+
7+
@Data
8+
public class CreateRouteRequest {
9+
10+
@NotBlank(message = "fromLocationId is required")
11+
private String fromLocationId;
12+
13+
@NotBlank(message = "toLocationId is required")
14+
private String toLocationId;
15+
16+
@NotNull(message = "capacity is required")
17+
private Integer capacity;
18+
19+
@NotNull(message = "minShipment is required")
20+
private Integer minShipment;
21+
22+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package csembstu.alamgir.server.dto.request;
2+
3+
import jakarta.validation.constraints.NotBlank;
4+
import jakarta.validation.constraints.NotNull;
5+
import lombok.Data;
6+
7+
@Data
8+
public class CreateStorageUnitRequest {
9+
10+
@NotBlank(message = "Location ID is required")
11+
private String locationId;
12+
13+
@NotNull(message = "Minimum temperature is required")
14+
private Double minTemperature;
15+
16+
@NotNull(message = "Maximum temperature is required")
17+
private Double maxTemperature;
18+
19+
@NotNull(message = "Capacity is required")
20+
private Integer capacity;
21+
}

0 commit comments

Comments
 (0)