Refactor code structure for improved readability and maintainability
This commit is contained in:
@@ -14,34 +14,34 @@ public class MultilangService extends BaseService {
|
||||
private static final String NS = "multilang.";
|
||||
|
||||
public List<Map<String, Object>> getLanguages() {
|
||||
return sqlSession.selectList(NS + "get_multilang_language_list", new HashMap<>());
|
||||
return sqlSession.selectList(NS + "getMultilangLanguageList", new HashMap<>());
|
||||
}
|
||||
|
||||
public Map<String, Object> createLanguage(Map<String, Object> params) {
|
||||
String langCode = str(params.get("lang_code"));
|
||||
Map<String, Object> check = Map.of("lang_code", langCode);
|
||||
if (sqlSession.selectOne(NS + "get_multilang_language_info", check) != null) {
|
||||
if (sqlSession.selectOne(NS + "getMultilangLanguageInfo", check) != null) {
|
||||
throw new IllegalArgumentException("이미 존재하는 언어 코드입니다: " + langCode);
|
||||
}
|
||||
if (params.get("is_active") == null) params.put("is_active", "Y");
|
||||
if (params.get("sort_order") == null) params.put("sort_order", 0);
|
||||
sqlSession.insert(NS + "insert_multilang_language", params);
|
||||
return sqlSession.selectOne(NS + "get_multilang_language_info", check);
|
||||
sqlSession.insert(NS + "insertMultilangLanguage", params);
|
||||
return sqlSession.selectOne(NS + "getMultilangLanguageInfo", check);
|
||||
}
|
||||
|
||||
public Map<String, Object> updateLanguage(String langCode, Map<String, Object> params) {
|
||||
params.put("lang_code", langCode);
|
||||
Map<String, Object> check = Map.of("lang_code", langCode);
|
||||
if (sqlSession.selectOne(NS + "get_multilang_language_info", check) == null) {
|
||||
if (sqlSession.selectOne(NS + "getMultilangLanguageInfo", check) == null) {
|
||||
throw new IllegalArgumentException("언어를 찾을 수 없습니다: " + langCode);
|
||||
}
|
||||
sqlSession.update(NS + "update_multilang_language", params);
|
||||
return sqlSession.selectOne(NS + "get_multilang_language_info", check);
|
||||
sqlSession.update(NS + "updateMultilangLanguage", params);
|
||||
return sqlSession.selectOne(NS + "getMultilangLanguageInfo", check);
|
||||
}
|
||||
|
||||
public String toggleLanguage(String langCode) {
|
||||
Map<String, Object> check = Map.of("lang_code", langCode);
|
||||
Map<String, Object> current = sqlSession.selectOne(NS + "get_multilang_language_info", check);
|
||||
Map<String, Object> current = sqlSession.selectOne(NS + "getMultilangLanguageInfo", check);
|
||||
if (current == null) {
|
||||
throw new IllegalArgumentException("언어를 찾을 수 없습니다: " + langCode);
|
||||
}
|
||||
@@ -50,72 +50,72 @@ public class MultilangService extends BaseService {
|
||||
params.put("lang_code", langCode);
|
||||
params.put("new_status", newStatus);
|
||||
params.put("updated_by", "system");
|
||||
sqlSession.update(NS + "update_multilang_language_status", params);
|
||||
sqlSession.update(NS + "updateMultilangLanguageStatus", params);
|
||||
return "Y".equals(newStatus) ? "활성화" : "비활성화";
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public void deleteLanguage(String langCode) {
|
||||
Map<String, Object> check = Map.of("lang_code", langCode);
|
||||
if (sqlSession.selectOne(NS + "get_multilang_language_info", check) == null) {
|
||||
if (sqlSession.selectOne(NS + "getMultilangLanguageInfo", check) == null) {
|
||||
throw new IllegalArgumentException("언어를 찾을 수 없습니다: " + langCode);
|
||||
}
|
||||
Map<String, Object> params = Map.of("lang_code", langCode);
|
||||
sqlSession.delete(NS + "delete_multilang_text_by_lang_code", params);
|
||||
sqlSession.delete(NS + "delete_multilang_language", params);
|
||||
sqlSession.delete(NS + "deleteMultilangTextByLangCode", params);
|
||||
sqlSession.delete(NS + "deleteMultilangLanguage", params);
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> getLangKeys(Map<String, Object> params) {
|
||||
if (params.containsKey("company_code")) {
|
||||
params.put("filter_company_code", params.get("company_code"));
|
||||
}
|
||||
return sqlSession.selectList(NS + "get_multilang_key_list", params);
|
||||
return sqlSession.selectList(NS + "getMultilangKeyList", params);
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> getLangTexts(int keyId) {
|
||||
return sqlSession.selectList(NS + "get_multilang_text_list", Map.of("key_id", keyId));
|
||||
return sqlSession.selectList(NS + "getMultilangTextList", Map.of("key_id", keyId));
|
||||
}
|
||||
|
||||
public int createLangKey(Map<String, Object> params) {
|
||||
String companyCode = str(params.get("company_code"));
|
||||
String langKey = str(params.get("lang_key"));
|
||||
Map<String, Object> dupCheck = Map.of("company_code", companyCode, "lang_key", langKey);
|
||||
if (sqlSession.selectOne(NS + "get_multilang_key_by_company_and_key", dupCheck) != null) {
|
||||
if (sqlSession.selectOne(NS + "getMultilangKeyByCompanyAndKey", dupCheck) != null) {
|
||||
throw new IllegalArgumentException("동일한 회사에 이미 존재하는 언어키입니다: " + langKey);
|
||||
}
|
||||
if (params.get("is_active") == null) params.put("is_active", "Y");
|
||||
sqlSession.insert(NS + "insert_multilang_key", params);
|
||||
sqlSession.insert(NS + "insertMultilangKey", params);
|
||||
return toInt(params.get("key_id"));
|
||||
}
|
||||
|
||||
public void updateLangKey(int keyId, Map<String, Object> params) {
|
||||
params.put("key_id", keyId);
|
||||
if (sqlSession.selectOne(NS + "get_multilang_key_info", Map.of("key_id", keyId)) == null) {
|
||||
if (sqlSession.selectOne(NS + "getMultilangKeyInfo", Map.of("key_id", keyId)) == null) {
|
||||
throw new IllegalArgumentException("다국어 키를 찾을 수 없습니다: " + keyId);
|
||||
}
|
||||
String companyCode = str(params.get("company_code"));
|
||||
String langKey = str(params.get("lang_key"));
|
||||
if (!companyCode.isEmpty() && !langKey.isEmpty()) {
|
||||
Map<String, Object> dupCheck = Map.of("company_code", companyCode, "lang_key", langKey, "key_id", keyId);
|
||||
if (sqlSession.selectOne(NS + "get_multilang_key_by_company_and_key_exclude", dupCheck) != null) {
|
||||
if (sqlSession.selectOne(NS + "getMultilangKeyByCompanyAndKeyExclude", dupCheck) != null) {
|
||||
throw new IllegalArgumentException("동일한 회사에 이미 존재하는 언어키입니다: " + langKey);
|
||||
}
|
||||
}
|
||||
sqlSession.update(NS + "update_multilang_key", params);
|
||||
sqlSession.update(NS + "updateMultilangKey", params);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public void deleteLangKey(int keyId) {
|
||||
if (sqlSession.selectOne(NS + "get_multilang_key_info", Map.of("key_id", keyId)) == null) {
|
||||
if (sqlSession.selectOne(NS + "getMultilangKeyInfo", Map.of("key_id", keyId)) == null) {
|
||||
throw new IllegalArgumentException("다국어 키를 찾을 수 없습니다: " + keyId);
|
||||
}
|
||||
Map<String, Object> params = Map.of("key_id", keyId);
|
||||
sqlSession.delete(NS + "delete_multilang_text_by_key_id", params);
|
||||
sqlSession.delete(NS + "delete_multilang_key", params);
|
||||
sqlSession.delete(NS + "deleteMultilangTextByKeyId", params);
|
||||
sqlSession.delete(NS + "deleteMultilangKey", params);
|
||||
}
|
||||
|
||||
public String toggleLangKey(int keyId) {
|
||||
Map<String, Object> current = sqlSession.selectOne(NS + "get_multilang_key_info", Map.of("key_id", keyId));
|
||||
Map<String, Object> current = sqlSession.selectOne(NS + "getMultilangKeyInfo", Map.of("key_id", keyId));
|
||||
if (current == null) {
|
||||
throw new IllegalArgumentException("다국어 키를 찾을 수 없습니다: " + keyId);
|
||||
}
|
||||
@@ -124,21 +124,21 @@ public class MultilangService extends BaseService {
|
||||
params.put("key_id", keyId);
|
||||
params.put("new_status", newStatus);
|
||||
params.put("updated_by", "system");
|
||||
sqlSession.update(NS + "update_multilang_key_status", params);
|
||||
sqlSession.update(NS + "updateMultilangKeyStatus", params);
|
||||
return "Y".equals(newStatus) ? "활성화" : "비활성화";
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public void saveLangTexts(int keyId, List<Map<String, Object>> texts) {
|
||||
if (sqlSession.selectOne(NS + "get_multilang_key_info", Map.of("key_id", keyId)) == null) {
|
||||
if (sqlSession.selectOne(NS + "getMultilangKeyInfo", Map.of("key_id", keyId)) == null) {
|
||||
throw new IllegalArgumentException("다국어 키를 찾을 수 없습니다: " + keyId);
|
||||
}
|
||||
sqlSession.delete(NS + "delete_multilang_text_by_key_id", Map.of("key_id", keyId));
|
||||
sqlSession.delete(NS + "deleteMultilangTextByKeyId", Map.of("key_id", keyId));
|
||||
for (Map<String, Object> text : texts) {
|
||||
Map<String, Object> params = new HashMap<>(text);
|
||||
params.put("key_id", keyId);
|
||||
if (params.get("is_active") == null) params.put("is_active", "Y");
|
||||
sqlSession.insert(NS + "insert_multilang_text", params);
|
||||
sqlSession.insert(NS + "insertMultilangText", params);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -146,14 +146,14 @@ public class MultilangService extends BaseService {
|
||||
Map<String, Object> params = Map.of(
|
||||
"company_code", companyCode, "menu_code", menuCode,
|
||||
"lang_key", langKey, "user_lang", userLang);
|
||||
Map<String, Object> result = sqlSession.selectOne(NS + "get_multilang_user_text", params);
|
||||
Map<String, Object> result = sqlSession.selectOne(NS + "getMultilangUserText", params);
|
||||
return result != null ? str(result.get("lang_text")) : langKey;
|
||||
}
|
||||
|
||||
public String getLangText(String companyCode, String langKey, String langCode) {
|
||||
Map<String, Object> params = Map.of(
|
||||
"company_code", companyCode, "lang_key", langKey, "lang_code", langCode);
|
||||
Map<String, Object> result = sqlSession.selectOne(NS + "get_multilang_single_text", params);
|
||||
Map<String, Object> result = sqlSession.selectOne(NS + "getMultilangSingleText", params);
|
||||
return result != null ? str(result.get("lang_text")) : langKey;
|
||||
}
|
||||
|
||||
@@ -165,7 +165,7 @@ public class MultilangService extends BaseService {
|
||||
params.put("menu_code", menuCode);
|
||||
params.put("user_lang", userLang);
|
||||
params.put("lang_keys", langKeys);
|
||||
List<Map<String, Object>> translations = sqlSession.selectList(NS + "get_multilang_batch_translation_list", params);
|
||||
List<Map<String, Object>> translations = sqlSession.selectList(NS + "getMultilangBatchTranslationList", params);
|
||||
Map<String, String> result = new LinkedHashMap<>();
|
||||
Set<String> processed = new HashSet<>();
|
||||
for (Map<String, Object> t : translations) {
|
||||
@@ -180,7 +180,7 @@ public class MultilangService extends BaseService {
|
||||
Map<String, Object> fallbackParams = new HashMap<>();
|
||||
fallbackParams.put("company_code", companyCode);
|
||||
fallbackParams.put("missing_keys", missingKeys);
|
||||
List<Map<String, Object>> fallback = sqlSession.selectList(NS + "get_multilang_fallback_translation_list", fallbackParams);
|
||||
List<Map<String, Object>> fallback = sqlSession.selectList(NS + "getMultilangFallbackTranslationList", fallbackParams);
|
||||
Set<String> fbProcessed = new HashSet<>();
|
||||
for (Map<String, Object> t : fallback) {
|
||||
String key = str(t.get("lang_key"));
|
||||
@@ -195,16 +195,16 @@ public class MultilangService extends BaseService {
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> getCategories() {
|
||||
List<Map<String, Object>> flat = sqlSession.selectList(NS + "get_multilang_category_list", new HashMap<>());
|
||||
List<Map<String, Object>> flat = sqlSession.selectList(NS + "getMultilangCategoryList", new HashMap<>());
|
||||
return buildCategoryTree(flat);
|
||||
}
|
||||
|
||||
public Map<String, Object> getCategoryById(int categoryId) {
|
||||
return sqlSession.selectOne(NS + "get_multilang_category_info", Map.of("category_id", categoryId));
|
||||
return sqlSession.selectOne(NS + "getMultilangCategoryInfo", Map.of("category_id", categoryId));
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> getCategoryPath(int categoryId) {
|
||||
return sqlSession.selectList(NS + "get_multilang_category_path", Map.of("category_id", categoryId));
|
||||
return sqlSession.selectList(NS + "getMultilangCategoryPath", Map.of("category_id", categoryId));
|
||||
}
|
||||
|
||||
private List<Map<String, Object>> buildCategoryTree(List<Map<String, Object>> flat) {
|
||||
@@ -242,7 +242,7 @@ public class MultilangService extends BaseService {
|
||||
List<Map<String, Object>> categoryPath = getCategoryPath(categoryId);
|
||||
if (categoryPath.isEmpty()) throw new IllegalArgumentException("존재하지 않는 카테고리입니다");
|
||||
String langKey = buildLangKey(categoryPath, keyMeaning);
|
||||
if (sqlSession.selectOne(NS + "get_multilang_key_by_company_and_key", Map.of("company_code", companyCode, "lang_key", langKey)) != null) {
|
||||
if (sqlSession.selectOne(NS + "getMultilangKeyByCompanyAndKey", Map.of("company_code", companyCode, "lang_key", langKey)) != null) {
|
||||
throw new IllegalArgumentException("이미 존재하는 키입니다: " + langKey);
|
||||
}
|
||||
Map<String, Object> insertParams = new HashMap<>();
|
||||
@@ -253,7 +253,7 @@ public class MultilangService extends BaseService {
|
||||
insertParams.put("usage_note", params.get("usage_note"));
|
||||
insertParams.put("description", params.get("usage_note"));
|
||||
insertParams.put("created_by", params.getOrDefault("created_by", "system"));
|
||||
sqlSession.insert(NS + "insert_multilang_key_with_category", insertParams);
|
||||
sqlSession.insert(NS + "insertMultilangKeyWithCategory", insertParams);
|
||||
int keyId = toInt(insertParams.get("key_id"));
|
||||
@SuppressWarnings("unchecked")
|
||||
List<Map<String, Object>> texts = (List<Map<String, Object>>) params.get("texts");
|
||||
@@ -264,7 +264,7 @@ public class MultilangService extends BaseService {
|
||||
if (tp.get("is_active") == null) tp.put("is_active", "Y");
|
||||
if (tp.get("created_by") == null) tp.put("created_by", params.getOrDefault("created_by", "system"));
|
||||
if (tp.get("updated_by") == null) tp.put("updated_by", params.getOrDefault("created_by", "system"));
|
||||
sqlSession.insert(NS + "insert_multilang_text", tp);
|
||||
sqlSession.insert(NS + "insertMultilangText", tp);
|
||||
}
|
||||
}
|
||||
return keyId;
|
||||
@@ -274,8 +274,8 @@ public class MultilangService extends BaseService {
|
||||
List<Map<String, Object>> categoryPath = getCategoryPath(categoryId);
|
||||
if (categoryPath.isEmpty()) throw new IllegalArgumentException("존재하지 않는 카테고리입니다");
|
||||
String langKey = buildLangKey(categoryPath, keyMeaning);
|
||||
Map<String, Object> commonKey = sqlSession.selectOne(NS + "get_multilang_key_by_company_and_key", Map.of("company_code", "*", "lang_key", langKey));
|
||||
Map<String, Object> companyKey = sqlSession.selectOne(NS + "get_multilang_key_by_company_and_key", Map.of("company_code", companyCode, "lang_key", langKey));
|
||||
Map<String, Object> commonKey = sqlSession.selectOne(NS + "getMultilangKeyByCompanyAndKey", Map.of("company_code", "*", "lang_key", langKey));
|
||||
Map<String, Object> companyKey = sqlSession.selectOne(NS + "getMultilangKeyByCompanyAndKey", Map.of("company_code", companyCode, "lang_key", langKey));
|
||||
Map<String, Object> result = new LinkedHashMap<>();
|
||||
result.put("lang_key", langKey);
|
||||
result.put("exists", companyKey != null);
|
||||
@@ -288,11 +288,11 @@ public class MultilangService extends BaseService {
|
||||
public int createOverrideKey(Map<String, Object> params) {
|
||||
int baseKeyId = toInt(params.get("base_key_id"));
|
||||
String companyCode = str(params.get("company_code"));
|
||||
Map<String, Object> baseKey = sqlSession.selectOne(NS + "get_multilang_base_key_info", Map.of("key_id", baseKeyId));
|
||||
Map<String, Object> baseKey = sqlSession.selectOne(NS + "getMultilangBaseKeyInfo", Map.of("key_id", baseKeyId));
|
||||
if (baseKey == null) throw new IllegalArgumentException("원본 키를 찾을 수 없습니다");
|
||||
if (!"*".equals(str(baseKey.get("company_code")))) throw new IllegalArgumentException("공통 키(*)만 오버라이드 할 수 있습니다");
|
||||
String langKey = str(baseKey.get("lang_key"));
|
||||
if (sqlSession.selectOne(NS + "get_multilang_key_by_company_and_key", Map.of("company_code", companyCode, "lang_key", langKey)) != null) {
|
||||
if (sqlSession.selectOne(NS + "getMultilangKeyByCompanyAndKey", Map.of("company_code", companyCode, "lang_key", langKey)) != null) {
|
||||
throw new IllegalArgumentException("이미 해당 회사의 오버라이드 키가 존재합니다");
|
||||
}
|
||||
Map<String, Object> insertParams = new HashMap<>();
|
||||
@@ -302,7 +302,7 @@ public class MultilangService extends BaseService {
|
||||
insertParams.put("key_meaning", baseKey.get("key_meaning"));
|
||||
insertParams.put("base_key_id", baseKeyId);
|
||||
insertParams.put("created_by", params.getOrDefault("created_by", "system"));
|
||||
sqlSession.insert(NS + "insert_multilang_override_key", insertParams);
|
||||
sqlSession.insert(NS + "insertMultilangOverrideKey", insertParams);
|
||||
int keyId = toInt(insertParams.get("key_id"));
|
||||
@SuppressWarnings("unchecked")
|
||||
List<Map<String, Object>> texts = (List<Map<String, Object>>) params.get("texts");
|
||||
@@ -313,27 +313,27 @@ public class MultilangService extends BaseService {
|
||||
if (tp.get("is_active") == null) tp.put("is_active", "Y");
|
||||
if (tp.get("created_by") == null) tp.put("created_by", params.getOrDefault("created_by", "system"));
|
||||
if (tp.get("updated_by") == null) tp.put("updated_by", params.getOrDefault("created_by", "system"));
|
||||
sqlSession.insert(NS + "insert_multilang_text", tp);
|
||||
sqlSession.insert(NS + "insertMultilangText", tp);
|
||||
}
|
||||
}
|
||||
return keyId;
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> getOverrideKeys(String companyCode) {
|
||||
return sqlSession.selectList(NS + "get_multilang_override_key_list", Map.of("company_code", companyCode));
|
||||
return sqlSession.selectList(NS + "getMultilangOverrideKeyList", Map.of("company_code", companyCode));
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public List<Map<String, Object>> generateScreenLabelKeys(Map<String, Object> params) {
|
||||
int screenId = toInt(params.get("screen_id"));
|
||||
Map<String, Object> screenInfo = sqlSession.selectOne(NS + "get_multilang_screen_company_code", Map.of("screen_id", screenId));
|
||||
Map<String, Object> screenInfo = sqlSession.selectOne(NS + "getMultilangScreenCompanyCode", Map.of("screen_id", screenId));
|
||||
String companyCode = (screenInfo != null && !str(screenInfo.get("company_code")).isEmpty())
|
||||
? str(screenInfo.get("company_code")) : str(params.getOrDefault("company_code", "*"));
|
||||
String companyName;
|
||||
if ("*".equals(companyCode)) {
|
||||
companyName = "공통";
|
||||
} else {
|
||||
Map<String, Object> companyInfo = sqlSession.selectOne(NS + "get_multilang_company_name", Map.of("company_code", companyCode));
|
||||
Map<String, Object> companyInfo = sqlSession.selectOne(NS + "getMultilangCompanyName", Map.of("company_code", companyCode));
|
||||
companyName = (companyInfo != null) ? str(companyInfo.get("company_name")) : companyCode;
|
||||
}
|
||||
List<String> groupPath = getScreenGroupPath(screenId);
|
||||
@@ -351,7 +351,7 @@ public class MultilangService extends BaseService {
|
||||
List<String> parts = new ArrayList<>(keyPrefixParts);
|
||||
parts.add(keyMeaning);
|
||||
String langKey = String.join(".", parts);
|
||||
Map<String, Object> existing = sqlSession.selectOne(NS + "get_multilang_key_by_company_and_key", Map.of("company_code", companyCode, "lang_key", langKey));
|
||||
Map<String, Object> existing = sqlSession.selectOne(NS + "getMultilangKeyByCompanyAndKey", Map.of("company_code", companyCode, "lang_key", langKey));
|
||||
int keyId;
|
||||
if (existing != null) {
|
||||
keyId = toInt(existing.get("key_id"));
|
||||
@@ -363,9 +363,9 @@ public class MultilangService extends BaseService {
|
||||
insertParams.put("is_active", "Y");
|
||||
insertParams.put("category_id", categoryId);
|
||||
insertParams.put("key_meaning", keyMeaning);
|
||||
sqlSession.insert(NS + "insert_multilang_key_with_category", insertParams);
|
||||
sqlSession.insert(NS + "insertMultilangKeyWithCategory", insertParams);
|
||||
keyId = toInt(insertParams.get("key_id"));
|
||||
sqlSession.update(NS + "upsert_multilang_text", Map.of("key_id", keyId, "lang_code", "KR", "lang_text", label));
|
||||
sqlSession.update(NS + "upsertMultilangText", Map.of("key_id", keyId, "lang_code", "KR", "lang_text", label));
|
||||
}
|
||||
Map<String, Object> entry = new LinkedHashMap<>();
|
||||
entry.put("component_id", componentId);
|
||||
@@ -377,10 +377,10 @@ public class MultilangService extends BaseService {
|
||||
}
|
||||
|
||||
private List<String> getScreenGroupPath(int screenId) {
|
||||
Map<String, Object> groupRow = sqlSession.selectOne(NS + "get_multilang_screen_group_id", Map.of("screen_id", screenId));
|
||||
Map<String, Object> groupRow = sqlSession.selectOne(NS + "getMultilangScreenGroupId", Map.of("screen_id", screenId));
|
||||
if (groupRow == null) return Collections.emptyList();
|
||||
int groupId = toInt(groupRow.get("group_id"));
|
||||
List<Map<String, Object>> groups = sqlSession.selectList(NS + "get_multilang_screen_group_path", Map.of("group_id", groupId));
|
||||
List<Map<String, Object>> groups = sqlSession.selectList(NS + "getMultilangScreenGroupPath", Map.of("group_id", groupId));
|
||||
List<String> path = new ArrayList<>();
|
||||
for (Map<String, Object> g : groups) path.add(str(g.get("group_name")));
|
||||
return path;
|
||||
@@ -391,7 +391,7 @@ public class MultilangService extends BaseService {
|
||||
int parentId = ensureCompanyCategory(companyCode, companyName);
|
||||
int currentLevel = 3;
|
||||
for (String groupName : groupPath) {
|
||||
Map<String, Object> existing = sqlSession.selectOne(NS + "get_multilang_category_by_name_and_parent", Map.of("category_name", groupName, "parent_id", parentId));
|
||||
Map<String, Object> existing = sqlSession.selectOne(NS + "getMultilangCategoryByNameAndParent", Map.of("category_name", groupName, "parent_id", parentId));
|
||||
if (existing != null) {
|
||||
parentId = toInt(existing.get("category_id"));
|
||||
} else {
|
||||
@@ -403,7 +403,7 @@ public class MultilangService extends BaseService {
|
||||
insertParams.put("key_prefix", groupName.toLowerCase().replace("\\s+", "_"));
|
||||
insertParams.put("description", groupName + " 화면 그룹의 다국어");
|
||||
insertParams.put("sort_order", 0);
|
||||
sqlSession.insert(NS + "insert_multilang_category", insertParams);
|
||||
sqlSession.insert(NS + "insertMultilangCategory", insertParams);
|
||||
parentId = toInt(insertParams.get("category_id"));
|
||||
}
|
||||
currentLevel++;
|
||||
@@ -413,7 +413,7 @@ public class MultilangService extends BaseService {
|
||||
|
||||
private int ensureCompanyCategory(String companyCode, String companyName) {
|
||||
int screenRootId = ensureScreenRootCategory();
|
||||
Map<String, Object> existing = sqlSession.selectOne(NS + "get_multilang_category_by_code_and_parent", Map.of("category_code", companyCode, "parent_id", screenRootId));
|
||||
Map<String, Object> existing = sqlSession.selectOne(NS + "getMultilangCategoryByCodeAndParent", Map.of("category_code", companyCode, "parent_id", screenRootId));
|
||||
if (existing != null) return toInt(existing.get("category_id"));
|
||||
String displayName = "*".equals(companyCode) ? "공통" : companyName;
|
||||
String keyPrefix = "*".equals(companyCode) ? "common" : companyCode.toLowerCase();
|
||||
@@ -425,12 +425,12 @@ public class MultilangService extends BaseService {
|
||||
insertParams.put("key_prefix", keyPrefix);
|
||||
insertParams.put("description", displayName + " 회사의 화면 다국어");
|
||||
insertParams.put("sort_order", "*".equals(companyCode) ? 0 : 10);
|
||||
sqlSession.insert(NS + "insert_multilang_category", insertParams);
|
||||
sqlSession.insert(NS + "insertMultilangCategory", insertParams);
|
||||
return toInt(insertParams.get("category_id"));
|
||||
}
|
||||
|
||||
private int ensureScreenRootCategory() {
|
||||
Map<String, Object> existing = sqlSession.selectOne(NS + "get_multilang_root_category_by_code", Map.of("category_code", "screen"));
|
||||
Map<String, Object> existing = sqlSession.selectOne(NS + "getMultilangRootCategoryByCode", Map.of("category_code", "screen"));
|
||||
if (existing != null) return toInt(existing.get("category_id"));
|
||||
Map<String, Object> insertParams = new HashMap<>();
|
||||
insertParams.put("category_code", "screen");
|
||||
@@ -440,7 +440,7 @@ public class MultilangService extends BaseService {
|
||||
insertParams.put("key_prefix", "screen");
|
||||
insertParams.put("description", "화면 디자이너에서 자동 생성된 다국어 키");
|
||||
insertParams.put("sort_order", 100);
|
||||
sqlSession.insert(NS + "insert_multilang_category", insertParams);
|
||||
sqlSession.insert(NS + "insertMultilangCategory", insertParams);
|
||||
return toInt(insertParams.get("category_id"));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user