From 13883507228e344c870ab26da2c6b744d495b2a9 Mon Sep 17 00:00:00 2001
From: 克 刘 <4345453@qq.com>
Date: Tue, 31 Mar 2020 18:19:34 +0800
Subject: [PATCH] 扩展当前登录用户组织机构信息 1、组织机构ID、名称 2、部门ID、名称
---
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserOrgMapper.xml | 67 ++++
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/resources/application.yml | 2
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java | 97 ++++++
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysOrganizationController.java | 97 ++++++
pom.xml | 7
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java | 9
kidgrow-springcloud/kidgrow-springcloud-eureka/src/main/resources/application.yml | 6
kidgrow-config/src/main/resources/bootstrap.properties | 2
kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysOrganization.java | 62 ++++
kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/java/com/kidgrow/zuul/filter/UserInfoHeaderFilter.java | 12
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysUserOrgMapper.java | 34 ++
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysOrganizationMapper.xml | 90 ++++++
kidgrow-springcloud/kidgrow-springcloud-zuul/pom.xml | 5
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysOrganizationService.java | 42 +++
kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysUserOrg.java | 50 +++
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserOrgService.java | 33 ++
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserOrgServiceImpl.java | 48 +++
kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/SecurityConstants.java | 20 +
kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysUser.java | 2
kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/LoginAppUser.java | 5
kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/resources/application.yml | 2
kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/java/com/kidgrow/zuul/auth/Oauth2AuthSuccessHandler.java | 17 +
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysOrganizationMapper.java | 42 +++
kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/apiUrl.js | 4
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysOrganizationServiceImpl.java | 53 +++
25 files changed, 798 insertions(+), 10 deletions(-)
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysOrganizationMapper.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysOrganizationMapper.java
new file mode 100644
index 0000000..592d47a
--- /dev/null
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysOrganizationMapper.java
@@ -0,0 +1,42 @@
+package com.kidgrow.usercenter.mapper;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.kidgrow.common.model.SysOrganization;
+import com.kidgrow.db.mapper.SuperMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
+ * @Description: 组织架构表<br>
+ * @Project: 用户中心<br>
+ * @CreateDate: Created in 2020-03-31 11:01:35 <br>
+ * @Author: <a href="4345453@kidgrow.com">liuke</a>
+ * @version 1.0
+ */
+public interface SysOrganizationMapper extends SuperMapper<SysOrganization> {
+ /**
+ * 分页查询组织架构表列表
+ * @param page
+ * @param params
+ * @return
+ */
+ List<SysOrganization> findList(Page<SysOrganization> page, @Param("p") Map<String, Object> params);
+
+ /**
+ * 根据SysOrganization对象当做查询条件进行查询
+ * @param
+ * @return SysOrganization对象
+ */
+ SysOrganization findByObject(SysOrganization sysOrganization);
+
+
+ /**
+ * 根据用户ID获取用户组织机构列表
+ * @param userId
+ * @return
+ */
+ List<SysOrganization> findListByUserId(Long userId);
+}
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysUserOrgMapper.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysUserOrgMapper.java
new file mode 100644
index 0000000..19515a1
--- /dev/null
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysUserOrgMapper.java
@@ -0,0 +1,34 @@
+package com.kidgrow.usercenter.mapper;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.kidgrow.common.model.SysUserOrg;
+import com.kidgrow.db.mapper.SuperMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
+ * @Description: 用户和组织关系表<br>
+ * @Project: 用户中心<br>
+ * @CreateDate: Created in 2020-03-31 11:01:35 <br>
+ * @Author: <a href="4345453@kidgrow.com">liuke</a>
+ * @version 1.0
+ */
+public interface SysUserOrgMapper extends SuperMapper<SysUserOrg> {
+ /**
+ * 分页查询用户和组织关系表列表
+ * @param page
+ * @param params
+ * @return
+ */
+ List<SysUserOrg> findList(Page<SysUserOrg> page, @Param("p") Map<String, Object> params);
+
+ /**
+ * 根据SysUserOrg对象当做查询条件进行查询
+ * @param
+ * @return SysUserOrg对象
+ */
+ SysUserOrg findByObject(SysUserOrg sysUserOrg);
+}
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysOrganizationService.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysOrganizationService.java
new file mode 100644
index 0000000..e44a071
--- /dev/null
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysOrganizationService.java
@@ -0,0 +1,42 @@
+package com.kidgrow.usercenter.service;
+
+import com.kidgrow.common.model.PageResult;
+import com.kidgrow.common.model.SysOrganization;
+import com.kidgrow.common.service.ISuperService;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
+ * @Description: 组织架构表<br>
+ * @Project: 用户中心<br>
+ * @CreateDate: Created in 2020-03-31 11:01:35 <br>
+ * @Author: <a href="4345453@kidgrow.com">liuke</a>
+ * @version 1.0
+ */
+public interface ISysOrganizationService extends ISuperService<SysOrganization> {
+ /**
+ * 列表
+ * @param params
+ * @return
+ */
+ PageResult<SysOrganization> findList(Map<String, Object> params);
+
+
+ /**
+ * 根据SysOrganization对象当做查询条件进行查询
+ * @param sysOrganization
+ * @return SysOrganization对象
+ */
+ SysOrganization findByObject(SysOrganization sysOrganization);
+
+
+ /**
+ * 通过用户ID获取用户所属组织机构列表
+ * @param userId
+ * @return
+ */
+ List<SysOrganization> findListByUserId(Long userId);
+}
+
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserOrgService.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserOrgService.java
new file mode 100644
index 0000000..ddcbd1c
--- /dev/null
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserOrgService.java
@@ -0,0 +1,33 @@
+package com.kidgrow.usercenter.service;
+
+import com.kidgrow.common.model.PageResult;
+import com.kidgrow.common.model.SysUserOrg;
+import com.kidgrow.common.service.ISuperService;
+
+import java.util.Map;
+
+/**
+ * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
+ * @Description: 用户和组织关系表<br>
+ * @Project: 用户中心<br>
+ * @CreateDate: Created in 2020-03-31 11:01:35 <br>
+ * @Author: <a href="4345453@kidgrow.com">liuke</a>
+ * @version 1.0
+ */
+public interface ISysUserOrgService extends ISuperService<SysUserOrg> {
+ /**
+ * 列表
+ * @param params
+ * @return
+ */
+ PageResult<SysUserOrg> findList(Map<String, Object> params);
+
+
+ /**
+ * 根据SysUserOrg对象当做查询条件进行查询
+ * @param sysUserOrg
+ * @return SysUserOrg对象
+ */
+ SysUserOrg findByObject(SysUserOrg sysUserOrg);
+}
+
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysOrganizationServiceImpl.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysOrganizationServiceImpl.java
new file mode 100644
index 0000000..3fab158
--- /dev/null
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysOrganizationServiceImpl.java
@@ -0,0 +1,53 @@
+package com.kidgrow.usercenter.service.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.kidgrow.common.model.PageResult;
+import com.kidgrow.common.model.SysOrganization;
+import com.kidgrow.common.service.impl.SuperServiceImpl;
+import com.kidgrow.usercenter.mapper.SysOrganizationMapper;
+import com.kidgrow.usercenter.service.ISysOrganizationService;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.MapUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
+ * @Description: 组织架构表<br>
+ * @Project: 用户中心<br>
+ * @CreateDate: Created in 2020-03-31 11:01:35 <br>
+ * @Author: <a href="4345453@kidgrow.com">liuke</a>
+ * @version 1.0
+ */
+@Slf4j
+@Service
+public class SysOrganizationServiceImpl extends SuperServiceImpl<SysOrganizationMapper, SysOrganization> implements ISysOrganizationService {
+ /**
+ * 列表
+ * @param params
+ * @return
+ */
+ @Override
+ public PageResult<SysOrganization> findList(Map<String, Object> params){
+ Page<SysOrganization> page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit"));
+ List<SysOrganization> list = baseMapper.findList(page, params);
+ return PageResult.<SysOrganization>builder().data(list).code(0).count(page.getTotal()).build();
+ }
+
+ /**
+ * 根据SysOrganization对象当做查询条件进行查询
+ * @param sysOrganization
+ * @return SysOrganization
+ */
+ @Override
+ public SysOrganization findByObject(SysOrganization sysOrganization){
+ return baseMapper.findByObject(sysOrganization);
+ }
+
+ @Override
+ public List<SysOrganization> findListByUserId(Long userId) {
+ return baseMapper.findListByUserId(userId);
+ }
+}
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserOrgServiceImpl.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserOrgServiceImpl.java
new file mode 100644
index 0000000..2091cc4
--- /dev/null
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserOrgServiceImpl.java
@@ -0,0 +1,48 @@
+package com.kidgrow.usercenter.service.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.kidgrow.common.model.PageResult;
+import com.kidgrow.common.model.SysUserOrg;
+import com.kidgrow.common.service.impl.SuperServiceImpl;
+import com.kidgrow.usercenter.mapper.SysUserOrgMapper;
+import com.kidgrow.usercenter.service.ISysUserOrgService;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.MapUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
+ * @Description: 用户和组织关系表<br>
+ * @Project: 用户中心<br>
+ * @CreateDate: Created in 2020-03-31 11:01:35 <br>
+ * @Author: <a href="4345453@kidgrow.com">liuke</a>
+ * @version 1.0
+ */
+@Slf4j
+@Service
+public class SysUserOrgServiceImpl extends SuperServiceImpl<SysUserOrgMapper, SysUserOrg> implements ISysUserOrgService {
+ /**
+ * 列表
+ * @param params
+ * @return
+ */
+ @Override
+ public PageResult<SysUserOrg> findList(Map<String, Object> params){
+ Page<SysUserOrg> page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit"));
+ List<SysUserOrg> list = baseMapper.findList(page, params);
+ return PageResult.<SysUserOrg>builder().data(list).code(0).count(page.getTotal()).build();
+ }
+
+ /**
+ * 根据SysUserOrg对象当做查询条件进行查询
+ * @param sysUserOrg
+ * @return SysUserOrg
+ */
+ @Override
+ public SysUserOrg findByObject(SysUserOrg sysUserOrg){
+ return baseMapper.findByObject(sysUserOrg);
+ }
+}
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java
index 9df44c3..d6614aa 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java
@@ -12,6 +12,7 @@
import com.kidgrow.usercenter.mapper.SysUserMapper;
import com.kidgrow.usercenter.model.SysRoleUser;
import com.kidgrow.usercenter.model.SysUserExcel;
+import com.kidgrow.usercenter.service.ISysOrganizationService;
import com.kidgrow.usercenter.service.ISysRoleUserService;
import com.kidgrow.usercenter.service.ISysUserService;
import lombok.extern.slf4j.Slf4j;
@@ -51,6 +52,9 @@
@Resource
private SysRoleMenuMapper roleMenuMapper;
+ @Autowired
+ private ISysOrganizationService organizationService;
+
@Autowired
@@ -79,7 +83,10 @@
if (sysUser != null) {
LoginAppUser loginAppUser = new LoginAppUser();
BeanUtils.copyProperties(sysUser, loginAppUser);
-
+ //获取用户所属组织机构列表
+ List<SysOrganization> sysOrganizations = organizationService.findListByUserId(sysUser.getId());
+ //设置组织机构集合
+ loginAppUser.setOrganizations(sysOrganizations);
List<SysRole> sysRoles = roleUserService.findRolesByUserId(sysUser.getId());
// 设置角色
loginAppUser.setRoles(sysRoles);
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysOrganizationMapper.xml b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysOrganizationMapper.xml
new file mode 100644
index 0000000..993f92c
--- /dev/null
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysOrganizationMapper.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--组织架构表-->
+<mapper namespace="com.kidgrow.usercenter.mapper.SysOrganizationMapper">
+ <!--定义查询列-->
+ <sql id="Column_List">
+ *
+ </sql>
+
+ <!--sql查询片段-->
+ <sql id="where">
+ <where>
+ <!--查询条件自行添加-->
+ is_del=0
+ <if test="id != null and id !=''">
+ and id = #{id}
+ </if>
+ <if test="orgLevel != null and orgLevel !=''">
+ and org_level = #{orgLevel}
+ </if>
+ <if test="orgAttr != null and orgAttr !=''">
+ and org_attr = #{orgAttr}
+ </if>
+ <if test="orgParentId != null and orgParentId !=''">
+ and org_parent_id = #{orgParentId}
+ </if>
+ <if test="orgName != null and orgName !=''">
+ and org_name = #{orgName}
+ </if>
+ <if test="orgOrder != null and orgOrder !=''">
+ and org_order = #{orgOrder}
+ </if>
+ <if test="isDel != null and isDel !=''">
+ and is_del = #{isDel}
+ </if>
+ <if test="enabled != null and enabled !=''">
+ and enabled = #{enabled}
+ </if>
+ <if test="createUserId != null and createUserId !=''">
+ and create_user_id = #{createUserId}
+ </if>
+ <if test="createUserName != null and createUserName !=''">
+ and create_user_name = #{createUserName}
+ </if>
+ <if test="updateUserId != null and updateUserId !=''">
+ and update_user_id = #{updateUserId}
+ </if>
+ <if test="updateUserName != null and updateUserName !=''">
+ and update_user_name = #{updateUserName}
+ </if>
+ <if test="createTime != null and createTime !=''">
+ and create_time = #{createTime}
+ </if>
+ <if test="updateTime != null and updateTime !=''">
+ and update_time = #{updateTime}
+ </if>
+ </where>
+ </sql>
+
+ <!--定义根据-SysOrganization当作查询条件返回对象-->
+ <select id="findByObject" resultType="com.kidgrow.common.model.SysOrganization">
+ select
+ <include refid="Column_List"/>
+ from sys_organization
+ <include refid="where"/>
+ </select>
+
+ <!--定义根据-SysOrganization当作查询条件返回对象集合-->
+ <select id="findList" resultType="com.kidgrow.common.model.SysOrganization">
+ select
+ <include refid="Column_List"/>
+ from sys_organization
+ <include refid="where"/>
+ order by id desc
+ </select>
+
+ <!--根据用户ID查询用户所属组织机构列表-->
+ <select id="findListByUserId" resultType="com.kidgrow.common.model.SysOrganization">
+ SELECT
+ org.id,
+ org.org_parent_id,
+ org.org_name ,
+ org.org_attr,
+ org.org_level
+ FROM sys_user_org uo
+ LEFT JOIN sys_organization org ON uo.org_id = org.id
+ AND (uo.enabled = TRUE AND uo.is_del = FALSE) AND (org.is_del = FALSE AND org.enabled = TRUE)
+ where uo.user_id=#{userId}
+ </select>
+</mapper>
\ No newline at end of file
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserOrgMapper.xml b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserOrgMapper.xml
new file mode 100644
index 0000000..4c3650d
--- /dev/null
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserOrgMapper.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--用户和组织关系表-->
+<mapper namespace="com.kidgrow.usercenter.mapper.SysUserOrgMapper">
+ <!--定义查询列-->
+ <sql id="Column_List">
+ *
+ </sql>
+
+ <!--sql查询片段-->
+ <sql id="where">
+ <where>
+ <!--查询条件自行添加-->
+ is_del=0
+ <if test="id != null and id !=''">
+ and id = #{id}
+ </if>
+ <if test="userId != null and userId !=''">
+ and user_id = #{userId}
+ </if>
+ <if test="orgId != null and orgId !=''">
+ and org_id = #{orgId}
+ </if>
+ <if test="enabled != null and enabled !=''">
+ and enabled = #{enabled}
+ </if>
+ <if test="isDel != null and isDel !=''">
+ and is_del = #{isDel}
+ </if>
+ <if test="createUserId != null and createUserId !=''">
+ and create_user_id = #{createUserId}
+ </if>
+ <if test="createUserName != null and createUserName !=''">
+ and create_user_name = #{createUserName}
+ </if>
+ <if test="updateUserId != null and updateUserId !=''">
+ and update_user_id = #{updateUserId}
+ </if>
+ <if test="updateUserName != null and updateUserName !=''">
+ and update_user_name = #{updateUserName}
+ </if>
+ <if test="createTime != null and createTime !=''">
+ and create_time = #{createTime}
+ </if>
+ <if test="updateTime != null and updateTime !=''">
+ and update_time = #{updateTime}
+ </if>
+ </where>
+ </sql>
+
+ <!--定义根据-SysUserOrg当作查询条件返回对象-->
+ <select id="findByObject" resultType="com.kidgrow.common.model.SysUserOrg">
+ select
+ <include refid="Column_List"/>
+ from sys_user_org
+ <include refid="where"/>
+ </select>
+
+ <!--定义根据-SysUserOrg当作查询条件返回对象集合-->
+ <select id="findList" resultType="com.kidgrow.common.model.SysUserOrg">
+ select
+ <include refid="Column_List"/>
+ from sys_user_org
+ <include refid="where"/>
+ order by id desc
+ </select>
+</mapper>
\ No newline at end of file
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysOrganizationController.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysOrganizationController.java
new file mode 100644
index 0000000..a63e640
--- /dev/null
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysOrganizationController.java
@@ -0,0 +1,97 @@
+package com.kidgrow.usercenter.controller;
+
+import com.kidgrow.common.controller.BaseController;
+import com.kidgrow.common.model.PageResult;
+import com.kidgrow.common.model.ResultBody;
+import com.kidgrow.common.model.SysOrganization;
+import com.kidgrow.usercenter.service.ISysOrganizationService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import java.util.Map;
+
+
+/**
+ * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
+ * @Description: 组织架构表
+ * @Project: 用户中心
+ * @CreateDate: Created in 2020-03-31 11:01:35 <br>
+ * @Author: <a href="4345453@kidgrow.com">liuke</a>
+ * @version: 1.0
+ */
+@Slf4j
+@RestController
+@RequestMapping("/sysorganization")
+@Api(tags = "组织架构表")
+public class SysOrganizationController extends BaseController{
+ @Autowired
+ private ISysOrganizationService sysOrganizationService;
+
+ /**
+ * 列表
+ */
+ @ApiOperation(value = "查询列表")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "page", value = "分页起始位置", required = true, dataType = "Integer"),
+ @ApiImplicitParam(name = "limit", value = "分页结束位置", required = true, dataType = "Integer")
+ })
+ @GetMapping
+ public PageResult list(@RequestParam Map<String, Object> params) {
+ if(params.size()==0){
+ params.put("page",1);
+ params.put("limit",10);
+ }
+ return sysOrganizationService.findList(params);
+ }
+
+ /**
+ * 查询
+ */
+ @ApiOperation(value = "查询")
+ @GetMapping("/{id}")
+ public ResultBody findById(@PathVariable Long id) {
+ SysOrganization model = sysOrganizationService.getById(id);
+ return ResultBody.ok().data(model).msg("查询成功");
+ }
+
+ /**
+ * 根据SysOrganization当做查询条件进行查询
+ */
+ @ApiOperation(value = "根据SysOrganization当做查询条件进行查询")
+ @PostMapping("/query")
+ public ResultBody findByObject(@RequestBody SysOrganization sysOrganization) {
+ SysOrganization model = sysOrganizationService.findByObject(sysOrganization);
+ return ResultBody.ok().data(model).msg("查询成功");
+ }
+
+ /**
+ * 新增or更新
+ */
+ @ApiOperation(value = "保存")
+ @PostMapping
+ public ResultBody save(@Valid @RequestBody SysOrganization sysOrganization, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ return ResultBody.failed().msg(bindingResult.getFieldError().getDefaultMessage());
+ } else {
+ sysOrganizationService.saveOrUpdate(sysOrganization);
+ return ResultBody.ok().data(sysOrganization).msg("保存成功");
+ }
+ }
+
+ /**
+ * 删除
+ */
+ @ApiOperation(value = "删除")
+ @DeleteMapping("/{id}")
+ public ResultBody delete(@PathVariable Long id) {
+ sysOrganizationService.removeById(id);
+ return ResultBody.ok().msg("删除成功");
+ }
+}
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java
new file mode 100644
index 0000000..fb9520f
--- /dev/null
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java
@@ -0,0 +1,97 @@
+package com.kidgrow.usercenter.controller;
+
+import com.kidgrow.common.controller.BaseController;
+import com.kidgrow.common.model.PageResult;
+import com.kidgrow.common.model.ResultBody;
+import com.kidgrow.common.model.SysUserOrg;
+import com.kidgrow.usercenter.service.ISysUserOrgService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import java.util.Map;
+
+
+/**
+ * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
+ * @Description: 用户和组织关系表
+ * @Project: 用户中心
+ * @CreateDate: Created in 2020-03-31 11:01:35 <br>
+ * @Author: <a href="4345453@kidgrow.com">liuke</a>
+ * @version: 1.0
+ */
+@Slf4j
+@RestController
+@RequestMapping("/sysuserorg")
+@Api(tags = "用户和组织关系表")
+public class SysUserOrgController extends BaseController{
+ @Autowired
+ private ISysUserOrgService sysUserOrgService;
+
+ /**
+ * 列表
+ */
+ @ApiOperation(value = "查询列表")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "page", value = "分页起始位置", required = true, dataType = "Integer"),
+ @ApiImplicitParam(name = "limit", value = "分页结束位置", required = true, dataType = "Integer")
+ })
+ @GetMapping
+ public PageResult list(@RequestParam Map<String, Object> params) {
+ if(params.size()==0){
+ params.put("page",1);
+ params.put("limit",10);
+ }
+ return sysUserOrgService.findList(params);
+ }
+
+ /**
+ * 查询
+ */
+ @ApiOperation(value = "查询")
+ @GetMapping("/{id}")
+ public ResultBody findById(@PathVariable Long id) {
+ SysUserOrg model = sysUserOrgService.getById(id);
+ return ResultBody.ok().data(model).msg("查询成功");
+ }
+
+ /**
+ * 根据SysUserOrg当做查询条件进行查询
+ */
+ @ApiOperation(value = "根据SysUserOrg当做查询条件进行查询")
+ @PostMapping("/query")
+ public ResultBody findByObject(@RequestBody SysUserOrg sysUserOrg) {
+ SysUserOrg model = sysUserOrgService.findByObject(sysUserOrg);
+ return ResultBody.ok().data(model).msg("查询成功");
+ }
+
+ /**
+ * 新增or更新
+ */
+ @ApiOperation(value = "保存")
+ @PostMapping
+ public ResultBody save(@Valid @RequestBody SysUserOrg sysUserOrg, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ return ResultBody.failed().msg(bindingResult.getFieldError().getDefaultMessage());
+ } else {
+ sysUserOrgService.saveOrUpdate(sysUserOrg);
+ return ResultBody.ok().data(sysUserOrg).msg("保存成功");
+ }
+ }
+
+ /**
+ * 删除
+ */
+ @ApiOperation(value = "删除")
+ @DeleteMapping("/{id}")
+ public ResultBody delete(@PathVariable Long id) {
+ sysUserOrgService.removeById(id);
+ return ResultBody.ok().msg("删除成功");
+ }
+}
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/resources/application.yml b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/resources/application.yml
index e5ac20f..2837660 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/resources/application.yml
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/resources/application.yml
@@ -63,6 +63,8 @@
- sys_role
- sys_menu
- sys_user_logs
+ - sys_organization
+ - sys_user_org
ignoreSqls:
- com.kidgrow.usercenter.mapper.SysRoleMapper.findAll
diff --git a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/SecurityConstants.java b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/SecurityConstants.java
index e233512..18e47d2 100644
--- a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/SecurityConstants.java
+++ b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/SecurityConstants.java
@@ -25,6 +25,26 @@
String USER_ID_HEADER = "x-userid-header";
/**
+ * 用户所属组织ID
+ */
+ String USER_ORG_ID_HEADER="x-user-org-id-header";
+
+ /**
+ * 用户所属组织名称
+ */
+ String USER_ORG_NAME_HEADER="x-user-org-name-header";
+
+ /**
+ * 用户所属部门ID
+ */
+ String USER_DEP_ID_HEADER="x-user-dep-id-header";
+
+ /**
+ * 用户所属部门名称
+ */
+ String USER_DEP_NAME_HEADER="x-user-dep-name-header";
+
+ /**
* 角色信息头
*/
String ROLE_HEADER = "x-role-header";
diff --git a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/LoginAppUser.java b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/LoginAppUser.java
index a08aa89..8326d16 100644
--- a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/LoginAppUser.java
+++ b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/LoginAppUser.java
@@ -64,5 +64,10 @@
public String getUserId() {
return getOpenId();
}
+
+// @Override
+// public List<SysOrganization> getOrganizations() {
+// return getOrganizations();
+// }
}
diff --git a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysOrganization.java b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysOrganization.java
new file mode 100644
index 0000000..7c300f1
--- /dev/null
+++ b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysOrganization.java
@@ -0,0 +1,62 @@
+package com.kidgrow.common.model;
+
+import com.kidgrow.common.model.SuperModel;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import org.hibernate.validator.constraints.*;
+import java.util.Date;
+
+/**
+ * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
+ * @Description: 组织架构表<br>
+ * @Project: 用户中心<br>
+ * @CreateDate: Created in 2020-03-31 11:01:35 <br>
+ * @Author: <a href="4345453@kidgrow.com">liuke</a>
+ * @version 1.0
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@NoArgsConstructor
+@AllArgsConstructor
+@TableName("sys_organization")
+public class SysOrganization extends SuperModel {
+ private static final long serialVersionUID=1L;
+
+ /**
+ * 节点级别取值 0-9
+ */
+ @NotBlank(message = "节点级别取值 0-9不能为空")
+ private Integer orgLevel;
+ /**
+ * 节点属性(集团/公司/部门等,取值0,1,2,3,4)
+ */
+ private Integer orgAttr;
+ /**
+ * 上级组织ID
+ */
+ private Long orgParentId;
+ /**
+ * 组织名称
+ */
+ @NotBlank(message = "组织名称不能为空")
+ private String orgName;
+ /**
+ * 排序
+ */
+ private Integer orgOrder;
+ /**
+ * 是否删除,1删除,0未删除
+ */
+ private Boolean isDel;
+ /**
+ * 状态,1启用,0停用
+ */
+ private Boolean enabled;
+ }
diff --git a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysUser.java b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysUser.java
index f10954c..a546068 100644
--- a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysUser.java
+++ b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysUser.java
@@ -43,4 +43,6 @@
private String oldPassword;
@TableField(exist = false)
private String newPassword;
+ @TableField(exist = false)
+ private List<SysOrganization> organizations;
}
diff --git a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysUserOrg.java b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysUserOrg.java
new file mode 100644
index 0000000..ecff84f
--- /dev/null
+++ b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysUserOrg.java
@@ -0,0 +1,50 @@
+package com.kidgrow.common.model;
+
+import com.kidgrow.common.model.SuperModel;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import org.hibernate.validator.constraints.*;
+import java.util.Date;
+
+/**
+ * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
+ * @Description: 用户和组织关系表<br>
+ * @Project: 用户中心<br>
+ * @CreateDate: Created in 2020-03-31 11:01:35 <br>
+ * @Author: <a href="4345453@kidgrow.com">liuke</a>
+ * @version 1.0
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@NoArgsConstructor
+@AllArgsConstructor
+@TableName("sys_user_org")
+public class SysUserOrg extends SuperModel {
+ private static final long serialVersionUID=1L;
+
+ /**
+ * 用户id
+ */
+ @NotBlank(message = "用户id不能为空")
+ private Long userId;
+ /**
+ * 组织ID
+ */
+ @NotBlank(message = "组织ID不能为空")
+ private Long orgId;
+ /**
+ * 状态,1启用,0停用
+ */
+ private Boolean enabled;
+ /**
+ * 是否删除,1删除,0未删除
+ */
+ private Boolean isDel;
+ }
diff --git a/kidgrow-config/src/main/resources/bootstrap.properties b/kidgrow-config/src/main/resources/bootstrap.properties
index 971d7b5..9eed521 100644
--- a/kidgrow-config/src/main/resources/bootstrap.properties
+++ b/kidgrow-config/src/main/resources/bootstrap.properties
@@ -1,6 +1,6 @@
########################## bootstrap\u7EA7\u522B\u901A\u7528\u914D\u7F6E ##########################
# \u9ED8\u8BA4\u5F00\u53D1\u73AF\u5883
-spring.profiles.active=fat
+spring.profiles.active=dev
##### spring-boot-actuator\u914D\u7F6E
management.endpoints.web.exposure.include=*
diff --git a/kidgrow-springcloud/kidgrow-springcloud-eureka/src/main/resources/application.yml b/kidgrow-springcloud/kidgrow-springcloud-eureka/src/main/resources/application.yml
index 1e490c2..e77679f 100644
--- a/kidgrow-springcloud/kidgrow-springcloud-eureka/src/main/resources/application.yml
+++ b/kidgrow-springcloud/kidgrow-springcloud-eureka/src/main/resources/application.yml
@@ -14,7 +14,8 @@
eureka:
instance:
###注册中心ip地址
- hostname: 172.17.97.143
+# hostname: 172.17.97.143
+ hostname: 127.0.0.1
lease-renewal-interval-in-seconds: 30
lease-expiration-duration-in-seconds: 30
instance-id: ${spring.cloud.client.ip-address}:${spring.application.name}:${server.port}
@@ -24,7 +25,8 @@
##注册地址
#defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@${eureka.instance.hostname}:9002/eureka/,http://${spring.security.user.name}:${spring.security.user.password}@${eureka.instance.hostname}:9003/eureka/
#defaultZone: http://${eureka.instance.hostname}:9002/eureka/,http://${eureka.instance.hostname}:9003/eureka/
- defaultZone: http://172.17.97.143:9001/eureka/,http://192.168.1.202:9001/eureka/
+# defaultZone: http://172.17.97.143:9001/eureka/,http://192.168.2.240:9001/eureka/
+ defaultZone: http://127.0.0.1:9001/eureka/
####因为自己是注册中心,是否需要将自己注册给自己的注册中心(集群的时候是需要是为true)
register-with-eureka: false
###因为自己是注册中心, 不需要去检索服务信息
diff --git a/kidgrow-springcloud/kidgrow-springcloud-zuul/pom.xml b/kidgrow-springcloud/kidgrow-springcloud-zuul/pom.xml
index 6fe01d8..6092725 100644
--- a/kidgrow-springcloud/kidgrow-springcloud-zuul/pom.xml
+++ b/kidgrow-springcloud/kidgrow-springcloud-zuul/pom.xml
@@ -56,6 +56,11 @@
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
+ <!--网关限流模块-->
+ <dependency>
+ <groupId>com.marcosbarbero.cloud</groupId>
+ <artifactId>spring-cloud-zuul-ratelimit</artifactId>
+ </dependency>
<!--web 模块-->
<dependency>
<groupId>org.springframework.boot</groupId>
diff --git a/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/java/com/kidgrow/zuul/auth/Oauth2AuthSuccessHandler.java b/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/java/com/kidgrow/zuul/auth/Oauth2AuthSuccessHandler.java
index 8bb30f4..a7a8bd7 100644
--- a/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/java/com/kidgrow/zuul/auth/Oauth2AuthSuccessHandler.java
+++ b/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/java/com/kidgrow/zuul/auth/Oauth2AuthSuccessHandler.java
@@ -2,6 +2,7 @@
import cn.hutool.core.collection.CollectionUtil;
import com.kidgrow.common.constant.SecurityConstants;
+import com.kidgrow.common.model.SysOrganization;
import com.kidgrow.common.model.SysUser;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.security.core.Authentication;
@@ -12,6 +13,8 @@
import org.springframework.util.MultiValueMap;
import org.springframework.web.server.ServerWebExchange;
import reactor.core.publisher.Mono;
+
+import java.util.List;
/**
* 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
@@ -26,19 +29,29 @@
public Mono<Void> onAuthenticationSuccess(WebFilterExchange webFilterExchange, Authentication authentication) {
MultiValueMap<String, String> headerValues = new LinkedMultiValueMap(4);
Object principal = authentication.getPrincipal();
+ String tenantId="";
//客户端模式只返回一个clientId
if (principal instanceof SysUser) {
SysUser user = (SysUser)authentication.getPrincipal();
headerValues.add(SecurityConstants.USER_ID_HEADER, String.valueOf(user.getId()));
headerValues.add(SecurityConstants.USER_HEADER, user.getUsername());
+
+ List<SysOrganization> organizations = (List<SysOrganization>)user.getOrganizations();
+ //如果有组织架构
+ if(organizations.size()==2){
+ headerValues.add(SecurityConstants.USER_ORG_ID_HEADER,String.valueOf(organizations.get(0).getId()));
+ headerValues.add(SecurityConstants.USER_ORG_NAME_HEADER,organizations.get(0).getOrgName());
+ headerValues.add(SecurityConstants.USER_DEP_ID_HEADER,String.valueOf(organizations.get(1).getId()));
+ headerValues.add(SecurityConstants.USER_DEP_NAME_HEADER,organizations.get(1).getOrgName());
+ tenantId=String.valueOf(organizations.get(0).getId());
+ }
}
OAuth2Authentication oauth2Authentication = (OAuth2Authentication)authentication;
String clientId = oauth2Authentication.getOAuth2Request().getClientId();
- String tenantId="";
//保存租户id,租户id根据业务尽进行替换
switch (clientId){
case "hospital":
- tenantId="1";
+ tenantId=tenantId;
break;
case "webApp":
tenantId="webApp";
diff --git a/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/java/com/kidgrow/zuul/filter/UserInfoHeaderFilter.java b/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/java/com/kidgrow/zuul/filter/UserInfoHeaderFilter.java
index 4563b65..dade34c 100644
--- a/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/java/com/kidgrow/zuul/filter/UserInfoHeaderFilter.java
+++ b/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/java/com/kidgrow/zuul/filter/UserInfoHeaderFilter.java
@@ -3,6 +3,7 @@
import cn.hutool.core.collection.CollectionUtil;
import com.kidgrow.common.constant.CommonConstant;
import com.kidgrow.common.constant.SecurityConstants;
+import com.kidgrow.common.model.SysOrganization;
import com.kidgrow.common.model.SysUser;
import com.kidgrow.common.utils.AddrUtil;
import com.netflix.zuul.ZuulFilter;
@@ -17,6 +18,7 @@
import org.springframework.stereotype.Component;
import javax.servlet.http.HttpServletRequest;
+import java.util.List;
import static org.springframework.cloud.netflix.zuul.filters.support.FilterConstants.FORM_BODY_WRAPPER_FILTER_ORDER;
@@ -60,7 +62,15 @@
SysUser user = (SysUser)authentication.getPrincipal();
ctx.addZuulRequestHeader(SecurityConstants.USER_ID_HEADER, String.valueOf(user.getId()));
ctx.addZuulRequestHeader(SecurityConstants.USER_HEADER, user.getUsername());
- tenantId=String.valueOf(user.getId());
+ List<SysOrganization> organizations = (List<SysOrganization>)user.getOrganizations();
+ //如果有组织架构
+ if(organizations.size()==2){
+ ctx.addZuulRequestHeader(SecurityConstants.USER_ORG_ID_HEADER,String.valueOf(organizations.get(0).getId()));
+ ctx.addZuulRequestHeader(SecurityConstants.USER_ORG_NAME_HEADER,organizations.get(0).getOrgName());
+ ctx.addZuulRequestHeader(SecurityConstants.USER_DEP_ID_HEADER,String.valueOf(organizations.get(1).getId()));
+ ctx.addZuulRequestHeader(SecurityConstants.USER_DEP_NAME_HEADER,organizations.get(1).getOrgName());
+ tenantId=String.valueOf(organizations.get(0).getId());
+ }
// log.error("用户ID写入Header成功,用户ID为:"+String.valueOf(user.getId()));
}
diff --git a/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/resources/application.yml b/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/resources/application.yml
index dc61444..e8aea62 100644
--- a/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/resources/application.yml
+++ b/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/resources/application.yml
@@ -6,7 +6,7 @@
uri-encoding: UTF-8
max-threads: 1000
min-spare-threads: 30
- port: 8887
+ port: 8888
eureka:
diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/apiUrl.js b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/apiUrl.js
index f28f115..953b73e 100644
--- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/apiUrl.js
+++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/apiUrl.js
@@ -1,4 +1,4 @@
-var my_api_server_url = 'http://zuul.kidgrow.com/';
+// var my_api_server_url = 'http://zuul.kidgrow.com/';
// var my_api_server_url = 'http://192.168.2.240:8888/';
-// var my_api_server_url = 'http://127.0.0.1:8888/';
+var my_api_server_url = 'http://127.0.0.1:8888/';
diff --git a/pom.xml b/pom.xml
index 1c6858c..c38616f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -85,6 +85,7 @@
<javax.activatio.version>1.1.1</javax.activatio.version>
<jaxb-runtime.version>2.3.0</jaxb-runtime.version>
<jaxb-impl.version>2.3.0</jaxb-impl.version>
+ <zuul-ratelimit.version>2.0.4.RELEASE</zuul-ratelimit.version>
<sonar.exclusions>kidgrow-jobs/**/* kidgrow-web/**/*</sonar.exclusions>
<docker.baseImage>openjdk:8-jre-alpine</docker.baseImage>
<docker.volumes>/tmp</docker.volumes>
@@ -350,6 +351,12 @@
<artifactId>mybatis-plus</artifactId>
<version>${mybatis-plus-boot-starter.version}</version>
</dependency>
+ <!--网关限流插件-->
+ <dependency>
+ <groupId>com.marcosbarbero.cloud</groupId>
+ <artifactId>spring-cloud-zuul-ratelimit</artifactId>
+ <version>${zuul-ratelimit.version}</version>
+ </dependency>
<dependency>
<groupId>p6spy</groupId>
<artifactId>p6spy</artifactId>
--
Gitblit v1.8.0