File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
package kr.itn.itnhub.org;
/**
* 기관 담당자 및 채널 정보에서 파생되는 운영 상태.
* 상태 판정과 채널 보유 여부가 항상 같은 공백 처리 규칙을 사용하도록 한곳에서 계산한다.
*/
public record OrgOperationalState(OrgStatus status, boolean hasChannel) {
public static OrgOperationalState from(Long applicantContactId, String channelIdMj, String channelIdLaw) {
boolean mjActive = filled(channelIdMj);
boolean lawActive = filled(channelIdLaw);
OrgStatus status;
if (mjActive && lawActive) {
status = OrgStatus.ACTIVE;
} else if (mjActive || lawActive) {
status = OrgStatus.PARTIAL;
} else if (applicantContactId != null) {
status = OrgStatus.READY;
} else {
status = OrgStatus.INFO_PENDING;
}
return new OrgOperationalState(status, mjActive || lawActive);
}
private static boolean filled(String value) {
return value != null && !value.isBlank();
}
}