sunkean 3 年之前
父節點
當前提交
e63da45e9d

+ 4 - 0
src/main/java/com/izouma/nineth/repo/TokenHistoryRepo.java

@@ -58,4 +58,8 @@ public interface TokenHistoryRepo extends JpaRepository<TokenHistory, Long>, Jpa
     List<TokenHistory> findAllByPriceIsNotNull();
     List<TokenHistory> findAllByPriceIsNotNull();
 
 
     List<TokenHistory> findByOperationAndCreatedAtBefore(String operation, LocalDateTime time);
     List<TokenHistory> findByOperationAndCreatedAtBefore(String operation, LocalDateTime time);
+
+    @Query(nativeQuery = true, value = "select to_user nickname, to_avatar avatar from token_history " +
+            "where created_at > ?1 group by to_user_id order by sum(price) desc limit 10")
+    List<Map<String, String>> top(LocalDateTime time);
 }
 }

+ 14 - 0
src/main/java/com/izouma/nineth/web/UserController.java

@@ -1,5 +1,6 @@
 package com.izouma.nineth.web;
 package com.izouma.nineth.web;
 
 
+import com.alibaba.fastjson.JSONArray;
 import com.alipay.api.AlipayApiException;
 import com.alipay.api.AlipayApiException;
 import com.fasterxml.jackson.annotation.JsonView;
 import com.fasterxml.jackson.annotation.JsonView;
 import com.huifu.adapay.core.exception.BaseAdaPayException;
 import com.huifu.adapay.core.exception.BaseAdaPayException;
@@ -10,6 +11,7 @@ import com.izouma.nineth.dto.*;
 import com.izouma.nineth.enums.AuthorityName;
 import com.izouma.nineth.enums.AuthorityName;
 import com.izouma.nineth.exception.BusinessException;
 import com.izouma.nineth.exception.BusinessException;
 import com.izouma.nineth.repo.IdentityAuthRepo;
 import com.izouma.nineth.repo.IdentityAuthRepo;
+import com.izouma.nineth.repo.TokenHistoryRepo;
 import com.izouma.nineth.repo.UserBankCardRepo;
 import com.izouma.nineth.repo.UserBankCardRepo;
 import com.izouma.nineth.repo.UserRepo;
 import com.izouma.nineth.repo.UserRepo;
 import com.izouma.nineth.security.Authority;
 import com.izouma.nineth.security.Authority;
@@ -33,6 +35,7 @@ import org.springframework.web.bind.annotation.*;
 
 
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.io.IOException;
+import java.time.LocalDateTime;
 import java.util.Collections;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashMap;
 import java.util.List;
 import java.util.List;
@@ -51,6 +54,8 @@ public class UserController extends BaseController {
     private UserBankCardService           userBankCardService;
     private UserBankCardService           userBankCardService;
     private IdentityAuthRepo              identityAuthRepo;
     private IdentityAuthRepo              identityAuthRepo;
 
 
+    private TokenHistoryRepo tokenHistoryRepo;
+
     @PostMapping("/register")
     @PostMapping("/register")
     public User register(@RequestParam String username,
     public User register(@RequestParam String username,
                          @RequestParam String password) {
                          @RequestParam String password) {
@@ -426,6 +431,15 @@ public class UserController extends BaseController {
         dto.setAuthStatus(user.getAuthStatus());
         dto.setAuthStatus(user.getAuthStatus());
         return dto;
         return dto;
     }
     }
+
+    @GetMapping("/topTen")
+    public List<User> topTen() {
+        LocalDateTime time = LocalDateTime.now().plusDays(-7);
+        List<Map<String, String>> map = tokenHistoryRepo.top(time);
+        JSONArray jsonArray = new JSONArray();
+        jsonArray.addAll(map);
+        return jsonArray.toJavaList(User.class);
+    }
 }
 }