| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- package com.izouma.nineth.service;
- import com.izouma.nineth.domain.MetaEmail;
- import com.izouma.nineth.dto.MetaRestResult;
- import com.izouma.nineth.dto.PageQuery;
- import com.izouma.nineth.repo.MetaEmailRecordRepo;
- import com.izouma.nineth.repo.MetaEmailRepo;
- import com.izouma.nineth.utils.JpaUtils;
- import com.izouma.nineth.utils.SecurityUtils;
- import lombok.AllArgsConstructor;
- import org.apache.commons.collections.CollectionUtils;
- import org.springframework.data.domain.Page;
- import org.springframework.stereotype.Service;
- import java.util.List;
- @Service
- @AllArgsConstructor
- public class MetaEmailService {
- private MetaEmailRepo metaEmailRepo;
- private MetaEmailRecordRepo metaEmailRecordRepo;
- public Page<MetaEmail> all(PageQuery pageQuery) {
- return metaEmailRepo.findAll(JpaUtils.toSpecification(pageQuery, MetaEmail.class), JpaUtils.toPageRequest(pageQuery));
- }
- public MetaRestResult<List<MetaEmail>> metaQuery() {
- Long userId = SecurityUtils.getAuthenticatedUser().getId();
- List<Long> delIds = metaEmailRecordRepo.findEmailIdByDel(userId, true);
- List<MetaEmail> metaEmails;
- metaEmails = CollectionUtils.isEmpty(delIds) ? metaEmailRepo.findAllByDel(false) : metaEmailRepo.findAllByDelAndIdNotIn(false, delIds);
- if (CollectionUtils.isEmpty(metaEmails)) {
- return MetaRestResult.returnSuccess(metaEmails);
- }
- List<Long> readIds = metaEmailRecordRepo.findEmailIdRead(userId, true);
- if (CollectionUtils.isEmpty(readIds)) {
- return MetaRestResult.returnSuccess(metaEmails);
- }
- metaEmails.forEach(metaEmail -> {
- if (readIds.contains(metaEmail.getId())) {
- metaEmail.setRead(true);
- }
- });
- return MetaRestResult.returnSuccess(metaEmails);
- }
- }
|