Browse Source

Merge branch 'dev' of xiongzhu/raex_back into master

sunkean 3 years ago
parent
commit
db29a2a9ce

+ 3 - 2
src/main/java/com/izouma/nineth/repo/DestroyRecordRepo.java

@@ -7,6 +7,7 @@ import org.springframework.data.jpa.repository.Modifying;
 import org.springframework.data.jpa.repository.Query;
 
 import javax.transaction.Transactional;
+import java.time.LocalDateTime;
 import java.util.List;
 import java.util.Map;
 
@@ -17,6 +18,6 @@ public interface DestroyRecordRepo extends JpaRepository<DestroyRecord, Long>, J
     void softDelete(Long id);
 
     @Query(nativeQuery = true, value = "SELECT user.avatar avatar,user.nickname nickname,sum( destroy_record.record ) num FROM destroy_record LEFT JOIN user ON destroy_record.user_id = user.id WHERE destroy_record.asset_id IN ( SELECT asset.id FROM asset LEFT JOIN blind_box_item ON asset.collection_id = blind_box_item.collection_id where blind_box_item.blind_box_id = ?1 )" +
-            "and destroy_record.name like ?2 and destroy_record.name not like ?3 GROUP BY destroy_record.user_id ORDER BY sum( destroy_record.record ) DESC")
-    List<Map<String, String>> destroyRecordRank(Long blindBoxId, String rare, String not);
+            "and destroy_record.name like ?2 and destroy_record.name not like ?3 and destroy_record.created_at > ?4 GROUP BY destroy_record.user_id ORDER BY sum( destroy_record.record ) DESC")
+    List<Map<String, String>> destroyRecordRank(Long blindBoxId, String rare, String not, LocalDateTime countDateTime);
 }

+ 4 - 1
src/main/java/com/izouma/nineth/service/DestroyRecordService.java

@@ -17,6 +17,7 @@ import org.apache.commons.collections.CollectionUtils;
 import org.springframework.data.domain.Page;
 import org.springframework.stereotype.Service;
 
+import java.time.LocalDateTime;
 import java.util.Comparator;
 import java.util.List;
 import java.util.Map;
@@ -36,11 +37,13 @@ public class DestroyRecordService {
     }
 
     public List<RecordRank> destroyRecordRank(String rare) {
+        LocalDateTime countDateTime = LocalDateTime.of(2000,1,1,0,0,0);
         String not = null;
         if (Constants.Rarity.SSR.equals(rare)) {
             not = "%" + Constants.Rarity.U + " #%";
         }
         if (Constants.Rarity.SR.equals(rare)) {
+            countDateTime = LocalDateTime.of(2022,7,23,21,0,0);
             not = "%" + Constants.Rarity.SSR + " #%";
         }
         if (Constants.Rarity.U.equals(rare)) {
@@ -51,7 +54,7 @@ public class DestroyRecordService {
             throw new BusinessException("请先配置盲盒id");
         }
         Long blindBoxId = Long.parseLong(sysConfig.getValue());
-        List<Map<String, String>> map = destroyRecordRepo.destroyRecordRank(blindBoxId, "%" + rare + " #%", not);
+        List<Map<String, String>> map = destroyRecordRepo.destroyRecordRank(blindBoxId, "%" + rare + " #%", not, countDateTime);
         JSONArray jsonArray = new JSONArray();
         jsonArray.addAll(map);
         List<RecordRank> recordRanks = jsonArray.toJavaList(RecordRank.class);

+ 1 - 1
src/test/java/com/izouma/nineth/service/DestroyRecordServiceTest.java

@@ -11,6 +11,6 @@ class DestroyRecordServiceTest extends ApplicationTests {
 
     @Test
     void destroyRecordRank() {
-        destroyRecordService.destroyRecordRank("U");
+        destroyRecordService.destroyRecordRank("SR");
     }
 }