From 83abad8de34971e41e541d14a3dd2f0b53eeb75f Mon Sep 17 00:00:00 2001 From: Akayeshmantha Date: Thu, 10 Oct 2019 16:33:42 +0200 Subject: [PATCH] add endpoint to get platform data. --- .../controller/AggregateController.java | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/data-aggregation-service/src/main/java/eu/nimble/service/dataaggregation/controller/AggregateController.java b/data-aggregation-service/src/main/java/eu/nimble/service/dataaggregation/controller/AggregateController.java index 2540cba..4e22041 100644 --- a/data-aggregation-service/src/main/java/eu/nimble/service/dataaggregation/controller/AggregateController.java +++ b/data-aggregation-service/src/main/java/eu/nimble/service/dataaggregation/controller/AggregateController.java @@ -61,7 +61,6 @@ public class AggregateController { public void init() { logger.info("Using the following URLs: {}, {}", environment.getProperty("nimble.identity.url"), environment.getProperty("nimble.business-process.url")); } - @ApiOperation(value = "Aggregate statistics of platform.", nickname = "getPlatformStats", response = PlatformStats.class) @ApiResponses(value = { @ApiResponse(code = 200, message = "Aggregated statistics of platform"), @@ -229,4 +228,31 @@ public ResponseEntity getCollabarationStatisticsForComany(@ApiParam(value = " return ResponseEntity.ok(collabStats); } + + @ApiOperation(value = "Aggregate statistics of company collaboration.", nickname = "getCollabStats", response = CollaborationStats.class) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "Aggregated statistics of company collaboration"), + @ApiResponse(code = 400, message = "Error while aggregating statistics.")}) + @RequestMapping(value = "/platform/collabaration", produces = {"application/json"}, method = RequestMethod.GET) + public ResponseEntity getCollabarationStatisticsForPlatform(@ApiParam(value = "The Bearer token provided by the identity service") @RequestHeader(value = "Authorization", required = true) String bearerToken) { + + + //collab time + Double averageCollabTimePurchases = businessProcessClient.getCollaborationTimeForPlatform(BUYER,bearerToken); + Double averageCollabTimeSales = businessProcessClient.getCollaborationTimeForPlatform(SELLER,bearerToken); + Double averageCollabTime = (averageCollabTimePurchases+averageCollabTimeSales)/2; + CollaborationTime collaborationTime = new CollaborationTime(averageCollabTime, averageCollabTimePurchases, averageCollabTimeSales); + + //response time + Double averageResponseTime = businessProcessClient.geResponseTimeForPlatform(bearerToken); + Map averagetimeForMonths = + businessProcessClient.geResponseTimeForPlatformForMonths(bearerToken); + ResponseTime resTime = new ResponseTime(averageResponseTime,averagetimeForMonths); + + // aggregate statistics + CollaborationStats collabStats = new CollaborationStats(); + collabStats.setCollaborationTime(collaborationTime); + collabStats.setResponseTime(resTime); + return ResponseEntity.ok(collabStats); + } }