From 93b045e2f659a8dbd424bd8c9beb6525e7a80c05 Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期四, 02 六月 2022 11:27:38 +0800
Subject: [PATCH] fix
---
ximon-admin/src/main/java/com/sandu/ximon/admin/service/ClientService.java | 41 +++++++++++++++++++++++++++++++++--------
ximon-admin/src/main/java/com/sandu/ximon/admin/service/AdminService.java | 11 ++++++++++-
2 files changed, 43 insertions(+), 9 deletions(-)
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/AdminService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/AdminService.java
index 4374972..821c9fb 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/AdminService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/AdminService.java
@@ -173,7 +173,7 @@
if (admin == null) {
throw new BusinessException("鎵句笉鍒扮鐞嗗憳");
}
- if(!AdministratorEnums.ADMIN.getCode().equals(SecurityUtils.getUserDetails().getAdministratorType())){
+ if (!AdministratorEnums.ADMIN.getCode().equals(SecurityUtils.getUserDetails().getAdministratorType())) {
throw new BusinessException("鍙湁瓒呯骇绠$悊鍛樻墠鑳藉垹闄ょ敤鎴�");
}
@@ -197,6 +197,15 @@
}
}
+ /**
+ * 鍒犻櫎绠$悊鍛� 鏃ュ織璁板綍寮�濮�
+ */
+ String content = "鍒犻櫎绠$悊鍛橈細" + admin.getUsername() + "鐢ㄦ埛id锛�" + admin;
+ StoreOperationRecordsUtils.storeOperationData(null, null, "鍒犻櫎绠$悊鍛�", content);
+ /**
+ * 鍒犻櫎绠$悊鍛� 鏃ュ織璁板綍缁撴潫
+ */
+
return flag;
}
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/ClientService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/ClientService.java
index 09ff23f..3e9aecd 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/ClientService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/ClientService.java
@@ -14,14 +14,13 @@
import com.sandu.ximon.admin.security.SecurityUtils;
import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils;
import com.sandu.ximon.dao.bo.MenuNode;
-import com.sandu.ximon.dao.domain.Client;
-import com.sandu.ximon.dao.domain.ClientRoleRelation;
-import com.sandu.ximon.dao.domain.Role;
-import com.sandu.ximon.dao.domain.RoleMenuRelation;
+import com.sandu.ximon.dao.domain.*;
+import com.sandu.ximon.dao.enums.AdministratorEnums;
import com.sandu.ximon.dao.mapper.ClientMapper;
import lombok.AllArgsConstructor;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
@@ -210,11 +209,21 @@
return updateById(client);
}
+ @Transactional(rollbackFor = Exception.class)
public boolean deleteClient(Long id) {
+ boolean flag = false;
//鍒ゆ柇鍒犻櫎鐢ㄦ埛鏄惁瀛樺湪
- Client one = getById(id);
- if (one == null) {
+ Client client = getById(id);
+ if (client == null) {
throw new BusinessException("璇ュ鎴蜂笉瀛樺湪");
+ }
+
+ //鍙湁瓒呯鑳藉垹闄� 鎴� 涓婄骇瀹㈡埛鍒犻櫎鑷繁鐨勪笅绾х敤鎴�
+ if (!AdministratorEnums.ADMIN.getCode().equals(SecurityUtils.getUserDetails().getAdministratorType())) {
+ Client temp = getOne(Wrappers.lambdaQuery(Client.class).eq(Client::getSuperiorId, SecurityUtils.getUserId()).eq(Client::getId, id));
+ if (temp == null) {
+ throw new BusinessException("鍒犻櫎鐨勭敤鎴蜂笉瀛樺湪鎴栬鐢ㄦ埛涓嶆槸浣犵殑涓嬬骇鐢ㄦ埛");
+ }
}
//鍒ゆ柇鍒犻櫎鐨勭敤鎴锋湁鏃犱笅绾х敤鎴�
@@ -223,16 +232,32 @@
if (list != null && list.size() != 0) {
throw new BusinessException("鍒犻櫎鐨勭敤鎴蜂笅鏈変笅绾х敤鎴凤紝涓嶅厑璁稿垹闄�");
}
+
+ //绠$悊鍛樿鑹插叧绯昏〃
+ ClientRoleRelationService clientRoleRelationService = SpringContextHolder.getBean(ClientRoleRelationService.class);
+ //鏈夌敤鎴峰繀瀹氭湁鐢ㄦ埛涓庤鑹茬殑鍏崇郴鏁版嵁
+ ClientRoleRelation one = clientRoleRelationService.getOne(Wrappers.lambdaQuery(ClientRoleRelation.class).eq(ClientRoleRelation::getClientId, client.getId()));
+
+ //鍒犵敤鎴�
+ if (removeById(id)) {
+ //鍒犺鑹插叧绯昏〃淇℃伅
+ flag = clientRoleRelationService.removeById(one);
+ //鍒犻櫎澶辫触鍥炴粴鏁版嵁
+ if (!flag) {
+ throw new BusinessException("鍒犻櫎鐢ㄦ埛澶辫触锛�");
+ }
+ }
+
/**
* 鍒犻櫎鏅�氱敤鎴� 鏃ュ織璁板綍寮�濮�
*/
- String content = "鍒犻櫎鏅�氱敤鎴凤細" + one.getClientName() + "鐢ㄦ埛id锛�" + id;
+ String content = "鍒犻櫎鏅�氱敤鎴凤細" + client.getClientName() + "鐢ㄦ埛id锛�" + id;
StoreOperationRecordsUtils.storeOperationData(null, null, "鍒犻櫎鏅�氱敤鎴�", content);
/**
* 鍒犻櫎鏅�氱敤鎴� 鏃ュ織璁板綍缁撴潫
*/
- return removeById(id);
+ return flag;
}
public List<Client> clientList(Long userId, BaseConditionVO baseConditionVO) {
--
Gitblit v1.9.3