diff --git a/backend/src/main/java/ervu_business_metrics/model/idm/AccountData.java b/backend/src/main/java/ervu_business_metrics/model/idm/AccountData.java index 5d3e887..912f130 100644 --- a/backend/src/main/java/ervu_business_metrics/model/idm/AccountData.java +++ b/backend/src/main/java/ervu_business_metrics/model/idm/AccountData.java @@ -15,7 +15,6 @@ import ervu_business_metrics.deserializer.ReferenceEntityDeserializer; public class AccountData { private String id; private boolean active; - private boolean blocked; private long start; private long finish; private long created; @@ -44,14 +43,6 @@ public class AccountData { this.active = active; } - public boolean getBlocked() { - return blocked; - } - - public void setBlocked(boolean blocked) { - this.blocked = blocked; - } - public long getStart() { return start; } diff --git a/backend/src/main/java/ervu_business_metrics/model/idm/DomainData.java b/backend/src/main/java/ervu_business_metrics/model/idm/DomainData.java index 727f6fd..ec59cba 100644 --- a/backend/src/main/java/ervu_business_metrics/model/idm/DomainData.java +++ b/backend/src/main/java/ervu_business_metrics/model/idm/DomainData.java @@ -15,7 +15,6 @@ public class DomainData { private String id; @JsonProperty("codeDomainType") private String type; - private String regionCode; private String name; private String fullName; private String shortName; @@ -30,6 +29,7 @@ public class DomainData { private String timeZone; private String subpoenaSeriesCode; private int version; + private RegionInfo region; private ReferenceEntity parent; public String getId() { @@ -48,14 +48,6 @@ public class DomainData { this.type = type; } - public String getRegionCode() { - return regionCode; - } - - public void setRegionCode(String regionCode) { - this.regionCode = regionCode; - } - public String getName() { return name; } @@ -175,4 +167,12 @@ public class DomainData { public void setVersion(int version) { this.version = version; } + + public RegionInfo getRegion() { + return region; + } + + public void setRegion(RegionInfo region) { + this.region = region; + } } diff --git a/backend/src/main/java/ervu_business_metrics/model/idm/PersonData.java b/backend/src/main/java/ervu_business_metrics/model/idm/PersonData.java index 4170d1d..a5b9ac9 100644 --- a/backend/src/main/java/ervu_business_metrics/model/idm/PersonData.java +++ b/backend/src/main/java/ervu_business_metrics/model/idm/PersonData.java @@ -19,6 +19,8 @@ public class PersonData { private long created; private long modified; private long deleted; + private long blocked; + private long blockUntil; private int version; private boolean active; @@ -117,4 +119,20 @@ public class PersonData { public void setActive(boolean active) { this.active = active; } + + public long getBlocked() { + return blocked; + } + + public void setBlocked(long blocked) { + this.blocked = blocked; + } + + public long getBlockUntil() { + return blockUntil; + } + + public void setBlockUntil(long blockUntil) { + this.blockUntil = blockUntil; + } } diff --git a/backend/src/main/java/ervu_business_metrics/model/idm/RegionInfo.java b/backend/src/main/java/ervu_business_metrics/model/idm/RegionInfo.java new file mode 100644 index 0000000..31f9461 --- /dev/null +++ b/backend/src/main/java/ervu_business_metrics/model/idm/RegionInfo.java @@ -0,0 +1,19 @@ +package ervu_business_metrics.model.idm; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; + +/** + * @author Adel Kalimullin + */ +@JsonIgnoreProperties(ignoreUnknown = true) +public class RegionInfo { + private String code; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } +} diff --git a/backend/src/main/java/ervu_business_metrics/service/processor/impl/AccountDataProcessor.java b/backend/src/main/java/ervu_business_metrics/service/processor/impl/AccountDataProcessor.java index 5d2a8cd..2336c55 100644 --- a/backend/src/main/java/ervu_business_metrics/service/processor/impl/AccountDataProcessor.java +++ b/backend/src/main/java/ervu_business_metrics/service/processor/impl/AccountDataProcessor.java @@ -57,7 +57,6 @@ public class AccountDataProcessor implements DataProcessor { */ public final TableField VERSION = createField(DSL.name("version"), SQLDataType.INTEGER.nullable(false), this, "Версия записи аккаунта"); - /** - * The column idm_reconcile.account.blocked. Флаг блокировки - * аккаунта - */ - public final TableField BLOCKED = createField(DSL.name("blocked"), SQLDataType.BOOLEAN.defaultValue(DSL.field(DSL.raw("false"), SQLDataType.BOOLEAN)), this, "Флаг блокировки аккаунта"); - /** * The column idm_reconcile.account.domain_id. Идентификатор * домена, связанного с diff --git a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/Person.java b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/Person.java index 6ccc86c..6273350 100644 --- a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/Person.java +++ b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/Person.java @@ -111,6 +111,20 @@ public class Person extends TableImpl { */ public final TableField DELETED = createField(DSL.name("deleted"), SQLDataType.BIGINT, this, "Дата и время логического удаления записи\n (UNIX timestamp)"); + /** + * The column idm_reconcile.person.blocked. Дата и время + * логической блокировки записи + * (UNIX timestamp) + */ + public final TableField BLOCKED = createField(DSL.name("blocked"), SQLDataType.BIGINT, this, "Дата и время логической блокировки записи\n (UNIX timestamp)"); + + /** + * The column idm_reconcile.person.block_until. Дата и время + * логического окончания блокировки записи + * (UNIX timestamp) + */ + public final TableField BLOCK_UNTIL = createField(DSL.name("block_until"), SQLDataType.BIGINT, this, "Дата и время логического окончания блокировки записи\n (UNIX timestamp)"); + /** * The column idm_reconcile.person.version. Версия записи */ diff --git a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/AccountRecord.java b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/AccountRecord.java index 7bc6613..aea66fd 100644 --- a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/AccountRecord.java +++ b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/AccountRecord.java @@ -190,29 +190,13 @@ public class AccountRecord extends UpdatableRecordImpl { return (Integer) get(9); } - /** - * Setter for idm_reconcile.account.blocked. Флаг блокировки - * аккаунта - */ - public void setBlocked(Boolean value) { - set(10, value); - } - - /** - * Getter for idm_reconcile.account.blocked. Флаг блокировки - * аккаунта - */ - public Boolean getBlocked() { - return (Boolean) get(10); - } - /** * Setter for idm_reconcile.account.domain_id. Идентификатор * домена, связанного с * аккаунтом */ public void setDomainId(String value) { - set(11, value); + set(10, value); } /** @@ -221,7 +205,7 @@ public class AccountRecord extends UpdatableRecordImpl { * аккаунтом */ public String getDomainId() { - return (String) get(11); + return (String) get(10); } /** @@ -230,7 +214,7 @@ public class AccountRecord extends UpdatableRecordImpl { * аккаунтом */ public void setPersonId(String value) { - set(12, value); + set(11, value); } /** @@ -239,7 +223,7 @@ public class AccountRecord extends UpdatableRecordImpl { * аккаунтом */ public String getPersonId() { - return (String) get(12); + return (String) get(11); } // ------------------------------------------------------------------------- @@ -265,7 +249,7 @@ public class AccountRecord extends UpdatableRecordImpl { /** * Create a detached, initialised AccountRecord */ - public AccountRecord(String id, Boolean active, Long start, Long finish, Long created, Long modified, String appointment, Long deleted, Short sessionLimit, Integer version, Boolean blocked, String domainId, String personId) { + public AccountRecord(String id, Boolean active, Long start, Long finish, Long created, Long modified, String appointment, Long deleted, Short sessionLimit, Integer version, String domainId, String personId) { super(Account.ACCOUNT); setId(id); @@ -278,7 +262,6 @@ public class AccountRecord extends UpdatableRecordImpl { setDeleted(deleted); setSessionLimit(sessionLimit); setVersion(version); - setBlocked(blocked); setDomainId(domainId); setPersonId(personId); resetChangedOnNotNull(); diff --git a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/PersonRecord.java b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/PersonRecord.java index 851a0af..e1497a6 100644 --- a/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/PersonRecord.java +++ b/backend/src/main/java/ru/micord/webbpm/ervu/business_metrics/db_beans/idm_reconcile/tables/records/PersonRecord.java @@ -182,18 +182,54 @@ public class PersonRecord extends UpdatableRecordImpl { return (Long) get(9); } + /** + * Setter for idm_reconcile.person.blocked. Дата и время + * логической блокировки записи + * (UNIX timestamp) + */ + public void setBlocked(Long value) { + set(10, value); + } + + /** + * Getter for idm_reconcile.person.blocked. Дата и время + * логической блокировки записи + * (UNIX timestamp) + */ + public Long getBlocked() { + return (Long) get(10); + } + + /** + * Setter for idm_reconcile.person.block_until. Дата и время + * логического окончания блокировки записи + * (UNIX timestamp) + */ + public void setBlockUntil(Long value) { + set(11, value); + } + + /** + * Getter for idm_reconcile.person.block_until. Дата и время + * логического окончания блокировки записи + * (UNIX timestamp) + */ + public Long getBlockUntil() { + return (Long) get(11); + } + /** * Setter for idm_reconcile.person.version. Версия записи */ public void setVersion(Integer value) { - set(10, value); + set(12, value); } /** * Getter for idm_reconcile.person.version. Версия записи */ public Integer getVersion() { - return (Integer) get(10); + return (Integer) get(12); } // ------------------------------------------------------------------------- @@ -219,7 +255,7 @@ public class PersonRecord extends UpdatableRecordImpl { /** * Create a detached, initialised PersonRecord */ - public PersonRecord(String id, String login, String firstName, String lastName, String middleName, Boolean secondFactorEnabled, Boolean active, Long created, Long modified, Long deleted, Integer version) { + public PersonRecord(String id, String login, String firstName, String lastName, String middleName, Boolean secondFactorEnabled, Boolean active, Long created, Long modified, Long deleted, Long blocked, Long blockUntil, Integer version) { super(Person.PERSON); setId(id); @@ -232,6 +268,8 @@ public class PersonRecord extends UpdatableRecordImpl { setCreated(created); setModified(modified); setDeleted(deleted); + setBlocked(blocked); + setBlockUntil(blockUntil); setVersion(version); resetChangedOnNotNull(); } diff --git a/backend/src/main/resources/config/v_1.0/20250530-SUPPORT-9212_idmv3.xml b/backend/src/main/resources/config/v_1.0/20250530-SUPPORT-9212_idmv3.xml index 54f32f4..16ea362 100644 --- a/backend/src/main/resources/config/v_1.0/20250530-SUPPORT-9212_idmv3.xml +++ b/backend/src/main/resources/config/v_1.0/20250530-SUPPORT-9212_idmv3.xml @@ -70,6 +70,8 @@ created bigint NOT NULL, modified bigint, deleted bigint, + blocked bigint, + block_until bigint, version int NOT NULL ); @@ -91,6 +93,10 @@ (UNIX timestamp)'; COMMENT ON COLUMN idm_reconcile.person.deleted IS 'Дата и время логического удаления записи (UNIX timestamp)'; + COMMENT ON COLUMN idm_reconcile.person.blocked IS 'Дата и время логической блокировки записи + (UNIX timestamp)'; + COMMENT ON COLUMN idm_reconcile.person.block_until IS 'Дата и время логического окончания блокировки записи + (UNIX timestamp)'; COMMENT ON COLUMN idm_reconcile.person.version IS 'Версия записи'; @@ -112,7 +118,6 @@ deleted bigint, session_limit smallint, version int NOT NULL, - blocked boolean DEFAULT false, domain_id varchar(36), person_id varchar(36) ); @@ -137,7 +142,6 @@ COMMENT ON COLUMN idm_reconcile.account.session_limit IS 'Максимально допустимое количество сессий'; COMMENT ON COLUMN idm_reconcile.account.version IS 'Версия записи аккаунта'; - COMMENT ON COLUMN idm_reconcile.account.blocked IS 'Флаг блокировки аккаунта'; COMMENT ON COLUMN idm_reconcile.account.domain_id IS 'Идентификатор домена, связанного с аккаунтом'; COMMENT ON COLUMN idm_reconcile.account.person_id IS 'Идентификатор персоны, связанной с