diff --git a/src/main/java/com/doubleo/logservice/domain/log/consumer/AreaEnterLogConsumer.java b/src/main/java/com/doubleo/logservice/domain/log/consumer/AreaEnterLogConsumer.java index 6fa6a6f..85853d1 100644 --- a/src/main/java/com/doubleo/logservice/domain/log/consumer/AreaEnterLogConsumer.java +++ b/src/main/java/com/doubleo/logservice/domain/log/consumer/AreaEnterLogConsumer.java @@ -40,7 +40,7 @@ public void initGroup() { } } - @Scheduled(fixedDelay = 300000) + @Scheduled(fixedDelay = 10000) public void consumeMessages() { List> messages = redisTemplate diff --git a/src/main/java/com/doubleo/logservice/domain/log/consumer/BuildingEnterLogConsumer.java b/src/main/java/com/doubleo/logservice/domain/log/consumer/BuildingEnterLogConsumer.java index ac9c36d..0cdb52d 100644 --- a/src/main/java/com/doubleo/logservice/domain/log/consumer/BuildingEnterLogConsumer.java +++ b/src/main/java/com/doubleo/logservice/domain/log/consumer/BuildingEnterLogConsumer.java @@ -41,7 +41,7 @@ public void initGroup() { } } - @Scheduled(fixedDelay = 300000) + @Scheduled(fixedDelay = 10000) public void consumeMessages() { List> messages = redisTemplate diff --git a/src/main/java/com/doubleo/logservice/domain/log/consumer/RetainedCountConsumer.java b/src/main/java/com/doubleo/logservice/domain/log/consumer/RetainedCountConsumer.java index 77375d5..9c75a6e 100644 --- a/src/main/java/com/doubleo/logservice/domain/log/consumer/RetainedCountConsumer.java +++ b/src/main/java/com/doubleo/logservice/domain/log/consumer/RetainedCountConsumer.java @@ -34,7 +34,7 @@ public void createGroup() { } } - @Scheduled(fixedDelay = 300000) + @Scheduled(fixedDelay = 10000) public void consume() { List> records = redisTemplate diff --git a/src/main/java/com/doubleo/logservice/domain/log/dto/request/CreateAreaEnterLogRequest.java b/src/main/java/com/doubleo/logservice/domain/log/dto/request/CreateAreaEnterLogRequest.java index c1d4774..e1a0fd4 100644 --- a/src/main/java/com/doubleo/logservice/domain/log/dto/request/CreateAreaEnterLogRequest.java +++ b/src/main/java/com/doubleo/logservice/domain/log/dto/request/CreateAreaEnterLogRequest.java @@ -1,4 +1,11 @@ package com.doubleo.logservice.domain.log.dto.request; +import com.doubleo.logservice.global.enums.VisitCategory; + public record CreateAreaEnterLogRequest( - String tenantId, Long areaId, Long memberId, String memberName, Long passId) {} + String tenantId, + Long areaId, + Long memberId, + String memberName, + Long passId, + VisitCategory visitCategory) {} diff --git a/src/main/java/com/doubleo/logservice/domain/log/producer/AreaEnterLogStreamProducer.java b/src/main/java/com/doubleo/logservice/domain/log/producer/AreaEnterLogStreamProducer.java index 22b09ed..0e0df28 100644 --- a/src/main/java/com/doubleo/logservice/domain/log/producer/AreaEnterLogStreamProducer.java +++ b/src/main/java/com/doubleo/logservice/domain/log/producer/AreaEnterLogStreamProducer.java @@ -21,6 +21,7 @@ public void sendAreaEnterLogToStream(CreateAreaEnterLogRequest request) { message.put("memberId", request.memberId().toString()); message.put("memberName", request.memberName()); message.put("passId", request.passId().toString()); + message.put("visitCategory", request.visitCategory().name()); message.put("timestamp", LocalDateTime.now().toString()); redisTemplate.opsForStream().add("area:enter:stream", message); diff --git a/src/main/java/com/doubleo/logservice/grpc/server/LogGrpcServiceImpl.java b/src/main/java/com/doubleo/logservice/grpc/server/LogGrpcServiceImpl.java index e8b555f..83a73ce 100644 --- a/src/main/java/com/doubleo/logservice/grpc/server/LogGrpcServiceImpl.java +++ b/src/main/java/com/doubleo/logservice/grpc/server/LogGrpcServiceImpl.java @@ -1,6 +1,8 @@ package com.doubleo.logservice.grpc.server; import com.doubleo.logservice.domain.log.domain.*; +import com.doubleo.logservice.domain.log.producer.AreaEnterLogStreamProducer; +import com.doubleo.logservice.domain.log.producer.BuildingEnterLogStreamProducer; import com.doubleo.logservice.domain.log.repository.BuildingEnterLogRepository; import com.doubleo.logservice.domain.log.repository.EnterLogRepository; import com.doubleo.logservice.domain.log.repository.IssuedLogAreaRepository; @@ -18,16 +20,23 @@ public class LogGrpcServiceImpl extends LogServiceGrpc.LogServiceImplBase { private final IssuedLogAreaRepository issuedLogAreaRepository; private final EnterLogRepository enterLogRepository; private final BuildingEnterLogRepository buildingEnterLogRepository; + private final AreaEnterLogStreamProducer areaEnterLogProducer; + private final BuildingEnterLogStreamProducer buildingEnterLogProducer; public LogGrpcServiceImpl( IssuedLogRepository issuedLogRepository, IssuedLogAreaRepository issuedLogAreaRepository, EnterLogRepository enterLogRepository, - BuildingEnterLogRepository buildingEnterLogRepository) { + BuildingEnterLogRepository buildingEnterLogRepository, + AreaEnterLogStreamProducer areaProducer, + BuildingEnterLogStreamProducer buildingEnterLogProducer) { this.issuedLogRepository = issuedLogRepository; this.issuedLogAreaRepository = issuedLogAreaRepository; this.enterLogRepository = enterLogRepository; this.buildingEnterLogRepository = buildingEnterLogRepository; + this.areaEnterLogProducer = areaProducer; + + this.buildingEnterLogProducer = buildingEnterLogProducer; } @Override @@ -62,17 +71,16 @@ public void createIssuedLog( public void createEnterLog( CreateEnterLogRequest request, StreamObserver responseObserver) { - EnterLog enterLog = - enterLogRepository.save( - EnterLog.createEnterLog( - request.getTenantId(), - request.getAreaId(), - request.getMemberId(), - request.getMemberName(), - request.getPassId(), - VisitCategory.valueOf(request.getVisitCategory()))); - responseObserver.onNext( - CreateEnterLogResponse.newBuilder().setEnterLogId(enterLog.getId()).build()); + areaEnterLogProducer.sendAreaEnterLogToStream( + new com.doubleo.logservice.domain.log.dto.request.CreateAreaEnterLogRequest( + request.getTenantId(), + request.getAreaId(), + request.getMemberId(), + request.getMemberName(), + request.getPassId(), + VisitCategory.valueOf(request.getVisitCategory()))); + + responseObserver.onNext(CreateEnterLogResponse.newBuilder().setEnterLogId(1L).build()); responseObserver.onCompleted(); } @@ -80,20 +88,18 @@ public void createEnterLog( public void createBuildingEnterLog( CreateBuildingEnterLogRequest request, StreamObserver responseObserver) { - BuildingEnterLog buildingEnterLog = - buildingEnterLogRepository.save( - BuildingEnterLog.createBuildingEnterLog( - request.getTenantId(), - request.getBuildingId(), - request.getMemberId(), - request.getMemberName(), - request.getPassId(), - Direction.valueOf(request.getDirection()), - VisitCategory.valueOf(request.getVisitCategory()))); + buildingEnterLogProducer.sendBuildingEnterLogToStream( + new com.doubleo.logservice.domain.log.dto.request.CreateBuildingEnterLogRequest( + request.getTenantId(), + request.getBuildingId(), + request.getMemberId(), + request.getMemberName(), + request.getPassId(), + Direction.valueOf(request.getDirection()), + VisitCategory.valueOf(request.getVisitCategory()))); + responseObserver.onNext( - CreateBuildingEnterLogResponse.newBuilder() - .setBuildingEnterLogId(buildingEnterLog.getId()) - .build()); + CreateBuildingEnterLogResponse.newBuilder().setBuildingEnterLogId(1L).build()); responseObserver.onCompleted(); } }