• Y
  • List All
  • Feedback
    • This Project
    • All Projects
Profile Account settings Log out
  • Favorite
  • Project
  • All
Loading...
  • Log in
  • Sign up
chominsoo4245 / mjon_git star
Forked from hylee / mjon_git
  • Project homeH
  • CodeC
  • IssueI
  • Pull requestP
  • Review R
  • MilestoneM
  • BoardB
  • Files
  • Commit
  • Branches
mjon_gitsrcmainjavaitnletutluserserviceCheckNoServiceCommon.java
Download as .zip file
File name
Commit message
Commit date
DATABASE
mjon_git
2023-06-12
src/main
Merge branch 'advc' of http://hylee@vcs.iten.co.kr:9999/hylee/mjon_git into advc
2024-11-05
.codetogether.ignore
mjon_git
2023-06-12
.gitignore
gitignore 적용
2023-06-12
pom.xml
롬복 추가 , [사용자] 결제관리 > 요금 사용내역 ==> 사용금액 표시 방법 변경 완료
2024-07-09
File name
Commit message
Commit date
java
Merge branch 'advc' of http://hylee@vcs.iten.co.kr:9999/hylee/mjon_git into advc
2024-11-05
resources
Merge branch 'advc' of http://hylee@vcs.iten.co.kr:9999/hylee/mjon_git into advc
2024-11-05
webapp
Merge branch 'advc' of http://hylee@vcs.iten.co.kr:9999/hylee/mjon_git into advc
2024-11-05
File name
Commit message
Commit date
egovframework
mjon_git
2023-06-12
itn
Merge branch 'advc' of http://hylee@vcs.iten.co.kr:9999/hylee/mjon_git into advc
2024-11-05
File name
Commit message
Commit date
com
발송 진행중
2024-10-11
let
Merge branch 'advc' of http://hylee@vcs.iten.co.kr:9999/hylee/mjon_git into advc
2024-11-05
web
메인메뉴 및 사이트맵에서 선거 후보자 정보가 없는 경우 선거문자 메뉴가 안보이도록 처리
2024-02-08
File name
Commit message
Commit date
cop
이용약관 및 개인정보 내용 수정
2024-10-28
crypto/web
mjon_git
2023-06-12
fax
주소록 수정중
2024-09-09
hangulparser
mjon_git
2023-06-12
kakao
Merge branch 'advc' of http://hylee@vcs.iten.co.kr:9999/hylee/mjon_git into advc
2024-11-05
komoran
mjon_git
2023-06-12
lett
선택한 그림문자의 우선선위 변경 기능 추가
2023-09-05
mail
문자발송로직 impl 화 완료 -> 리펙토링 진행 중
2024-09-27
main
이준호 문자온 커밋 - IP 받아오는 방식 수정
2023-07-28
mjo
Merge branch 'advc' of http://hylee@vcs.iten.co.kr:9999/hylee/mjon_git into advc
2024-11-05
module/base
금액 포인트 class 수정
2024-07-08
org
mjon_git
2023-06-12
schdlr/service
스케줄러 오류관련 로그 추가
2024-11-05
sec
mjon_git
2023-06-12
solr
mjon_git
2023-06-12
sts
mjon_git
2023-06-12
sym
이용약관 관련 기능 수정
2024-11-05
uat
Merge branch 'master' of http://hylee@vcs.iten.co.kr:9999/hylee/mjon_git into advc
2024-09-10
uss
Merge branch 'advc' of http://hylee@vcs.iten.co.kr:9999/hylee/mjon_git into advc
2024-11-05
utl
회원 이메일 발송 건수 15분 단위로 기존 200건 -> 500건으로 변경
2024-10-25
File name
Commit message
Commit date
fcc/service
mjon_git
2023-06-12
log4j
mjon_git
2023-06-12
sim/service
이준호 문자온 커밋 - IP 받아오는 방식 수정
2023-07-28
user/service
회원 이메일 발송 건수 15분 단위로 기존 200건 -> 500건으로 변경
2024-10-25
File name
Commit message
Commit date
CheckBoardUtil.java
mjon_git
2023-06-12
CheckFileUtil.java
mjon_git
2023-06-12
CheckLoginUtil.java
mjon_git
2023-06-12
CheckNoServiceCommon.java
mjon_git
2023-06-12
MjonNoticeSendUtil.java
회원 이메일 발송 건수 15분 단위로 기존 200건 -> 500건으로 변경
2024-10-25
MjonSmsCertSendUtil.java
문자온 대표번호 변경으로 인한 15518011 으로 변경
2024-07-31
SecuKeyUtil.java
mjon_git
2023-06-12
hylee 2023-06-12 e2842cb mjon_git UNIX
Raw Open in browser Change history
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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<bookInfoArray.size(); i++){ System.out.println("=BOOK_"+i+" ==========================================="); //배열 안에 있는것도 JSON형식 이기 때문에 JSON Object 로 추출 JSONObject bookObject = (JSONObject) bookInfoArray.get(i); //JSON name으로 추출 System.out.println("bookInfo: name==>"+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<personInfoArray.size(); i++){ System.out.println("=PERSON_"+i+" ==========================================="); JSONObject personObject = (JSONObject) personInfoArray.get(i); System.out.println("personInfo: name==>"+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<p_element.size();i++) { Element f_ele = p_element.get(i); if (f_ele.select("th").text().indexOf(p_findData)>-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<p_els.size();i++) { if (!"".equals(p_els.get(i).text())) { s_ret = p_els.get(i).text(); } } return s_ret; } //rest api 데이터 가져오기 private void jsonBizNoParser(String p_parserData) throws Exception { try { System.out.println("p_parserData"); System.out.println(p_parserData); System.out.println("p_parserData"); 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<bookInfoArray.size(); i++){ System.out.println("=BOOK_"+i+" ==========================================="); //배열 안에 있는것도 JSON형식 이기 때문에 JSON Object 로 추출 JSONObject bookObject = (JSONObject) bookInfoArray.get(i); //JSON name으로 추출 System.out.println("bookInfo: name==>"+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<personInfoArray.size(); i++){ System.out.println("=PERSON_"+i+" ==========================================="); JSONObject personObject = (JSONObject) personInfoArray.get(i); System.out.println("personInfo: name==>"+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(); } } }

          
        
    
    
Copyright Yona authors & © NAVER Corp. & NAVER LABS Supported by NAVER CLOUD PLATFORM

or
Sign in with github login with Google Sign in with Google
Reset password | Sign up