1212import com .stackup .stackup .session .application .event .SessionEndedEvent ;
1313import com .stackup .stackup .session .domain .InterviewSession ;
1414import com .stackup .stackup .session .domain .InterviewSessionRepository ;
15+ import com .stackup .stackup .session .domain .JobCategory ;
1516import com .stackup .stackup .session .domain .SessionContext ;
1617import com .stackup .stackup .session .domain .SessionContextRepository ;
1718import com .stackup .stackup .user .domain .User ;
1819import com .stackup .stackup .user .domain .UserRepository ;
1920import java .util .ArrayList ;
2021import java .util .LinkedHashSet ;
2122import java .util .List ;
23+ import java .util .stream .Collectors ;
2224import lombok .RequiredArgsConstructor ;
2325import org .springframework .context .ApplicationEventPublisher ;
2426import org .springframework .data .domain .Page ;
@@ -49,7 +51,7 @@ public SessionResult create(Long userId, SessionCreateCommand command) {
4951 title ,
5052 command .memo (),
5153 command .mode (),
52- command .jobCategory (),
54+ command .jobCategories (),
5355 command .maxQuestions (),
5456 command .maxDurationMinutes (),
5557 command .generalQuestionCount (),
@@ -63,7 +65,7 @@ public SessionResult create(Long userId, SessionCreateCommand command) {
6365 userId ,
6466 session .getId (),
6567 session .getMode (),
66- session . getJobCategory (),
68+ command . jobCategories (),
6769 session .getMaxQuestions (),
6870 session .getGeneralQuestionCount (),
6971 linkedIds
@@ -146,14 +148,17 @@ public SessionResult updateMeta(Long userId, Long sessionId, String title, Strin
146148 return SessionResult .of (session , contextDocumentIds (sessionId ));
147149 }
148150
149- // 제목 미입력 시 모드+직군으로 규칙 기반 제목 생성 (예: "백엔드 기술 면접").
151+ // 제목 미입력 시 모드+직군으로 규칙 기반 제목 생성 (예: "프론트엔드· 백엔드 기술 면접").
150152 // 히스토리에서 "면접 #id" 대신 의미 있는 제목을 보이게 한다.
151153 private String resolveTitle (SessionCreateCommand command ) {
152154 String title = command .title ();
153155 if (title != null && !title .isBlank ()) {
154156 return title ;
155157 }
156- return command .jobCategory ().koreanLabel () + " " + command .mode ().koreanLabel ();
158+ String jobs = command .jobCategories ().stream ()
159+ .map (JobCategory ::koreanLabel )
160+ .collect (Collectors .joining ("·" ));
161+ return jobs + " " + command .mode ().koreanLabel ();
157162 }
158163
159164 private User loadUser (Long userId ) {
0 commit comments