tanzh 3 年之前
父节点
当前提交
ae78ac4b64

+ 20 - 5
zhongzheng-system/src/main/java/com/zhongzheng/modules/mock/service/impl/MockApplyServiceImpl.java

@@ -39,10 +39,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -496,13 +493,14 @@ public class MockApplyServiceImpl extends ServiceImpl<MockApplyMapper, MockApply
         //判断关联商品
         LambdaQueryWrapper<MockMajorSubjectGoods> lq = Wrappers.lambdaQuery();
         List<MockMajorSubjectGoods> mockMajorSubjectGoodsList = iMockMajorSubjectGoodsService.list(lq);
+        List<Long> crossList = new ArrayList<>();
         if (mockMajorSubjectGoodsList != null && mockMajorSubjectGoodsList.size() > 0) {
             List<Long> goodsIds = iOrderService.getUserGoods(bo.getUserId());
             List<Long> userGoods = new ArrayList<>();
             mockMajorSubjectGoodsList.stream().forEach(mockMajorSubjectGoods -> {
                 userGoods.add(mockMajorSubjectGoods.getGoodsId());
             });
-            List<Long> crossList = goodsIds.stream().filter(userGoods::contains).collect(Collectors.toList());
+            crossList = goodsIds.stream().filter(userGoods::contains).collect(Collectors.toList());
             if (crossList.size() == 0) {
                 return new ArrayList<>();
             }
@@ -539,6 +537,23 @@ public class MockApplyServiceImpl extends ServiceImpl<MockApplyMapper, MockApply
         resultList.addAll(offList);
         resultList.addAll(playBackList);
         resultList.addAll(overList);
+
+        List<Long> finalCrossList = crossList;
+        resultList.removeIf(result -> {
+            LambdaQueryWrapper<MockMajorSubjectGoods> lqw = Wrappers.lambdaQuery();
+            lqw.eq(MockMajorSubjectGoods::getMockMajorSubjectId, result.getMockMajorSubjectId());
+            List<MockMajorSubjectGoods> mockMajorSubjectGoods = iMockMajorSubjectGoodsService.list(lqw);
+            if (mockMajorSubjectGoods != null && mockMajorSubjectGoods.size() > 0) {
+                for (MockMajorSubjectGoods mockMajorSubjectGood : mockMajorSubjectGoods) {
+                    if (finalCrossList.contains(mockMajorSubjectGood.getGoodsId())) {
+                        return false;
+                    }else {
+                        return true;
+                    }
+                }
+            }
+            return false;
+        });
         return resultList;
     }
 

+ 30 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserMockSubscribeServiceImpl.java

@@ -325,6 +325,36 @@ public class UserMockSubscribeServiceImpl extends ServiceImpl<UserMockSubscribeM
             }
         }
 
+        //判断关联商品
+        LambdaQueryWrapper<MockMajorSubjectGoods> lq = Wrappers.lambdaQuery();
+        List<MockMajorSubjectGoods> mockMajorSubjectGoodsList = iMockMajorSubjectGoodsService.list(lq);
+        List<Long> crossList = new ArrayList<>();
+        if (mockMajorSubjectGoodsList != null && mockMajorSubjectGoodsList.size() > 0) {
+            List<Long> goodsIds = iOrderService.getUserGoods(bo.getUserId());
+            List<Long> userGoods = new ArrayList<>();
+            mockMajorSubjectGoodsList.stream().forEach(mockMajorSubjectGoods -> {
+                userGoods.add(mockMajorSubjectGoods.getGoodsId());
+            });
+            crossList = goodsIds.stream().filter(userGoods::contains).collect(Collectors.toList());
+        }
+        List<Long> finalCrossList = crossList;
+        userMockSubscribeVos.removeIf(userMockSubscribeVo -> {
+            LambdaQueryWrapper<MockMajorSubjectGoods> lqw = Wrappers.lambdaQuery();
+            lqw.eq(MockMajorSubjectGoods::getMockMajorSubjectId, userMockSubscribeVo.getMockMajorSubjectId());
+            List<MockMajorSubjectGoods> mockMajorSubjectGoods = iMockMajorSubjectGoodsService.list(lqw);
+            if (mockMajorSubjectGoods != null && mockMajorSubjectGoods.size() > 0) {
+                for (MockMajorSubjectGoods mockMajorSubjectGood : mockMajorSubjectGoods) {
+                    if (finalCrossList.contains(mockMajorSubjectGood.getGoodsId())) {
+                        return false;
+                    }else {
+                        return true;
+                    }
+                }
+            }
+            return false;
+        });
+
+
         Collections.sort(userMockSubscribeVos, new Comparator<UserMockSubscribeVo>() {
             @Override
             public int compare(UserMockSubscribeVo o1, UserMockSubscribeVo o2) {

+ 2 - 1
zhongzheng-system/src/main/resources/mapper/modules/mock/MockMajorSubjectTimeMapper.xml

@@ -91,7 +91,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             mms.exam_id,
             css.live_url,
             css.live_start_time,
-            css.live_end_time
+            css.live_end_time,
+            mmst.mock_major_subject_id
         FROM
             mock_major_subject_time mmst
         LEFT JOIN mock_major_subject mms ON mmst.mock_major_subject_id = mms.mock_major_subject_id