From 8d384b6f5e510fd23f30061b0678abceb624c2a3 Mon Sep 17 00:00:00 2001
From: zhaoxiaohao <913652501@qq.com>
Date: Fri, 24 Apr 2020 11:39:25 +0800
Subject: [PATCH] 添加数据权限的功能

---
 kidgrow-commons/kidgrow-db-spring-boot-starter/src/main/java/com/kidgrow/db/config/DateMetaObjectHandler.java |   26 +++++++++++++++++++-------
 1 files changed, 19 insertions(+), 7 deletions(-)

diff --git a/kidgrow-commons/kidgrow-db-spring-boot-starter/src/main/java/com/kidgrow/db/config/DateMetaObjectHandler.java b/kidgrow-commons/kidgrow-db-spring-boot-starter/src/main/java/com/kidgrow/db/config/DateMetaObjectHandler.java
index 9f50db7..6fe6978 100644
--- a/kidgrow-commons/kidgrow-db-spring-boot-starter/src/main/java/com/kidgrow/db/config/DateMetaObjectHandler.java
+++ b/kidgrow-commons/kidgrow-db-spring-boot-starter/src/main/java/com/kidgrow/db/config/DateMetaObjectHandler.java
@@ -1,12 +1,15 @@
 package com.kidgrow.db.config;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
 import com.kidgrow.common.constant.SecurityConstants;
+import com.kidgrow.common.model.SysOrganization;
 import org.apache.ibatis.reflection.MetaObject;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.Date;
+import java.util.List;
 
 /**
  * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
@@ -23,10 +26,11 @@
 
     private final static String UPDATE_TIME = "updateTime";
     private final static String CREATE_TIME = "createTime";
-    private final static String CREATE_USER_ID="createUserId";
-    private final static String UPDATE_USER_ID="updateUserId";
-    private final static String CREATE_USER_NAME="createUserName";
-    private final static String UPDATE_USER_NAME="updateUserName";
+    private final static String CREATE_USER_ID = "createUserId";
+    private final static String UPDATE_USER_ID = "updateUserId";
+    private final static String CREATE_USER_NAME = "createUserName";
+    private final static String UPDATE_USER_NAME = "updateUserName";
+    private final static String CREATE_USER_ORG_CODE = "createUserOrgCode";
 
     /**
      * 插入填充,字段为空自动填充
@@ -39,20 +43,28 @@
         Object updateUserId = getFieldValByName(UPDATE_USER_ID, metaObject);
         Object createUserName = getFieldValByName(CREATE_USER_NAME, metaObject);
         Object updateUserName = getFieldValByName(UPDATE_USER_NAME, metaObject);
-        if (createTime == null || updateTime == null || createUserId==null || updateUserId==null || createUserName==null || updateUserName==null) {
+        Object createUserOrgCode = getFieldValByName(CREATE_USER_ORG_CODE, metaObject);
+        if (createTime == null || updateTime == null || createUserId == null || updateUserId == null || createUserName == null || updateUserName == null || createUserOrgCode == null) {
             Date date = new Date();
             if (createTime == null) {
                 setFieldValByName(CREATE_TIME, date, metaObject);
             }
 
-            if(request.getHeader(SecurityConstants.USER_ID_HEADER)!=null) {
+            if (request.getHeader(SecurityConstants.USER_ID_HEADER) != null) {
                 setFieldValByName(CREATE_USER_ID, Long.valueOf(request.getHeader(SecurityConstants.USER_ID_HEADER).toString()), metaObject);
             }
             if (createUserName == null) {
-                if(request.getHeader(SecurityConstants.USER_HEADER)!=null) {
+                if (request.getHeader(SecurityConstants.USER_HEADER) != null) {
                     setFieldValByName(CREATE_USER_NAME, request.getHeader(SecurityConstants.USER_HEADER), metaObject);
                 }
             }
+            if (createUserOrgCode == null) {
+                if (request.getHeader(SecurityConstants.USER_ORGS_HEADER) != null) {
+                    //获取orgLevel等级高的
+                    List<SysOrganization> sysOrganizations = JSON.parseArray(request.getHeader(SecurityConstants.USER_ORGS_HEADER), SysOrganization.class);
+                    setFieldValByName(CREATE_USER_ORG_CODE,sysOrganizations.get(sysOrganizations.size()-1).getOrgCode() , metaObject);
+                }
+            }
 
         }
     }

--
Gitblit v1.8.0