SUPPORT-8471: changes before review

This commit is contained in:
Хакимуллин Артём 2024-09-05 09:58:26 +03:00
parent d8370c5bf5
commit fb558ad4f9
2 changed files with 33 additions and 27 deletions

View file

@ -8,6 +8,8 @@ import org.jooq.DSLContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import static ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.ClassifierAttributes.CLASSIFIER_ATTRIBUTES;
/**
* @author Artyom Hackimullin
*/

View file

@ -11,6 +11,9 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import static ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.RecordAttributes.RECORD_ATTRIBUTES;
import static ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.ClassifierAttributes.CLASSIFIER_ATTRIBUTES;
/**
* @author Artyom Hackimullin
@ -24,39 +27,40 @@ public class RecordAttributesDaoImpl implements RecordAttributesDao {
@Override
public void save(RecordModel[] recordModels, String version) {
Arrays.stream(recordModels).forEach(it -> {
Arrays.stream(it.getAttributeValues()).forEach(attribute -> {
var recordUid = UUID.fromString(it.getUid());
var attributeUid = UUID.fromString(attribute.getAttributeUid());
var value = attribute.getValue();
Arrays.stream(recordModels).forEach(it -> Arrays.stream(it.getAttributeValues())
.forEach(attribute -> {
var recordUid = UUID.fromString(it.getUid());
var attributeUid = UUID.fromString(attribute.getAttributeUid());
var value = attribute.getValue();
dsl.insertInto(RECORD_ATTRIBUTES)
.set(RECORD_ATTRIBUTES.RECORD_UID, recordUid)
.set(RECORD_ATTRIBUTES.ATTRIBUTE_UID, attributeUid)
.set(RECORD_ATTRIBUTES.VERSION, version)
.set(RECORD_ATTRIBUTES.VALUE, value)
.execute();
});
});
dsl.insertInto(RECORD_ATTRIBUTES)
.set(RECORD_ATTRIBUTES.RECORD_UID, recordUid)
.set(RECORD_ATTRIBUTES.ATTRIBUTE_UID, attributeUid)
.set(RECORD_ATTRIBUTES.VERSION, version)
.set(RECORD_ATTRIBUTES.VALUE, value)
.execute();
})
);
}
@Override
public void update(RecordModel[] recordModels, String version) {
Arrays.stream(recordModels).forEach(it -> {
Arrays.stream(it.getAttributeValues()).forEach(attribute -> {
var recordUid = UUID.fromString(it.getUid());
var attributeUid = UUID.fromString(attribute.getAttributeUid());
var value = attribute.getValue();
dsl.update(RECORD_ATTRIBUTES)
.set(RECORD_ATTRIBUTES.VERSION, version)
.execute();
Arrays.stream(recordModels).forEach(it -> Arrays.stream(it.getAttributeValues())
.forEach(attribute -> {
var recordUid = UUID.fromString(it.getUid());
var attributeUid = UUID.fromString(attribute.getAttributeUid());
var value = attribute.getValue();
dsl.update(RECORD_ATTRIBUTES)
.set(RECORD_ATTRIBUTES.VERSION, version)
.execute();
dsl.update(RECORD_ATTRIBUTES)
.set(RECORD_ATTRIBUTES.VALUE, value)
.where(RECORD_ATTRIBUTES.RECORD_UID.eq(recordUid).and(RECORD_ATTRIBUTES.ATTRIBUTE_UID.eq(attributeUid)))
.execute();
});
});
dsl.update(RECORD_ATTRIBUTES)
.set(RECORD_ATTRIBUTES.VALUE, value)
.where(RECORD_ATTRIBUTES.RECORD_UID.eq(recordUid)
.and(RECORD_ATTRIBUTES.ATTRIBUTE_UID.eq(attributeUid)))
.execute();
})
);
}
@Override