设计人员
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 lombok.RequiredArgsConstructor; | ||||
| 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.vo.SysDictDataVo; | ||||
| import org.dromara.system.domain.vo.SysUserVo; | ||||
| import org.dromara.system.service.ISysDictDataService; | ||||
| import org.dromara.system.service.ISysRoleService; | ||||
| import org.dromara.system.service.ISysUserService; | ||||
| import org.springframework.stereotype.Service; | ||||
| 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.mapper.DesUserMapper; | ||||
| import org.dromara.design.service.IDesUserService; | ||||
| import org.springframework.transaction.annotation.Transactional; | ||||
|  | ||||
| import java.io.IOException; | ||||
| import java.net.URLEncoder; | ||||
| @ -49,6 +52,8 @@ public class DesUserServiceImpl extends ServiceImpl<DesUserMapper, DesUser> impl | ||||
|  | ||||
|     private final ISysUserService sysUserService; | ||||
|  | ||||
|     private final ISysRoleService roleService; | ||||
|  | ||||
|     /** | ||||
|      * 查询设计人员 | ||||
|      * | ||||
| @ -151,9 +156,32 @@ public class DesUserServiceImpl extends ServiceImpl<DesUserMapper, DesUser> impl | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     @Transactional(rollbackFor = Exception.class) | ||||
|     public Boolean batchAddOrUpdate(DesUserBatchDto dto) { | ||||
|         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); | ||||
|  | ||||
|         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:发消息 | ||||
|         return saveBatch(desUsers); | ||||
|     } | ||||
|  | ||||
| @ -60,7 +60,7 @@ public class BusProjectAppController { | ||||
|     @GetMapping("/login/list") | ||||
|     public R<List<BusLoginUserProjectRelevancyVo>> listByLoginUser() { | ||||
|         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项目管理员) | ||||
|      */ | ||||
|     private String userType; | ||||
|  | ||||
|     /** | ||||
|      * 班组 | ||||
|      */ | ||||
|     private Long teamId; | ||||
|  | ||||
| } | ||||
|  | ||||
| @ -115,6 +115,8 @@ public interface IBusUserProjectRelevancyService extends IService<BusUserProject | ||||
|      */ | ||||
|     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.project.constant.BusProjectConstant; | ||||
| import org.dromara.project.domain.BusProject; | ||||
| import org.dromara.project.domain.BusProjectTeamMember; | ||||
| import org.dromara.project.domain.BusUserProjectRelevancy; | ||||
| import org.dromara.project.domain.dto.project.BusProjectBatchByProjectListReq; | ||||
| 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.mapper.BusUserProjectRelevancyMapper; | ||||
| import org.dromara.project.service.IBusProjectService; | ||||
| import org.dromara.project.service.IBusProjectTeamMemberService; | ||||
| import org.dromara.project.service.IBusUserProjectRelevancyService; | ||||
| import org.dromara.system.service.ISysUserService; | ||||
| import org.springframework.beans.BeanUtils; | ||||
| @ -52,6 +54,10 @@ public class BusUserProjectRelevancyServiceImpl extends ServiceImpl<BusUserProje | ||||
|     @Resource | ||||
|     private ISysUserService userService; | ||||
|  | ||||
|     @Lazy | ||||
|     @Resource | ||||
|     private IBusProjectTeamMemberService projectMemberService; | ||||
|  | ||||
|     /** | ||||
|      * 查询系统用户与项目关联 | ||||
|      * | ||||
| @ -329,6 +335,54 @@ public class BusUserProjectRelevancyServiceImpl extends ServiceImpl<BusUserProje | ||||
|             .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.mybatis.core.page.PageQuery; | ||||
| 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.bo.SysRoleBo; | ||||
| import org.dromara.system.domain.dto.role.SysRoleProjectDto; | ||||
| @ -208,4 +209,10 @@ public interface ISysRoleService { | ||||
|  | ||||
|     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"); | ||||
|         // 添加部门ID或角色ID在2,3,4中的条件 | ||||
|         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; | ||||
|     } | ||||
| @ -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
	 zt
					zt