File tree Expand file tree Collapse file tree
src/main/java/sopt/comfit/report Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -14,24 +14,21 @@ public record MatchExperienceRequestDto(
1414 Long experienceId ,
1515
1616 @ NotBlank
17- @ Schema (example = "[직무 설명 (JD 원문)]\n " +
18- "\n " +
19- "CJ ENM 엔터테인먼트부문은\n " +
20- "콘텐츠 기획 및 운영 전반을 담당할 인재를 모집합니다.\n " +
21- "\n " +
22- "주요 업무\n " +
23- "- 콘텐츠 기획 및 운영 업무 지원\n " +
24- "- 디지털 콘텐츠 성과 분석 및 인사이트 도출\n " +
25- "- 유관 부서 및 외부 파트너와의 협업\n " +
26- "\n " +
27- "자격 요건\n " +
28- "- 콘텐츠 및 엔터테인먼트 산업에 대한 관심\n " +
29- "- 데이터 기반으로 문제를 분석하고 개선안을 도출한 경험\n " +
30- "- 원활한 커뮤니케이션 및 협업 능력 \n " +
31- "\n " +
32- "우대 사항\n " +
33- "- 디지털 콘텐츠 또는 마케팅 관련 프로젝트 경험\n " +
34- "- 글로벌 콘텐츠 트렌드에 대한 이해" )
17+ @ Schema (example = """
18+ 업무 내용
19+ 고객센터의 각 채널 (Call Chat Mail App) 로 유입되는 고객 문의 운영 , 관리
20+ VOC , Inquiry 분석 및 개선
21+ 신규사업, 마케팅, 이벤트 관련 고객 서비스 운영 지원
22+ 자격 요건
23+ 3년 이상의 유관업무 경력이 있는 분 또는 프로세스 수립/개선 업무 경험이 있는분
24+ 유연한 사고와 원활한 커뮤니케이션 능력이 있는 분
25+ 주말 스케줄 근무 가능하신 분 - 1~2개월마다 1회 주말 근무 (주말근무시 : 11:00~20:00(휴게포함)
26+ 우대사항
27+ 온라인 커머스 또는 배달서비스 비즈니스에 대한 이해도가 있으신 분
28+ 고객 중심의 서비스 마인드 보유하신 분
29+ 변화에 빠르게 적응 가능하신 분
30+ 일본어 가능하신 분
31+ """ )
3532 String jobDescription
3633) {
3734}
Original file line number Diff line number Diff line change 11package sopt .comfit .report .job ;
22
33import lombok .RequiredArgsConstructor ;
4+ import org .springframework .context .ApplicationEventPublisher ;
45import org .springframework .data .redis .core .StringRedisTemplate ;
56import org .springframework .stereotype .Service ;
67import org .springframework .transaction .annotation .Transactional ;
@@ -17,6 +18,7 @@ public class AIReportJobService {
1718
1819 private final AIReportJobRepository reportJobRepository ;
1920 private final StringRedisTemplate redisTemplate ;
21+ private final ApplicationEventPublisher eventPublisher ;
2022
2123 @ Transactional
2224 public Long createJob (MatchExperienceCommandDto command ) {
@@ -34,7 +36,7 @@ public Long createJob(MatchExperienceCommandDto command) {
3436
3537 reportJobRepository .save (job );
3638
37- redisTemplate . opsForList (). leftPush ( Constants . JOB_QUEUE_KEY , String . valueOf (job .getId ()));
39+ eventPublisher . publishEvent ( new JobCreatedEvent (job .getId ()));
3840
3941 return job .getId ();
4042 }
Original file line number Diff line number Diff line change 1+ package sopt .comfit .report .job ;
2+
3+ public record JobCreatedEvent (Long jobId ) {
4+ }
Original file line number Diff line number Diff line change 1+ package sopt .comfit .report .job ;
2+
3+ import lombok .RequiredArgsConstructor ;
4+ import org .springframework .data .redis .core .StringRedisTemplate ;
5+ import org .springframework .stereotype .Component ;
6+ import org .springframework .transaction .event .TransactionPhase ;
7+ import org .springframework .transaction .event .TransactionalEventListener ;
8+ import sopt .comfit .global .constants .Constants ;
9+
10+ @ Component
11+ @ RequiredArgsConstructor
12+ public class JobEventListener {
13+
14+ private final StringRedisTemplate stringRedisTemplate ;
15+
16+ @ TransactionalEventListener (phase = TransactionPhase .AFTER_COMMIT )
17+ public void handleJobCreated (JobCreatedEvent event ) {
18+ stringRedisTemplate .opsForList ().leftPush (
19+ Constants .JOB_QUEUE_KEY ,
20+ String .valueOf (event .jobId ())
21+ );
22+ }
23+ }
You can’t perform that action at this time.
0 commit comments