lang check 로직 수정
This commit is contained in:
@@ -2,6 +2,7 @@ package com.kamco.cd.kamcoback.code.dto;
|
||||
|
||||
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.kamco.cd.kamcoback.common.utils.HeaderUtil;
|
||||
import com.kamco.cd.kamcoback.common.utils.html.HtmlEscapeDeserializer;
|
||||
import com.kamco.cd.kamcoback.common.utils.html.HtmlUnescapeSerializer;
|
||||
import com.kamco.cd.kamcoback.common.utils.interfaces.JsonFormatDttm;
|
||||
@@ -14,7 +15,6 @@ import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.data.domain.Sort;
|
||||
@@ -120,8 +120,7 @@ public class CommonCodeDto {
|
||||
String props2,
|
||||
String props3,
|
||||
ZonedDateTime deletedDttm) {
|
||||
String lang = LocaleContextHolder.getLocale().getLanguage();
|
||||
boolean english = "en".equalsIgnoreCase(lang);
|
||||
boolean english = HeaderUtil.isEnglishRequest();
|
||||
this.id = id;
|
||||
this.code = code;
|
||||
this.description = description;
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
package com.kamco.cd.kamcoback.common.utils;
|
||||
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import org.springframework.web.context.request.RequestAttributes;
|
||||
import org.springframework.web.context.request.RequestContextHolder;
|
||||
import org.springframework.web.context.request.ServletRequestAttributes;
|
||||
|
||||
public final class HeaderUtil {
|
||||
|
||||
@@ -20,4 +23,20 @@ public final class HeaderUtil {
|
||||
public static String getRequired(HttpServletRequest request, String headerName) {
|
||||
return get(request, headerName);
|
||||
}
|
||||
|
||||
public static boolean isEnglishRequest() {
|
||||
RequestAttributes attrs = RequestContextHolder.getRequestAttributes();
|
||||
|
||||
if (!(attrs instanceof ServletRequestAttributes servletAttrs)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
String acceptLanguage = servletAttrs.getRequest().getHeader("Accept-Language");
|
||||
|
||||
if (acceptLanguage == null || acceptLanguage.isBlank()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return acceptLanguage.toLowerCase().startsWith("en");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
package com.kamco.cd.kamcoback.common.utils.enums;
|
||||
|
||||
import com.kamco.cd.kamcoback.code.dto.CommonCodeDto.CodeDto;
|
||||
import com.kamco.cd.kamcoback.common.utils.HeaderUtil;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import org.reflections.Reflections;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
|
||||
public class Enums {
|
||||
|
||||
@@ -33,8 +33,7 @@ public class Enums {
|
||||
// enum -> CodeDto list
|
||||
public static List<CodeDto> toList(Class<? extends Enum<?>> enumClass) {
|
||||
Object[] enums = enumClass.getEnumConstants();
|
||||
String lang = LocaleContextHolder.getLocale().getLanguage();
|
||||
boolean english = "en".equalsIgnoreCase(lang);
|
||||
boolean english = HeaderUtil.isEnglishRequest();
|
||||
|
||||
return Arrays.stream(enums)
|
||||
.map(e -> (EnumType) e)
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.kamco.cd.kamcoback.mapsheet.dto;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.kamco.cd.kamcoback.common.enums.MngStateType;
|
||||
import com.kamco.cd.kamcoback.common.enums.SyncStateType;
|
||||
import com.kamco.cd.kamcoback.common.utils.HeaderUtil;
|
||||
import com.kamco.cd.kamcoback.common.utils.enums.EnumType;
|
||||
import com.kamco.cd.kamcoback.common.utils.enums.Enums;
|
||||
import com.kamco.cd.kamcoback.common.utils.interfaces.JsonFormatDttm;
|
||||
@@ -16,7 +17,6 @@ import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.data.domain.Sort;
|
||||
@@ -223,9 +223,9 @@ public class MapSheetMngDto {
|
||||
enumId = "NOTYET";
|
||||
}
|
||||
|
||||
String lang = LocaleContextHolder.getLocale().getLanguage();
|
||||
boolean english = HeaderUtil.isEnglishRequest();
|
||||
MngStateType type = Enums.fromId(MngStateType.class, enumId);
|
||||
if ("en".equalsIgnoreCase(lang)) {
|
||||
if (english) {
|
||||
return type.getTextEn();
|
||||
}
|
||||
return type.getText();
|
||||
@@ -351,8 +351,8 @@ public class MapSheetMngDto {
|
||||
}
|
||||
|
||||
SyncStateType type = Enums.fromId(SyncStateType.class, enumId);
|
||||
String lang = LocaleContextHolder.getLocale().getLanguage();
|
||||
if ("en".equalsIgnoreCase(lang)) {
|
||||
boolean english = HeaderUtil.isEnglishRequest();
|
||||
if (english) {
|
||||
return type.getTextEn();
|
||||
}
|
||||
return type.getText();
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.kamco.cd.kamcoback.members.dto;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.kamco.cd.kamcoback.common.enums.RoleType;
|
||||
import com.kamco.cd.kamcoback.common.enums.StatusType;
|
||||
import com.kamco.cd.kamcoback.common.utils.HeaderUtil;
|
||||
import com.kamco.cd.kamcoback.common.utils.enums.Enums;
|
||||
import com.kamco.cd.kamcoback.common.utils.interfaces.EnumValid;
|
||||
import com.kamco.cd.kamcoback.common.utils.interfaces.JsonFormatDttm;
|
||||
@@ -15,7 +16,6 @@ import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
|
||||
@@ -66,15 +66,13 @@ public class MembersDto {
|
||||
|
||||
private String getUserRoleName(String roleId) {
|
||||
RoleType type = Enums.fromId(RoleType.class, roleId);
|
||||
String lang = LocaleContextHolder.getLocale().getLanguage();
|
||||
boolean english = "en".equalsIgnoreCase(lang);
|
||||
boolean english = HeaderUtil.isEnglishRequest();
|
||||
return english ? type.getTextEn() : type.getText();
|
||||
}
|
||||
|
||||
private String getStatusName(String status, Boolean pwdResetYn) {
|
||||
StatusType type = Enums.fromId(StatusType.class, status);
|
||||
String lang = LocaleContextHolder.getLocale().getLanguage();
|
||||
boolean english = "en".equalsIgnoreCase(lang);
|
||||
boolean english = HeaderUtil.isEnglishRequest();
|
||||
pwdResetYn = pwdResetYn != null && pwdResetYn;
|
||||
if (type.equals(StatusType.PENDING) && pwdResetYn) {
|
||||
type = StatusType.ACTIVE;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.kamco.cd.kamcoback.postgres.core;
|
||||
|
||||
import com.kamco.cd.kamcoback.common.utils.HeaderUtil;
|
||||
import com.kamco.cd.kamcoback.menu.dto.MenuDto;
|
||||
import com.kamco.cd.kamcoback.menu.dto.MyMenuDto;
|
||||
import com.kamco.cd.kamcoback.postgres.entity.MenuEntity;
|
||||
@@ -8,7 +9,6 @@ import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Slf4j
|
||||
@@ -30,12 +30,8 @@ public class MenuCoreService {
|
||||
*/
|
||||
public List<MyMenuDto.Basic> getFindByRole(String role) {
|
||||
List<MenuEntity> entities = menuRepository.getFindByRole(role);
|
||||
String lang = LocaleContextHolder.getLocale().getLanguage();
|
||||
boolean english = lang.equalsIgnoreCase("en");
|
||||
log.info(
|
||||
"[LANG CHECK] locale={}, language={}",
|
||||
LocaleContextHolder.getLocale(),
|
||||
LocaleContextHolder.getLocale().getLanguage());
|
||||
boolean english = HeaderUtil.isEnglishRequest();
|
||||
log.info("[LANG CHECK] english={}", english);
|
||||
|
||||
return entities.stream()
|
||||
.map(
|
||||
|
||||
@@ -5,6 +5,7 @@ import static com.kamco.cd.kamcoback.postgres.entity.QErrorLogEntity.errorLogEnt
|
||||
import static com.kamco.cd.kamcoback.postgres.entity.QMemberEntity.memberEntity;
|
||||
import static com.kamco.cd.kamcoback.postgres.entity.QMenuEntity.menuEntity;
|
||||
|
||||
import com.kamco.cd.kamcoback.common.utils.HeaderUtil;
|
||||
import com.kamco.cd.kamcoback.log.dto.AuditLogDto;
|
||||
import com.kamco.cd.kamcoback.log.dto.AuditLogDto.DownloadReq;
|
||||
import com.kamco.cd.kamcoback.log.dto.ErrorLogDto;
|
||||
@@ -27,7 +28,6 @@ import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.PageImpl;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
@@ -85,10 +85,8 @@ public class AuditLogRepositoryImpl extends QuerydslRepositorySupport
|
||||
public Page<AuditLogDto.MenuAuditList> findLogByMenu(
|
||||
AuditLogDto.searchReq searchReq, String searchValue) {
|
||||
Pageable pageable = searchReq.toPageable();
|
||||
String lang = LocaleContextHolder.getLocale().getLanguage();
|
||||
|
||||
Expression<String> menuNameExpr =
|
||||
"en".equalsIgnoreCase(lang) ? menuEntity.menuNmEn.max() : menuEntity.menuNm.max();
|
||||
boolean english = HeaderUtil.isEnglishRequest();
|
||||
Expression<String> menuNameExpr = english ? menuEntity.menuNmEn.max() : menuEntity.menuNm.max();
|
||||
|
||||
List<AuditLogDto.MenuAuditList> foundContent =
|
||||
queryFactory
|
||||
@@ -224,8 +222,7 @@ public class AuditLogRepositoryImpl extends QuerydslRepositorySupport
|
||||
@Override
|
||||
public Page<AuditLogDto.DailyDetail> findLogByDailyResult(
|
||||
AuditLogDto.searchReq searchReq, LocalDate logDate) {
|
||||
String lang = LocaleContextHolder.getLocale().getLanguage();
|
||||
boolean english = "en".equalsIgnoreCase(lang);
|
||||
boolean english = HeaderUtil.isEnglishRequest();
|
||||
Pageable pageable = searchReq.toPageable();
|
||||
QMenuEntity parent = new QMenuEntity("parent");
|
||||
// 1depth menu name
|
||||
@@ -296,8 +293,7 @@ public class AuditLogRepositoryImpl extends QuerydslRepositorySupport
|
||||
@Override
|
||||
public Page<AuditLogDto.MenuDetail> findLogByMenuResult(
|
||||
AuditLogDto.searchReq searchReq, String menuUid) {
|
||||
String lang = LocaleContextHolder.getLocale().getLanguage();
|
||||
boolean english = "en".equalsIgnoreCase(lang);
|
||||
boolean english = HeaderUtil.isEnglishRequest();
|
||||
Pageable pageable = searchReq.toPageable();
|
||||
QMenuEntity parent = new QMenuEntity("parent");
|
||||
// 1depth menu name
|
||||
@@ -365,8 +361,7 @@ public class AuditLogRepositoryImpl extends QuerydslRepositorySupport
|
||||
@Override
|
||||
public Page<AuditLogDto.UserDetail> findLogByAccountResult(
|
||||
AuditLogDto.searchReq searchReq, Long userUid) {
|
||||
String lang = LocaleContextHolder.getLocale().getLanguage();
|
||||
boolean english = "en".equalsIgnoreCase(lang);
|
||||
boolean english = HeaderUtil.isEnglishRequest();
|
||||
Pageable pageable = searchReq.toPageable();
|
||||
QMenuEntity parent = new QMenuEntity("parent");
|
||||
// 1depth menu name
|
||||
|
||||
Reference in New Issue
Block a user