设计人员
This commit is contained in:
@ -15,10 +15,12 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.dromara.design.domain.dto.desUser.DesUserBatchDto;
|
import org.dromara.design.domain.dto.desUser.DesUserBatchDto;
|
||||||
|
import org.dromara.system.domain.SysUserRole;
|
||||||
import org.dromara.system.domain.bo.SysUserBo;
|
import org.dromara.system.domain.bo.SysUserBo;
|
||||||
import org.dromara.system.domain.vo.SysDictDataVo;
|
import org.dromara.system.domain.vo.SysDictDataVo;
|
||||||
import org.dromara.system.domain.vo.SysUserVo;
|
import org.dromara.system.domain.vo.SysUserVo;
|
||||||
import org.dromara.system.service.ISysDictDataService;
|
import org.dromara.system.service.ISysDictDataService;
|
||||||
|
import org.dromara.system.service.ISysRoleService;
|
||||||
import org.dromara.system.service.ISysUserService;
|
import org.dromara.system.service.ISysUserService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.dromara.design.domain.bo.DesUserBo;
|
import org.dromara.design.domain.bo.DesUserBo;
|
||||||
@ -26,6 +28,7 @@ import org.dromara.design.domain.vo.DesUserVo;
|
|||||||
import org.dromara.design.domain.DesUser;
|
import org.dromara.design.domain.DesUser;
|
||||||
import org.dromara.design.mapper.DesUserMapper;
|
import org.dromara.design.mapper.DesUserMapper;
|
||||||
import org.dromara.design.service.IDesUserService;
|
import org.dromara.design.service.IDesUserService;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.URLEncoder;
|
import java.net.URLEncoder;
|
||||||
@ -49,6 +52,8 @@ public class DesUserServiceImpl extends ServiceImpl<DesUserMapper, DesUser> impl
|
|||||||
|
|
||||||
private final ISysUserService sysUserService;
|
private final ISysUserService sysUserService;
|
||||||
|
|
||||||
|
private final ISysRoleService roleService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询设计人员
|
* 查询设计人员
|
||||||
*
|
*
|
||||||
@ -151,9 +156,32 @@ public class DesUserServiceImpl extends ServiceImpl<DesUserMapper, DesUser> impl
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public Boolean batchAddOrUpdate(DesUserBatchDto dto) {
|
public Boolean batchAddOrUpdate(DesUserBatchDto dto) {
|
||||||
baseMapper.delete(Wrappers.<DesUser>lambdaQuery().eq(DesUser::getProjectId, dto.getProjectId()));
|
baseMapper.delete(Wrappers.<DesUser>lambdaQuery().eq(DesUser::getProjectId, dto.getProjectId()));
|
||||||
|
|
||||||
|
//1961314792461586433 校审员 3
|
||||||
|
//1961315028017893378 审核员 5
|
||||||
|
//1961315147199041537 审定员 4
|
||||||
|
|
||||||
List<DesUser> desUsers = MapstructUtils.convert(dto.getList(), DesUser.class);
|
List<DesUser> desUsers = MapstructUtils.convert(dto.getList(), DesUser.class);
|
||||||
|
|
||||||
|
roleService.deleteDesignUser(dto.getProjectId());
|
||||||
|
List<SysUserRole> sysUserRoles = new ArrayList<>();
|
||||||
|
for (DesUserBo bo : dto.getList()) {
|
||||||
|
SysUserRole sysUserRole = new SysUserRole();
|
||||||
|
if("3".equals(bo.getUserType())){
|
||||||
|
sysUserRole.setRoleId(1961314792461586433L);
|
||||||
|
}else if("5".equals(bo.getUserType())){
|
||||||
|
sysUserRole.setRoleId(1961315028017893378L);
|
||||||
|
}else if("4".equals(bo.getUserType())){
|
||||||
|
sysUserRole.setRoleId(1961315147199041537L);
|
||||||
|
}
|
||||||
|
sysUserRole.setUserId(bo.getUserId());
|
||||||
|
sysUserRole.setProjectId(dto.getProjectId());
|
||||||
|
sysUserRoles.add(sysUserRole);
|
||||||
|
}
|
||||||
|
roleService.insertUserRoleBatch(sysUserRoles);
|
||||||
//todo:发消息
|
//todo:发消息
|
||||||
return saveBatch(desUsers);
|
return saveBatch(desUsers);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -60,7 +60,7 @@ public class BusProjectAppController {
|
|||||||
@GetMapping("/login/list")
|
@GetMapping("/login/list")
|
||||||
public R<List<BusLoginUserProjectRelevancyVo>> listByLoginUser() {
|
public R<List<BusLoginUserProjectRelevancyVo>> listByLoginUser() {
|
||||||
Long userId = LoginHelper.getUserId();
|
Long userId = LoginHelper.getUserId();
|
||||||
return R.ok(userProjectRelevancyService.queryListByUserId(userId));
|
return R.ok(userProjectRelevancyService.appQueryListByUserId(userId));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -44,4 +44,10 @@ public class BusLoginUserProjectRelevancyVo implements Serializable {
|
|||||||
* 用户类型(0系统管理员 1普通人员 2项目管理员)
|
* 用户类型(0系统管理员 1普通人员 2项目管理员)
|
||||||
*/
|
*/
|
||||||
private String userType;
|
private String userType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组
|
||||||
|
*/
|
||||||
|
private Long teamId;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -115,6 +115,8 @@ public interface IBusUserProjectRelevancyService extends IService<BusUserProject
|
|||||||
*/
|
*/
|
||||||
List<BusLoginUserProjectRelevancyVo> queryListByUserId(Long userId);
|
List<BusLoginUserProjectRelevancyVo> queryListByUserId(Long userId);
|
||||||
|
|
||||||
|
List<BusLoginUserProjectRelevancyVo> appQueryListByUserId(Long userId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取当前登录用户项目分页
|
* 获取当前登录用户项目分页
|
||||||
*
|
*
|
||||||
|
|||||||
@ -16,6 +16,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|||||||
import org.dromara.common.satoken.utils.LoginHelper;
|
import org.dromara.common.satoken.utils.LoginHelper;
|
||||||
import org.dromara.project.constant.BusProjectConstant;
|
import org.dromara.project.constant.BusProjectConstant;
|
||||||
import org.dromara.project.domain.BusProject;
|
import org.dromara.project.domain.BusProject;
|
||||||
|
import org.dromara.project.domain.BusProjectTeamMember;
|
||||||
import org.dromara.project.domain.BusUserProjectRelevancy;
|
import org.dromara.project.domain.BusUserProjectRelevancy;
|
||||||
import org.dromara.project.domain.dto.project.BusProjectBatchByProjectListReq;
|
import org.dromara.project.domain.dto.project.BusProjectBatchByProjectListReq;
|
||||||
import org.dromara.project.domain.dto.userprojectrelevancy.BusUserProjectRelevancyCreateReq;
|
import org.dromara.project.domain.dto.userprojectrelevancy.BusUserProjectRelevancyCreateReq;
|
||||||
@ -25,6 +26,7 @@ import org.dromara.project.domain.vo.userprojectrelevancy.BusLoginUserProjectRel
|
|||||||
import org.dromara.project.domain.vo.userprojectrelevancy.BusUserProjectRelevancyVo;
|
import org.dromara.project.domain.vo.userprojectrelevancy.BusUserProjectRelevancyVo;
|
||||||
import org.dromara.project.mapper.BusUserProjectRelevancyMapper;
|
import org.dromara.project.mapper.BusUserProjectRelevancyMapper;
|
||||||
import org.dromara.project.service.IBusProjectService;
|
import org.dromara.project.service.IBusProjectService;
|
||||||
|
import org.dromara.project.service.IBusProjectTeamMemberService;
|
||||||
import org.dromara.project.service.IBusUserProjectRelevancyService;
|
import org.dromara.project.service.IBusUserProjectRelevancyService;
|
||||||
import org.dromara.system.service.ISysUserService;
|
import org.dromara.system.service.ISysUserService;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
@ -52,6 +54,10 @@ public class BusUserProjectRelevancyServiceImpl extends ServiceImpl<BusUserProje
|
|||||||
@Resource
|
@Resource
|
||||||
private ISysUserService userService;
|
private ISysUserService userService;
|
||||||
|
|
||||||
|
@Lazy
|
||||||
|
@Resource
|
||||||
|
private IBusProjectTeamMemberService projectMemberService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询系统用户与项目关联
|
* 查询系统用户与项目关联
|
||||||
*
|
*
|
||||||
@ -329,6 +335,54 @@ public class BusUserProjectRelevancyServiceImpl extends ServiceImpl<BusUserProje
|
|||||||
.toList();
|
.toList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<BusLoginUserProjectRelevancyVo> appQueryListByUserId(Long userId) {
|
||||||
|
// 添加查询条件,根据当前用户,获取数据
|
||||||
|
LambdaQueryWrapper<BusUserProjectRelevancy> queryWrapper = Wrappers.lambdaQuery();
|
||||||
|
queryWrapper.eq(BusUserProjectRelevancy::getUserId, userId);
|
||||||
|
// 查询数据库,获取数据
|
||||||
|
List<BusUserProjectRelevancy> list = this.list(queryWrapper);
|
||||||
|
List<Long> projectIdList = list.stream().map(BusUserProjectRelevancy::getProjectId).toList();
|
||||||
|
if (CollUtil.isEmpty(projectIdList)) {
|
||||||
|
return new ArrayList<>();
|
||||||
|
}
|
||||||
|
Map<Long, List<BusProject>> projectMap = projectService.lambdaQuery()
|
||||||
|
.select(BusProject::getId, BusProject::getPId, BusProject::getProjectName, BusProject::getShortName)
|
||||||
|
.in(BusProject::getId, projectIdList)
|
||||||
|
.eq(BusProject::getPId, BusProjectConstant.PARENT_ID)
|
||||||
|
.list()
|
||||||
|
.stream().collect(Collectors.groupingBy(BusProject::getId));
|
||||||
|
|
||||||
|
Map<Long, Long> teamMap = projectMemberService.lambdaQuery().eq(BusProjectTeamMember::getMemberId, userId).list()
|
||||||
|
.stream().collect(Collectors.toMap(BusProjectTeamMember::getProjectId, BusProjectTeamMember::getTeamId));
|
||||||
|
|
||||||
|
|
||||||
|
// 获取封装
|
||||||
|
return list.stream()
|
||||||
|
.map(userProjectRelevancy -> {
|
||||||
|
Long projectId = userProjectRelevancy.getProjectId();
|
||||||
|
BusProject project = null;
|
||||||
|
if (projectMap.containsKey(projectId)) {
|
||||||
|
project = projectMap.get(projectId).getFirst();
|
||||||
|
}
|
||||||
|
if (project != null && project.getPId().equals(BusProjectConstant.PARENT_ID)) {
|
||||||
|
BusLoginUserProjectRelevancyVo loginUserProjectRelevancy = new BusLoginUserProjectRelevancyVo();
|
||||||
|
loginUserProjectRelevancy.setId(userProjectRelevancy.getId());
|
||||||
|
loginUserProjectRelevancy.setUserId(userProjectRelevancy.getUserId());
|
||||||
|
loginUserProjectRelevancy.setProjectId(projectId);
|
||||||
|
loginUserProjectRelevancy.setProjectName(project.getProjectName());
|
||||||
|
loginUserProjectRelevancy.setShortName(project.getShortName());
|
||||||
|
loginUserProjectRelevancy.setTeamId(teamMap.get(projectId));
|
||||||
|
return loginUserProjectRelevancy;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return null;
|
||||||
|
})
|
||||||
|
.filter(Objects::nonNull)
|
||||||
|
.toList();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取当前登录用户项目分页
|
* 获取当前登录用户项目分页
|
||||||
*
|
*
|
||||||
|
|||||||
@ -3,6 +3,7 @@ package org.dromara.system.service;
|
|||||||
import org.dromara.common.core.domain.vo.SysProjectRolePermissionVo;
|
import org.dromara.common.core.domain.vo.SysProjectRolePermissionVo;
|
||||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
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.design.domain.DesUser;
|
||||||
import org.dromara.system.domain.SysUserRole;
|
import org.dromara.system.domain.SysUserRole;
|
||||||
import org.dromara.system.domain.bo.SysRoleBo;
|
import org.dromara.system.domain.bo.SysRoleBo;
|
||||||
import org.dromara.system.domain.dto.role.SysRoleProjectDto;
|
import org.dromara.system.domain.dto.role.SysRoleProjectDto;
|
||||||
@ -208,4 +209,10 @@ public interface ISysRoleService {
|
|||||||
|
|
||||||
void cleanOnlineUser(List<Long> userIds);
|
void cleanOnlineUser(List<Long> userIds);
|
||||||
|
|
||||||
|
void insertUserRoleBatch(List<SysUserRole> list);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除审核审定校审
|
||||||
|
*/
|
||||||
|
void deleteDesignUser(Long projectId);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -96,7 +96,7 @@ public class SysRoleServiceImpl implements ISysRoleService, RoleService {
|
|||||||
.orderByAsc("r.role_sort").orderByAsc("r.create_time");
|
.orderByAsc("r.role_sort").orderByAsc("r.create_time");
|
||||||
// 添加部门ID或角色ID在2,3,4中的条件
|
// 添加部门ID或角色ID在2,3,4中的条件
|
||||||
if (ObjectUtil.isNotNull(bo.getDeptId())) {
|
if (ObjectUtil.isNotNull(bo.getDeptId())) {
|
||||||
wrapper.and(w -> w.eq("r.dept_id", bo.getDeptId()).or().in("r.role_id", Arrays.asList(2L, 3L, 4L)));
|
wrapper.and(w -> w.eq("r.dept_id", bo.getDeptId()).or().eq("r.dept_id", 99L));
|
||||||
}
|
}
|
||||||
return wrapper;
|
return wrapper;
|
||||||
}
|
}
|
||||||
@ -627,4 +627,17 @@ public class SysRoleServiceImpl implements ISysRoleService, RoleService {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void insertUserRoleBatch(List<SysUserRole> list) {
|
||||||
|
userRoleMapper.insertBatch(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void deleteDesignUser(Long projectId) {
|
||||||
|
List<Long> list1 = Arrays.asList(1961314792461586433L, 1961315028017893378L, 1961315147199041537L);
|
||||||
|
userRoleMapper.delete(Wrappers.lambdaQuery(SysUserRole.class)
|
||||||
|
.eq(SysUserRole::getProjectId, projectId)
|
||||||
|
.in(SysUserRole::getRoleId, list1)
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user