From 4f0a584efcbe51c5c232ab6f75a8d760b15d5e03 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期五, 01 四月 2022 17:57:00 +0800
Subject: [PATCH] update springboot 2.6.5 => 2.6.6 修复 CVE-2022-22965 漏洞
---
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java | 68 ++++++++++++++++++++--------------
1 files changed, 40 insertions(+), 28 deletions(-)
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java
index 7d37fab..7e2a56c 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java
@@ -1,17 +1,19 @@
package com.ruoyi.system.service.impl;
-import cn.hutool.core.lang.Validator;
-import cn.hutool.core.util.StrUtil;
+import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.constant.UserConstants;
-import com.ruoyi.common.exception.CustomException;
+import com.ruoyi.common.core.domain.PageQuery;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.domain.SysPost;
import com.ruoyi.system.domain.SysUserPost;
import com.ruoyi.system.mapper.SysPostMapper;
import com.ruoyi.system.mapper.SysUserPostMapper;
import com.ruoyi.system.service.ISysPostService;
-import org.springframework.beans.factory.annotation.Autowired;
+import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.Arrays;
@@ -20,13 +22,24 @@
/**
* 宀椾綅淇℃伅 鏈嶅姟灞傚鐞�
*
- * @author ruoyi
+ * @author Lion Li
*/
+@RequiredArgsConstructor
@Service
-public class SysPostServiceImpl extends ServiceImpl<SysPostMapper, SysPost> implements ISysPostService {
+public class SysPostServiceImpl implements ISysPostService {
- @Autowired
- private SysUserPostMapper userPostMapper;
+ private final SysPostMapper baseMapper;
+ private final SysUserPostMapper userPostMapper;
+
+ @Override
+ public TableDataInfo<SysPost> selectPagePostList(SysPost post, PageQuery pageQuery) {
+ LambdaQueryWrapper<SysPost> lqw = new LambdaQueryWrapper<SysPost>()
+ .like(StringUtils.isNotBlank(post.getPostCode()), SysPost::getPostCode, post.getPostCode())
+ .eq(StringUtils.isNotBlank(post.getStatus()), SysPost::getStatus, post.getStatus())
+ .like(StringUtils.isNotBlank(post.getPostName()), SysPost::getPostName, post.getPostName());
+ Page<SysPost> page = baseMapper.selectPage(pageQuery.build(), lqw);
+ return TableDataInfo.build(page);
+ }
/**
* 鏌ヨ宀椾綅淇℃伅闆嗗悎
@@ -36,10 +49,10 @@
*/
@Override
public List<SysPost> selectPostList(SysPost post) {
- return list(new LambdaQueryWrapper<SysPost>()
- .like(StrUtil.isNotBlank(post.getPostCode()), SysPost::getPostCode, post.getPostCode())
- .eq(StrUtil.isNotBlank(post.getStatus()), SysPost::getStatus, post.getStatus())
- .like(StrUtil.isNotBlank(post.getPostName()), SysPost::getPostName, post.getPostName()));
+ return baseMapper.selectList(new LambdaQueryWrapper<SysPost>()
+ .like(StringUtils.isNotBlank(post.getPostCode()), SysPost::getPostCode, post.getPostCode())
+ .eq(StringUtils.isNotBlank(post.getStatus()), SysPost::getStatus, post.getStatus())
+ .like(StringUtils.isNotBlank(post.getPostName()), SysPost::getPostName, post.getPostName()));
}
/**
@@ -49,7 +62,7 @@
*/
@Override
public List<SysPost> selectPostAll() {
- return list();
+ return baseMapper.selectList();
}
/**
@@ -60,7 +73,7 @@
*/
@Override
public SysPost selectPostById(Long postId) {
- return getById(postId);
+ return baseMapper.selectById(postId);
}
/**
@@ -70,7 +83,7 @@
* @return 閫変腑宀椾綅ID鍒楄〃
*/
@Override
- public List<Integer> selectPostListByUserId(Long userId) {
+ public List<Long> selectPostListByUserId(Long userId) {
return baseMapper.selectPostListByUserId(userId);
}
@@ -82,10 +95,10 @@
*/
@Override
public String checkPostNameUnique(SysPost post) {
- Long postId = Validator.isNull(post.getPostId()) ? -1L : post.getPostId();
- SysPost info = getOne(new LambdaQueryWrapper<SysPost>()
- .eq(SysPost::getPostName, post.getPostName()).last("limit 1"));
- if (Validator.isNotNull(info) && info.getPostId().longValue() != postId.longValue()) {
+ boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysPost>()
+ .eq(SysPost::getPostName, post.getPostName())
+ .ne(ObjectUtil.isNotNull(post.getPostId()), SysPost::getPostId, post.getPostId()));
+ if (exist) {
return UserConstants.NOT_UNIQUE;
}
return UserConstants.UNIQUE;
@@ -99,10 +112,10 @@
*/
@Override
public String checkPostCodeUnique(SysPost post) {
- Long postId = Validator.isNull(post.getPostId()) ? -1L : post.getPostId();
- SysPost info = getOne(new LambdaQueryWrapper<SysPost>()
- .eq(SysPost::getPostCode, post.getPostCode()).last("limit 1"));
- if (Validator.isNotNull(info) && info.getPostId().longValue() != postId.longValue()) {
+ boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysPost>()
+ .eq(SysPost::getPostCode, post.getPostCode())
+ .ne(ObjectUtil.isNotNull(post.getPostId()), SysPost::getPostId, post.getPostId()));
+ if (exist) {
return UserConstants.NOT_UNIQUE;
}
return UserConstants.UNIQUE;
@@ -115,8 +128,8 @@
* @return 缁撴灉
*/
@Override
- public int countUserPostById(Long postId) {
- return userPostMapper.selectCount(new LambdaQueryWrapper<SysUserPost>().eq(SysUserPost::getPostId,postId));
+ public long countUserPostById(Long postId) {
+ return userPostMapper.selectCount(new LambdaQueryWrapper<SysUserPost>().eq(SysUserPost::getPostId, postId));
}
/**
@@ -135,14 +148,13 @@
*
* @param postIds 闇�瑕佸垹闄ょ殑宀椾綅ID
* @return 缁撴灉
- * @throws Exception 寮傚父
*/
@Override
public int deletePostByIds(Long[] postIds) {
for (Long postId : postIds) {
SysPost post = selectPostById(postId);
if (countUserPostById(postId) > 0) {
- throw new CustomException(String.format("%1$s宸插垎閰�,涓嶈兘鍒犻櫎", post.getPostName()));
+ throw new ServiceException(String.format("%1$s宸插垎閰�,涓嶈兘鍒犻櫎", post.getPostName()));
}
}
return baseMapper.deleteBatchIds(Arrays.asList(postIds));
--
Gitblit v1.9.3