|
@@ -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);
|
|
@@ -193,36 +197,31 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
|
|
|
TenantInfo tenantInfo = tenantInfoService.detail(detail.getTenantId());
|
|
|
if (tenantInfo != null) {
|
|
|
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<TenantAlbum> query = new QueryWrapper<>();
|
|
|
- query.lambda().in(TenantAlbum::getId, albIds)
|
|
|
- .eq(TenantAlbum::getStatus,true);
|
|
|
- Integer count = tenantAlbumMapper.selectCount(query);
|
|
|
- if (count > 0) {
|
|
|
- studentHomeVo.setTenantAlbumStatus(1);
|
|
|
- }
|
|
|
+ QueryWrapper<TenantGroupAlbum> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.lambda().eq(TenantGroupAlbum::getTenantGroupId, Optional.ofNullable(detail.getTenantGroupId()).orElse(-1L))
|
|
|
+ .eq(TenantGroupAlbum::getDelFlag, false)
|
|
|
+ .eq(TenantGroupAlbum::getStatus, true);
|
|
|
+ List<TenantGroupAlbum> tenantGroupAlbums = tenantGroupAlbumMapper.selectList(queryWrapper);
|
|
|
+ List<Long> albIds = tenantGroupAlbums.stream().map(TenantGroupAlbum::getTenantAlbumId).distinct().collect(Collectors.toList());
|
|
|
+ if (!tenantGroupAlbums.isEmpty()) {
|
|
|
+ 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());
|
|
|
}
|
|
|
|
|
|
}
|