diff --git a/pigx-common/pigx-common-sequence/src/main/java/com/pig4cloud/pigx/common/sequence/range/impl/db/BaseDbHelper.java b/pigx-common/pigx-common-sequence/src/main/java/com/pig4cloud/pigx/common/sequence/range/impl/db/BaseDbHelper.java index c1119c733..0bf93a6d7 100755 --- a/pigx-common/pigx-common-sequence/src/main/java/com/pig4cloud/pigx/common/sequence/range/impl/db/BaseDbHelper.java +++ b/pigx-common/pigx-common-sequence/src/main/java/com/pig4cloud/pigx/common/sequence/range/impl/db/BaseDbHelper.java @@ -34,9 +34,14 @@ abstract class BaseDbHelper { SequenceTable sequenceTable = new SequenceTable(); sequenceTable.setValue(newValue); sequenceTable.setGmtModified(LocalDateTime.now()); + return service.update(tableName, sequenceTable, updateRangeConfig(oldValue, name)) > 0; + } + + static ConfigStore updateRangeConfig(Long oldValue, String name) { ConfigStore configs = new DefaultConfigStore(); - configs.and("value", oldValue); - return service.update(tableName, sequenceTable, configs) > 0; + configs.and(SequenceTable.Fields.value, oldValue); + configs.and(SequenceTable.Fields.name, name); + return configs; } /** diff --git a/pigx-common/pigx-common-sequence/src/test/java/com/pig4cloud/pigx/common/sequence/range/impl/db/BaseDbHelperTests.java b/pigx-common/pigx-common-sequence/src/test/java/com/pig4cloud/pigx/common/sequence/range/impl/db/BaseDbHelperTests.java new file mode 100644 index 000000000..874a7cb60 --- /dev/null +++ b/pigx-common/pigx-common-sequence/src/test/java/com/pig4cloud/pigx/common/sequence/range/impl/db/BaseDbHelperTests.java @@ -0,0 +1,18 @@ +package com.pig4cloud.pigx.common.sequence.range.impl.db; + +import org.anyline.data.param.ConfigStore; +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +class BaseDbHelperTests { + + @Test + void updateRangeMatchesNameAndValue() { + ConfigStore config = BaseDbHelper.updateRangeConfig(10L, "order"); + + assertThat(config.getConfigValue(SequenceTable.Fields.value)).isEqualTo(10L); + assertThat(config.getConfigValue(SequenceTable.Fields.name)).isEqualTo("order"); + } + +}