Prechádzať zdrojové kódy

Merge branch 'master' of http://git.dayaedu.com/yonge/edu-saas

zouxuan 5 rokov pred
rodič
commit
016154b95e

+ 9 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/OrganizationDao.java

@@ -18,4 +18,13 @@ public interface OrganizationDao extends BaseDAO<Integer, Organization> {
      */
     List<Organization> getByTenant(@Param("tenantId") String tenantId);
 
+    /**
+     * @describe 获取指定单位及其所有下级单位的编号
+     * @author Joburgess
+     * @date 2020.06.28
+     * @param parentOrganIdTag:
+     * @return java.util.List<java.lang.Integer>
+     */
+    List<Integer> getSelfAndChildOrganIds(@Param("parentOrganIdTag") String parentOrganIdTag);
+
 }

+ 11 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/entity/Organization.java

@@ -30,6 +30,9 @@ public class Organization {
 	@ApiModelProperty(value = "分润金额",required = false)
 	private java.math.BigDecimal shareProfitAmount;
 
+	@ApiModelProperty(value = "层级")
+	private Integer level;
+
 	@ApiModelProperty(value = "上级合作单位编号")
 	private Integer parentOrganId;
 
@@ -67,6 +70,14 @@ public class Organization {
 		this.sysUser = sysUser;
 	}
 
+	public Integer getLevel() {
+		return level;
+	}
+
+	public void setLevel(Integer level) {
+		this.level = level;
+	}
+
 	public Integer getParentOrganId() {
 		return parentOrganId;
 	}

+ 12 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/OrganizationService.java

@@ -3,6 +3,9 @@ package com.keao.edu.user.service;
 
 import com.keao.edu.common.service.BaseService;
 import com.keao.edu.user.entity.Organization;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 public interface OrganizationService extends BaseService<Integer, Organization> {
 
@@ -17,4 +20,13 @@ public interface OrganizationService extends BaseService<Integer, Organization>
      * @param organization
      */
     void updateOrganization(Organization organization);
+
+    /**
+     * @describe 获取当前分部及其所有子分部编号
+     * @author Joburgess
+     * @date 2020.06.28
+     * @param organId:
+     * @return java.util.List<java.lang.Integer>
+     */
+    List<Integer> getSelfAndChildOrganIds(Integer organId);
 }

+ 17 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/OrganizationServiceImpl.java

@@ -20,6 +20,10 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.Collections;
+import java.util.List;
+import java.util.Objects;
+
 @Service
 public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organization> implements OrganizationService {
 	
@@ -124,4 +128,17 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 		sysUserDao.update(sysUser);
 		imFeignService.update(new ImUserModel(sysUser.getId().toString(),sysUser.getRealName(),sysUser.getAvatar()));
 	}
+
+	@Override
+	public List<Integer> getSelfAndChildOrganIds(Integer organId) {
+		Organization organization = organDao.get(organId);
+		if(Objects.isNull(organization)){
+			throw new BizException("当前声部不存在");
+		}
+		List<Integer> selfAndChildOrganIds = organDao.getSelfAndChildOrganIds(organization.getLevel()<=0?organization.getId().toString(),organization.getParentOrganIdTag());
+		if(null == selfAndChildOrganIds){
+			selfAndChildOrganIds= Collections.EMPTY_LIST;
+		}
+		return selfAndChildOrganIds;
+	}
 }

+ 9 - 2
edu-user/edu-user-server/src/main/resources/config/mybatis/OrganizationMapper.xml

@@ -11,6 +11,7 @@
 		<result column="name_" property="name" />
 		<result column="contact_name_" property="contactName" />
 		<result column="contact_phone_" property="contactPhone" />
+		<result column="level_" property="level"/>
 		<result column="parent_organ_id_" property="parentOrganId" />
 		<result column="parent_organ_id_tag_" property="parentOrganIdTag" />
 		<result column="settlement_type_" property="settlementType" typeHandler="com.keao.edu.common.dal.CustomEnumTypeHandler"/>
@@ -35,8 +36,8 @@
 	
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.keao.edu.user.entity.Organization" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		INSERT INTO organization (id_,name_,contact_name_,contact_phone_,parent_organ_id_,parent_organ_id_tag_,settlement_type_,share_profit_amount_,is_allow_arrange_exam_,create_time_,update_time_,tenant_id_)
-		VALUES(#{id},#{name},#{contactName},#{contactPhone},#{parentOrganId},#{parentOrganIdTag},#{settlementType,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler},
+		INSERT INTO organization (id_,name_,contact_name_,contact_phone_,level_,parent_organ_id_,parent_organ_id_tag_,settlement_type_,share_profit_amount_,is_allow_arrange_exam_,create_time_,update_time_,tenant_id_)
+		VALUES(#{id},#{name},#{contactName},#{contactPhone},#{level},#{parentOrganId},#{parentOrganIdTag},#{settlementType,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler},
 		#{shareProfitAmount},#{isAllowArrangeExam,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler},NOW(),NOW(),#{tenantId})
 	</insert>
 	
@@ -47,6 +48,9 @@
 			<if test="contactPhone != null">
 				contact_phone_ = #{contactPhone},
 			</if>
+			<if test="level != null">
+				level_ = #{level},
+			</if>
 			<if test="parentOrganId != null">
 				parent_organ_id_ = #{parentOrganId},
 			</if>
@@ -113,4 +117,7 @@
 	<select id="getByTenant" resultMap="Organization">
 		SELECT * FROM organization WHERE tenant_id_ = #{tenantId} ORDER BY id_
 	</select>
+	<select id="getSelfAndChildOrganIds" resultType="int">
+		SELECT id_ FROM organization WHERE parent_organ_id_tag_ LIKE CONCAT(#{parentOrganIdTag}, '%');
+	</select>
 </mapper>