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 class Organization {
private Long id;
private String orgNo;
private String orgName;
private String channelSlug;
private String deptName;
private String managerName;
private String managerTitle;
private String managerPhone;
private String managerEmail;
private String channelIdMj;
private String channelIdLaw;
/**
* 상태는 저장하지 않고 항상 파생한다.
* 저장하면 채널ID와 상태가 어긋나는 순간이 생기고, 그 어긋남을 고칠 방법이 없다.
*/
public OrgStatus getStatus() {
boolean mj = filled(channelIdMj);
boolean law = filled(channelIdLaw);
if (mj && law) {
return OrgStatus.ACTIVE;
}
if (mj || law) {
return OrgStatus.PARTIAL;
}
return hasRequiredContact() ? OrgStatus.READY : OrgStatus.INFO_PENDING;
}
/** 직급/직함은 비어 있는 기관이 실제로 있으므로 필수에서 뺀다. */
public boolean hasRequiredContact() {
return filled(deptName)
&& filled(managerName)
&& filled(managerPhone)
&& filled(managerEmail);
}
private static boolean filled(String value) {
return value != null && !value.isBlank();
}
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public String getOrgNo() { return orgNo; }
public void setOrgNo(String orgNo) { this.orgNo = orgNo; }
public String getOrgName() { return orgName; }
public void setOrgName(String orgName) { this.orgName = orgName; }
public String getChannelSlug() { return channelSlug; }
public void setChannelSlug(String channelSlug) { this.channelSlug = channelSlug; }
public String getDeptName() { return deptName; }
public void setDeptName(String deptName) { this.deptName = deptName; }
public String getManagerName() { return managerName; }
public void setManagerName(String managerName) { this.managerName = managerName; }
public String getManagerTitle() { return managerTitle; }
public void setManagerTitle(String managerTitle) { this.managerTitle = managerTitle; }
public String getManagerPhone() { return managerPhone; }
public void setManagerPhone(String managerPhone) { this.managerPhone = managerPhone; }
public String getManagerEmail() { return managerEmail; }
public void setManagerEmail(String managerEmail) { this.managerEmail = managerEmail; }
public String getChannelIdMj() { return channelIdMj; }
public void setChannelIdMj(String channelIdMj) { this.channelIdMj = channelIdMj; }
public String getChannelIdLaw() { return channelIdLaw; }
public void setChannelIdLaw(String channelIdLaw) { this.channelIdLaw = channelIdLaw; }
}