Ver Fonte

元宇宙相关

sunkean há 3 anos atrás
pai
commit
a67ee67503

+ 5 - 2
src/main/java/com/izouma/meta/repo/MetaEmailRecordRepo.java

@@ -3,14 +3,17 @@ package com.izouma.meta.repo;
 import com.izouma.meta.domain.MetaEmailRecord;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
 
 import java.util.List;
 
 public interface MetaEmailRecordRepo extends JpaRepository<MetaEmailRecord, Long>, JpaSpecificationExecutor<MetaEmailRecord> {
 
-    List<Long> findIdByUserIdAndEmailDel(Long userId, boolean emailDel);
+    @Query("SELECT m.emailId FROM MetaEmailRecord m WHERE m.userId = ?1 AND m.emailDel = ?2")
+    List<Long> findEmailIdByDel(Long userId, boolean emailDel);
 
-    List<Long> findIdByUserIdAndEmailRead(Long userId, boolean emailRead);
+    @Query("SELECT m.emailId FROM MetaEmailRecord m WHERE m.userId = ?1 AND m.emailRead = ?2")
+    List<Long> findEmailIdRead(Long userId, boolean emailRead);
 
     MetaEmailRecord findByUserIdAndEmailId(Long userId, Long emailId);
 }

+ 3 - 1
src/main/java/com/izouma/meta/repo/MetaEmailRepo.java

@@ -8,5 +8,7 @@ import java.util.List;
 
 public interface MetaEmailRepo extends JpaRepository<MetaEmail, Long>, JpaSpecificationExecutor<MetaEmail> {
 
-    List<MetaEmail> findAllByIdNotIn(List<Long> id);
+    List<MetaEmail> findAllByDelAndIdNotIn(boolean del, List<Long> id);
+
+    List<MetaEmail> findAllByDel(boolean del);
 }

+ 3 - 3
src/main/java/com/izouma/meta/websocket/WebSocket.java

@@ -165,13 +165,13 @@ public class WebSocket {
      */
     private List<MetaEmail> queryEmail(Long userId) {
         init();
-        List<Long> delIds = metaEmailRecordRepo.findIdByUserIdAndEmailDel(userId, true);
+        List<Long> delIds = metaEmailRecordRepo.findEmailIdByDel(userId, true);
         List<MetaEmail> metaEmails;
-        metaEmails = CollectionUtils.isEmpty(delIds) ? metaEmailRepo.findAll() : metaEmailRepo.findAllByIdNotIn(delIds);
+        metaEmails = CollectionUtils.isEmpty(delIds) ? metaEmailRepo.findAllByDel(false) : metaEmailRepo.findAllByDelAndIdNotIn(false, delIds);
         if (CollectionUtils.isEmpty(metaEmails)) {
             return metaEmails;
         }
-        List<Long> readIds = metaEmailRecordRepo.findIdByUserIdAndEmailRead(userId, true);
+        List<Long> readIds = metaEmailRecordRepo.findEmailIdRead(userId, true);
         if (CollectionUtils.isEmpty(readIds)) {
             return metaEmails;
         }