Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitabed143

Browse files
committed
1 parent99f554c commitabed143

File tree

6 files changed

+65
-35
lines changed

6 files changed

+65
-35
lines changed

‎server/api-service/lowcoder-infra/src/main/java/org/lowcoder/infra/birelation/BiRelationServiceImpl.java‎

Lines changed: 36 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,27 @@
11
packageorg.lowcoder.infra.birelation;
22

3-
importcom.google.common.base.Preconditions;
4-
importlombok.RequiredArgsConstructor;
3+
importstaticcom.google.common.base.Strings.nullToEmpty;
4+
importstaticorg.apache.commons.lang3.StringUtils.isNotBlank;
5+
importstaticorg.springframework.data.mongodb.core.query.Criteria.where;
6+
7+
importjava.util.ArrayList;
8+
importjava.util.Collection;
9+
importjava.util.List;
10+
511
importorg.lowcoder.infra.mongo.MongoUpsertHelper;
12+
importorg.lowcoder.sdk.exception.BizError;
13+
importorg.lowcoder.sdk.exception.BizException;
14+
importorg.springframework.dao.DuplicateKeyException;
615
importorg.springframework.data.domain.Pageable;
716
importorg.springframework.data.mongodb.core.query.Criteria;
817
importorg.springframework.data.mongodb.core.query.Query;
918
importorg.springframework.stereotype.Service;
10-
importreactor.core.publisher.Flux;
11-
importreactor.core.publisher.Mono;
1219

13-
importjava.util.Collection;
14-
importjava.util.List;
20+
importcom.google.common.base.Preconditions;
1521

16-
importstaticcom.google.common.base.Strings.nullToEmpty;
17-
importstaticorg.apache.commons.lang3.StringUtils.isNotBlank;
18-
importstaticorg.springframework.data.mongodb.core.query.Criteria.where;
22+
importlombok.RequiredArgsConstructor;
23+
importreactor.core.publisher.Flux;
24+
importreactor.core.publisher.Mono;
1925

2026
@Service
2127
@RequiredArgsConstructor
@@ -36,9 +42,27 @@ public Mono<BiRelation> addBiRelation(BiRelation biRelation) {
3642

3743
@Override
3844
publicMono<List<BiRelation>>batchAddBiRelation(Collection<BiRelation>biRelations) {
39-
returnFlux.fromIterable(biRelations)
40-
.flatMap(this::upsertAndReturn)
41-
.collectList();
45+
List<Mono<BiRelation>>tasks =newArrayList<>();
46+
List<BiRelation>alreadyGranted =newArrayList<>();
47+
48+
for (BiRelationrelation :biRelations) {
49+
tasks.add(
50+
biRelationRepository.insert(relation)
51+
.onErrorResume(DuplicateKeyException.class,ex -> {
52+
alreadyGranted.add(relation);
53+
returnMono.empty();
54+
})
55+
);
56+
}
57+
58+
returnFlux.merge(tasks)
59+
.collectList()
60+
.map(inserted -> {
61+
if (!alreadyGranted.isEmpty()) {
62+
thrownewBizException(BizError.APPLICATION_GRANTED_PERMISSION_CONFLICT,"APPLICATION_GRANTED_PERMISSION_CONFLICT",alreadyGranted);
63+
}
64+
returninserted;
65+
});
4266
}
4367

4468
@Override
@@ -233,12 +257,4 @@ public Mono<Boolean> removeBiRelationById(String id) {
233257
.thenReturn(true)
234258
.onErrorReturn(false);
235259
}
236-
237-
privateMono<BiRelation>upsertAndReturn(BiRelationbiRelation) {
238-
Criteriacriteria =Criteria.where("bizType").is(biRelation.getBizType())
239-
.and("sourceId").is(biRelation.getSourceId())
240-
.and("targetId").is(biRelation.getTargetId());
241-
returnmongoUpsertHelper.upsertWithAuditingParams(biRelation,criteria)
242-
.onErrorResume(ex ->Mono.empty());
243-
}
244260
}

‎server/api-service/lowcoder-sdk/src/main/java/org/lowcoder/sdk/exception/BizError.java‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
packageorg.lowcoder.sdk.exception;
22

3-
importlombok.Getter;
4-
53
importstaticorg.lowcoder.sdk.exception.ErrorLogType.SIMPLE;
64
importstaticorg.lowcoder.sdk.exception.ErrorLogType.VERBOSE;
75
importstaticorg.lowcoder.sdk.util.EnumUtils.checkDuplicates;
86

