forked from kidgrow-microservices-platform

zhaoxiaohao
2020-04-24 8d384b6f5e510fd23f30061b0678abceb624c2a3
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java
@@ -1,10 +1,15 @@
package com.kidgrow.usercenter.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.kidgrow.common.constant.SecurityConstants;
import com.kidgrow.common.model.*;
import com.kidgrow.redis.util.RedisConstant;
import com.kidgrow.redis.util.RedisUtils;
import com.kidgrow.usercenter.mapper.SysRoleMapper;
import com.kidgrow.usercenter.mapper.SysRoleOrganizationMapper;
import com.kidgrow.usercenter.model.SysRoleOrganization;
import com.kidgrow.usercenter.service.ISysRoleOrganizationService;
import com.kidgrow.usercenter.service.ISysUserOrgService;
import com.kidgrow.usercenter.service.ISysUserService;
import com.kidgrow.usercenter.vo.SysDoctorDto;
@@ -53,11 +58,32 @@
    @Autowired
    private ISysUserOrgService sysUserOrgService;
    @Autowired
    RedisUtils redisUtils;
    private RedisUtils redisUtils;
    @Autowired
    private SysRoleOrganizationMapper sysRoleOrganizationMapper;
    @Autowired
    private SysRoleMapper sysRoleMapper;
    @Override
    public PageResult<SysDoctorVo> findList(Map<String, Object> params) {
    public PageResult<SysDoctorVo> findList(Map<String, Object> params, SysUser user) {
        Page<SysDoctor> page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit"));
        List<SysRole> roles = user.getRoles();
        List<Map<SysRole,List<SysRoleOrganization>>> listroleOrg=new ArrayList<>();
        if (!roles.isEmpty()) {
            roles.forEach(e->{
                Map<SysRole,List<SysRoleOrganization>> rolemap=new HashMap<>();
                Map<String,Object> map=new HashMap<>();
                map.put("role_id",e.getId());
                List<SysRoleOrganization> sysRoleOrganizations = sysRoleOrganizationMapper.selectByMap(map);
                if(sysRoleOrganizations.size()>0){
                    SysRole sysRole = sysRoleMapper.selectById(e.getId());
                    rolemap.put(sysRole,sysRoleOrganizations);
                    listroleOrg.add(rolemap);
                }
            });
        }
        params.put("likes",listroleOrg);
        List<SysDoctor> list = baseMapper.findList(page, params);
        List<SysDoctorVo> listvo = new ArrayList<>();
        list.forEach(e -> {