|
@@ -35,7 +35,60 @@ public class AppServiceImpl implements IAppService {
|
|
|
|
|
|
@Override
|
|
|
public void changeUserDeptAndPost(ChangeUserDeptAndPostParam param) {
|
|
|
+ log.debug("change user dept and post param: {}", JSON.toJSONString(param));
|
|
|
+ Set<Long> companyUserIds = Arrays.stream(param.getCompanyUserIds().split(",")).map(Long::new).collect(Collectors.toSet());
|
|
|
|
|
|
+ List<CompanyUser> companyUsers = companyUserService.selectCompanyUserByIds(companyUserIds);
|
|
|
+ if (Objects.isNull(companyUsers) || companyUsers.isEmpty()) {
|
|
|
+ throw new CustomException("销售不存在");
|
|
|
+ }
|
|
|
+
|
|
|
+ // 修改部门
|
|
|
+ if (Objects.nonNull(param.getDeptId())) {
|
|
|
+ CompanyDept companyDept = companyDeptService.selectCompanyDeptById(param.getDeptId());
|
|
|
+ if (Objects.isNull(companyDept)) {
|
|
|
+ throw new CustomException("部门不存在");
|
|
|
+ }
|
|
|
+
|
|
|
+ companyUsers.forEach(companyUser -> {
|
|
|
+ companyUser.setDeptId(param.getDeptId());
|
|
|
+ companyUserService.updateCompanyUser(companyUser);
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ // 修改岗位
|
|
|
+ if (StringUtils.isNotBlank(param.getPostIds())) {
|
|
|
+ List<Long> postIds = Arrays.stream(param.getPostIds().split(",")).map(Long::new).collect(Collectors.toList());
|
|
|
+ List<CompanyPost> companyPosts = companyPostService.selectCompanyPostByIds(postIds);
|
|
|
+ if (Objects.nonNull(companyPosts) && !companyPosts.isEmpty()) {
|
|
|
+ companyUsers.forEach(companyUser -> {
|
|
|
+ companyUserPostService.deleteCompanyUserPostById(companyUser.getUserId());
|
|
|
+ companyUserPostService.batchInsertCompanyUserPost(companyPosts.stream().map(p -> {
|
|
|
+ CompanyUserPost companyUserPost = new CompanyUserPost();
|
|
|
+ companyUserPost.setPostId(p.getPostId());
|
|
|
+ companyUserPost.setUserId(companyUser.getUserId());
|
|
|
+ return companyUserPost;
|
|
|
+ }).collect(Collectors.toList()));
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 修改角色
|
|
|
+ if (StringUtils.isNotBlank(param.getRoleIds())) {
|
|
|
+ List<Long> roleIds = Arrays.stream(param.getRoleIds().split(",")).map(Long::new).collect(Collectors.toList());
|
|
|
+ List<CompanyRole> CompanyRoles = companyRoleService.selectCompanyRoleByIds(roleIds);
|
|
|
+ if (Objects.nonNull(CompanyRoles) && !CompanyRoles.isEmpty()) {
|
|
|
+ companyUsers.forEach(companyUser -> {
|
|
|
+ companyUserRoleService.deleteCompanyUserRoleById(companyUser.getUserId());
|
|
|
+ companyUserRoleService.batchInsertCompanyUserRole(CompanyRoles.stream().map(p -> {
|
|
|
+ CompanyUserRole companyUserRole = new CompanyUserRole();
|
|
|
+ companyUserRole.setRoleId(p.getRoleId());
|
|
|
+ companyUserRole.setUserId(companyUser.getUserId());
|
|
|
+ return companyUserRole;
|
|
|
+ }).collect(Collectors.toList()));
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/**
|