Bläddra i källkod

用户获取自己团队信息

skyfffire 1 månad sedan
förälder
incheckning
28c5ec0548

+ 3 - 3
src/main/java/modules/order/OrderController.java

@@ -53,7 +53,7 @@ public class OrderController extends MyController {
         }
         
         // 先判断实名认证过没过
-        User user = userService.findUserByMobileNumber(this.<String>getSessionAttr("mobile_number"));
+        User user = userService.findUserByMobileNumber(getSessionAttr("mobile_number"));
         if (StrKit.isBlank(user.getHygWorkerId())) {
             renderJson(MyRet.fail("请先进行实名认证"));
             return;
@@ -99,7 +99,7 @@ public class OrderController extends MyController {
 //            renderJson(MyRet.fail("id(order_id) 有问题"));
 //            return;
 //        }
-//        User user = userService.findUserByMobileNumber(this.<String>getSessionAttr("mobile_number"));
+//        User user = userService.findUserByMobileNumber(<String>getSessionAttr("mobile_number"));
 //
 //        // 判断订单归属权
 //        if (service.isOrderBelongToUser(user.getId(), orderId)) {
@@ -196,7 +196,7 @@ public class OrderController extends MyController {
         // --- 从 JSON 请求体中获取参数 ---
         JSONObject requestBodyJson = MyController.getJsonModelByRequestAndType(getRequest(), JSONObject.class);
         
-        User user = userService.findUserByMobileNumber(this.<String>getSessionAttr("mobile_number"));
+        User user = userService.findUserByMobileNumber(getSessionAttr("mobile_number"));
 
         int status;
         // 使用 Fastjson 的 containsKey 和 get 方法来判断和获取

+ 10 - 3
src/main/java/modules/user/UserController.java

@@ -385,7 +385,7 @@ public class UserController extends MyController {
 
     @Before(LoginInterceptor.class)
     public void getBalance() {
-        User user = service.findUserByMobileNumber(this.<String>getSessionAttr("mobile_number"));
+        User user = service.findUserByMobileNumber(getSessionAttr("mobile_number"));
 
         if (user == null) {
             removeSessionAttr("dl-token");
@@ -400,9 +400,16 @@ public class UserController extends MyController {
         }
     }
 
+    @Before(LoginInterceptor.class)
+    public void team() {
+        User user = service.findUserByMobileNumber(getSessionAttr("mobile_number"));
+        
+        renderJson(service.team(user.getId()));
+    }
+
     @Before(LoginInterceptor.class)
     public void getUserInfo() {
-        User user = service.findUserByMobileNumber(this.<String>getSessionAttr("mobile_number"));
+        User user = service.findUserByMobileNumber(getSessionAttr("mobile_number"));
 
         if (user == null) {
             removeSessionAttr("dl-token");
@@ -421,7 +428,7 @@ public class UserController extends MyController {
     
     @Before(LoginInterceptor.class)
     public void nftList() {
-        User user = service.findUserByMobileNumber(this.<String>getSessionAttr("mobile_number"));
+        User user = service.findUserByMobileNumber(getSessionAttr("mobile_number"));
         
         renderJson(orderService.findNftListByUser(user.getId()));
     }

+ 26 - 0
src/main/java/modules/user/UserService.java

@@ -108,6 +108,32 @@ public class UserService {
         return User.dao.findFirst(sql, id);
     }
     
+    public MyRet team(long userId) {
+        String sql = "select mobile_number, is_effective, create_time from t_user where referrer_id=?";
+        List<User> teamUserList = User.dao.find(sql, userId);
+
+        // 遍历 List<User>,对每个 User 的 mobile_number 进行脱敏处理
+        for (User user : teamUserList) {
+            String originalMobileNumber = user.getStr("mobile_number");
+            if (originalMobileNumber != null && originalMobileNumber.length() > 4) {
+                // 保留前几位,末尾四位替换为星号
+                String maskedMobileNumber = originalMobileNumber.substring(0, originalMobileNumber.length() - 4) + "****";
+                user.set("mobile_number", maskedMobileNumber);
+            } else if (originalMobileNumber != null && !originalMobileNumber.isEmpty()) {
+                // 如果手机号不足四位,但非空,直接全部替换为星号 (或者根据需求保留前1位)
+                user.set("mobile_number", "****");
+            }
+            // 如果 originalMobileNumber 是 null,则保持 null 或者设置为 "" 或者 "****"
+            // user.set("mobile_number", "****"); // 也可以直接设置为星号来统一处理
+        }
+        
+        Map<String, Object> rst = new HashMap<>();
+        rst.put("teamUserList", teamUserList);
+        rst.put("count", teamUserList.size());
+        
+        return MyRet.ok("团队查询成功").setData(rst);
+    }
+    
     public User findUserByMobileNumber(String MobileNumber) {
         //, hyg_sign_rst
         String columns = "id, nickname, mobile_number, role, referrer_id, balance, integral, login_time, hyg_worker_id, hyg_worker_details, hyg_bank_card, create_time, update_time, is_deleted";

+ 5 - 0
src/test/rest/UserControllerTest.http

@@ -70,6 +70,11 @@ POST {{ baseUrl }}/user/nftList
 Content-Type: application/json
 dl-token: {{dl_token_var}}
 
+### 获取个人团队信息
+POST {{ baseUrl }}/user/team
+Content-Type: application/json
+dl-token: {{dl_token_var}}
+
 ### 登出
 POST {{ baseUrl }}/user/logout
 Content-Type: application/json