//package cokr.xit.biz.iup._legacy;
//
//public class DoznServiceImpl {
//
//
//    public DoznVO selectNoticeInfo(String request)
//    {
//        DoznVO data = this.doznSender.getData(request);
//
//        String orgCd = null;
//
//        if (data.getParameters() != null) {
//            orgCd = (String)data.getParameters().get("some_param");
//        }
//
//        DoznVO noticeVO = new DoznVO();
//        String errMsg = null;
//
//        String title = this.doznDAO.selectNoticeName(data);
//
//        data.setApiType("NOTICE");
//        data.setTbSeq(Integer.valueOf(this.doznDAO.c(data)));
//        data.setRequestData(request);
//        data.setOrgCd(orgCd);
//        data.setParametersJson();
//        try
//        {
//            this.doznDAO.insertApiRequest(data);
//        } catch (Exception e) {
//            log.error("insertPayResultInfo : " + e.getMessage());
//        }
//
//        if ((orgCd == null) || (orgCd.equals(""))) {
//            noticeVO = new DoznVO();
//            noticeVO.setBillerUserKey(data.getBillerUserKey());
//            noticeVO.setApiType("NOTICE");
//            noticeVO.setResCode("E402");
//            noticeVO.setMessage("청구서 조회 결과가 없습니다.");
//            noticeVO.setErrMsg("요청받은 값에 기관코드가 없습니다.");
//            noticeVO.setTbSeq(data.getTbSeq());
//
//            return noticeVO;
//        }
//
//        String consignmentYn = this.doznDAO.selectConsignmentYn(orgCd);
//        try
//        {
//            if ((consignmentYn == null) || (consignmentYn.equals("")))
//                throw new Exception("청구서 조회 DB 구분값 미등록");
//            if (consignmentYn.equals("N"))
//                noticeVO = this.doznDAO.selectNoticeInfo(data);
//            else if (consignmentYn.equals("Y")) {
//                noticeVO = this.doznDAO.selectNoticeInfoSn(data);
//            }
//
//            if (noticeVO == null)
//                throw new Exception("청구서 조회 결과가 없습니다.");
//        }
//        catch (Exception e)
//        {
//            log.error("selectNoticeInfo : " + e.getMessage());
//            noticeVO = new DoznVO();
//            noticeVO.setBillerUserKey(data.getBillerUserKey());
//            noticeVO.setApiType("NOTICE");
//            noticeVO.setResCode("E402");
//            noticeVO.setMessage("청구서 조회 결과가 없습니다.");
//            noticeVO.setErrMsg("청구서 조회 결과가 없습니다.");
//            noticeVO.setTbSeq(data.getTbSeq());
//            return noticeVO;
//        }
//
//        if (noticeVO != null)
//        {
//            noticeVO.setBillerUserKey(data.getBillerUserKey());
//            noticeVO.setApiType("NOTICE");
//            noticeVO.setResCode("OK");
//            noticeVO.setMessage("성공");
//            noticeVO.setTbSeq(data.getTbSeq());
//            noticeVO.setExpireType("D1");
//        }
//
//        if ((title == null) || (title.equals("")))
//        {
//            noticeVO = new DoznVO();
//            noticeVO.setBillerUserKey(data.getBillerUserKey());
//            noticeVO.setApiType("NOTICE");
//            noticeVO.setResCode("E402");
//            noticeVO.setMessage("청구서 조회 결과가 없습니다.");
//            noticeVO.setErrMsg("청구서 조회 결과가 없습니다.");
//            noticeVO.setTbSeq(data.getTbSeq());
//            return noticeVO;
//        }
//        noticeVO.setTitle(title);
//
//        if ((noticeVO.getUserBirth() == null) || (noticeVO.getUserBirth().equals("")) || (!(noticeVO.getUserBirth().equals(data.getUserBirth())))) {
//            noticeVO = new DoznVO();
//            noticeVO.setBillerUserKey(data.getBillerUserKey());
//            noticeVO.setApiType("NOTICE");
//            noticeVO.setResCode("E404");
//            noticeVO.setMessage("생년월일이 일치하지 않습니다.");
//            noticeVO.setErrMsg("생년월일이 일치하지 않습니다.");
//            noticeVO.setTbSeq(data.getTbSeq());
//            return noticeVO;
//        }
//
//        return noticeVO;
//    }
//
//    public DoznVO selectPrepayInfo(String request) {
//        DoznVO data = this.doznSender.getData(request);
//        String orgCd = null;
//        DoznVO noticeInfo = null;
//        DoznVO prepayVO = null;
//        if (data.getParameters() != null)
//            orgCd = (String)data.getParameters().get("some_param");
//        data.setApiType("PREPAY");
//        data.setTbSeq(Integer.valueOf(this.doznDAO.selectTbSeq(data)));
//        data.setRequestData(request);
//        data.setOrgCd(orgCd);
//        data.setParametersJson();
//        try {
//            this.doznDAO.insertApiRequest(data);
//        } catch (Exception e) {
//            this.logger.error("selectPrepayInfo : " + e.getMessage());
//        }
//        if (orgCd == null || orgCd.equals("")) {
//            prepayVO = new DoznVO();
//            prepayVO.setBillerUserKey(data.getBillerUserKey());
//            prepayVO.setApiType("PREPAY");
//            prepayVO.setResCode("E601");
//            prepayVO.setMessage("수납처리실패 - 납부요청 정보 조회 실패");
//                    prepayVO.setErrMsg("요청받은 값에 기관코드가 없습니다.");
//                            prepayVO.setTbSeq(data.getTbSeq());
//            return prepayVO;
//        }
//        Date now = new Date();
//        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
//        try {
//            String consignmentYn = this.doznDAO.selectConsignmentYn(orgCd);
//            if (consignmentYn == null || consignmentYn.equals(""))
//                throw new Exception("청구서 조회 DB 구분값 미등록");
//            if (consignmentYn.equals("N")) {
//                noticeInfo = this.doznDAO.selectNoticeInfo(data);  
//            } else if (consignmentYn.equals("Y")) {
//                noticeInfo = this.doznDAO.selectNoticeInfoSn(data);
//            }
//            if (noticeInfo != null) {  
//                if (consignmentYn.equals("N")) {   
//                    prepayVO = this.doznDAO.selectPrepayInfo(data);
//                } else if (consignmentYn.equals("Y")) {
//                   
//                    prepayVO = this.doznSender.callBillsInfoUrl(request, this.doznDAO.selectApiUrl(data));
//                    prepayVO.setApiType("PREPAY");
//                    prepayVO.setTbSeq(data.getTbSeq());
//                    return prepayVO;
//                }
//            } else {   
//                prepayVO = new DoznVO();
//                prepayVO.setBillerUserKey(data.getBillerUserKey());
//                prepayVO.setApiType("PREPAY");
//                prepayVO.setResCode("E502");
//                prepayVO.setMessage("납부불가 - 납부 대상 없음");
//                        prepayVO.setErrMsg("납부대상이 존재하지 않습니다.");
//                                prepayVO.setTbSeq(data.getTbSeq());
//                this.logger.error("selectPrepayInfo : " + prepayVO.getMessage());
//                return prepayVO;
//            }
//
//           
//            if (prepayVO != null)
//                throw new Exception("수납처리실패 - 납부요청 정보 조회 실패");
//        } catch (Exception e) {
//            this.logger.error("selectPrepayInfo : " + e.getMessage());
//            prepayVO = new DoznVO();
//            prepayVO.setBillerUserKey(data.getBillerUserKey());
//            prepayVO.setApiType("PREPAY");
//            prepayVO.setResCode("E601");
//            prepayVO.setMessage("수납처리실패 - 납부요청 정보 조회 실패");
//            prepayVO.setErrMsg("수납처리실패 - 납부요청 정보 조회 실패");
//            prepayVO.setTbSeq(data.getTbSeq());
//            return prepayVO;
//        }
//
//       
//        if (prepayVO == null) {
//            prepayVO = new DoznVO();
//            prepayVO.setBillerUserKey(data.getBillerUserKey());
//            prepayVO.setApiType("PREPAY");
//            prepayVO.setResCode("OK");
//            prepayVO.setMessage("성공");
//            prepayVO.setTbSeq(data.getTbSeq());
//        }
//        if (noticeInfo.getPayExpireDate() != null &&
//                Integer.parseInt(noticeInfo.getPayExpireDate()) < Integer.parseInt(format.format(now).replace("-", ""))) {
//            this.logger.error("selectPrepayInfo - noticeInfo.getPayExpireDate() : " + noticeInfo.getPayExpireDate());
//            prepayVO = new DoznVO();
//            prepayVO.setBillerUserKey(data.getBillerUserKey());
//            prepayVO.setApiType("PREPAY");
//            prepayVO.setResCode("E506");
//            prepayVO.setMessage("납부기한이 경과했습니다.");
//                    prepayVO.setErrMsg("납부기한이 경과하여 납부가 불가능합니다. 이용기관에 문의하세요");
//                            prepayVO.setTbSeq(data.getTbSeq());
//            return prepayVO;
//        }
//        if (noticeInfo.getAmount() == null || noticeInfo.getAmount().intValue() == 0 || !noticeInfo.getAmount().equals(data.getAmount())) {
//            prepayVO.setResCode("E403");
//            prepayVO.setMessage("납부 가능 금액이 없습니다.");
//                    prepayVO.setErrMsg("고객정보 및 금액이 일치하지 않아 납부가 불가합니다");
//                            prepayVO.setTbSeq(data.getTbSeq());
//            return prepayVO;
//        }
//        return prepayVO;
//    }
//
//
//    public DoznVO insertPayResultInfo(String request)
//    {
//        DoznVO resultVO = new DoznVO();
//
//        String orgCd = null;
//        DoznVO data = null;
//        try
//        {
//            data = this.doznSender.getData(request);
//            if (data.getParameters() != null)
//                orgCd = (String)data.getParameters().get("some_param");
//        }
//        catch (Exception consignmentYn)
//        {
//            log.error("FAILED TO PARSE DoznVO : " + request);
//            log.error("insertPayResultInfo : " + consignmentYn.getMessage());
//        }
//        finally {
//            data.setApiType("PAY_RESULT");
//            data.setTbSeq(Integer.valueOf(this.doznDAO.selectTbSeq(data)));
//            data.setRequestData(request);
//            data.setOrgCd(orgCd);
//            data.setParametersJson();
//            try
//            {
//                this.doznDAO.insertApiRequest(data);
//            } catch (Exception e) {
//                log.error("insertPayResultInfo : " + e.getMessage());
//            }
//
//            resultVO.setBillerUserKey(data.getBillerUserKey());
//            resultVO.setApiType("PAY_RESULT");
//            resultVO.setResCode("OK");
//            resultVO.setMessage("성공");
//            resultVO.setTbSeq(data.getTbSeq());
//
//            if (data.getBillerUserKey().substring(0, 2).equals("EL")) {
//                data.setJobSe("2");
//            }
//            else {
//                data.setJobSe("1");
//            }
//
//            this.doznDAO.insertPayResultInfo(data);
//
//            String consignmentYn = this.doznDAO.selectConsignmentYn(orgCd);
//            if (consignmentYn.equals("Y"))
//            {
//                try {
//                    resultVO = this.doznSender.callBillsInfoUrl(request, this.doznDAO.selectApiUrl(data));
//                    resultVO.setApiType("PAY_RESULT");
//                    resultVO.setTbSeq(data.getTbSeq());
//                } catch (Exception e) {
//                    log.error("insertPayResultInfo : " + e.getMessage());
//                    resultVO.setResCode("SYSERR");
//                    resultVO.setMessage(orgCd + "(orgCd) 기관과의 통신 오류");
//                    resultVO.setApiType("PAY_RESULT");
//                    resultVO.setTbSeq(data.getTbSeq());
//                }
//
//                return resultVO; }
//            if ((consignmentYn == null) || (consignmentYn.equals(""))) {
//                resultVO.setResCode("SYSERR");
//                resultVO.setMessage("위탁업체여부 구분값 미등록");
//                resultVO.setApiType("PAY_RESULT");
//                resultVO.setTbSeq(data.getTbSeq());
//            }
//        }
//
//        return resultVO;
//    }
//
//    public String updateApiResponse(DoznVO doznVO)
//    {
//        doznVO.setResponseData(this.doznSender.simpleResponse(doznVO));
//        try
//        {
//            this.doznDAO.updateApiResponse(doznVO);
//        } catch (Exception e) {
//            log.error("insertPayResultInfo : " + e.getMessage());
//        }
//
//        return doznVO.getResponseData();
//    }
//}
