소스 검색

增加批量修改用户角色功能,修改描述文件

Guos 1 주 전
부모
커밋
4c723be297

+ 7 - 4
README.md

@@ -5,10 +5,13 @@
 
 
 #### 软件模块说明
 #### 软件模块说明
 
 
-| 模块名称 | 模块描述 | 对应前端项目                  |
-|------|------|-------------------------|
-| fs-admin | 总后台服务 | ylrz_his_scrm_adminUI   |
-| fs-company | 销售端 | ylrz_his_scrm_companyUI |
+| 模块名称         | 模块描述         | 对应前端项目                  |
+|--------------|--------------|-------------------------|
+| fs-admin     | 总后台服务        | ylrz_his_scrm_adminUI   |
+| fs-company   | 销售端          | ylrz_his_scrm_companyUI |
+| fs-user-app  | 微信小程序端       | 对应某个微信小程序(前端蒲瑶清楚)       |
+| fs-framework | 主要依赖包,核心包    | /                       |
+| fs-service   | 所有的链接配置文件都在里面 | /                       |
 
 
 
 
 #### 安装教程
 #### 安装教程

+ 16 - 0
fs-company/src/main/java/com/fs/company/controller/company/CompanyUserController.java

@@ -22,6 +22,7 @@ import com.fs.company.param.CompanyUserCodeParam;
 import com.fs.company.param.CompanyUserQwParam;
 import com.fs.company.param.CompanyUserQwParam;
 import com.fs.company.service.*;
 import com.fs.company.service.*;
 import com.fs.company.utils.DomainUtil;
 import com.fs.company.utils.DomainUtil;
+import com.fs.company.vo.BatchUserRolesVO;
 import com.fs.company.vo.CompanyUserImportVO;
 import com.fs.company.vo.CompanyUserImportVO;
 import com.fs.company.vo.CompanyUserQwListVO;
 import com.fs.company.vo.CompanyUserQwListVO;
 import com.fs.company.vo.CompanyUserVO;
 import com.fs.company.vo.CompanyUserVO;
@@ -46,6 +47,7 @@ import org.json.JSONArray;
 import org.json.JSONObject;
 import org.json.JSONObject;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.util.Assert;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartFile;
@@ -565,6 +567,20 @@ public class CompanyUserController extends BaseController
         return companyUserService.bindDoctor(companyUser);
         return companyUserService.bindDoctor(companyUser);
     }
     }
 
 
