zhouhao vor 7 Jahren
Ursprung
Commit
92e437afe7
18 geänderte Dateien mit 722 neuen und 8 gelöschten Zeilen
  1. 74 0
      hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/relation/SimpleRelation.java
  2. 30 0
      hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/relation/SimpleRelations.java
  3. 5 2
      hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/simple/SimplePersonnelAuthorization.java
  4. 35 0
      hsweb-system/hsweb-system-organizational/hsweb-system-organizational-controller/src/main/java/org/hswebframework/web/controller/organizational/RelationDefineController.java
  5. 35 0
      hsweb-system/hsweb-system-organizational/hsweb-system-organizational-controller/src/main/java/org/hswebframework/web/controller/organizational/RelationInfoController.java
  6. 11 0
      hsweb-system/hsweb-system-organizational/hsweb-system-organizational-dao/hsweb-system-organizational-dao-api/src/main/java/org/hswebframework/web/dao/organizational/RelationDefineDao.java
  7. 11 0
      hsweb-system/hsweb-system-organizational/hsweb-system-organizational-dao/hsweb-system-organizational-dao-api/src/main/java/org/hswebframework/web/dao/organizational/RelationInfoDao.java
  8. 47 0
      hsweb-system/hsweb-system-organizational/hsweb-system-organizational-dao/hsweb-system-organizational-dao-mybatis/src/main/resources/org/hswebframework/web/dao/mybatis/mappers/organizational/RelationDefineMapper.xml
  9. 50 0
      hsweb-system/hsweb-system-organizational/hsweb-system-organizational-dao/hsweb-system-organizational-dao-mybatis/src/main/resources/org/hswebframework/web/dao/mybatis/mappers/organizational/RelationInfoMapper.xml
  10. 57 0
      hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/RelationDefineEntity.java
  11. 99 0
      hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/RelationInfoEntity.java
  12. 55 0
      hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/SimpleRelationDefineEntity.java
  13. 100 0
      hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/SimpleRelationInfoEntity.java
  14. 13 0
      hsweb-system/hsweb-system-organizational/hsweb-system-organizational-service/hsweb-system-organizational-service-api/src/main/java/org/hswebframework/web/service/organizational/RelationDefineService.java
  15. 13 0
      hsweb-system/hsweb-system-organizational/hsweb-system-organizational-service/hsweb-system-organizational-service-api/src/main/java/org/hswebframework/web/service/organizational/RelationInfoService.java
  16. 27 6
      hsweb-system/hsweb-system-organizational/hsweb-system-organizational-service/hsweb-system-organizational-service-simple/src/main/java/org/hswebframework/web/service/organizational/simple/SimplePersonService.java
  17. 30 0
      hsweb-system/hsweb-system-organizational/hsweb-system-organizational-service/hsweb-system-organizational-service-simple/src/main/java/org/hswebframework/web/service/organizational/simple/SimpleRelationDefineService.java
  18. 30 0
      hsweb-system/hsweb-system-organizational/hsweb-system-organizational-service/hsweb-system-organizational-service-simple/src/main/java/org/hswebframework/web/service/organizational/simple/SimpleRelationInfoService.java

+ 74 - 0
hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/relation/SimpleRelation.java

