Browse Source

标签与群组修改

master^2
La123123 21 hours ago
parent
commit
5251e113a6
  1. 12
      im-admin/ruoyi-im/src/main/java/org/dromara/im/controller/ImUserController.java
  2. 32
      im-admin/ruoyi-im/src/main/java/org/dromara/im/domain/dto/BatchUpdateUserDto.java
  3. 8
      im-admin/ruoyi-im/src/main/java/org/dromara/im/service/IImUserService.java
  4. 39
      im-admin/ruoyi-im/src/main/java/org/dromara/im/service/impl/ImUserServiceImpl.java

12
im-admin/ruoyi-im/src/main/java/org/dromara/im/controller/ImUserController.java

@ -17,6 +17,7 @@ import org.dromara.common.web.core.BaseController;
import org.dromara.im.domain.ImUser; import org.dromara.im.domain.ImUser;
import org.dromara.im.domain.bo.ImSensitiveWordBo; import org.dromara.im.domain.bo.ImSensitiveWordBo;
import org.dromara.im.domain.bo.ImUserBo; import org.dromara.im.domain.bo.ImUserBo;
import org.dromara.im.domain.dto.BatchUpdateUserDto;
import org.dromara.im.domain.dto.ImUserBanDto; import org.dromara.im.domain.dto.ImUserBanDto;
import org.dromara.im.domain.dto.ImUserUnbanDto; import org.dromara.im.domain.dto.ImUserUnbanDto;
import org.dromara.im.domain.vo.ImUserVo; import org.dromara.im.domain.vo.ImUserVo;
@ -242,4 +243,15 @@ public class ImUserController extends BaseController {
return R.ok(); return R.ok();
} }
/**
* 批量修改用户信息标签和群组
*/
@SaCheckPermission("im:user:edit")
@Log(title = "用户", businessType = BusinessType.UPDATE)
@PostMapping("/updateBatchUser")
public R updateBatchUser(@RequestBody List<BatchUpdateUserDto> list) {
userService.updateBatchUser(list);
return R.ok();
}
} }

32
im-admin/ruoyi-im/src/main/java/org/dromara/im/domain/dto/BatchUpdateUserDto.java

@ -0,0 +1,32 @@
package org.dromara.im.domain.dto;
import lombok.Data;
import jakarta.validation.constraints.NotEmpty;
import java.util.List;
/**
* 批量修改用户信息 DTO
*
* @author Blue
* @date 2024-12-22
*/
@Data
public class BatchUpdateUserDto {
/**
* 用户 ID
*/
@NotEmpty(message = "用户 ID不能为空")
private Long id;
/**
* 标签 ID 列表 (逗号分隔)
*/
private String labelIds;
/**
* 群组 ID 列表 (逗号分隔)
*/
private String groupIds;
}

8
im-admin/ruoyi-im/src/main/java/org/dromara/im/service/IImUserService.java

@ -4,6 +4,7 @@ import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.im.domain.ImUser; import org.dromara.im.domain.ImUser;
import org.dromara.im.domain.bo.ImUserBo; import org.dromara.im.domain.bo.ImUserBo;
import org.dromara.im.domain.dto.BatchUpdateUserDto;
import org.dromara.im.domain.dto.ImUserBanDto; import org.dromara.im.domain.dto.ImUserBanDto;
import org.dromara.im.domain.dto.ImUserUnbanDto; import org.dromara.im.domain.dto.ImUserUnbanDto;
import org.dromara.im.domain.vo.ImUserVo; import org.dromara.im.domain.vo.ImUserVo;
@ -136,4 +137,11 @@ public interface IImUserService {
*/ */
void updateCustomerById(ImUser bo); void updateCustomerById(ImUser bo);
/**
* 批量修改用户信息标签和群组
*
* @param list 批量修改参数
*/
void updateBatchUser(List<BatchUpdateUserDto> list);
} }

39
im-admin/ruoyi-im/src/main/java/org/dromara/im/service/impl/ImUserServiceImpl.java

@ -16,6 +16,7 @@ import org.dromara.im.constant.ImConstant;
import org.dromara.im.constant.ImRedisKey; import org.dromara.im.constant.ImRedisKey;
import org.dromara.im.domain.ImUser; import org.dromara.im.domain.ImUser;
import org.dromara.im.domain.bo.ImUserBo; import org.dromara.im.domain.bo.ImUserBo;
import org.dromara.im.domain.dto.BatchUpdateUserDto;
import org.dromara.im.domain.dto.ImUserBanDto; import org.dromara.im.domain.dto.ImUserBanDto;
import org.dromara.im.domain.dto.ImUserUnbanDto; import org.dromara.im.domain.dto.ImUserUnbanDto;
import org.dromara.im.domain.vo.ImUserVo; import org.dromara.im.domain.vo.ImUserVo;
@ -24,10 +25,7 @@ import org.dromara.im.mq.ImRedisMQTemplate;
import org.dromara.im.service.IImUserService; import org.dromara.im.service.IImUserService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Arrays; import java.util.*;
import java.util.Date;
import java.util.List;
import java.util.Map;
/** /**
* 用户Service业务层处理 * 用户Service业务层处理
@ -242,4 +240,37 @@ public class ImUserServiceImpl implements IImUserService {
public void updateCustomerById(ImUser bo) { public void updateCustomerById(ImUser bo) {
baseMapper.updateById(bo); baseMapper.updateById(bo);
} }
@Override
public void updateBatchUser(List<BatchUpdateUserDto> list) {
if(list == null || list.isEmpty()){
return;
}
for(BatchUpdateUserDto dto : list) {
if (dto.getId() == null || dto.getId() <= 0) {
return;
}
}
List<ImUser> temp = new ArrayList<>();
for(BatchUpdateUserDto dto : list) {
ImUser user = new ImUser();
user.setId(dto.getId());
String labelIds = dto.getLabelIds();
if(StrUtil.isNotEmpty(labelIds)){
user.setLabelIds(labelIds);
}
String groupIds = dto.getGroupIds();
if(StrUtil.isNotEmpty(groupIds)){
user.setGroupIds(groupIds);
}
temp.add(user);
}
baseMapper.updateBatchById(temp);
}
} }

Loading…
Cancel
Save