+    /**
+     * 批量修改角色
+     * @param batchUserRolesVO
+     */
+    @PreAuthorize("@ss.hasPermi('company:user:edit')")
+    @Log(title = "批量修改角色", businessType = BusinessType.UPDATE)
+    @PostMapping("/updateBatchUserRoles")
+    public R updateBatchUserRoles(@RequestBody BatchUserRolesVO batchUserRolesVO){
+        Assert.notEmpty(batchUserRolesVO.getRoleIds(), "角色不能为空");
+        Assert.notEmpty(batchUserRolesVO.getUserIds(), "用户不能为空");
+        return companyUserService.updateBatchUserRoles(batchUserRolesVO);
+    }
+
+
     @ApiOperation("校验客服是否注册新的im")
     @ApiOperation("校验客服是否注册新的im")
     @PostMapping("/accountCheck")
     @PostMapping("/accountCheck")
     public R accountCheck(@RequestBody Map<String, String> userIdMap){
     public R accountCheck(@RequestBody Map<String, String> userIdMap){

+ 6 - 0
fs-service/src/main/java/com/fs/company/service/ICompanyUserService.java

@@ -238,4 +238,10 @@ public interface ICompanyUserService {
     R unBindDoctor(Long userId);
     R unBindDoctor(Long userId);
 
 
     R getBindInfo(Long companyUserId);
     R getBindInfo(Long companyUserId);
+
+    /**
+     * 批量修改角色
+     * @param batchUserRolesVO 批量修改角色参数
+     */
+    R updateBatchUserRoles(BatchUserRolesVO batchUserRolesVO);
 }
 }

+ 40 - 1
fs-service/src/main/java/com/fs/company/service/impl/CompanyUserServiceImpl.java

@@ -22,7 +22,9 @@ import com.fs.company.mapper.*;
 import com.fs.company.param.CompanyUserAreaParam;
 import com.fs.company.param.CompanyUserAreaParam;
 import com.fs.company.param.CompanyUserCodeParam;
 import com.fs.company.param.CompanyUserCodeParam;
 import com.fs.company.param.CompanyUserQwParam;
 import com.fs.company.param.CompanyUserQwParam;
+import com.fs.company.service.ICompanyRoleService;
 import com.fs.company.service.ICompanyService;
 import com.fs.company.service.ICompanyService;
+import com.fs.company.service.ICompanyUserRoleService;
 import com.fs.company.service.ICompanyUserService;
 import com.fs.company.service.ICompanyUserService;
 import com.fs.company.vo.*;
 import com.fs.company.vo.*;
 import com.fs.course.service.IFsUserCompanyUserService;
 import com.fs.course.service.IFsUserCompanyUserService;
@@ -45,6 +47,8 @@ import com.fs.qw.vo.QwOptionsVO;
 import com.fs.qw.vo.QwUserVO;
 import com.fs.qw.vo.QwUserVO;
 import com.fs.system.oss.CloudStorageService;
 import com.fs.system.oss.CloudStorageService;
 import com.fs.system.oss.OSSFactory;
 import com.fs.system.oss.OSSFactory;
+import com.fs.system.service.ISysRoleService;
+import com.fs.system.service.ISysUserService;
 import com.fs.voice.utils.StringUtil;
 import com.fs.voice.utils.StringUtil;
 import com.fs.wxUser.domain.CompanyWxUser;
 import com.fs.wxUser.domain.CompanyWxUser;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
@@ -72,6 +76,7 @@ public class CompanyUserServiceImpl implements ICompanyUserService
 {
 {
     @Autowired
     @Autowired
     private CompanyUserMapper companyUserMapper;
     private CompanyUserMapper companyUserMapper;
+
     @Autowired
     @Autowired
     private CompanyRoleMapper roleMapper;
     private CompanyRoleMapper roleMapper;
 
 
@@ -108,10 +113,16 @@ public class CompanyUserServiceImpl implements ICompanyUserService
     @Autowired
     @Autowired
     private ICompanyService companyService;
     private ICompanyService companyService;
 
 
-
     @Autowired
     @Autowired
     private IQwUserService qwUserService;
     private IQwUserService qwUserService;
 
 
+    @Autowired
+    private ISysRoleService sysRoleService;
+
+//    @Autowired
+//    private ICompanyUserRoleService userRoleService;
+
+
     /**
     /**
      * 查询物业公司管理员信息
      * 查询物业公司管理员信息
      *
      *
@@ -1006,4 +1017,32 @@ public class CompanyUserServiceImpl implements ICompanyUserService
         }
         }
         return R.error();
         return R.error();
     }
     }
+
+    /**
+     * 批量修改角色
+     * @param batchUserRolesVO 批量修改角色参数
+     */
+    @Override
+    public R updateBatchUserRoles(BatchUserRolesVO batchUserRolesVO) {
+        Long[] roleIds = batchUserRolesVO.getRoleIds();
+        Long[] userIds = batchUserRolesVO.getUserIds();
+        //先删除之前关联的角色
+        userRoleMapper.deleteCompanyUserRoleByIds(userIds);
+        for (Long userId : userIds){
+            try {
+                CompanyUser companyUser = selectCompanyUserById(userId);
+                companyUser.setRoleIds(roleIds);
+                // 新增用户与角色管理
+                insertUserRole(companyUser);
+                // 删除用户与岗位关联
+                userPostMapper.deleteUserPostByUserId(userId);
+                // 新增用户与岗位管理
+                insertUserPost(companyUser);
+                companyUserMapper.updateCompanyUser(companyUser);
+            }catch (Exception exception){
+                throw new CustomException("修改失败");
+            }
+        }
+        return R.ok("修改成功");
+    }
 }
 }

+ 21 - 0
fs-service/src/main/java/com/fs/company/vo/BatchUserRolesVO.java

@@ -0,0 +1,21 @@
+package com.fs.company.vo;
+
+import lombok.*;
+
+/**
+ * @description: 批量修改用户角色入参
+ * @author: Guos
+ * @time: 2025/10/16 上午9:23
+ */
+
+@Getter
+@Setter
+@ToString
+@NoArgsConstructor
+@AllArgsConstructor
+public class BatchUserRolesVO {
+
+    private Long[] roleIds;
+
+    private Long[] userIds;
+}