DJBank에 필요없는 클래스 정리
- 타 사이트 설정파일 및 표준전문 클래스
This commit is contained in:
@@ -1,81 +0,0 @@
|
||||
package com.eactive.eai.custom.message;
|
||||
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import com.eactive.eai.common.server.Keys;
|
||||
import com.eactive.eai.common.util.StringUtil;
|
||||
import com.eactive.eai.common.util.UUID;
|
||||
|
||||
/**
|
||||
* 1. 기능 : UUID Generation Class 2. 처리 개요 : * - 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see : 관련 기능을 참조
|
||||
* @since : :
|
||||
*/
|
||||
public final class GUIDGeneratorKAKAOCARD {
|
||||
|
||||
private static final DateTimeFormatter SDF_YYYYMMDDHHMMSSMS = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS");
|
||||
|
||||
/*
|
||||
* 날짜(17) + "-"(1) + 시스템코드(3) + hostname(6) + 일련번호(5) + "-"(1) + 001(3)
|
||||
*
|
||||
*/
|
||||
|
||||
public static final int GUID_LENGTH = 33; // seq값 제외부분
|
||||
|
||||
/**
|
||||
* 1. 기능 : Private 생성자 2. 처리 개요 : - 3. 주의사항 - Instance 생성하지 못함
|
||||
**/
|
||||
private GUIDGeneratorKAKAOCARD() {
|
||||
}
|
||||
|
||||
public synchronized static String getGUID(String systemCode) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append(SDF_YYYYMMDDHHMMSSMS.format(ZonedDateTime.now()));
|
||||
sb.append("-");
|
||||
sb.append(systemCode);
|
||||
sb.append(UNIQUE_NUM);
|
||||
char[] formatSeq = { '0', '0', '0', '0', '0' };
|
||||
char[] seqCharArray = String.valueOf(seq).toCharArray();
|
||||
int destPos = formatSeq.length - seqCharArray.length;
|
||||
System.arraycopy(seqCharArray, 0, formatSeq, destPos, seqCharArray.length);
|
||||
|
||||
sb.append(formatSeq);
|
||||
seq++;
|
||||
if (seq > 99999) {
|
||||
seq = 1;
|
||||
}
|
||||
|
||||
return sb.toString() + "-" + "001";
|
||||
}
|
||||
|
||||
private static String UNIQUE_NUM;
|
||||
private static int seq = 1;
|
||||
private static int hostlength = 6;
|
||||
static {
|
||||
String uniqueValue = System.getProperty(Keys.SERVER_KEY);
|
||||
if (StringUtils.isBlank(uniqueValue)) {
|
||||
try {
|
||||
uniqueValue = java.net.InetAddress.getLocalHost().getHostName();
|
||||
} catch (Exception e) {
|
||||
uniqueValue = StringUtil.stringFormat("", false, 'X', hostlength);
|
||||
}
|
||||
}
|
||||
if (uniqueValue.length() > hostlength) {
|
||||
uniqueValue = uniqueValue.substring(uniqueValue.length() - hostlength, uniqueValue.length());
|
||||
} else if (uniqueValue.length() < hostlength) {
|
||||
uniqueValue = StringUtil.stringFormat(uniqueValue, false, 'X', hostlength);
|
||||
}
|
||||
UNIQUE_NUM = uniqueValue.toUpperCase();
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
String guid = getGUID("FEP");
|
||||
// System.out.println("[" + guid.length() + "]" + guid);
|
||||
}
|
||||
}
|
||||
@@ -1,40 +0,0 @@
|
||||
package com.eactive.eai.custom.message;
|
||||
|
||||
import com.eactive.eai.common.server.Keys;
|
||||
import com.eactive.eai.common.util.DatetimeUtil;
|
||||
import com.eactive.eai.common.util.StringUtil;
|
||||
|
||||
public class GUIDGeneratorKBANK {
|
||||
private static String UNIQUE_NUM;
|
||||
private static int seq = 1;
|
||||
|
||||
static {
|
||||
String uniqueValue = System.getProperty(Keys.SERVER_KEY);
|
||||
if(uniqueValue.length() < 8) {
|
||||
uniqueValue = StringUtil.stringFormat(uniqueValue, false, '0', 8);
|
||||
}else if(uniqueValue.length() > 8){
|
||||
uniqueValue = uniqueValue.substring(uniqueValue.length() - 8);
|
||||
}
|
||||
UNIQUE_NUM = uniqueValue.toUpperCase();
|
||||
}
|
||||
|
||||
public synchronized static String makeGUID() {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append(DatetimeUtil.getCurrentDateTime());
|
||||
sb.append(UNIQUE_NUM);
|
||||
|
||||
char[] formatSeq = {'0','0','0','0','0','0','0','0'};
|
||||
char[] seqCharArray = String.valueOf(seq).toCharArray();
|
||||
int destPos = formatSeq.length - seqCharArray.length;
|
||||
System.arraycopy(seqCharArray, 0, formatSeq, destPos, seqCharArray.length);
|
||||
|
||||
sb.append(formatSeq);
|
||||
|
||||
seq ++;
|
||||
if(seq > 99999999) {
|
||||
seq = 1;
|
||||
}
|
||||
|
||||
return sb.toString() ;
|
||||
}
|
||||
}
|
||||
@@ -1,98 +0,0 @@
|
||||
package com.eactive.eai.custom.message;
|
||||
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
|
||||
import com.eactive.eai.common.util.DatetimeUtil;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import com.eactive.eai.common.server.Keys;
|
||||
import com.eactive.eai.common.util.StringUtil;
|
||||
import com.eactive.eai.common.util.UUID;
|
||||
|
||||
/**
|
||||
* 1. 기능 : UUID Generation Class 2. 처리 개요 : * - 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see : 관련 기능을 참조
|
||||
* @since : :
|
||||
*/
|
||||
public final class GUIDGeneratorKJB {
|
||||
|
||||
/*
|
||||
* 그룹사코드(3) + 호스트명(8) + 서버구분번호(2) + 일자(8) + 전문생성시간(6) + 일련번호(6) + 시스템경로번호(3, '001')
|
||||
*/
|
||||
|
||||
public static final int GUID_LENGTH = 33; // 시스템경로번호 제외부분
|
||||
|
||||
/**
|
||||
* 1. 기능 : Private 생성자 2. 처리 개요 : - 3. 주의사항 - Instance 생성하지 못함
|
||||
**/
|
||||
private GUIDGeneratorKJB() {
|
||||
}
|
||||
|
||||
public synchronized static String getGUID(String groupCmpCd) {
|
||||
String guid = groupCmpCd + UNIQUE_NUM;
|
||||
guid = guid + DatetimeUtil.getCurrentDateTime();
|
||||
|
||||
if(seq < 10) {
|
||||
guid = guid + "00000" + seq;
|
||||
}
|
||||
else if(seq < 100) {
|
||||
guid = guid + "0000" + seq;
|
||||
}
|
||||
else if(seq < 1000) {
|
||||
guid = guid + "000" + seq;
|
||||
}
|
||||
else if(seq < 10000) {
|
||||
guid = guid + "00" + seq;
|
||||
}
|
||||
else if(seq < 100000) {
|
||||
guid = guid + "0" + seq;
|
||||
}
|
||||
else {
|
||||
guid = guid + seq;
|
||||
}
|
||||
|
||||
seq ++;
|
||||
if(seq > 999999) {
|
||||
seq = 1;
|
||||
}
|
||||
|
||||
return guid + "001";
|
||||
}
|
||||
|
||||
private static String UNIQUE_NUM;
|
||||
private static int seq = 1;
|
||||
static {
|
||||
String hostname = "";
|
||||
try {
|
||||
hostname = java.net.InetAddress.getLocalHost().getHostName();
|
||||
}
|
||||
catch(Exception e) {
|
||||
hostname = "________";
|
||||
}
|
||||
|
||||
if(hostname.getBytes().length != 8) {
|
||||
if(hostname.getBytes().length < 8) {
|
||||
hostname = StringUtils.leftPad(hostname, 8, '_');
|
||||
} else if(hostname.getBytes().length > 8) {
|
||||
hostname = StringUtils.substring(hostname, 0, 8);
|
||||
}
|
||||
}
|
||||
|
||||
String serverName = System.getProperty(Keys.SERVER_KEY);
|
||||
String instid = "00";
|
||||
if(serverName != null && serverName.length() > 2) {
|
||||
instid = serverName.substring(serverName.length()-2, serverName.length());
|
||||
}
|
||||
|
||||
UNIQUE_NUM = hostname.toUpperCase() + instid;
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
String guid = getGUID("051");
|
||||
// System.out.println("[" + guid.length() + "]" + guid);
|
||||
}
|
||||
}
|
||||
@@ -1,60 +0,0 @@
|
||||
package com.eactive.eai.custom.message;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
|
||||
import com.eactive.eai.common.server.Keys;
|
||||
import com.eactive.eai.common.util.StringUtil;
|
||||
|
||||
public final class GUIDGeneratorSBI {
|
||||
|
||||
private static final SimpleDateFormat SDF_YYYYMMDDHHMMSSMI = new SimpleDateFormat("yyyyMMddHHmmssSSS");
|
||||
|
||||
private GUIDGeneratorSBI() {
|
||||
}
|
||||
|
||||
/**
|
||||
* 시스템일시(17)+시스템환경코드(1)+시스템코드(3)+시스템고유번호(9)+일련번호(2)
|
||||
*
|
||||
* @param envDvcd
|
||||
* @return
|
||||
*/
|
||||
public synchronized static String getGUID(String envDvcd, String systemType) {
|
||||
String guid = (SDF_YYYYMMDDHHMMSSMI).format(new java.util.Date()) + envDvcd + systemType + UNIQUE_NUM;
|
||||
|
||||
if (seq < 10) {
|
||||
guid = guid + "0" + seq;
|
||||
} else {
|
||||
guid = guid + seq;
|
||||
}
|
||||
|
||||
seq++;
|
||||
if (seq > 99) {
|
||||
seq = 1;
|
||||
}
|
||||
|
||||
return guid;
|
||||
}
|
||||
|
||||
private static String UNIQUE_NUM;
|
||||
private static int seq = 1;
|
||||
static {
|
||||
String hostname = "";
|
||||
try {
|
||||
hostname = java.net.InetAddress.getLocalHost().getHostName();
|
||||
} catch (Exception e) {
|
||||
hostname = "_______";
|
||||
}
|
||||
|
||||
if (hostname.getBytes().length != 7) {
|
||||
hostname = StringUtil.stringFormat(hostname, false, '_', 7);
|
||||
}
|
||||
|
||||
String serverName = System.getProperty(Keys.SERVER_KEY); // inst.Name
|
||||
String instid = "11";
|
||||
if (serverName != null && serverName.length() > 2) {
|
||||
instid = serverName.substring(serverName.length() - 2, serverName.length());
|
||||
}
|
||||
|
||||
UNIQUE_NUM = hostname.toUpperCase() + instid;
|
||||
}
|
||||
}
|
||||
@@ -1,202 +0,0 @@
|
||||
package com.eactive.eai.custom.message;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import com.eactive.eai.common.server.EAIServerManager;
|
||||
import com.eactive.eai.common.util.StringUtil;
|
||||
import com.eactive.eai.message.StandardMessage;
|
||||
import com.eactive.eai.message.service.DefaultInterfaceMapper;
|
||||
import com.ext.eai.common.stdmessage.STDMessageKeys;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class InterfaceMapperKAKAOCARD extends DefaultInterfaceMapper {
|
||||
private static String SESSION_ID = "INTERFACE_COMMON.MCI_SESN_ID";
|
||||
private static String INSTANCE_ID = "INTERFACE_COMMON.MCI_INSTNC_ID";
|
||||
|
||||
@Override
|
||||
public String getEaiSvcCode(StandardMessage standardMessage) {
|
||||
String eaiSvcCode = null;
|
||||
String interfaceId = getInterfaceId(standardMessage);
|
||||
String returnType = getSendRecvDivision(standardMessage); // S | R
|
||||
String inExDivision = getInExDivision(standardMessage); // 1 | 2
|
||||
if (interfaceId == null)
|
||||
interfaceId = "";
|
||||
interfaceId = interfaceId.trim();
|
||||
|
||||
// TODO : site에 맞게 조합해야 함.
|
||||
eaiSvcCode = interfaceId + returnType + StringUtils.defaultString(inExDivision);
|
||||
return eaiSvcCode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setGuid(StandardMessage standardMessage, String guid) {
|
||||
if (guid == null)
|
||||
throw new RuntimeException("guid is null");
|
||||
if (guid.length() != 36)
|
||||
throw new RuntimeException("The length of guid is not 36");
|
||||
setItemValue(standardMessage, getPath(GUID), guid);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getGuid(StandardMessage standardMessage) {
|
||||
String guid = getItemValue(standardMessage, getPath(GUID));
|
||||
if (guid.length() == 36) {
|
||||
guid = guid.substring(0, 33);
|
||||
}
|
||||
return guid;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getGuidSeq(StandardMessage standardMessage) {
|
||||
String guidseq = null;
|
||||
String guid = getItemValue(standardMessage, getPath(GUID));
|
||||
if (guid.length() == 36) {
|
||||
guidseq = guid.substring(33);
|
||||
} else {
|
||||
guidseq = "000";
|
||||
}
|
||||
return guidseq;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setGuidSeq(StandardMessage standardMessage, String guidSeq) {
|
||||
setItemValue(standardMessage, getPath(GUID), getGuid(standardMessage) + guidSeq);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getOrgGuid(StandardMessage standardMessage) {
|
||||
String orgGuid = getItemValue(standardMessage, getPath(GUID_ORG));
|
||||
if (orgGuid.length() == 36) {
|
||||
orgGuid = orgGuid.substring(0, 33);
|
||||
}
|
||||
return orgGuid;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setOrgGuid(StandardMessage standardMessage, String orgGuid) {
|
||||
if (orgGuid.length() == 36) {
|
||||
orgGuid = orgGuid.substring(0, 33);
|
||||
}
|
||||
setItemValue(standardMessage, getPath(GUID_ORG), orgGuid);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String nextGuidSeq(StandardMessage standardMessage) {
|
||||
String guidSeq = getGuidSeq(standardMessage);
|
||||
if (guidSeq == null)
|
||||
return "";
|
||||
int seq = 0;
|
||||
try {
|
||||
seq = Integer.parseInt(guidSeq) + 1;
|
||||
} catch (NumberFormatException e) {
|
||||
seq = 1;
|
||||
}
|
||||
guidSeq = StringUtil.stringFormat(Integer.toString(seq), true, '0', 3);
|
||||
setGuidSeq(standardMessage, guidSeq);
|
||||
return guidSeq;
|
||||
}
|
||||
|
||||
/**
|
||||
* 표준전문의 복원은 COMMON.ORTR_RESTR_YN 의 value는 (Y/N) 엔진에서 복원여부 의 value는 (1/0)
|
||||
*/
|
||||
@Override
|
||||
public String getRecoverYn(StandardMessage standardMessage) {
|
||||
String data = getItemValue(standardMessage, getPath(RECOVER_YN));
|
||||
if ("Y".equals(data)) {
|
||||
return "1";
|
||||
} else {
|
||||
return "0";
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRecoverYn(StandardMessage standardMessage, String recoverYn) {
|
||||
if ("1".equals(recoverYn)) {
|
||||
setItemValue(standardMessage, getPath(RECOVER_YN), "Y");
|
||||
} else {
|
||||
setItemValue(standardMessage, getPath(RECOVER_YN), "N");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getInstCode(StandardMessage standardMessage) {
|
||||
EAIServerManager server = EAIServerManager.getInstance();
|
||||
if (server != null && server.isMCI()) {
|
||||
return getItemValue(standardMessage, INSTANCE_ID);
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setInstCode(StandardMessage standardMessage, String instCode) {
|
||||
EAIServerManager server = EAIServerManager.getInstance();
|
||||
if (server != null && server.isMCI()) {
|
||||
setItemValue(standardMessage, INSTANCE_ID, instCode);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSessionId(StandardMessage standardMessage) {
|
||||
EAIServerManager server = EAIServerManager.getInstance();
|
||||
if (server != null && server.isMCI()) {
|
||||
return getItemValue(standardMessage, SESSION_ID);
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSessionId(StandardMessage standardMessage, String sessionId) {
|
||||
EAIServerManager server = EAIServerManager.getInstance();
|
||||
if (server != null && server.isMCI()) {
|
||||
setItemValue(standardMessage, SESSION_ID, sessionId);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 엔진 에서는 public static final String RESPONSE_TYPE_CODE_N = "0";//정상(normal)
|
||||
* public static final String RESPONSE_TYPE_CODE_E = "1";//오류(error)
|
||||
*/
|
||||
@Override
|
||||
public void setResponseType(StandardMessage standardMessage, String responseType) {
|
||||
if (responseType != null && (STDMessageKeys.RESPONSE_TYPE_CODE_N.equals(responseType)
|
||||
|| STDMessageKeys.RESPONSE_TYPE_CODE_E.equals(responseType))) {
|
||||
if (STDMessageKeys.RESPONSE_TYPE_CODE_N.equals(responseType)) {
|
||||
setItemValue(standardMessage, getPath(RESPONSE_TYPE), "NR");
|
||||
} else {
|
||||
setItemValue(standardMessage, getPath(RESPONSE_TYPE), "ER");
|
||||
}
|
||||
} else {
|
||||
setItemValue(standardMessage, getPath(RESPONSE_TYPE), responseType);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getInterfaceId(StandardMessage standardMessage) {
|
||||
String interfaceId = getItemValue(standardMessage, getPath(INTERFACE_ID));
|
||||
if (interfaceId == null)
|
||||
return "";
|
||||
interfaceId = interfaceId.trim();
|
||||
return interfaceId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getReqSysCode(StandardMessage standardMessage) {
|
||||
// apiPath의 값에서 추출할 예정 : serviceId = api_path
|
||||
String apiPath = getItemValue(standardMessage, getPath(SERVICE_ID));
|
||||
if (apiPath != null) {
|
||||
String[] split = apiPath.split("/");
|
||||
if (split.length > 2) {
|
||||
String route = split[1].toUpperCase();
|
||||
if (route.length() > 3) {
|
||||
route = route.substring(0, 3);
|
||||
}
|
||||
return route;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,50 +0,0 @@
|
||||
package com.eactive.eai.custom.message;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import com.eactive.eai.message.StandardMessage;
|
||||
import com.eactive.eai.message.service.DefaultInterfaceMapper;
|
||||
import com.ext.eai.common.stdmessage.STDMessageKeys;
|
||||
|
||||
public class InterfaceMapperKBANK extends DefaultInterfaceMapper {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
//전문작성일시
|
||||
String ITEM_TLGR_WRTN_DT = "header_part.tlgrWrtnDt";
|
||||
//전문생성시스템
|
||||
String ITEM_TLGR_CRTN_SYS_NM = "header_part.tlgrCrtnSysNm";
|
||||
//전문일련번호
|
||||
String ITEM_TLGR_SRL_NO = "header_part.tlgrSrlNo";
|
||||
|
||||
@Override
|
||||
public String getInExDivision(StandardMessage standardMessage) {
|
||||
return "2";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setGuid(StandardMessage standardMessage, String guid) {
|
||||
String tlgrWrtnDt = StringUtils.substring(guid, 0, 14);
|
||||
String tlgrCrtnSysNm = StringUtils.substring(guid, 14, 22);
|
||||
String tlgrSrlNo = StringUtils.substring(guid, 22, 30);
|
||||
setItemValue(standardMessage, ITEM_TLGR_WRTN_DT, tlgrWrtnDt);
|
||||
setItemValue(standardMessage, ITEM_TLGR_CRTN_SYS_NM, tlgrCrtnSysNm);
|
||||
setItemValue(standardMessage, ITEM_TLGR_SRL_NO, tlgrSrlNo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setGuidSeq(StandardMessage standardMessage, String guidSeq) {
|
||||
if(guidSeq.length() == 1) {
|
||||
guidSeq = "0"+guidSeq;
|
||||
}
|
||||
super.setGuidSeq(standardMessage, guidSeq);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getGuid(StandardMessage standardMessage) {
|
||||
String tlgrWrtnDt = getItemValue(standardMessage, ITEM_TLGR_WRTN_DT);
|
||||
String tlgrCrtnSysNm = getItemValue(standardMessage, ITEM_TLGR_CRTN_SYS_NM);
|
||||
String tlgrSrlNo = getItemValue(standardMessage, ITEM_TLGR_SRL_NO);
|
||||
return tlgrWrtnDt+tlgrCrtnSysNm+tlgrSrlNo;
|
||||
}
|
||||
}
|
||||
@@ -1,202 +0,0 @@
|
||||
package com.eactive.eai.custom.message;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import com.eactive.eai.common.server.EAIServerManager;
|
||||
import com.eactive.eai.common.util.StringUtil;
|
||||
import com.eactive.eai.message.StandardMessage;
|
||||
import com.eactive.eai.message.service.DefaultInterfaceMapper;
|
||||
import com.ext.eai.common.stdmessage.STDMessageKeys;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class InterfaceMapperKJB extends DefaultInterfaceMapper {
|
||||
private static String SESSION_ID = "INTERFACE_COMMON.MCI_SESN_ID";
|
||||
private static String INSTANCE_ID = "INTERFACE_COMMON.MCI_INSTNC_ID";
|
||||
|
||||
@Override
|
||||
public String getEaiSvcCode(StandardMessage standardMessage) {
|
||||
String eaiSvcCode = null;
|
||||
String interfaceId = getInterfaceId(standardMessage);
|
||||
String returnType = getSendRecvDivision(standardMessage); // S | R
|
||||
String inExDivision = getInExDivision(standardMessage); // 1 | 2
|
||||
if (interfaceId == null)
|
||||
interfaceId = "";
|
||||
interfaceId = interfaceId.trim();
|
||||
|
||||
// TODO : site에 맞게 조합해야 함.
|
||||
eaiSvcCode = interfaceId + returnType + StringUtils.defaultString(inExDivision);
|
||||
return eaiSvcCode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setGuid(StandardMessage standardMessage, String guid) {
|
||||
if (guid == null)
|
||||
throw new RuntimeException("guid is null");
|
||||
if (guid.length() != 36)
|
||||
throw new RuntimeException("The length of guid is not 36");
|
||||
setItemValue(standardMessage, getPath(GUID), guid);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getGuid(StandardMessage standardMessage) {
|
||||
String guid = getItemValue(standardMessage, getPath(GUID));
|
||||
if (guid.length() == 36) {
|
||||
guid = guid.substring(0, 33);
|
||||
}
|
||||
return guid;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getGuidSeq(StandardMessage standardMessage) {
|
||||
String guidseq = null;
|
||||
String guid = getItemValue(standardMessage, getPath(GUID));
|
||||
if (guid.length() == 36) {
|
||||
guidseq = guid.substring(33);
|
||||
} else {
|
||||
guidseq = "000";
|
||||
}
|
||||
return guidseq;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setGuidSeq(StandardMessage standardMessage, String guidSeq) {
|
||||
setItemValue(standardMessage, getPath(GUID), getGuid(standardMessage) + guidSeq);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getOrgGuid(StandardMessage standardMessage) {
|
||||
String orgGuid = getItemValue(standardMessage, getPath(GUID));
|
||||
if (orgGuid.length() == 36) {
|
||||
orgGuid = orgGuid.substring(0, 33);
|
||||
}
|
||||
return orgGuid;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setOrgGuid(StandardMessage standardMessage, String orgGuid) {
|
||||
if (orgGuid.length() == 36) {
|
||||
orgGuid = orgGuid.substring(0, 33);
|
||||
}
|
||||
setItemValue(standardMessage, getPath(GUID_ORG), orgGuid);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String nextGuidSeq(StandardMessage standardMessage) {
|
||||
String guidSeq = getGuidSeq(standardMessage);
|
||||
if (guidSeq == null)
|
||||
return "";
|
||||
int seq = 0;
|
||||
try {
|
||||
seq = Integer.parseInt(guidSeq) + 1;
|
||||
} catch (NumberFormatException e) {
|
||||
seq = 1;
|
||||
}
|
||||
guidSeq = StringUtil.stringFormat(Integer.toString(seq), true, '0', 3);
|
||||
setGuidSeq(standardMessage, guidSeq);
|
||||
return guidSeq;
|
||||
}
|
||||
|
||||
/**
|
||||
* 표준전문의 복원은 COMMON.ORTR_RESTR_YN 의 value는 (Y/N) 엔진에서 복원여부 의 value는 (1/0)
|
||||
*/
|
||||
@Override
|
||||
public String getRecoverYn(StandardMessage standardMessage) {
|
||||
String data = getItemValue(standardMessage, getPath(RECOVER_YN));
|
||||
if ("Y".equals(data)) {
|
||||
return "1";
|
||||
} else {
|
||||
return "0";
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRecoverYn(StandardMessage standardMessage, String recoverYn) {
|
||||
if ("1".equals(recoverYn)) {
|
||||
setItemValue(standardMessage, getPath(RECOVER_YN), "Y");
|
||||
} else {
|
||||
setItemValue(standardMessage, getPath(RECOVER_YN), "N");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getInstCode(StandardMessage standardMessage) {
|
||||
EAIServerManager server = EAIServerManager.getInstance();
|
||||
if (server != null && server.isMCI()) {
|
||||
return getItemValue(standardMessage, INSTANCE_ID);
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setInstCode(StandardMessage standardMessage, String instCode) {
|
||||
EAIServerManager server = EAIServerManager.getInstance();
|
||||
if (server != null && server.isMCI()) {
|
||||
setItemValue(standardMessage, INSTANCE_ID, instCode);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSessionId(StandardMessage standardMessage) {
|
||||
EAIServerManager server = EAIServerManager.getInstance();
|
||||
if (server != null && server.isMCI()) {
|
||||
return getItemValue(standardMessage, SESSION_ID);
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSessionId(StandardMessage standardMessage, String sessionId) {
|
||||
EAIServerManager server = EAIServerManager.getInstance();
|
||||
if (server != null && server.isMCI()) {
|
||||
setItemValue(standardMessage, SESSION_ID, sessionId);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 엔진 에서는 public static final String RESPONSE_TYPE_CODE_N = "0";//정상(normal)
|
||||
* public static final String RESPONSE_TYPE_CODE_E = "1";//오류(error)
|
||||
*/
|
||||
@Override
|
||||
public void setResponseType(StandardMessage standardMessage, String responseType) {
|
||||
if (responseType != null && (STDMessageKeys.RESPONSE_TYPE_CODE_N.equals(responseType)
|
||||
|| STDMessageKeys.RESPONSE_TYPE_CODE_E.equals(responseType))) {
|
||||
if (STDMessageKeys.RESPONSE_TYPE_CODE_N.equals(responseType)) {
|
||||
setItemValue(standardMessage, getPath(RESPONSE_TYPE), "NR");
|
||||
} else {
|
||||
setItemValue(standardMessage, getPath(RESPONSE_TYPE), "ER");
|
||||
}
|
||||
} else {
|
||||
setItemValue(standardMessage, getPath(RESPONSE_TYPE), responseType);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getInterfaceId(StandardMessage standardMessage) {
|
||||
String interfaceId = getItemValue(standardMessage, getPath(INTERFACE_ID));
|
||||
if (interfaceId == null)
|
||||
return "";
|
||||
interfaceId = interfaceId.trim();
|
||||
return interfaceId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getReqSysCode(StandardMessage standardMessage) {
|
||||
// apiPath의 값에서 추출할 예정 : serviceId = api_path
|
||||
String apiPath = getItemValue(standardMessage, getPath(SERVICE_ID));
|
||||
if (apiPath != null) {
|
||||
String[] split = apiPath.split("/");
|
||||
if (split.length > 2) {
|
||||
String route = split[1].toUpperCase();
|
||||
if (route.length() > 3) {
|
||||
route = route.substring(0, 3);
|
||||
}
|
||||
return route;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
package com.eactive.eai.custom.message;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import com.eactive.eai.message.StandardMessage;
|
||||
import com.eactive.eai.message.service.DefaultInterfaceMapper;
|
||||
import com.ext.eai.common.stdmessage.STDMessageKeys;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class InterfaceMapperSBI extends DefaultInterfaceMapper {
|
||||
|
||||
@Override
|
||||
public String getSendRecvDivision(StandardMessage standardMessage) {
|
||||
String sendRecvDivision = super.getSendRecvDivision(standardMessage);
|
||||
if (StringUtils.equals(sendRecvDivision, "Q")) {
|
||||
return STDMessageKeys.SEND_RECV_CD_SEND;
|
||||
} else {
|
||||
return sendRecvDivision;
|
||||
}
|
||||
}
|
||||
}
|
||||
-419
@@ -1,419 +0,0 @@
|
||||
package com.eactive.eai.custom.message;
|
||||
|
||||
import java.util.Properties;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import com.eactive.eai.adapter.http.client.HttpClientAdapterServiceKey;
|
||||
import com.eactive.eai.adapter.http.dynamic.HttpAdapterServiceKey;
|
||||
import com.eactive.eai.common.exception.ExceptionUtil;
|
||||
import com.eactive.eai.common.message.EAIMessage;
|
||||
import com.eactive.eai.common.property.PropManager;
|
||||
import com.eactive.eai.common.server.EAIServerManager;
|
||||
import com.eactive.eai.common.util.DatetimeUtil;
|
||||
import com.eactive.eai.common.util.Logger;
|
||||
import com.eactive.eai.common.util.MessageUtil;
|
||||
import com.eactive.eai.custom.stderrorcode.ChannelErrorCodeManager;
|
||||
import com.eactive.eai.custom.stderrorcode.ChannelErrorCodeVO;
|
||||
import com.eactive.eai.custom.stderrorcode.StdErrorCodeManager;
|
||||
import com.eactive.eai.custom.stderrorcode.StdErrorCodeVO;
|
||||
import com.eactive.eai.inbound.error.InboundErrorKeys;
|
||||
import com.eactive.eai.inbound.processor.ProcessVO;
|
||||
import com.eactive.eai.message.StandardItem;
|
||||
import com.eactive.eai.message.StandardMessage;
|
||||
import com.eactive.eai.message.manager.StandardMessageManager;
|
||||
import com.eactive.eai.message.service.DefaultStandardMessageCoordinator;
|
||||
import com.eactive.eai.message.service.InterfaceMapper;
|
||||
import com.ext.eai.common.stdmessage.STDMessageErrorKeys;
|
||||
import com.ext.eai.common.stdmessage.STDMessageKeys;
|
||||
|
||||
public class StandardMessageCoordinatorKAKAOCARD extends DefaultStandardMessageCoordinator {
|
||||
static Logger logger = Logger.getLogger(Logger.LOGGER_DEFAULT);
|
||||
//private static int defaultTimeout = 30;
|
||||
private static String GW_SESSION_ID = "INTERFACE_COMMON.GTWY_SESN_ID";
|
||||
private static String GW_INSTANCE_ID = "INTERFACE_COMMON.GTWY_INSTNC_ID";
|
||||
private static String MESSAGE_OUT_ATRB_CD = "MESSAGE.OUT_ATRB_CD";//출력속성코드
|
||||
private static String MESSAGE_OUT_MSG_DESC = "MESSAGE.OUT_MSG_DESC";//출력메시지설명
|
||||
private static String COMMON_OUT_FMSG_DSTCD = "COMMON.OUT_FMSG_DSTCD";//출력전문구별코드
|
||||
private static String MESSAGE = "MESSAGE";//메시지부
|
||||
|
||||
@Override
|
||||
public void coordinateAfterParsing(StandardMessage standardMessage, Object paramObject, Properties prop) {
|
||||
StandardMessageManager standardManager = StandardMessageManager.getInstance();
|
||||
InterfaceMapper mapper = standardManager.getMapper();
|
||||
//표준에서 들어올때 표준전문의 값을 header에 셋팅
|
||||
//표준전문 to prop
|
||||
if (EAIServerManager.getInstance().isFEP()) {
|
||||
StandardItem gwSesnId = standardMessage.findItem(GW_SESSION_ID);//transactionId
|
||||
StandardItem gwNodeNo = standardMessage.findItem(GW_INSTANCE_ID);//instanceId
|
||||
if (gwSesnId != null && gwNodeNo != null && StringUtils.isNotBlank(gwSesnId.getValue()) && StringUtils.isNotBlank(gwNodeNo.getValue())) {
|
||||
prop.put(HttpClientAdapterServiceKey.TRANSACTION_ID, gwSesnId.getValue());
|
||||
prop.put(HttpClientAdapterServiceKey.INSTANCE_ID, gwNodeNo.getValue());
|
||||
}
|
||||
}
|
||||
|
||||
// REST용 전달값 중 api_path 이후의 값을 표준전문 API_PATH에 셋팅
|
||||
String adapterApiPath = prop.getProperty(HttpAdapterServiceKey.API_PATH);
|
||||
if (StringUtils.isNotBlank(adapterApiPath)) {
|
||||
String adapterExtUri = prop.getProperty(HttpAdapterServiceKey.INBOUND_EXTURI);
|
||||
/*
|
||||
* apiPath 나머지를 추출하기 위해서
|
||||
* 예) 어댑터에 설정되어 있는 API_PATH = /api/cts
|
||||
* 어댑터에 들어온 INBOUND_EXTURI = /api/cts/cmb/api/user/custom
|
||||
* 표준전문에 셋팅하고 싶은값 /cmb/api/user/custom
|
||||
*/
|
||||
String standardApiPath = adapterExtUri.replaceAll(adapterApiPath, "");
|
||||
if (!standardApiPath.startsWith("/")) {
|
||||
standardApiPath = standardApiPath + "/";
|
||||
}
|
||||
if (standardApiPath.length() > 1) {
|
||||
mapper.setServiceId(standardMessage,standardApiPath);
|
||||
}
|
||||
}
|
||||
|
||||
//아래로직은 표준전문에서 요청일때 MESSAGE부가 안보이고 응답일때 MESSAGE부 보이게 설정
|
||||
String sendRecvDivision = mapper.getSendRecvDivision(standardMessage);
|
||||
StandardItem msg = standardMessage.findItem(MESSAGE);
|
||||
if (StringUtils.equals(sendRecvDivision, STDMessageKeys.SEND_RECV_CD_SEND)) {
|
||||
msg.setHidden(true);
|
||||
}
|
||||
if (StringUtils.equals(sendRecvDivision, STDMessageKeys.SEND_RECV_CD_RECV)) {
|
||||
msg.setHidden(false);
|
||||
}
|
||||
|
||||
//mci이고 요청 거래시에 설정 인스턴스ID설정
|
||||
EAIServerManager server = EAIServerManager.getInstance();
|
||||
if (server != null && server.isMCI() && (StringUtils.equals(sendRecvDivision, STDMessageKeys.SEND_RECV_CD_SEND))) {
|
||||
//인스턴스ID설정
|
||||
String instCode = mapper.getInstCode(standardMessage);
|
||||
String localServer = server.getLocalServerName();
|
||||
if (instCode != null && localServer != null) {
|
||||
mapper.setInstCode(standardMessage, localServer);
|
||||
}
|
||||
//타임아웃값이 없을경우 default값 설정
|
||||
String timeout = mapper.getTimeout(standardMessage);
|
||||
|
||||
int defaultTimeout = getDefaultTimeout();
|
||||
if (StringUtils.isBlank(timeout)) {
|
||||
mapper.setTimeout(standardMessage, Integer.toString(defaultTimeout));
|
||||
}else {
|
||||
try {
|
||||
Integer.parseInt(timeout);
|
||||
}catch(Exception e) {
|
||||
mapper.setTimeout(standardMessage, Integer.toString(defaultTimeout));
|
||||
}
|
||||
}
|
||||
}
|
||||
//TODO 표준전문 메시지 설정해야됨
|
||||
//표준전문에 메시지 부에 값이 있을경우 처리
|
||||
if (!msg.isHidden()) {
|
||||
String errmsg = mapper.getErrorMsg(standardMessage);
|
||||
if (StringUtils.isBlank(errmsg)) {
|
||||
String errCode = mapper.getErrorCode(standardMessage);
|
||||
if (StringUtils.isNotBlank(errCode)) {
|
||||
StdErrorCodeManager manager = StdErrorCodeManager.getInstance();
|
||||
StdErrorCodeVO vo = manager.getSTDErrorCode(errCode);
|
||||
if (vo != null) {
|
||||
mapper.setErrorMsg(standardMessage, vo.getErrMsg());
|
||||
if (server != null && server.isMCI()) {
|
||||
String type = mapper.getChannelDetailCd(standardMessage);
|
||||
//채널오류코드 셋팅
|
||||
ChannelErrorCodeManager cmanager = ChannelErrorCodeManager.getInstance();
|
||||
ChannelErrorCodeVO cvo = cmanager.getChannelErrorCode(errCode+"_"+type);
|
||||
if (cvo != null) {
|
||||
mapper.setErrorMsg(standardMessage, cvo.getErrMsg());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
//비표준처리
|
||||
public void coordinateAfterCreateMessageByRule(StandardMessage standardMessage, Object paramObject, Properties prop) {
|
||||
StandardMessageManager standardManager = StandardMessageManager.getInstance();
|
||||
InterfaceMapper mapper = standardManager.getMapper();
|
||||
//비표준에서 들어올때 header값을 표준전문에 셋팅
|
||||
//prop to 표준전문
|
||||
if (EAIServerManager.getInstance().isFEP()) {
|
||||
String trandactionId = prop.getProperty(HttpClientAdapterServiceKey.TRANSACTION_ID);
|
||||
String instanceId = prop.getProperty(HttpClientAdapterServiceKey.INSTANCE_ID);
|
||||
if (StringUtils.isNotBlank(trandactionId) && StringUtils.isNotBlank(instanceId)) {
|
||||
StandardItem gwSesnId = standardMessage.findItem(GW_SESSION_ID);//transactionId
|
||||
if (gwSesnId != null) {
|
||||
gwSesnId.setValue(trandactionId);
|
||||
}
|
||||
StandardItem gwNodeNo = standardMessage.findItem(GW_INSTANCE_ID);//instanceId
|
||||
if (gwNodeNo != null) {
|
||||
gwNodeNo.setValue(instanceId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
EAIServerManager eaiServerManager = EAIServerManager.getInstance();
|
||||
//HEADER.GUID설정
|
||||
mapper.setGuid(standardMessage,GUIDGeneratorKAKAOCARD.getGUID(eaiServerManager.getSystemType()));
|
||||
//HEADER.FMSG_REQ_RES_DSTCD 전문요청응답구별코드 : 표준전문값
|
||||
|
||||
//HEADER.FRST_TRNM_IPAD 최초전송IP주소
|
||||
mapper.setFirstReqIp(standardMessage, "0.0.0.0");
|
||||
//HEADER.GNRZ_TMOT_TM 총괄타임아웃시간
|
||||
mapper.setTimeout(standardMessage, "180");
|
||||
// HEADER.SYS_ENV_DSTCD 시스템운영환경구분코드
|
||||
String operationEnv = mapper.getOperationEnv(standardMessage);
|
||||
if (operationEnv != null && StringUtils.isBlank(operationEnv)) {
|
||||
mapper.setOperationEnv(standardMessage, getSysOprtEnvDvcd(eaiServerManager));
|
||||
}
|
||||
// HEADER.CARD_TX_TYP_DSTCD 거래유형구별코드
|
||||
StandardItem cardTxTypDstcd = standardMessage.findItem("HEADER.CARD_TX_TYP_DSTCD");
|
||||
if (cardTxTypDstcd != null ) {
|
||||
cardTxTypDstcd.setValue("O");
|
||||
}
|
||||
//COMMON.GROUP_CMP_CD 그룹회사코드
|
||||
StandardItem groupCmpCd = standardMessage.findItem("COMMON.GROUP_CMP_CD");
|
||||
if (groupCmpCd != null ) {
|
||||
groupCmpCd.setValue("090");
|
||||
}
|
||||
//COMMON.TX_BRCD 거래부점코드
|
||||
StandardItem txBrcd = standardMessage.findItem("COMMON.TX_BRCD");
|
||||
if (txBrcd != null ) {
|
||||
txBrcd.setValue("0000");
|
||||
}
|
||||
//COMMON.RLTR_BRCD 실거래부점코드
|
||||
StandardItem rltrBrcd = standardMessage.findItem("COMMON.RLTR_BRCD");
|
||||
if (rltrBrcd != null ) {
|
||||
rltrBrcd.setValue("0000");
|
||||
}
|
||||
//COMMON.TLRNO 텔러번호
|
||||
StandardItem tlrno = standardMessage.findItem("COMMON.TLRNO");
|
||||
if (tlrno != null ) {
|
||||
tlrno.setValue("000000");
|
||||
}
|
||||
//COMMON.TX_DT 거래일자
|
||||
StandardItem txDt = standardMessage.findItem("COMMON.TX_DT");
|
||||
if (txDt != null ) {
|
||||
txDt.setValue(DatetimeUtil.getFormattedDate("yyyyMMdd"));
|
||||
}
|
||||
//COMMON.TX_TM 거래시간
|
||||
StandardItem txTm = standardMessage.findItem("COMMON.TX_TM");
|
||||
if (txTm != null ) {
|
||||
txTm.setValue(DatetimeUtil.getFormattedDate("HHmmssSSS"));
|
||||
}
|
||||
|
||||
//아래로직은 표준전문에서 요청일때 MESSAGE부가 안보이고 응답일때 MESSAGE부 보이게 설정
|
||||
String sendRecvDivision = mapper.getSendRecvDivision(standardMessage);
|
||||
StandardItem msg = standardMessage.findItem(MESSAGE);
|
||||
if (StringUtils.equals(sendRecvDivision, STDMessageKeys.SEND_RECV_CD_SEND)) {
|
||||
msg.setHidden(true);
|
||||
}
|
||||
if (StringUtils.equals(sendRecvDivision, STDMessageKeys.SEND_RECV_CD_RECV)) {
|
||||
msg.setHidden(false);
|
||||
}
|
||||
|
||||
//TODO 표준전문 메시지 설정해야됨
|
||||
//응답일경우 MESSAGE부에 정상 메시지 헤더를 설정하기 위해서
|
||||
if (StringUtils.equals(sendRecvDivision, STDMessageKeys.SEND_RECV_CD_RECV)) {
|
||||
StandardItem outputAtrbCd = standardMessage.findItem(MESSAGE_OUT_ATRB_CD);//출력속성코드
|
||||
outputAtrbCd.setValue("1");
|
||||
|
||||
mapper.setErrorCode(standardMessage, STDMessageErrorKeys.SUCCESS_CODE_VALUE);
|
||||
mapper.setErrorMsg(standardMessage, STDMessageErrorKeys.SUCCESS_MSG_VALUE);
|
||||
mapper.setResponseType(standardMessage, STDMessageKeys.RESPONSE_TYPE_CODE_N);
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public void coordinateInReturnObject(StandardMessage standardMessage) {
|
||||
//아래로직은 표준전문에서 응답일때 MESSAGE부가 보이게 하기위해서
|
||||
StandardMessageManager standardManager = StandardMessageManager.getInstance();
|
||||
InterfaceMapper mapper = standardManager.getMapper();
|
||||
mapper.setSendRecvDivision(standardMessage, STDMessageKeys.SEND_RECV_CD_RECV);
|
||||
StandardItem msg = standardMessage.findItem(MESSAGE);
|
||||
msg.setHidden(false);
|
||||
}
|
||||
public String getSysOprtEnvDvcd(EAIServerManager eaiServerManager) {
|
||||
String result = "";
|
||||
if (eaiServerManager.isPEAIServer()) { // 운영
|
||||
result = "R";
|
||||
} else if (eaiServerManager.isDEAIServer()) { // 개발
|
||||
result = "D";
|
||||
} else if (eaiServerManager.isSEAIServer()) { // 테스트/검증
|
||||
result = "T";
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void coordinateBeforeInboundErrorResponse(StandardMessage standardMessage) {
|
||||
StandardMessageManager standardManager = StandardMessageManager.getInstance();
|
||||
InterfaceMapper mapper = standardManager.getMapper();
|
||||
mapper.setSendRecvDivision(standardMessage, STDMessageKeys.SEND_RECV_CD_RECV);
|
||||
StandardItem msg = standardMessage.findItem(MESSAGE);
|
||||
msg.setHidden(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean coordinateSetStandardMessageError(StandardMessage standardMessage, InterfaceMapper mapper,
|
||||
String errCode, String errMsg) {
|
||||
String siteErrCode = null;
|
||||
String siteErrMessage = null;
|
||||
if(errCode != null) {
|
||||
siteErrCode = MessageUtil.getTobeCode(errCode);
|
||||
siteErrMessage = MessageUtil.getTobeMessage(errCode);
|
||||
}
|
||||
|
||||
String sendRecvDivision = mapper.getSendRecvDivision(standardMessage);
|
||||
if (StringUtils.equals(sendRecvDivision, STDMessageKeys.SEND_RECV_CD_RECV)) {
|
||||
StandardItem msg = standardMessage.findItem(MESSAGE);
|
||||
msg.setHidden(false);
|
||||
}
|
||||
|
||||
StandardItem outputAtrbCd = standardMessage.findItem(MESSAGE_OUT_ATRB_CD);//출력속성코드
|
||||
outputAtrbCd.setValue("1");
|
||||
|
||||
if (siteErrCode != null) {
|
||||
mapper.setErrorCode(standardMessage, siteErrCode);
|
||||
}else if (errCode != null) {
|
||||
mapper.setErrorCode(standardMessage, errCode);
|
||||
}
|
||||
|
||||
if (siteErrMessage != null) {
|
||||
mapper.setErrorMsg(standardMessage, siteErrMessage);
|
||||
}else if (errMsg != null){
|
||||
mapper.setErrorMsg(standardMessage, errMsg);
|
||||
}
|
||||
|
||||
StandardItem outputMsgDesc = standardMessage.findItem(MESSAGE_OUT_MSG_DESC);//출력메시지설명
|
||||
if (errMsg != null){
|
||||
outputMsgDesc.setValue(errMsg);
|
||||
}
|
||||
mapper.setResponseType(standardMessage, STDMessageKeys.RESPONSE_TYPE_CODE_E);
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
//복원시
|
||||
public void coordinateAfterRestored(StandardMessage dbMessage, StandardMessage responseMessage) {
|
||||
StandardMessageManager standardManager = StandardMessageManager.getInstance();
|
||||
InterfaceMapper mapper = standardManager.getMapper();
|
||||
String interfaceId = mapper.getInterfaceId(responseMessage);
|
||||
mapper.setInterfaceId(dbMessage, interfaceId);
|
||||
|
||||
String sendRecvDivision = mapper.getSendRecvDivision(responseMessage);
|
||||
mapper.setSendRecvDivision(dbMessage, sendRecvDivision);
|
||||
|
||||
String inExDivision = mapper.getInExDivision(responseMessage);
|
||||
mapper.setInExDivision(dbMessage, inExDivision);
|
||||
|
||||
String recoverYn = mapper.getRecoverYn(responseMessage);
|
||||
mapper.setRecoverYn(dbMessage, recoverYn);
|
||||
|
||||
//복원시 처리결과수신 서비스코드를 서비스코드에 셋팅한다.
|
||||
//처리결과수신값이 없을경우 원거래 서비스ID를 셋팅한다.
|
||||
String returnServiceId = mapper.getReturnServiceId(dbMessage);
|
||||
if (StringUtils.isBlank(returnServiceId)){
|
||||
returnServiceId = mapper.getServiceId(dbMessage);
|
||||
}
|
||||
mapper.setServiceId(dbMessage, returnServiceId);
|
||||
|
||||
//표준전문 메시지 관련 설정
|
||||
String dbSendRecvDivision = mapper.getSendRecvDivision(dbMessage);
|
||||
StandardItem msg = dbMessage.findItem(MESSAGE);
|
||||
if ( StringUtils.equals(dbSendRecvDivision, STDMessageKeys.SEND_RECV_CD_SEND)) {
|
||||
msg.setHidden(true);
|
||||
}
|
||||
if (StringUtils.equals(dbSendRecvDivision, STDMessageKeys.SEND_RECV_CD_RECV)) {
|
||||
msg.setHidden(false);
|
||||
}
|
||||
//응답일경우 MESSAGE부 정상설정
|
||||
if (StringUtils.equals(dbSendRecvDivision, STDMessageKeys.SEND_RECV_CD_RECV)) {
|
||||
StandardItem outputAtrbCd = dbMessage.findItem(MESSAGE_OUT_ATRB_CD);//출력속성코드
|
||||
outputAtrbCd.setValue("1");
|
||||
|
||||
mapper.setErrorCode(dbMessage, STDMessageErrorKeys.SUCCESS_CODE_VALUE);//출력메시지코드
|
||||
mapper.setErrorMsg(dbMessage, STDMessageErrorKeys.SUCCESS_MSG_VALUE);//출력메시지내용
|
||||
mapper.setResponseType(dbMessage, STDMessageKeys.RESPONSE_TYPE_CODE_N);
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public boolean coordinateIsWaitCheckForSync(StandardMessage responseMessage) {
|
||||
StandardItem outputMesgTycd = responseMessage.findItem(COMMON_OUT_FMSG_DSTCD);
|
||||
if (outputMesgTycd != null && StringUtils.equals(outputMesgTycd.getValue(), "9")) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
@Override
|
||||
public int coordinateForTimeoutCodeToValue(EAIMessage eaiMessage) {
|
||||
StandardMessageManager standardManager = StandardMessageManager.getInstance();
|
||||
InterfaceMapper mapper = standardManager.getMapper();
|
||||
EAIServerManager server = EAIServerManager.getInstance();
|
||||
if (server != null && server.isMCI()) { //MCI 일경우 처리
|
||||
StandardMessage standardMessage = eaiMessage.getStandardMessage();
|
||||
String timeout = mapper.getTimeout(standardMessage);
|
||||
int defaultTimeout = getDefaultTimeout();
|
||||
|
||||
if (StringUtils.isBlank(timeout)) {
|
||||
return defaultTimeout;
|
||||
}else {
|
||||
try {
|
||||
return Integer.parseInt(timeout);
|
||||
}catch(Exception e) {
|
||||
return defaultTimeout;
|
||||
}
|
||||
}
|
||||
}else { //MCI 이외일 경우 처리 (인터페이스에 있는 타임아웃기준)
|
||||
return eaiMessage.getCurrentSvcMsg().getTmoVl();
|
||||
}
|
||||
}
|
||||
private int getDefaultTimeout() {
|
||||
PropManager manager = PropManager.getInstance();
|
||||
int defaultTimeout = 30;
|
||||
try {
|
||||
String sdefaultTimeout = manager.getProperty("KAKAO_CARD", "DEFAULT_TIMEOUT", Integer.toString(defaultTimeout));
|
||||
defaultTimeout = Integer.parseInt(sdefaultTimeout);
|
||||
}catch(Exception e) {
|
||||
|
||||
}
|
||||
return defaultTimeout;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean coordinateValidation(StandardMessage standardMessage, ProcessVO vo) {
|
||||
// RECEAIIRP110 인터페이스 ({1}) 에 표준전문 항목 ({2}) 의 값이 없습니다.
|
||||
// RECEAIIRP120 인터페이스 ({1}) 에 표준전문 항목 ({2}) 의 값을 확인하세요.
|
||||
|
||||
StandardMessageManager standardManager = StandardMessageManager.getInstance();
|
||||
InterfaceMapper mapper = standardManager.getMapper();
|
||||
String interfaceId = mapper.getInterfaceId(standardMessage);
|
||||
|
||||
String guid = mapper.getGuid(standardMessage);
|
||||
if (StringUtils.isBlank(guid)) {
|
||||
vo.setRspErrorCode("RECEAIIRP110");
|
||||
vo.setRspErrorMsg(ExceptionUtil.make(vo.getRspErrorCode(), new String[] { interfaceId, "GUID" }));
|
||||
vo.setErrTypeCode(InboundErrorKeys.IN_ERROR);
|
||||
return false;
|
||||
}
|
||||
String guidSeq = mapper.getGuidSeq(standardMessage);
|
||||
if (StringUtils.isBlank(guidSeq)) {
|
||||
vo.setRspErrorCode("RECEAIIRP110");
|
||||
vo.setRspErrorMsg(ExceptionUtil.make(vo.getRspErrorCode(), new String[] { interfaceId, "GUID" }));
|
||||
vo.setErrTypeCode(InboundErrorKeys.IN_ERROR);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (guid.length() + guidSeq.length() != 36) {
|
||||
vo.setRspErrorCode("RECEAIIRP120");
|
||||
vo.setRspErrorMsg(ExceptionUtil.make(vo.getRspErrorCode(), new String[] { interfaceId, "GUID" }));
|
||||
vo.setErrTypeCode(InboundErrorKeys.IN_ERROR);
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,90 +0,0 @@
|
||||
package com.eactive.eai.custom.message;
|
||||
|
||||
import java.util.Properties;
|
||||
|
||||
import com.eactive.eai.common.server.EAIServerManager;
|
||||
import com.eactive.eai.common.server.Keys;
|
||||
import com.eactive.eai.common.util.DatetimeUtil;
|
||||
import com.eactive.eai.common.util.MessageUtil;
|
||||
import com.eactive.eai.common.util.StringUtil;
|
||||
import com.eactive.eai.message.StandardItem;
|
||||
import com.eactive.eai.message.StandardMessage;
|
||||
import com.eactive.eai.message.manager.StandardMessageManager;
|
||||
import com.eactive.eai.message.service.DefaultStandardMessageCoordinator;
|
||||
import com.eactive.eai.message.service.InterfaceMapper;
|
||||
import com.ext.eai.common.stdmessage.STDMessageKeys;
|
||||
|
||||
public class StandardMessageCoordinatorKBANK extends DefaultStandardMessageCoordinator {
|
||||
|
||||
private static final String MESSAGE_PART_SUB_MSG_GOUP = "message_part.subMsgGoup";
|
||||
private static final String MESSAGE_PART_MSG_TYPE = "message_part.msgType";
|
||||
private static final String MESSAGE_PART = "message_part";
|
||||
|
||||
@Override
|
||||
public void coordinateAfterParsing(StandardMessage standardMessage, Object paramObject, Properties prop) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void coordinateAfterCreateMessageByRule(StandardMessage standardMessage, Object paramObject, Properties prop) {
|
||||
// guid 설정
|
||||
StandardMessageManager standardManager = StandardMessageManager.getInstance();
|
||||
InterfaceMapper mapper = standardManager.getMapper();
|
||||
|
||||
String guid = GUIDGeneratorKBANK.makeGUID();
|
||||
|
||||
mapper.setGuid(standardMessage, guid);
|
||||
|
||||
String orgGuid = guid + mapper.getGuidSeq(standardMessage);
|
||||
|
||||
mapper.setOrgGuid(standardMessage, orgGuid);
|
||||
|
||||
mapper.setOperationEnv(standardMessage, System.getProperty(Keys.EAI_SYSTEMMODE));
|
||||
|
||||
mapper.setFirstReqIp(standardMessage, EAIServerManager.getInstance().getServerIp());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean coordinateSetStandardMessageError(StandardMessage standardMessage, InterfaceMapper mapper,
|
||||
String errCode, String errMsg) {
|
||||
|
||||
mapper.setResponseType(standardMessage, STDMessageKeys.RESPONSE_TYPE_CODE_E);
|
||||
|
||||
StandardItem messagePart = standardMessage.findItem(MESSAGE_PART);
|
||||
messagePart.setHidden(false);
|
||||
messagePart.setSize(1);
|
||||
StandardItem messageType = standardMessage.findItem(MESSAGE_PART_MSG_TYPE);
|
||||
messageType.setValue("99");
|
||||
StandardItem subMsgGoup = standardMessage.findItem(MESSAGE_PART_SUB_MSG_GOUP);
|
||||
subMsgGoup.getList().clear();
|
||||
subMsgGoup.setRefValue("0");
|
||||
|
||||
if(errCode != null) {
|
||||
String siteErrCode = MessageUtil.getTobeCode(errCode);
|
||||
String siteErrMessage;
|
||||
switch(errCode) {
|
||||
case("RECEAIIRP070"):
|
||||
siteErrMessage = "거래 통제 되었습니다.";
|
||||
break;
|
||||
default:
|
||||
siteErrMessage = MessageUtil.getTobeMessage(errCode); break;
|
||||
}
|
||||
|
||||
mapper.setErrorCode(standardMessage, siteErrCode);
|
||||
mapper.setErrorMsg(standardMessage, siteErrMessage);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void coordinateAfterRecvNonStdSyncResponse(StandardMessage responseMessage) {
|
||||
StandardItem messagePart = responseMessage.findItem(MESSAGE_PART);
|
||||
messagePart.setHidden(false);
|
||||
messagePart.setSize(1);
|
||||
StandardItem subMsgGoup = responseMessage.findItem(MESSAGE_PART_SUB_MSG_GOUP);
|
||||
subMsgGoup.getList().clear();
|
||||
subMsgGoup.setRefValue("0");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,199 +0,0 @@
|
||||
package com.eactive.eai.custom.message;
|
||||
|
||||
import com.eactive.eai.adapter.AdapterGroupVO;
|
||||
import com.eactive.eai.adapter.AdapterManager;
|
||||
import com.eactive.eai.common.dao.Keys;
|
||||
import com.eactive.eai.common.server.EAIServerManager;
|
||||
import com.eactive.eai.common.util.DatetimeUtil;
|
||||
import com.eactive.eai.common.util.Logger;
|
||||
import com.eactive.eai.common.util.MessageUtil;
|
||||
import com.eactive.eai.common.util.StringUtil;
|
||||
import com.eactive.eai.inbound.processor.ProcessVO;
|
||||
import com.eactive.eai.inbound.processor.Processor;
|
||||
import com.eactive.eai.message.StandardItem;
|
||||
import com.eactive.eai.message.StandardMessage;
|
||||
import com.eactive.eai.message.manager.StandardMessageManager;
|
||||
import com.eactive.eai.message.service.DefaultStandardMessageCoordinator;
|
||||
import com.eactive.eai.message.service.InterfaceMapper;
|
||||
import com.ext.eai.common.stdmessage.STDMessageKeys;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import java.net.UnknownHostException;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Properties;
|
||||
|
||||
public class StandardMessageCoordinatorKJB extends DefaultStandardMessageCoordinator {
|
||||
private static Logger logger = Logger.getLogger(Logger.LOGGER_DEFAULT);
|
||||
|
||||
private static final String MESSAGE_PART = "Message";
|
||||
private static final String MESSAGE_PART_HEADER_PART = "Message.Msg_Header";
|
||||
private static final String MESSAGE_PART_MSG_HEDR_KNCD = "Message.Msg_Header.MSG_HEDR_KNCD";
|
||||
private static final String MESSAGE_PART_MSG_HEDR_LEN = "Message.Msg_Header.MSG_HEDR_LEN";
|
||||
private static final String MESSAGE_PART_BODY_PART = "Message.Msg_Body";
|
||||
private static final String MESSAGE_PART_OUTPUT_MSG_CD = "Message.Msg_Body.OUTPUT_MSG_CD";
|
||||
private static final String MESSAGE_PART_OUTPUT_MSG_CTNT = "Message.Msg_Body.OUTPUT_MSG_CTNT";
|
||||
private static final String MESSAGE_PART_OUTPUT_MSG_GRID = "Message.Msg_Body.Output_Msg_Grid";
|
||||
private static final String COMMON_PART_GROUP_CMD_CD = "Common.Service_info.GROUP_CMP_CD";
|
||||
private static final String COMMON_PART_OTSD_CHNL_INST_CD = "Common.Service_info.OTSD_CHNL_INST_CD";
|
||||
private static final String DATA_HEADER_DATA_HEDR_LEN = "Data_Part.Data_Header.DATA_HEDR_LEN";
|
||||
|
||||
@Override
|
||||
public void coordinateAfterParsing(StandardMessage standardMessage, Object paramObject, Properties prop) {
|
||||
super.coordinateAfterParsing(standardMessage, paramObject, prop);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void coordinateBeforeStandardMessageSend(StandardMessage standardMessage, String msgType, String charset) {
|
||||
makeupDataHeaderLength(standardMessage, charset);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void coordinateBeforeResponse(StandardMessage standardMessage, ProcessVO processVO, Properties prop, String charset) {
|
||||
makeupDataHeaderLength(standardMessage, charset);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void coordinateAfterCreateMessageByRule(StandardMessage standardMessage, Object paramObject, Properties prop) {
|
||||
// guid 설정
|
||||
StandardMessageManager standardManager = StandardMessageManager.getInstance();
|
||||
InterfaceMapper mapper = standardManager.getMapper();
|
||||
|
||||
//GUID 설정
|
||||
String groupCmdCd = standardMessage.findItemValue(COMMON_PART_GROUP_CMD_CD);
|
||||
|
||||
String guid = GUIDGeneratorKJB.getGUID(groupCmdCd);
|
||||
|
||||
mapper.setGuid(standardMessage, guid);
|
||||
|
||||
StandardItem dataHeaderEtc = standardMessage.findItem("Data_Part.Data_Header_Etc");
|
||||
dataHeaderEtc.setHidden(true);
|
||||
|
||||
//기관코드, 텔러번호 설정
|
||||
//Adapter에 셋팅된 기관코드를 셋팅한다.
|
||||
String adapterGroupName = prop.getProperty(Processor.ADAPTER_GROUP_NAME);
|
||||
AdapterManager adapterManager = AdapterManager.getInstance();
|
||||
AdapterGroupVO adptGrpVO = adapterManager.getAdapterGroupVO(adapterGroupName);
|
||||
|
||||
// Adapter의 기관코드를 얻어온다.
|
||||
//TODO: 기관코드의 경우 현재 EAPIM 시스템에 컬럼은 있으나 설정을 사용하지 않고있으므로 불필요 할 경우 사용하지 않는다, 필요 할 경우 추가한다.
|
||||
String inAdapterOsidInstiNo = adptGrpVO.getOsidInstiNo();
|
||||
if(inAdapterOsidInstiNo != null && inAdapterOsidInstiNo.trim().length() > 0) {
|
||||
standardMessage.setData(COMMON_PART_OTSD_CHNL_INST_CD, inAdapterOsidInstiNo);
|
||||
if (logger.isDebug()) {
|
||||
logger.debug("FIELD SET " + COMMON_PART_OTSD_CHNL_INST_CD + " << "+inAdapterOsidInstiNo);
|
||||
}
|
||||
}
|
||||
|
||||
//2012-12-17 나영채 차장 타발요청에만 셋팅해달라고 요청
|
||||
//전문요청일자
|
||||
standardMessage.setData("Common.BizProc_Info.MESG_DMAN_DT", DatetimeUtil.getCurrentDate());
|
||||
//전문요청시간
|
||||
standardMessage.setData("Common.BizProc_Info.MESG_DMAN_TKTM", DatetimeUtil.getFormattedDate("HHmmssSSS"));
|
||||
|
||||
|
||||
//2012-07-24 임의 로 영업일자에 system시간 설정
|
||||
standardMessage.setData("Common.BizProc_Info.BZOP_DT", DatetimeUtil.getCurrentDate());
|
||||
|
||||
EAIServerManager eaiServerManager = EAIServerManager.getInstance();
|
||||
//비표준일경우 시스템 운영환경 구분코드를 셋팅한다.
|
||||
standardMessage.setData("Common.Service_info.SYS_OPRT_ENV_DVCD", getSysOprtEnvDvcd(eaiServerManager));
|
||||
|
||||
//헤더부 최초전송IP주소 FRST_TRNM_IPAD
|
||||
try {
|
||||
standardMessage.setData("Header.Src_System.FRST_TRNM_IPAD", java.net.InetAddress.getLocalHost().getHostAddress());
|
||||
} catch (UnknownHostException e) {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean coordinateSetStandardMessageError(StandardMessage standardMessage, InterfaceMapper mapper,
|
||||
String errCode, String errMsg) {
|
||||
|
||||
mapper.setResponseType(standardMessage, STDMessageKeys.RESPONSE_TYPE_CODE_E);
|
||||
mapper.setSendRecvDivision(standardMessage, STDMessageKeys.SEND_RECV_CD_RECV);
|
||||
|
||||
StandardItem messagePart = standardMessage.findItem(MESSAGE_PART);
|
||||
messagePart.setHidden(false);
|
||||
messagePart.setSize(1);
|
||||
|
||||
StandardItem messageHeaderPart = standardMessage.findItem(MESSAGE_PART_HEADER_PART);
|
||||
messageHeaderPart.setSize(1);
|
||||
StandardItem messageBodyPart = standardMessage.findItem(MESSAGE_PART_BODY_PART);
|
||||
messageBodyPart.setSize(1);
|
||||
|
||||
errCode = StringUtils.defaultString(errCode);
|
||||
String siteErrCode = MessageUtil.getTobeCode(errCode);
|
||||
String siteErrMessage;
|
||||
switch(errCode) {
|
||||
case("RECEAIIRP070"):
|
||||
siteErrMessage = "거래 통제 되었습니다.";
|
||||
break;
|
||||
default:
|
||||
siteErrMessage = MessageUtil.getTobeMessage(errCode);
|
||||
break;
|
||||
}
|
||||
|
||||
mapper.setErrorCode(standardMessage, siteErrCode);
|
||||
|
||||
standardMessage.setData(MESSAGE_PART_MSG_HEDR_KNCD, "EM");
|
||||
standardMessage.setData(MESSAGE_PART_OUTPUT_MSG_CD, siteErrCode);
|
||||
StandardItem msgGrid = standardMessage.findItem(MESSAGE_PART_OUTPUT_MSG_GRID);
|
||||
LinkedHashMap<String, StandardItem> msgGridFirstChilds = msgGrid.getArrayChilds(0, true);
|
||||
msgGridFirstChilds.get("OUTPUT_MSG_CD").setValue(siteErrCode);
|
||||
msgGridFirstChilds.get("OUTPUT_MSG_CTNT").setValue(siteErrMessage);
|
||||
//Message.Msg_Body.OUTPUT_MSG_CTNT
|
||||
mapper.setErrorMsg(standardMessage, siteErrMessage);
|
||||
int len = standardMessage.getBytesDataLengthForPath(MESSAGE_PART_BODY_PART);
|
||||
String lenStr = StringUtils.leftPad(String.valueOf(len), 8, '0');
|
||||
standardMessage.setData(MESSAGE_PART_MSG_HEDR_LEN, lenStr);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void coordinateAfterRecvNonStdSyncResponse(StandardMessage responseMessage) {
|
||||
StandardItem messagePart = responseMessage.findItem(MESSAGE_PART);
|
||||
messagePart.setHidden(false);
|
||||
messagePart.setSize(1);
|
||||
|
||||
StandardItem messageHeaderPart = responseMessage.findItem(MESSAGE_PART_HEADER_PART);
|
||||
messageHeaderPart.setSize(1);
|
||||
StandardItem messageBodyPart = responseMessage.findItem(MESSAGE_PART_BODY_PART);
|
||||
messageBodyPart.setSize(1);
|
||||
|
||||
responseMessage.setData(MESSAGE_PART_MSG_HEDR_KNCD, "NM");
|
||||
responseMessage.setData(MESSAGE_PART_OUTPUT_MSG_CD, "100000 ");
|
||||
responseMessage.setData(MESSAGE_PART_OUTPUT_MSG_CTNT, "정상처리");
|
||||
StandardItem msgGrid = responseMessage.findItem(MESSAGE_PART_OUTPUT_MSG_GRID);
|
||||
LinkedHashMap<String, StandardItem> msgGridFirstChilds = msgGrid.getArrayChilds(0, true);
|
||||
msgGridFirstChilds.get("OUTPUT_MSG_CD").setValue("100000 ");
|
||||
msgGridFirstChilds.get("OUTPUT_MSG_CTNT").setValue("정상처리");
|
||||
int len = responseMessage.getBytesDataLengthForPath(MESSAGE_PART_BODY_PART);
|
||||
String lenStr = StringUtils.leftPad(String.valueOf(len), 8, '0');
|
||||
responseMessage.setData(MESSAGE_PART_MSG_HEDR_LEN, lenStr);
|
||||
}
|
||||
|
||||
public String getSysOprtEnvDvcd(EAIServerManager eaiServerManager) {
|
||||
String result = "";
|
||||
if (eaiServerManager.isPEAIServer()){ //운영
|
||||
result = STDMessageKeys.SYS_OPRT_ENV_DVCD_ONLINE;
|
||||
}else if (eaiServerManager.isDEAIServer()){ //개발
|
||||
result = STDMessageKeys.SYS_OPRT_ENV_DVCD_DEV;
|
||||
}else if (eaiServerManager.isSEAIServer()){ //테스트/검증
|
||||
result = STDMessageKeys.SYS_OPRT_ENV_DVCD_TESTSTAGE;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private static void makeupDataHeaderLength(StandardMessage standardMessage, String charset) {
|
||||
String dataBytesLengthStr = null;
|
||||
try {
|
||||
dataBytesLengthStr = String.valueOf(standardMessage.getBizDataBytes(charset).length);
|
||||
String dataHeaderLength = StringUtils.leftPad(dataBytesLengthStr, 8, '0');
|
||||
standardMessage.setData(DATA_HEADER_DATA_HEDR_LEN, dataHeaderLength);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,142 +0,0 @@
|
||||
package com.eactive.eai.custom.message;
|
||||
|
||||
import java.net.InetAddress;
|
||||
import java.net.UnknownHostException;
|
||||
import java.util.Properties;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import com.eactive.eai.common.server.EAIServerManager;
|
||||
import com.eactive.eai.common.util.DatetimeUtil;
|
||||
import com.eactive.eai.common.util.Logger;
|
||||
import com.eactive.eai.inbound.processor.ProcessVO;
|
||||
import com.eactive.eai.message.StandardItem;
|
||||
import com.eactive.eai.message.StandardMessage;
|
||||
import com.eactive.eai.message.manager.StandardMessageManager;
|
||||
import com.eactive.eai.message.service.DefaultStandardMessageCoordinator;
|
||||
import com.eactive.eai.message.service.InterfaceMapper;
|
||||
import com.eactive.eai.message.service.StandardMessageCoordinator;
|
||||
|
||||
public class StandardMessageCoordinatorSBI extends DefaultStandardMessageCoordinator {
|
||||
static Logger logger = Logger.getLogger(Logger.LOGGER_DEFAULT);
|
||||
|
||||
@Override
|
||||
public void coordinateAfterCreateMessageByRule(StandardMessage message, Object paramObject, Properties prop) {
|
||||
// STD_HEADER.mesgDvcd 설정
|
||||
StandardItem mesgDvcdItem = message.findItem("STD_HEADER.mesgDvcd");
|
||||
if (mesgDvcdItem != null && StringUtils.equals(mesgDvcdItem.getValue(), "S")) {
|
||||
mesgDvcdItem.setValue("Q");
|
||||
}
|
||||
|
||||
// STD_HEADER.mesgKind 설정
|
||||
StandardItem mesgKindItem = message.findItem("STD_HEADER.mesgKind");
|
||||
if (mesgKindItem != null && StringUtils.isBlank(mesgKindItem.getValue())) {
|
||||
mesgKindItem.setValue("3"); // 3:데이터 4:시스템
|
||||
}
|
||||
|
||||
// STD_HEADER.envDvcd 설정
|
||||
StandardItem envDvcdItem = message.findItem("STD_HEADER.envDvcd");
|
||||
EAIServerManager eaiServerManager = EAIServerManager.getInstance();
|
||||
if (envDvcdItem != null && StringUtils.isBlank(envDvcdItem.getValue())) {
|
||||
envDvcdItem.setValue(getSysOprtEnvDvcd(eaiServerManager));
|
||||
}
|
||||
|
||||
// guid 설정
|
||||
StandardMessageManager standardManager = StandardMessageManager.getInstance();
|
||||
InterfaceMapper mapper = standardManager.getMapper();
|
||||
mapper.setGuid(message,
|
||||
GUIDGeneratorSBI.getGUID(getSysOprtEnvDvcd(eaiServerManager), eaiServerManager.getSystemType()));
|
||||
|
||||
// STD_HEADER.frstTrnmChnlCd 설정
|
||||
StandardItem frstTrnmChnlCdItem = message.findItem("STD_HEADER.frstTrnmChnlCd");
|
||||
if (frstTrnmChnlCdItem != null && StringUtils.isBlank(frstTrnmChnlCdItem.getValue())) {
|
||||
frstTrnmChnlCdItem.setValue(eaiServerManager.getSystemType());
|
||||
}
|
||||
|
||||
// STD_HEADER.trnmChnlCd 설정
|
||||
StandardItem trnmChnlCdItem = message.findItem("STD_HEADER.trnmChnlCd");
|
||||
if (trnmChnlCdItem != null && StringUtils.isBlank(trnmChnlCdItem.getValue())) {
|
||||
trnmChnlCdItem.setValue(eaiServerManager.getSystemType());
|
||||
}
|
||||
|
||||
// STD_HEADER.userNo 설정
|
||||
StandardItem userNoItem = message.findItem("STD_HEADER.userNo");
|
||||
if (userNoItem != null && StringUtils.isBlank(userNoItem.getValue())) {
|
||||
ProcessVO processVo = (ProcessVO) paramObject;
|
||||
if (StringUtils.isNotBlank(processVo.getInAdapterUserEmpid())) {
|
||||
userNoItem.setValue(eaiServerManager.getSystemType());
|
||||
}
|
||||
}
|
||||
|
||||
// STD_HEADER.mesgDmndDttm 설정
|
||||
StandardItem mesgDmndDttmItem = message.findItem("STD_HEADER.mesgDmndDttm");
|
||||
if (mesgDmndDttmItem != null && StringUtils.isBlank(mesgDmndDttmItem.getValue())) {
|
||||
mesgDmndDttmItem.setValue(DatetimeUtil.getCurrentTimeMillis());
|
||||
}
|
||||
|
||||
// STD_HEADER.ipAd 설정
|
||||
StandardItem ipAdItem = message.findItem("STD_HEADER.ipAd");
|
||||
if (ipAdItem != null && StringUtils.isBlank(ipAdItem.getValue())) {
|
||||
try {
|
||||
ipAdItem.setValue(InetAddress.getLocalHost().getHostAddress());
|
||||
} catch (UnknownHostException e) {
|
||||
logger.error(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
// STD_HEADER.mesgTycd 설정
|
||||
StandardItem mesgTycdItem = message.findItem("STD_HEADER.mesgTycd");
|
||||
if (mesgTycdItem != null && StringUtils.isBlank(mesgTycdItem.getValue())) {
|
||||
mesgTycdItem.setValue("1");
|
||||
}
|
||||
|
||||
// STD_HEADER.mesgCntySrno 설정
|
||||
StandardItem mesgCntySrnoItem = message.findItem("STD_HEADER.mesgCntySrno");
|
||||
if (mesgCntySrnoItem != null && StringUtils.isBlank(mesgCntySrnoItem.getValue())) {
|
||||
mesgCntySrnoItem.setValue("00");
|
||||
}
|
||||
|
||||
// STD_HEADER.bfrDtLoinYn 설정
|
||||
StandardItem bfrDtLoinYnItem = message.findItem("STD_HEADER.bfrDtLoinYn");
|
||||
if (bfrDtLoinYnItem != null && StringUtils.isBlank(bfrDtLoinYnItem.getValue())) {
|
||||
bfrDtLoinYnItem.setValue("N");
|
||||
}
|
||||
|
||||
// STD_HEADER.canCrctDvcd 설정
|
||||
StandardItem canCrctDvcdItem = message.findItem("STD_HEADER.canCrctDvcd");
|
||||
if (canCrctDvcdItem != null && StringUtils.isBlank(canCrctDvcdItem.getValue())) {
|
||||
canCrctDvcdItem.setValue("0");
|
||||
}
|
||||
|
||||
// STD_HEADER.cmpgRelmUseDvcd 설정
|
||||
StandardItem cmpgRelmUseDvcdItem = message.findItem("STD_HEADER.cmpgRelmUseDvcd");
|
||||
if (cmpgRelmUseDvcdItem != null && StringUtils.isBlank(cmpgRelmUseDvcdItem.getValue())) {
|
||||
cmpgRelmUseDvcdItem.setValue("0");
|
||||
}
|
||||
|
||||
// STD_HEADER.bzwrSvrCd 설정
|
||||
StandardItem bzwrSvrCdItem = message.findItem("STD_HEADER.bzwrSvrCd");
|
||||
if (bzwrSvrCdItem != null && StringUtils.isBlank(bzwrSvrCdItem.getValue())) {
|
||||
String serverName = eaiServerManager.getLocalServerName();
|
||||
if (StringUtils.isNotBlank(serverName)) {
|
||||
String instanceid1 = serverName.substring(0, 2);
|
||||
String instanceid2 = serverName.substring(serverName.length() - 2, serverName.length());
|
||||
bzwrSvrCdItem.setValue(StringUtils.upperCase(instanceid1 + instanceid2));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public String getSysOprtEnvDvcd(EAIServerManager eaiServerManager) {
|
||||
String result = "";
|
||||
if (eaiServerManager.isPEAIServer()) { // 운영
|
||||
result = "R";
|
||||
} else if (eaiServerManager.isDEAIServer()) { // 개발
|
||||
result = "D";
|
||||
} else if (eaiServerManager.isSEAIServer()) { // 테스트/검증
|
||||
result = "T";
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user