202 lines
5.9 KiB
Java
202 lines
5.9 KiB
Java
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;
|
|
}
|
|
} |