Skip to content
Merged

Dev #80

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
## 📌 PR 내용
- [ ] 기능 추가
- [ ] 버그 수정
- [ ] 리팩토링
- [ ] 성능 개선
- [ ] 문서 변경

### 작업 개요
<!-- 작업한 내용을 간단히 적어주세요. -->

### 변경 사항
<!-- 코드/구조 상 주요 변경점을 적어주세요. -->
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Secret properties
src/main/resources/application-secret.properties
src/main/resources/application-secret.yml

/logs/

Expand Down
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
## API 명세
<https://barum.p-e.kr/swagger-ui/index.html>

## 협업 규칙
<https://lofty-locust-f61.notion.site/244ad4e4c9a98069ab3ae711eebc31d8?source=copy_link>
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,15 @@ public TopicListDto getTopics() {
return topicService.getAllTopics();
}

@Operation(
summary = "비자 면접 카테고리 목록",
description = "비자 면접 연습을 위한 비자 카테고리 목록을 반환합니다."
)
@GetMapping("/visa_topics")
public VisaListDto getVisaTopics() {
return topicService.getVisaTopics();
}

@Operation(
summary = "채팅 시작",
description = "유저가 선택한 주제로 채팅방을 생성하고 채팅방 ID와 함께 대화 시작 메세지를 반환합니다."
Expand Down
15 changes: 15 additions & 0 deletions src/main/java/com/_data/_data/aichat/dto/VisaListDto.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package com._data._data.aichat.dto;

import lombok.Getter;
import lombok.Setter;

import java.util.List;

@Getter
@Setter
public class VisaListDto {

List<TopicDto> employmentVisa;

List<TopicDto> jobSearchingVisa;
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com._data._data.aichat.service;

import com._data._data.aichat.dto.TopicListDto;
import com._data._data.aichat.dto.VisaListDto;
import com._data._data.aichat.entity.Topic;

public interface TopicService {
Expand All @@ -9,4 +10,6 @@ public interface TopicService {
Topic getByTitle(String title);

TopicListDto getAllTopics();

VisaListDto getVisaTopics();
}
27 changes: 27 additions & 0 deletions src/main/java/com/_data/_data/aichat/service/TopicServiceImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import com._data._data.aichat.dto.TopicDto;
import com._data._data.aichat.dto.TopicListDto;
import com._data._data.aichat.dto.VisaListDto;
import com._data._data.aichat.entity.Topic;
import com._data._data.aichat.exception.TopicNotFoundException;
import com._data._data.aichat.repository.TopicRepository;
Expand Down Expand Up @@ -67,6 +68,32 @@ else if (i == 1) {
}

return topicListDto;

}

@Override
public VisaListDto getVisaTopics() {

String[] categories = {"취업 비자", "구직 비자"};

VisaListDto visaListDto = new VisaListDto();

for (int i = 0; i < categories.length; i++) {

List<Topic> topics = topicRepository.findByCategory(categories[i]);

if (i == 0) {
visaListDto.setEmploymentVisa(topics.stream()
.map(TopicServiceImpl::getTopicDto)
.collect(Collectors.toList()));
}
else {
visaListDto.setJobSearchingVisa(topics.stream()
.map(TopicServiceImpl::getTopicDto)
.collect(Collectors.toList()));
}
}

return visaListDto;
}
}
5 changes: 3 additions & 2 deletions src/main/resources/application.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ spring:
name: 00data
profiles:
include: secret
# active: dev

# Thymeleaf 설정 (HTML 템플릿용)
thymeleaf:
Expand All @@ -27,8 +28,8 @@ spring:

sql:
init:
mode: always
data-locations: classpath:dummy-data/*.sql
mode: never
# data-locations: classpath:dummy-data/*.sql

jpa:
defer-datasource-initialization: true
Expand Down
79 changes: 0 additions & 79 deletions src/main/resources/dummy-data/quiz.sql

This file was deleted.

16 changes: 16 additions & 0 deletions src/main/resources/dummy-data/topic.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
INSERT INTO topics (id, category, title, description, user_role, ai_role) VALUES
(31, '취업 비자', '교수(E-1) 비자 면접', '교수(E-1) 비자 면접에서 면접관이 면접자에게 질문하는 상황', '면접자', '면접관'),
(32, '취업 비자', '일반회화강사(E-2-1) 비자 면접', '일반회화강사(E-2-1) 비자 면접에서 면접관이 면접자에게 질문하는 상황', '면접자', '면접관'),
(33, '취업 비자', '학교보조교사(E-2-2) 비자 면접', '학교보조교사(E-2-2) 비자 면접에서 면접관이 면접자에게 질문하는 상황', '면접자', '면접관'),
(34, '취업 비자', 'FTA영어(E-2-91) 비자 면접', 'FTA영어(E-2-91) 비자 면접에서 면접관이 면접자에게 질문하는 상황', '면접자', '면접관'),
(35, '취업 비자', '연구(E-3) 비자 면접', '연구(E-3) 비자 면접에서 면접관이 면접자에게 질문하는 상황', '면접자', '면접관'),
(36, '취업 비자', '기술지도(E-4) 비자 면접', '기술지도(E-4) 비자 면접에서 면접관이 면접자에게 질문하는 상황', '면접자', '면접관'),
(37, '취업 비자', '전문직업(E-5) 비자 면접', '전문직업(E-5) 비자 면접에서 면접관이 면접자에게 질문하는 상황', '면접자', '면접관'),
(38, '취업 비자', '예술연예(E-6-1) 비자 면접', '예술연예(E-6-1) 비자 면접에서 면접관이 면접자에게 질문하는 상황', '면접자', '면접관'),
(39, '취업 비자', '호텔유흥(E-6-2) 비자 면접', '호텔유흥(E-6-2) 비자 면접에서 면접관이 면접자에게 질문하는 상황', '면접자', '면접관'),
(40, '취업 비자', '운동(E-6-3) 비자 면접', '운동(E-6-3) 비자 면접에서 면접관이 면접자에게 질문하는 상황', '면접자', '면접관'),
(41, '취업 비자', '특정활동(E-7-1) 비자 면접', '특정활동(E-7-1) 비자 면접에서 면접관이 면접자에게 질문하는 상황', '면접자', '면접관'),
(42, '취업 비자', 'FTA독립(E-7-91) 비자 면접', 'FTA독립(E-7-91) 비자 면접에서 면접관이 면접자에게 질문하는 상황', '면접자', '면접관'),
(43, '취업 비자', '특정능력(F-5-11) 비자 면접', '특정능력(F-5-11) 비자 면접에서 면접관이 면접자에게 질문하는 상황', '면접자', '면접관'),
(44, '구직 비자', '유학생(D-10) 비자 면접', '유학생(D-10) 비자 면접에서 면접관이 면접자에게 질문하는 상황', '면접자', '면접관'),
(45, '구직 비자', '해외대학 졸업 전문 인력용(E-7) 비자 면접', '해외대학 졸업 전문 인력용(E-7) 비자 면접에서 면접관이 면접자에게 질문하는 상황', '면접자', '면접관');