From 64f7ccb9ef8b5a0618e65cddc14b981c1f108ba3 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期一, 04 十一月 2024 09:01:59 +0800 Subject: [PATCH] 代码提交 --- xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/service/impl/MeditationEverydayServiceImpl.java | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 57 insertions(+), 3 deletions(-) diff --git a/xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/service/impl/MeditationEverydayServiceImpl.java b/xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/service/impl/MeditationEverydayServiceImpl.java index 22d5929..0215cc0 100644 --- a/xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/service/impl/MeditationEverydayServiceImpl.java +++ b/xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/service/impl/MeditationEverydayServiceImpl.java @@ -1,9 +1,19 @@ package com.xinquan.meditation.service.impl; -import com.xinquan.meditation.domain.MeditationEveryday; -import com.xinquan.meditation.mapper.MeditationEverydayMapper; -import com.xinquan.meditation.service.MeditationEverydayService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.xinquan.common.core.utils.DateUtils; +import com.xinquan.common.core.utils.page.BeanUtils; +import com.xinquan.meditation.api.domain.Meditation; +import com.xinquan.meditation.domain.MeditationEveryday; +import com.xinquan.meditation.domain.vo.ClientMeditationEverydayVO; +import com.xinquan.meditation.domain.vo.ClientMeditationVO; +import com.xinquan.meditation.mapper.MeditationEverydayMapper; +import com.xinquan.meditation.mapper.MeditationMapper; +import com.xinquan.meditation.service.MeditationEverydayService; + +import java.util.List; +import java.util.Optional; +import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; /** @@ -15,6 +25,50 @@ * @since 2024-08-21 */ @Service +@RequiredArgsConstructor public class MeditationEverydayServiceImpl extends ServiceImpl<MeditationEverydayMapper, MeditationEveryday> implements MeditationEverydayService { + private final MeditationMapper meditationMapper; + + /** + * 查询每日冥想 + * + * @return 每日冥想 + */ + @Override + public ClientMeditationEverydayVO getTodayMeditation() { + ClientMeditationEverydayVO vo = null; + // 当前时间 + String now = DateUtils.dateTimeNow("HH:mm:ss"); + // 查询播放时间段在当前时间的每日冥想 + Optional<MeditationEveryday> meditationEverydayOpt = this.lambdaQuery() + .le(MeditationEveryday::getStartPlayTime, now) + .ge(MeditationEveryday::getEndPlayTime, now) + .orderByDesc(MeditationEveryday::getUpdateTime) + .last("limit 1").oneOpt(); + if (!meditationEverydayOpt.isPresent()) { + // 查询结束时间离当前时间最近的一个每日冥想 + meditationEverydayOpt = this.lambdaQuery() + .le(MeditationEveryday::getStartPlayTime, now) + .orderByDesc(MeditationEveryday::getEndPlayTime) + .last("limit 1").oneOpt(); + } + // 判断是否存在 + if (meditationEverydayOpt.isPresent()) { + // 查询冥想详情 + MeditationEveryday meditationEveryday = meditationEverydayOpt.get(); + Optional<Meditation> meditationOpt = Optional.ofNullable( + meditationMapper.selectById( + meditationEveryday.getMeditationId())); + if (meditationOpt.isPresent()) { + // 封装返回值 + ClientMeditationVO clientMeditationVO = BeanUtils.copyBean(meditationOpt.get(), + ClientMeditationVO.class); + vo = BeanUtils.copyBean(meditationEveryday, + ClientMeditationEverydayVO.class); + vo.setClientMeditationVO(clientMeditationVO); + } + } + return vo; + } } -- Gitblit v1.7.1