| 
					
				 | 
			
			
				@@ -24,6 +24,7 @@ import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.mapper.SysUserMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.mapper.TenantAlbumMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.mapper.TenantAlbumRefMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.yonge.cooleshow.biz.dal.mapper.TenantGroupAlbumMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.mapper.TenantGroupMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.mapper.UserTenantBindRecordMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.service.*; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -128,6 +129,9 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private UserTenantBindRecordMapper userTenantBindRecordMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private TenantGroupAlbumMapper tenantGroupAlbumMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public StudentVo detail(Long userId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return baseMapper.detail(userId); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -191,13 +195,15 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 判断是否是机构学生 机构学生 检测机构专辑购买记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         TenantInfo tenantInfo = tenantInfoService.detail(detail.getTenantId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (tenantInfo != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Long tenantGroupId = detail.getTenantGroupId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (tenantInfo != null && tenantGroupId != null && tenantGroupId != -1L) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             studentHomeVo.setTenantName(tenantInfo.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            QueryWrapper<TenantAlbumRef> queryWrapper = new QueryWrapper<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            queryWrapper.lambda().eq(TenantAlbumRef::getTenantId, detail.getTenantId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            List<TenantAlbumRef> albumRefs = tenantAlbumRefMapper.selectList(queryWrapper); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (!albumRefs.isEmpty()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                List<Long> albIds = albumRefs.stream().map(TenantAlbumRef::getTenantAlbumId).distinct().collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            QueryWrapper<TenantGroupAlbum> queryWrapper = new QueryWrapper<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            queryWrapper.lambda().eq(TenantGroupAlbum::getTenantGroupId, tenantGroupId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<TenantGroupAlbum> tenantGroupAlbums = tenantGroupAlbumMapper.selectList(queryWrapper); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<Long> albIds = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (!tenantGroupAlbums.isEmpty()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                albIds.addAll(tenantGroupAlbums.stream().map(TenantGroupAlbum::getTenantAlbumId).distinct().collect(Collectors.toList())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 QueryWrapper<TenantAlbum> query = new QueryWrapper<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 query.lambda().in(TenantAlbum::getId, albIds) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         .eq(TenantAlbum::getStatus,true); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -206,23 +212,22 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     studentHomeVo.setTenantAlbumStatus(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            UserTenantAlbumRecord record = userTenantAlbumRecordService.lambdaQuery() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<UserTenantAlbumRecord> record = userTenantAlbumRecordService.lambdaQuery() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     .eq(UserTenantAlbumRecord::getUserId, detail.getUserId()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     .eq(UserTenantAlbumRecord::getClientType, ClientEnum.STUDENT) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     .gt(UserTenantAlbumRecord::getEndTime,new Date()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     .orderByAsc(UserTenantAlbumRecord::getEndTime) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .last("limit 1").one(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (record == null || record.getEndTime().getTime() < System.currentTimeMillis()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    .list(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (record.isEmpty()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 studentHomeVo.setTenantAlbumFlag(YesOrNoEnum.NO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (record != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    studentHomeVo.setTenantAlbumStartTime(record.getStartTime()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    studentHomeVo.setTenantAlbumEndTime(record.getEndTime()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                studentHomeVo.setTenantAlbumStatus(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                long count = record.stream().filter(next -> albIds.contains(next.getTenantAlbumId())).count(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (count > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    studentHomeVo.setTenantAlbumStatus(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 studentHomeVo.setTenantAlbumFlag(YesOrNoEnum.YES); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                studentHomeVo.setTenantAlbumStartTime(record.getStartTime()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                studentHomeVo.setTenantAlbumEndTime(record.getEndTime()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                studentHomeVo.setTenantAlbumStartTime(record.get(0).getStartTime()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                studentHomeVo.setTenantAlbumEndTime(record.get(0).getEndTime()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 |