谭斌 2 jaren geleden
bovenliggende
commit
5a04b704fa

+ 26 - 11
authorize-api-service/src/main/java/com/xy/service/impl/SysWorkUserServiceImpl.java

@@ -1,5 +1,6 @@
 package com.xy.service.impl;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -25,6 +26,9 @@ import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import static com.xy.utils.PlusBeans.toIPage;
 import static com.xy.utils.PlusBeans.toPageBean;
 
@@ -49,18 +53,29 @@ public class SysWorkUserServiceImpl extends ServiceImpl<SysWorkUserMapper, SysWo
     @Transactional(rollbackFor = Exception.class)
     public R<Boolean> add(AddDto addDto) {
         SysWorkUser sysWorkUser = Beans.copy(SysWorkUser.class, addDto).create(Long.parseLong(SaTokenUtils.getId().toString()));
-        save(sysWorkUser);
         //新增业务用户
-        sysUserRoleService.save(new SysUserRole()
-                .setSysId(addDto.getSysId())
-                .setRoleId(addDto.getRoleIds())
-                .setWorkUserId(Long.parseLong(SaTokenUtils.getId().toString())));
-        String deptIds = addDto.getDeptIds();
-        if (StrUtil.isNotBlank(deptIds)) {
+        save(sysWorkUser);
+        List<Long> roleIds = addDto.getRoleIds();
+        if (CollUtil.isNotEmpty(roleIds)) {
+            List<SysUserRole> sysUserRoleList = new ArrayList<>(16);
+            roleIds.forEach(roleId -> {
+                sysUserRoleList.add(new SysUserRole()
+                        .setRoleId(roleId).setWorkUserId(sysWorkUser.getId()).setSysId(sysWorkUser.getSysId()));
+            });
+            //保存用户角色绑定信息
+            sysUserRoleService.saveBatch(sysUserRoleList);
+        }
+
+        List<Long> deptIds = addDto.getDeptIds();
+        if (CollUtil.isNotEmpty(deptIds)) {
             //关联部门
-            sysUserDeptService.save(
-                    new SysUserDept().setDeptId(deptIds).setWorkUserId(sysWorkUser.getSysUserId()).setSysId(addDto.getSysId())
-            );
+            List<SysUserDept> sysUserDeptList = new ArrayList<>(16);
+            deptIds.forEach(deptId -> {
+                sysUserDeptList.add(new SysUserDept()
+                        .setDeptId(deptId).setWorkUserId(sysWorkUser.getId()).setSysId(sysWorkUser.getSysId()));
+            });
+            //保存用户bumen 绑定信息
+            sysUserDeptService.saveBatch(sysUserDeptList);
         }
         return R.ok(Boolean.TRUE);
     }
@@ -77,7 +92,7 @@ public class SysWorkUserServiceImpl extends ServiceImpl<SysWorkUserMapper, SysWo
                     .eq(SysUserDept::getWorkUserId, sysWorkUser.getId())
                     .eq(SysUserDept::getSysId, sysWorkUser.getSysId()));
             if (sysUserDept == null) {
-                sysUserDept = new SysUserDept().setDeptId(deptIds).setWorkUserId(sysWorkUser.getId()).setSysId(sysWorkUser.getSysId());
+
             }
             //关联部门
             sysUserDeptService.saveOrUpdate(sysUserDept);

+ 5 - 4
authorize-api/src/main/java/com/xy/dto/SysWorkUser/AddDto.java

@@ -6,6 +6,7 @@ import lombok.Data;
 import lombok.experimental.Accessors;
 
 import javax.validation.constraints.NotBlank;
+import java.util.List;
 
 @Data
 @ApiModel("业务用户新增请求")
@@ -39,11 +40,11 @@ public class AddDto {
     @ApiModelProperty(value = "状态", required = false)
     private Boolean status;
 
-    @ApiModelProperty(value = "角色(多个(,)逗号隔开)", required = true)
-    private String roleIds;
+    @ApiModelProperty(value = "角色ID(数组)", required = false)
+    private List<Long> roleIds;
 
-    @ApiModelProperty(value = "部门ID(多个(,)逗号隔开)", required = false)
-    private String deptIds;
+    @ApiModelProperty(value = "部门ID(数组)", required = false)
+    private List<Long> deptIds;
 
 
 }