2024-04-16 (86일차) - 관리자 이메일 전송, Spring Batch

·2024년 4월 16일

프로젝트

목록 보기
51/57

개인프로젝트 남은 TODOs

  1. 검색결과 없을 경우에 대한 처리
    • alert 창으로 알려주자
  2. 조건별 추천검색어에서 '카페'라는 단어가 포함되어있다면 파싱하여 제외시켜 검색시키기
  3. 카페 찜버튼 에러
    • 구조를 다시 보자

4. 관리자에게 이메일 전송시 동의체크 안하면 전송 불가 처리 해결 안됨


이메일 전송 시 한국 시간대가 아닌 문제

  • 이메일 전송시간이 다른시간으로 나온다. 영문페이지를 참고하여 가지고 복사한 스프레드시트이기 때문에, 시간대가 해당 나라로 설정된 것 같다..
  • 처음엔 Apps Script로 들어가 자바스크립트내의 시간함수에 +8시간을 처리해보았는데.. 실패
  • 코드를 만지지 않고도 더 간단한 방법이 있었음!

이렇게 설정만 해줘도, 나의 메일함에도 스프레드시트에서도 시간이 제대로 보여진다!

이메일 전송시 JSON형태가 아닌 alert 처리

  • 이메일을 전송하면 JSON으로 내가 작성한 내용이 보여진다.
  • 아래 코드를 추가하면
<script data-cfasync="false" type="text/javascript"
src="https://cdn.rawgit.com/dwyl/html-form-send-email-via-google-script-without-server/master/form-submission-handler.js"></script>

<script>
document.querySelector(".gform").addEventListener("submit", function(event) {
    var checkbox = document.getElementById("checkbox");
        // 이메일 전송 알림
        setTimeout(function() {
            alert("이메일이 성공적으로 전송되었습니다!");
            document.getElementById("submitBtn").disabled = false; // 문의하기 버튼 활성화
            document.getElementById("backBtn").disabled = false; // 뒤로가기 버튼 활성화
        }, 100); // 1초 후에 알림을 표시합니다.
  
});
</script>


이렇게 alert창이 뜨고 그대로 이메일보내기 페이지가 유지된다.


SSE

  • 브라우저 notify
  • 새 데이터 들어왔다고 알려주기만하면된다 (무분별한 호출 안함)
  • Chat__loadMore() 최초에 한번 실행은 해야한다.

OSIV

Spring Batch

프로그램 -> 기준

상호작용이 필요한가
-> 예 => 일반 웹 앱
-> 아니오 => 배치 (일괄처리) 앱
회원가입
-일반 or 배치

주에 한번씩 전체 회원들에게 광고 메일을 발송 ->배치

회원가입 후 가입인사를 메일로 발송 -> 일반

람다식
메서드를 간략화


profile
hello world

0개의 댓글