From 889842eb8b64a0b72c449ce23ff21e4e8c935cae Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期五, 26 七月 2024 16:06:49 +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