mirror of
				https://github.com/continew-org/continew-admin.git
				synced 2025-11-04 10:57:10 +08:00 
			
		
		
		
	fix: 完善事务注解
This commit is contained in:
		@@ -38,13 +38,12 @@ public interface RoleDeptService {
 | 
				
			|||||||
    boolean save(List<Long> deptIds, Long roleId);
 | 
					    boolean save(List<Long> deptIds, Long roleId);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * 根据角色 ID 查询
 | 
					     * 根据角色 ID 删除
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
     * @param roleId
 | 
					     * @param roleIds
 | 
				
			||||||
     *            角色 ID
 | 
					     *            角色 ID 列表
 | 
				
			||||||
     * @return 部门 ID 列表
 | 
					 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    List<Long> listDeptIdByRoleId(Long roleId);
 | 
					    void deleteByRoleIds(List<Long> roleIds);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * 根据部门 ID 删除
 | 
					     * 根据部门 ID 删除
 | 
				
			||||||
@@ -55,10 +54,11 @@ public interface RoleDeptService {
 | 
				
			|||||||
    void deleteByDeptIds(List<Long> deptIds);
 | 
					    void deleteByDeptIds(List<Long> deptIds);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * 根据角色 ID 删除
 | 
					     * 根据角色 ID 查询
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
     * @param roleIds
 | 
					     * @param roleId
 | 
				
			||||||
     *            角色 ID 列表
 | 
					     *            角色 ID
 | 
				
			||||||
 | 
					     * @return 部门 ID 列表
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    void deleteByRoleIds(List<Long> roleIds);
 | 
					    List<Long> listDeptIdByRoleId(Long roleId);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -37,6 +37,14 @@ public interface RoleMenuService {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    boolean save(List<Long> menuIds, Long roleId);
 | 
					    boolean save(List<Long> menuIds, Long roleId);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * 根据角色 ID 删除
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @param roleIds
 | 
				
			||||||
 | 
					     *            角色 ID 列表
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    void deleteByRoleIds(List<Long> roleIds);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * 根据角色 ID 查询
 | 
					     * 根据角色 ID 查询
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
@@ -45,12 +53,4 @@ public interface RoleMenuService {
 | 
				
			|||||||
     * @return 菜单 ID 列表
 | 
					     * @return 菜单 ID 列表
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    List<Long> listMenuIdByRoleIds(List<Long> roleIds);
 | 
					    List<Long> listMenuIdByRoleIds(List<Long> roleIds);
 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
     * 根据角色 ID 删除
 | 
					 | 
				
			||||||
     *
 | 
					 | 
				
			||||||
     * @param roleIds
 | 
					 | 
				
			||||||
     *            角色 ID 列表
 | 
					 | 
				
			||||||
     */
 | 
					 | 
				
			||||||
    void deleteByRoleIds(List<Long> roleIds);
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -38,13 +38,12 @@ public interface UserRoleService {
 | 
				
			|||||||
    boolean save(List<Long> roleIds, Long userId);
 | 
					    boolean save(List<Long> roleIds, Long userId);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * 根据角色 ID 列表查询
 | 
					     * 根据用户 ID 删除
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
     * @param roleIds
 | 
					     * @param userIds
 | 
				
			||||||
     *            角色 ID 列表
 | 
					     *            用户 ID 列表
 | 
				
			||||||
     * @return 总记录数
 | 
					 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    Long countByRoleIds(List<Long> roleIds);
 | 
					    void deleteByUserIds(List<Long> userIds);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * 根据用户 ID 查询
 | 
					     * 根据用户 ID 查询
 | 
				
			||||||
@@ -56,10 +55,11 @@ public interface UserRoleService {
 | 
				
			|||||||
    List<Long> listRoleIdByUserId(Long userId);
 | 
					    List<Long> listRoleIdByUserId(Long userId);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * 根据用户 ID 删除
 | 
					     * 根据角色 ID 列表查询
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
     * @param userIds
 | 
					     * @param roleIds
 | 
				
			||||||
     *            用户 ID 列表
 | 
					     *            角色 ID 列表
 | 
				
			||||||
 | 
					     * @return 总记录数
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    void deleteByUserIds(List<Long> userIds);
 | 
					    Long countByRoleIds(List<Long> roleIds);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -22,6 +22,7 @@ import java.util.stream.Collectors;
 | 
				
			|||||||
import lombok.RequiredArgsConstructor;
 | 
					import lombok.RequiredArgsConstructor;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import org.springframework.stereotype.Service;
 | 
					import org.springframework.stereotype.Service;
 | 
				
			||||||
 | 
					import org.springframework.transaction.annotation.Transactional;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import cn.hutool.core.collection.CollUtil;
 | 
					import cn.hutool.core.collection.CollUtil;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -42,6 +43,7 @@ public class RoleDeptServiceImpl implements RoleDeptService {
 | 
				
			|||||||
    private final RoleDeptMapper roleDeptMapper;
 | 
					    private final RoleDeptMapper roleDeptMapper;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
 | 
					    @Transactional(rollbackFor = Exception.class)
 | 
				
			||||||
    public boolean save(List<Long> deptIds, Long roleId) {
 | 
					    public boolean save(List<Long> deptIds, Long roleId) {
 | 
				
			||||||
        // 检查是否有变更
 | 
					        // 检查是否有变更
 | 
				
			||||||
        List<Long> oldDeptIdList = roleDeptMapper.lambdaQuery().select(RoleDeptDO::getDeptId)
 | 
					        List<Long> oldDeptIdList = roleDeptMapper.lambdaQuery().select(RoleDeptDO::getDeptId)
 | 
				
			||||||
@@ -58,17 +60,19 @@ public class RoleDeptServiceImpl implements RoleDeptService {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public List<Long> listDeptIdByRoleId(Long roleId) {
 | 
					    @Transactional(rollbackFor = Exception.class)
 | 
				
			||||||
        return roleDeptMapper.selectDeptIdByRoleId(roleId);
 | 
					    public void deleteByRoleIds(List<Long> roleIds) {
 | 
				
			||||||
 | 
					        roleDeptMapper.lambdaUpdate().in(RoleDeptDO::getRoleId, roleIds).remove();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
 | 
					    @Transactional(rollbackFor = Exception.class)
 | 
				
			||||||
    public void deleteByDeptIds(List<Long> deptIds) {
 | 
					    public void deleteByDeptIds(List<Long> deptIds) {
 | 
				
			||||||
        roleDeptMapper.lambdaUpdate().in(RoleDeptDO::getDeptId, deptIds).remove();
 | 
					        roleDeptMapper.lambdaUpdate().in(RoleDeptDO::getDeptId, deptIds).remove();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public void deleteByRoleIds(List<Long> roleIds) {
 | 
					    public List<Long> listDeptIdByRoleId(Long roleId) {
 | 
				
			||||||
        roleDeptMapper.lambdaUpdate().in(RoleDeptDO::getRoleId, roleIds).remove();
 | 
					        return roleDeptMapper.selectDeptIdByRoleId(roleId);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -23,6 +23,7 @@ import java.util.stream.Collectors;
 | 
				
			|||||||
import lombok.RequiredArgsConstructor;
 | 
					import lombok.RequiredArgsConstructor;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import org.springframework.stereotype.Service;
 | 
					import org.springframework.stereotype.Service;
 | 
				
			||||||
 | 
					import org.springframework.transaction.annotation.Transactional;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import cn.hutool.core.collection.CollUtil;
 | 
					import cn.hutool.core.collection.CollUtil;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -43,6 +44,7 @@ public class RoleMenuServiceImpl implements RoleMenuService {
 | 
				
			|||||||
    private final RoleMenuMapper roleMenuMapper;
 | 
					    private final RoleMenuMapper roleMenuMapper;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
 | 
					    @Transactional(rollbackFor = Exception.class)
 | 
				
			||||||
    public boolean save(List<Long> menuIds, Long roleId) {
 | 
					    public boolean save(List<Long> menuIds, Long roleId) {
 | 
				
			||||||
        // 检查是否有变更
 | 
					        // 检查是否有变更
 | 
				
			||||||
        List<Long> oldMenuIdList = roleMenuMapper.lambdaQuery().select(RoleMenuDO::getMenuId)
 | 
					        List<Long> oldMenuIdList = roleMenuMapper.lambdaQuery().select(RoleMenuDO::getMenuId)
 | 
				
			||||||
@@ -58,6 +60,12 @@ public class RoleMenuServiceImpl implements RoleMenuService {
 | 
				
			|||||||
        return roleMenuMapper.insertBatch(roleMenuList);
 | 
					        return roleMenuMapper.insertBatch(roleMenuList);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    @Transactional(rollbackFor = Exception.class)
 | 
				
			||||||
 | 
					    public void deleteByRoleIds(List<Long> roleIds) {
 | 
				
			||||||
 | 
					        roleMenuMapper.lambdaUpdate().in(RoleMenuDO::getRoleId, roleIds).remove();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public List<Long> listMenuIdByRoleIds(List<Long> roleIds) {
 | 
					    public List<Long> listMenuIdByRoleIds(List<Long> roleIds) {
 | 
				
			||||||
        if (CollUtil.isEmpty(roleIds)) {
 | 
					        if (CollUtil.isEmpty(roleIds)) {
 | 
				
			||||||
@@ -65,9 +73,4 @@ public class RoleMenuServiceImpl implements RoleMenuService {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
        return roleMenuMapper.selectMenuIdByRoleIds(roleIds);
 | 
					        return roleMenuMapper.selectMenuIdByRoleIds(roleIds);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					 | 
				
			||||||
    @Override
 | 
					 | 
				
			||||||
    public void deleteByRoleIds(List<Long> roleIds) {
 | 
					 | 
				
			||||||
        roleMenuMapper.lambdaUpdate().in(RoleMenuDO::getRoleId, roleIds).remove();
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,6 +22,7 @@ import java.util.stream.Collectors;
 | 
				
			|||||||
import lombok.RequiredArgsConstructor;
 | 
					import lombok.RequiredArgsConstructor;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import org.springframework.stereotype.Service;
 | 
					import org.springframework.stereotype.Service;
 | 
				
			||||||
 | 
					import org.springframework.transaction.annotation.Transactional;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import cn.hutool.core.collection.CollUtil;
 | 
					import cn.hutool.core.collection.CollUtil;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -42,6 +43,7 @@ public class UserRoleServiceImpl implements UserRoleService {
 | 
				
			|||||||
    private final UserRoleMapper userRoleMapper;
 | 
					    private final UserRoleMapper userRoleMapper;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
 | 
					    @Transactional(rollbackFor = Exception.class)
 | 
				
			||||||
    public boolean save(List<Long> roleIds, Long userId) {
 | 
					    public boolean save(List<Long> roleIds, Long userId) {
 | 
				
			||||||
        // 检查是否有变更
 | 
					        // 检查是否有变更
 | 
				
			||||||
        List<Long> oldRoleIdList = userRoleMapper.lambdaQuery().select(UserRoleDO::getRoleId)
 | 
					        List<Long> oldRoleIdList = userRoleMapper.lambdaQuery().select(UserRoleDO::getRoleId)
 | 
				
			||||||
@@ -58,8 +60,9 @@ public class UserRoleServiceImpl implements UserRoleService {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public Long countByRoleIds(List<Long> roleIds) {
 | 
					    @Transactional(rollbackFor = Exception.class)
 | 
				
			||||||
        return userRoleMapper.lambdaQuery().in(UserRoleDO::getRoleId, roleIds).count();
 | 
					    public void deleteByUserIds(List<Long> userIds) {
 | 
				
			||||||
 | 
					        userRoleMapper.lambdaUpdate().in(UserRoleDO::getUserId, userIds).remove();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
@@ -68,7 +71,7 @@ public class UserRoleServiceImpl implements UserRoleService {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public void deleteByUserIds(List<Long> userIds) {
 | 
					    public Long countByRoleIds(List<Long> roleIds) {
 | 
				
			||||||
        userRoleMapper.lambdaUpdate().in(UserRoleDO::getUserId, userIds).remove();
 | 
					        return userRoleMapper.lambdaQuery().in(UserRoleDO::getRoleId, roleIds).count();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -186,6 +186,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, UserDO, UserVO,
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
 | 
					    @Transactional(rollbackFor = Exception.class)
 | 
				
			||||||
    public void updateBasicInfo(UpdateBasicInfoRequest request, Long id) {
 | 
					    public void updateBasicInfo(UpdateBasicInfoRequest request, Long id) {
 | 
				
			||||||
        super.getById(id);
 | 
					        super.getById(id);
 | 
				
			||||||
        baseMapper.lambdaUpdate().set(UserDO::getNickname, request.getNickname())
 | 
					        baseMapper.lambdaUpdate().set(UserDO::getNickname, request.getNickname())
 | 
				
			||||||
@@ -219,6 +220,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, UserDO, UserVO,
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
 | 
					    @Transactional(rollbackFor = Exception.class)
 | 
				
			||||||
    public void resetPassword(Long id) {
 | 
					    public void resetPassword(Long id) {
 | 
				
			||||||
        UserDO user = super.getById(id);
 | 
					        UserDO user = super.getById(id);
 | 
				
			||||||
        user.setPassword(SecureUtils.md5Salt(SysConsts.DEFAULT_PASSWORD, id.toString()));
 | 
					        user.setPassword(SecureUtils.md5Salt(SysConsts.DEFAULT_PASSWORD, id.toString()));
 | 
				
			||||||
@@ -227,6 +229,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, UserDO, UserVO,
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
 | 
					    @Transactional(rollbackFor = Exception.class)
 | 
				
			||||||
    public void updateRole(UpdateUserRoleRequest request, Long id) {
 | 
					    public void updateRole(UpdateUserRoleRequest request, Long id) {
 | 
				
			||||||
        super.getById(id);
 | 
					        super.getById(id);
 | 
				
			||||||
        // 保存用户和角色关联
 | 
					        // 保存用户和角色关联
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -84,7 +84,8 @@ public class UserCenterController {
 | 
				
			|||||||
        String rawNewPassword =
 | 
					        String rawNewPassword =
 | 
				
			||||||
            ExceptionUtils.exToNull(() -> SecureUtils.decryptByRsaPrivateKey(updatePasswordRequest.getNewPassword()));
 | 
					            ExceptionUtils.exToNull(() -> SecureUtils.decryptByRsaPrivateKey(updatePasswordRequest.getNewPassword()));
 | 
				
			||||||
        ValidationUtils.throwIfBlank(rawNewPassword, "新密码解密失败");
 | 
					        ValidationUtils.throwIfBlank(rawNewPassword, "新密码解密失败");
 | 
				
			||||||
        ValidationUtils.throwIf(!ReUtil.isMatch(RegexConsts.PASSWORD, rawNewPassword), "密码长度 6 到 32 位,同时包含字母和数字");
 | 
					        ValidationUtils.throwIf(!ReUtil.isMatch(RegexConsts.PASSWORD, rawNewPassword),
 | 
				
			||||||
 | 
					            "密码长度为 6 到 32 位,可以包含字母、数字、下划线,特殊字符,同时包含字母和数字");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // 修改密码
 | 
					        // 修改密码
 | 
				
			||||||
        userService.updatePassword(rawOldPassword, rawNewPassword, LoginHelper.getUserId());
 | 
					        userService.updatePassword(rawOldPassword, rawNewPassword, LoginHelper.getUserId());
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user