| | |
| | | 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; |
| | |
| | | @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 |
| | |
| | | |
| | | @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); |
| | |
| | | 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); |
| | |
| | | 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); |
| | | } |
| | | |
| | | } |