wangqifan 3 년 전
부모
커밋
63f5435666

+ 18 - 0
src/main/java/com/izouma/nineth/dto/excel/DomainCountDTO.java

@@ -0,0 +1,18 @@
+package com.izouma.nineth.dto.excel;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class DomainCountDTO {
+    private Long countNum;
+
+    private Long userId;
+
+    private String nickname;
+
+    private String avatar;
+}

+ 7 - 2
src/main/java/com/izouma/nineth/service/DomainOrderService.java

@@ -1,6 +1,7 @@
 package com.izouma.nineth.service;
 
 import com.alibaba.excel.util.StringUtils;
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.TypeReference;
 import com.google.zxing.WriterException;
@@ -10,6 +11,7 @@ import com.izouma.nineth.domain.DomainOrder;
 import com.izouma.nineth.domain.FileObject;
 import com.izouma.nineth.domain.User;
 import com.izouma.nineth.dto.PageQuery;
+import com.izouma.nineth.dto.excel.DomainCountDTO;
 import com.izouma.nineth.enums.AssetStatus;
 import com.izouma.nineth.enums.CollectionStatus;
 import com.izouma.nineth.enums.OrderStatus;
@@ -449,8 +451,11 @@ public class DomainOrderService {
         return result;
     }
 
-    public List<Map<String, Object>> top20() {
-        return assetRepo.domainTop20();
+    public List<DomainCountDTO> top20() {
+        List<Map<String, Object>> map = assetRepo.domainTop20();
+        JSONArray jsonArray = new JSONArray();
+        jsonArray.addAll(map);
+        return jsonArray.toJavaList(DomainCountDTO.class);
     }
 
 }

+ 2 - 1
src/main/java/com/izouma/nineth/web/DomainOrderController.java

@@ -1,6 +1,7 @@
 package com.izouma.nineth.web;
 
 import com.izouma.nineth.domain.DomainOrder;
+import com.izouma.nineth.dto.excel.DomainCountDTO;
 import com.izouma.nineth.service.DomainOrderService;
 import com.izouma.nineth.dto.PageQuery;
 import com.izouma.nineth.exception.BusinessException;
@@ -56,7 +57,7 @@ public class DomainOrderController extends BaseController {
 
     @PostMapping("/topTen")
     @Cacheable(value = "domainTopTen")
-    public List<Map<String, Object>> topTen() {
+    public List<DomainCountDTO> topTen() {
         return domainOrderService.top20();
     }