1. 完成用户导出的功能
2. 完成前后端的导出的封装
This commit is contained in:
@@ -1,12 +1,16 @@
|
||||
package cn.iocoder.dashboard.modules.system.service.dept;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.iocoder.dashboard.modules.system.controller.dept.vo.dept.SysDeptCreateReqVO;
|
||||
import cn.iocoder.dashboard.modules.system.controller.dept.vo.dept.SysDeptListReqVO;
|
||||
import cn.iocoder.dashboard.modules.system.controller.dept.vo.dept.SysDeptUpdateReqVO;
|
||||
import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dept.SysDeptDO;
|
||||
import cn.iocoder.dashboard.util.collection.CollectionUtils;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 部门 Service 接口
|
||||
@@ -35,6 +39,20 @@ public interface SysDeptService {
|
||||
*/
|
||||
List<SysDeptDO> listDepts(Collection<Long> ids);
|
||||
|
||||
/**
|
||||
* 获得指定编号的部门 Map
|
||||
*
|
||||
* @param ids 部门编号数组
|
||||
* @return 部门 Map
|
||||
*/
|
||||
default Map<Long, SysDeptDO> getDeptMap(Collection<Long> ids) {
|
||||
if (CollUtil.isEmpty(ids)) {
|
||||
return Collections.emptyMap();
|
||||
}
|
||||
List<SysDeptDO> list = listDepts(ids);
|
||||
return CollectionUtils.convertMap(list, SysDeptDO::getId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 筛选部门列表
|
||||
*
|
||||
|
||||
@@ -15,6 +15,7 @@ import cn.iocoder.dashboard.modules.system.service.dict.SysDictTypeService;
|
||||
import com.google.common.collect.ImmutableTable;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
@@ -56,6 +57,7 @@ public class SysDictDataServiceImpl implements SysDictDataService {
|
||||
private SysDictDataMapper dictDataMapper;
|
||||
|
||||
@Override
|
||||
@PostConstruct
|
||||
public void init() {
|
||||
// 获得字典数据
|
||||
List<SysDictDataDO> list = this.listDictDatas();
|
||||
|
||||
@@ -2,23 +2,19 @@ package cn.iocoder.dashboard.modules.system.service.user;
|
||||
|
||||
import cn.iocoder.dashboard.common.pojo.PageResult;
|
||||
import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserCreateReqVO;
|
||||
import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserExportReqVO;
|
||||
import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserPageReqVO;
|
||||
import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserUpdateReqVO;
|
||||
import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.user.SysUserDO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 用户 Service 接口
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
public interface SysUserService {
|
||||
// /**
|
||||
// * 根据条件分页查询用户列表
|
||||
// *
|
||||
// * @param user 用户信息
|
||||
// * @return 用户信息集合信息
|
||||
// */
|
||||
// public List<SysUser> selectUserList(SysUser user);
|
||||
|
||||
/**
|
||||
* 通过用户名查询用户
|
||||
@@ -44,6 +40,14 @@ public interface SysUserService {
|
||||
*/
|
||||
PageResult<SysUserDO> pageUsers(SysUserPageReqVO reqVO);
|
||||
|
||||
/**
|
||||
* 获得用户列表
|
||||
*
|
||||
* @param reqVO 列表请求
|
||||
* @return 用户列表
|
||||
*/
|
||||
List<SysUserDO> listUsers(SysUserExportReqVO reqVO);
|
||||
|
||||
/**
|
||||
* 创建用户
|
||||
*
|
||||
@@ -82,77 +86,6 @@ public interface SysUserService {
|
||||
*/
|
||||
void updateUserStatus(Long id, Integer status);
|
||||
|
||||
//
|
||||
// /**
|
||||
// * 根据用户ID查询用户所属角色组
|
||||
// *
|
||||
// * @param userName 用户名
|
||||
// * @return 结果
|
||||
// */
|
||||
// public String selectUserRoleGroup(String userName);
|
||||
//
|
||||
// /**
|
||||
// * 根据用户ID查询用户所属岗位组
|
||||
// *
|
||||
// * @param userName 用户名
|
||||
// * @return 结果
|
||||
// */
|
||||
// public String selectUserPostGroup(String userName);
|
||||
//
|
||||
// /**
|
||||
// * 校验用户名称是否唯一
|
||||
// *
|
||||
// * @param userName 用户名称
|
||||
// * @return 结果
|
||||
// */
|
||||
// public String checkUserNameUnique(String userName);
|
||||
//
|
||||
// /**
|
||||
// * 校验手机号码是否唯一
|
||||
// *
|
||||
// * @param user 用户信息
|
||||
// * @return 结果
|
||||
// */
|
||||
// public String checkPhoneUnique(SysUser user);
|
||||
//
|
||||
// /**
|
||||
// * 校验email是否唯一
|
||||
// *
|
||||
// * @param user 用户信息
|
||||
// * @return 结果
|
||||
// */
|
||||
// public String checkEmailUnique(SysUser user);
|
||||
//
|
||||
// /**
|
||||
// * 校验用户是否允许操作
|
||||
// *
|
||||
// * @param user 用户信息
|
||||
// */
|
||||
// public void checkUserAllowed(SysUser user);
|
||||
//
|
||||
// /**
|
||||
// * 新增用户信息
|
||||
// *
|
||||
// * @param user 用户信息
|
||||
// * @return 结果
|
||||
// */
|
||||
// public int insertUser(SysUser user);
|
||||
//
|
||||
// /**
|
||||
// * 修改用户信息
|
||||
// *
|
||||
// * @param user 用户信息
|
||||
// * @return 结果
|
||||
// */
|
||||
// public int updateUser(SysUser user);
|
||||
//
|
||||
// /**
|
||||
// * 修改用户状态
|
||||
// *
|
||||
// * @param user 用户信息
|
||||
// * @return 结果
|
||||
// */
|
||||
// public int updateUserStatus(SysUser user);
|
||||
//
|
||||
// /**
|
||||
// * 修改用户基本信息
|
||||
@@ -187,22 +120,7 @@ public interface SysUserService {
|
||||
// * @return 结果
|
||||
// */
|
||||
// public int resetUserPwd(String userName, String password);
|
||||
//
|
||||
// /**
|
||||
// * 通过用户ID删除用户
|
||||
// *
|
||||
// * @param userId 用户ID
|
||||
// * @return 结果
|
||||
// */
|
||||
// public int deleteUserById(Long userId);
|
||||
//
|
||||
// /**
|
||||
// * 批量删除用户信息
|
||||
// *
|
||||
// * @param userIds 需要删除的用户ID
|
||||
// * @return 结果
|
||||
// */
|
||||
// public int deleteUserByIds(Long[] userIds);
|
||||
|
||||
//
|
||||
// /**
|
||||
// * 导入用户数据
|
||||
|
||||
@@ -6,6 +6,7 @@ import cn.iocoder.dashboard.common.enums.CommonStatusEnum;
|
||||
import cn.iocoder.dashboard.common.exception.util.ServiceExceptionUtil;
|
||||
import cn.iocoder.dashboard.common.pojo.PageResult;
|
||||
import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserCreateReqVO;
|
||||
import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserExportReqVO;
|
||||
import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserPageReqVO;
|
||||
import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserUpdateReqVO;
|
||||
import cn.iocoder.dashboard.modules.system.convert.user.SysUserConvert;
|
||||
@@ -77,15 +78,29 @@ public class SysUserServiceImpl implements SysUserService {
|
||||
|
||||
@Override
|
||||
public PageResult<SysUserDO> pageUsers(SysUserPageReqVO reqVO) {
|
||||
// 处理部门查询条件
|
||||
List<Long> deptIds = Collections.emptyList();
|
||||
if (reqVO.getDeptId() != null) {
|
||||
deptIds = CollectionUtils.convertList(deptService.listDeptsByParentIdFromCache(
|
||||
reqVO.getDeptId(), true), SysDeptDO::getId);
|
||||
deptIds.add(reqVO.getDeptId());
|
||||
return SysUserConvert.INSTANCE.convertPage(userMapper.selectList(reqVO,
|
||||
this.getDeptCondition(reqVO.getDeptId())));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SysUserDO> listUsers(SysUserExportReqVO reqVO) {
|
||||
return userMapper.selectList(reqVO, this.getDeptCondition(reqVO.getDeptId()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得部门条件:查询指定部门的子部门编号们,包括自身
|
||||
*
|
||||
* @param deptId 部门编号
|
||||
* @return 部门编号集合
|
||||
*/
|
||||
private Set<Long> getDeptCondition(Long deptId) {
|
||||
if (deptId == null) {
|
||||
return Collections.emptySet();
|
||||
}
|
||||
// 执行查询
|
||||
return SysUserConvert.INSTANCE.convertPage(userMapper.selectList(reqVO, deptIds));
|
||||
Set<Long> deptIds = CollectionUtils.convertSet(deptService.listDeptsByParentIdFromCache(
|
||||
deptId, true), SysDeptDO::getId);
|
||||
deptIds.add(deptId); // 包括自身
|
||||
return deptIds;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user