package itn.let.utl.user.service; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; import java.util.HashMap; import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import com.fasterxml.jackson.databind.ObjectMapper; import itn.let.kakao.kakaoComm.KakaoVO; @Component public class CheckNoServiceCommon{ /** 비즈 회원 아이디 */ @Value("#{globalSettings['Globals.mjon.biz.id']}") private String mjonBizId; /** 비즈 회원 API 키*/ @Value("#{globalSettings['Globals.mjon.biz.kakao.apiKey']}") private String mjonBizKakaoApiKey; /** 비즈 JSON 파일저장 경로*/ @Value("#{globalSettings['Globals.mjon.kakao.dir']}") private String mjonBizJsonDir; /** * @param kakaoVO * @return * 국세청 사업자등록번호 상태 조회 * I : 사업자 등록 번호 - b_no * O : 납세자상태(코드) * b_stt_cd string * default: 01 * xml: OrderedMap { "name": "BSttCd" } * 납세자상태(코드): * 01: 계속사업자, * 02: 휴업자, * 03: 폐업자 * https://www.data.go.kr/data/15081808/openapi.do#/%EC%82%AC%EC%97%85%EC%9E%90%EB%93%B1%EB%A1%9D%20%EC%83%81%ED%83%9C%EC%A1%B0%ED%9A%8C%20API/status */ public KakaoVO BizNoCheckApiEx2( KakaoVO kakaoVO , String p_b_no //사업자등록번호 , String p_b_nm //업체명 , String p_p_nm //대표자명 ) { int responscCode = 0; String s_ret = ""; try { String sendUrl = "https://kapi.ppurio.com"; sendUrl = "https://api.odcloud.kr/api/nts-businessman/v1/status?serviceKey=R3ueuGhIUlsnCPeJKxKaxlpoEPPmkkL%2BOaDLvOyggrXtHPuxbWIUtlxAwnzhgUq1Hx%2Fc3gpbi%2BoLUq2Dt6rHBg%3D%3D"; String[] s_arr = {p_b_no}; HashMap resultMap = new HashMap(); resultMap.put("b_no", s_arr); //파라미터 설정 ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(resultMap); //convert map to JSON String(JSON으로 변환) System.out.println("json"); System.out.println(json); System.out.println("json"); //step1.상태조회 String msgMap = statusREST(sendUrl, json); s_ret = this.jsonParser4Status(msgMap); //"" : 오류, "01"-부가가치세 일반관세자 String[] s_arr_ret = s_ret.split("[|]"); if (s_arr_ret.length==2) { if (!s_arr_ret[0].equals("01")) { kakaoVO.setBizReturnCode("101"); //kakaoVO.setBizReturnCode(Integer.parseInt(s_arr_ret[0])); kakaoVO.setBizReturnMsg(s_arr_ret[1]); return kakaoVO; } }else { kakaoVO.setBizReturnCode("102"); kakaoVO.setBizReturnMsg("알수없는오류(S1)"); return kakaoVO; } //step2.bizno 결과 clawling - 설립일 가져오기 sendUrl = "https://www.bizno.net/article/"+p_b_no; //sendUrl = "https://www.bizno.net/article/6538700857"; Document doc = null; Elements e_els = null; try { doc = this.bizNoCrawling(sendUrl); e_els = this.extractElements(doc, "div.details div.titles"); s_ret = this.printElements(e_els); }catch(Exception ex) { s_ret = ""; } System.out.println("s_ret"); System.out.println(s_ret); if ("".equals(s_ret)) { kakaoVO.setBizReturnCode("201"); kakaoVO.setBizReturnMsg("알수없는오류(B1)"); return kakaoVO; } e_els = this.extractElements(doc, "div.details table tbody tr"); s_ret = this.findElementsData(e_els, "설립일").replaceAll("-", ""); if ("".equals(s_ret)) { kakaoVO.setBizReturnCode("202"); kakaoVO.setBizReturnMsg("알수없는오류(B2)"); return kakaoVO; } //step3.진위확인 resultMap.put("b_no", p_b_no); //파라미터 설정 resultMap.put("start_dt", s_ret); //개업일자 resultMap.put("p_nm", p_p_nm); //대표자명 resultMap.put("b_nm", p_b_nm); //회사명 sendUrl = "https://api.odcloud.kr/api/nts-businessman/v1/validate?serviceKey=R3ueuGhIUlsnCPeJKxKaxlpoEPPmkkL%2BOaDLvOyggrXtHPuxbWIUtlxAwnzhgUq1Hx%2Fc3gpbi%2BoLUq2Dt6rHBg%3D%3D"; HashMap resultMapVal = new HashMap(); //ObjectMapper mapper = new ObjectMapper(); json = mapper.writeValueAsString(resultMap); //convert map to JSON String(JSON으로 변환) System.out.println("json"); Object[] s_arr_val = {resultMap}; //String[] s_arr = {"6538700858"}; System.out.println(json); System.out.println("json"); resultMapVal.put("businesses", s_arr_val); //파라미터 설정 json = mapper.writeValueAsString(resultMapVal); //convert map to JSON String(JSON으로 변환) System.out.println("jsonVal"); System.out.println(json); System.out.println("jsonVal"); msgMap = this.validateREST(sendUrl, json); s_ret = this.jsonParser4Validate(msgMap); String[] s_arr_ret_2 = s_ret.split("[|]"); System.out.println("s_arr_ret_2[0]"); System.out.println(s_arr_ret_2[0]); System.out.println(s_arr_ret_2[1]); if (s_arr_ret_2.length==2) { if (!s_arr_ret_2[0].equals("01")) { kakaoVO.setBizReturnCode("301"); kakaoVO.setBizReturnMsg(s_arr_ret_2[1]); return kakaoVO; } }else { kakaoVO.setBizReturnCode("302"); kakaoVO.setBizReturnMsg("알수없는오류(V)"); return kakaoVO; } //kakaoVO.setBizReturnCode(Integer.parseInt(s_arr_ret_2[0])); kakaoVO.setBizReturnCode(s_arr_ret_2[0]); kakaoVO.setBizReturnMsg(s_arr_ret_2[1]); } catch (Exception e) { e.printStackTrace(); //kakaoVO.setBizReturnCode(-1); kakaoVO.setBizReturnCode("-1"); } return kakaoVO; } /** * @param kakaoVO * @return * 국세청 사업자등록번호 상태 조회 * I : 사업자 등록 번호 - b_no * O : 납세자상태(코드) * b_stt_cd string * default: 01 * xml: OrderedMap { "name": "BSttCd" } * 납세자상태(코드): * 01: 계속사업자, * 02: 휴업자, * 03: 폐업자 * https://www.data.go.kr/data/15081808/openapi.do#/%EC%82%AC%EC%97%85%EC%9E%90%EB%93%B1%EB%A1%9D%20%EC%83%81%ED%83%9C%EC%A1%B0%ED%9A%8C%20API/status */ public KakaoVO BizNoCheckApiEx3( KakaoVO kakaoVO , String p_b_no //사업자등록번호 , String p_b_nm //업체명 , String p_p_nm //대표자명 , String p_start_dt //설립일(개업일) ) { int responscCode = 0; String s_ret = ""; try { String sendUrl = "https://kapi.ppurio.com"; sendUrl = "https://api.odcloud.kr/api/nts-businessman/v1/status?serviceKey=R3ueuGhIUlsnCPeJKxKaxlpoEPPmkkL%2BOaDLvOyggrXtHPuxbWIUtlxAwnzhgUq1Hx%2Fc3gpbi%2BoLUq2Dt6rHBg%3D%3D"; HashMap resultMap = new HashMap(); //step3.진위확인 resultMap.put("b_no", p_b_no); //파라미터 설정 resultMap.put("start_dt", p_start_dt); //개업일자 resultMap.put("p_nm", p_p_nm); //대표자명 resultMap.put("b_nm", p_b_nm); //회사명 sendUrl = "https://api.odcloud.kr/api/nts-businessman/v1/validate?serviceKey=R3ueuGhIUlsnCPeJKxKaxlpoEPPmkkL%2BOaDLvOyggrXtHPuxbWIUtlxAwnzhgUq1Hx%2Fc3gpbi%2BoLUq2Dt6rHBg%3D%3D"; HashMap resultMapVal = new HashMap(); ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(resultMap); //convert map to JSON String(JSON으로 변환) System.out.println("json"); Object[] s_arr_val = {resultMap}; //String[] s_arr = {"6538700858"}; System.out.println(json); System.out.println("json"); resultMapVal.put("businesses", s_arr_val); //파라미터 설정 json = mapper.writeValueAsString(resultMapVal); //convert map to JSON String(JSON으로 변환) System.out.println("jsonVal"); System.out.println(json); System.out.println("jsonVal"); String msgMap = this.validateREST(sendUrl, json); s_ret = this.jsonParser4Validate(msgMap); String[] s_arr_ret_2 = s_ret.split("[|]"); System.out.println("s_arr_ret_2[0]"); System.out.println(s_arr_ret_2[0]); System.out.println(s_arr_ret_2[1]); if (s_arr_ret_2.length==2) { if (!s_arr_ret_2[0].equals("01")) { kakaoVO.setBizReturnCode("301"); kakaoVO.setBizReturnMsg(s_arr_ret_2[1]); return kakaoVO; } }else { kakaoVO.setBizReturnCode("302"); kakaoVO.setBizReturnMsg("알수없는오류(V)"); return kakaoVO; } //kakaoVO.setBizReturnCode(Integer.parseInt(s_arr_ret_2[0])); kakaoVO.setBizReturnCode(s_arr_ret_2[0]); kakaoVO.setBizReturnMsg(s_arr_ret_2[1]); } catch (Exception e) { e.printStackTrace(); //kakaoVO.setBizReturnCode(-1); kakaoVO.setBizReturnCode("-1"); } return kakaoVO; } /** * @param kakaoVO * @return * 국세청 사업자등록번호 상태 조회 * I : 사업자 등록 번호 - b_no * O : 납세자상태(코드) * b_stt_cd string * default: 01 * xml: OrderedMap { "name": "BSttCd" } * 납세자상태(코드): * -1:알수없는 오류 * 0:국세청에 등록되지 않은 사업자등록번호입니다. * 01: 계속사업자, * 02: 휴업자, * 03: 폐업자 * https://www.data.go.kr/data/15081808/openapi.do#/%EC%82%AC%EC%97%85%EC%9E%90%EB%93%B1%EB%A1%9D%20%EC%83%81%ED%83%9C%EC%A1%B0%ED%9A%8C%20API/status */ public KakaoVO BizNoAPICheckStep1( KakaoVO kakaoVO , String p_b_no //사업자등록번호 ) { //int responscCode = 0; String s_ret = ""; try { String sendUrl = "https://kapi.ppurio.com"; sendUrl = "https://api.odcloud.kr/api/nts-businessman/v1/status?serviceKey=R3ueuGhIUlsnCPeJKxKaxlpoEPPmkkL%2BOaDLvOyggrXtHPuxbWIUtlxAwnzhgUq1Hx%2Fc3gpbi%2BoLUq2Dt6rHBg%3D%3D"; String[] s_arr = {p_b_no}; HashMap resultMap = new HashMap(); resultMap.put("b_no", s_arr); //파라미터 설정 ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(resultMap); //convert map to JSON String(JSON으로 변환) //System.out.println("json"); //System.out.println(json); //System.out.println("json"); //step1.상태조회 String msgMap = statusREST(sendUrl, json); s_ret = this.jsonParser4Status(msgMap); //"" : 오류, "01"-부가가치세 일반관세자 String[] s_arr_ret = s_ret.split("[|]"); if (s_arr_ret.length==2) { if ("".equals(s_arr_ret[0])) { kakaoVO.setBizReturnCode("0"); kakaoVO.setBizReturnMsg(s_arr_ret[1]); }else { //kakaoVO.setBizReturnCode(Integer.parseInt(s_arr_ret[0])); kakaoVO.setBizReturnCode(s_arr_ret[0]); kakaoVO.setBizReturnMsg(s_arr_ret[1]); } }else { kakaoVO.setBizReturnCode("-2"); kakaoVO.setBizReturnMsg("알수없는오류(S2)"); //구문오류 System.out.println("알수없는오류(S2)"); //return kakaoVO; } } catch (Exception e) { e.printStackTrace(); kakaoVO.setBizReturnCode("-1"); kakaoVO.setBizReturnMsg("알수없는오류(S1)"); //구문오류 System.out.println("알수없는오류(S1)"); } return kakaoVO; } /** * @param kakaoVO * @return * 국세청 사업자등록번호 상태 조회 * I : 사업자 등록 번호 - b_no * O : 납세자상태(코드) * b_stt_cd string * default: 01 * xml: OrderedMap { "name": "BSttCd" } * 납세자상태(코드): * STEP1. valid : * 01 - 확인 가능 * 02 - 확인할 수 없습니다. * 00 - 알수없는오류(0V) * * STEP2. 사업자등록번호 확인 : * * -1:알수없는 오류 * 0:국세청에 등록되지 않은 사업자등록번호입니다. * 11: 계속사업자, * 12: 휴업자, * 13: 폐업자 * https://www.data.go.kr/data/15081808/openapi.do#/%EC%82%AC%EC%97%85%EC%9E%90%EB%93%B1%EB%A1%9D%20%EC%83%81%ED%83%9C%EC%A1%B0%ED%9A%8C%20API/status */ public KakaoVO BizNoAPICheckStep3( KakaoVO kakaoVO , String p_b_no //사업자등록번호 , String p_b_nm //업체명 , String p_p_nm //대표자명 , String p_start_dt //설립일(개업일) ) { int responscCode = 0; String s_ret = ""; try { String sendUrl = "https://kapi.ppurio.com"; sendUrl = "https://api.odcloud.kr/api/nts-businessman/v1/status?serviceKey=R3ueuGhIUlsnCPeJKxKaxlpoEPPmkkL%2BOaDLvOyggrXtHPuxbWIUtlxAwnzhgUq1Hx%2Fc3gpbi%2BoLUq2Dt6rHBg%3D%3D"; HashMap resultMap = new HashMap(); //step3.진위확인 resultMap.put("b_no", p_b_no); //파라미터 설정 resultMap.put("start_dt", p_start_dt); //개업일자 resultMap.put("p_nm", p_p_nm); //대표자명 resultMap.put("b_nm", p_b_nm); //회사명 sendUrl = "https://api.odcloud.kr/api/nts-businessman/v1/validate?serviceKey=R3ueuGhIUlsnCPeJKxKaxlpoEPPmkkL%2BOaDLvOyggrXtHPuxbWIUtlxAwnzhgUq1Hx%2Fc3gpbi%2BoLUq2Dt6rHBg%3D%3D"; HashMap resultMapVal = new HashMap(); ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(resultMap); //convert map to JSON String(JSON으로 변환) System.out.println("json"); Object[] s_arr_val = {resultMap}; //String[] s_arr = {"6538700858"}; System.out.println(json); System.out.println("json"); resultMapVal.put("businesses", s_arr_val); //파라미터 설정 json = mapper.writeValueAsString(resultMapVal); //convert map to JSON String(JSON으로 변환) System.out.println("jsonVal"); System.out.println(json); System.out.println("jsonVal"); String msgMap = this.validateREST(sendUrl, json); s_ret = this.jsonParser4ValidSttCD(msgMap); System.out.println("s_ret========"); System.out.println(s_ret); System.out.println(s_ret); String[] s_arr_ret_2 = s_ret.split("[|]"); System.out.println("s_arr_ret_2[0]"); System.out.println(s_arr_ret_2.length); System.out.println(s_arr_ret_2[0]); System.out.println(s_arr_ret_2[1]); System.out.println(s_arr_ret_2[2]); System.out.println("s_arr_ret_2[0]"); if (s_arr_ret_2.length==3) { if (s_arr_ret_2[0].equals("01")) { if (s_arr_ret_2[1].equals("01")) { kakaoVO.setBizReturnCode("11"); kakaoVO.setBizReturnMsg(s_arr_ret_2[2]); }else if (s_arr_ret_2[1].equals("02")) { kakaoVO.setBizReturnCode("12"); kakaoVO.setBizReturnMsg(s_arr_ret_2[2]); }else if (s_arr_ret_2[1].equals("03")) { kakaoVO.setBizReturnCode("13"); kakaoVO.setBizReturnMsg(s_arr_ret_2[2]); }else { //kakaoVO.setBizReturnCode(Integer.parseInt(s_arr_ret_2[1])); kakaoVO.setBizReturnCode(s_arr_ret_2[1]); kakaoVO.setBizReturnMsg(s_arr_ret_2[2]); } }else { //kakaoVO.setBizReturnCode(Integer.parseInt(s_arr_ret_2[0])); kakaoVO.setBizReturnCode(s_arr_ret_2[0]); kakaoVO.setBizReturnMsg(s_arr_ret_2[2]); } }else { //kakaoVO.setBizReturnCode(4); kakaoVO.setBizReturnCode("4"); kakaoVO.setBizReturnMsg("검증실패(V4)"); return kakaoVO; } //kakaoVO.setBizReturnCode(Integer.parseInt(s_arr_ret_2[0])); //kakaoVO.setBizReturnMsg(s_arr_ret_2[1]); } catch (Exception e) { e.printStackTrace(); kakaoVO.setBizReturnCode("-1"); kakaoVO.setBizReturnMsg("검증실패(V-1)"); } return kakaoVO; } ///////////////////////////////////////////////////////////////////////////// //rest api 데이터 가져오기 - 상태조회 private String statusREST(String sendUrl, String jsonValue) throws IllegalStateException { String inputLine = null; StringBuffer outResult = new StringBuffer(); try{ //logger.debug("REST API Start"); System.out.println("REST API Start"); URL url = new URL(sendUrl); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setDoOutput(true); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/json"); conn.setRequestProperty("Accept-Charset", "UTF-8"); conn.setConnectTimeout(10000); conn.setReadTimeout(10000); OutputStream os = conn.getOutputStream(); os.write(jsonValue.getBytes("UTF-8")); os.flush(); System.out.println(jsonValue.getBytes("UTF-8").toString()); // 리턴된 결과 읽기 BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8")); while ((inputLine = in.readLine()) != null) { outResult.append(inputLine); System.out.println(inputLine); } conn.disconnect(); System.out.println("REST API End"); //logger.debug("REST API End"); }catch(Exception e){ // logger.error(e.getMessage(), e); e.printStackTrace(); } System.out.println("outResult.toString()"); System.out.println(outResult.toString()); System.out.println("outResult.toString()"); return outResult.toString(); } //rest api 데이터 가져오기 private String jsonParser4Status(String p_parserData) throws Exception { String s_ret = ""; try { JSONParser jsonParser = new JSONParser(); //JSON데이터를 넣어 JSON Object 로 만들어 준다. JSONObject jsonObject = (JSONObject) jsonParser.parse(p_parserData); //books의 배열을 추출 JSONArray bookInfoArray = (JSONArray) jsonObject.get("data"); System.out.println("* DATAS *"); /* for(int i=0; i"+bookObject.get("b_no")); System.out.println("bookInfo: writer==>"+bookObject.get("b_stt")); System.out.println("bookInfo: price==>"+bookObject.get("b_stt_cd")); System.out.println("bookInfo: genre==>"+bookObject.get("tax_type")); System.out.println("bookInfo: publisher==>"+bookObject.get("tax_type_cd")); } */ if (bookInfoArray.size()>0) { //배열 안에 있는것도 JSON형식 이기 때문에 JSON Object 로 추출 JSONObject bookObject = (JSONObject) bookInfoArray.get(0); s_ret = (String)bookObject.get("b_stt_cd")+"|"+(String)bookObject.get("tax_type"); } /* JSONArray personInfoArray = (JSONArray) jsonObject.get("persons"); System.out.println("\r\n* PERSONS *"); for(int i=0; i"+personObject.get("name")); System.out.println("personInfo: age==>"+personObject.get("age")); System.out.println("personInfo: gender==>"+personObject.get("gender")); System.out.println("personInfo: nickname==>"+personObject.get("nickname")); } */ }catch(Exception ex) { //} catch (ParseException e) { // TODO Auto-generated catch block s_ret = "|알수없는오류(4S)"; ex.printStackTrace(); } System.out.println("s_ret"); System.out.println(s_ret); System.out.println(s_ret); return s_ret; } //rest api 데이터 가져오기 - 진위확인 private String validateREST(String sendUrl, String jsonValue) throws IllegalStateException { String inputLine = null; StringBuffer outResult = new StringBuffer(); try{ //logger.debug("REST API Start"); System.out.println("REST API Start"); URL url = new URL(sendUrl); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setDoOutput(true); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/json"); conn.setRequestProperty("Accept-Charset", "UTF-8"); conn.setConnectTimeout(10000); conn.setReadTimeout(10000); OutputStream os = conn.getOutputStream(); os.write(jsonValue.getBytes("UTF-8")); os.flush(); System.out.println(jsonValue.getBytes("UTF-8").toString()); // 리턴된 결과 읽기 BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8")); while ((inputLine = in.readLine()) != null) { outResult.append(inputLine); System.out.println(inputLine); } conn.disconnect(); System.out.println("REST API End"); //logger.debug("REST API End"); }catch(Exception e){ // logger.error(e.getMessage(), e); e.printStackTrace(); } System.out.println("outResult.toString()"); System.out.println(outResult.toString()); System.out.println("outResult.toString()"); return outResult.toString(); } //rest api 데이터 가져오기 private String jsonParser4Validate(String p_parserData) throws Exception { String s_ret = ""; try { JSONParser jsonParser = new JSONParser(); //JSON데이터를 넣어 JSON Object 로 만들어 준다. JSONObject jsonObject = (JSONObject) jsonParser.parse(p_parserData); //books의 배열을 추출 JSONArray bookInfoArray = (JSONArray) jsonObject.get("data"); if (bookInfoArray.size()>0) { //배열 안에 있는것도 JSON형식 이기 때문에 JSON Object 로 추출 JSONObject bookObject = (JSONObject) bookInfoArray.get(0); //books의 배열을 추출 JSONObject bookStatusObject = (JSONObject) bookObject.get("status"); //s_ret = (String)bookStatusObject.get("b_stt_cd")+"|"+(String)bookStatusObject.get("tax_type"); s_ret = (String)bookStatusObject.get("b_stt_cd")+"|"+(String)bookStatusObject.toString(); } }catch(Exception ex) { //} catch (ParseException e) { // TODO Auto-generated catch block ex.printStackTrace(); s_ret = "|알수없는오류(4V)"; } return s_ret; } //rest api 데이터 가져오기 /** * @param p_parserData * @return valid|stt_cd * valid - 01 정상 * 02 오류 * stt_cd - 01 - 계속사업자 * 02 - 휴업 * 03 - 폐업 * @throws Exception */ private String jsonParser4ValidSttCD(String p_parserData) throws Exception { String s_ret = ""; try { JSONParser jsonParser = new JSONParser(); //JSON데이터를 넣어 JSON Object 로 만들어 준다. JSONObject jsonObject = (JSONObject) jsonParser.parse(p_parserData); //books의 배열을 추출 JSONArray bookInfoArray = (JSONArray) jsonObject.get("data"); if (bookInfoArray.size()>0) { //배열 안에 있는것도 JSON형식 이기 때문에 JSON Object 로 추출 JSONObject bookObject = (JSONObject) bookInfoArray.get(0); s_ret = (String)bookObject.get("valid"); if ("01".equals(s_ret)) { //books의 배열을 추출 JSONObject bookStatusObject = (JSONObject) bookObject.get("status"); //s_ret = (String)bookStatusObject.get("b_stt_cd")+"|"+(String)bookStatusObject.get("tax_type"); s_ret = s_ret + "|" + (String)bookStatusObject.get("b_stt_cd") + "|" + (String)bookStatusObject.get("b_stt"); }else if ("02".equals(s_ret)) { try{ //books의 배열을 추출 String s_msg = (String) bookObject.get("valid_msg"); //s_ret = (String)bookStatusObject.get("b_stt_cd")+"|"+(String)bookStatusObject.get("tax_type"); s_ret = s_ret + "|02" + "|(국세청 : 02 - " + s_msg +")"; }catch(Exception ex) { //} catch (ParseException e) { // TODO Auto-generated catch block ex.printStackTrace(); s_ret = "00|02|(국세청 : 02 - valid_msg 없음)"; } }else{ s_ret = " |"+s_ret+"| "+s_ret; } } }catch(Exception ex) { //} catch (ParseException e) { // TODO Auto-generated catch block ex.printStackTrace(); s_ret = "00| |국세청 검증결과 데이터 파싱실패(0V)"; } return s_ret; } //rest api 데이터 가져오기 - 사이트 크롤링 private Document bizNoCrawling(String sendUrl) throws Exception { String s_url = sendUrl; Document doc = null; //Document에는 페이지의 전체 소스가 저장된다 try{ //2.페이지 호출 doc = Jsoup.connect(s_url).get(); }catch(Exception ex){ ex.printStackTrace(); } return doc; } //rest api 데이터 가져오기 - 사이트 크롤링 private Elements extractElements( Document p_doc , String p_selectQuery ) throws Exception { //3.상세 url 추출 Elements elements = p_doc.select(p_selectQuery); return elements; } //rest api 데이터 가져오기 - 사이트 크롤링 글자 찾기 private String findElementsData( Elements p_element , String p_findData ) throws Exception { //3.상세 data 값 찾기 String s_ret = ""; // SOLR 결과값 디크립트 부분 for (int i=0;i-1) { if (!"".equals(f_ele.select("td").text())) { s_ret = f_ele.select("td").text(); } } } return s_ret; } //rest api 데이터 가져오기 - 사이트 크롤링 private String printElements( Elements p_els ) throws Exception { String s_ret = ""; //3.상세 url 추출 for (int i=0;i"+bookObject.get("b_no")); System.out.println("bookInfo: writer==>"+bookObject.get("b_stt")); System.out.println("bookInfo: price==>"+bookObject.get("b_stt_cd")); System.out.println("bookInfo: genre==>"+bookObject.get("tax_type")); System.out.println("bookInfo: publisher==>"+bookObject.get("tax_type_cd")); } /* JSONArray personInfoArray = (JSONArray) jsonObject.get("persons"); System.out.println("\r\n* PERSONS *"); for(int i=0; i"+personObject.get("name")); System.out.println("personInfo: age==>"+personObject.get("age")); System.out.println("personInfo: gender==>"+personObject.get("gender")); System.out.println("personInfo: nickname==>"+personObject.get("nickname")); } */ }catch(Exception ex) { //} catch (ParseException e) { // TODO Auto-generated catch block ex.printStackTrace(); } } }