/*
* Copyright [2022] [https://www.xiaonuo.vip]
*
* Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
*
* 1.请不要删除和修改根目录下的LICENSE文件。
* 2.请不要删除和修改Snowy源码头部的版权声明。
* 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
* 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
* 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
* 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
*/
package cn.ecnu.sys.modular.user.service.impl;
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.dev33.satoken.stp.StpUtil;
import cn.hutool.captcha.CaptchaUtil;
import cn.hutool.captcha.CircleCaptcha;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollStreamUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.img.ImgUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.lang.tree.Tree;
import cn.hutool.core.lang.tree.TreeNode;
import cn.hutool.core.lang.tree.TreeNodeConfig;
import cn.hutool.core.lang.tree.TreeUtil;
import cn.hutool.core.lang.tree.parser.DefaultNodeParser;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.PhoneUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.digest.BCrypt;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fhs.trans.service.impl.TransService;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import cn.ecnu.common.cache.CommonCacheOperator;
import cn.ecnu.common.enums.CommonSortOrderEnum;
import cn.ecnu.common.exception.CommonException;
import cn.ecnu.common.page.CommonPageRequest;
import cn.ecnu.common.util.*;
import cn.ecnu.dev.api.DevConfigApi;
import cn.ecnu.dev.api.DevEmailApi;
import cn.ecnu.dev.api.DevMessageApi;
import cn.ecnu.dev.api.DevSmsApi;
import cn.ecnu.sys.core.enums.SysBuildInEnum;
import cn.ecnu.sys.modular.org.entity.SysOrg;
import cn.ecnu.sys.modular.org.service.SysOrgService;
import cn.ecnu.sys.modular.position.entity.SysPosition;
import cn.ecnu.sys.modular.position.service.SysPositionService;
import cn.ecnu.sys.modular.relation.entity.SysRelation;
import cn.ecnu.sys.modular.relation.enums.SysRelationCategoryEnum;
import cn.ecnu.sys.modular.relation.service.SysRelationService;
import cn.ecnu.sys.modular.resource.entity.SysButton;
import cn.ecnu.sys.modular.resource.entity.SysMenu;
import cn.ecnu.sys.modular.resource.enums.SysResourceCategoryEnum;
import cn.ecnu.sys.modular.resource.enums.SysResourceMenuTypeEnum;
import cn.ecnu.sys.modular.resource.service.SysButtonService;
import cn.ecnu.sys.modular.resource.service.SysMenuService;
import cn.ecnu.sys.modular.role.entity.SysRole;
import cn.ecnu.sys.modular.role.enums.SysRoleDataScopeCategoryEnum;
import cn.ecnu.sys.modular.role.service.SysRoleService;
import cn.ecnu.sys.modular.user.entity.SysUser;
import cn.ecnu.sys.modular.user.enums.SysUserStatusEnum;
import cn.ecnu.sys.modular.user.mapper.SysUserMapper;
import cn.ecnu.sys.modular.user.param.*;
import cn.ecnu.sys.modular.user.result.*;
import cn.ecnu.sys.modular.user.service.SysUserService;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.awt.image.BufferedImage;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.stream.Collectors;
/**
* 用户Service接口实现类
*
* @author xuyuxiang
* @date 2022/2/23 18:43
**/
@Service
public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements SysUserService {
private static final String SNOWY_SYS_DEFAULT_PASSWORD_KEY = "SNOWY_SYS_DEFAULT_PASSWORD";
private static final String SNOWY_SYS_DEFAULT_WORKBENCH_DATA_KEY = "SNOWY_SYS_DEFAULT_WORKBENCH_DATA";
private static final String USER_CACHE_KEY = "user-validCode:";
@Resource
private CommonCacheOperator commonCacheOperator;
@Resource
private DevSmsApi devSmsApi;
@Resource
private TransService transService;
@Resource
private DevEmailApi devEmailApi;
@Resource
private DevConfigApi devConfigApi;
@Resource
private DevMessageApi devMessageApi;
@Resource
private SysOrgService sysOrgService;
@Resource
private SysPositionService sysPositionService;
@Resource
private SysRoleService sysRoleService;
@Resource
private SysMenuService sysMenuService;
@Resource
private SysButtonService sysButtonService;
@Resource
private SysRelationService sysRelationService;
@Override
public SysLoginUser getUserById(String id) {
SysUser sysUser = this.getById(id);
if (ObjectUtil.isNotEmpty(sysUser)) {
transService.transOne(sysUser);
return BeanUtil.copyProperties(sysUser, SysLoginUser.class);
}
return null;
}
@Override
public SysLoginUser getUserByAccount(String account) {
SysUser sysUser = this.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getAccount, account));
if (ObjectUtil.isNotEmpty(sysUser)) {
transService.transOne(sysUser);
return BeanUtil.copyProperties(sysUser, SysLoginUser.class);
}
return null;
}
@Override
public SysLoginUser getUserByPhone(String phone) {
SysUser sysUser = this.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getPhone, CommonCryptogramUtil.doSm4CbcEncrypt(phone)));
if (ObjectUtil.isNotEmpty(sysUser)) {
transService.transOne(sysUser);
return BeanUtil.copyProperties(sysUser, SysLoginUser.class);
}
return null;
}
@Override
public SysLoginUser getUserByEmail(String email) {
SysUser sysUser = this.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getEmail, email));
if (ObjectUtil.isNotEmpty(sysUser)) {
transService.transOne(sysUser);
return BeanUtil.copyProperties(sysUser, SysLoginUser.class);
}
return null;
}
@Override
public Page<SysUser> page(SysUserPageParam sysUserPageParam) {
QueryWrapper<SysUser> queryWrapper = new QueryWrapper<>();
if (ObjectUtil.isNotEmpty(sysUserPageParam.getSearchKey())) {
queryWrapper.lambda().like(SysUser::getAccount, sysUserPageParam.getSearchKey()).or()
.like(SysUser::getName, sysUserPageParam.getSearchKey());
}
if (ObjectUtil.isNotEmpty(sysUserPageParam.getOrgId())) {
queryWrapper.lambda().eq(SysUser::getOrgId, sysUserPageParam.getOrgId());
}
if (ObjectUtil.isNotEmpty(sysUserPageParam.getUserStatus())) {
queryWrapper.lambda().eq(SysUser::getUserStatus, sysUserPageParam.getUserStatus());
}
if (ObjectUtil.isAllNotEmpty(sysUserPageParam.getSortField(), sysUserPageParam.getSortOrder())) {
Comm
没有合适的资源?快使用搜索试试~ 我知道了~
高级web的课程设计.zip
共480个文件
java:426个
xml:40个
md:8个
需积分: 5 0 下载量 55 浏览量
2024-08-17
09:21:09
上传
评论
收藏 6.54MB ZIP 举报
温馨提示
项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全栈开发),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助 【资源内容】:项目具体内容可查看/点击本页面下方的*资源详情*,包含完整源码+工程文件+说明(若有)等。【若无积分,此资源可私信获取】 【本人专注IT领域】:有任何使用问题欢迎随时与我联系,我会及时解答,第一时间为您提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【适合场景】:相关项目设计中,皆可应用在项目开发、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面中 可借鉴此优质项目实现复刻,也可基于此项目来扩展开发出更多功能 #注 1. 积分资源不提供技术指导/答疑 2. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担 3. 部分字体及插图等来自网络,若是侵权请联系删除,本人不对所涉及的版权问题或内容负法律责任。收取的费用仅用于收集和整理资料耗费时间的酬劳
资源推荐
资源详情
资源评论
收起资源包目录
高级web的课程设计.zip (480个子文件)
.gitignore 284B
kingbase8-8.6.0.jar 1006KB
DmJdbcDriver18.jar 907KB
SysUserServiceImpl.java 51KB
StpClientUtil.java 28KB
SysRoleServiceImpl.java 27KB
BizUserServiceImpl.java 26KB
GlobalConfigure.java 21KB
DevFileTencentUtil.java 18KB
AuthServiceImpl.java 17KB
BizOrgServiceImpl.java 17KB
SysMenuServiceImpl.java 16KB
DevFileAliyunUtil.java 16KB
DevFileMinIoUtil.java 15KB
AuthSessionServiceImpl.java 14KB
SysOrgServiceImpl.java 14KB
BizPositionServiceImpl.java 12KB
DevFileLocalUtil.java 12KB
DevMessageServiceImpl.java 12KB
DevFileServiceImpl.java 11KB
DevJobServiceImpl.java 11KB
SysUser.java 11KB
BizUser.java 11KB
ClientUserServiceImpl.java 11KB
DevEmailServiceImpl.java 10KB
BizUserController.java 10KB
DevDictServiceImpl.java 10KB
SysUserCenterController.java 10KB
DevEmailTencentUtil.java 10KB
AuthThirdServiceImpl.java 10KB
DevFileController.java 10KB
DevLogServiceImpl.java 10KB
ClientRelationServiceImpl.java 9KB
SysUserController.java 9KB
SysPositionServiceImpl.java 9KB
SysRelationServiceImpl.java 9KB
DevRelationServiceImpl.java 9KB
DevMonitorServiceImpl.java 9KB
SysRoleController.java 9KB
GlobalExceptionUtil.java 9KB
SysUserService.java 9KB
DevEmailAliyunUtil.java 9KB
ClientUser.java 9KB
DevConfigServiceImpl.java 8KB
SysButtonServiceImpl.java 8KB
SaBaseLoginUser.java 8KB
SysModuleServiceImpl.java 7KB
SysSpaServiceImpl.java 7KB
DevMonitorServerResult.java 7KB
DevEmailController.java 7KB
CommonTimeFormatUtil.java 7KB
SaBaseClientLoginUser.java 7KB
DevEmailApi.java 7KB
SysUserResult.java 6KB
SysRelationService.java 6KB
DevSmsTencentUtil.java 6KB
ClientRelationService.java 6KB
DevRelationService.java 6KB
DevEmailApiProvider.java 6KB
SysUserApiProvider.java 6KB
SysMenuController.java 6KB
AuthConfigure.java 6KB
AuthSessionController.java 6KB
DevLogUtil.java 6KB
DevJobController.java 6KB
DevConfigController.java 6KB
BizOrgController.java 6KB
BizPositionController.java 6KB
SysUserEditParam.java 5KB
BizUserEditParam.java 5KB
DevSmsServiceImpl.java 5KB
DevSmsAliyunUtil.java 5KB
SysOrgController.java 5KB
SysUserAddParam.java 5KB
BizUserAddParam.java 5KB
SysPositionController.java 5KB
SysIndexController.java 5KB
SysIndexServiceImpl.java 5KB
CommonNetWorkInfoUtil.java 5KB
CommonCryptogramUtil.java 5KB
DevDictController.java 5KB
SysUserExportResult.java 5KB
BizUserExportResult.java 5KB
AuthClientController.java 5KB
DevLogAop.java 5KB
CommonAvatarUtil.java 5KB
AuthController.java 5KB
DevLogController.java 5KB
ClientLoginUserApiProvider.java 5KB
ClientUserEditParam.java 4KB
BizUserService.java 4KB
CommonResult.java 4KB
ClientUserController.java 4KB
ClientUserAddParam.java 4KB
SysModuleController.java 4KB
DevSmsController.java 4KB
SysLoginUserApiProvider.java 4KB
SysRoleService.java 4KB
SysSpaController.java 4KB
SysButtonController.java 4KB
共 480 条
- 1
- 2
- 3
- 4
- 5
资源评论
热爱技术。
- 粉丝: 2530
- 资源: 7861
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功