아마란스 결재 반영영
This commit is contained in:
@@ -31,7 +31,7 @@ public class AmaranthApprovalApiClient {
|
||||
private static final String ACCESS_TOKEN = "MN5KzKBWRAa92BPxDlRLl3GcsxeZXc";
|
||||
private static final String HASH_KEY = "22519103205540290721741689643674301018832465";
|
||||
private static final String GROUP_SEQ = "gcmsAmaranth40578";
|
||||
private static final String AES_KEY = "gcmsAmaranth40578"; // SSO 암호화 키
|
||||
private static final String AES_KEY = "8441e27489d402cd"; // SSO 암호화 키 (API상품연동설정에서 확인)
|
||||
|
||||
/**
|
||||
* 인증 토큰 발급
|
||||
@@ -827,11 +827,13 @@ public class AmaranthApprovalApiClient {
|
||||
* @param mod 작성/보기/삭제 구분 (W:작성, V:보기, D:삭제)
|
||||
* @param compSeq 회사 시퀀스 (선택, 겸직별 결재 시 필요)
|
||||
* @param deptSeq 부서 시퀀스 (선택, 겸직별 결재 시 필요)
|
||||
* @param loginId 로그인 아이디 (appParams에 포함, 선택)
|
||||
* @return API 응답 JSON (resultData.fullUrl 포함)
|
||||
*/
|
||||
public String getSsoUrl(String baseUrl, String empSeq, String outProcessCode,
|
||||
String formId, String approKey, String subjectStr,
|
||||
String mod, String compSeq, String deptSeq) throws Exception {
|
||||
String mod, String compSeq, String deptSeq,
|
||||
String loginId) throws Exception {
|
||||
|
||||
System.out.println("=== Amaranth SSO URL 생성 시작 ===");
|
||||
System.out.println("empSeq: " + empSeq + ", outProcessCode: " + outProcessCode + ", formId: " + formId);
|
||||
@@ -885,7 +887,7 @@ public class AmaranthApprovalApiClient {
|
||||
|
||||
// 요청 본문 구성
|
||||
String requestBody = buildSsoRequestBody(empSeqEnc, outProcessCode, formId,
|
||||
approKey, subjectStr, mod, compSeq, deptSeq);
|
||||
approKey, subjectStr, mod, compSeq, deptSeq, loginId);
|
||||
|
||||
System.out.println("[2단계] SSO API 호출 - URL: " + fullUrl);
|
||||
System.out.println("[2단계] Request Body: " + requestBody);
|
||||
@@ -940,7 +942,8 @@ public class AmaranthApprovalApiClient {
|
||||
private String buildSsoRequestBody(String empSeqEnc, String outProcessCode,
|
||||
String formId, String approKey,
|
||||
String subjectStr, String mod,
|
||||
String compSeq, String deptSeq) {
|
||||
String compSeq, String deptSeq,
|
||||
String loginId) {
|
||||
StringBuilder json = new StringBuilder();
|
||||
json.append("{");
|
||||
json.append("\"header\":{},");
|
||||
@@ -965,6 +968,11 @@ public class AmaranthApprovalApiClient {
|
||||
json.append("\"approKey\":\"").append(escapeJson(approKey)).append("\",");
|
||||
json.append("\"mod\":\"").append(escapeJson(mod)).append("\"");
|
||||
|
||||
// loginId (가이드 예제에 따라 appParams에 포함)
|
||||
if (loginId != null && !loginId.isEmpty()) {
|
||||
json.append(",\"loginId\":\"").append(escapeJson(loginId)).append("\"");
|
||||
}
|
||||
|
||||
// outProcessCode 또는 formId (둘 중 하나 필수)
|
||||
if (outProcessCode != null && !outProcessCode.isEmpty()) {
|
||||
json.append(",\"outProcessCode\":\"").append(escapeJson(outProcessCode)).append("\"");
|
||||
@@ -978,6 +986,9 @@ public class AmaranthApprovalApiClient {
|
||||
json.append(",\"subjectStr\":\"").append(escapeJson(subjectStr)).append("\"");
|
||||
}
|
||||
|
||||
// 본문 인코딩 (UTF-8)
|
||||
json.append(",\"contentsEnc\":\"U\"");
|
||||
|
||||
json.append("}"); // appParams 닫기
|
||||
json.append("}"); // body 닫기
|
||||
json.append("}"); // root 닫기
|
||||
|
||||
Reference in New Issue
Block a user