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

Commitddcb07c

Browse files
authored
Merge pull request#1730 from lowcoder-org/fix/anon_visit
When an anonymous user visits a published app, a log entry is added to the app_usage_log table.
2 parentsa4b22cd +f7f5128 commitddcb07c

File tree

1 file changed

+36
-44
lines changed

1 file changed

+36
-44
lines changed

‎server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/util/BusinessEventPublisher.java

Lines changed: 36 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -126,9 +126,6 @@ public Mono<Void> publishApplicationCommonEvent(ApplicationView originalApplicat
126126
publicMono<Void>publishApplicationCommonEvent(ApplicationVieworiginalApplicationView,ApplicationViewapplicationView,EventTypeeventType) {
127127
returnsessionUserService.isAnonymousUser()
128128
.flatMap(anonymous -> {
129-
if (anonymous) {
130-
returnMono.empty();
131-
}
132129
returnsessionUserService.getVisitorOrgMemberCache()
133130
.zipWith(Mono.defer(() -> {
134131
StringfolderId =applicationView.getApplicationInfoView().getFolderId();
@@ -204,50 +201,45 @@ public Mono<Void> publishApplicationCommonEvent(ApplicationView originalApplicat
204201
});
205202
});
206203
}
207-
204+
208205

209206
publicMono<Void>publishApplicationPermissionEvent(StringapplicationId,Set<String>userIds,Set<String>groupIds,StringpermissionId,Stringrole) {
210207
returnsessionUserService.isAnonymousUser()
211-
.flatMap(anonymous -> {
212-
if (anonymous) {
213-
returnMono.empty();
214-
}
215-
returnsessionUserService.getVisitorOrgMemberCache()
216-
.zipWith(sessionUserService.getVisitorToken())
217-
.zipWith(applicationService.findById(applicationId)
218-
.zipWhen(application ->application.getCategory(applicationRecordServiceImpl))
219-
.zipWhen(application ->application.getT1().getDescription(applicationRecordServiceImpl)))
220-
.flatMap(tuple -> {
221-
OrgMemberorgMember =tuple.getT1().getT1();
222-
Stringtoken =tuple.getT1().getT2();
223-
Stringcategory =tuple.getT2().getT1().getT2();
224-
Stringdescription =tuple.getT2().getT2();
225-
Applicationapplication =tuple.getT2().getT1().getT1();
226-
227-
ApplicationCommonEventevent =ApplicationCommonEvent.builder()
228-
.orgId(orgMember.getOrgId())
229-
.userId(orgMember.getUserId())
230-
.applicationId(application.getId())
231-
.applicationGid(application.getGid())
232-
.applicationName(application.getName())
233-
.applicationCategory(category)
234-
.applicationDescription(description)
235-
.type(EventType.APPLICATION_PERMISSION_CHANGE)
236-
.permissionId(permissionId)
237-
.role(role)
238-
.userIds(userIds)
239-
.groupIds(groupIds)
240-
.isAnonymous(anonymous)
241-
.sessionHash(Hashing.sha512().hashString(token,StandardCharsets.UTF_8).toString())
242-
.build();
243-
244-
returnMono.deferContextual(contextView -> {
245-
event.populateDetails(contextView);
246-
applicationEventPublisher.publishEvent(event);
247-
returnMono.empty();
248-
}).then();// **Fix: Ensures Mono<Void> is returned**
249-
});
250-
})
208+
.flatMap(anonymous ->sessionUserService.getVisitorOrgMemberCache()
209+
.zipWith(sessionUserService.getVisitorToken())
210+
.zipWith(applicationService.findById(applicationId)
211+
.zipWhen(application ->application.getCategory(applicationRecordServiceImpl))
212+
.zipWhen(application ->application.getT1().getDescription(applicationRecordServiceImpl)))
213+
.flatMap(tuple -> {
214+
OrgMemberorgMember =tuple.getT1().getT1();
215+
Stringtoken =tuple.getT1().getT2();
216+
Stringcategory =tuple.getT2().getT1().getT2();
217+
Stringdescription =tuple.getT2().getT2();
218+
Applicationapplication =tuple.getT2().getT1().getT1();
219+
220+
ApplicationCommonEventevent =ApplicationCommonEvent.builder()
221+
.orgId(orgMember.getOrgId())
222+
.userId(orgMember.getUserId())
223+
.applicationId(application.getId())
224+
.applicationGid(application.getGid())
225+
.applicationName(application.getName())
226+
.applicationCategory(category)
227+
.applicationDescription(description)
228+
.type(EventType.APPLICATION_PERMISSION_CHANGE)
229+
.permissionId(permissionId)
230+
.role(role)
231+
.userIds(userIds)
232+
.groupIds(groupIds)
233+
.isAnonymous(anonymous)
234+
.sessionHash(Hashing.sha512().hashString(token,StandardCharsets.UTF_8).toString())
235+
.build();
236+
237+
returnMono.deferContextual(contextView -> {
238+
event.populateDetails(contextView);
239+
applicationEventPublisher.publishEvent(event);
240+
returnMono.empty();
241+
}).then();// **Fix: Ensures Mono<Void> is returned**
242+
}))
251243
.onErrorResume(throwable -> {
252244
log.error("publishApplicationPermissionEvent error. {}, {}, {}",applicationId,permissionId,role,throwable);
253245
returnMono.empty();

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp