From 35cfaa7259f3d494e7bd03aec5c7e035049ee19b Mon Sep 17 00:00:00 2001
From: yubo <autumnal_wind@yeah.net>
Date: 星期三, 24 九月 2025 19:34:09 +0800
Subject: [PATCH] feat: 新增社保档位提醒功能
---
febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/service/impl/UserServiceImpl.java | 43 +++++++++++++++++++++++++++++++++++++------
1 files changed, 37 insertions(+), 6 deletions(-)
diff --git a/febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/service/impl/UserServiceImpl.java b/febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/service/impl/UserServiceImpl.java
index f3d9f42..85506d6 100644
--- a/febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/service/impl/UserServiceImpl.java
+++ b/febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/service/impl/UserServiceImpl.java
@@ -15,12 +15,14 @@
import cc.mrbird.febs.server.system.service.IUserRoleService;
import cc.mrbird.febs.server.system.service.IUserService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
+import org.apache.logging.log4j.util.LambdaUtil;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
@@ -53,8 +55,9 @@
@Override
public IPage<SystemUser> findUserDetailList(SystemUser user, QueryRequest request) {
Page<SystemUser> page = new Page<>(request.getPageNum(), request.getPageSize());
+ String currentUserId= FebsUtil.getUserId();
SortUtil.handlePageSort(request, page, "userId", FebsConstant.ORDER_ASC, false);
- return this.baseMapper.findUserDetailPage(page, user);
+ return this.baseMapper.findUserDetailPage(page, user, currentUserId);
}
@Override
@@ -76,7 +79,13 @@
@Override
@Transactional(rollbackFor = Exception.class)
- public void createUser(SystemUser user) {
+ public void createUser(SystemUser user) throws FebsException {
+ LambdaQueryWrapper<SystemUser> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+ lambdaQueryWrapper.eq(SystemUser::getCertificateNumb, user.getCertificateNumb());
+ lambdaQueryWrapper.eq(SystemUser::getUsername, user.getUsername());
+ if (this.count(lambdaQueryWrapper) > 0) {
+ throw new FebsException("此用户已存在");
+ }
// 创建用户
user.setCreateTime(new Date());
user.setAvatar(SystemUser.DEFAULT_AVATAR);
@@ -84,15 +93,26 @@
save(user);
// 保存用户角色
String[] roles = StringUtils.splitByWholeSeparatorPreserveAllTokens(user.getRoleId(), StringConstant.COMMA);
- setUserRoles(user, roles);
- // 保存用户数据权限关联关系
+ if(roles!=null){
+ setUserRoles(user, roles);
+ }
String[] deptIds = StringUtils.splitByWholeSeparatorPreserveAllTokens(user.getDeptIds(), StringConstant.COMMA);
- setUserDataPermissions(user, deptIds);
+ if(deptIds!=null){
+ // 保存用户数据权限关联关系
+ setUserDataPermissions(user, deptIds);
+ }
}
@Override
@Transactional(rollbackFor = Exception.class)
- public void updateUser(SystemUser user) {
+ public void updateUser(SystemUser user) throws FebsException {
+ LambdaQueryWrapper<SystemUser> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+ lambdaQueryWrapper.eq(SystemUser::getCertificateNumb, user.getCertificateNumb());
+ lambdaQueryWrapper.eq(SystemUser::getUsername, user.getUsername());
+ lambdaQueryWrapper.ne(SystemUser::getUserId,user.getUserId());
+ if (this.count(lambdaQueryWrapper) > 0) {
+ throw new FebsException("此用户已存在");
+ }
// 更新用户
user.setPassword(null);
user.setUsername(null);
@@ -188,4 +208,15 @@
CurrentUser currentUser = FebsUtil.getCurrentUser();
return currentUser != null && id.equals(currentUser.getUserId());
}
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void updateUserByCertificateNumb(String certificateNumb) {
+ LambdaUpdateWrapper<SystemUser> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
+ lambdaUpdateWrapper.eq(SystemUser::getCertificateNumb,certificateNumb);
+ lambdaUpdateWrapper.set(SystemUser::getStatus,0);
+ lambdaUpdateWrapper.set(SystemUser::getModifyTime,new Date());
+ this.update(lambdaUpdateWrapper);
+ }
+
}
--
Gitblit v1.8.0