libo пре 4 година
родитељ
комит
728e497f01

+ 1 - 5
src/main/java/com/tdba/cxb/ares/api/controller/UserController.java

@@ -89,11 +89,7 @@ public class UserController {
89 89
     @GetMapping("data_total")
90 90
     public TDBAResponse data_total(BaseUser baseUser){
91 91
         Objects.requireNonNull(baseUser, "请登录后操作");
92
-        Map<Integer, Integer> result = userService.dataTotal(baseUser).stream().collect(Collectors.toMap(DataTotalResp::getUser_type, DataTotalResp::getCount));
93
-        if(result.isEmpty()){
94
-            result = Map.of(0, 0, 1, 0, 2, 0, 3, 0);
95
-        }
96
-        return buildSuccess(result);
92
+        return buildSuccess(userService.dataTotal(baseUser));
97 93
     }
98 94
 
99 95
     @GetMapping("data_list")

+ 48 - 1
src/main/java/com/tdba/cxb/ares/api/model/DataTotalResp.java

@@ -16,6 +16,9 @@ public class DataTotalResp {
16 16
     /** 数量*/
17 17
     private Integer count = 0;
18 18
 
19
+    /** 名称*/
20
+    private String name;
21
+
19 22
     public Integer getUser_type() {
20 23
         return user_type;
21 24
     }
@@ -31,4 +34,48 @@ public class DataTotalResp {
31 34
     public void setCount(Integer count) {
32 35
         this.count = count;
33 36
     }
34
-}
37
+
38
+    public String getName() {
39
+        return name;
40
+    }
41
+
42
+    public void setName(String name) {
43
+        this.name = name;
44
+    }
45
+
46
+    public static final class DataTotalRespBuilder {
47
+        private Integer user_type = 0;
48
+        private Integer count = 0;
49
+        private String name;
50
+
51
+        private DataTotalRespBuilder() {
52
+        }
53
+
54
+        public static DataTotalRespBuilder aDataTotalResp() {
55
+            return new DataTotalRespBuilder();
56
+        }
57
+
58
+        public DataTotalRespBuilder withUser_type(Integer user_type) {
59
+            this.user_type = user_type;
60
+            return this;
61
+        }
62
+
63
+        public DataTotalRespBuilder withCount(Integer count) {
64
+            this.count = count;
65
+            return this;
66
+        }
67
+
68
+        public DataTotalRespBuilder withName(String name) {
69
+            this.name = name;
70
+            return this;
71
+        }
72
+
73
+        public DataTotalResp build() {
74
+            DataTotalResp dataTotalResp = new DataTotalResp();
75
+            dataTotalResp.setUser_type(user_type);
76
+            dataTotalResp.setCount(count);
77
+            dataTotalResp.setName(name);
78
+            return dataTotalResp;
79
+        }
80
+    }
81
+}

+ 34 - 1
src/main/java/com/tdba/cxb/ares/api/service/UserService.java

@@ -441,7 +441,40 @@ public class UserService {
441 441
      * @return
442 442
      */
443 443
     public List<DataTotalResp> dataTotal(BaseUser baseUser){
444
-        return userMapper.selectTotal(baseUser.getId());
444
+        List<DataTotalResp> list = userMapper.selectTotal(baseUser.getId());
445
+        if(list.isEmpty()){
446
+            list = List.of(
447
+                    DataTotalResp.DataTotalRespBuilder.aDataTotalResp()
448
+                            .withUser_type(0)
449
+                            .withCount(0)
450
+                            .build(),
451
+                    DataTotalResp.DataTotalRespBuilder.aDataTotalResp()
452
+                            .withUser_type(1)
453
+                            .withCount(0)
454
+                            .build(),
455
+                    DataTotalResp.DataTotalRespBuilder.aDataTotalResp()
456
+                            .withUser_type(2)
457
+                            .withCount(0)
458
+                            .build(),
459
+                    DataTotalResp.DataTotalRespBuilder.aDataTotalResp()
460
+                            .withUser_type(3)
461
+                            .withCount(0)
462
+                            .build(),
463
+                    DataTotalResp.DataTotalRespBuilder.aDataTotalResp()
464
+                            .withUser_type(4)
465
+                            .withCount(0)
466
+                            .build());
467
+        }
468
+        return list.stream().map(row -> {
469
+            row.setName(switch (row.getUser_type()){
470
+                case 0 -> "普通用户";
471
+                case 1 -> "大仓会员";
472
+                case 2 -> "商户";
473
+                case 3 -> "渠道商";
474
+                case 4 -> "代理商";
475
+            });
476
+            return row;
477
+        }).toList();
445 478
     }
446 479
 
447 480
     public List<DataListResp> dataList(DataLIstReq param, BaseUser baseUser){