본문 바로가기

🚩Final Project

[뮤하비] 오라클 잡스케쥴러로 클래스 확정짓기

 

 

2021.07.27 - [🚩Final Project] - [뮤하비] 드디어! 오라클 잡스케쥴러를 통해 매일 정해진 시간에 정산 처리하기

 

[뮤하비] 드디어! 오라클 잡스케쥴러를 통해 매일 정해진 시간에 정산 처리하기

📍 문제 : 오라클 잡스케쥴러를 사용하기 이전에는 관리자가 정산을 승인해줘야 정산이 되어서 문제였다. 하고 싶은 것은 클래스가 1일에 진행됐으면 7일이 지난 8일에 자동으로 정산이 되도록

chilas-it.tistory.com

저번에는 결제금액 자동 정산 기능이었다면

이번에는 하지 못했던 자동 수업 확정기능을 구현했다.

BEGIN DBMS_SCHEDULER.CREATE_JOB ( 
    JOB_NAME => 'CONFIRM_CLASS_INSERT_JOB' 
    , START_DATE => SYSTIMESTAMP-1
    , REPEAT_INTERVAL => 'FREQ=DAILY;BYHOUR=0;BYMINUTE=0;BYSECOND=0;'
    , END_DATE => NULL 
    , JOB_CLASS => 'DEFAULT_JOB_CLASS' 
    , JOB_TYPE => 'PLSQL_BLOCK'
    , JOB_ACTION => 'BEGIN                
                        FOR DATA_ROW IN(SELECT C_OPEN_NUM FROM VIEW_FOR_CLASS_CONFIRM WHERE TRUNC(C_OPEN_DATE-SYSDATE,0)=3 AND HMP>=MIN_PP) 
                         LOOP 
                         INSERT INTO CLASS_CONFIRM VALUES(C_CONFIRM_NUM_SEQ.NEXTVAL, DATA_ROW.C_OPEN_NUM,SYSDATE); 
                         END LOOP;
                         COMMIT;
                    END;'
    , comments => '매일 00시에 현재날짜로부터 3일뒤에 진행되며 최소인원수보다 많은 인원이 신청한 클래스는 자동으로 확정회차로 등록해줌' 
    ); 
    DBMS_SCHEDULER.ENABLE('CONFIRM_CLASS_INSERT_JOB'); 
END;

매일 정각 00 시에 3일뒤에 진행되는 클래스 중에서 최소인원 이상이 신청한 클래스는

확정클래스 테이블에 넣어주도록! 처리

이제는 강사가 확정을 하지 않아도 스케쥴러에 의해 저절로 확정이 된다. 

다만 확정되지 않은 클래스의 경우에는 환불해주는 절차도 필요하다.