package com.madeu.batch; import com.madeu.dao.web.webkakao.WebKakaoSqlMapDAO; import com.popbill.api.KakaoService; import com.popbill.api.kakao.KakaoSentDetail; import com.popbill.api.kakao.KakaoSentInfo; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.util.HashMap; import java.util.List; import java.util.Map; @Slf4j @Component public class KakaoPopbillStateUpdateBatch { private static String corpNum; private static String userId; @Value("${popbill.corp-num}") public void setCorpNum(String value){ corpNum = value; } @Value("${popbill.user-id}") public void setUserId(String value){ userId = value; } @Autowired private WebKakaoSqlMapDAO webKakaoSqlMapDAO; @Autowired private KakaoService kakaoService; //https://blog.naver.com/lovemema/140200056062 // @Scheduled(cron = "30 0/5 * * * *") // 5분마다 실행 (30초에 실행) public void go() { log.debug("******************KakaoPopbillStateUpdateBatch START **********************************"); try{ log.debug("POPBILL_STATE, POPBILL_RESULT UPDATE START"); // KAKAO 환경설정 정보 호출 // 팝빌회원 사업자번호 // 팝빌회원 아이디 log.debug("corpNum : "+corpNum); log.debug("userId : "+userId); // 접수번호 대상자 조회 HashMap paramMap = new HashMap(); paramMap.put("popbillState", 0); List> kakaoListMap = webKakaoSqlMapDAO.selectListPopbillState(paramMap); int kakaoListMapSize = kakaoListMap.size(); log.debug("접수번호 갯수 : "+kakaoListMapSize); for(int i=0; i kakaoSentDetail = sentInfos.getMsgs(); String receiveNumber = kakaoSentDetail.get(j).getReceiveNum(); String receiveName = kakaoSentDetail.get(j).getReceiveName(); String state = String.valueOf(kakaoSentDetail.get(j).getState()); String result = String.valueOf(kakaoSentDetail.get(j).getResult()); if(("3").equals(state)) { HashMap kakaoParamMap = new HashMap(); kakaoParamMap.put("receiptNumber", receiptNumber); kakaoParamMap.put("receiveNumber", receiveNumber); kakaoParamMap.put("receiveName", receiveName); kakaoParamMap.put("popbillState", 0); kakaoParamMap.put("state", state); kakaoParamMap.put("result", result); kakaoParamMap.put("modId", "BatchSystem"); kakaoParamMap.put("templateCode", templateCode); webKakaoSqlMapDAO.updateKakaoPopbillState(kakaoParamMap); }else { /*log.debug("receiptNumber : "+receiptNumber); log.debug("sentInfos["+j+"] receiveNum : "+receiveNumber); log.debug("sentInfos["+j+"] receiveName : "+receiveName); log.debug("sentInfos["+j+"] state : "+state); log.debug("sentInfos["+j+"] result : "+result);*/ } } } log.debug("POPBILL_STATE, POPBILL_RESULT UPDATE END"); }catch(Exception e){ log.debug("Exception KakaoPopbillStateUpdateBatch - run" + e.getMessage()); } log.debug("******************KakaoPopbillStateUpdateBatch END **********************************"); } }