forked from kidgrow-microservices-platform

houruijun
2020-10-10 56d0698407a1f5ae3e6fdcdd8533584fa3327dc3
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java
@@ -124,39 +124,47 @@
     */
    @Override
    public LoginAppUser getLoginAppUser(SysUser sysUserNew) {
        log.error(sysUserNew.toString());
        LoginAppUser loginAppUser = new LoginAppUser();
        SysUser sysUser = this.baseMapper.selectById(sysUserNew);
        log.error("11111");
        if (sysUser != null) {
            log.error("22222");
            BeanUtils.copyProperties(sysUser, loginAppUser);
            //获取用户所属组织机构列表
            loginAppUser.setDefaultAuth(sysUser.getDefaultAuth());
            List<SysOrganization> sysOrganizations = organizationService.findListByUserId(sysUser.getId());
            //设置组织机构集合
            if (sysOrganizations != null) {
                log.error("33333");
                loginAppUser.setOrganizations(sysOrganizations);
            }
            List<SysRole> sysRoles = roleUserService.findRolesByUserId(sysUser.getId());
            // 设置角色
            loginAppUser.setRoles(sysRoles);
            log.error("444444");
            if (!CollectionUtils.isEmpty(sysRoles)) {
                log.error("55555");
                Set<Long> roleIds = sysRoles.parallelStream().map(SuperEntity::getId).collect(Collectors.toSet());
                List<SysMenu> menus = roleMenuMapper.findMenusByRoleIds(roleIds, CommonConstant.PERMISSION);
                if (!CollectionUtils.isEmpty(menus)) {
                    log.error("66666");
                    Set<String> permissions = menus.parallelStream().map(p -> p.getPath())
                            .collect(Collectors.toSet());
                    // 设置权限集合
                    loginAppUser.setPermissions(permissions);
                }
            }
            log.error("777777");
            //医院信息
            DoctorUserAll doctorUserAllVo = baseMapper.findDoctorUserAllData(sysUser.getId());
            if (doctorUserAllVo != null) {
                log.error("88888");
                loginAppUser.setDoctorUserAllVO(doctorUserAllVo);
                //是否医院管理员
                loginAppUser.setHAdminUser(doctorUserAllVo.getIsAdminUser());
            }
            log.error("99999");
        }
        return loginAppUser;
    }
@@ -326,15 +334,13 @@
        Page<SysUser> page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit"));
        List<SysUser> list = baseMapper.findList(page, params);
        long total = page.getTotal();
        if (total > 0) {
        if (total > 0&&list.size()>0) {
            List<Long> userIds = list.stream().map(SysUser::getId).collect(Collectors.toList());
            List<SysRole> sysRoles = roleUserService.findRolesByUserIds(userIds);
//            Map<String, Object> map = new HashMap<String, Object>();
//            List<SysOrganization> sysOrganizationList=organizationService.fin();
            list.forEach(u -> u.setRoles(sysRoles.stream().filter(r -> !ObjectUtils.notEqual(u.getId(), r.getUserId()))
                    .collect(Collectors.toList())));
            if (userIds.size()>0) {
                List<SysRole> sysRoles = roleUserService.findRolesByUserIds(userIds);
                list.forEach(u -> u.setRoles(sysRoles.stream().filter(r -> !ObjectUtils.notEqual(u.getId(), r.getUserId()))
                        .collect(Collectors.toList())));
            }
        }
        return PageResult.<SysUser>builder().data(list).code(0).count(total).build();
    }
@@ -835,7 +841,11 @@
                            //创建字典数据
                            sysDictionaries.setDictionariesClassId(DictionariesConstants.DOCTOR_RANK);
                            //将名称汉字转为拼音
                            sysDictionaries.setDictionariesKey(Pinyin4jUtil.makeStringByStringSet(Pinyin4jUtil.getPinyin(userRegVo.getDoctorRank(), true)));
                            String keyStr=Pinyin4jUtil.makeStringByStringSet(Pinyin4jUtil.getPinyin(userRegVo.getDoctorRank(), true));
                            if (keyStr.length()>50) {
                                keyStr=keyStr.substring(0,49);
                            }
                            sysDictionaries.setDictionariesKey(keyStr);
                            sysDictionaries.setDictionariesName(userRegVo.getDoctorRank());
                            sysDictionaries.setCreateUserId(createUserId);
                            sysDictionaries.setCreateUserName(createUserName);