From 2f4d9d83ae0ac1e8a44227e2a4cd2746ef010e5f Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Thu, 27 Sep 2018 14:49:36 +0800 Subject: [PATCH] 制定父组织功能完善 --- src/main/java/com/moral/service/impl/OrganizationServiceImpl.java | 21 +++++++++++++++++++-- 1 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/moral/service/impl/OrganizationServiceImpl.java b/src/main/java/com/moral/service/impl/OrganizationServiceImpl.java index 2dca7d1..594bf60 100644 --- a/src/main/java/com/moral/service/impl/OrganizationServiceImpl.java +++ b/src/main/java/com/moral/service/impl/OrganizationServiceImpl.java @@ -1,8 +1,10 @@ package com.moral.service.impl; +import com.alibaba.fastjson.JSON; import com.github.pagehelper.PageHelper; import com.moral.common.bean.Constants; import com.moral.common.bean.PageBean; +import com.moral.common.exception.BusinessException; import com.moral.common.util.ExampleUtil; import com.moral.common.util.ValidateUtil; import com.moral.entity.Organization; @@ -88,8 +90,23 @@ }else{ organizationMapper.updateByPrimaryKey(organization); } - //��������������������� - addOrModifyOrgRelation(organization); + if(organization.getId()!=null && !organization.getId().equals(organization.getParentId())){ + List<Integer> orgIds = organizationMapper.selectLowerOrgIds(organization.getId()); + boolean isChild = orgIds.stream().anyMatch( + item -> { + return item!=null && item.equals(organization.getParentId()); + } + ); + // ������������������������������������������������������������ + if(!isChild){ + //��������������������� + addOrModifyOrgRelation(organization); + }else{ + throw new BusinessException("cannot set the children as father,organization:"+ JSON.toJSONString(organization)); + } + }else { + throw new BusinessException("id of organization can't equal to it's parentId,organization:"+ JSON.toJSONString(organization)); + } } catch (Exception ex){ throw ex; -- Gitblit v1.8.0