From 5c50018e963e2e3d4792b74efc97f7c4c3735f0a Mon Sep 17 00:00:00 2001 From: zhouhao Date: Fri, 16 Jun 2017 22:50:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=BB=84=E7=BB=87=E6=9E=B6?= =?UTF-8?q?=E6=9E=84,=E4=BF=AE=E5=A4=8D=E6=97=A0=E6=B3=95=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E6=9C=BA=E6=9E=84=E5=B1=9E=E6=80=A7=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pom.xml | 5 ++++ ...DefaultPersonnelAuthorizationSupplier.java | 3 +-- .../authorization/access/DataAccessType.java | 2 +- .../AbstractScopeDataAccessHandler.java | 20 ++++++++++---- .../handler/AreaScopeDataAccessHandler.java | 7 ++++- .../DepartmentScopeDataAccessHandler.java | 16 ++++++++++-- .../handler/OrgScopeDataAccessHandler.java | 18 +++++++++++-- .../handler/PersonScopeDataAccessHandler.java | 7 ++++- .../PositionScopeDataAccessHandler.java | 14 ++++++++-- .../organizational/DepartmentController.java | 9 ++++--- .../OrganizationalController.java | 10 ++++++- .../organizational/PersonController.java | 15 +++++++++-- .../organizational/PositionController.java | 12 +++------ .../organizational/DepartmentEntity.java | 26 ++++++++++--------- .../organizational/OrganizationalEntity.java | 13 ++++++++-- .../entity/organizational/PersonEntity.java | 1 + .../organizational/PersonPositionEntity.java | 24 +++-------------- .../entity/organizational/PositionEntity.java | 23 ++++++++-------- .../SimpleOrganizationalEntity.java | 12 +++++++++ .../authorization}/AreaAttachEntity.java | 2 +- .../DepartmentAttachEntity.java | 2 +- .../authorization}/OrgAttachEntity.java | 5 +++- .../authorization}/PersonAttachEntity.java | 3 ++- .../authorization}/PositionAttachEntity.java | 2 +- 24 files changed, 169 insertions(+), 82 deletions(-) rename hsweb-system/hsweb-system-organizational/{hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/entity => hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/authorization}/AreaAttachEntity.java (76%) rename hsweb-system/hsweb-system-organizational/{hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/entity => hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/authorization}/DepartmentAttachEntity.java (89%) rename hsweb-system/hsweb-system-organizational/{hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/entity => hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/authorization}/OrgAttachEntity.java (50%) rename hsweb-system/hsweb-system-organizational/{hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/entity => hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/authorization}/PersonAttachEntity.java (54%) rename hsweb-system/hsweb-system-organizational/{hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/entity => hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/authorization}/PositionAttachEntity.java (78%) 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;