@@ -0,0 +1,74 @@
+package org.hswebframework.web.organizational.authorization.relation;
+
+/**
+ * TODO 完成注释
+ *
+ * @author zhouhao
+ */
+public class SimpleRelation implements Relation {
+    private String type;
+
+    private String relation;
+
+    private String target;
+
+    private Object targetObject;
+
+    private String name;
+
+    private Direction direction;
+
+    @Override
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    @Override
+    public String getRelation() {
+        return relation;
+    }
+
+    public void setRelation(String relation) {
+        this.relation = relation;
+    }
+
+    @Override
+    public String getTarget() {
+        return target;
+    }
+
+    public void setTarget(String target) {
+        this.target = target;
+    }
+
+    @Override
+    public Object getTargetObject() {
+        return targetObject;
+    }
+
+    public void setTargetObject(Object targetObject) {
+        this.targetObject = targetObject;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    @Override
+    public Direction getDirection() {
+        return direction;
+    }
+
+    public void setDirection(Direction direction) {
+        this.direction = direction;
+    }
+}

+ 30 - 0
hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/relation/SimpleRelations.java

@@ -0,0 +1,30 @@
+package org.hswebframework.web.organizational.authorization.relation;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * @author zhouhao
+ */
+public class SimpleRelations implements Relations {
+    private List<Relation> relations;
+
+    @Override
+    public List<Relation> getAllRelations() {
+        if (null == relations) relations = new ArrayList<>();
+        return relations;
+    }
+
+    public void setRelations(List<Relation> relations) {
+        Objects.requireNonNull(relations);
+        this.relations = relations;
+    }
+
+    public SimpleRelations() {
+    }
+
+    public SimpleRelations(List<Relation> relations) {
+        this.relations = relations;
+    }
+}

+ 5 - 2
hsweb-system/hsweb-system-organizational/hsweb-system-organizational-authorization/src/main/java/org/hswebframework/web/organizational/authorization/simple/SimplePersonnelAuthorization.java

@@ -19,6 +19,7 @@ public class SimplePersonnelAuthorization implements PersonnelAuthorization {
     private Set<TreeNode<String>> orgIds;
     private Set<TreeNode<String>> positionIds;
     private Set<TreeNode<String>> departmentIds;
+    private Relations             relations;
 
     @Override
     public Personnel getPersonnel() {
@@ -41,9 +42,11 @@ public class SimplePersonnelAuthorization implements PersonnelAuthorization {
 
     @Override
     public Relations getRelations() {
-        // TODO: 2017/7/26
-        throw new  UnsupportedOperationException("not support yet");
+        return relations;
+    }
 
+    public void setRelations(Relations relations) {
+        this.relations = relations;
     }
 
     @Override

+ 35 - 0
hsweb-system/hsweb-system-organizational/hsweb-system-organizational-controller/src/main/java/org/hswebframework/web/controller/organizational/RelationDefineController.java

@@ -0,0 +1,35 @@
+package org.hswebframework.web.controller.organizational;
+
+import org.hswebframework.web.authorization.annotation.Authorize;
+import org.hswebframework.web.commons.entity.param.QueryParamEntity;
+import org.hswebframework.web.controller.SimpleGenericEntityController;
+import org.hswebframework.web.entity.organizational.RelationDefineEntity;
+import org.hswebframework.web.logging.AccessLogger;
+import  org.hswebframework.web.service.organizational.RelationDefineService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *  关系定义
+ *
+ * @author hsweb-generator-online
+ */
+@RestController
+@RequestMapping("${hsweb.web.mappings.relationDefine:relationDefine}")
+@Authorize(permission = "relationDefine")
+@AccessLogger("关系定义")
+public class RelationDefineController implements SimpleGenericEntityController<RelationDefineEntity, String, QueryParamEntity> {
+
+    private RelationDefineService relationDefineService;
+  
+    @Autowired
+    public void setRelationDefineService(RelationDefineService relationDefineService) {
+        this.relationDefineService = relationDefineService;
+    }
+  
+    @Override
+    public RelationDefineService getService() {
+        return relationDefineService;
+    }
+}

+ 35 - 0
hsweb-system/hsweb-system-organizational/hsweb-system-organizational-controller/src/main/java/org/hswebframework/web/controller/organizational/RelationInfoController.java

@@ -0,0 +1,35 @@
+package org.hswebframework.web.controller.organizational;
+
+import org.hswebframework.web.authorization.annotation.Authorize;
+import org.hswebframework.web.commons.entity.param.QueryParamEntity;
+import org.hswebframework.web.controller.SimpleGenericEntityController;
+import org.hswebframework.web.entity.organizational.RelationInfoEntity;
+import org.hswebframework.web.logging.AccessLogger;
+import  org.hswebframework.web.service.organizational.RelationInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *  关系信息
+ *
+ * @author hsweb-generator-online
+ */
+@RestController
+@RequestMapping("${hsweb.web.mappings.relationInfo:relationInfo}")
+@Authorize(permission = "relationInfo")
+@AccessLogger("关系信息")
+public class RelationInfoController implements SimpleGenericEntityController<RelationInfoEntity, String, QueryParamEntity> {
+
+    private RelationInfoService relationInfoService;
+  
+    @Autowired
+    public void setRelationInfoService(RelationInfoService relationInfoService) {
+        this.relationInfoService = relationInfoService;
+    }
+  
+    @Override
+    public RelationInfoService getService() {
+        return relationInfoService;
+    }
+}

+ 11 - 0
hsweb-system/hsweb-system-organizational/hsweb-system-organizational-dao/hsweb-system-organizational-dao-api/src/main/java/org/hswebframework/web/dao/organizational/RelationDefineDao.java

@@ -0,0 +1,11 @@
+package org.hswebframework.web.dao.organizational;
+
+import org.hswebframework.web.dao.CrudDao;
+import org.hswebframework.web.entity.organizational.RelationDefineEntity;
+
+/**
+*  关系定义 DAO接口
+*  @author hsweb-generator-online
+ */
+public interface RelationDefineDao extends CrudDao<RelationDefineEntity,String> {
+}

+ 11 - 0
hsweb-system/hsweb-system-organizational/hsweb-system-organizational-dao/hsweb-system-organizational-dao-api/src/main/java/org/hswebframework/web/dao/organizational/RelationInfoDao.java

@@ -0,0 +1,11 @@
+package org.hswebframework.web.dao.organizational;
+
+import org.hswebframework.web.dao.CrudDao;
+import org.hswebframework.web.entity.organizational.RelationInfoEntity;
+
+/**
+*  关系信息 DAO接口
+*  @author hsweb-generator-online
+ */
+public interface RelationInfoDao extends CrudDao<RelationInfoEntity,String> {
+}

+ 47 - 0
hsweb-system/hsweb-system-organizational/hsweb-system-organizational-dao/hsweb-system-organizational-dao-mybatis/src/main/resources/org/hswebframework/web/dao/mybatis/mappers/organizational/RelationDefineMapper.xml

@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://www.mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.hswebframework.web.dao.organizational.RelationDefineDao">
+    <resultMap id="RelationDefineResultMap" type="org.hswebframework.web.entity.organizational.SimpleRelationDefineEntity">
+              <id property="id" column="u_id" javaType="string" jdbcType="VARCHAR"/>
+            <result property="name" column="name" javaType="String" jdbcType="VARCHAR"/>
+            <result property="typeId" column="type_id" javaType="String" jdbcType="VARCHAR"/>
+            <result property="status" column="status" javaType="Byte" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <!--用于动态生成sql所需的配置-->
+    <sql id="config">
+        <bind name="resultMapId" value="'RelationDefineResultMap'"/>
+        <bind name="tableName" value="'s_relation_def'"/>
+    </sql>
+  
+    <insert id="insert" parameterType="org.hswebframework.web.entity.organizational.SimpleRelationDefineEntity" >
+        <include refid="config"/>
+        <include refid="BasicMapper.buildInsertSql"/>
+    </insert>
+
+    <delete id="deleteByPk" parameterType="String">
+        delete from s_relation_def where u_id =#{id}
+    </delete>
+
+    <delete id="delete" parameterType="org.hswebframework.web.commons.entity.Entity">
+        <include refid="config"/>
+        <include refid="BasicMapper.buildDeleteSql"/>
+    </delete>
+
+    <update id="update" parameterType="org.hswebframework.web.commons.entity.Entity">
+        <include refid="config"/>
+        <include refid="BasicMapper.buildUpdateSql"/>
+    </update>
+
+    <select id="query" parameterType="org.hswebframework.web.commons.entity.Entity" resultMap="RelationDefineResultMap">
+        <include refid="config"/>
+        <include refid="BasicMapper.buildSelectSql"/>
+    </select>
+
+    <select id="count" parameterType="org.hswebframework.web.commons.entity.Entity" resultType="int">
+        <include refid="config"/>
+        <include refid="BasicMapper.buildTotalSql"/>
+    </select>
+</mapper>

+ 50 - 0
hsweb-system/hsweb-system-organizational/hsweb-system-organizational-dao/hsweb-system-organizational-dao-mybatis/src/main/resources/org/hswebframework/web/dao/mybatis/mappers/organizational/RelationInfoMapper.xml

@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://www.mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.hswebframework.web.dao.organizational.RelationInfoDao">
+    <resultMap id="RelationInfoResultMap" type="org.hswebframework.web.entity.organizational.SimpleRelationInfoEntity">
+              <id property="id" column="u_id" javaType="string" jdbcType="VARCHAR"/>
+            <result property="relationFrom" column="relation_from" javaType="String" jdbcType="VARCHAR"/>
+            <result property="relationId" column="relation_id" javaType="String" jdbcType="VARCHAR"/>
+            <result property="relationTo" column="relation_to" javaType="String" jdbcType="VARCHAR"/>
+            <result property="relationTypeFrom" column="relation_type_from" javaType="String" jdbcType="VARCHAR"/>
+            <result property="relationTypeTo" column="relation_type_to" javaType="String" jdbcType="VARCHAR"/>
+            <result property="status" column="status" javaType="Byte" jdbcType="DECIMAL"/>
+    </resultMap>
+
+    <!--用于动态生成sql所需的配置-->
+    <sql id="config">
+        <bind name="resultMapId" value="'RelationInfoResultMap'"/>
+        <bind name="tableName" value="'s_relation_info'"/>
+    </sql>
+  
+    <insert id="insert" parameterType="org.hswebframework.web.entity.organizational.SimpleRelationInfoEntity" >
+        <include refid="config"/>
+        <include refid="BasicMapper.buildInsertSql"/>
+    </insert>
+
+    <delete id="deleteByPk" parameterType="String">
+        delete from s_relation_info where u_id =#{id}
+    </delete>
+
+    <delete id="delete" parameterType="org.hswebframework.web.commons.entity.Entity">
+        <include refid="config"/>
+        <include refid="BasicMapper.buildDeleteSql"/>
+    </delete>
+
+    <update id="update" parameterType="org.hswebframework.web.commons.entity.Entity">
+        <include refid="config"/>
+        <include refid="BasicMapper.buildUpdateSql"/>
+    </update>
+
+    <select id="query" parameterType="org.hswebframework.web.commons.entity.Entity" resultMap="RelationInfoResultMap">
+        <include refid="config"/>
+        <include refid="BasicMapper.buildSelectSql"/>
+    </select>
+
+    <select id="count" parameterType="org.hswebframework.web.commons.entity.Entity" resultType="int">
+        <include refid="config"/>
+        <include refid="BasicMapper.buildTotalSql"/>
+    </select>
+</mapper>

+ 57 - 0
hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/RelationDefineEntity.java

@@ -0,0 +1,57 @@
+package org.hswebframework.web.entity.organizational;
+
+import org.hswebframework.web.commons.entity.GenericEntity;
+
+/**
+ * 关系定义 实体
+ *
+ * @author hsweb-generator-online
+ */
+public interface RelationDefineEntity extends GenericEntity<String> {
+ /*-------------------------------------------
+    |               属性名常量               |
+    ===========================================*/
+    /**
+     * 关系名称
+     */
+    String name   = "name";
+    /**
+     * 关系类型ID
+     */
+    String typeId = "typeId";
+    /**
+     * 状态
+     */
+    String status = "status";
+
+    /**
+     * @return 关系名称
+     */
+    String getName();
+
+    /**
+     * @param name 关系名称
+     */
+    void setName(String name);
+
+    /**
+     * @return 关系类型ID
+     */
+    String getTypeId();
+
+    /**
+     * @param typeId 关系类型ID
+     */
+    void setTypeId(String typeId);
+
+    /**
+     * @return 状态
+     */
+    Byte getStatus();
+
+    /**
+     * @param status 状态
+     */
+    void setStatus(Byte status);
+
+}

+ 99 - 0
hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/RelationInfoEntity.java

@@ -0,0 +1,99 @@
+package org.hswebframework.web.entity.organizational;
+
+import org.hswebframework.web.commons.entity.GenericEntity;
+
+/**
+ * 关系信息 实体
+ *
+ * @author hsweb-generator-online
+ */
+public interface RelationInfoEntity extends GenericEntity<String> {
+ /*-------------------------------------------
+    |               属性名常量               |
+    ===========================================*/
+    /**
+     * 关系从
+     */
+    String relationFrom     = "relationFrom";
+    /**
+     * 关系定义id
+     */
+    String relationId       = "relationId";
+    /**
+     * 关系至
+     */
+    String relationTo       = "relationTo";
+    /**
+     * 关系类型从,如:人员
+     */
+    String relationTypeFrom = "relationTypeFrom";
+    /**
+     * 关系类型至,如:部门
+     */
+    String relationTypeTo   = "relationTypeTo";
+    /**
+     * 状态
+     */
+    String status           = "status";
+
+    /**
+     * @return 关系从
+     */
+    String getRelationFrom();
+
+    /**
+     * @param relationFrom 关系从
+     */
+    void setRelationFrom(String relationFrom);
+
+    /**
+     * @return 关系定义id
+     */
+    String getRelationId();
+
+    /**
+     * @param relationId 关系定义id
+     */
+    void setRelationId(String relationId);
+
+    /**
+     * @return 关系至
+     */
+    String getRelationTo();
+
+    /**
+     * @param relationTo 关系至
+     */
+    void setRelationTo(String relationTo);
+
+    /**
+     * @return 关系类型从, 如:人员
+     */
+    String getRelationTypeFrom();
+
+    /**
+     * @param relationTypeFrom 关系类型从,如:人员
+     */
+    void setRelationTypeFrom(String relationTypeFrom);
+
+    /**
+     * @return 关系类型至, 如:部门
+     */
+    String getRelationTypeTo();
+
+    /**
+     * @param relationTypeTo 关系类型至,如:部门
+     */
+    void setRelationTypeTo(String relationTypeTo);
+
+    /**
+     * @return 状态
+     */
+    Byte getStatus();
+
+    /**
+     * @param status 状态
+     */
+    void setStatus(Byte status);
+
+}

+ 55 - 0
hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/SimpleRelationDefineEntity.java

@@ -0,0 +1,55 @@
+package org.hswebframework.web.entity.organizational;
+import org.hswebframework.web.commons.entity.SimpleGenericEntity;
+
+/**
+* 关系定义
+* @author hsweb-generator-online
+*/
+public class SimpleRelationDefineEntity extends SimpleGenericEntity<String> implements RelationDefineEntity{
+  		//关系名称
+        private String name;
+  		//关系类型ID
+        private String typeId;
+  		//状态
+        private Byte status;
+
+        /**
+        * @return  关系名称
+        */
+        public String getName(){
+			return this.name;
+        }
+
+        /**
+        * @param  name  关系名称
+        */
+        public void setName(String name){
+        	this.name=name;
+        }
+        /**
+        * @return  关系类型ID
+        */
+        public String getTypeId(){
+			return this.typeId;
+        }
+
+        /**
+        * @param  typeId  关系类型ID
+        */
+        public void setTypeId(String typeId){
+        	this.typeId=typeId;
+        }
+        /**
+        * @return  状态
+        */
+        public Byte getStatus(){
+			return this.status;
+        }
+
+        /**
+        * @param  status  状态
+        */
+        public void setStatus(Byte status){
+        	this.status=status;
+        }
+}

+ 100 - 0
hsweb-system/hsweb-system-organizational/hsweb-system-organizational-entity/src/main/java/org/hswebframework/web/entity/organizational/SimpleRelationInfoEntity.java

@@ -0,0 +1,100 @@
+package org.hswebframework.web.entity.organizational;
+import org.hswebframework.web.commons.entity.SimpleGenericEntity;
+
+/**
+* 关系信息
+* @author hsweb-generator-online
+*/
+public class SimpleRelationInfoEntity extends SimpleGenericEntity<String> implements RelationInfoEntity{
+  		//关系从
+        private String relationFrom;
+  		//关系定义id
+        private String relationId;
+  		//关系至
+        private String relationTo;
+  		//关系类型从,如:人员
+        private String relationTypeFrom;
+  		//关系类型至,如:部门
+        private String relationTypeTo;
+  		//状态
+        private Byte status;
+
+        /**
+        * @return  关系从
+        */
+        public String getRelationFrom(){
+			return this.relationFrom;
+        }
+
+        /**
+        * @param  relationFrom  关系从
+        */
+        public void setRelationFrom(String relationFrom){
+        	this.relationFrom=relationFrom;
+        }
+        /**
+        * @return  关系定义id
+        */
+        public String getRelationId(){
+			return this.relationId;
+        }
+
+        /**
+        * @param  relationId  关系定义id
+        */
+        public void setRelationId(String relationId){
+        	this.relationId=relationId;
+        }
+        /**
+        * @return  关系至
+        */
+        public String getRelationTo(){
+			return this.relationTo;
+        }
+
+        /**
+        * @param  relationTo  关系至
+        */
+        public void setRelationTo(String relationTo){
+        	this.relationTo=relationTo;
+        }
+        /**
+        * @return  关系类型从,如:人员
+        */
+        public String getRelationTypeFrom(){
+			return this.relationTypeFrom;
+        }
+
+        /**
+        * @param  relationTypeFrom  关系类型从,如:人员
+        */
+        public void setRelationTypeFrom(String relationTypeFrom){
+        	this.relationTypeFrom=relationTypeFrom;
+        }
+        /**
+        * @return  关系类型至,如:部门
+        */
+        public String getRelationTypeTo(){
+			return this.relationTypeTo;
+        }
+
+        /**
+        * @param  relationTypeTo  关系类型至,如:部门
+        */
+        public void setRelationTypeTo(String relationTypeTo){
+        	this.relationTypeTo=relationTypeTo;
+        }
+        /**
+        * @return  状态
+        */
+        public Byte getStatus(){
+			return this.status;
+        }
+
+        /**
+        * @param  status  状态
+        */
+        public void setStatus(Byte status){
+        	this.status=status;
+        }
+}

+ 13 - 0
hsweb-system/hsweb-system-organizational/hsweb-system-organizational-service/hsweb-system-organizational-service-api/src/main/java/org/hswebframework/web/service/organizational/RelationDefineService.java

@@ -0,0 +1,13 @@
+package org.hswebframework.web.service.organizational;
+
+import org.hswebframework.web.entity.organizational.RelationDefineEntity;
+import org.hswebframework.web.service.CrudService;
+
+/**
+ *  关系定义 服务类
+ *
+ * @author hsweb-generator-online
+ */
+public interface RelationDefineService extends CrudService<RelationDefineEntity, String> {
+
+}

+ 13 - 0
hsweb-system/hsweb-system-organizational/hsweb-system-organizational-service/hsweb-system-organizational-service-api/src/main/java/org/hswebframework/web/service/organizational/RelationInfoService.java

@@ -0,0 +1,13 @@
+package org.hswebframework.web.service.organizational;
+
+import org.hswebframework.web.entity.organizational.RelationInfoEntity;
+import org.hswebframework.web.service.CrudService;
+
+/**
+ *  关系信息 服务类
+ *
+ * @author hsweb-generator-online
+ */
+public interface RelationInfoService extends CrudService<RelationInfoEntity, String> {
+
+}

+ 27 - 6
hsweb-system/hsweb-system-organizational/hsweb-system-organizational-service/hsweb-system-organizational-service-simple/src/main/java/org/hswebframework/web/service/organizational/simple/SimplePersonService.java

@@ -28,6 +28,9 @@ import org.hswebframework.web.organizational.authorization.Personnel;
 import org.hswebframework.web.organizational.authorization.PersonnelAuthorization;
 import org.hswebframework.web.organizational.authorization.PersonnelAuthorizationManager;
 import org.hswebframework.web.organizational.authorization.TreeNode;
+import org.hswebframework.web.organizational.authorization.relation.Relation;
+import org.hswebframework.web.organizational.authorization.relation.SimpleRelation;
+import org.hswebframework.web.organizational.authorization.relation.SimpleRelations;
 import org.hswebframework.web.organizational.authorization.simple.SimplePersonnelAuthorization;
 import org.hswebframework.web.service.DefaultDSLQueryService;
 import org.hswebframework.web.service.EnableCacheGenericEntityService;
@@ -80,6 +83,9 @@ public class SimplePersonService extends EnableCacheGenericEntityService<PersonE
     @Autowired(required = false)
     private UserService userService;
 
+    @Autowired
+    private RelationInfoDao relationInfoDao;
+
     @Override
     protected IDGenerator<String> getIDGenerator() {
         return IDGenerator.MD5;
@@ -219,12 +225,6 @@ public class SimplePersonService extends EnableCacheGenericEntityService<PersonE
         PersonEntity entity = selectByPk(personId);
         assertNotNull(entity);
 
-//        SimplePersonnel personnel = new SimplePersonnel();
-//        personnel.setId(entity.getId());
-//        personnel.setEmail(entity.getEmail());
-//        personnel.setName(entity.getName());
-//        personnel.setPhone(entity.getPhone());
-//        personnel.setPhoto(entity.getPhoto());
         Personnel personnel = entityFactory.newInstance(Personnel.class, SimplePositionEntity.class);
         entityFactory.copyProperties(entity, personnel);
         authorization.setPersonnel(personnel);
@@ -256,6 +256,27 @@ public class SimplePersonService extends EnableCacheGenericEntityService<PersonE
             }
         });
         authorization.setPositionIds(transformationTreeNode(null, positionEntities));
+
+        //获取关系
+        List<RelationInfoEntity> relationInfoList = DefaultDSLQueryService.createQuery(relationInfoDao)
+                .where(RelationInfoEntity.relationFrom, personId)
+                .or(RelationInfoEntity.relationTo, personId)
+                .listNoPaging();
+        List<Relation> relations = relationInfoList.stream()
+                .map(info -> {
+                    SimpleRelation relation = new SimpleRelation();
+                    relation.setType(info.getRelationTypeFrom());
+                    relation.setTarget(info.getRelationTo());
+                    //info.getRelationId() ->
+                    //relation.setName(info.getRelationId());
+                    if (personId.equals(info.getRelationFrom())) {
+                        relation.setDirection(Relation.Direction.POSITIVE);
+                    } else {
+                        relation.setDirection(Relation.Direction.REVERSE);
+                    }
+                    return relation;
+                }).collect(Collectors.toList());
+        authorization.setRelations(new SimpleRelations(relations));
         return authorization;
     }
 

+ 30 - 0
hsweb-system/hsweb-system-organizational/hsweb-system-organizational-service/hsweb-system-organizational-service-simple/src/main/java/org/hswebframework/web/service/organizational/simple/SimpleRelationDefineService.java

@@ -0,0 +1,30 @@
+package org.hswebframework.web.service.organizational.simple;
+
+import org.hswebframework.web.dao.organizational.RelationDefineDao;
+import org.hswebframework.web.entity.organizational.RelationDefineEntity;
+import org.hswebframework.web.service.GenericEntityService;
+import org.hswebframework.web.id.IDGenerator;
+import org.hswebframework.web.service.organizational.RelationDefineService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * 默认的服务实现
+ *
+ * @author hsweb-generator-online
+ */
+@Service("relationDefineService")
+public class SimpleRelationDefineService extends GenericEntityService<RelationDefineEntity, String>
+        implements RelationDefineService {
+    @Autowired
+    private RelationDefineDao relationDefineDao;
+   @Override
+    protected IDGenerator<String> getIDGenerator() {
+        return IDGenerator.MD5;
+    }
+    @Override
+    public RelationDefineDao getDao() {
+        return relationDefineDao;
+    }
+
+}

+ 30 - 0
hsweb-system/hsweb-system-organizational/hsweb-system-organizational-service/hsweb-system-organizational-service-simple/src/main/java/org/hswebframework/web/service/organizational/simple/SimpleRelationInfoService.java

@@ -0,0 +1,30 @@
+package org.hswebframework.web.service.organizational.simple;
+
+import org.hswebframework.web.dao.organizational.RelationInfoDao;
+import org.hswebframework.web.entity.organizational.RelationInfoEntity;
+import org.hswebframework.web.service.GenericEntityService;
+import org.hswebframework.web.id.IDGenerator;
+import org.hswebframework.web.service.organizational.RelationInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * 默认的服务实现
+ *
+ * @author hsweb-generator-online
+ */
+@Service("relationInfoService")
+public class SimpleRelationInfoService extends GenericEntityService<RelationInfoEntity, String>
+        implements RelationInfoService {
+    @Autowired
+    private RelationInfoDao relationInfoDao;
+   @Override
+    protected IDGenerator<String> getIDGenerator() {
+        return IDGenerator.MD5;
+    }
+    @Override
+    public RelationInfoDao getDao() {
+        return relationInfoDao;
+    }
+
+}