From 77213926e2fe5cc34e53bb373b06d78c69c52d2e Mon Sep 17 00:00:00 2001 From: TakahashiNg <83152264+TakahashiNguyen@users.noreply.github.com> Date: Mon, 11 May 2026 10:50:56 +0000 Subject: [PATCH] chore: update --- .../com/drinkool/entities/ManagerEntity.java | 16 +++++++++++++++ .../com/drinkool/services/ManagerService.java | 2 +- eatery-service/pom.xml | 4 ++++ .../controllers/AccountController.java | 17 ++++++++++++++++ .../com/drinkool/services/EateryService.java | 20 ++++++++++++++++++- .../src/main/resources/application.properties | 6 ++++-- 6 files changed, 61 insertions(+), 4 deletions(-) create mode 100644 eatery-service/src/main/java/com/drinkool/controllers/AccountController.java diff --git a/account-service/src/main/java/com/drinkool/entities/ManagerEntity.java b/account-service/src/main/java/com/drinkool/entities/ManagerEntity.java index 8b08ce8..f7bf0f3 100644 --- a/account-service/src/main/java/com/drinkool/entities/ManagerEntity.java +++ b/account-service/src/main/java/com/drinkool/entities/ManagerEntity.java @@ -3,6 +3,7 @@ package com.drinkool.entities; import com.drinkool.Role; import com.drinkool.models.UserModel; import jakarta.persistence.*; +import jakarta.transaction.Transactional; import java.util.ArrayList; import java.util.List; @@ -17,7 +18,22 @@ public class ManagerEntity extends UserModel { ) public List staffs = new ArrayList<>(); + @Column(nullable = true) + String bankAccount; + public ManagerEntity() { super(Role.Manager); } + + @Transactional + public void signup( + String name, + String phone, + String bankAccount, + String rawPassword + ) { + this.bankAccount = bankAccount; + + super.signup(name, phone, rawPassword); + } } diff --git a/account-service/src/main/java/com/drinkool/services/ManagerService.java b/account-service/src/main/java/com/drinkool/services/ManagerService.java index 5f87cd2..37caedc 100644 --- a/account-service/src/main/java/com/drinkool/services/ManagerService.java +++ b/account-service/src/main/java/com/drinkool/services/ManagerService.java @@ -28,7 +28,7 @@ public class ManagerService extends BaseService { public Response signup(ManagerSignup input) { ManagerEntity newManager = new ManagerEntity(); - newManager.signup(input.name, input.phone, input.password); + newManager.signup(input.name, input.phone, input.bankAccount, input.password); ManagerCreate message = new ManagerCreate(); message.id = newManager.id; diff --git a/eatery-service/pom.xml b/eatery-service/pom.xml index a7fe62e..b989597 100644 --- a/eatery-service/pom.xml +++ b/eatery-service/pom.xml @@ -129,6 +129,10 @@ io.quarkus quarkus-rest-jackson + + io.quarkus + quarkus-rest-client-jackson + io.quarkus quarkus-container-image-docker diff --git a/eatery-service/src/main/java/com/drinkool/controllers/AccountController.java b/eatery-service/src/main/java/com/drinkool/controllers/AccountController.java new file mode 100644 index 0000000..629fc20 --- /dev/null +++ b/eatery-service/src/main/java/com/drinkool/controllers/AccountController.java @@ -0,0 +1,17 @@ +package com.drinkool.controllers; + +import com.drinkool.Role; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.core.Response; +import java.util.UUID; +import org.eclipse.microprofile.rest.client.inject.RegisterRestClient; + +@RegisterRestClient(configKey = "account") +@Path(Role.Manager) +public interface AccountController { + @GET + @Path("/{id}") + public Response getManagerById(@PathParam("id") UUID id); +} diff --git a/eatery-service/src/main/java/com/drinkool/services/EateryService.java b/eatery-service/src/main/java/com/drinkool/services/EateryService.java index 9af3dd4..c35f727 100644 --- a/eatery-service/src/main/java/com/drinkool/services/EateryService.java +++ b/eatery-service/src/main/java/com/drinkool/services/EateryService.java @@ -2,6 +2,7 @@ package com.drinkool.services; import com.drinkool.InternalValue; import com.drinkool.Role; +import com.drinkool.controllers.AccountController; import com.drinkool.dtos.AddMenuItem; import com.drinkool.dtos.DtoMapper; import com.drinkool.dtos.OrderBill; @@ -22,12 +23,14 @@ import jakarta.ws.rs.PathParam; import jakarta.ws.rs.core.Response; import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.util.UUID; import org.eclipse.microprofile.graphql.GraphQLApi; import org.eclipse.microprofile.graphql.Mutation; import org.eclipse.microprofile.graphql.Name; import org.eclipse.microprofile.graphql.Query; import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.rest.client.inject.RestClient; @ApplicationScoped @GraphQLApi @@ -40,6 +43,10 @@ public class EateryService { @Inject HttpServerRequest request; + @Inject + @RestClient + AccountController accountController; + @GET @Path("/{id}") public Response checkEateryExists(@PathParam("id") UUID id) { @@ -187,6 +194,17 @@ public class EateryService { } } - return Response.ok(new OrderBill(details, grandTotal, "")).build(); + EateryEntity eatery = EateryEntity.findById(eateryId); + + try (Response response = accountController.getManagerById(eatery.ownerId)) { + if (response.getStatus() == 200) { + Map data = response.readEntity(Map.class); + String bankNo = (String) data.get("bankAccount"); + + return Response.ok(new OrderBill(details, grandTotal, bankNo)).build(); + } + + return Response.serverError().entity(response.getEntity()).build(); + } } } diff --git a/eatery-service/src/main/resources/application.properties b/eatery-service/src/main/resources/application.properties index f499263..953717c 100644 --- a/eatery-service/src/main/resources/application.properties +++ b/eatery-service/src/main/resources/application.properties @@ -28,10 +28,12 @@ quarkus.native.additional-build-args=--future-defaults=all # Kafka %prod.mp.messaging.connector.smallrye-kafka.bootstrap.servers=${KAFKA_SERVICE_SERVICE_HOST:host.docker.internal}:9092 -mp.messaging.incoming.manager-in.connector=smallrye-in-memory ## Create restaurant topic mp.messaging.incoming.manager-in.connector=smallrye-kafka mp.messaging.incoming.manager-in.topic=create-restaurant mp.messaging.incoming.manager-in.auto.offset.reset=earliest -quarkus.messaging.kafka.serializer-generation.enabled=true \ No newline at end of file +quarkus.messaging.kafka.serializer-generation.enabled=true + +# Rest Client +quarkus.rest-client.account.url=http://account-service