From 0c51a577db337520452022d9d6a22b720ef858d4 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期二, 31 十二月 2024 14:13:01 +0800
Subject: [PATCH] 全部代码、数据库提交

---
 xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/service/impl/MeditationServiceImpl.java |  117 ++++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 93 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 a2b5bd1..88d114b 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
@@ -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);
@@ -155,10 +156,15 @@
             meditationLambdaQueryWrapper.orderByDesc(Meditation::getSortNum).last("limit 8");
         }
         List<Meditation> list =this.list(meditationLambdaQueryWrapper);
-
-        if (CollUtils.isNotEmpty(list)) {
+        List<Meditation> meditations = new ArrayList<>();
+        for (Meditation meditation : list) {
+            if (meditation.getListingStatus()==1){
+                meditations.add(meditation);
+            }
+        }
+        if (CollUtils.isNotEmpty(meditations)) {
             // 对象拷贝
-            voList = BeanUtils.copyList(list, ClientMeditationVO.class);
+            voList = BeanUtils.copyList(meditations, ClientMeditationVO.class);
         }
         handlePaidMeditation(voList);
         return voList;
@@ -208,32 +214,71 @@
                     for (ClientMeditationVO clientMeditationVO : meditationListByCateId) {
                         Integer data = remoteOrderService.getMeditationIsBuy(loginUser.getUserid(),clientMeditationVO.getId() ).getData();
                         clientMeditationVO.setIsBuy(data);
+                        Long data1 = remoteAppUserService.getMeditationHistoryCount(clientMeditationVO.getId()).getData();
+                        clientMeditationVO.setRealLearnedNum(Integer.valueOf(data1+""));
+                        clientMeditationVO.setRealLearnedNum(clientMeditationVO.getVirtualLearnedNum()+clientMeditationVO.getRealLearnedNum());
                     }
                 }else{
                     for (ClientMeditationVO clientMeditationVO : meditationListByCateId) {
                         clientMeditationVO.setIsBuy(2);
+                        Long data = remoteAppUserService.getMeditationHistoryCount(clientMeditationVO.getId()).getData();
+                        clientMeditationVO.setRealLearnedNum(Integer.valueOf(data+""));
+                        clientMeditationVO.setRealLearnedNum(clientMeditationVO.getVirtualLearnedNum()+clientMeditationVO.getRealLearnedNum());
+                        if (tokenService.getLoginUser()!=null){
+                            Integer data2 = remoteOrderService.getMeditationIsBuy(tokenService.getLoginUser().getUserid()
+                                    ,clientMeditationVO.getId() ).getData();
+                            clientMeditationVO.setIsBuy(data2);
+                        }else{
+                            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;
     }
-
+//    @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,6 +300,7 @@
                 meditationLambdaQueryWrapper.eq(Meditation::getSanskrit, 2);
             }
         }
+        meditationLambdaQueryWrapper.eq(Meditation::getListingStatus,1);
         meditationLambdaQueryWrapper.orderByDesc(Meditation::getSortNum);
         Page<Meditation> page = this.page(new Page<>(pageCurr, pageSize), meditationLambdaQueryWrapper);
         // 如果没有查到数据直接返回
@@ -299,6 +345,7 @@
             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();
@@ -376,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);
@@ -478,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())) {
@@ -540,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