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