diff --git a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/pom.xml b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/pom.xml
index 93638b713..c9ff432e1 100644
--- a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/pom.xml
+++ b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/pom.xml
@@ -36,6 +36,11 @@
org.springframework.boot
spring-boot-starter
+
+ org.hswebframework.web
+ hsweb-system-organizational-entity
+ ${project.version}
+
diff --git a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/DefaultPersonnelAuthorizationSupplier.java b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/DefaultPersonnelAuthorizationSupplier.java
index c8e9e1f7f..3bcf559fa 100644
--- a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/DefaultPersonnelAuthorizationSupplier.java
+++ b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/DefaultPersonnelAuthorizationSupplier.java
@@ -2,8 +2,7 @@ package org.hswebframework.web.organizational.authorization;
import org.hswebframework.web.ThreadLocalUtils;
import org.hswebframework.web.authorization.Authentication;
-import org.hswebframework.web.authorization.AuthenticationSupplier;
-import org.hswebframework.web.organizational.authorization.entity.PersonAttachEntity;
+import org.hswebframework.web.entity.organizational.authorization.PersonAttachEntity;
import java.util.Objects;
diff --git a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/access/DataAccessType.java b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/access/DataAccessType.java
index bba27c446..d01bc0109 100644
--- a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/access/DataAccessType.java
+++ b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/access/DataAccessType.java
@@ -30,7 +30,7 @@ public interface DataAccessType extends Serializable {
*/
String PERSON_SCOPE = "PERSON_SCOPE";
/**
- * 只能查看自己
+ * 仅限本人
*/
String SCOPE_TYPE_ONLY_SELF = "ONLY_SELF";
/**
diff --git a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/simple/handler/AbstractScopeDataAccessHandler.java b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/simple/handler/AbstractScopeDataAccessHandler.java
index 4c4a1b331..9b0f5844c 100644
--- a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/simple/handler/AbstractScopeDataAccessHandler.java
+++ b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/simple/handler/AbstractScopeDataAccessHandler.java
@@ -1,20 +1,22 @@
package org.hswebframework.web.organizational.authorization.simple.handler;
import org.hsweb.ezorm.core.param.Term;
+import org.hswebframework.utils.ClassUtils;
import org.hswebframework.web.authorization.Permission;
import org.hswebframework.web.authorization.access.DataAccessConfig;
import org.hswebframework.web.authorization.access.DataAccessHandler;
import org.hswebframework.web.authorization.access.ScopeDataAccessConfig;
import org.hswebframework.web.authorization.annotation.RequiresDataAccess;
+import org.hswebframework.web.boost.aop.context.MethodInterceptorHolder;
import org.hswebframework.web.boost.aop.context.MethodInterceptorParamContext;
import org.hswebframework.web.commons.entity.Entity;
import org.hswebframework.web.commons.entity.param.QueryParamEntity;
import org.hswebframework.web.controller.QueryController;
+import org.hswebframework.web.entity.organizational.OrganizationalEntity;
+import org.hswebframework.web.entity.organizational.authorization.OrgAttachEntity;
import org.hswebframework.web.organizational.authorization.PersonnelAuthorization;
import org.hswebframework.web.organizational.authorization.access.DataAccessType;
-import org.hswebframework.web.organizational.authorization.entity.OrgAttachEntity;
import org.hswebframework.web.service.QueryService;
-import org.hswebframework.utils.ClassUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -39,6 +41,8 @@ public abstract class AbstractScopeDataAccessHandler implements DataAccessHan
protected abstract String getOperationScope(E entity);
+ protected abstract void applyScopeProperty(E entity, String value);
+
protected abstract Term createQueryTerm(Set scope);
protected abstract Set getTryOperationScope(String scopeType, PersonnelAuthorization authorization);
@@ -83,9 +87,9 @@ public abstract class AbstractScopeDataAccessHandler implements DataAccessHan
if (scope != null) {
String finalScopeId = scope;
context.getParams().values().stream()
- .filter(OrgAttachEntity.class::isInstance)
- .map(OrgAttachEntity.class::cast)
- .forEach(entity -> entity.setOrgId(finalScopeId));
+ .filter(getEntityClass()::isInstance)
+ .map(getEntityClass()::cast)
+ .forEach(entity -> applyScopeProperty(entity, finalScopeId));
} else {
logger.warn("scope is null!");
}
@@ -164,4 +168,10 @@ public abstract class AbstractScopeDataAccessHandler implements DataAccessHan
}
return true;
}
+
+ protected boolean genericTypeInstanceOf(Class type) {
+ MethodInterceptorHolder holder = MethodInterceptorHolder.current();
+ Class entity = ClassUtils.getGenericType(holder.getTarget().getClass());
+ return null != entity && ClassUtils.instanceOf(entity, type);
+ }
}
diff --git a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/simple/handler/AreaScopeDataAccessHandler.java b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/simple/handler/AreaScopeDataAccessHandler.java
index 7c11f5496..c203c8176 100644
--- a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/simple/handler/AreaScopeDataAccessHandler.java
+++ b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/simple/handler/AreaScopeDataAccessHandler.java
@@ -2,8 +2,8 @@ package org.hswebframework.web.organizational.authorization.simple.handler;
import org.hsweb.ezorm.core.param.Term;
import org.hsweb.ezorm.core.param.TermType;
+import org.hswebframework.web.entity.organizational.authorization.AreaAttachEntity;
import org.hswebframework.web.organizational.authorization.PersonnelAuthorization;
-import org.hswebframework.web.organizational.authorization.entity.AreaAttachEntity;
import java.util.Collections;
import java.util.Set;
@@ -31,6 +31,11 @@ public class AreaScopeDataAccessHandler extends AbstractScopeDataAccessHandler getTryOperationScope(String scopeType, PersonnelAuthorization authorization) {
switch (scopeType) {
diff --git a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/simple/handler/DepartmentScopeDataAccessHandler.java b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/simple/handler/DepartmentScopeDataAccessHandler.java
index d1aaf6672..6a14c8b57 100644
--- a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/simple/handler/DepartmentScopeDataAccessHandler.java
+++ b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/simple/handler/DepartmentScopeDataAccessHandler.java
@@ -2,9 +2,12 @@ package org.hswebframework.web.organizational.authorization.simple.handler;
import org.hsweb.ezorm.core.param.Term;
import org.hsweb.ezorm.core.param.TermType;
+import org.hswebframework.web.entity.organizational.DepartmentEntity;
+import org.hswebframework.web.entity.organizational.OrganizationalEntity;
+import org.hswebframework.web.entity.organizational.authorization.DepartmentAttachEntity;
+import org.hswebframework.web.entity.organizational.authorization.OrgAttachEntity;
import org.hswebframework.web.organizational.authorization.PersonnelAuthorization;
import org.hswebframework.web.organizational.authorization.access.DataAccessType;
-import org.hswebframework.web.organizational.authorization.entity.DepartmentAttachEntity;
import java.util.Collections;
import java.util.Set;
@@ -23,6 +26,11 @@ public class DepartmentScopeDataAccessHandler extends AbstractScopeDataAccessHan
return DepartmentAttachEntity.class;
}
+ @Override
+ protected void applyScopeProperty(DepartmentAttachEntity entity, String value) {
+ entity.setDepartmentId(value);
+ }
+
@Override
protected String getSupportScope() {
return DataAccessType.DEPARTMENT_SCOPE;
@@ -48,7 +56,11 @@ public class DepartmentScopeDataAccessHandler extends AbstractScopeDataAccessHan
@Override
protected Term createQueryTerm(Set scope) {
Term term = new Term();
- term.setColumn(DepartmentAttachEntity.departmentId);
+ if (genericTypeInstanceOf(DepartmentEntity.class)) {
+ term.setColumn(DepartmentEntity.id);
+ } else {
+ term.setColumn(DepartmentAttachEntity.departmentId);
+ }
term.setTermType(TermType.in);
term.setValue(scope);
term.setType(Term.Type.and);
diff --git a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/simple/handler/OrgScopeDataAccessHandler.java b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/simple/handler/OrgScopeDataAccessHandler.java
index efedd7aee..5e36da7d6 100644
--- a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/simple/handler/OrgScopeDataAccessHandler.java
+++ b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/simple/handler/OrgScopeDataAccessHandler.java
@@ -2,9 +2,14 @@ package org.hswebframework.web.organizational.authorization.simple.handler;
import org.hsweb.ezorm.core.param.Term;
import org.hsweb.ezorm.core.param.TermType;
+import org.hswebframework.utils.ClassUtils;
+import org.hswebframework.web.boost.aop.context.MethodInterceptorHolder;
+import org.hswebframework.web.boost.aop.context.MethodInterceptorParamContext;
+import org.hswebframework.web.entity.organizational.OrganizationalEntity;
+import org.hswebframework.web.entity.organizational.SimpleOrganizationalEntity;
+import org.hswebframework.web.entity.organizational.authorization.OrgAttachEntity;
import org.hswebframework.web.organizational.authorization.PersonnelAuthorization;
import org.hswebframework.web.organizational.authorization.access.DataAccessType;
-import org.hswebframework.web.organizational.authorization.entity.OrgAttachEntity;
import java.util.Collections;
import java.util.Set;
@@ -28,6 +33,11 @@ public class OrgScopeDataAccessHandler extends AbstractScopeDataAccessHandler getTryOperationScope(String scopeType, PersonnelAuthorization authorization) {
switch (scopeType) {
@@ -48,7 +58,11 @@ public class OrgScopeDataAccessHandler extends AbstractScopeDataAccessHandler scope) {
Term term = new Term();
- term.setColumn(OrgAttachEntity.orgId);
+ if (genericTypeInstanceOf(OrganizationalEntity.class)) {
+ term.setColumn(OrganizationalEntity.id);
+ } else {
+ term.setColumn(OrgAttachEntity.orgId);
+ }
term.setTermType(TermType.in);
term.setValue(scope);
term.setType(Term.Type.and);
diff --git a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/simple/handler/PersonScopeDataAccessHandler.java b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/simple/handler/PersonScopeDataAccessHandler.java
index ba854b774..d5a2e6726 100644
--- a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/simple/handler/PersonScopeDataAccessHandler.java
+++ b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/simple/handler/PersonScopeDataAccessHandler.java
@@ -2,9 +2,9 @@ package org.hswebframework.web.organizational.authorization.simple.handler;
import org.hsweb.ezorm.core.param.Term;
import org.hsweb.ezorm.core.param.TermType;
+import org.hswebframework.web.entity.organizational.authorization.PersonAttachEntity;
import org.hswebframework.web.organizational.authorization.PersonnelAuthorization;
import org.hswebframework.web.organizational.authorization.access.DataAccessType;
-import org.hswebframework.web.organizational.authorization.entity.PersonAttachEntity;
import java.util.Collections;
import java.util.Set;
@@ -40,6 +40,11 @@ public class PersonScopeDataAccessHandler extends AbstractScopeDataAccessHandler
}
}
+ @Override
+ protected void applyScopeProperty(PersonAttachEntity entity, String value) {
+ entity.setPersonId(value);
+ }
+
@Override
protected String getOperationScope(PersonAttachEntity entity) {
return entity.getPersonId();
diff --git a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/simple/handler/PositionScopeDataAccessHandler.java b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/simple/handler/PositionScopeDataAccessHandler.java
index 1009074e7..9be6a9ed9 100644
--- a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/simple/handler/PositionScopeDataAccessHandler.java
+++ b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/simple/handler/PositionScopeDataAccessHandler.java
@@ -2,9 +2,10 @@ package org.hswebframework.web.organizational.authorization.simple.handler;
import org.hsweb.ezorm.core.param.Term;
import org.hsweb.ezorm.core.param.TermType;
+import org.hswebframework.web.entity.organizational.PositionEntity;
+import org.hswebframework.web.entity.organizational.authorization.PositionAttachEntity;
import org.hswebframework.web.organizational.authorization.PersonnelAuthorization;
import org.hswebframework.web.organizational.authorization.access.DataAccessType;
-import org.hswebframework.web.organizational.authorization.entity.PositionAttachEntity;
import java.util.Collections;
import java.util.Set;
@@ -40,6 +41,11 @@ public class PositionScopeDataAccessHandler extends AbstractScopeDataAccessHandl
}
}
+ @Override
+ protected void applyScopeProperty(PositionAttachEntity entity, String value) {
+ entity.setPositionId(value);
+ }
+
@Override
protected String getOperationScope(PositionAttachEntity entity) {
return entity.getPositionId();
@@ -48,7 +54,11 @@ public class PositionScopeDataAccessHandler extends AbstractScopeDataAccessHandl
@Override
protected Term createQueryTerm(Set scope) {
Term term = new Term();
- term.setColumn(PositionAttachEntity.positionId);
+ if (genericTypeInstanceOf(PositionEntity.class)) {
+ term.setColumn(PositionEntity.id);
+ } else {
+ term.setColumn(PositionAttachEntity.positionId);
+ }
term.setTermType(TermType.in);
term.setValue(scope);
term.setType(Term.Type.and);
diff --git a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-controller/src/main/java/org/hswebframework/web/controller/organizational/DepartmentController.java b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-controller/src/main/java/org/hswebframework/web/controller/organizational/DepartmentController.java
index 8c4b780e5..4a26421a8 100644
--- a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-controller/src/main/java/org/hswebframework/web/controller/organizational/DepartmentController.java
+++ b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-controller/src/main/java/org/hswebframework/web/controller/organizational/DepartmentController.java
@@ -18,8 +18,9 @@
package org.hswebframework.web.controller.organizational;
import org.hswebframework.web.authorization.annotation.Authorize;
+import org.hswebframework.web.authorization.annotation.RequiresDataAccess;
import org.hswebframework.web.commons.entity.param.QueryParamEntity;
-import org.hswebframework.web.controller.GenericEntityController;
+import org.hswebframework.web.controller.SimpleGenericEntityController;
import org.hswebframework.web.entity.organizational.DepartmentEntity;
import org.hswebframework.web.logging.AccessLogger;
import org.hswebframework.web.service.organizational.DepartmentService;
@@ -28,15 +29,16 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
- * 部门
+ * 部门
*
* @author hsweb-generator-online
*/
@RestController
@RequestMapping("${hsweb.web.mappings.department:department}")
@Authorize(permission = "department")
+@RequiresDataAccess
@AccessLogger("部门管理")
-public class DepartmentController implements GenericEntityController {
+public class DepartmentController implements SimpleGenericEntityController {
private DepartmentService departmentService;
@@ -49,4 +51,5 @@ public class DepartmentController implements GenericEntityController {
+public class OrganizationalController implements SimpleGenericEntityController {
private OrganizationalService organizationalService;
@@ -50,4 +57,5 @@ public class OrganizationalController implements GenericEntityController {
+public class PersonController implements SimpleGenericEntityController {
private PersonService personService;
@@ -51,5 +57,10 @@ public class PersonController implements GenericEntityController> list(QueryParamEntity param) {
+ return SimpleGenericEntityController.super.list(param);
+ }
}
diff --git a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-controller/src/main/java/org/hswebframework/web/controller/organizational/PositionController.java b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-controller/src/main/java/org/hswebframework/web/controller/organizational/PositionController.java
index e5bba13a0..e1a28ec6c 100644
--- a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-controller/src/main/java/org/hswebframework/web/controller/organizational/PositionController.java
+++ b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-controller/src/main/java/org/hswebframework/web/controller/organizational/PositionController.java
@@ -20,8 +20,10 @@ package org.hswebframework.web.controller.organizational;
import org.hswebframework.web.authorization.Permission;
import org.hswebframework.web.authorization.annotation.Authorize;
import org.hswebframework.web.authorization.annotation.RequiresDataAccess;
+import org.hswebframework.web.commons.entity.PagerResult;
import org.hswebframework.web.commons.entity.param.QueryParamEntity;
import org.hswebframework.web.controller.GenericEntityController;
+import org.hswebframework.web.controller.SimpleGenericEntityController;
import org.hswebframework.web.controller.message.ResponseMessage;
import org.hswebframework.web.entity.organizational.DepartmentEntity;
import org.hswebframework.web.entity.organizational.PositionEntity;
@@ -39,8 +41,9 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("${hsweb.web.mappings.position:position}")
@Authorize(permission = "position")
+@RequiresDataAccess
@AccessLogger("职位管理")
-public class PositionController implements GenericEntityController {
+public class PositionController implements SimpleGenericEntityController {
private PositionService positionService;
@@ -54,11 +57,4 @@ public class PositionController implements GenericEntityController {
+public interface DepartmentEntity extends TreeSortSupportEntity, OrgAttachEntity, DepartmentAttachEntity {
/*-------------------------------------------
| 属性名常量 |
===========================================*/
@@ -36,7 +38,7 @@ public interface DepartmentEntity extends TreeSortSupportEntity {
/**
* 所在组织id
*/
- String orgid = "orgid";
+ String orgId = "orgId";
/**
* 部门编码
*/
@@ -72,16 +74,6 @@ public interface DepartmentEntity extends TreeSortSupportEntity {
*/
void setName(String name);
- /**
- * @return 所在组织id
- */
- String getOrgId();
-
- /**
- * 设置 所在组织id
- */
- void setOrgId(String orgId);
-
/**
* @return 部门编码
*/
@@ -103,4 +95,14 @@ public interface DepartmentEntity extends TreeSortSupportEntity {
void setStatus(Byte status);
void setChildren(List children);
+
+ @Override
+ default String getDepartmentId() {
+ return getId();
+ }
+
+ @Override
+ default void setDepartmentId(String departmentId) {
+ setId(departmentId);
+ }
}
\ No newline at end of file
diff --git a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/OrganizationalEntity.java b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/OrganizationalEntity.java
index 4f3d0b04f..c56105570 100644
--- a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/OrganizationalEntity.java
+++ b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/OrganizationalEntity.java
@@ -17,6 +17,8 @@
package org.hswebframework.web.entity.organizational;
import org.hswebframework.web.commons.entity.TreeSortSupportEntity;
+import org.hswebframework.web.entity.organizational.authorization.AreaAttachEntity;
+import org.hswebframework.web.entity.organizational.authorization.OrgAttachEntity;
import java.util.List;
@@ -25,7 +27,7 @@ import java.util.List;
*
* @author hsweb-generator-online
*/
-public interface OrganizationalEntity extends TreeSortSupportEntity {
+public interface OrganizationalEntity extends TreeSortSupportEntity, AreaAttachEntity, OrgAttachEntity {
/*-------------------------------------------
| 属性名常量 |
===========================================*/
@@ -60,7 +62,7 @@ public interface OrganizationalEntity extends TreeSortSupportEntity {
/**
* 状态
*/
- String status = "status";
+ String status = "status";
/**
* 级别
*/
@@ -112,5 +114,12 @@ public interface OrganizationalEntity extends TreeSortSupportEntity {
void setStatus(Byte status);
+ default String getOrgId() {
+ return getId();
+ }
+ @Override
+ default void setOrgId(String orgId) {
+ setId(orgId);
+ }
}
\ No newline at end of file
diff --git a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/PersonEntity.java b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/PersonEntity.java
index 7aeae4bd4..0ba2eb5ad 100644
--- a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/PersonEntity.java
+++ b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/PersonEntity.java
@@ -17,6 +17,7 @@
package org.hswebframework.web.entity.organizational;
import org.hswebframework.web.commons.entity.GenericEntity;
+import org.hswebframework.web.entity.organizational.authorization.PositionAttachEntity;
import java.util.Set;
diff --git a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/PersonPositionEntity.java b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/PersonPositionEntity.java
index 2e571cca3..a4d666212 100644
--- a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/PersonPositionEntity.java
+++ b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/PersonPositionEntity.java
@@ -17,13 +17,15 @@
package org.hswebframework.web.entity.organizational;
import org.hswebframework.web.commons.entity.Entity;
+import org.hswebframework.web.entity.organizational.authorization.PersonAttachEntity;
+import org.hswebframework.web.entity.organizational.authorization.PositionAttachEntity;
/**
* 人员职位关联 实体
*
* @author hsweb-generator-online
*/
-public interface PersonPositionEntity extends Entity {
+public interface PersonPositionEntity extends PersonAttachEntity, PositionAttachEntity {
/*-------------------------------------------
| 属性名常量 |
===========================================*/
@@ -36,24 +38,4 @@ public interface PersonPositionEntity extends Entity {
*/
String positionId = "positionId";
- /**
- * @return 人员id
- */
- String getPersonId();
-
- /**
- * 设置 人员id
- */
- void setPersonId(String personId);
-
- /**
- * @return 职位id
- */
- String getPositionId();
-
- /**
- * 设置 职位id
- */
- void setPositionId(String positionId);
-
}
\ No newline at end of file
diff --git a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/PositionEntity.java b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/PositionEntity.java
index f8d2b43c9..7a16b64f8 100644
--- a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/PositionEntity.java
+++ b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/PositionEntity.java
@@ -17,7 +17,8 @@
package org.hswebframework.web.entity.organizational;
import org.hswebframework.web.commons.entity.TreeSortSupportEntity;
-import org.hswebframework.web.commons.entity.TreeSupportEntity;
+import org.hswebframework.web.entity.organizational.authorization.DepartmentAttachEntity;
+import org.hswebframework.web.entity.organizational.authorization.PositionAttachEntity;
import java.util.List;
@@ -26,7 +27,7 @@ import java.util.List;
*
* @author hsweb-generator-online
*/
-public interface PositionEntity extends TreeSortSupportEntity {
+public interface PositionEntity extends TreeSortSupportEntity, DepartmentAttachEntity, PositionAttachEntity {
/*-------------------------------------------
| 属性名常量 |
===========================================*/
@@ -73,16 +74,6 @@ public interface PositionEntity extends TreeSortSupportEntity {
*/
void setName(String name);
- /**
- * @return 部门id
- */
- String getDepartmentId();
-
- /**
- * 设置 部门id
- */
- void setDepartmentId(String departmentId);
-
/**
* @return 持有的角色
*/
@@ -105,4 +96,12 @@ public interface PositionEntity extends TreeSortSupportEntity {
void setChildren(List children);
+ @Override
+ default String getPositionId() {
+ return getId();
+ }
+
+ default void setPositionId(String positionId) {
+ setId(positionId);
+ }
}
\ No newline at end of file
diff --git a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/SimpleOrganizationalEntity.java b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/SimpleOrganizationalEntity.java
index 107e0a397..a39e99634 100644
--- a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/SimpleOrganizationalEntity.java
+++ b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/SimpleOrganizationalEntity.java
@@ -39,6 +39,18 @@ public class SimpleOrganizationalEntity extends SimpleTreeSortSupportEntity children;
+ private String areaId;
+
+ @Override
+ public String getAreaId() {
+ return areaId;
+ }
+
+ @Override
+ public void setAreaId(String areaId) {
+ this.areaId = areaId;
+ }
+
/**
* @return 名称
*/
diff --git a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/entity/AreaAttachEntity.java b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/authorization/AreaAttachEntity.java
similarity index 76%
rename from hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/entity/AreaAttachEntity.java
rename to hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/authorization/AreaAttachEntity.java
index 3caa23cf7..233874513 100644
--- a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/entity/AreaAttachEntity.java
+++ b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/authorization/AreaAttachEntity.java
@@ -1,4 +1,4 @@
-package org.hswebframework.web.organizational.authorization.entity;
+package org.hswebframework.web.entity.organizational.authorization;
import org.hswebframework.web.commons.entity.Entity;
diff --git a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/entity/DepartmentAttachEntity.java b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/authorization/DepartmentAttachEntity.java
similarity index 89%
rename from hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/entity/DepartmentAttachEntity.java
rename to hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/authorization/DepartmentAttachEntity.java
index bd721db4d..e3f34c0a6 100644
--- a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/entity/DepartmentAttachEntity.java
+++ b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/authorization/DepartmentAttachEntity.java
@@ -1,4 +1,4 @@
-package org.hswebframework.web.organizational.authorization.entity;
+package org.hswebframework.web.entity.organizational.authorization;
import org.hswebframework.web.commons.entity.Entity;
diff --git a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/entity/OrgAttachEntity.java b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/authorization/OrgAttachEntity.java
similarity index 50%
rename from hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/entity/OrgAttachEntity.java
rename to hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/authorization/OrgAttachEntity.java
index 4ac11a1d9..af61cd5e0 100644
--- a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/entity/OrgAttachEntity.java
+++ b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/authorization/OrgAttachEntity.java
@@ -1,9 +1,12 @@
-package org.hswebframework.web.organizational.authorization.entity;
+package org.hswebframework.web.entity.organizational.authorization;
import org.hswebframework.web.commons.entity.Entity;
/**
+ * 关联机构信息实体,实现该接口,表示实体与机构进行关联,在进行权限控制时,将会使用到该接口
+ *
* @author zhouhao
+ * @since 3.0
*/
public interface OrgAttachEntity extends Entity {
String orgId = "orgId";
diff --git a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/entity/PersonAttachEntity.java b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/authorization/PersonAttachEntity.java
similarity index 54%
rename from hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/entity/PersonAttachEntity.java
rename to hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/authorization/PersonAttachEntity.java
index 7377d9537..d6280909c 100644
--- a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/entity/PersonAttachEntity.java
+++ b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/authorization/PersonAttachEntity.java
@@ -1,8 +1,9 @@
-package org.hswebframework.web.organizational.authorization.entity;
+package org.hswebframework.web.entity.organizational.authorization;
import org.hswebframework.web.commons.entity.Entity;
/**
+ * 关联人员信息实体,实现该接口,表示实体与机构进行关联,在进行权限控制时,将会使用到该接口
* @author zhouhao
*/
public interface PersonAttachEntity extends Entity {
diff --git a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/entity/PositionAttachEntity.java b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/authorization/PositionAttachEntity.java
similarity index 78%
rename from hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/entity/PositionAttachEntity.java
rename to hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/authorization/PositionAttachEntity.java
index 687453859..7325851fd 100644
--- a/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/entity/PositionAttachEntity.java
+++ b/hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/authorization/PositionAttachEntity.java
@@ -1,4 +1,4 @@
-package org.hswebframework.web.organizational.authorization.entity;
+package org.hswebframework.web.entity.organizational.authorization;
import org.hswebframework.web.commons.entity.Entity;