Source/.idea/.gitignore
ÎļþÒÑɾ³ý Source/.idea/Source.iml
ÎļþÒÑɾ³ý Source/.idea/easyCodeTableSetting.xml
ÎļþÒÑɾ³ý Source/.idea/misc.xml
ÎļþÒÑɾ³ý Source/.idea/modules.xml
ÎļþÒÑɾ³ý Source/.idea/vcs.xml
ÎļþÒÑɾ³ý Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/ClassifyAuthController.java
@@ -1,6 +1,7 @@ package com.vci.ubcs.system.controller; import com.vci.ubcs.system.entity.ClassifyAuth; import com.vci.ubcs.system.entity.Menu; import com.vci.ubcs.system.service.IClassifyAuthService; import com.vci.ubcs.system.vo.ClassifyAuthVO; import io.swagger.annotations.Api; @@ -11,6 +12,7 @@ import springfox.documentation.annotations.ApiIgnore; import java.util.List; import java.util.Map; /** * åç±»ææ @@ -47,4 +49,14 @@ return R.data(classifyAuthService.getClassifyAuthList(classifyAuthVO)); } /** * æ¥è¯¢è¯¥åç±»ä¸ï¼å½åç»å½çè§è²æåªäºæé®æé * @param classifyId * @return */ @GetMapping("getAuthButtonList") public R<Map<String,Boolean>> getAuthButtonList(String classifyId){ return R.data(classifyAuthService.getAuthButtonList(classifyId)); } } Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IClassifyAuthService.java
@@ -2,10 +2,12 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.vci.ubcs.system.entity.ClassifyAuth; import com.vci.ubcs.system.entity.Menu; import com.vci.ubcs.system.vo.ClassifyAuthVO; import org.springblade.core.tool.api.R; import java.util.List; import java.util.Map; /** * åç±»ææ @@ -28,5 +30,11 @@ */ List<ClassifyAuthVO> getClassifyAuthList(ClassifyAuthVO classifyAuthVO); /** * æ¥è¯¢è¯¥åç±»ä¸ï¼å½åç»å½çè§è²æåªäºæé®æé * @param classifyId * @return */ Map<String,Boolean> getAuthButtonList(String classifyId); } Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMenuService.java
@@ -211,4 +211,10 @@ */ R cloneMenuButton(Long menuId, List<String> buttonIds); /** * æ ¹æ®ä¸»é®è·åèåä¿¡æ¯ * @param ids * @return */ List<Menu> getMenuListById(List<String> ids,String parentId); } Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/ClassifyAuthServiceImpl.java
@@ -1,28 +1,27 @@ package com.vci.ubcs.system.service.impl; import cn.hutool.db.ds.pooled.ConnectionWraper; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.vci.ubcs.starter.web.util.VciBaseUtil; import com.vci.ubcs.system.entity.ClassifyAuth; import com.vci.ubcs.system.entity.Menu; import com.vci.ubcs.system.mapper.ClassifyAuthMapper; import com.vci.ubcs.system.service.IClassifyAuthService; import com.vci.ubcs.system.service.IMenuService; import com.vci.ubcs.system.vo.ClassifyAuthVO; import com.vci.ubcs.system.vo.MenuVO; import com.vci.ubcs.system.wrapper.ClassifyAuthWrapper; import lombok.AllArgsConstructor; import lombok.RequiredArgsConstructor; import org.redisson.api.condition.Conditions; import org.springblade.core.log.exception.ServiceException; import org.springblade.core.mp.support.Condition; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; import java.util.*; import java.util.stream.Collectors; /** @@ -35,6 +34,8 @@ public class ClassifyAuthServiceImpl extends ServiceImpl<ClassifyAuthMapper,ClassifyAuth> implements IClassifyAuthService { private final ClassifyAuthMapper classifyAuthMapper; private final IMenuService menuService; /** * åç±»ææä¿åæ¥å£ @@ -80,4 +81,39 @@ return new ArrayList<ClassifyAuthVO>(); } /** * æ¥è¯¢è¯¥åç±»ä¸ï¼å½åç»å½çè§è²æåªäºæé®æé * @param classifyId * @return */ public Map<String,Boolean> getAuthButtonList(String classifyId){ final String roleIds = AuthUtil.getUser().getRoleId(); // å æ¥è¯¢æé®idå表 LambdaQueryWrapper<ClassifyAuth> wrapper = Wrappers.<ClassifyAuth>query() .lambda().eq(ClassifyAuth::getClassifyId, classifyId) .in(ClassifyAuth::getRoleId, roleIds); List<ClassifyAuth> classifyAuths = this.classifyAuthMapper.selectList(wrapper); if(classifyAuths.size()>1){ throw new ServiceException("è§è²ååç±»é ç½®åå¨å¤æ¡è®°å½ï¼è¯·è系管çäººåæ¸ çé误é ç½®ï¼"); } // æ¯å¦ä¸ºè¶ 管 Boolean isAdmin = VciBaseUtil.checkAdminTenant(); // æªé ç½®æé®æé if(!isAdmin && (classifyAuths.isEmpty() || Func.isBlank(classifyAuths.get(0).getButtonIds()))){ return new HashMap<>(); } List<String> condition1 = new ArrayList<>(); // 妿䏿¯è¶ ç®¡ç¨æ· if(!isAdmin){ condition1.addAll(Arrays.asList(classifyAuths.get(0).getButtonIds().split(","))); } List<Menu> menuList = menuService.getMenuListById(condition1,"1648879284590858241"); if(menuList.isEmpty()){ return new HashMap<>(); } Map<String, Boolean> buttonMaps = menuList.stream() .collect(Collectors.toMap(Menu::getCode, menu -> true)); return buttonMaps; } } Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java
@@ -103,7 +103,7 @@ roleMenus = allMenus; } // éè¶ çº§ç®¡çåå¹¶ä¸ä¸æ¯é¡¶é¨èå请æ±åè¿å对åºè§è²æéèå else if (!AuthUtil.isAdministrator() && Func.isEmpty(topMenuId)) { else if (!VciBaseUtil.checkAdminTenant() && Func.isEmpty(topMenuId)) { roleMenus = tenantPackageMenu(baseMapper.roleMenuByRoleId(Func.toLongList(roleId))); } // é¡¶é¨èå请æ±è¿å对åºè§è²æéèå @@ -353,7 +353,7 @@ LambdaQueryWrapper<Menu> wrapper = Wrappers.<Menu>query() .lambda() .in(Menu::getCode, codes) .eq(Menu::getIsDeleted,0) /*æªè¢«å é¤*/ .eq(Menu::getIsDeleted,BladeConstant.DB_NOT_DELETED) /*æªè¢«å é¤*/ .eq(Menu::getCategory,1) /*èåç±»åä¸è½ä¸ºæé®*/ .orderByAsc(Menu::getCode); /*æ ¹æ®codeæåºä¸classifyçbtmtypeid对åº*/ // è¶ ç®¡ä¸ç¨æ ¹æ®è§è²æ¥æ¥è¯¢ @@ -441,4 +441,23 @@ return this.saveBatch(newButtons) ? R.success("æé®å éæåï¼"):R.fail("æé®å é失败ï¼"); } /** * æ ¹æ®ä¸»é®è·åèåä¿¡æ¯ * @param ids * @return */ @Override public List<Menu> getMenuListById(List<String> ids,String parentId) { LambdaQueryWrapper<Menu> wrapper = Wrappers.<Menu>query() .lambda().eq(Menu::getCategory, "2") .eq(Menu::getIsDeleted,BladeConstant.DB_NOT_DELETED); if(VciBaseUtil.checkAdminTenant()){ wrapper.eq(Menu::getParentId,parentId); }else { wrapper.in(Menu::getId, ids); } List<Menu> menuList = this.list(wrapper); return menuList; } } Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MenuMapper.xml
@@ -242,6 +242,7 @@ PL_SYS_MENU WHERE CODE = #{code}) ORDER BY SORT </select> <select id="grantTree" resultMap="treeNodeResultMap"> Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/service/impl/UserServiceImpl.java
@@ -389,8 +389,8 @@ throw new ServiceException("å¯ç ä¸å¿ 须嫿ã"+strategy.getCombinationNames()+"ãä¸çã"+strategy.getRequiredType()+"ãç§å¯ç ç»åæ¹å¼ï¼ä¸å¯ç é¿åº¦å¿ é¡»å¨ã"+strategy.getMinPwdLen()+"-"+strategy.getMaxPwdLen()+"ãèå´å "); } oldPassword = DigestUtil.hex(DigestUtils.md5DigestAsHex((oldPassword).getBytes())); if (!user.getPassword().equals(oldPassword)) { String hexOldPassword = DigestUtil.hex(oldPassword); if (!user.getPassword().equals(hexOldPassword)) { throw new ServiceException("åå¯ç 䏿£ç¡®!"); } List<String> regexs = sysClient.getRegexByList(Arrays.asList(strategy.getCombinationIds().split(","))).getData();