Skip to content

Commit 1a3b691

Browse files
authored
Merge pull request #53 from kongying-tavern/fix/notice-valid-filter
fix: 修复公告有效时间过滤
2 parents a40e2e3 + 6a982a1 commit 1a3b691

File tree

1 file changed

+26
-8
lines changed
  • genshin-map-api/genshin-map-api-core/genshin-map-api-core-core/src/main/java/site/yuanshen/genshin/core/service

1 file changed

+26
-8
lines changed

genshin-map-api/genshin-map-api-core/genshin-map-api-core-core/src/main/java/site/yuanshen/genshin/core/service/NoticeService.java

+26-8
Original file line numberDiff line numberDiff line change
@@ -36,16 +36,34 @@ public PageListVo<NoticeVo> listNotice(NoticeSearchDto noticeSearchDto) {
3636
Wrappers.<Notice>lambdaQuery()
3737
.in(CollUtil.isNotEmpty(noticeSearchDto.getChannels()), Notice::getChannel, noticeSearchDto.getChannels())
3838
.like(StrUtil.isNotBlank(noticeSearchDto.getTitle()), Notice::getTitle, noticeSearchDto.getTitle())
39-
.nested(isValid != null, cw -> {
39+
.nested(isValid != null, cwValid -> {
4040
final Timestamp ts = TimeUtils.getCurrentTimestamp();
41-
if(isValid) {
42-
cw
43-
.le(Notice::getValidTimeStart, ts)
44-
.ge(Notice::getValidTimeEnd, ts);
41+
if(isValid != null) {
42+
cwValid
43+
.nested(cwST -> {
44+
cwST
45+
.nested(cwSTN -> {cwSTN.isNull(Notice::getValidTimeStart);}).or()
46+
.nested(cwSTN -> {cwSTN.isNotNull(Notice::getValidTimeStart).le(Notice::getValidTimeStart, ts);});
47+
})
48+
.nested(cwET -> {
49+
cwET
50+
.nested(cwETN -> {cwETN.isNull(Notice::getValidTimeEnd);}).or()
51+
.nested(cwETN -> {cwETN.isNotNull(Notice::getValidTimeEnd).ge(Notice::getValidTimeEnd, ts);});
52+
});
4553
} else {
46-
cw
47-
.gt(Notice::getValidTimeStart, ts).or()
48-
.lt(Notice::getValidTimeEnd, ts);
54+
cwValid
55+
.nested(cwST -> {
56+
cwST
57+
.isNotNull(Notice::getValidTimeStart)
58+
.gt(Notice::getValidTimeStart, ts);
59+
})
60+
.or()
61+
.nested(cwSE -> {
62+
cwSE
63+
.isNotNull(Notice::getValidTimeEnd)
64+
.lt(Notice::getValidTimeEnd, ts);
65+
66+
});
4967
}
5068
})
5169
.orderByDesc(BaseEntity::getCreateTime)

0 commit comments

Comments
 (0)