7+
importlombok.Getter;
8+
99
@Getter
1010
publicenumBizError {
1111

@@ -64,6 +64,7 @@ public enum BizError {
6464

6565
NO_PERMISSION_TO_REQUEST_APP(403,5308),
6666
APPLICATION_AND_ORG_NOT_MATCH(400,5309),
67+
APPLICATION_GRANTED_PERMISSION_CONFLICT(409,5310),
6768

6869
// datasource related, code range 5500 - 5600
6970
DATASOURCE_NOT_FOUND(500,5500),

‎server/api-service/lowcoder-sdk/src/main/resources/locale_de.properties‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,3 +103,4 @@ EMAIL_PROVIDER_DISABLED=E-Mail-Anbieter ist deaktiviert.
103103
SLUG_DUPLICATE_ENTRY=Slug existiert bereits.
104104
SLUG_INVALID=Slug-Format ist ungültig.
105105
FLOW_ERROR=Flow-Fehlermeldung: {0}.
106+
APPLICATION_GRANTED_PERMISSION_CONFLICT=Das Recht wurde bereits gewährt.

‎server/api-service/lowcoder-sdk/src/main/resources/locale_en.properties‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -286,4 +286,5 @@ EMAIL_PROVIDER_DISABLED=Email provider is disabled.
286286
SLUG_DUPLICATE_ENTRY=Slug already exists
287287
SLUG_INVALID=Slug format is invalid
288288
FLOW_ERROR=Flow error message: {0}
289-
ORGANIZATION_NOT_FOUND=Organization not found.
289+
ORGANIZATION_NOT_FOUND=Organization not found.
290+
APPLICATION_GRANTED_PERMISSION_CONFLICT=Right was already granted.

‎server/api-service/lowcoder-sdk/src/main/resources/locale_zh.properties‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -285,4 +285,5 @@ DUPLICATE_AUTH_CONFIG_ADDITION=提供商身份验证类型已添加到组织中
285285
EMAIL_PROVIDER_DISABLED=电子邮件提供商已禁用。
286286
SLUG_DUPLICATE_ENTRY=蛞蝓已经存在
287287
SLUG_INVALID=Slug 格式无效
288-
FLOW_ERROR=流程错误消息:{0}
288+
FLOW_ERROR=流程错误消息:{0}
289+
APPLICATION_GRANTED_PERMISSION_CONFLICT=权限已被提交。

‎server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/application/ApplicationController.java‎

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,24 @@
11
packageorg.lowcoder.api.application;
22

3-
importlombok.RequiredArgsConstructor;
4-
importorg.lowcoder.api.application.view.*;
3+
importstaticorg.apache.commons.collections4.SetUtils.emptyIfNull;
4+
importstaticorg.lowcoder.plugin.api.event.LowcoderEvent.EventType.APPLICATION_CREATE;
5+
importstaticorg.lowcoder.plugin.api.event.LowcoderEvent.EventType.APPLICATION_DELETE;
6+
importstaticorg.lowcoder.plugin.api.event.LowcoderEvent.EventType.APPLICATION_RECYCLED;
7+
importstaticorg.lowcoder.plugin.api.event.LowcoderEvent.EventType.APPLICATION_RESTORE;
8+
importstaticorg.lowcoder.plugin.api.event.LowcoderEvent.EventType.APPLICATION_UPDATE;
9+
importstaticorg.lowcoder.plugin.api.event.LowcoderEvent.EventType.APPLICATION_VIEW;
10+
importstaticorg.lowcoder.sdk.exception.BizError.INVALID_PARAMETER;
11+
importstaticorg.lowcoder.sdk.util.ExceptionUtils.ofError;
12+
13+
importjava.util.List;
14+
importjava.util.Map;
15+
importjava.util.Objects;
16+
17+
importorg.lowcoder.api.application.view.ApplicationInfoView;
18+
importorg.lowcoder.api.application.view.ApplicationPermissionView;
19+
importorg.lowcoder.api.application.view.ApplicationPublishRequest;
20+
importorg.lowcoder.api.application.view.ApplicationView;
21+
importorg.lowcoder.api.application.view.MarketplaceApplicationInfoView;
522
importorg.lowcoder.api.framework.view.PageResponseView;
623
importorg.lowcoder.api.framework.view.ResponseView;
724
importorg.lowcoder.api.home.UserHomeApiService;
@@ -18,17 +35,10 @@
1835
importorg.springframework.web.bind.annotation.RequestBody;
1936
importorg.springframework.web.bind.annotation.RequestParam;
2037
importorg.springframework.web.bind.annotation.RestController;
21-
importreactor.core.publisher.Mono;
2238

23-
importjava.util.List;
24-
importjava.util.Objects;
25-
26-
importstaticorg.apache.commons.collections4.SetUtils.emptyIfNull;
27-
importstaticorg.lowcoder.plugin.api.event.LowcoderEvent.EventType.*;
28-
importstaticorg.lowcoder.sdk.exception.BizError.INVALID_PARAMETER;
29-
importstaticorg.lowcoder.sdk.util.ExceptionUtils.ofError;
39+
importlombok.RequiredArgsConstructor;
3040
importreactor.core.publisher.Flux;
31-
importjava.util.Map;
41+
importreactor.core.publisher.Mono;
3242

3343
@RequiredArgsConstructor
3444
@RestController

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp