ludc
2023-12-27 360accaf390a8541a325936522ad863ef7b04632
密码修改对话框修改,密码修改原密码传参修改
已修改7个文件
已删除6个文件
835 ■■■■ 文件已修改
Source/.idea/.gitignore 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/.idea/Source.iml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/.idea/easyCodeTableSetting.xml 694 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/.idea/misc.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/.idea/modules.xml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/.idea/vcs.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/ClassifyAuthController.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IClassifyAuthService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMenuService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/ClassifyAuthServiceImpl.java 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MenuMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/service/impl/UserServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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();