주석 추가

master
mjkhan21 9 months ago
parent 1a01c2887f
commit dcaa3abca3

@ -11,6 +11,9 @@ import cokr.xit.interfaces.saeol.service.bean.XmlSupport;
import lombok.Getter;
import lombok.Setter;
/**
* @author xit
*/
public class SOHNN00004 extends SaeolMessage {
@Override
protected Req00004 newRequest() {
@ -38,6 +41,25 @@ public class SOHNN00004 extends SaeolMessage {
setResponse(resp);
}
/**
* <ul><li>sid - ID</li>
* <li>bbs_se - </li>
* <li>dep_code - </li>
* <li>mw_char_dep_se - </li>
* <li>deal_state - </li>
* <li>class_sys_code - </li>
* <li>order_by_regdt - </li>
* <li>start_reg_ymd - </li>
* <li>end_reg_ymd - </li>
* <li>page_yn - </li>
* <li>from - </li>
* <li>to - </li>
* <li>link_yn - </li>
* <li>mw_appl_cn_yn - </li>
* <li>mod_dt - </li>
* </ul>
* @author xit
*/
@Getter
@Setter
public static class Req00004 extends SaeolMessage.Request {
@ -76,6 +98,9 @@ public class SOHNN00004 extends SaeolMessage {
public void validate() {}
}
/**
* @author xit
*/
@Getter
@Setter
public static class Resp00004 extends SaeolMessage.Response {
@ -84,11 +109,40 @@ public class SOHNN00004 extends SaeolMessage {
/** 상태코드 */
private String status_code;
/** .
* @return
*/
public List<Item> getResult() {
return ifEmpty(result, Collections::emptyList);
}
}
/**
* <ul><li>row_no - </li>
* <li>cnsl_qna_no - </li>
* <li>mw_cnsl_sj - </li>
* <li>reg_dt - </li>
* <li>inq_num - </li>
* <li>deal_state_nm - </li>
* <li>tot_cnt - </li>
* <li>bbs_sno - </li>
* <li>in_cnsl_qna_no - </li>
* <li>process_state - </li>
* <li>mw_char_dep_se - </li>
* <li>usr_nm - </li>
* <li>ans_answ_lmt - </li>
* <li>dep_code - </li>
* <li>cnsl_dep_nm - </li>
* <li>ans_usr_nm - </li>
* <li>bbs_se_nm - </li>
* <li>take_se_nm - </li>
* <li>file_id - id</li>
* <li>file_yn - </li>
* <li>sid - id</li>
* <li>qna_open_nm - </li>
* </ul>
* @author xit
*/
@Getter
@Setter
public static class Item {
@ -110,7 +164,7 @@ public class SOHNN00004 extends SaeolMessage {
/** 처리상태 */
private String deal_state_nm;
/** 총건수 */
private String tot_cnt;
private int tot_cnt;
/** 게시물번호 */
private String bbs_sno;
/** 내부접수번호 */
@ -143,5 +197,12 @@ public class SOHNN00004 extends SaeolMessage {
private String qna_open_nm;
@JsonIgnore
private String detail;
/** .
* @return
*/
public boolean more() {
return row_no < tot_cnt;
}
}
}

@ -13,26 +13,41 @@ import cokr.xit.interfaces.saeol.service.bean.XmlSupport;
import lombok.Getter;
import lombok.Setter;
/**
* @author xit
*/
public class SOHNN00011 extends SaeolMessage {
public static final String INF_TYPE = "011";
private ArrayList<FileInfo> fileInfos;
private ArrayList<File> converted;
/** .
* @return FileInfo
*/
public List<FileInfo> getFileInfos() {
return ifEmpty(fileInfos, Collections::emptyList);
}
/** .
* @param fileInfos
*/
public void addFileInfos(List<FileInfo> fileInfos) {
if (this.fileInfos == null)
this.fileInfos = new ArrayList<>();
this.fileInfos.addAll(fileInfos);
}
/**png jpg .
* @return jpg
*/
public List<File> getConverted() {
return ifEmpty(converted, Collections::emptyList);
}
/**png jpg .
* @param converted jpg
*/
public void addConverted(List<File> converted) {
if (this.converted == null)
this.converted = new ArrayList<>();
@ -82,6 +97,11 @@ public class SOHNN00011 extends SaeolMessage {
setResponse(resp);
}
/**
* <ul><li>cnsl_qna_no - </li>
* </ul>
* @author xit
*/
@Getter
@Setter
public static class Req00011 extends SaeolMessage.Request {
@ -92,6 +112,9 @@ public class SOHNN00011 extends SaeolMessage {
public void validate() {}
}
/**
* @author xit
*/
@Getter
@Setter
public static class Resp00011 extends SaeolMessage.Response {
@ -104,14 +127,23 @@ public class SOHNN00011 extends SaeolMessage {
/** 상태코드 */
private String status_code;
/** .
* @return
*/
public List<FileItem> getFileinfo_m() {
return ifEmpty(fileinfo_m, Collections::emptyList);
}
/** .
* @return
*/
public List<FileItem> getFileinfo_p() {
return ifEmpty(fileinfo_p, Collections::emptyList);
}
/** .
* @return
*/
public List<FileItem> getAllFileinfo() {
ArrayList<FileItem> fileinfo = new ArrayList<>();
fileinfo.addAll(getFileinfo_m());
@ -120,6 +152,79 @@ public class SOHNN00011 extends SaeolMessage {
}
}
/**
* <ul><li>cnsl_qna_no - </li>
* <li>class_sys_code - </li>
* <li>mw_cnsl_sj - </li>
* <li>mw_appl_cn - </li>
* <li>answ_chasu - </li>
* <li>spec_item - </li>
* <li>el_bas - </li>
* <li>qna_open_nm - </li>
* <li>usr_id - id</li>
* <li>usr_nm - </li>
* <li>mwin_detail_addr - </li>
* <li>telno - </li>
* <li>hpno - </li>
* <li>post_no - </li>
* <li>email - </li>
* <li>ans_answ_lmt - </li>
* <li>dep_code - </li>
* <li>cnsl_dep_nm - </li>
* <li>mw_cnsl_se_code - </li>
* <li>remw_why - </li>
* <li>mw_deal_org_code - </li>
* <li>take_se - </li>
* <li>regr_id - id</li>
* <li>reg_dt - </li>
* <li>mw_answ_cnt - </li>
* <li>deal_state_nm - </li>
* <li>mw_char_dep_se - </li>
* <li>cnsl_qna_no_m - </li>
* <li>class_sys_code_m - ()</li>
* <li>mw_cnsl_sj_m - </li>
* <li>mw_appl_cn_m - </li>
* <li>usr_nm_m - </li>
* <li>mwin_detail_addr_m - </li>
* <li>telno_m - </li>
* <li>hpno_m - </li>
* <li>post_no_m - ()</li>
* <li>email_m - ()</li>
* <li>reg_dt_m - </li>
* <li>take_se_nm - </li>
* <li>file_id_m - id</li>
* <li>file_id_p - id</li>
* <li>mw_org_code - </li>
* <li>inet_qna_no - </li>
* <li>sid - id</li>
* <li>private int inq_num - </li>
* <li>take_nm - </li>
* <li>cntct_telno - </li>
* <li>rmnt_org_code - </li>
* <li>take_no - </li>
* <li>appl_no - </li>
* <li>cl_his_sno - </li>
* <li>private int re_cl_rqst_cnt - </li>
* <li>mw_lttr_notify_yn - </li>
* <li>email_rprt_yn - </li>
* <li>sms_rprt_yn - sms</li>
* <li>mw_drp_yn - </li>
* <li>mw_drp_why - </li>
* <li>mw_drp_dt - </li>
* <li>delete_yn - </li>
* <li>bbs_se - </li>
* <li>bbs_sno - </li>
* <li>satf_ratng_cn - </li>
* <li>satf_ratng_pnt - </li>
* <li>civil_gist - </li>
* <li>civil_abstract - </li>
* <li>peti_path_gubun - </li>
* <li>pcd_gubun - </li>
* <li>pre_cnsl_qna_no - qna</li>
* <li>pre_minwon_yn - </li>
* </ul>
* @author xit
*/
@Getter
@Setter
public static class Item {
@ -263,11 +368,25 @@ public class SOHNN00011 extends SaeolMessage {
/** 선행민원등록여부 */
private String pre_minwon_yn;
/** () .
* @return
*/
public String infoKey() {
return getCnsl_qna_no(); // + "-" + getMsg_key();
return getCnsl_qna_no();
}
}
/**
* <ul><li>cnsl_qna_no - </li>
* <li>file_id_m - id</li>
* <li>file_id_p - id</li>
* <li>file_seq - </li>
* <li>file_path - </li>
* <li>sys_file_nm - </li>
* <li>usr_file_nm - </li>
* </ul>
* @author xit
*/
@Getter
@Setter
public static class FileItem {
@ -289,6 +408,9 @@ public class SOHNN00011 extends SaeolMessage {
/** .
* @return
* <ul><li>M - </li>
* <li>P - </li>
* </ul>
*/
public String getFile_type() {
if (!isEmpty(file_id_m))

@ -4,6 +4,9 @@ import cokr.xit.foundation.data.XML;
import lombok.Getter;
import lombok.Setter;
/**/
* @author xit
*/
public class SOINN00050 extends SaeolMessage {
private String msgId;
@ -39,6 +42,29 @@ public class SOINN00050 extends SaeolMessage {
return xmlRequest;
}
/**/
* <ul><li>cnsl_qna_no - </li>
* <li>parent_qna_no - qna</li>
* <li>psal_vat_yn - </li>
* <li>if_yn - </li>
* <li>s_userid - id</li>
* <li>s_username - </li>
* <li>mw_cnsl_sj - </li>
* <li>mw_appl_cn - </li>
* <li>telno - </li>
* <li>email - </li>
* <li>cnsl_dep_nm - </li>
* <li>dep_code - </li>
* <li>mw_answ_cnt - </li>
* <li>mw_char_dep_se - </li>
* <li>mw_cnsl_se_code - </li>
* <li>mw_org_code - </li>
* <li>civil_gist - </li>
* <li>civil_abstract - </li>
* <li>pcd_gubun - </li>
* </ul>
* @author xit
*/
@Getter
@Setter
public static class Req00050 extends SaeolMessage.Request {
@ -85,6 +111,13 @@ public class SOINN00050 extends SaeolMessage {
public void validate() {}
}
/**/
* <ul><li>state_code - </li>
* <li>state_msg - </li>
* <li>state_dtl - </li>
* </ul>
* @author xit
*/
@Getter
@Setter
public static class Resp00050 extends SaeolMessage.Response {

@ -13,6 +13,9 @@ import cokr.xit.interfaces.saeol.service.bean.Configuration;
import lombok.Getter;
import lombok.Setter;
/**
* @author xit
*/
public abstract class SaeolMessage extends AbstractComponent {
private Header header;
private Request request;
@ -20,10 +23,16 @@ public abstract class SaeolMessage extends AbstractComponent {
protected String xmlRequest = "";
protected String xmlResponse = "";
/** ID .
* @return ID
*/
public String interfaceID() {
return getClass().getSimpleName();
}
/** . .
* @return
*/
public Header getHeader() {
if (header == null) {
header = new Header().setIfID(interfaceID())
@ -34,10 +43,17 @@ public abstract class SaeolMessage extends AbstractComponent {
return header;
}
/** .
* @param header
*/
public void setHeader(Header header) {
this.header = header;
}
/** . .
* @param <T>
* @return
*/
public <T extends Request> T getRequest() {
if (request == null)
request = newRequest();
@ -46,13 +62,24 @@ public abstract class SaeolMessage extends AbstractComponent {
return (T)request;
}
/** .
* @return
*/
protected abstract Request newRequest();
/** .
* @param request
* @return SaeolMessage
*/
public SaeolMessage setRequest(Request request) {
this.request = request;
return this;
}
/** . .
* @param <T>
* @return
*/
public <T extends Response> T getResponse() {
if (response == null) {
try {
@ -64,10 +91,17 @@ public abstract class SaeolMessage extends AbstractComponent {
return (T)response;
}
/** .
* @param response
*/
public void setResponse(Response response) {
this.response = response;
}
/** xml .
* @param xml XML
* @param str XML
*/
public void parseResponse(XML xml, String str) {
Class<? extends Response> klass = responseType();
String className = klass.getSimpleName();
@ -76,29 +110,35 @@ public abstract class SaeolMessage extends AbstractComponent {
setResponse(response);
}
/**xml .
* @param xmlRequest xml
/** xml .
* @param xmlRequest xml
*/
public void setXmlRequest(String xmlRequest) {
this.xmlRequest = xmlRequest;
}
/**xml .
* @param xmlResponse xml
/** xml .
* @param xmlResponse xml
*/
public void setXmlResponse(String xmlResponse) {
this.xmlResponse = xmlResponse;
}
/**xml .
* @return xml
/** xml .
* @return xml
*/
public String getXmlLog() {
return xmlResponse;
}
/** .
* @return
*/
protected abstract Class<? extends Response> responseType();
/**
* @author xit
*/
@Getter
public static class Header {
private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmssSSS");
@ -118,91 +158,138 @@ public abstract class SaeolMessage extends AbstractComponent {
/** 메시지 식별키 */
@JacksonXmlProperty(localName = "MSGKEY")
private String msgKey;
/*
public boolean empty() {
return isEmpty(ifID)
|| isEmpty(srcOrgCd)
|| isEmpty(tgtOrgCd);
}
*/
/** ID .
* @param interfaceID ID
* @return Header
*/
public Header setIfID(String interfaceID) {
ifID = interfaceID;
return this;
}
/** .
* @param srcOrgCd
* @return
*/
public Header setSrcOrgCd(String srcOrgCd) {
this.srcOrgCd = srcOrgCd;
return this;
}
/** .
* @param tgtOrgCd
* @return Header
*/
public Header setTgtOrgCd(String tgtOrgCd) {
this.tgtOrgCd = tgtOrgCd;
return this;
}
/** .
* @param resultCode
* @return
*/
public Header setResultCode(String resultCode) {
this.resultCode = resultCode;
return this;
}
/** .
* @return
*/
public String getMsgKey() {
return ifEmpty(msgKey, () -> (msgKey = dateFormat.format(new Date()) + Random.number(8)));
}
/** .
* @param msgKey
* @return
*/
public Header setMsgKey(String msgKey) {
this.msgKey = msgKey;
return this;
}
}
/**
* @author xit
*/
public static class Request {
private Header header;
/** .
* @return
*/
public Header header() {
return header;
}
/** .
* @param header
*/
public void setHeader(Header header) {
this.header = header;
}
/** .
*/
public void validate() {}
}
/**
* @author xit
*/
public static class Response {
private Header header;
private Fault fault;
/** .
* @return
*/
public Header header() {
return header;
}
/** .
* @param header
*/
public void setHeader(Header header) {
this.header = header;
}
/** .
* @return
*/
public boolean error() {
return fault != null;
}
/**fault() .
* @return fault
/** .
* @return
*/
public Fault getFault() {
return fault;
}
/**fault() .
* @param fault fault
/** .
* @param fault
*/
public void setFault(Fault fault) {
this.fault = fault;
}
}
/**
* @author xit
*/
@Getter
@Setter
public static class Fault {
/** xml .
* @param str xml
* @return
*/
public static String find(String str) {
int pos = str.indexOf("<env:Fault>");
if (pos < 0)
@ -219,6 +306,13 @@ public abstract class SaeolMessage extends AbstractComponent {
private String faultcode;
private String faultstring;
/** Map . .
* @return Map
* <ul><li>success: </li>
* <li>faultCode: </li>
* <li>faultstring: </li>
* </ul>
*/
public Map<String, Object> toMap() {
return Map.of(
"success", false,

@ -5,9 +5,26 @@ import java.util.Map;
import cokr.xit.interfaces.saeol.SOINN00050;
/**
* @author xit
*/
public interface SaeolService {
/** .
* <ul><li> - TB_SOHNN00004</li>
* <li> - TB_SOHNN00011</li>
* <li> - TB_SOHNN00011_FILE</li>
* <li> - TB_FILE</li>
* </ul>
* @param deptCode
* @param fromDate (yyyyMMdd)
* @param toDate (yyyyMMdd)
* @return
*/
Map<String, Object> searchMinwons(String deptCode, String fromDate, String toDate);
/** .
* (intf-conf/xit-saeol.conf) .
*/
void searchMinwons();
int updateSOHNN00004(String[] cnsl_qna_nos, String[] msg_keys);

@ -125,10 +125,10 @@ CREATE OR REPLACE TABLE TB_SOHNN00011_FILE (
CREATE OR REPLACE TABLE TB_FILE (
FILE_ID VARCHAR(13) NOT NULL COMMENT '파일 ID',
INF_TYPE VARCHAR(3) NOT NULL COMMENT '관련정보 유형',
INF_KEY VARCHAR(64) NOT NULL COMMENT '관련정보 Key',
SUB_TYPE VARCHAR(3) COMMENT '관련정보 하위 분류(애플리케이션에서 정의)',
SUB_CODE VARCHAR(64) COMMENT '관련정보 하위 코드(애플리케이션에서 정의)',
INF_TYPE VARCHAR(3) NOT NULL COMMENT '관련정보 유형(011)',
INF_KEY VARCHAR(64) NOT NULL COMMENT '관련정보 Key(민원접수번호)',
SUB_TYPE VARCHAR(3) COMMENT '관련정보 하위 분류(파일 구분: M-민원인, P-답변자)',
SUB_CODE VARCHAR(64) COMMENT '관련정보 하위 코드(첨부파일 고유 ID)',
FILE_NM VARCHAR(128) NOT NULL COMMENT '파일 이름',
FILE_PATH VARCHAR(256) NOT NULL COMMENT '파일 경로',
MIME_TYPE VARCHAR(80) COMMENT '파일 유형',

Loading…
Cancel
Save