|
14 | 14 | import java.util.Optional;
|
15 | 15 |
|
16 | 16 | /**
|
17 |
| - * @author chenchao |
18 |
| - * @date 2022/8/26 |
| 17 | + * @author chenchao, chanYoung |
| 18 | + * @date 2024/4/15 |
19 | 19 | */
|
20 | 20 | public class DataFlowUseCase {
|
21 | 21 |
|
@@ -51,19 +51,35 @@ public void submit(Long itemId) {
|
51 | 51 | if (DataStatusEnum.VALID.equals(status)) {
|
52 | 52 | annotationStatus = DataAnnotationStatusEnum.ANNOTATED;
|
53 | 53 | }
|
54 |
| - dataInfoDAO.updateById(DataInfo.builder().id(itemId).annotationStatus(annotationStatus).build()); |
| 54 | + dataInfoDAO.updateById(DataInfo.builder().id(itemId).status(status).annotationStatus(annotationStatus).build()); |
55 | 55 | 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)) { |
59 | 57 | var lambdaQueryWrapper = Wrappers.lambdaQuery(DataInfo.class);
|
60 | 58 | lambdaQueryWrapper.eq(DataInfo::getDatasetId, dataEdit.getDatasetId());
|
61 | 59 | lambdaQueryWrapper.eq(DataInfo::getParentId, sceneId);
|
62 | 60 | 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); |
65 | 68 | } 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); |
67 | 83 | }
|
68 | 84 | }
|
69 | 85 | }
|
|
0 commit comments