From 044468cd42b3498df7c9bf3613b55270ffb3c3e8 Mon Sep 17 00:00:00 2001 From: midday2612 Date: Wed, 11 Jun 2025 20:52:39 +0900 Subject: [PATCH 1/2] =?UTF-8?q?KW-658/refactor:=20=EC=B6=9C=EC=9E=85=20?= =?UTF-8?q?=EB=A1=9C=EA=B7=B8=20=20grpc=20=EB=A0=88=EB=94=94=EC=8A=A4=20?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=EB=A6=BC=EC=97=90=20=EC=A0=80=EC=9E=A5?= =?UTF-8?q?=ED=95=98=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../log/consumer/AreaEnterLogConsumer.java | 2 +- .../consumer/BuildingEnterLogConsumer.java | 2 +- .../log/consumer/RetainedCountConsumer.java | 2 +- .../request/CreateAreaEnterLogRequest.java | 4 +- .../producer/AreaEnterLogStreamProducer.java | 1 + .../grpc/server/LogGrpcServiceImpl.java | 60 ++++++++++++------- 6 files changed, 44 insertions(+), 27 deletions(-) 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..603ba47 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,6 @@ 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..db219f1 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,22 @@ 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 +70,20 @@ 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()))); + 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(enterLog.getId()).build()); + CreateEnterLogResponse.newBuilder().setEnterLogId(1L).build() + ); responseObserver.onCompleted(); } @@ -80,20 +91,23 @@ 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()); + .setBuildingEnterLogId(1L) + .build() + ); responseObserver.onCompleted(); } } From 630eca4b0657279a6158ed53c086408e68836706 Mon Sep 17 00:00:00 2001 From: midday2612 Date: Wed, 11 Jun 2025 20:59:28 +0900 Subject: [PATCH 2/2] =?UTF-8?q?KW-658/chore:=20spotless=20=EC=A0=81?= =?UTF-8?q?=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../request/CreateAreaEnterLogRequest.java | 7 +++++- .../grpc/server/LogGrpcServiceImpl.java | 22 ++++++------------- 2 files changed, 13 insertions(+), 16 deletions(-) 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 603ba47..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 @@ -3,4 +3,9 @@ import com.doubleo.logservice.global.enums.VisitCategory; public record CreateAreaEnterLogRequest( - String tenantId, Long areaId, Long memberId, String memberName, Long passId, VisitCategory visitCategory) {} + String tenantId, + Long areaId, + Long memberId, + String memberName, + Long passId, + VisitCategory visitCategory) {} 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 db219f1..83a73ce 100644 --- a/src/main/java/com/doubleo/logservice/grpc/server/LogGrpcServiceImpl.java +++ b/src/main/java/com/doubleo/logservice/grpc/server/LogGrpcServiceImpl.java @@ -23,12 +23,13 @@ public class LogGrpcServiceImpl extends LogServiceGrpc.LogServiceImplBase { private final AreaEnterLogStreamProducer areaEnterLogProducer; private final BuildingEnterLogStreamProducer buildingEnterLogProducer; - public LogGrpcServiceImpl( IssuedLogRepository issuedLogRepository, IssuedLogAreaRepository issuedLogAreaRepository, EnterLogRepository enterLogRepository, - BuildingEnterLogRepository buildingEnterLogRepository, AreaEnterLogStreamProducer areaProducer, BuildingEnterLogStreamProducer buildingEnterLogProducer) { + BuildingEnterLogRepository buildingEnterLogRepository, + AreaEnterLogStreamProducer areaProducer, + BuildingEnterLogStreamProducer buildingEnterLogProducer) { this.issuedLogRepository = issuedLogRepository; this.issuedLogAreaRepository = issuedLogAreaRepository; this.enterLogRepository = enterLogRepository; @@ -77,13 +78,9 @@ public void createEnterLog( request.getMemberId(), request.getMemberName(), request.getPassId(), - VisitCategory.valueOf(request.getVisitCategory()) - ) - ); + VisitCategory.valueOf(request.getVisitCategory()))); - responseObserver.onNext( - CreateEnterLogResponse.newBuilder().setEnterLogId(1L).build() - ); + responseObserver.onNext(CreateEnterLogResponse.newBuilder().setEnterLogId(1L).build()); responseObserver.onCompleted(); } @@ -99,15 +96,10 @@ public void createBuildingEnterLog( request.getMemberName(), request.getPassId(), Direction.valueOf(request.getDirection()), - VisitCategory.valueOf(request.getVisitCategory()) - ) - ); + VisitCategory.valueOf(request.getVisitCategory()))); responseObserver.onNext( - CreateBuildingEnterLogResponse.newBuilder() - .setBuildingEnterLogId(1L) - .build() - ); + CreateBuildingEnterLogResponse.newBuilder().setBuildingEnterLogId(1L).build()); responseObserver.onCompleted(); } }