From 485f813f00da83b5aaa3f1ac7a43c704b260c06c Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期一, 28 十月 2024 15:27:12 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmRoleQueryServiceImpl.java | 34 ++++++++++++++++++++++++++++++++--
1 files changed, 32 insertions(+), 2 deletions(-)
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmRoleQueryServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmRoleQueryServiceImpl.java
index 2320280..1c44f0d 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmRoleQueryServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmRoleQueryServiceImpl.java
@@ -8,9 +8,11 @@
import com.vci.frameworkcore.compatibility.SmRoleQueryServiceI;
import com.vci.constant.FrameWorkBtmTypeConstant;
import com.vci.dto.SmRoleDTO;
+import com.vci.frameworkcore.compatibility.SmUserQueryServiceI;
import com.vci.frameworkcore.enumpck.RoleClassifyEnum;
import com.vci.frameworkcore.enumpck.RoleControlAreaEnum;
import com.vci.model.SmRoleForPlatform1;
+import com.vci.pagemodel.SmUserVO;
import com.vci.po.SmRolePO;
import com.vci.pagemodel.SmRoleVO;
import com.vci.omd.utils.ObjectTool;
@@ -34,6 +36,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@@ -56,6 +59,13 @@
*/
@Autowired
private WebBoServiceI boService;
+
+ /**
+ * 鐢ㄦ埛鏌ヨ鏈嶅姟
+ */
+ @Autowired
+ @Lazy
+ private SmUserQueryServiceI smUserQueryServiceI;
/**
* 骞冲彴璋冪敤瀹㈡埛绔�
@@ -679,11 +689,31 @@
@Override
public boolean deleteRole(String[] ids) throws PLException {
VciBaseUtil.alertNotNull(ids,"瑕佸垹闄ょ殑瑙掕壊涓婚敭");
+ //浣跨敤涓婚敭鍒ゆ柇瑙掕壊鏄惁琚敤鎴峰紩鐢�
+ for (int i = 0; i < ids.length; i++) {
+ String roleName = this.checkIsUsed(ids[i]);
+ if(Func.isNotBlank(roleName)){
+ throw new PLException("500",new String[]{"褰撳墠閫変腑瑕佸垹闄ょ殑瑙掕壊涓瓨鍦ㄣ��"+roleName+"銆戣寮曠敤!"});
+ }
+ }
//鍏峰杩炲甫鍒犻櫎鐨勫姛鑳斤紝濡傝鑹茶彍鍗曟巿鏉冭〃閲岄潰鐨勬巿鏉冧俊鎭�
return platformClientUtil.getFrameworkService().deleteRole(
ids,
new UserEntityInfo(WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId(), null)
);
+ }
+
+ /**
+ * 妫�鏌ヨ鑹叉槸鍚︽湁鍦ㄥ紩鐢�
+ * @param roleOid
+ * @return
+ */
+ private String checkIsUsed(String roleOid){
+ List<SmUserVO> smUserVOS = smUserQueryServiceI.listUserByRoleOid(roleOid, null);
+ if (Func.isNotEmpty(smUserVOS)) {
+ return this.getRoleNameByRoleOid(roleOid);
+ }
+ return null;
}
/**
@@ -733,8 +763,8 @@
try {
SmRoleDTO smRoleDTO = new SmRoleDTO();
BeanUtil.copy(smRolePO,smRoleDTO);
- //SessionInfo loginUser = WebThreadLocalUtil.getCurrentUserSessionInfoInThread();
- String userId = "developer";//loginUser.getUserId();
+ SessionInfo loginUser = WebThreadLocalUtil.getCurrentUserSessionInfoInThread();
+ String userId = loginUser.getUserId();
//瑙掕壊绫诲瀷锛岃繖閲岃缃簡浼氬湪changeRoleObjectToRoleInfo涓浆鎹�
if(UserTypeEnum.SUPPER_ADMIN.getValue().equals("0")){
smRoleDTO.setRoleClassify(RoleClassifyEnum.MANAGE.getValue());
--
Gitblit v1.9.3