SUPPORT-8471: new changes

This commit is contained in:
Хакимуллин Артём 2024-09-05 16:26:40 +03:00
parent 4a19976dbe
commit d377655863
3 changed files with 24 additions and 24 deletions

View file

@ -23,11 +23,11 @@ public class ClassifierAttributeDaoImpl implements ClassifierAttributeDao {
var queries = Arrays.stream(classifierAttributeModels).map(attribute -> {
var uid = UUID.fromString(attribute.getUid());
return dsl.insertInto(CLASSIFIER_ATTRIBUTES)
.set(CLASSIFIER_ATTRIBUTES.UID, uid)
.set(CLASSIFIER_ATTRIBUTES.NAME, attribute.getName())
.onConflict(CLASSIFIER_ATTRIBUTES.UID)
.set(CLASSIFIER_ATTRIBUTES.CLASSIFIER_ATTRIBUTE_ID, uid)
.set(CLASSIFIER_ATTRIBUTES.ATTRIBUTE_NAME, attribute.getName())
.onConflict(CLASSIFIER_ATTRIBUTES.CLASSIFIER_ATTRIBUTE_ID)
.doUpdate()
.set(CLASSIFIER_ATTRIBUTES.NAME, attribute.getName());
.set(CLASSIFIER_ATTRIBUTES.ATTRIBUTE_NAME, attribute.getName());
}).toList();
dsl.batch(queries).execute();
}

View file

@ -31,18 +31,18 @@ public class RecordAttributesDaoImpl implements RecordAttributesDao {
var value = attribute.getValue();
return dsl.insertInto(RECORD_ATTRIBUTES,
RECORD_ATTRIBUTES.RECORD_UID,
RECORD_ATTRIBUTES.ATTRIBUTE_UID,
RECORD_ATTRIBUTES.VALUE,
RECORD_ATTRIBUTES.RECORD_ID,
RECORD_ATTRIBUTES.ATTRIBUTE_ID,
RECORD_ATTRIBUTES.ATTRIBUTE_VALUE,
RECORD_ATTRIBUTES.VERSION
)
.values(recordUid, attributeUid, value, version)
.onConflict(RECORD_ATTRIBUTES.RECORD_UID, RECORD_ATTRIBUTES.ATTRIBUTE_UID)
.onConflict(RECORD_ATTRIBUTES.RECORD_ID, RECORD_ATTRIBUTES.ATTRIBUTE_ID)
.doUpdate()
.set(RECORD_ATTRIBUTES.VALUE, value)
.set(RECORD_ATTRIBUTES.ATTRIBUTE_VALUE, value)
.set(RECORD_ATTRIBUTES.VERSION, version)
.where(RECORD_ATTRIBUTES.RECORD_UID.eq(recordUid)
.and(RECORD_ATTRIBUTES.ATTRIBUTE_UID.eq(attributeUid)));
.where(RECORD_ATTRIBUTES.RECORD_ID.eq(recordUid)
.and(RECORD_ATTRIBUTES.ATTRIBUTE_ID.eq(attributeUid)));
}))
.toList();
@ -51,15 +51,15 @@ public class RecordAttributesDaoImpl implements RecordAttributesDao {
@Override
public String fetchTitleByLeg(String leg) {
return dsl.select(RECORD_ATTRIBUTES.VALUE)
return dsl.select(RECORD_ATTRIBUTES.ATTRIBUTE_VALUE)
.from(RECORD_ATTRIBUTES)
.join(CLASSIFIER_ATTRIBUTES)
.on(RECORD_ATTRIBUTES.ATTRIBUTE_UID.eq(CLASSIFIER_ATTRIBUTES.UID))
.where(CLASSIFIER_ATTRIBUTES.NAME.eq("title")
.and(RECORD_ATTRIBUTES.RECORD_UID.eq(
dsl.select(RECORD_ATTRIBUTES.RECORD_UID)
.on(RECORD_ATTRIBUTES.ATTRIBUTE_ID.eq(CLASSIFIER_ATTRIBUTES.CLASSIFIER_ATTRIBUTE_ID))
.where(CLASSIFIER_ATTRIBUTES.ATTRIBUTE_NAME.eq("title")
.and(RECORD_ATTRIBUTES.RECORD_ID.eq(
dsl.select(RECORD_ATTRIBUTES.RECORD_ID)
.from(RECORD_ATTRIBUTES)
.where(RECORD_ATTRIBUTES.VALUE.equal(leg))
.where(RECORD_ATTRIBUTES.ATTRIBUTE_VALUE.equal(leg))
.fetchOneInto(UUID.class)))
)
.fetchOneInto(String.class);

View file

@ -9,8 +9,8 @@
<sql>
CREATE TABLE classifier_attributes
(
uid uuid primary key,
name varchar unique
id_classifier_attribute uuid primary key,
attribute_name varchar unique
);
</sql>
</changeSet>
@ -19,12 +19,12 @@
<sql>
CREATE TABLE record_attributes
(
id bigserial primary key,
record_uid uuid not null,
attribute_uid uuid not null references classifier_attributes (uid),
value varchar,
id_record_attribute bigserial primary key,
record_id uuid not null,
attribute_id uuid not null references classifier_attributes (uid),
attribute_value varchar,
version varchar not null,
UNIQUE (record_uid, attribute_uid)
CONSTRAINT uni_record_uid_attribute_uid UNIQUE (record_uid, attribute_uid)
);
</sql>
</changeSet>