From b01f752252eaadd1fa31eda6a9ad43146660b721 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 03 四月 2025 23:42:57 +0800 Subject: [PATCH] bug修改 --- xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/service/impl/MeditationServiceImpl.java | 146 +++++++++++++++++++++++++++++++++++------------- 1 files changed, 107 insertions(+), 39 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 d14540d..2735f72 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 @@ -32,6 +32,7 @@ import com.xinquan.order.api.feign.RemoteOrderService; import com.xinquan.system.api.domain.AppUser; import com.xinquan.meditation.api.domain.MeditationQuestion; +import com.xinquan.system.api.domain.AppUserViewingHistory; import com.xinquan.system.api.domain.vo.AppUserVO; import com.xinquan.system.api.model.LoginUser; import com.xinquan.user.api.domain.dto.AppUserDTO; @@ -65,6 +66,7 @@ private final MeditationQuestionLikeService meditationQuestionLikeService; private final MeditationUserFavoriteService meditationUserFavoriteService; private final RemoteOrderService remoteOrderService; + private final MeditationMapper meditationMapper; /** * 获取私人订制 * @@ -119,15 +121,13 @@ if (loginUser==null){ return new ArrayList<>(); } - Long userId = loginUser.getUserid(); - List<Order> orderList = remoteOrderService.getOrderListByType(userId, - OrderFromEnum.MEDITATION.getCode(), - SecurityConstants.INNER).getData(); - List<Long> meditationIdList = orderList.stream().map(Order::getBusinessId) - .collect(Collectors.toList()); + Long userId = loginUser.getUserid(); + List<Order> data1 = remoteOrderService.getMeditationIsBuyAll(userId).getData(); + List<Long> meditationIdList = data1.stream().map(Order::getBusinessId).collect(Collectors.toList()); if (CollUtils.isNotEmpty(meditationIdList)) { + Set<Long> meditationIdSet = new HashSet<>(meditationIdList); voList = voList.stream() - .filter(meditationVO -> meditationIdList.contains(meditationVO.getId())) + .filter(meditationVO -> meditationIdSet.contains(meditationVO.getId())) .peek(meditationVO -> meditationVO.setIsBuy(1)) .collect(Collectors.toList()); } @@ -146,8 +146,9 @@ // 获取当前登录用户id AppUser appUser = getCurrentUser(); LambdaQueryWrapper<Meditation> meditationLambdaQueryWrapper = new LambdaQueryWrapper<>(); - meditationLambdaQueryWrapper.eq(Meditation::getCateId, cateId); + System.err.println("上下架"); meditationLambdaQueryWrapper.eq(Meditation::getListingStatus, 1); + meditationLambdaQueryWrapper.eq(Meditation::getCateId, cateId); if (appUser!=null){ if (appUser.getSanskritFlag() == 2){ meditationLambdaQueryWrapper.eq(Meditation::getSanskrit, 2); @@ -205,35 +206,68 @@ LoginUser loginUser = tokenService.getLoginUser(); List<ClientMeditationVO> meditationListByCateId = getMeditationListByCateId(cate.getId()); if (loginUser!=null){ + List<Order> data1 = remoteOrderService.getMeditationIsBuyAll(loginUser.getUserid()).getData(); for (ClientMeditationVO clientMeditationVO : meditationListByCateId) { - Integer data = remoteOrderService.getMeditationIsBuy(loginUser.getUserid(),clientMeditationVO.getId() ).getData(); - clientMeditationVO.setIsBuy(data); + Order order = data1.stream().filter(e -> e.getBusinessId().equals(clientMeditationVO.getId())).findFirst().orElse(null); + if (order==null){ + clientMeditationVO.setIsBuy(2); + }else{ + clientMeditationVO.setIsBuy(1); + } + clientMeditationVO.setRealLearnedNum(clientMeditationVO.getVirtualLearnedNum()+clientMeditationVO.getRealLearnedNum()); } }else{ for (ClientMeditationVO clientMeditationVO : meditationListByCateId) { clientMeditationVO.setIsBuy(2); + clientMeditationVO.setRealLearnedNum(clientMeditationVO.getVirtualLearnedNum()+clientMeditationVO.getRealLearnedNum()); } - }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; } - +// @Override +// public List<ClientMeditationAndCateVO> getMeditationAndCateList() { +// List<ClientMeditationAndCateVO> voList = CollUtils.newArrayList(); +// +// // 查询分类列表 +// List<MeditationCategory> cateList = meditationCategoryMapper.selectList( +// Wrappers.lambdaQuery(MeditationCategory.class) +// .orderByDesc(MeditationCategory::getSortNum)); +// +// LoginUser loginUser = tokenService.getLoginUser(); +// Long userId = loginUser != null ? loginUser.getUserid() : null; +// +// for (MeditationCategory cate : cateList) { +// ClientMeditationAndCateVO vo = new ClientMeditationAndCateVO(); +// vo.setClientMeditationCategoryVO(BeanUtils.copyBean(cate, ClientMeditationCategoryVO.class)); +// +// List<ClientMeditationVO> meditationListByCateId = getMeditationListByCateId(cate.getId()); +// +// for (ClientMeditationVO record : meditationListByCateId) { +// setMeditationDetails(record, userId); +// } +// +// vo.setClientMeditationVOList(meditationListByCateId); +// voList.add(vo); +// } +// +// return voList; +// } +// +// private void setMeditationDetails(ClientMeditationVO record, Long userId) { +// Long historyCount = remoteAppUserService.getMeditationHistoryCount(record.getId()).getData(); +// record.setRealLearnedNum(Integer.valueOf(historyCount.toString())); +// record.setRealLearnedNum(record.getVirtualLearnedNum() + record.getRealLearnedNum()); +// +// Integer isBuy = userId != null ? remoteOrderService.getMeditationIsBuy(userId, record.getId()).getData() : 2; +// record.setIsBuy(isBuy); +// +// Meditation meditation = this.getById(record.getId()); +// meditation.setRealLearnedNum(Integer.valueOf(historyCount.toString())); +// this.updateById(meditation); +// } /** * 根据分类id获取冥想列表-分页 * @@ -255,25 +289,36 @@ meditationLambdaQueryWrapper.eq(Meditation::getSanskrit, 2); } } + meditationLambdaQueryWrapper.eq(Meditation::getListingStatus,1); meditationLambdaQueryWrapper.orderByDesc(Meditation::getSortNum); Page<Meditation> page = this.page(new Page<>(pageCurr, pageSize), meditationLambdaQueryWrapper); // 如果没有查到数据直接返回 if (page.getRecords().isEmpty()) { return pageDTO; } + List<Order> data1 = new ArrayList<Order>(); + + if (tokenService.getLoginUser()!=null){ + data1 = remoteOrderService.getMeditationIsBuyAll(tokenService.getLoginUser().getUserid()).getData(); + } + List<AppUserViewingHistory> data2 = remoteAppUserService.getMeditationHistoryCountAll().getData(); + boolean temp = tokenService.getLoginUser()!=null; for (Meditation record : page.getRecords()) { - Long data = remoteAppUserService.getMeditationHistoryCount(record.getId()).getData(); - record.setRealLearnedNum(Integer.valueOf(data+"")); + List<AppUserViewingHistory> collect = data2.stream().filter(e -> e.getBizId().equals(record.getId())).collect(Collectors.toList()); + record.setRealLearnedNum(collect.size()); record.setRealLearnedNum(record.getVirtualLearnedNum()+record.getRealLearnedNum()); - if (tokenService.getLoginUser()!=null){ - Integer data2 = remoteOrderService.getMeditationIsBuy(tokenService.getLoginUser().getUserid() - ,record.getId() ).getData(); - record.setIsBuy(data2); + if (temp){ + Order order = data1.stream().filter(e -> e.getBusinessId().equals(record.getId())).findFirst().orElse(null); + if (order==null){ + record.setIsBuy(2); + }else{ + record.setIsBuy(1); + } }else{ record.setIsBuy(2); } - this.updateById(record); } + this.updateBatchById(page.getRecords()); // 将实体类转换为VO pageDTO = PageDTO.of(page, ClientMeditationVO.class); return pageDTO; @@ -299,10 +344,12 @@ Long userid = loginUser.getUserid(); } LambdaQueryWrapper<Meditation> meditationLambdaQueryWrapper = new LambdaQueryWrapper<>(); + meditationLambdaQueryWrapper.eq(Meditation::getListingStatus,1); meditationLambdaQueryWrapper.like(Meditation::getMeditationTitle, condition); if (loginUser!=null){ Long userid = loginUser.getUserid(); AppUser appUser = remoteAppUserService.getAppUserById(userid + "").getData(); + if (appUser.getSanskritFlag()==2) meditationLambdaQueryWrapper.eq(Meditation::getSanskrit, appUser.getSanskritFlag()); } meditationLambdaQueryWrapper.like(Meditation::getMeditationTitle, condition); @@ -356,7 +403,6 @@ List<MeditationUserFavorite> list = meditationUserFavoriteService.lambdaQuery() .eq(MeditationUserFavorite::getMeditationId, id) .eq(MeditationUserFavorite::getAppUserId, userid).list(); - if (list.isEmpty()){ vo.setFavorite(2); }else{ @@ -377,11 +423,22 @@ vo.setMeditationMusicList(musicUrlList); vo.setMeditationSecondList(musicSencodList); } - // 获取提问数 - vo.setQuestionCount(meditationQuestionMapper.selectCount( - Wrappers.lambdaQuery(MeditationQuestion.class) - .eq(MeditationQuestion::getMeditationId, id) - .eq(MeditationQuestion::getShowFlag,1))); + if (tokenService.getLoginUser()!=null){ + List<Long> data = remoteAppUserService.getUserBlackList(tokenService.getLoginUser().getUserid()).getData(); + // 获取提问数 + vo.setQuestionCount(meditationQuestionMapper.selectCount( + Wrappers.lambdaQuery(MeditationQuestion.class) + .notIn(!data.isEmpty(),MeditationQuestion::getAppUserId, data) + .eq(MeditationQuestion::getMeditationId, id) + .eq(MeditationQuestion::getShowFlag,1))); + }else{ + // 获取提问数 + vo.setQuestionCount(meditationQuestionMapper.selectCount( + Wrappers.lambdaQuery(MeditationQuestion.class) + .eq(MeditationQuestion::getMeditationId, id) + .eq(MeditationQuestion::getShowFlag,1))); + } + if (tokenService.getLoginUser()!=null){ Integer data2 = remoteOrderService.getMeditationIsBuy(tokenService.getLoginUser().getUserid(), id).getData(); vo.setIsBuy(data2); @@ -396,7 +453,7 @@ } } - + this.updateById(meditation); return R.ok(vo); } @Override @@ -479,11 +536,14 @@ @Override public PageDTO<ClientMeditationQuestionVO> getMeditationQuestionPage(Long id, Integer pageCurr, Integer pageSize) { + Long userid = tokenService.getLoginUser().getUserid(); + List<Long> data = remoteAppUserService.getUserBlackList(userid).getData(); // 查询冥想提问列表 Page<MeditationQuestion> questionPage = meditationQuestionMapper.selectPage( new Page<>(pageCurr, pageSize), Wrappers.lambdaQuery(MeditationQuestion.class) .eq(MeditationQuestion::getMeditationId, id) + .notIn(!data.isEmpty(),MeditationQuestion::getAppUserId, data) .eq(MeditationQuestion::getShowFlag, DisabledEnum.YES.getCode()) .orderByDesc(MeditationQuestion::getPublishTime)); if (CollUtils.isEmpty(questionPage.getRecords())) { @@ -541,11 +601,19 @@ @Override public PageDTO<ClientMeditationQuestionVO> getMeditationQuestionPageShare(Long id, Integer pageCurr, Integer pageSize) { + LoginUser loginUser = tokenService.getLoginUser(); + List<Long> longs = new ArrayList<>(); + + if (loginUser!=null){ + longs = remoteAppUserService.getUserBlackList(loginUser.getAppUserId()).getData(); + + } // 查询冥想提问列表 Page<MeditationQuestion> questionPage = meditationQuestionMapper.selectPage( new Page<>(pageCurr, pageSize), Wrappers.lambdaQuery(MeditationQuestion.class) .eq(MeditationQuestion::getMeditationId, id) + .notIn(!longs.isEmpty(),MeditationQuestion::getAppUserId, longs) .eq(MeditationQuestion::getShowFlag, DisabledEnum.YES.getCode()) .orderByDesc(MeditationQuestion::getPublishTime)); if (CollUtils.isEmpty(questionPage.getRecords())) { -- Gitblit v1.7.1