Преглед изворни кода

### 返回值解释
### list 分页结果的实际列表数据
### page_number 当前页码
### page_size 每页大小
### total_page 总页数
### total_row 当前分页的总数
### total_user_count 符合条件的总记录数

skyfffire пре 2 месеци
родитељ
комит
c55e8d287f

+ 18 - 2
src/main/java/modules/user/UserController.java

@@ -14,6 +14,10 @@ import common.utils.http.MyController;
 import common.utils.http.MyRet;
 import common.utils.http.VerifyCode;
 
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 public class UserController extends MyController {
     // 验证码相关的常量
     private static final long SEND_VERIFY_CODE_DELAY = 60 * 1000;               // 验证码发送间隔
@@ -290,7 +294,7 @@ public class UserController extends MyController {
     @Before(LoginInterceptor.class)
     @RequiredRoleInterface({UserController.ROLE_SUPER_ADMIN})
     public void count() {
-        renderJson(MyRet.ok("查询成功").setData(service.count()));
+        renderJson(MyRet.ok("查询成功").setData(service.count(null)));
     }
 
     @Before(LoginInterceptor.class)
@@ -332,7 +336,19 @@ public class UserController extends MyController {
         // 查询条件
         String keywords = requestBodyJson.getString("keywords");
         
-        renderJson(MyRet.ok("查询成功").setData(service.users(pageNumberInt, pageSizeInt, keywords)));
+        // 最终结果封装
+        List<User> users = service.users(pageNumberInt, pageSizeInt, keywords);
+        Integer totalUsers = service.count(keywords);
+
+        Map<String, Object> response = new HashMap<>();
+        response.put("list", users);
+        response.put("total_row", users.toArray().length);
+        response.put("total_page", 1 + (users.toArray().length / pageSizeInt));
+        response.put("page_size", pageSizeInt);
+        response.put("page_number", pageNumberInt);
+        response.put("total_user_count", totalUsers);
+        
+        renderJson(MyRet.ok("查询成功").setData(response));
     }
     
     /*

+ 10 - 4
src/main/java/modules/user/UserService.java

@@ -70,8 +70,16 @@ public class UserService {
         return Db.queryLong("SELECT COUNT(1) FROM t_user WHERE mobile_number = ?", mobileNumber) > 0;
     }
     
-    public Integer count() {
-        return Db.queryInt("SELECT COUNT(1) FROM t_user");
+    public Integer count(String keywords) {
+        String searchKeyWord = "%" + keywords + "%";
+        String sql = "SELECT COUNT(1) FROM t_user";
+        String whereClause = " where id like ? or nickname like ? or mobile_number like ?";
+        
+        if (StrKit.isBlank(keywords)) {
+            return Db.queryInt(sql);
+        } else {
+            return Db.queryInt(sql + whereClause, searchKeyWord, searchKeyWord, searchKeyWord);
+        }
     }
 
     public List<User> users(int pageNumber, int pageSize, String keywords) {
@@ -79,8 +87,6 @@ public class UserService {
         // 正确的 limit 是 LIMIT offset, count
         // offset = (pageNumber - 1) * pageSize
         // count = pageSize
-        System.out.println(pageNumber);
-        System.out.println(pageSize);
         int offset = (pageNumber - 1) * pageSize;
 
         String searchKeyWord = "%" + keywords + "%";

+ 8 - 1
src/test/rest/UserControllerTest.http

@@ -56,10 +56,17 @@ dl-token: -3169813842449683959
 ### 【超级管理员】获取用户列表,keywords当前版本支持手机号、id、昵称的模糊查询
 POST {{ baseUrl }}/user/users
 Content-Type: application/json
-dl-token: -3973429148011133173
+dl-token: 6382763714521246479
 
 {
   "page_number": 1,
   "page_size": 100,
   "keywords": "177"
 }
+### 返回值解释
+### list 分页结果的实际列表数据 
+### page_number 当前页码
+### page_size 每页大小
+### total_page 总页数
+### total_row  当前分页的总数
+### total_user_count 符合条件的总记录数