学校可以看到所有,学院只能看到本学院的

147 阅读1分钟
    /**
     * 学校可以看到所有,学院只能看到本学院的
     * getDepart
     */
    @AutoLog(value = "学校可以看到所有,学院只能看到本学院的")
    @ApiOperation(value=" 学校可以看到所有,学院只能看到本学院的", notes="学校可以看到所有,学院只能看到本学院的")
    @GetMapping(value = "/getDepart")
    /* @RequiresPermissions("stStudent:getDepart")*/
    public Result<?> getDepart() {
        Result result=new Result();
        List<DepartVo> departs=null;
               //拿到当前人
            LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
            //拿到当前人的角色
            List<String> roles= iSysBaseAPI.getRolesByUsername(sysUser.getUsername());
            //确当前人 是 学校 还是学院
            if(roles.contains("leader")){
                //如果是学校
                departs = stStudentService.getDepart();
            }else {
                //如果是学院
                //查询老师是哪个学校getProvinces
            departs = stStudentService.getDepart(sysUser.getOrgCode());
        }
        result.setResult(departs);
        return result;
    }

拿到当前人的角色

	/**
	 * 通过用户账号查询角色集合
	 * @param username
	 * @return
	 */
	public List<String> getRolesByUsername(String username);
	@Override
	public List<String> getRolesByUsername(String username) {
		return sysUserRoleMapper.getRoleByUserName(username);
	}
	@Select("select role_code from sys_role where id in (select role_id from sys_user_role where user_id = (select id from sys_user where username=#{username}))")
	List<String> getRoleByUserName(@Param("username") String username);

//如果是学校

 List<DepartVo> getDepart();
    @Override
    public List<DepartVo> getDepart() {
        List<DepartVo> departs= stStudentMapper.getDepart();
        return departs;
    }
 List<DepartVo> getDepart();
    <select id="getDepart" resultType="org.jeecg.modules.demo.st.vo.DepartVo">
        SELECT
	        depart_name,
	        id
        FROM
	        sys_depart
        WHERE
	        parent_id = 'e3f24105170b45ef863e92c864dcb027'
    </select>

//如果是学院 查询老师是哪个学院getProvinces

 List<DepartVo> getDepart(String orgCode);

    @Override
    public List<DepartVo> getDepart(String orgCode) {
        List<DepartVo> departs= stStudentMapper.getDepartByOrgCode(orgCode);
        return departs;
    }
 List<DepartVo> getDepartByOrgCode(@Param("orgCode") String orgCode);
    <select id="getDepartByOrgCode" resultType="org.jeecg.modules.demo.st.vo.DepartVo">
          SELECT
	        depart_name,
	        id
        FROM
	        sys_depart
        WHERE
	        org_code = #{orgCode}
    </select>