From 111652d23733d04e379c2454c8b39171596a6b50 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期六, 09 十一月 2024 14:28:51 +0800 Subject: [PATCH] 代码提交 --- xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/service/impl/MeditationServiceImpl.java | 118 +++++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 94 insertions(+), 24 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 89ee900..ecb2c04 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 @@ -14,8 +14,6 @@ import com.xinquan.common.core.utils.page.PageDTO; import com.xinquan.common.core.web.page.PageInfo; import com.xinquan.common.security.service.TokenService; -import com.xinquan.common.security.utils.SecurityUtils; -import com.xinquan.course.api.domain.Course; import com.xinquan.meditation.api.domain.Meditation; import com.xinquan.meditation.domain.*; import com.xinquan.meditation.domain.vo.ClientMeditationAndCateVO; @@ -33,7 +31,7 @@ import com.xinquan.order.api.domain.Order; import com.xinquan.order.api.feign.RemoteOrderService; import com.xinquan.system.api.domain.AppUser; -import com.xinquan.system.api.domain.MeditationQuestion; +import com.xinquan.meditation.api.domain.MeditationQuestion; import com.xinquan.system.api.domain.vo.AppUserVO; import com.xinquan.system.api.model.LoginUser; import com.xinquan.user.api.domain.dto.AppUserDTO; @@ -84,10 +82,12 @@ Integer sanskritFlag = appUser.getSanskritFlag(); if (StringUtils.hasLength(appUser.getTagId())) { String tagId = appUser.getTagId(); - Set<Long> tagIdSet = Arrays.stream(tagId.split(",")).map(Long::parseLong) - .collect(Collectors.toSet()); - // 查询冥想列表 - voList = baseMapper.getMeditationListByTagId(tagIdSet, sanskritFlag); + if (StringUtils.hasLength(tagId)){ + Set<Long> tagIdSet = Arrays.stream(tagId.split(",")).map(Long::parseLong) + .collect(Collectors.toSet()); + // 查询冥想列表 + voList = baseMapper.getMeditationListByTagId(tagIdSet, sanskritFlag); + } }else{ Set<Long> longs = new HashSet<>(); voList = baseMapper.getMeditationListByTagId(longs, sanskritFlag); @@ -124,7 +124,7 @@ if (CollUtils.isNotEmpty(meditationIdList)) { voList = voList.stream() .filter(meditationVO -> meditationIdList.contains(meditationVO.getId())) - .peek(meditationVO -> meditationVO.setPaidStatus(1)) + .peek(meditationVO -> meditationVO.setIsBuy(1)) .collect(Collectors.toList()); } return voList; @@ -144,7 +144,9 @@ LambdaQueryWrapper<Meditation> meditationLambdaQueryWrapper = new LambdaQueryWrapper<>(); meditationLambdaQueryWrapper.eq(Meditation::getCateId, cateId); if (appUser!=null){ - meditationLambdaQueryWrapper.eq(Meditation::getSanskrit, appUser.getSanskritFlag()); + if (appUser.getSanskritFlag() == 2){ + meditationLambdaQueryWrapper.eq(Meditation::getSanskrit, 2); + } meditationLambdaQueryWrapper.orderByDesc(Meditation::getSortNum).last("limit 8"); } List<Meditation> list =this.list(meditationLambdaQueryWrapper); @@ -184,6 +186,7 @@ */ @Override public List<ClientMeditationAndCateVO> getMeditationAndCateList() { + // 获取当前登录用户 List<ClientMeditationAndCateVO> voList = CollUtils.newArrayList(); // 查询分类列表 @@ -194,7 +197,33 @@ ClientMeditationAndCateVO vo = new ClientMeditationAndCateVO(); vo.setClientMeditationCategoryVO( BeanUtils.copyBean(cate, ClientMeditationCategoryVO.class)); - vo.setClientMeditationVOList(getMeditationListByCateId(cate.getId())); + LoginUser loginUser = tokenService.getLoginUser(); + List<ClientMeditationVO> meditationListByCateId = getMeditationListByCateId(cate.getId()); + if (loginUser!=null){ + for (ClientMeditationVO clientMeditationVO : meditationListByCateId) { + Integer data = remoteOrderService.getMeditationIsBuy(loginUser.getUserid(),clientMeditationVO.getId() ).getData(); + clientMeditationVO.setIsBuy(data); + } + }else{ + for (ClientMeditationVO clientMeditationVO : meditationListByCateId) { + clientMeditationVO.setIsBuy(2); + } + }for (ClientMeditationVO record : meditationListByCateId) { + Long data = remoteAppUserService.getMeditationHistoryCount(record.getId()).getData(); + record.setRealLearnedNum(Integer.valueOf(data+"")); + record.setRealLearnedNum(record.getVirtualLearnedNum()+record.getRealLearnedNum()); + if (tokenService.getLoginUser()!=null){ + Integer data2 = remoteOrderService.getMeditationIsBuy(tokenService.getLoginUser().getUserid() + ,record.getId() ).getData(); + record.setIsBuy(data2); + }else{ + record.setIsBuy(2); + } + Meditation byId = this.getById(record.getId()); + byId.setRealLearnedNum(Integer.valueOf(data+"")); + this.updateById(byId); + } + vo.setClientMeditationVOList(meditationListByCateId); voList.add(vo); } return voList; @@ -217,13 +246,28 @@ LambdaQueryWrapper<Meditation> meditationLambdaQueryWrapper = new LambdaQueryWrapper<>(); meditationLambdaQueryWrapper.eq(Meditation::getCateId, cateId); if (appUser!=null){ - meditationLambdaQueryWrapper.eq(Meditation::getSanskrit, appUser.getSanskritFlag()); + if (appUser.getSanskritFlag() == 2){ + meditationLambdaQueryWrapper.eq(Meditation::getSanskrit, 2); + } } meditationLambdaQueryWrapper.orderByDesc(Meditation::getSortNum); Page<Meditation> page = this.page(new Page<>(pageCurr, pageSize), meditationLambdaQueryWrapper); // 如果没有查到数据直接返回 if (page.getRecords().isEmpty()) { return pageDTO; + } + for (Meditation record : page.getRecords()) { + Long data = remoteAppUserService.getMeditationHistoryCount(record.getId()).getData(); + record.setRealLearnedNum(Integer.valueOf(data+"")); + record.setRealLearnedNum(record.getVirtualLearnedNum()+record.getRealLearnedNum()); + if (tokenService.getLoginUser()!=null){ + Integer data2 = remoteOrderService.getMeditationIsBuy(tokenService.getLoginUser().getUserid() + ,record.getId() ).getData(); + record.setIsBuy(data2); + }else{ + record.setIsBuy(2); + } + this.updateById(record); } // 将实体类转换为VO pageDTO = PageDTO.of(page, ClientMeditationVO.class); @@ -284,21 +328,36 @@ * @return 客户端冥想详情视图对象 */ @Override - public ClientMeditationDetailsVO getMeditationDetails(Long id) { - AppUserVO data1 = remoteAppUserService.getCurrentUser().getData(); - - + public R<ClientMeditationDetailsVO> getMeditationDetails(Long id) { // 查询冥想音频 Meditation meditation = this.getById(id); ClientMeditationDetailsVO vo = BeanUtils.copyBean(meditation, ClientMeditationDetailsVO.class); - if (data1.getVipExpireTime()!=null && data1.getVipExpireTime().isAfter(LocalDateTime.now())){ - vo.setIsVip(1); - }else{ - vo.setIsVip(0); + if (meditation.getChargeType() != 1){ + LoginUser loginUser = tokenService.getLoginUser(); + if (loginUser==null){ + return R.tokenError("登录失效"); + } + Long userid = loginUser.getUserid(); + AppUser data1 = remoteAppUserService.getAppUserById(userid + "").getData(); + + if (data1.getVipExpireTime()!=null && data1.getVipExpireTime().isAfter(LocalDateTime.now())){ + vo.setIsVip(1); + }else{ + vo.setIsVip(0); + } + Integer data = remoteOrderService.getMeditationIsBuy(data1.getId(), id).getData(); + vo.setIsBuy(data); + List<MeditationUserFavorite> list = meditationUserFavoriteService.lambdaQuery() + .eq(MeditationUserFavorite::getMeditationId, id) + .eq(MeditationUserFavorite::getAppUserId, userid).list(); + + if (list.isEmpty()){ + vo.setFavorite(2); + }else{ + vo.setFavorite(1); + } } - Integer data = remoteOrderService.getMeditationIsBuy(data1.getId(), id).getData(); - vo.setIsBuy(data); // 查询冥想音频 List<MeditationMusic> meditationMusics = meditationMusicMapper.selectList( Wrappers.lambdaQuery(MeditationMusic.class) @@ -307,13 +366,23 @@ // 获取音频链接 List<String> musicUrlList = meditationMusics.stream() .map(MeditationMusic::getMusicUrl).collect(Collectors.toList()); + // 获取音频链接 + List<Integer> musicSencodList = meditationMusics.stream() + .map(MeditationMusic::getMusicSecond).collect(Collectors.toList()); vo.setMeditationMusicList(musicUrlList); + vo.setMeditationSecondList(musicSencodList); } // 获取提问数 vo.setQuestionCount(meditationQuestionMapper.selectCount( Wrappers.lambdaQuery(MeditationQuestion.class) - .eq(MeditationQuestion::getMeditationId, id))); - return vo; + .eq(MeditationQuestion::getMeditationId, id) + .eq(MeditationQuestion::getShowFlag,1))); + if (tokenService.getLoginUser()!=null){ + Integer data2 = remoteOrderService.getMeditationIsBuy(tokenService.getLoginUser().getUserid(), id).getData(); + vo.setIsBuy(data2); + } + + return R.ok(vo); } @Override public ClientMeditationDetailsVO getMeditationDetails1(Long id) { @@ -334,7 +403,8 @@ // 获取提问数 vo.setQuestionCount(meditationQuestionMapper.selectCount( Wrappers.lambdaQuery(MeditationQuestion.class) - .eq(MeditationQuestion::getMeditationId, id))); + .eq(MeditationQuestion::getMeditationId, id) + .eq(MeditationQuestion::getShowFlag,1))); return vo; } -- Gitblit v1.7.1