فهرست منبع

解决用户添加时无法设置多个角色的问题

dzx 1 سال پیش
والد
کامیت
cd825cdc83

+ 3 - 0
src/main/java/com/xjrsoft/module/oa/vo/NewsPageVo.java

@@ -181,4 +181,7 @@ public class NewsPageVo {
 
     @ApiModelProperty("创建人名字")
     private String createUserName;
+
+    @ApiModelProperty("封面")
+    private Long cover;
 }

+ 5 - 0
src/main/java/com/xjrsoft/module/organization/dto/UpdateUserDto.java

@@ -11,6 +11,7 @@ import javax.validation.constraints.NotNull;
 import javax.validation.constraints.Pattern;
 import java.io.Serializable;
 import java.sql.Timestamp;
+import java.util.List;
 
 /**
  * @title: UpdateUserDto
@@ -93,4 +94,8 @@ public class UpdateUserDto implements Serializable {
     @JsonFormat(pattern = "yyyy-MM-dd")
     @ApiModelProperty("生日")
     private Timestamp birthDate;
+
+
+    @ApiModelProperty("角色")
+    private List<Long> roleIds;
 }

+ 14 - 0
src/main/java/com/xjrsoft/module/organization/service/impl/UserServiceImpl.java

@@ -5,6 +5,7 @@ import cn.dev33.satoken.stp.StpUtil;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.convert.Convert;
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -163,6 +164,19 @@ public class UserServiceImpl extends MPJBaseServiceImpl<UserMapper, User> implem
             userDeptRelationService.saveBatch(userDeptRelationList);
         }
 
+        //先删除再新增
+        userRoleRelationMapper.delete(Wrappers.<UserRoleRelation>query().lambda().eq(UserRoleRelation::getUserId, user.getId()));
+        if (ObjectUtil.isNotNull(dto.getRoleIds())) {
+            for (Long roleId : dto.getRoleIds()) {
+                //将用户所选部门保存到关联表中
+                UserRoleRelation userRoleRelation = new UserRoleRelation();
+                userRoleRelation.setUserId(user.getId());
+                userRoleRelation.setRoleId(roleId);
+
+                userRoleRelationMapper.insert(userRoleRelation);
+            }
+        }
+
 
         CompletableFuture.runAsync(() -> {
             List<User> list = list();