#25 order-service: sleuth + zipkin
This commit is contained in:
@@ -31,6 +31,9 @@ dependencies {
|
||||
|
||||
implementation 'org.mariadb.jdbc:mariadb-java-client'
|
||||
|
||||
implementation 'org.springframework.cloud:spring-cloud-starter-sleuth'
|
||||
implementation 'org.springframework.cloud:spring-cloud-starter-zipkin:2.2.3.RELEASE'
|
||||
|
||||
compileOnly 'org.projectlombok:lombok'
|
||||
developmentOnly 'org.springframework.boot:spring-boot-devtools'
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ import com.example.orderservice.service.OrderService;
|
||||
import com.example.orderservice.vo.RequestOrder;
|
||||
import com.example.orderservice.vo.ResponseOrder;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.modelmapper.ModelMapper;
|
||||
import org.modelmapper.convention.MatchingStrategies;
|
||||
import org.springframework.core.env.Environment;
|
||||
@@ -20,6 +21,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/order-service")
|
||||
@RequiredArgsConstructor
|
||||
@@ -40,34 +42,42 @@ public class OrderController {
|
||||
public ResponseEntity<ResponseOrder> createOrder(@PathVariable("userId") String userId,
|
||||
@RequestBody RequestOrder requestOrder) {
|
||||
|
||||
log.info("Before add orders data");
|
||||
|
||||
OrderDto orderDto = mapper.map(requestOrder, OrderDto.class);
|
||||
orderDto.setUserId(userId);
|
||||
|
||||
// jpa
|
||||
// OrderDto createdOrder = orderService.createOrder(orderDto);
|
||||
// ResponseOrder responseOrder = mapper.map(createdOrder, ResponseOrder.class);
|
||||
OrderDto createdOrder = orderService.createOrder(orderDto);
|
||||
ResponseOrder responseOrder = mapper.map(createdOrder, ResponseOrder.class);
|
||||
|
||||
// kafka
|
||||
orderDto.setOrderId(UUID.randomUUID().toString());
|
||||
orderDto.setTotalPrice(requestOrder.getQty() * requestOrder.getUnitPrice());
|
||||
// orderDto.setOrderId(UUID.randomUUID().toString());
|
||||
// orderDto.setTotalPrice(requestOrder.getQty() * requestOrder.getUnitPrice());
|
||||
|
||||
// send this order to the kafka
|
||||
kafkaProducer.send("example-catalog-topic", orderDto);
|
||||
orderProducer.send("orders", orderDto);
|
||||
// kafkaProducer.send("example-catalog-topic", orderDto);
|
||||
// orderProducer.send("orders", orderDto);
|
||||
|
||||
ResponseOrder responseOrder = mapper.map(orderDto, ResponseOrder.class);
|
||||
// ResponseOrder responseOrder = mapper.map(orderDto, ResponseOrder.class);
|
||||
|
||||
log.info("After add orders data");
|
||||
|
||||
return ResponseEntity.status(HttpStatus.CREATED).body(responseOrder);
|
||||
}
|
||||
|
||||
@GetMapping("/{userId}/orders")
|
||||
public ResponseEntity<List<ResponseOrder>> getOrders(@PathVariable("userId") String userId) {
|
||||
|
||||
log.info("Before receive orders data");
|
||||
|
||||
List<OrderEntity> orders = orderService.getOrdersByUserId(userId);
|
||||
List<ResponseOrder> result = new ArrayList<>();
|
||||
|
||||
orders.forEach(orderEntity -> result.add(mapper.map(orderEntity, ResponseOrder.class)));
|
||||
|
||||
log.info("After receive orders data");
|
||||
|
||||
return ResponseEntity.status(HttpStatus.OK).body(result);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,13 @@ server:
|
||||
spring:
|
||||
application:
|
||||
name: order-service
|
||||
|
||||
zipkin:
|
||||
base-url: http://127.0.0.1:9411
|
||||
sleuth:
|
||||
sampler:
|
||||
probability: 1.0
|
||||
|
||||
h2:
|
||||
console:
|
||||
enabled: true
|
||||
|
||||
Reference in New Issue
Block a user