From 2160f80eaa4a9a2b62fc58bb06335493cee4528f Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Thu, 28 Aug 2025 02:33:03 +0800
Subject: [PATCH] 1

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/group/ImGroupController.java |   11 +++--
 ruoyi-admin/src/main/java/com/ruoyi/im/dto/UpdateUserBusinessDto.java           |    3 +
 ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/GroupVo.java              |    8 ++++
 ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/UserAccountUpdateVo.java  |    2 +
 ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/NeteaseTeamServiceImpl.java |    4 +
 ruoyi-admin/src/main/java/com/ruoyi/im/config/UpdateUserInfoRequest.java        |   38 ++++++++++++++++--
 ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/ImApiServcieImpl.java       |   20 ++--------
 7 files changed, 58 insertions(+), 28 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/im/config/UpdateUserInfoRequest.java b/ruoyi-admin/src/main/java/com/ruoyi/im/config/UpdateUserInfoRequest.java
index f457ce8..a4b0a90 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/im/config/UpdateUserInfoRequest.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/im/config/UpdateUserInfoRequest.java
@@ -18,16 +18,20 @@
     @JsonProperty("mobile")
     private String mobile;
 
+    @JsonProperty("gender")
+    private Integer gender;
+
     // 无参构造函数
     public UpdateUserInfoRequest() {}
 
-    // 全参构造函数(可选)
-    public UpdateUserInfoRequest(String avatar, String name, String sign, String email, String mobile) {
+    // 全参构造函数
+    public UpdateUserInfoRequest(String avatar, String name, String sign, String email, String mobile, Integer gender) {
         this.avatar = avatar;
         this.name = name;
         this.sign = sign;
         this.email = email;
         this.mobile = mobile;
+        this.gender = gender;
     }
 
     // Getter 和 Setter 方法
@@ -71,7 +75,15 @@
         this.mobile = mobile;
     }
 
-    // toString 方法(可选,便于调试)
+    public Integer getGender() {
+        return gender;
+    }
+
+    public void setGender(Integer gender) {
+        this.gender = gender;
+    }
+
+    // toString 方法
     @Override
     public String toString() {
         return "UpdateUserInfoRequest{" +
@@ -79,11 +91,12 @@
                 ", name='" + name + '\'' +
                 ", sign='" + sign + '\'' +
                 ", email='" + email + '\'' +
-                ", mobile=" + mobile +
+                ", mobile='" + mobile + '\'' +
+                ", gender=" + gender +
                 '}';
     }
 
-    // Builder 模式(可选,便于链式调用)
+    // Builder 模式方法
     public UpdateUserInfoRequest avatar(String avatar) {
         this.avatar = avatar;
         return this;
@@ -108,4 +121,19 @@
         this.mobile = mobile;
         return this;
     }
+
+    public UpdateUserInfoRequest gender(Integer gender) {
+        this.gender = gender;
+        return this;
+    }
+
+    // 可以添加一个构建方法
+    public static UpdateUserInfoRequest builder() {
+        return new UpdateUserInfoRequest();
+    }
+
+    // 可以添加一个构建完成的方法
+    public UpdateUserInfoRequest build() {
+        return this;
+    }
 }
\ No newline at end of file
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/im/dto/UpdateUserBusinessDto.java b/ruoyi-admin/src/main/java/com/ruoyi/im/dto/UpdateUserBusinessDto.java
index 6dc3d2f..10bb425 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/im/dto/UpdateUserBusinessDto.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/im/dto/UpdateUserBusinessDto.java
@@ -1,5 +1,6 @@
 package com.ruoyi.im.dto;
 
+import io.swagger.models.auth.In;
 import lombok.Data;
 
 @Data
@@ -11,7 +12,7 @@
     private String email;//用户邮箱地址
     private String birthday;//用户生日
     private String mobile;//用户手机号码
-    private String gender;//用户性别
+    private Integer gender;//用户性别
     private String token;//用户账号对应的登录密钥 Token
     private Boolean enabled;//该账号是否可用。默认可用,若设为 false,则表示禁用该账号。
     private String p2p_chat_banned;//单聊禁言标记。true:禁言。
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/ImApiServcieImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/ImApiServcieImpl.java
index 3019413..ada2ea4 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/ImApiServcieImpl.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/ImApiServcieImpl.java
@@ -276,23 +276,8 @@
             httpPatch.setHeader("CurTime", curTime);
             httpPatch.setHeader("CheckSum", checkSum);
 
