Skip to content

Commit 973ee1c

Browse files
authored
Merge pull request #238 from chanyoung1998/#234
fix : AnnotationStatus of Data not changing appropriatly when submitting
2 parents ec6085a + 815baa7 commit 973ee1c

File tree

1 file changed

+25
-9
lines changed

1 file changed

+25
-9
lines changed

backend/src/main/java/ai/basic/x1/usecase/DataFlowUseCase.java

Lines changed: 25 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
import java.util.Optional;
1515

1616
/**
17-
* @author chenchao
18-
* @date 2022/8/26
17+
* @author chenchao, chanYoung
18+
* @date 2024/4/15
1919
*/
2020
public class DataFlowUseCase {
2121

@@ -51,19 +51,35 @@ public void submit(Long itemId) {
5151
if (DataStatusEnum.VALID.equals(status)) {
5252
annotationStatus = DataAnnotationStatusEnum.ANNOTATED;
5353
}
54-
dataInfoDAO.updateById(DataInfo.builder().id(itemId).annotationStatus(annotationStatus).build());
54+
dataInfoDAO.updateById(DataInfo.builder().id(itemId).status(status).annotationStatus(annotationStatus).build());
5555
var sceneId = dataEdit.getSceneId();
56-
if (ObjectUtil.isNotNull(sceneId) && DataStatusEnum.INVALID.equals(status)) {
57-
dataInfoDAO.updateById(DataInfo.builder().id(sceneId).annotationStatus(DataAnnotationStatusEnum.INVALID).build());
58-
} else if (ObjectUtil.isNotNull(sceneId) && DataStatusEnum.VALID.equals(status)) {
56+
if (ObjectUtil.isNotNull(sceneId)) {
5957
var lambdaQueryWrapper = Wrappers.lambdaQuery(DataInfo.class);
6058
lambdaQueryWrapper.eq(DataInfo::getDatasetId, dataEdit.getDatasetId());
6159
lambdaQueryWrapper.eq(DataInfo::getParentId, sceneId);
6260
lambdaQueryWrapper.eq(DataInfo::getStatus, DataStatusEnum.INVALID);
63-
if (dataInfoDAO.count() == 0) {
64-
dataInfoDAO.updateById(DataInfo.builder().id(sceneId).annotationStatus(DataAnnotationStatusEnum.ANNOTATED).build());
61+
if (dataInfoDAO.count(lambdaQueryWrapper) == 0) {
62+
dataInfoDAO.updateById(DataInfo.builder().id(sceneId).status(DataStatusEnum.VALID).annotationStatus(DataAnnotationStatusEnum.ANNOTATED).build());
63+
var dataInfoLambdaUpdateWrapper = Wrappers.lambdaUpdate(DataInfo.class)
64+
.eq(DataInfo::getDatasetId, dataEdit.getDatasetId())
65+
.eq(DataInfo::getParentId, sceneId);
66+
dataInfoLambdaUpdateWrapper.set(DataInfo::getAnnotationStatus, DataAnnotationStatusEnum.ANNOTATED);
67+
dataInfoDAO.update(dataInfoLambdaUpdateWrapper);
6568
} else {
66-
dataInfoDAO.updateById(DataInfo.builder().id(sceneId).annotationStatus(DataAnnotationStatusEnum.INVALID).build());
69+
dataInfoDAO.updateById(DataInfo.builder().id(sceneId).status(DataStatusEnum.INVALID).annotationStatus(DataAnnotationStatusEnum.INVALID).build());
70+
var dataInfoLambdaUpdateWrapper = Wrappers.lambdaUpdate(DataInfo.class)
71+
.eq(DataInfo::getDatasetId, dataEdit.getDatasetId())
72+
.eq(DataInfo::getParentId, sceneId)
73+
.eq(DataInfo::getStatus, DataStatusEnum.VALID);
74+
dataInfoLambdaUpdateWrapper.set(DataInfo::getAnnotationStatus, DataAnnotationStatusEnum.ANNOTATED);
75+
dataInfoDAO.update(dataInfoLambdaUpdateWrapper);
76+
77+
var dataInfoLambdaUpdateWrapper2 = Wrappers.lambdaUpdate(DataInfo.class)
78+
.eq(DataInfo::getDatasetId, dataEdit.getDatasetId())
79+
.eq(DataInfo::getParentId, sceneId)
80+
.eq(DataInfo::getStatus, DataStatusEnum.INVALID);
81+
dataInfoLambdaUpdateWrapper2.set(DataInfo::getAnnotationStatus, DataAnnotationStatusEnum.INVALID);
82+
dataInfoDAO.update(dataInfoLambdaUpdateWrapper2);
6783
}
6884
}
6985
}

0 commit comments

Comments
 (0)