xiongzhu 4 лет назад
Родитель
Сommit
4c59b80671

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

@@ -3,6 +3,7 @@ package com.izouma.nineth.web;
 import com.izouma.nineth.TokenHistory;
 import com.izouma.nineth.domain.Asset;
 import com.izouma.nineth.domain.GiftOrder;
+import com.izouma.nineth.domain.User;
 import com.izouma.nineth.dto.PageQuery;
 import com.izouma.nineth.dto.UserHistory;
 import com.izouma.nineth.exception.BusinessException;
@@ -22,7 +23,9 @@ import org.springframework.web.bind.annotation.*;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.math.BigDecimal;
+import java.time.LocalDateTime;
 import java.util.List;
+import java.util.Map;
 
 @RestController
 @RequestMapping("/asset")
@@ -115,6 +118,17 @@ public class AssetController extends BaseController {
     public Page<UserHistory> userHistory(Pageable pageable) {
         return assetService.userHistory(SecurityUtils.getAuthenticatedUser().getId(), pageable);
     }
+
+    @PostMapping("/holdQuery")
+    public String holdQuery(@RequestParam List<String> names, @RequestParam LocalDateTime start, @RequestParam LocalDateTime end) {
+        Map<User, Integer> match = assetService.holdQuery(names, start, end);
+        StringBuilder builder = new StringBuilder("用户ID,昵称,手机,持有套数\n");
+        for (Map.Entry<User, Integer> e : match.entrySet()) {
+            User user = e.getKey();
+            builder.append(String.format("%d,%s,%s,%d%n", user.getId(), user.getNickname(), user.getPhone(), e.getValue()));
+        }
+        return builder.toString();
+    }
 }
 
 

+ 15 - 4
src/test/java/com/izouma/nineth/service/AssetServiceTest.java

@@ -8,7 +8,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 
 import java.time.LocalDateTime;
 import java.util.Arrays;
-import java.util.List;
 import java.util.Map;
 
 class AssetServiceTest extends ApplicationTests {
@@ -83,9 +82,21 @@ class AssetServiceTest extends ApplicationTests {
 
     @Test
     public void stat() {
-        Map<User, Integer> match = assetService.holdQuery(Arrays.asList("国潮-兰陵武王-高长恭", "国潮-燕南三士-赵云", "国潮-武安君-李牧", "国潮-战神无双-吕布"),
-                LocalDateTime.of(2021, 12, 23, 23, 0, 0),
-                LocalDateTime.of(2021, 12, 23, 23, 59, 59));
+        Map<User, Integer> match = assetService.holdQuery(Arrays.asList(
+                        "《第九空间》- 摩羯座权益卡",
+                        "《第九空间》- 射手座权益卡",
+                        "《第九空间》- 天蝎座权益卡",
+                        "《第九空间》- 天秤座权益卡",
+                        "《第九空间》- 处女座权益卡",
+                        "《第九空间》- 狮子座权益卡",
+                        "《第九空间》- 巨蟹座权益卡",
+                        "《第九空间》- 双子座权益卡",
+                        "《第九空间》- 金牛座权益卡",
+                        "《第九空间》- 白羊座权益卡",
+                        "《第九空间》- 双鱼座权益卡",
+                        "《第九空间》- 水瓶座权益卡"),
+                LocalDateTime.of(2021, 12, 24, 0, 0, 0),
+                LocalDateTime.of(2021, 12, 24, 23, 59, 59));
         System.out.println("用户ID,昵称,手机,持有套数");
         for (Map.Entry<User, Integer> e : match.entrySet()) {
             User user = e.getKey();