-            // 构建请求体
-//            UpdateUserInfoRequest builder = new UpdateUserInfoRequest();
-//            if(StringUtils.isNotEmpty(dto.getMobile())){
-//                builder.setMobile(dto.getMobile());
-//            }
-//            if(StringUtils.isNotEmpty(dto.getName())){
-//                builder.setName(dto.getName());
-//            }
-//            if(StringUtils.isNotEmpty(dto.getSign())){
-//                builder.setSign(dto.getSign());
-//            }
-//            if(StringUtils.isNotEmpty(dto.getAvatar())){
-//                builder.setAvatar(dto.getAvatar());
-//            }
-//            String body = builder.build();
             UpdateUserInfoRequest requestBody = new UpdateUserInfoRequest(dto.getAvatar(),
-                    dto.getName(),dto.getSign(),dto.getEmail(),dto.getMobile());
+                    dto.getName(),dto.getSign(),dto.getEmail(),dto.getMobile(),dto.getGender());
             String jsonBody = objectMapper.writeValueAsString(requestBody);
             httpPatch.setEntity(new StringEntity(jsonBody, StandardCharsets.UTF_8));
 
@@ -346,6 +331,9 @@
         if(StringUtils.isNotEmpty(vo.getSignature())){
             dto.setSign(vo.getSignature());
         }
+        if(ObjectUtil.isNotEmpty(vo.getGender())){
+            dto.setGender(vo.getGender());
+        }
         Map<String, Object> map = updateUserAvatar(vo.getAccountId(), dto);
         //更新用户属性 状态 密码
         if ((Boolean) map.get("success")) {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/NeteaseTeamServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/NeteaseTeamServiceImpl.java
index f3ea738..b79cfbf 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/NeteaseTeamServiceImpl.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/NeteaseTeamServiceImpl.java
@@ -270,7 +270,9 @@
     @Override
     public AjaxResult inviteTeamMembers(AddTeamMembersRequest request) {
         try {
-
+            if(null != request.getNumber() && request.getNumber() > 99){
+                return AjaxResult.error("拉人数量单次最多99!");
+            }
             NeteaseTeam neteaseTeam = neteaseTeamMapper.selectById(request.getGroupId());
             if(ObjectUtil.isEmpty(neteaseTeam)){
                 return AjaxResult.error("群不存在!");
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/group/ImGroupController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/group/ImGroupController.java
index df9b793..d823fa6 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/group/ImGroupController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/group/ImGroupController.java
@@ -13,6 +13,7 @@
 import com.ruoyi.im.service.NeteaseTeamService;
 import com.ruoyi.system.domain.NeteaseTeam;
 import com.ruoyi.system.domain.UserAccount;
+import com.ruoyi.system.domain.vo.GroupVo;
 import com.ruoyi.system.domain.vo.UserAccountVo;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -54,19 +55,19 @@
      */
 //    @PreAuthorize("@ss.hasPermi('im:group:list')")
     @GetMapping("/list")
-    public TableDataInfo list(@PathVariable(value = "keywords", required = false) String keywords)
+    public TableDataInfo list(GroupVo vo)
     {
         // 创建查询条件包装器
         LambdaQueryWrapper<NeteaseTeam> queryWrapper = new LambdaQueryWrapper<>();
 
         // 只有当 keyword 不为空时才添加 OR 条件
-        if (ObjectUtil.isNotEmpty(keywords)) {
+        if (ObjectUtil.isNotEmpty(vo.getKeywords())) {
             queryWrapper.and(wrapper -> wrapper
-                    .eq(NeteaseTeam::getTid, keywords)
+                    .eq(NeteaseTeam::getTid, vo.getKeywords())
                     .or()
-                    .eq(NeteaseTeam::getOwnerAccountId, keywords)
+                    .eq(NeteaseTeam::getOwnerAccountId, vo.getKeywords())
                     .or()
-                    .eq(NeteaseTeam::getName,keywords)
+                    .eq(NeteaseTeam::getName,vo.getKeywords())
             );
         }
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/GroupVo.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/GroupVo.java
new file mode 100644
index 0000000..f626e30
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/GroupVo.java
@@ -0,0 +1,8 @@
+package com.ruoyi.system.domain.vo;
+
+import lombok.Data;
+
+@Data
+public class GroupVo {
+    private String keywords;
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/UserAccountUpdateVo.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/UserAccountUpdateVo.java
index 20c3522..dd7e7dc 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/UserAccountUpdateVo.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/UserAccountUpdateVo.java
@@ -42,6 +42,8 @@
 
     // 个性签名
     private String signature;
+    // 用户性别,0-未知,1-男,2-女。
+    private Integer gender;
 
 //    // 是否支持昵称搜索
 //    private Boolean supportNicknameSearch = true;

--
Gitblit v1.9.3