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/entity/Organization.java | 3 +++ src/main/java/com/moral/common/aop/ControllerAOP.java | 4 +++- src/main/java/com/moral/service/impl/OrganizationServiceImpl.java | 21 +++++++++++++++++++-- 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/moral/common/aop/ControllerAOP.java b/src/main/java/com/moral/common/aop/ControllerAOP.java index 1b6072d..9e7c357 100644 --- a/src/main/java/com/moral/common/aop/ControllerAOP.java +++ b/src/main/java/com/moral/common/aop/ControllerAOP.java @@ -53,7 +53,10 @@ Method currentMethod = target.getClass().getMethod(msig.getName(), msig.getParameterTypes()); Type type = currentMethod.getGenericReturnType(); String message = e.getMessage(); + Map<String, Object> resultMap = new HashMap<String, Object>(); if (e instanceof BusinessException) { + log.error(e.getMessage()); + resultMap.put("msg", message); } else if (e instanceof ValidateException) { } else { log.error(pjp.getSignature() + " error: " + e.toString(), e); @@ -66,7 +69,6 @@ } else if (type == ResultBean.class) { return new ResultBean(e); } else if (type == Map.class) { - Map<String, Object> resultMap = new HashMap<String, Object>(); resultMap.put("msg", message); return resultMap; } else if (type == Void.TYPE) { diff --git a/src/main/java/com/moral/entity/Organization.java b/src/main/java/com/moral/entity/Organization.java index 425078e..eb237bb 100644 --- a/src/main/java/com/moral/entity/Organization.java +++ b/src/main/java/com/moral/entity/Organization.java @@ -3,6 +3,8 @@ import java.util.Date; import java.util.Map; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Transient; @@ -15,6 +17,7 @@ * @mbggenerated Thu Dec 07 15:18:16 CST 2017 */ @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; /** 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