5
5
import com .eternalcode .core .database .wrapper .AbstractRepositoryOrmLite ;
6
6
import com .eternalcode .core .injector .annotations .Inject ;
7
7
import com .eternalcode .core .injector .annotations .component .Repository ;
8
- import com .j256 .ormlite .field .DatabaseField ;
9
8
import com .j256 .ormlite .stmt .Where ;
10
- import com .j256 .ormlite .table .DatabaseTable ;
11
9
import com .j256 .ormlite .table .TableUtils ;
12
10
import java .sql .SQLException ;
13
- import java .util .HashSet ;
14
11
import java .util .List ;
15
12
import java .util .Optional ;
16
13
import java .util .Set ;
@@ -24,7 +21,7 @@ class AutoMessageRepositoryOrmLite extends AbstractRepositoryOrmLite implements
24
21
@ Inject
25
22
private AutoMessageRepositoryOrmLite (DatabaseManager databaseManager , Scheduler scheduler ) throws SQLException {
26
23
super (databaseManager , scheduler );
27
- TableUtils .createTableIfNotExists (databaseManager .connectionSource (), AutoMessageIgnoreWrapper .class );
24
+ TableUtils .createTableIfNotExists (databaseManager .connectionSource (), AutoMessageTable .class );
28
25
}
29
26
30
27
@ Override
@@ -33,16 +30,11 @@ public CompletableFuture<Set<UUID>> findReceivers(Set<UUID> onlineUniqueIds) {
33
30
return CompletableFuture .completedFuture (onlineUniqueIds );
34
31
}
35
32
36
- CompletableFuture <List <AutoMessageIgnoreWrapper >> wrapperList =
37
- this .action (AutoMessageIgnoreWrapper .class , dao -> {
38
- Where <AutoMessageIgnoreWrapper , Object > where = dao .queryBuilder ().where ();
39
-
40
- for (UUID onlineUniqueId : onlineUniqueIds ) {
41
- where .eq ("unique_id" , onlineUniqueId );
42
- }
43
-
44
- where .or (onlineUniqueIds .size ());
45
-
33
+ CompletableFuture <List <AutoMessageTable >> wrapperList =
34
+ this .action (
35
+ AutoMessageTable .class , dao -> {
36
+ Where <AutoMessageTable , Object > where = dao .queryBuilder ().where ();
37
+ where .in ("unique_id" , onlineUniqueIds );
46
38
return where .query ();
47
39
});
48
40
@@ -51,47 +43,27 @@ public CompletableFuture<Set<UUID>> findReceivers(Set<UUID> onlineUniqueIds) {
51
43
.map (wrapper -> wrapper .uniqueId )
52
44
.collect (Collectors .toSet ());
53
45
54
- Set <UUID > onlineUniqueIdsWithoutIgnores = new HashSet <>();
55
-
56
- for (UUID onlineUniqueId : onlineUniqueIds ) {
57
- if (!ignoredIds .contains (onlineUniqueId )) {
58
- onlineUniqueIdsWithoutIgnores .add (onlineUniqueId );
59
- }
60
- }
61
-
62
- return onlineUniqueIdsWithoutIgnores ;
46
+ return onlineUniqueIds .stream ()
47
+ .filter (onlineUniqueId -> !ignoredIds .contains (onlineUniqueId ))
48
+ .collect (Collectors .toSet ());
63
49
});
64
50
}
65
51
66
52
@ Override
67
53
public CompletableFuture <Boolean > isReceiving (UUID uniqueId ) {
68
- return this .selectSafe (AutoMessageIgnoreWrapper .class , uniqueId ).thenApply (Optional ::isEmpty );
54
+ return this .selectSafe (AutoMessageTable .class , uniqueId ).thenApply (Optional ::isEmpty );
69
55
}
70
56
71
57
@ Override
72
58
public CompletableFuture <Boolean > switchReceiving (UUID uniqueId ) {
73
- return this .selectSafe (AutoMessageIgnoreWrapper .class , uniqueId ).thenCompose (optional -> {
59
+ return this .selectSafe (AutoMessageTable .class , uniqueId ).thenCompose (optional -> {
74
60
if (optional .isEmpty ()) {
75
- return this .save (AutoMessageIgnoreWrapper .class , new AutoMessageIgnoreWrapper (uniqueId ))
61
+ return this .save (AutoMessageTable .class , new AutoMessageTable (uniqueId ))
76
62
.thenApply (result -> false );
77
63
}
78
64
79
- AutoMessageIgnoreWrapper wrapper = optional .get ();
80
-
81
- return this .delete (AutoMessageIgnoreWrapper .class , wrapper ).thenApply (state -> true );
65
+ AutoMessageTable wrapper = optional .get ();
66
+ return this .delete (AutoMessageTable .class , wrapper ).thenApply (state -> true );
82
67
});
83
68
}
84
-
85
- @ DatabaseTable (tableName = "eternal_core_auto_message_ignore" )
86
- private static class AutoMessageIgnoreWrapper {
87
-
88
- @ DatabaseField (columnName = "unique_id" , id = true )
89
- UUID uniqueId ;
90
-
91
- AutoMessageIgnoreWrapper () {}
92
-
93
- AutoMessageIgnoreWrapper (UUID uniqueId ) {
94
- this .uniqueId = uniqueId ;
95
- }
96
- }
97
69
}
0 commit comments