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 |   37 +++++++++++++++++--------------------
 1 files changed, 17 insertions(+), 20 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 8415501..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());
         }
@@ -156,15 +156,10 @@
             meditationLambdaQueryWrapper.orderByDesc(Meditation::getSortNum).last("limit 8");
         }
         List<Meditation> list =this.list(meditationLambdaQueryWrapper);
-        List<Meditation> meditations = new ArrayList<>();
-        for (Meditation meditation : list) {
-            if (meditation.getListingStatus()==1){
-                meditations.add(meditation);
-            }
-        }
-        if (CollUtils.isNotEmpty(meditations)) {
+
+        if (CollUtils.isNotEmpty(list)) {
             // 对象拷贝
-            voList = BeanUtils.copyList(meditations, ClientMeditationVO.class);
+            voList = BeanUtils.copyList(list, ClientMeditationVO.class);
         }
         handlePaidMeditation(voList);
         return voList;
@@ -306,11 +301,13 @@
         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){
+            if (temp){
                 Order order = data1.stream().filter(e -> e.getBusinessId().equals(record.getId())).findFirst().orElse(null);
                 if (order==null){
                     record.setIsBuy(2);
@@ -320,8 +317,8 @@
             }else{
                 record.setIsBuy(2);
             }
-            this.updateById(record);
         }
+        this.updateBatchById(page.getRecords());
         // 将实体类转换为VO
         pageDTO = PageDTO.of(page, ClientMeditationVO.class);
         return pageDTO;
@@ -456,7 +453,7 @@
             }
         }
 
-
+        this.updateById(meditation);
         return R.ok(vo);
     }
     @Override

--
Gitblit v1.7.1