From 5d02cf6ba780f088b24f62cf8db94bf63707db57 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期二, 10 九月 2024 10:14:46 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/XinQuanHealing --- xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/service/impl/MeditationServiceImpl.java | 41 +++++++++++++++++++++++++++++++++++++---- 1 files changed, 37 insertions(+), 4 deletions(-) diff --git a/xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/service/impl/MeditationServiceImpl.java b/xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/service/impl/MeditationServiceImpl.java index 0142788..d003d07 100644 --- a/xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/service/impl/MeditationServiceImpl.java +++ b/xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/service/impl/MeditationServiceImpl.java @@ -5,12 +5,13 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.xinquan.common.core.constant.SecurityConstants; import com.xinquan.common.core.enums.DisabledEnum; +import com.xinquan.common.core.enums.OrderFromEnum; import com.xinquan.common.core.exception.ServiceException; import com.xinquan.common.core.utils.page.BeanUtils; import com.xinquan.common.core.utils.page.CollUtils; import com.xinquan.common.core.utils.page.PageDTO; import com.xinquan.common.security.utils.SecurityUtils; -import com.xinquan.meditation.domain.Meditation; +import com.xinquan.meditation.api.domain.Meditation; import com.xinquan.meditation.domain.MeditationCategory; import com.xinquan.meditation.domain.MeditationMusic; import com.xinquan.meditation.domain.MeditationQuestion; @@ -28,6 +29,8 @@ import com.xinquan.meditation.service.MeditationQuestionLikeService; import com.xinquan.meditation.service.MeditationService; import com.xinquan.meditation.service.MeditationUserFavoriteService; +import com.xinquan.order.api.domain.Order; +import com.xinquan.order.api.feign.RemoteOrderService; import com.xinquan.user.api.domain.AppUser; import com.xinquan.user.api.domain.dto.AppUserDTO; import com.xinquan.user.api.feign.RemoteAppUserService; @@ -61,7 +64,7 @@ private final MeditationQuestionMapper meditationQuestionMapper; private final MeditationQuestionLikeService meditationQuestionLikeService; private final MeditationUserFavoriteService meditationUserFavoriteService; - + private final RemoteOrderService remoteOrderService; /** * 获取私人订制 * @@ -79,6 +82,30 @@ .collect(Collectors.toSet()); // 查询冥想列表 voList = baseMapper.getMeditationListByTagId(tagIdSet, sanskritFlag); + } + voList = handlePaidMeditation(voList); + return voList; + } + + /** + * 处理已付费冥想音频 + * + * @param voList + * @return + */ + private List<ClientMeditationVO> handlePaidMeditation(List<ClientMeditationVO> voList) { + // 远程调用订单服务,查询用户已付费冥想 + Long userId = SecurityUtils.getUserId(); + List<Order> orderList = remoteOrderService.getOrderListByType(userId, + OrderFromEnum.MEDITATION.getCode(), + SecurityConstants.INNER).getData(); + List<Long> meditationIdList = orderList.stream().map(Order::getBusinessId) + .collect(Collectors.toList()); + if (CollUtils.isNotEmpty(meditationIdList)) { + voList = voList.stream() + .filter(meditationVO -> meditationIdList.contains(meditationVO.getId())) + .peek(meditationVO -> meditationVO.setPaidStatus(1)) + .collect(Collectors.toList()); } return voList; } @@ -102,6 +129,7 @@ // 对象拷贝 voList = BeanUtils.copyList(list, ClientMeditationVO.class); } + handlePaidMeditation(voList); return voList; } @@ -205,6 +233,7 @@ });*/ // 将实体类转换为VO pageDTO = PageDTO.of(page, ClientMeditationVO.class); + handlePaidMeditation(pageDTO.getList()); return pageDTO; } @@ -235,6 +264,10 @@ .eq(MeditationUserFavorite::getMeditationId, id) .eq(MeditationUserFavorite::getAppUserId, SecurityUtils.getUserId()) .count() > 0 ? 1 : 2); + // 获取提问数 + vo.setQuestionCount(meditationQuestionMapper.selectCount( + Wrappers.lambdaQuery(MeditationQuestion.class) + .eq(MeditationQuestion::getMeditationId, id))); return vo; } @@ -256,7 +289,7 @@ .last("limit 1").oneOpt(); if (userOperationOpt.isPresent()) { meditationUserFavoriteService.removeById(userOperationOpt.get()); - // 增加收藏数 + // 减少收藏数 meditation.setFavoriteCount(meditation.getFavoriteCount() - 1); } else { // 增加收藏记录 @@ -264,7 +297,7 @@ meditationUserFavorite.setMeditationId(id); meditationUserFavorite.setAppUserId(SecurityUtils.getUserId()); meditationUserFavoriteService.save(meditationUserFavorite); - // 减少收藏数 + // 增加收藏数 meditation.setFavoriteCount(meditation.getFavoriteCount() + 1); } this.updateById(meditation); -- Gitblit v1.7.1