Commit 7519c2ef authored by 施翔轲's avatar 施翔轲

更新用户管理导入模板、修复批量导入用户bug

parent 53cb5e9b
...@@ -5,11 +5,11 @@ import cn.hutool.core.io.FileUtil; ...@@ -5,11 +5,11 @@ import cn.hutool.core.io.FileUtil;
import com.dsk.common.annotation.Log; import com.dsk.common.annotation.Log;
import com.dsk.common.core.controller.BaseController; import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.R; import com.dsk.common.core.domain.R;
import com.dsk.system.domain.SysUser;
import com.dsk.common.enums.BusinessType; import com.dsk.common.enums.BusinessType;
import com.dsk.common.helper.LoginHelper; import com.dsk.common.helper.LoginHelper;
import com.dsk.common.utils.StringUtils; import com.dsk.common.utils.StringUtils;
import com.dsk.common.utils.file.MimeTypeUtils; import com.dsk.common.utils.file.MimeTypeUtils;
import com.dsk.system.domain.SysUser;
import com.dsk.system.domain.vo.SysOssVo; import com.dsk.system.domain.vo.SysOssVo;
import com.dsk.system.service.ISysOssService; import com.dsk.system.service.ISysOssService;
import com.dsk.system.service.ISysUserService; import com.dsk.system.service.ISysUserService;
......
...@@ -7,6 +7,7 @@ import cn.hutool.core.lang.tree.Tree; ...@@ -7,6 +7,7 @@ import cn.hutool.core.lang.tree.Tree;
import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.dsk.common.annotation.Log; import com.dsk.common.annotation.Log;
import com.dsk.common.constant.GlobalConstants;
import com.dsk.common.core.controller.BaseController; import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.PageQuery; import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.domain.R; import com.dsk.common.core.domain.R;
...@@ -17,6 +18,7 @@ import com.dsk.common.helper.LoginHelper; ...@@ -17,6 +18,7 @@ import com.dsk.common.helper.LoginHelper;
import com.dsk.common.utils.StreamUtils; import com.dsk.common.utils.StreamUtils;
import com.dsk.common.utils.StringUtils; import com.dsk.common.utils.StringUtils;
import com.dsk.common.utils.poi.ExcelUtil; import com.dsk.common.utils.poi.ExcelUtil;
import com.dsk.common.utils.redis.RedisUtils;
import com.dsk.system.domain.SysDept; import com.dsk.system.domain.SysDept;
import com.dsk.system.domain.SysRole; import com.dsk.system.domain.SysRole;
import com.dsk.system.domain.SysUser; import com.dsk.system.domain.SysUser;
...@@ -84,6 +86,18 @@ public class SysUserController extends BaseController { ...@@ -84,6 +86,18 @@ public class SysUserController extends BaseController {
ExcelUtil.exportExcel(listVo, "用户数据", SysUserExportVo.class, response); ExcelUtil.exportExcel(listVo, "用户数据", SysUserExportVo.class, response);
} }
/**
* 获取批量导入用户失败列表
*/
@Log(title = "用户管理", businessType = BusinessType.EXPORT)
@SaCheckPermission("system:user:export")
@PostMapping("/exportFailUsers")
public void exportFailUsers(HttpServletResponse response) {
String key = GlobalConstants.BATCH_IMPORT_FAIL_USERS + LoginHelper.getUserId();
ExcelUtil.exportExcel(RedisUtils.getCacheList(key), "用户数据", SysUserImportVo.class, response);
RedisUtils.deleteObject(key);
}
/** /**
* 导入数据 * 导入数据
* *
...@@ -93,8 +107,14 @@ public class SysUserController extends BaseController { ...@@ -93,8 +107,14 @@ public class SysUserController extends BaseController {
@Log(title = "用户管理", businessType = BusinessType.IMPORT) @Log(title = "用户管理", businessType = BusinessType.IMPORT)
@SaCheckPermission("system:user:import") @SaCheckPermission("system:user:import")
@PostMapping(value = "/importData", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) @PostMapping(value = "/importData", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public R<Void> importData(@RequestPart("file") MultipartFile file, boolean updateSupport) throws Exception { public R<List<SysUserImportVo>> importData(@RequestPart("file") MultipartFile file, boolean updateSupport) throws Exception {
ExcelResult<SysUserImportVo> result = ExcelUtil.importExcel(file.getInputStream(), SysUserImportVo.class, new SysUserImportListener(updateSupport)); ExcelResult<SysUserImportVo> result = ExcelUtil.importExcel(file.getInputStream(), SysUserImportVo.class, new SysUserImportListener(updateSupport));
List<SysUserImportVo> resultList = result.getList();
if (ObjectUtil.isNotNull(resultList)) {
String key = GlobalConstants.BATCH_IMPORT_FAIL_USERS + LoginHelper.getUserId();
RedisUtils.setCacheList(key, resultList);
return R.fail(resultList);
}
return R.ok(result.getAnalysis()); return R.ok(result.getAnalysis());
} }
...@@ -103,7 +123,9 @@ public class SysUserController extends BaseController { ...@@ -103,7 +123,9 @@ public class SysUserController extends BaseController {
*/ */
@PostMapping("/importTemplate") @PostMapping("/importTemplate")
public void importTemplate(HttpServletResponse response) { public void importTemplate(HttpServletResponse response) {
ExcelUtil.exportExcel(new ArrayList<>(), "用户数据", SysUserImportVo.class, response); List<Object> list = new ArrayList<>();
list.add(new SysUserImportVo("测试部门", "测试用户昵称", "18888888888", "测试角色"));
ExcelUtil.exportTemplate(list, "用户数据", "excel/userImportTemplate.xlsx", response);
} }
/** /**
...@@ -135,9 +157,7 @@ public class SysUserController extends BaseController { ...@@ -135,9 +157,7 @@ public class SysUserController extends BaseController {
@Log(title = "用户管理", businessType = BusinessType.INSERT) @Log(title = "用户管理", businessType = BusinessType.INSERT)
@PostMapping @PostMapping
public R<Void> add(@Validated @RequestBody SysUser user) { public R<Void> add(@Validated @RequestBody SysUser user) {
if (!userService.checkUserNameUnique(user)) { if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
return R.fail("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
} else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
return R.fail("新增用户'" + user.getUserName() + "'失败,手机号码已存在"); return R.fail("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
} else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) { } else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) {
return R.fail("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在"); return R.fail("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在");
......
...@@ -43,4 +43,9 @@ public interface GlobalConstants { ...@@ -43,4 +43,9 @@ public interface GlobalConstants {
*/ */
String PHONE_DEFAULT_TENANT = GLOBAL_REDIS_KEY + "phone_default_tenant:"; String PHONE_DEFAULT_TENANT = GLOBAL_REDIS_KEY + "phone_default_tenant:";
/**
* 批量导入用户失败集合
*/
String BATCH_IMPORT_FAIL_USERS = GLOBAL_REDIS_KEY + "batch_import_fail_users";
} }
...@@ -2,25 +2,14 @@ package com.dsk.system.domain.vo; ...@@ -2,25 +2,14 @@ package com.dsk.system.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.dsk.common.annotation.ExcelDictFormat; import com.dsk.common.annotation.ExcelDictFormat;
import com.dsk.common.convert.ExcelDictConvert; import com.dsk.common.convert.ExcelDictConvert;
import com.dsk.common.tenant.core.TenantEntity;
import com.dsk.system.domain.SysDept; import com.dsk.system.domain.SysDept;
import com.dsk.system.domain.SysTenantPackage;
import com.sun.org.apache.xpath.internal.operations.Bool;
import io.github.linpeilie.annotations.AutoMapper; import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date;
/** /**
* 部门表 sys_dept * 部门表 sys_dept
...@@ -105,4 +94,10 @@ public class SysDeptVo implements Serializable { ...@@ -105,4 +94,10 @@ public class SysDeptVo implements Serializable {
@ExcelProperty(value = "该部门是否存在用户", converter = ExcelDictConvert.class) @ExcelProperty(value = "该部门是否存在用户", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "true=存在,false=删除") @ExcelDictFormat(readConverterExp = "true=存在,false=删除")
private Boolean existUsers; private Boolean existUsers;
/**
* 创建时间
*/
@ExcelProperty(value = "创建时间")
private Date createTime;
} }
...@@ -9,7 +9,6 @@ import io.github.linpeilie.annotations.AutoMapper; ...@@ -9,7 +9,6 @@ import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date;
/** /**
* @author sxk * @author sxk
...@@ -35,4 +34,10 @@ public class SysTenantPackageSelectVo implements Serializable { ...@@ -35,4 +34,10 @@ public class SysTenantPackageSelectVo implements Serializable {
@ExcelProperty(value = "套餐名称") @ExcelProperty(value = "套餐名称")
private String packageName; private String packageName;
/**
* 状态(0正常 1停用)
*/
@ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "0=正常,1=停用")
private String status;
} }
package com.dsk.system.domain.vo; package com.dsk.system.domain.vo;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.dsk.common.annotation.ExcelDictFormat;
import com.dsk.common.convert.ExcelDictConvert;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
...@@ -18,38 +16,21 @@ import java.io.Serializable; ...@@ -18,38 +16,21 @@ import java.io.Serializable;
@NoArgsConstructor @NoArgsConstructor
// @Accessors(chain = true) // 导入不允许使用 会找不到set方法 // @Accessors(chain = true) // 导入不允许使用 会找不到set方法
public class SysUserImportVo implements Serializable { public class SysUserImportVo implements Serializable {
private static final long serialVersionUID = 1L;
/** //如需修改以下字段,需同步修改
* 用户ID private static final long serialVersionUID = 1L;
*/
@ExcelProperty(value = "用户序号")
private Long userId;
/**
* 部门ID
*/
@ExcelProperty(value = "部门编号")
private Long deptId;
/** /**
* 用户账号 * 所属部门
*/ */
@ExcelProperty(value = "登录名称") private String deptName;
private String userName;
/** /**
* 用户昵称 * 用户昵称
*/ */
@ExcelProperty(value = "用户称") @ExcelProperty(value = "用户称")
private String nickName; private String nickName;
/**
* 用户邮箱
*/
@ExcelProperty(value = "用户邮箱")
private String email;
/** /**
* 手机号码 * 手机号码
*/ */
...@@ -57,17 +38,21 @@ public class SysUserImportVo implements Serializable { ...@@ -57,17 +38,21 @@ public class SysUserImportVo implements Serializable {
private String phonenumber; private String phonenumber;
/** /**
* 用户性别 * 用户角色
*/ */
@ExcelProperty(value = "用户性别", converter = ExcelDictConvert.class) @ExcelProperty(value = "用户角色")
@ExcelDictFormat(dictType = "sys_user_sex") private String roleName;
private String sex;
/** /**
* 帐号状态(0正常 1停用) * 失败原因
* 该字段无需同步到模板中
*/ */
@ExcelProperty(value = "帐号状态", converter = ExcelDictConvert.class) private String failReason;
@ExcelDictFormat(dictType = "sys_normal_disable")
private String status;
public SysUserImportVo(String deptName, String nickName, String phonenumber, String roleName) {
this.deptName = deptName.replace(" ", "");
this.nickName = nickName.replace(" ", "");
this.phonenumber = phonenumber;
this.roleName = roleName.replace(" ", "");
}
} }
...@@ -5,18 +5,23 @@ import cn.hutool.core.bean.BeanUtil; ...@@ -5,18 +5,23 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener; import com.alibaba.excel.event.AnalysisEventListener;
import com.dsk.system.domain.vo.SysUserImportVo;
import com.dsk.system.domain.SysUser;
import com.dsk.common.excel.ExcelListener; import com.dsk.common.excel.ExcelListener;
import com.dsk.common.excel.ExcelResult; import com.dsk.common.excel.ExcelResult;
import com.dsk.common.exception.ServiceException; import com.dsk.common.exception.ServiceException;
import com.dsk.common.helper.LoginHelper; import com.dsk.common.helper.LoginHelper;
import com.dsk.common.utils.ValidatorUtils; import com.dsk.common.utils.ValidatorUtils;
import com.dsk.common.utils.spring.SpringUtils; import com.dsk.common.utils.spring.SpringUtils;
import com.dsk.system.domain.SysDept;
import com.dsk.system.domain.SysRole;
import com.dsk.system.domain.SysUser;
import com.dsk.system.domain.vo.SysUserImportVo;
import com.dsk.system.service.ISysConfigService; import com.dsk.system.service.ISysConfigService;
import com.dsk.system.service.ISysDeptService;
import com.dsk.system.service.ISysRoleService;
import com.dsk.system.service.ISysUserService; import com.dsk.system.service.ISysUserService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
...@@ -28,13 +33,15 @@ import java.util.List; ...@@ -28,13 +33,15 @@ import java.util.List;
public class SysUserImportListener extends AnalysisEventListener<SysUserImportVo> implements ExcelListener<SysUserImportVo> { public class SysUserImportListener extends AnalysisEventListener<SysUserImportVo> implements ExcelListener<SysUserImportVo> {
private final ISysUserService userService; private final ISysUserService userService;
private final ISysDeptService deptService;
private final ISysRoleService roleService;
private final String password; private final String password;
private final Boolean isUpdateSupport; private final Boolean isUpdateSupport;
private final String operName; private final String operName;
private ArrayList<SysUserImportVo> resultList = new ArrayList<>();
private int successNum = 0; private int successNum = 0;
private int failureNum = 0; private int failureNum = 0;
private final StringBuilder successMsg = new StringBuilder(); private final StringBuilder successMsg = new StringBuilder();
...@@ -43,6 +50,8 @@ public class SysUserImportListener extends AnalysisEventListener<SysUserImportVo ...@@ -43,6 +50,8 @@ public class SysUserImportListener extends AnalysisEventListener<SysUserImportVo
public SysUserImportListener(Boolean isUpdateSupport) { public SysUserImportListener(Boolean isUpdateSupport) {
String initPassword = SpringUtils.getBean(ISysConfigService.class).selectConfigByKey("sys.user.initPassword"); String initPassword = SpringUtils.getBean(ISysConfigService.class).selectConfigByKey("sys.user.initPassword");
this.userService = SpringUtils.getBean(ISysUserService.class); this.userService = SpringUtils.getBean(ISysUserService.class);
this.deptService = SpringUtils.getBean(ISysDeptService.class);
this.roleService = SpringUtils.getBean(ISysRoleService.class);
this.password = BCrypt.hashpw(initPassword); this.password = BCrypt.hashpw(initPassword);
this.isUpdateSupport = isUpdateSupport; this.isUpdateSupport = isUpdateSupport;
this.operName = LoginHelper.getUsername(); this.operName = LoginHelper.getUsername();
...@@ -50,13 +59,25 @@ public class SysUserImportListener extends AnalysisEventListener<SysUserImportVo ...@@ -50,13 +59,25 @@ public class SysUserImportListener extends AnalysisEventListener<SysUserImportVo
@Override @Override
public void invoke(SysUserImportVo userVo, AnalysisContext context) { public void invoke(SysUserImportVo userVo, AnalysisContext context) {
SysUser user = this.userService.selectUserByUserName(userVo.getUserName()); SysUser user = this.userService.selectUserByPhonenumber(userVo.getPhonenumber());
SysDept dept = this.deptService.selectDeptByDeptName(userVo.getDeptName());
SysRole role = this.roleService.selectRoleByRoleName(userVo.getRoleName());
try { try {
if (ObjectUtil.isNull(dept)) {
throw new ServiceException("部门不存在");
}
if (ObjectUtil.isNull(role)) {
throw new ServiceException("角色不存在");
}
// 验证是否存在这个用户 // 验证是否存在这个用户
if (ObjectUtil.isNull(user)) { if (ObjectUtil.isNull(user)) {
user = BeanUtil.toBean(userVo, SysUser.class); user = BeanUtil.toBean(userVo, SysUser.class);
user.setUserName(userVo.getPhonenumber());
user.setDeptId(dept.getDeptId());
user.setDept(dept);
user.setRoleId(role.getRoleId());
user.setRoleIds(new Long[]{role.getRoleId()});
ValidatorUtils.validate(user); ValidatorUtils.validate(user);
user.setPassword(password);
user.setCreateBy(operName); user.setCreateBy(operName);
userService.insertUser(user); userService.insertUser(user);
successNum++; successNum++;
...@@ -75,11 +96,15 @@ public class SysUserImportListener extends AnalysisEventListener<SysUserImportVo ...@@ -75,11 +96,15 @@ public class SysUserImportListener extends AnalysisEventListener<SysUserImportVo
} else { } else {
failureNum++; failureNum++;
failureMsg.append("<br/>").append(failureNum).append("、账号 ").append(user.getUserName()).append(" 已存在"); failureMsg.append("<br/>").append(failureNum).append("、账号 ").append(user.getUserName()).append(" 已存在");
userVo.setFailReason("手机号已存在");
resultList.add(userVo);
} }
} catch (Exception e) { } catch (Exception e) {
failureNum++; failureNum++;
String msg = "<br/>" + failureNum + "、账号 " + user.getUserName() + " 导入失败:"; String msg = "<br/>" + failureNum + "、账号 " + userVo.getPhonenumber() + " 导入失败:";
failureMsg.append(msg).append(e.getMessage()); failureMsg.append(msg).append(e.getMessage());
userVo.setFailReason(e.getMessage());
resultList.add(userVo);
log.error(msg, e); log.error(msg, e);
} }
} }
...@@ -106,7 +131,7 @@ public class SysUserImportListener extends AnalysisEventListener<SysUserImportVo ...@@ -106,7 +131,7 @@ public class SysUserImportListener extends AnalysisEventListener<SysUserImportVo
@Override @Override
public List<SysUserImportVo> getList() { public List<SysUserImportVo> getList() {
return null; return resultList;
} }
@Override @Override
......
...@@ -51,6 +51,14 @@ public interface ISysDeptService { ...@@ -51,6 +51,14 @@ public interface ISysDeptService {
*/ */
SysDept selectDeptById(Long deptId); SysDept selectDeptById(Long deptId);
/**
* 根据部门名称查询部门
*
* @param deptName 部门名称
* @return 部门
*/
SysDept selectDeptByDeptName(String deptName);
/** /**
* 根据ID查询所有子部门数(正常状态) * 根据ID查询所有子部门数(正常状态)
* *
...@@ -113,4 +121,5 @@ public interface ISysDeptService { ...@@ -113,4 +121,5 @@ public interface ISysDeptService {
* @return 结果 * @return 结果
*/ */
int deleteDeptById(Long deptId); int deleteDeptById(Long deptId);
} }
...@@ -42,6 +42,14 @@ public interface ISysRoleService { ...@@ -42,6 +42,14 @@ public interface ISysRoleService {
*/ */
Set<String> selectRolePermissionByUserId(Long userId); Set<String> selectRolePermissionByUserId(Long userId);
/**
* 根据角色名称查询角色
*
* @param roleName 角色名称
* @return 角色
*/
SysRole selectRoleByRoleName(String roleName);
/** /**
* 查询所有角色 * 查询所有角色
* *
...@@ -178,4 +186,5 @@ public interface ISysRoleService { ...@@ -178,4 +186,5 @@ public interface ISysRoleService {
int insertAuthUsers(Long roleId, Long[] userIds); int insertAuthUsers(Long roleId, Long[] userIds);
void cleanOnlineUserByRole(Long roleId); void cleanOnlineUserByRole(Long roleId);
} }
...@@ -5,7 +5,6 @@ import cn.hutool.core.collection.CollUtil; ...@@ -5,7 +5,6 @@ import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dsk.common.constant.TenantConstants;
import com.dsk.common.core.domain.PageQuery; import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.exception.ServiceException; import com.dsk.common.exception.ServiceException;
...@@ -57,8 +56,7 @@ public class ISysTenantPackageServiceImpl implements ISysTenantPackageService { ...@@ -57,8 +56,7 @@ public class ISysTenantPackageServiceImpl implements ISysTenantPackageService {
*/ */
@Override @Override
public List<SysTenantPackageSelectVo> selectList() { public List<SysTenantPackageSelectVo> selectList() {
List<SysTenantPackageVo> tenantPackageVo = baseMapper.selectVoList(new LambdaQueryWrapper<SysTenantPackage>() List<SysTenantPackageVo> tenantPackageVo = baseMapper.selectVoList(null);
.eq(SysTenantPackage::getStatus, TenantConstants.NORMAL));
return BeanUtil.copyToList(tenantPackageVo, SysTenantPackageSelectVo.class); return BeanUtil.copyToList(tenantPackageVo, SysTenantPackageSelectVo.class);
} }
......
...@@ -126,6 +126,19 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService { ...@@ -126,6 +126,19 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
return dept; return dept;
} }
/**
* 根据部门名称查询部门
*
* @param deptName 部门名称
* @return 部门
*/
@Override
public SysDept selectDeptByDeptName(String deptName) {
LambdaQueryWrapper<SysDept> wrapper = new LambdaQueryWrapper<SysDept>()
.eq(SysDept::getDeptName, deptName);
return baseMapper.selectOne(wrapper);
}
/** /**
* 通过部门ID查询部门名称 * 通过部门ID查询部门名称
* *
......
...@@ -117,6 +117,19 @@ public class SysRoleServiceImpl implements ISysRoleService { ...@@ -117,6 +117,19 @@ public class SysRoleServiceImpl implements ISysRoleService {
return permsSet; return permsSet;
} }
/**
* 根据角色名称查询角色
*
* @param roleName 角色名称
* @return 角色
*/
@Override
public SysRole selectRoleByRoleName(String roleName) {
LambdaQueryWrapper<SysRole> wrapper = new LambdaQueryWrapper<SysRole>()
.eq(SysRole::getRoleName, roleName);
return baseMapper.selectOne(wrapper);
}
/** /**
* 查询所有角色 * 查询所有角色
* *
......
...@@ -10,26 +10,20 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; ...@@ -10,26 +10,20 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dsk.common.utils.DingTalkUtil;
import com.dsk.common.utils.PasswordUtils;
import com.dsk.system.mapper.*;
import com.dsk.system.service.ISysUserService;
import com.dsk.common.constant.CacheNames; import com.dsk.common.constant.CacheNames;
import com.dsk.common.constant.UserConstants; import com.dsk.common.constant.UserConstants;
import com.dsk.common.core.domain.PageQuery; import com.dsk.common.core.domain.PageQuery;
import com.dsk.system.domain.SysDept;
import com.dsk.system.domain.SysRole;
import com.dsk.system.domain.SysUser;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.core.service.UserService; import com.dsk.common.core.service.UserService;
import com.dsk.common.exception.ServiceException; import com.dsk.common.exception.ServiceException;
import com.dsk.common.helper.DataBaseHelper; import com.dsk.common.helper.DataBaseHelper;
import com.dsk.common.helper.LoginHelper; import com.dsk.common.helper.LoginHelper;
import com.dsk.common.utils.PasswordUtils;
import com.dsk.common.utils.StreamUtils; import com.dsk.common.utils.StreamUtils;
import com.dsk.common.utils.StringUtils; import com.dsk.common.utils.StringUtils;
import com.dsk.system.domain.SysPost; import com.dsk.system.domain.*;
import com.dsk.system.domain.SysUserPost; import com.dsk.system.mapper.*;
import com.dsk.system.domain.SysUserRole; import com.dsk.system.service.ISysUserService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.cache.annotation.Cacheable; import org.springframework.cache.annotation.Cacheable;
...@@ -285,8 +279,7 @@ public class SysUserServiceImpl implements ISysUserService, UserService { ...@@ -285,8 +279,7 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
+ "您好,您已经成功注册央企数字经营管理系统,请使用手机号码登录,初始密码为" + "您好,您已经成功注册央企数字经营管理系统,请使用手机号码登录,初始密码为"
+ password + password
+ "。友情提示:为了您的账号安全,请立即前往【个人中心】修改密码。"; + "。友情提示:为了您的账号安全,请立即前往【个人中心】修改密码。";
DingTalkUtil.sendDingTalkMsg(content); // DingTalkUtil.sendDingTalkMsg(content);
System.out.println("👉🏻:" + content);
} }
// 新增用户岗位关联 // 新增用户岗位关联
insertUserPost(user); insertUserPost(user);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment