spotlessApply 적용

This commit is contained in:
2025-12-18 11:12:44 +09:00
parent dd02e5d886
commit 121b5db316
27 changed files with 196 additions and 83 deletions

View File

@@ -80,6 +80,7 @@ dependencies {
runtimeOnly 'io.jsonwebtoken:jjwt-jackson:0.12.5' // JSON (Jackson)
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310'
implementation 'org.reflections:reflections:0.10.2'
}
configurations.configureEach {

View File

@@ -2,6 +2,7 @@ package com.kamco.cd.kamcoback.code;
import com.kamco.cd.kamcoback.code.config.CommonCodeCacheManager;
import com.kamco.cd.kamcoback.code.dto.CommonCodeDto;
import com.kamco.cd.kamcoback.code.dto.CommonCodeDto.CodeDto;
import com.kamco.cd.kamcoback.code.service.CommonCodeService;
import com.kamco.cd.kamcoback.common.utils.CommonCodeUtil;
import com.kamco.cd.kamcoback.config.api.ApiResponseDto;
@@ -13,6 +14,7 @@ import io.swagger.v3.oas.annotations.responses.ApiResponses;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import java.util.List;
import java.util.Map;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
@@ -288,4 +290,21 @@ public class CommonCodeApiController {
int count = commonCodeCacheManager.getCachedCommonCodeCount();
return ApiResponseDto.ok(count);
}
@Operation(summary = "코드 조회", description = "enum 코드 조회")
@ApiResponses(
value = {
@ApiResponse(
responseCode = "200",
description = "코드 조회 성공",
content =
@Content(
mediaType = "application/json",
schema = @Schema(implementation = CodeDto.class))),
@ApiResponse(responseCode = "500", description = "서버 오류", content = @Content)
})
@GetMapping("/enums")
public ApiResponseDto<Map<String, List<CodeDto>>> getCode() {
return ApiResponseDto.ok(commonCodeService.getAllCodes());
}
}

View File

@@ -50,6 +50,7 @@ public class CommonCodeDto {
@NoArgsConstructor
@AllArgsConstructor
public static class ModifyReq {
@NotEmpty private String name;
private String description;
private boolean used;
@@ -70,6 +71,7 @@ public class CommonCodeDto {
@NoArgsConstructor
@AllArgsConstructor
public static class OrderReq {
@NotNull private Long id;
@NotNull private Integer order;
}
@@ -176,4 +178,12 @@ public class CommonCodeDto {
this.color = color;
}
}
@Getter
@AllArgsConstructor
public static class CodeDto {
private String code;
private String name;
}
}

View File

@@ -2,11 +2,14 @@ package com.kamco.cd.kamcoback.code.service;
import com.kamco.cd.kamcoback.code.dto.CommonCodeDto.AddReq;
import com.kamco.cd.kamcoback.code.dto.CommonCodeDto.Basic;
import com.kamco.cd.kamcoback.code.dto.CommonCodeDto.CodeDto;
import com.kamco.cd.kamcoback.code.dto.CommonCodeDto.ModifyReq;
import com.kamco.cd.kamcoback.code.dto.CommonCodeDto.OrderReq;
import com.kamco.cd.kamcoback.common.utils.enums.Enums;
import com.kamco.cd.kamcoback.config.api.ApiResponseDto;
import com.kamco.cd.kamcoback.postgres.core.CommonCodeCoreService;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import lombok.RequiredArgsConstructor;
import org.springframework.cache.annotation.CacheEvict;
@@ -118,4 +121,8 @@ public class CommonCodeService {
public Optional<String> getCode(String parentCodeCd, String childCodeCd) {
return commonCodeCoreService.getCode(parentCodeCd, childCodeCd);
}
public Map<String, List<CodeDto>> getAllCodes() {
return Enums.getAllCodes();
}
}

View File

@@ -1,9 +1,11 @@
package com.kamco.cd.kamcoback.common.enums;
import com.kamco.cd.kamcoback.config.enums.EnumType;
import com.kamco.cd.kamcoback.common.utils.enums.CodeExpose;
import com.kamco.cd.kamcoback.common.utils.enums.EnumType;
import lombok.AllArgsConstructor;
import lombok.Getter;
@CodeExpose
@Getter
@AllArgsConstructor
public enum MngStateType implements EnumType {

View File

@@ -1,9 +1,11 @@
package com.kamco.cd.kamcoback.common.enums;
import com.kamco.cd.kamcoback.config.enums.EnumType;
import com.kamco.cd.kamcoback.common.utils.enums.CodeExpose;
import com.kamco.cd.kamcoback.common.utils.enums.EnumType;
import lombok.AllArgsConstructor;
import lombok.Getter;
@CodeExpose
@Getter
@AllArgsConstructor
public enum RoleType implements EnumType {

View File

@@ -1,9 +1,11 @@
package com.kamco.cd.kamcoback.common.enums;
import com.kamco.cd.kamcoback.config.enums.EnumType;
import com.kamco.cd.kamcoback.common.utils.enums.CodeExpose;
import com.kamco.cd.kamcoback.common.utils.enums.EnumType;
import lombok.AllArgsConstructor;
import lombok.Getter;
@CodeExpose
@Getter
@AllArgsConstructor
public enum StatusType implements EnumType {

View File

@@ -1,9 +1,11 @@
package com.kamco.cd.kamcoback.common.enums;
import com.kamco.cd.kamcoback.config.enums.EnumType;
import com.kamco.cd.kamcoback.common.utils.enums.CodeExpose;
import com.kamco.cd.kamcoback.common.utils.enums.EnumType;
import lombok.AllArgsConstructor;
import lombok.Getter;
@CodeExpose
@Getter
@AllArgsConstructor
public enum SyncStateType implements EnumType {

View File

@@ -1,19 +0,0 @@
package com.kamco.cd.kamcoback.common.utils;
import com.kamco.cd.kamcoback.config.enums.EnumType;
public class Enums {
// code로 text
public static <E extends Enum<E> & EnumType> E fromId(Class<E> enumClass, String id) {
if (id == null) {
return null;
}
for (E e : enumClass.getEnumConstants()) {
if (id.equalsIgnoreCase(e.getId())) {
return e;
}
}
return null; // 못 찾으면 null
}
}

View File

@@ -0,0 +1,20 @@
package com.kamco.cd.kamcoback.common.utils.enums;
public class CodeDto {
private String code;
private String name;
public CodeDto(String code, String name) {
this.code = code;
this.name = name;
}
public String getCode() {
return code;
}
public String getName() {
return name;
}
}

View File

@@ -0,0 +1,10 @@
package com.kamco.cd.kamcoback.common.utils.enums;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface CodeExpose {}

View File

@@ -1,4 +1,4 @@
package com.kamco.cd.kamcoback.config.enums;
package com.kamco.cd.kamcoback.common.utils.enums;
public interface EnumType {

View File

@@ -1,4 +1,4 @@
package com.kamco.cd.kamcoback.common.utils;
package com.kamco.cd.kamcoback.common.utils.enums;
import com.kamco.cd.kamcoback.common.utils.interfaces.EnumValid;
import jakarta.validation.ConstraintValidator;

View File

@@ -0,0 +1,51 @@
package com.kamco.cd.kamcoback.common.utils.enums;
import com.kamco.cd.kamcoback.code.dto.CommonCodeDto.CodeDto;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.reflections.Reflections;
public class Enums {
// code로 text
public static <E extends Enum<E> & EnumType> E fromId(Class<E> enumClass, String id) {
if (id == null) {
return null;
}
for (E e : enumClass.getEnumConstants()) {
if (id.equalsIgnoreCase(e.getId())) {
return e;
}
}
return null; // 못 찾으면 null
}
public static List<CodeDto> toList(Class<? extends Enum<?>> enumClass) {
Object[] enums = enumClass.getEnumConstants();
return Arrays.stream(enums)
.map(e -> (EnumType) e)
.map(e -> new CodeDto(e.getId(), e.getText()))
.toList();
}
public static Map<String, List<CodeDto>> getAllCodes() {
Reflections reflections = new Reflections("com.kamco.cd.kamcoback");
Set<Class<?>> types = reflections.getTypesAnnotatedWith(CodeExpose.class);
Map<String, List<CodeDto>> result = new HashMap<>();
for (Class<?> clazz : types) {
if (clazz.isEnum() && EnumType.class.isAssignableFrom(clazz)) {
result.put(clazz.getSimpleName(), Enums.toList((Class<? extends Enum<?>>) clazz));
}
}
return result;
}
}

View File

@@ -1,6 +1,6 @@
package com.kamco.cd.kamcoback.common.utils.interfaces;
import com.kamco.cd.kamcoback.common.utils.EnumValidator;
import com.kamco.cd.kamcoback.common.utils.enums.EnumValidator;
import jakarta.validation.Constraint;
import jakarta.validation.Payload;
import java.lang.annotation.ElementType;

View File

@@ -2,7 +2,7 @@ package com.kamco.cd.kamcoback.config.api;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.kamco.cd.kamcoback.config.enums.EnumType;
import com.kamco.cd.kamcoback.common.utils.enums.EnumType;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.ToString;

View File

@@ -1,6 +1,6 @@
package com.kamco.cd.kamcoback.log.dto;
import com.kamco.cd.kamcoback.config.enums.EnumType;
import com.kamco.cd.kamcoback.common.utils.enums.EnumType;
import io.swagger.v3.oas.annotations.media.Schema;
import java.time.LocalDate;
import lombok.AllArgsConstructor;

View File

@@ -1,6 +1,6 @@
package com.kamco.cd.kamcoback.log.dto;
import com.kamco.cd.kamcoback.config.enums.EnumType;
import com.kamco.cd.kamcoback.common.utils.enums.EnumType;
import lombok.AllArgsConstructor;
import lombok.Getter;

View File

@@ -1,6 +1,6 @@
package com.kamco.cd.kamcoback.log.dto;
import com.kamco.cd.kamcoback.config.enums.EnumType;
import com.kamco.cd.kamcoback.common.utils.enums.EnumType;
import lombok.AllArgsConstructor;
import lombok.Getter;

View File

@@ -143,7 +143,6 @@ public class MapSheetMngApiController {
return ApiResponseDto.ok(mapSheetMngService.findMapSheetErrorList(searchReq));
}
@Operation(summary = "오류데이터 팝업 > 업로드 처리", description = "오류데이터 팝업 > 업로드 처리")
@ApiResponses(
value = {
@@ -164,7 +163,6 @@ public class MapSheetMngApiController {
return ApiResponseDto.ok(mapSheetMngService.uploadProcess(hstUidList));
}
@Operation(summary = "오류데이터 팝업 > 추론 제외", description = "오류데이터 팝업 > 추론 제외")
@PutMapping("/except-inference")
public ApiResponseDto<MapSheetMngDto.DmlReturn> updateExceptUseInference(

View File

@@ -2,7 +2,7 @@ package com.kamco.cd.kamcoback.mapsheet.dto;
import com.kamco.cd.kamcoback.common.enums.MngStateType;
import com.kamco.cd.kamcoback.common.enums.SyncStateType;
import com.kamco.cd.kamcoback.common.utils.Enums;
import com.kamco.cd.kamcoback.common.utils.enums.Enums;
import com.kamco.cd.kamcoback.common.utils.interfaces.JsonFormatDttm;
import io.swagger.v3.oas.annotations.media.Schema;
import java.time.ZonedDateTime;
@@ -44,6 +44,7 @@ public class MapSheetMngDto {
@NoArgsConstructor
@AllArgsConstructor
public static class AddReq {
@Schema(description = "관리년도", example = "2022")
private int mngYyyy;
@@ -57,6 +58,7 @@ public class MapSheetMngDto {
@NoArgsConstructor
@AllArgsConstructor
public static class DeleteFileReq {
@Schema(description = "파일 경로", example = "/app/original-images/2024/00000001.tif")
private String filePath;
}
@@ -67,6 +69,7 @@ public class MapSheetMngDto {
@NoArgsConstructor
@AllArgsConstructor
public static class MngDto {
private int rowNum;
private int mngYyyy;
private String mngState;
@@ -108,7 +111,9 @@ public class MapSheetMngDto {
public String getMngStateName() {
String enumId = this.mngState;
if (enumId == null || enumId.isEmpty()) enumId = "NOTYET";
if (enumId == null || enumId.isEmpty()) {
enumId = "NOTYET";
}
MngStateType type = Enums.fromId(MngStateType.class, enumId);
return type.getText();
@@ -160,6 +165,7 @@ public class MapSheetMngDto {
@Getter
@Setter
public static class ErrorDataDto {
// private Integer rowNum;
private Long hstUid;
private String mapSheetNum;
@@ -211,7 +217,9 @@ public class MapSheetMngDto {
}
private String getSyncStateName(String enumId) {
if (enumId == null || enumId.isEmpty()) enumId = "NOTYET";
if (enumId == null || enumId.isEmpty()) {
enumId = "NOTYET";
}
SyncStateType type = Enums.fromId(SyncStateType.class, enumId);
return type.getText();
@@ -222,6 +230,7 @@ public class MapSheetMngDto {
@Getter
@Setter
public static class MngFIleDto {
private Long fileUid;
private String filePath;
private String fileName;
@@ -236,6 +245,7 @@ public class MapSheetMngDto {
@NoArgsConstructor
@AllArgsConstructor
public static class DmlReturn {
private String flag;
private String message;
}
@@ -246,6 +256,7 @@ public class MapSheetMngDto {
@NoArgsConstructor
@AllArgsConstructor
public static class MngFilesDto {
private long fileUid;
private int mngYyyy;
private String mapSheetNum;

View File

@@ -223,8 +223,6 @@ public class MapSheetMngService {
return mapSheetMngCoreService.findMapSheetMngYyyyList();
}
public MapSheetMngDto.MngDto findMapSheetMng(int mngYyyy) {
return mapSheetMngCoreService.findMapSheetMng(mngYyyy);
}

View File

@@ -2,7 +2,7 @@ package com.kamco.cd.kamcoback.members.dto;
import com.kamco.cd.kamcoback.common.enums.RoleType;
import com.kamco.cd.kamcoback.common.enums.StatusType;
import com.kamco.cd.kamcoback.common.utils.Enums;
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;
import io.swagger.v3.oas.annotations.media.Schema;

View File

@@ -40,7 +40,6 @@ public class MapSheetMngCoreService {
return mapSheetMngRepository.findMapSheetMngYyyyList();
}
public MapSheetMngDto.MngDto findMapSheetMng(int mngYyyy) {
return mapSheetMngRepository.findMapSheetMng(mngYyyy);
}

View File

@@ -2,7 +2,7 @@ package com.kamco.cd.kamcoback.zoo.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.kamco.cd.kamcoback.config.enums.EnumType;
import com.kamco.cd.kamcoback.common.utils.enums.EnumType;
import io.swagger.v3.oas.annotations.media.Schema;
import java.time.ZonedDateTime;
import lombok.AllArgsConstructor;

View File

@@ -15,8 +15,8 @@ spring:
format_sql: true # ⚠️ 선택 - SQL 포맷팅 (가독성)
datasource:
#url: jdbc:postgresql://192.168.2.127:15432/kamco_cds
url: jdbc:postgresql://localhost:15432/kamco_cds
url: jdbc:postgresql://192.168.2.127:15432/kamco_cds
#url: jdbc:postgresql://localhost:15432/kamco_cds
username: kamco_cds
password: kamco_cds_Q!W@E#R$
hikari: