Explorar el Código

Merge branch 'dev' of LiTaohong/wlyy2.0 into dev

LiTaohong hace 6 años
padre
commit
03bcc9cb56
Se han modificado 18 ficheros con 208 adiciones y 50 borrados
  1. 6 6
      common/common-entity/src/main/java/com/yihu/jw/entity/base/user/UserDO.java
  2. 3 0
      common/common-request-mapping/src/main/java/com/yihu/jw/rm/base/BaseRequestMapping.java
  3. 2 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/doctor/BaseDoctorRoleInfoDao.java
  4. 5 2
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/doctor/BaseModuleRoleDao.java
  5. 2 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/org/BaseOrgUserDao.java
  6. 2 2
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/doctor/BaseDoctorEndpoint.java
  7. 34 1
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/doctor/BaseDoctorRoleInfoEndpoint.java
  8. 2 2
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/org/BaseOrgEndpoint.java
  9. 2 2
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/patient/BasePatientEndpoint.java
  10. 1 1
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/team/BaseTeamEndpoint.java
  11. 2 2
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/user/UserEndpoint.java
  12. 90 3
      svr/svr-base/src/main/java/com/yihu/jw/base/service/doctor/BaseDoctorRoleInfoService.java
  13. 21 5
      svr/svr-base/src/main/java/com/yihu/jw/base/service/doctor/BaseModuleRoleService.java
  14. 6 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/org/BaseOrgUserService.java
  15. 1 1
      svr/svr-base/src/main/java/com/yihu/jw/base/service/org/OrgTree.java
  16. 3 3
      svr/svr-base/src/main/java/com/yihu/jw/base/service/org/tree/SimpleTreeNode.java
  17. 1 1
      svr/svr-base/src/main/java/com/yihu/jw/base/service/saas/SaasService.java
  18. 25 19
      svr/svr-base/src/main/java/com/yihu/jw/base/service/user/UserService.java

+ 6 - 6
common/common-entity/src/main/java/com/yihu/jw/entity/base/user/UserDO.java

@ -59,7 +59,7 @@ public class UserDO extends UuidIdentityEntityWithOperator {
    private String  saasId;
    //平台角色标识(超管,租管,机管)
    private String  roleCode;
    private String roleId;
    public UserDO(){}
@ -203,11 +203,11 @@ public class UserDO extends UuidIdentityEntityWithOperator {
        this.saasId = saasId;
    }
    public String getRoleCode() {
        return roleCode;
    public String getRoleId() {
        return roleId;
    }
    @Column(name = "role_code",nullable = false)
    public void setRoleCode(String roleCode) {
        this.roleCode = roleCode;
    @Column(name = "role_id",nullable = false)
    public void setRoleId(String roleId) {
        this.roleId = roleId;
    }
}

+ 3 - 0
common/common-request-mapping/src/main/java/com/yihu/jw/rm/base/BaseRequestMapping.java

@ -425,6 +425,9 @@ public class BaseRequestMapping {
    public static class BaseDoctorRoleInfo extends Basic {
        public static final String PREFIX  = "/baseDoctorRoleInfo";
        public static final String enableOrDis  = "/enableOrDis";
        public static final String checkRoleName  = "/checkRoleName";
        public static final String queryOne  = "/queryOne";
        public static final String moduleTree  = "/moduleTree";
    }
/**
     * 医生模块角色关联表

+ 2 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/doctor/BaseDoctorRoleInfoDao.java

@ -19,6 +19,8 @@ import org.springframework.data.repository.PagingAndSortingRepository;
 */
public interface BaseDoctorRoleInfoDao extends PagingAndSortingRepository<BaseDoctorRoleInfoDO, Integer>, JpaSpecificationExecutor<BaseDoctorRoleInfoDO>  {
    BaseDoctorRoleInfoDO findBySaasidAndName(String saasId,String name);
    boolean existsByCode(String code);
    BaseDoctorRoleInfoDO findByCode(String code);

+ 5 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/dao/doctor/BaseModuleRoleDao.java

@ -5,6 +5,7 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
import java.util.Set;
@ -22,6 +23,8 @@ import java.util.Set;
 */
public interface BaseModuleRoleDao extends PagingAndSortingRepository<BaseModuleRoleDO, Integer>, JpaSpecificationExecutor<BaseModuleRoleDO>  {
    @Query("select id from BaseModuleRoleDO where id = ?1")
    Set<Object> findModuleIdList(Integer id);
    @Query("select id from BaseModuleRoleDO where roleCode = ?1")
    Set<Object> findModuleIdList(String id);
    List<BaseModuleRoleDO> findAllByRoleCode(String roleCode);
}

+ 2 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/org/BaseOrgUserDao.java

@ -31,4 +31,6 @@ public interface BaseOrgUserDao extends PagingAndSortingRepository<BaseOrgUserDO
    @Query("select orgCode from BaseOrgUserDO where userId = ?1")
    Set<String> findorgCodeListByUserId(String userId);
    List<BaseOrgUserDO> findAllByUserId(String userId);
}

+ 2 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/doctor/BaseDoctorEndpoint.java

@ -131,7 +131,7 @@ public class BaseDoctorEndpoint extends EnvelopRestEndpoint {
     * @return
     * @throws Exception
     */
    @PostMapping(value = BaseRequestMapping.BaseDoctor.DOCINFO)
    @GetMapping(value = BaseRequestMapping.BaseDoctor.DOCINFO)
    @ApiOperation(value = "获取单个医生及其执业信息")
    public Envelop doctorHosplist(
            @ApiParam(name = "doctorId", value = "医生标识")
@ -175,7 +175,7 @@ public class BaseDoctorEndpoint extends EnvelopRestEndpoint {
     * @return
     * @throws Exception
     */
    @PostMapping(value = BaseRequestMapping.BaseDoctor.docFullInfo)
    @GetMapping(value = BaseRequestMapping.BaseDoctor.docFullInfo)
    @ApiOperation(value = "获取医生基础信息列表")
    public PageEnvelop getDoctorFullInfolist(
            @ApiParam(name = "nameOrIdcard", value = "医生姓名或医生身份证号")

+ 34 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/doctor/BaseDoctorRoleInfoEndpoint.java

@ -103,7 +103,7 @@ public class BaseDoctorRoleInfoEndpoint extends EnvelopRestEndpoint {
        return success(baseDoctorRoleInfos, BaseDoctorRoleInfoVO.class);
    }
    @GetMapping(value = BaseRequestMapping.BaseTeam.queryOne)
    @GetMapping(value = BaseRequestMapping.BaseDoctorRoleInfo.queryOne)
    @ApiOperation(value = "查询某一个角色")
    public Envelop getTeamById(
            @ApiParam(name = "roleId", value = "根据角色标识查询某一个角色信息")
@ -115,6 +115,20 @@ public class BaseDoctorRoleInfoEndpoint extends EnvelopRestEndpoint {
        return success(team.getJSONObject("msg"));
    }
    @GetMapping(value = BaseRequestMapping.BaseDoctorRoleInfo.moduleTree)
    @ApiOperation(value = "查询业务模块树形结构")
    public Envelop queryModuleTree(
            @ApiParam(name = "saasId", value = "租户id")
            @RequestParam(value = "saasId", required = true) String saasId,
            @ApiParam(name = "roleCode", value = "角色code")
            @RequestParam(value = "roleCode", required = false) String roleCode) throws Exception {
        JSONObject moduleTree = baseDoctorRoleInfoService.getModuleTreeBySaas(saasId,roleCode);
        if (moduleTree.getString("response").equalsIgnoreCase(ConstantUtils.FAIL)) {
            return failed(moduleTree.getString("msg"));
        }
        return success(moduleTree.get("msg"));
    }
    /**
     * 生效或失效某个角色
@ -138,4 +152,23 @@ public class BaseDoctorRoleInfoEndpoint extends EnvelopRestEndpoint {
        return success(jsonObject.getString("response"));
    }
    @GetMapping(value = BaseRequestMapping.BaseDoctorRoleInfo.checkRoleName)
    @ApiOperation(value = "检查角色名称是否可用(message=available代表可用,message=inavailable代表不可用)")
    public Envelop checkRoleName (
            @ApiParam(name = "saasid", value = "租户id", required = true)
            @RequestParam(value = "saasid", required = false) String saasid,
            @ApiParam(name = "name", value = "角色名称", required = true)
            @RequestParam(value = "name", required = false) String name) throws Exception {
        JSONObject jsonObject = baseDoctorRoleInfoService.existNameOfSaas(saasid, name);
        if (jsonObject.getString("response").equalsIgnoreCase(ConstantUtils.FAIL)) {
            return failed(jsonObject.getString("msg"));
        }
        if(jsonObject.getBoolean("msg")){
            return success("available");
        }else{
            return success("inavailable");
        }
    }
}

+ 2 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/org/BaseOrgEndpoint.java

@ -129,7 +129,7 @@ public class BaseOrgEndpoint extends EnvelopRestEndpoint {
    }
    @PostMapping(value = BaseRequestMapping.BaseOrg.baseInfoList)
    @GetMapping(value = BaseRequestMapping.BaseOrg.baseInfoList)
    @ApiOperation(value = "获取机构基础信息列表")
    public PageEnvelop queryBaseOrgInfolist(
            @ApiParam(name = "codeOrName", value = "机构名称或机构代码")
@ -185,7 +185,7 @@ public class BaseOrgEndpoint extends EnvelopRestEndpoint {
     * @return
     * @throws Exception
     */
    @PostMapping(value = BaseRequestMapping.BaseOrg.queryOrgCodeAndNameListBySaasId)
    @GetMapping(value = BaseRequestMapping.BaseOrg.queryOrgCodeAndNameListBySaasId)
    @ApiOperation(value = "查询机构代码和名称列表")
    public ListEnvelop queryOrgCodeAndNameList() throws Exception {
        return success(baseOrgService.findOrgListBySaasId(""));

+ 2 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/patient/BasePatientEndpoint.java

@ -71,7 +71,7 @@ public class BasePatientEndpoint extends EnvelopRestEndpoint {
        return success(msg);
    }
    @PostMapping(value = BaseRequestMapping.BasePatient.getPatientById)
    @GetMapping(value = BaseRequestMapping.BasePatient.getPatientById)
    @ApiOperation(value = "获取列表")
    public Envelop getPatientById(
            @ApiParam(name = "id", value = "居民id")
@ -111,7 +111,7 @@ public class BasePatientEndpoint extends EnvelopRestEndpoint {
        return success(basePatients, BasePatientVO.class);
    }
    @PostMapping(value = BaseRequestMapping.BasePatient.getBaseInfo)
    @GetMapping(value = BaseRequestMapping.BasePatient.getBaseInfo)
    @ApiOperation(value = "获取居民基础信息列表")
    public ListEnvelop queryPatientBaseInfo(
            @ApiParam(name = "nameOrIdcard", value = "居民姓名或身份证")

+ 1 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/team/BaseTeamEndpoint.java

@ -140,7 +140,7 @@ public class BaseTeamEndpoint extends EnvelopRestEndpoint {
        return success(team.getJSONArray("msg"));
    }
    @PostMapping(value = BaseRequestMapping.BaseTeam.teamInfoList)
    @GetMapping(value = BaseRequestMapping.BaseTeam.teamInfoList)
    @ApiOperation(value = "获取团队信息列表")
    public PageEnvelop queryBaseOrgInfolist(
            @ApiParam(name = "teamName", value = "团队名称")

+ 2 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/user/UserEndpoint.java

@ -135,7 +135,7 @@ public class UserEndpoint extends EnvelopRestEndpoint {
     * @return
     * @throws Exception
     */
    @PostMapping(value = BaseRequestMapping.User.queryOne)
    @GetMapping(value = BaseRequestMapping.User.queryOne)
    @ApiOperation(value = "获取单个用户信息")
    public Envelop doctorHosplist(
            @ApiParam(name = "id", value = "获取单个用户信息")
@ -233,6 +233,6 @@ public class UserEndpoint extends EnvelopRestEndpoint {
        if (jsonObject.getString("response").equalsIgnoreCase(ConstantUtils.FAIL)) {
            return failed(jsonObject.getString("msg"));
        }
        return success(jsonObject.getString("response"));
        return success(jsonObject.getString("msg"));
    }
}

+ 90 - 3
svr/svr-base/src/main/java/com/yihu/jw/base/service/doctor/BaseDoctorRoleInfoService.java

@ -3,12 +3,14 @@ package com.yihu.jw.base.service.doctor;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.base.contant.CommonContant;
import com.yihu.jw.base.dao.doctor.BaseDoctorRoleInfoDao;
import com.yihu.jw.base.dao.doctor.BaseModuleRoleDao;
import com.yihu.jw.base.dao.role.BaseRoleMenuDao;
import com.yihu.jw.base.dao.role.RoleDao;
import com.yihu.jw.base.dao.saas.SaasDao;
import com.yihu.jw.base.dao.user.UserDao;
import com.yihu.jw.base.service.module.SaasModuleService;
import com.yihu.jw.base.service.org.BaseOrgSaasService;
import com.yihu.jw.base.service.org.BaseOrgUserService;
import com.yihu.jw.base.service.org.OrgTree;
@ -18,10 +20,14 @@ import com.yihu.jw.base.util.ConstantUtils;
import com.yihu.jw.base.util.JavaBeanUtils;
import com.yihu.jw.entity.base.doctor.BaseDoctorRoleInfoDO;
import com.yihu.jw.entity.base.doctor.BaseModuleRoleDO;
import com.yihu.jw.entity.base.module.ModuleDO;
import com.yihu.jw.entity.base.module.SaasModuleDO;
import com.yihu.jw.entity.base.org.BaseOrgUserDO;
import com.yihu.jw.entity.base.role.RoleDO;
import com.yihu.jw.entity.base.saas.SaasDO;
import com.yihu.jw.entity.base.user.UserDO;
import com.yihu.jw.restmodel.base.module.ModuleVO;
import com.yihu.jw.restmodel.base.module.SaasModuleVO;
import com.yihu.mysql.query.BaseJpaService;
import com.yihu.utils.security.MD5;
import org.apache.commons.collections.map.HashedMap;
@ -35,7 +41,9 @@ import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.io.IOException;
import java.text.ParseException;
import java.util.*;
import java.util.stream.Collectors;
/**
 * 
@ -67,10 +75,67 @@ public class BaseDoctorRoleInfoService extends BaseJpaService<BaseDoctorRoleInfo
    @Autowired
    private BaseModuleRoleService baseModuleRoleService;
    @Autowired
    private SaasModuleService saasModuleService;
    @Value("${configDefault.saasId}")
    private String defaultSaasId;
    /**
     * 获取租户下的模块列表
     * @param saasId
     */
    public JSONObject getModuleTreeBySaas(String saasId,String roleId) throws ParseException {
        JSONObject result = new JSONObject();
        if(StringUtils.isEmpty(saasId) && StringUtils.isEmpty(roleId)){
            result.put("msg","parameter saasId and roleId are null ");
            result.put("response",ConstantUtils.FAIL);
            return result;
        }
        String filters = "status="+ ModuleDO.Status.available.getValue()+";";
        List<SaasModuleDO> modules = new ArrayList<>();
        if(!StringUtils.isEmpty(saasId) && StringUtils.isEmpty(roleId)){
            filters += "saasId="+saasId;
            modules = saasModuleService.search(null, filters, null);
        }else if(!StringUtils.isEmpty(saasId) && !StringUtils.isEmpty(roleId)){
            Set<Object> moduleIdSet = new HashSet<>();
            moduleIdSet = baseModuleRoleService.findModuleIdList(roleId);
            if(moduleIdSet.size() < 0){
                result.put("msg","no modules under this role:" + roleId);
                result.put("response",ConstantUtils.FAIL);
            }
            StringBuilder sb = new StringBuilder();
            moduleIdSet.forEach(one -> sb.append(one).append(","));
            filters += "id=" + sb.toString();
            modules = saasModuleService.search(null, filters, null);
        }
        List<SaasModuleVO> moduleVOs = convertToModels(modules,new ArrayList<>(modules.size()),SaasModuleVO.class);
        List<ModuleVO> moduleVOList = new ArrayList<>(moduleVOs.size());
        //转化为module
        moduleVOs.forEach(one->{
            ModuleVO vo = new ModuleVO();
            vo.setId(one.getModuleId());
            vo.setParentId(one.getParentModuleId());
            vo.setIsMust(one.getIsMust());
            vo.setName(one.getName());
            moduleVOList.add(vo);
        });
        List<ModuleVO> moduleVOList2 = moduleVOList;
        Map<String,List<ModuleVO>> map = moduleVOList2.stream().collect(Collectors.groupingBy(ModuleVO::getParentId));
        moduleVOList2.forEach(module->{
            List<ModuleVO> tmp = map.get(module.getId());
            module.setChildren(tmp);
        });
        moduleVOList2 = moduleVOList2.stream()
                .filter(module -> CommonContant.DEFAULT_PARENTID.equals(module.getParentId()))
                .collect(Collectors.toList());
        result.put("response",ConstantUtils.SUCCESS);
        result.put("msg",moduleVOList2);
        return result;
    }
    /**
     * 创建角色信息
     *
@ -172,7 +237,7 @@ public class BaseDoctorRoleInfoService extends BaseJpaService<BaseDoctorRoleInfo
        this.save(roleInfoDO);
        //修改角色与模块关联关系
        Set<Object> roleIdList = baseModuleRoleService.findModuleIdList(roleInfoDO.getId());
        Set<Object> roleIdList = baseModuleRoleService.findModuleIdList(roleInfoDO.getCode());
        BaseModuleRoleDO moduleRoleDO = null;
        try {
            for (Object obj : module) {
@ -218,9 +283,12 @@ public class BaseDoctorRoleInfoService extends BaseJpaService<BaseDoctorRoleInfo
            result.put("response",ConstantUtils.FAIL);
            return result;
        }
        List<BaseModuleRoleDO> moduleRoleDOList =  baseModuleRoleService.findModuleListByRoleCode(roleInfoDO.getCode());
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("role",roleInfoDO);
        jsonObject.put("module",moduleRoleDOList);
        result.put("response",ConstantUtils.SUCCESS);
        result.put("msg",roleInfoDO);
        result.put("msg",jsonObject);
        return result;
    }
@ -251,6 +319,25 @@ public class BaseDoctorRoleInfoService extends BaseJpaService<BaseDoctorRoleInfo
        return result;
    }
    /**
     * 判断某一租户下角色名称是否存在
     * @param saasId
     * @param name
     * @return
     */
    public JSONObject existNameOfSaas(String saasId,String name){
        JSONObject result = new JSONObject();
        if(StringUtils.isEmpty(saasId) || StringUtils.isEmpty(name)){
            result.put("msg","parameter saasId or name is null");
            result.put("response",ConstantUtils.FAIL);
            return result;
        }
        BaseDoctorRoleInfoDO roleInfoDO = baseDoctorRoleInfoDao.findBySaasidAndName(saasId,name);
        result.put("response",ConstantUtils.SUCCESS);
        result.put("msg",null == roleInfoDO);
        return result;
    }
}

+ 21 - 5
svr/svr-base/src/main/java/com/yihu/jw/base/service/doctor/BaseModuleRoleService.java

@ -8,7 +8,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.xml.ws.Action;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
@ -31,17 +33,31 @@ public class BaseModuleRoleService extends BaseJpaService<BaseModuleRoleDO, Base
    /**
     * 根据角色id获取角色对应的模块Id列表
     * 根据角色code获取角色对应的模块Id列表
     *
     * @param roleId
     * @param roleCode
     * @return
     */
    public Set<Object> findModuleIdList(Integer roleId) {
    public Set<Object> findModuleIdList(String roleCode) {
        Set<Object> result = new HashSet<>();
        if (null == roleId) {
        if (null == roleCode) {
            return result;
        }
        return baseModuleRoleDao.findModuleIdList(roleId);
        return baseModuleRoleDao.findModuleIdList(roleCode);
    }
    /**
     * 根据角色code获取角色对应的模块列表
     *
     * @param roleCode
     * @return
     */
    public List<BaseModuleRoleDO> findModuleListByRoleCode(String roleCode) {
        List<BaseModuleRoleDO> result = new ArrayList<>();
        if (null == roleCode) {
            return result;
        }
        return baseModuleRoleDao.findAllByRoleCode(roleCode);
    }
}

+ 6 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/org/BaseOrgUserService.java

@ -36,6 +36,12 @@ public class BaseOrgUserService extends BaseJpaService<BaseOrgUserDO, BaseOrgUse
    }
    public List<BaseOrgUserDO> findAllByUserId(String userId) {
        List<BaseOrgUserDO> result = new ArrayList<>();
        return StringUtils.isEmpty(userId) ? result : baseOrgUserDao.findAllByUserId(userId);
    }
    /**
     * 根据用户标识获取用户关联的机构Id列表
     *

+ 1 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/service/org/OrgTree.java

@ -63,7 +63,7 @@ public class OrgTree extends IntegerIdentityEntity implements TreeNode {
    @Override
    public Integer extractLevel() {
        return this.level;
        return getLevel();
    }
    @Override

+ 3 - 3
svr/svr-base/src/main/java/com/yihu/jw/base/service/org/tree/SimpleTreeNode.java

@ -20,7 +20,7 @@ public class SimpleTreeNode {
    private int orderNum;
    //节点所在的层级
    @JSONField(ordinal=5)
    private int level;
    private Integer level;
    //节点是否被选中
    @JSONField(ordinal=6)
    private boolean checked;
@ -62,10 +62,10 @@ public class SimpleTreeNode {
    public void setParentNodeId(String parentNodeId) {
        this.parentNodeId = parentNodeId;
    }
    public int getLevel() {
    public Integer getLevel() {
        return level;
    }
    public void setLevel(int level) {
    public void setLevel(Integer level) {
        this.level = level;
    }
    public SimpleTreeNode getParent() {

+ 1 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/service/saas/SaasService.java

@ -349,7 +349,7 @@ public class SaasService extends BaseJpaService<SaasDO, SaasDao> {
            }
            user.setPassword(MD5.md5Hex(password + "{" + user.getSalt() + "}"));
            user.setSaasId(saas.getId());
            user.setRoleCode(roleCode);
            user.setRoleId(roleCode);
            user = userDao.save(user);
        } else {
            userDO.setSaasId(saas.getId());

+ 25 - 19
svr/svr-base/src/main/java/com/yihu/jw/base/service/user/UserService.java

@ -162,14 +162,16 @@ public class UserService extends BaseJpaService<UserDO, UserDao> {
        Map<String, Object> userinfo = new HashedMap();
        UserDO user = userDao.findOne(id);
        RoleDO role = null;
        RoleDO role = roleDao.findByCode(user.getRoleId());
        userinfo.put("id", user.getId());
        userinfo.put("name", user.getName());
        userinfo.put("role", role.getName());
        userinfo.put("roleCode", role.getCode());
        userinfo.put("system", role.getSystem());
        if (user != null) {
            userinfo.put("id", user.getId());
            userinfo.put("name", user.getName());
            if(org.apache.commons.lang3.StringUtils.isNotBlank(user.getRoleCode())){
                role = roleDao.findOne(user.getRoleCode());
            }
        }
        //获取角色
@ -338,7 +340,6 @@ public class UserService extends BaseJpaService<UserDO, UserDao> {
                    if (roleIdList.contains(orgUserDO.getId())) {
                        roleIdList.remove(orgUserDO.getId());
                    }
                    orgUserDO.setUserId(userDO.getId());
                    baseOrgUserService.save(orgUserDO);
                }
            } catch (IOException e) {
@ -377,9 +378,13 @@ public class UserService extends BaseJpaService<UserDO, UserDao> {
            result.put("response",ConstantUtils.FAIL);
            return result;
        }
        //用户关联的机构
        List<BaseOrgUserDO>  orgList = baseOrgUserService.findAllByUserId(user.getId());
        JSONObject userInfo = new JSONObject();
        userInfo.put("user",user);
        userInfo.put("org",orgList);
        result.put("response",ConstantUtils.SUCCESS);
        result.put("msg",user);
        result.put("msg",userInfo);
        return result;
    }
@ -390,11 +395,11 @@ public class UserService extends BaseJpaService<UserDO, UserDao> {
     * @param userId
     * @return
     */
    public JSONObject generateUserOrgTree(String saasid,String userId,String roleCode) throws IOException {
    public JSONObject generateUserOrgTree(String saasid,String userId,String roleId) throws IOException {
        JSONObject result = new JSONObject();
        List<OrgTree> orgList = new ArrayList<>();
        // 有归属租户加载saas底下的所有机构树列表,角色为机构管理员时不需要选管理机构
        if(!StringUtils.isEmpty(saasid) && !StringUtils.endsWithIgnoreCase(RoleDO.BaseRoleType.admin.toString(),roleCode)){
        if(!StringUtils.isEmpty(saasid) && !StringUtils.endsWithIgnoreCase(RoleDO.BaseRoleType.admin.toString(),roleId)){
            StringBuilder sql = new StringBuilder("SELECT " +
                    "  tree.* " +
                    " FROM " +
@ -407,7 +412,8 @@ public class UserService extends BaseJpaService<UserDO, UserDao> {
                    " and  (tree.code = org.code or tree.code = org.province_code or tree.code = org.city_code or tree.code = town_code) " +
                    " ORDER BY tree.name;");
            orgList = jdbcTemplate.query(sql.toString().replace("{saasid}",saasid),new BeanPropertyRowMapper(OrgTree.class));
        } else if(!StringUtils.isEmpty(userId)){// 用户不为空表示修改,需要筛选出用户已经选择过的机构,设置checked为true
        }
        if(!StringUtils.isEmpty(userId)){// 用户不为空表示修改,需要筛选出用户已经选择过的机构,设置checked为true
            Set<String> codeSet = baseOrgUserService.findorgCodeListByUserId(userId);
            orgList.forEach( one -> {
                if(codeSet.contains(one.getCode())){
@ -500,19 +506,19 @@ public class UserService extends BaseJpaService<UserDO, UserDao> {
     * 用户信息列表
     * @param name
     * @param saasid
     * @param roleCode
     * @param roleId
     * @param page
     * @param size
     * @return
     * @throws Exception
     */
    public JSONObject userInfoList(String name,String saasid,String roleCode,int page,int size) throws Exception {
    public JSONObject userInfoList(String name,String saasid,String roleId,int page,int size) throws Exception {
        JSONObject result = new JSONObject();
        int start = 0 == page ? page++ : (page - 1) * size;
        int end = 0 == size ? 15 : page * size;
        String realName = null == name ? "" : name;
        String saasidValue = null == saasid ? "" : saasid;
        String roleCodeValue = null == roleCode ? "" : roleCode;
        String roleIdValue = null == roleId ? "" : roleId;
        String sql = "SELECT " +
                "  user.id as id, " +
@ -529,16 +535,16 @@ public class UserService extends BaseJpaService<UserDO, UserDao> {
                " WHERE " +
                "  user.saas_id = saas.id " +
                "  AND " +
                "  user.role_code = role.code " +
                "  user.role_id = role.id " +
                " and (user.name like '{realName}' or '' ='{realName}') " +
                "  and (saas.id = '{saasid}' or '' = '{saasid}') " +
                "  and ( user.role_code = '{roleCode}' or '' = '{roleCode}') " +
                "  and ( user.role_id = '{roleId}' or '' = '{roleId}') " +
                " ORDER BY user.create_time DESC" +
                "  limit {start},{end} ";
        String finalSql = sql
                .replace("{realName}","%" + realName + "%")
                .replace("{saasid}",saasidValue)
                .replace("{roleCode}",roleCodeValue)
                .replace("{roleId}",roleIdValue)
                .replace("{start}",String.valueOf(start))
                .replace("{end}",String.valueOf(end));
@ -551,14 +557,14 @@ public class UserService extends BaseJpaService<UserDO, UserDao> {
                "WHERE " +
                "  user.saas_id = saas.id " +
                "  AND " +
                "  user.role_code = role.code " +
                "  user.role_id = role.id " +
                " and (user.name like '{realName}' or '' ='{realName}') " +
                "  and (saas.id = '{saasid}' or '' = '{saasid}') " +
                "  and ( user.role_code = '{roleCode}' or '' = '{roleCode}') ";
                "  and ( user.role_id = '{roleId}' or '' = '{roleId}') ";
        String finalCountSql = countSql
                .replace("{realName}", "%" + realName + "%")
                .replace("{saasid}",  saasidValue )
                .replace("{roleCode}",  roleCodeValue );
                .replace("{roleId}",  roleIdValue );
        List<Map<String, Object>> list = jdbcTemplate.queryForList(finalSql);
        Integer count = jdbcTemplate.queryForObject(finalCountSql, Integer.class);