Skip to content

Commit 6646946

Browse files
committed
Department and User Service rest call methods
1 parent f7cbb4b commit 6646946

File tree

2 files changed

+34
-6
lines changed

2 files changed

+34
-6
lines changed

task-service/src/main/java/com/cevher/ms/task/TaskServiceApplication.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@
22

33
import org.springframework.boot.SpringApplication;
44
import org.springframework.boot.autoconfigure.SpringBootApplication;
5+
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
56
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
7+
import org.springframework.context.annotation.Bean;
8+
import org.springframework.web.client.RestTemplate;
69

710
@SpringBootApplication
811
@EnableEurekaClient
@@ -12,4 +15,7 @@ public static void main(String[] args) {
1215
SpringApplication.run(TaskServiceApplication.class, args);
1316
}
1417

18+
@Bean
19+
@LoadBalanced
20+
RestTemplate restTemplate(){ return new RestTemplate();}
1521
}

task-service/src/main/java/com/cevher/ms/task/service/TaskService.java

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,28 @@
22

33
import com.cevher.ms.task.domain.Task;
44
import com.cevher.ms.task.repository.TaskRepository;
5+
import com.cevher.ms.task.web.rest.DepartmentVM;
6+
import com.cevher.ms.task.web.rest.ResponseVM;
57
import com.cevher.ms.task.web.rest.UserVM;
68
import lombok.extern.slf4j.Slf4j;
79
import org.springframework.beans.factory.annotation.Autowired;
810
import org.springframework.stereotype.Service;
11+
import org.springframework.web.client.RestTemplate;
912

1013
import java.util.List;
14+
import java.util.Optional;
1115

1216
@Service
1317
@Slf4j
1418
public class TaskService {
1519
@Autowired
1620
private TaskRepository taskRepository;
21+
@Autowired
22+
RestTemplate restTemplate;
1723

1824
public List<Task> findAllTask() {
19-
log.info("findAllTask method of TaskService");
20-
return taskRepository.findAll();
25+
log.info("findAllTask method of TaskService");
26+
return taskRepository.findAll();
2127
}
2228

2329
public Task saveTask(Task task) {
@@ -30,9 +36,25 @@ public Task findByTaskId(Long id) {
3036
return taskRepository.findById(id).orElse(new Task());
3137
}
3238

33-
public Task findByTaskIdWithUserAndDepartment(Long id) {
34-
log.info("findAllTask method of TaskService");
35-
36-
return taskRepository.findById(id).orElse(new Task());
39+
public ResponseVM findByTaskIdWithUserAndDepartment(Long id) {
40+
log.info("findByTaskIdWithUserAndDepartment method of TaskService");
41+
42+
Optional<Task> task = taskRepository.findById(id);
43+
if (task.isEmpty()) {
44+
log.warn("findByTaskIdWithUserAndDepartment method of TaskService, task is empty");
45+
return null;
46+
}
47+
48+
// TODO : not for production.
49+
// TODO : We can use Message Broker for example Apache Kafka
50+
UserVM user = restTemplate.getForObject(
51+
"http://user-service/users/" + task.get().getAssignedUserId()
52+
, UserVM.class);
53+
54+
DepartmentVM department = restTemplate.getForObject(
55+
"http://department-service/departments/" + task.get().getDepartmentId()
56+
, DepartmentVM.class);
57+
ResponseVM responseVM = new ResponseVM(task.get(), user, department);
58+
return responseVM;
3759
}
3860
}

0 commit comments

Comments
 (0)