From 1e12b2abcaa1bdbdb57d3694446337126168bef1 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 28 三月 2025 19:15:08 +0800
Subject: [PATCH] bug修改

---
 xinquan-modules/xinquan-meditation/src/main/java/com/xinquan/meditation/service/impl/MeditationServiceImpl.java |   34 ++++++++++++++++++----------------
 1 files changed, 18 insertions(+), 16 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 02441e2..8415501 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
@@ -211,26 +211,20 @@
                 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);
-                        Long data1 = remoteAppUserService.getMeditationHistoryCount(clientMeditationVO.getId()).getData();
-                        clientMeditationVO.setRealLearnedNum(Integer.valueOf(data1+""));
+                        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);
-                        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);
-                        }
                     }
                 }
                 vo.setClientMeditationVOList(meditationListByCateId);
@@ -307,14 +301,22 @@
         if (page.getRecords().isEmpty()) {
             return pageDTO;
         }
+        List<Order> data1 = new ArrayList<Order>();
+
+        if (tokenService.getLoginUser()!=null){
+            data1 = remoteOrderService.getMeditationIsBuyAll(tokenService.getLoginUser().getUserid()).getData();
+        }
         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);
+                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);
             }

--
Gitblit v1.7.1