员工加角色(查询、交接待完善)

This commit is contained in:
xiao-fajia 2024-08-14 20:01:43 +08:00
parent dc74f8f0b0
commit b9e17e0568
11 changed files with 212 additions and 52 deletions

View File

@ -9,4 +9,5 @@ public interface CommonErrorCodeConstants extends ErrorCodeConstants {
ErrorCode UNIQUE_CODE_CREATE_REPEAT = new ErrorCode(2_002_000_000, "唯一推广码生成失败"); ErrorCode UNIQUE_CODE_CREATE_REPEAT = new ErrorCode(2_002_000_000, "唯一推广码生成失败");
ErrorCode STAFF_CHANGE_CREATE_REPEAT = new ErrorCode(2_002_000_001, "该员工工作已交接"); ErrorCode STAFF_CHANGE_CREATE_REPEAT = new ErrorCode(2_002_000_001, "该员工工作已交接");
ErrorCode STAFF_NOT_CHANGE = new ErrorCode(2_002_000_003, "该员工还有工作未交接,不可删除"); ErrorCode STAFF_NOT_CHANGE = new ErrorCode(2_002_000_003, "该员工还有工作未交接,不可删除");
ErrorCode LOGIN_ACCOUNT_EXIST = new ErrorCode(2_002_000_004, "登录账号已存在");
} }

View File

@ -8,6 +8,7 @@ import cn.iocoder.yudao.module.staff.entity.CompanyStaff;
import cn.iocoder.yudao.module.staff.service.CompanyStaffService; import cn.iocoder.yudao.module.staff.service.CompanyStaffService;
import cn.iocoder.yudao.module.staff.vo.CompanyStaffReqVO; import cn.iocoder.yudao.module.staff.vo.CompanyStaffReqVO;
import cn.iocoder.yudao.module.staff.vo.CompanyStaffRespVO; import cn.iocoder.yudao.module.staff.vo.CompanyStaffRespVO;
import cn.iocoder.yudao.module.system.api.permission.dto.RoleReqDTO;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
@ -200,4 +201,16 @@ public class CompanyStaffController {
staffService.resetPassword(staffRespVO); staffService.resetPassword(staffRespVO);
return CommonResult.ok(); return CommonResult.ok();
} }
/**
* 获取角色列表
* @author 小李
* @date 15:08 2024/8/14
**/
@GetMapping("/roleList")
@Operation(summary = "获取角色列表")
@PreAuthorize("@ss.hasPermission('company:staff:query')")
public CommonResult<List<RoleReqDTO>> getRoleList(){
return success(staffService.getRoleList());
}
} }

View File

@ -1,12 +1,14 @@
package cn.iocoder.yudao.module.staff.entity; package cn.iocoder.yudao.module.staff.entity;
import cn.hutool.core.util.ObjectUtil;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO; import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO;
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.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
@ -15,7 +17,9 @@ import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List;
import static cn.iocoder.yudao.common.DictBaseConstants.*; import static cn.iocoder.yudao.common.DictBaseConstants.*;
@ -98,4 +102,12 @@ public class CompanyStaff extends TenantBaseDO {
/** 附件urlsinfra_file表中的url多个英文逗号拼接 */ /** 附件urlsinfra_file表中的url多个英文逗号拼接 */
private String fileUrls; private String fileUrls;
/** 员工角色ID集合 */
@TableField(exist = false)
private List<Long> roleIds;
/** 员工角色名称们(,分隔) */
@TableField(exist = false)
private String roleNames;
} }

View File

@ -4,6 +4,7 @@ import cn.iocoder.yudao.module.staff.entity.CompanyStaff;
import cn.iocoder.yudao.module.label.entity.Label; import cn.iocoder.yudao.module.label.entity.Label;
import cn.iocoder.yudao.module.staff.vo.CompanyStaffReqVO; import cn.iocoder.yudao.module.staff.vo.CompanyStaffReqVO;
import cn.iocoder.yudao.module.staff.vo.CompanyStaffRespVO; import cn.iocoder.yudao.module.staff.vo.CompanyStaffRespVO;
import cn.iocoder.yudao.module.system.api.permission.dto.RoleReqDTO;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
@ -94,4 +95,11 @@ public interface CompanyStaffService extends IService<CompanyStaff> {
* @date 11:41 2024/8/13 * @date 11:41 2024/8/13
**/ **/
void updateStaffWorkAndJoinedYears(); void updateStaffWorkAndJoinedYears();
/**
* 获取当前租户有些什么角色可以分配
* @author 小李
* @date 14:53 2024/8/14
**/
List<RoleReqDTO> getRoleList();
} }

View File

@ -4,9 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.iocoder.yudao.common.BaseConstants; import cn.iocoder.yudao.common.BaseConstants;
import cn.iocoder.yudao.common.CommonErrorCodeConstants; import cn.iocoder.yudao.common.CommonErrorCodeConstants;
import cn.iocoder.yudao.framework.datapermission.core.rule.DataPermissionRule;
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
import cn.iocoder.yudao.module.company.service.CompanyService;
import cn.iocoder.yudao.module.label.entity.BusiLabel; import cn.iocoder.yudao.module.label.entity.BusiLabel;
import cn.iocoder.yudao.module.label.entity.Label; import cn.iocoder.yudao.module.label.entity.Label;
import cn.iocoder.yudao.module.label.service.BusiLabelService; import cn.iocoder.yudao.module.label.service.BusiLabelService;
@ -20,6 +18,9 @@ import cn.iocoder.yudao.module.staff.vo.CompanyStaffReqVO;
import cn.iocoder.yudao.module.staff.vo.CompanyStaffRespVO; import cn.iocoder.yudao.module.staff.vo.CompanyStaffRespVO;
import cn.iocoder.yudao.module.system.api.dept.DeptApi; import cn.iocoder.yudao.module.system.api.dept.DeptApi;
import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
import cn.iocoder.yudao.module.system.api.permission.RoleApi;
import cn.iocoder.yudao.module.system.api.permission.dto.RoleReqDTO;
import cn.iocoder.yudao.module.system.api.user.AdminUserApi; import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
import cn.iocoder.yudao.module.system.api.user.dto.UserDTO; import cn.iocoder.yudao.module.system.api.user.dto.UserDTO;
@ -37,6 +38,7 @@ import java.time.LocalDate;
import java.time.Period; import java.time.Period;
import java.time.ZoneId; import java.time.ZoneId;
import java.util.List; import java.util.List;
import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static cn.iocoder.yudao.framework.common.config.CommonStr.USER_TYPE_STAFF; import static cn.iocoder.yudao.framework.common.config.CommonStr.USER_TYPE_STAFF;
@ -72,6 +74,12 @@ public class CompanyStaffServiceImpl extends ServiceImpl<CompanyStaffMapper, Com
@Resource @Resource
private CompanyStaffChangeService staffChangeService; private CompanyStaffChangeService staffChangeService;
@Resource
private RoleApi roleApi;
@Resource
private PermissionApi permissionApi;
/** /**
* 获得企业管理-员工信息表分页 * 获得企业管理-员工信息表分页
* *
@ -98,6 +106,12 @@ public class CompanyStaffServiceImpl extends ServiceImpl<CompanyStaffMapper, Com
// 获取当前登录用户的详细信息 // 获取当前登录用户的详细信息
AdminUserRespDTO loginUser = getLoginUser(); AdminUserRespDTO loginUser = getLoginUser();
// 验证登录账号是否重复
AdminUserRespDTO checkUserName = adminUserApi.getUserByUsername(staffRespVO.getLoginAccount());
if (ObjectUtil.isNotEmpty(checkUserName)){
throw exception(CommonErrorCodeConstants.LOGIN_ACCOUNT_EXIST);
}
/* 创建UserDTO用于给sys_user插入数据 */ /* 创建UserDTO用于给sys_user插入数据 */
UserDTO userDTO = new UserDTO(); UserDTO userDTO = new UserDTO();
userDTO.setUsername(staffRespVO.getLoginAccount()); userDTO.setUsername(staffRespVO.getLoginAccount());
@ -142,6 +156,10 @@ public class CompanyStaffServiceImpl extends ServiceImpl<CompanyStaffMapper, Com
// 3 保存员工信息到数据库 // 3 保存员工信息到数据库
this.save(staffRespVO); this.save(staffRespVO);
// 新增角色权限
Set<Long> roleIds = staffRespVO.getRoleIds().stream().collect(Collectors.toSet());
permissionApi.assignUserRoleByRoleIds(userId, roleIds);
/* 插入标签到业务标签表 */ /* 插入标签到业务标签表 */
if (ObjectUtil.isNotEmpty(staffRespVO.getLabelsArray())) { if (ObjectUtil.isNotEmpty(staffRespVO.getLabelsArray())) {
// 1 获取所有标签信息 // 1 获取所有标签信息
@ -198,6 +216,12 @@ public class CompanyStaffServiceImpl extends ServiceImpl<CompanyStaffMapper, Com
} }
} }
/* 修改角色 */
if (ObjectUtil.isNotEmpty(staffRespVO.getRoleIds())){
Set<Long> roleIdes = staffRespVO.getRoleIds().stream().collect(Collectors.toSet());
permissionApi.assignUserRoleByRoleIds(staffRespVO.getUserId(), roleIdes);
}
/* 修改员工表 */ /* 修改员工表 */
baseMapper.updateById(staffRespVO); baseMapper.updateById(staffRespVO);
} }
@ -227,6 +251,7 @@ public class CompanyStaffServiceImpl extends ServiceImpl<CompanyStaffMapper, Com
/* 删除业务标签表记录 */ /* 删除业务标签表记录 */
busiLabelService.remove(new LambdaQueryWrapper<BusiLabel>().eq(BusiLabel::getMainId, staff.getId())); busiLabelService.remove(new LambdaQueryWrapper<BusiLabel>().eq(BusiLabel::getMainId, staff.getId()));
/* 删除员工表记录 */ /* 删除员工表记录 */
baseMapper.deleteById(id); baseMapper.deleteById(id);
} }
@ -251,6 +276,9 @@ public class CompanyStaffServiceImpl extends ServiceImpl<CompanyStaffMapper, Com
List<String> labelsArray = busiLabels.stream().map(item -> item.getLabelName()).collect(Collectors.toList()); List<String> labelsArray = busiLabels.stream().map(item -> item.getLabelName()).collect(Collectors.toList());
staffRespVO.setLabelsArray(labelsArray); staffRespVO.setLabelsArray(labelsArray);
} }
// 查角色ID给响应对象
List<Long> roleIds = permissionApi.getRoleIdsByUserId(staff.getUserId());
staffRespVO.setRoleIds(roleIds);
return staffRespVO; return staffRespVO;
} }
@ -427,7 +455,7 @@ public class CompanyStaffServiceImpl extends ServiceImpl<CompanyStaffMapper, Com
updateBatchById(result); updateBatchById(result);
// 没有下一页了就退出 // 没有下一页了就退出
if (companyStaffPage.getRecords().isEmpty()){ if (companyStaffPage.getRecords().isEmpty()) {
break; break;
} }
@ -435,4 +463,15 @@ public class CompanyStaffServiceImpl extends ServiceImpl<CompanyStaffMapper, Com
queryWrapper.gt(CompanyStaff::getId, page.getRecords().get(page.getRecords().size() - 1).getId()); queryWrapper.gt(CompanyStaff::getId, page.getRecords().get(page.getRecords().size() - 1).getId());
} }
} }
/**
* 获取当前租户有些什么角色可以分配
*
* @author 小李
* @date 14:53 2024/8/14
**/
@Override
public List<RoleReqDTO> getRoleList() {
return roleApi.getRoleList();
}
} }

View File

@ -24,4 +24,6 @@ public class CompanyStaffReqVO extends CompanyStaff {
@Schema(description = "入职日期查询范围") @Schema(description = "入职日期查询范围")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private Date[] joinedDateArray; private Date[] joinedDateArray;
} }

View File

@ -5,57 +5,60 @@
<mapper namespace="cn.iocoder.yudao.module.staff.mapper.CompanyStaffMapper"> <mapper namespace="cn.iocoder.yudao.module.staff.mapper.CompanyStaffMapper">
<resultMap id="BaseResultMap" type="cn.iocoder.yudao.module.staff.entity.CompanyStaff"> <resultMap id="BaseResultMap" type="cn.iocoder.yudao.module.staff.entity.CompanyStaff">
<id property="id" column="id" jdbcType="VARCHAR"/> <id property="id" column="cs_id" jdbcType="VARCHAR"/>
<result property="corpId" column="corp_id" jdbcType="VARCHAR"/> <result property="corpId" column="cs_corp_id" jdbcType="VARCHAR"/>
<result property="userId" column="user_id" jdbcType="BIGINT"/> <result property="userId" column="cs_user_id" jdbcType="BIGINT"/>
<result property="deptId" column="dept_id" jdbcType="BIGINT"/> <result property="deptId" column="cs_dept_id" jdbcType="BIGINT"/>
<result property="workNo" column="work_no" jdbcType="VARCHAR"/> <result property="workNo" column="cs_work_no" jdbcType="VARCHAR"/>
<result property="name" column="name" jdbcType="VARCHAR"/> <result property="name" column="cs_name" jdbcType="VARCHAR"/>
<result property="tel" column="tel" jdbcType="VARCHAR"/> <result property="tel" column="cs_tel" jdbcType="VARCHAR"/>
<result property="sex" column="sex" jdbcType="VARCHAR"/> <result property="sex" column="cs_sex" jdbcType="VARCHAR"/>
<result property="address" column="address" jdbcType="VARCHAR"/> <result property="address" column="cs_address" jdbcType="VARCHAR"/>
<result property="workDate" column="work_date" jdbcType="DATE"/> <result property="workDate" column="cs_work_date" jdbcType="DATE"/>
<result property="workYear" column="work_year" jdbcType="DECIMAL"/> <result property="workYear" column="cs_work_year" jdbcType="DECIMAL"/>
<result property="joinedDate" column="joined_date" jdbcType="DATE"/> <result property="joinedDate" column="cs_joined_date" jdbcType="DATE"/>
<result property="joinedYear" column="joined_year" jdbcType="DECIMAL"/> <result property="joinedYear" column="cs_joined_year" jdbcType="DECIMAL"/>
<result property="education" column="education" jdbcType="VARCHAR"/> <result property="education" column="cs_education" jdbcType="VARCHAR"/>
<result property="content" column="content" jdbcType="VARCHAR"/> <result property="content" column="cs_content" jdbcType="VARCHAR"/>
<result property="uniqueCode" column="unique_code" jdbcType="VARCHAR"/> <result property="uniqueCode" column="cs_unique_code" jdbcType="VARCHAR"/>
<result property="fileUrls" column="file_urls" jdbcType="VARCHAR"/> <result property="fileUrls" column="cs_file_urls" jdbcType="VARCHAR"/>
<result property="tenantId" column="tenant_id" jdbcType="VARCHAR"/> <result property="roleNames" column="role_names" />
<result property="deleted" column="deleted" jdbcType="BIT"/>
<result property="creator" column="creator" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updater" column="updater" jdbcType="VARCHAR"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
</resultMap> </resultMap>
<sql id="Base_SQL"> <sql id="Base_SQL">
select id, SELECT cs.id AS cs_id,
corp_id, cs.corp_id AS cs_corp_id,
user_id, cs.user_id AS cs_user_id,
dept_id, cs.dept_id AS cs_dept_id,
work_no, cs.work_no AS cs_work_no,
name, cs.name AS cs_name,
tel, cs.tel AS cs_tel,
sex, cs.sex AS cs_sex,
address, cs.address AS cs_address,
work_date, cs.work_date AS cs_work_date,
work_year, cs.work_year AS cs_work_year,
joined_date, cs.joined_date AS cs_joined_date,
joined_year, cs.joined_year AS cs_joined_year,
education, cs.education AS cs_education,
content, cs.content AS cs_content,
unique_code, cs.unique_code AS cs_unique_code,
file_urls, cs.file_urls AS cs_file_urls,
tenant_id, rn.role_names AS role_names
deleted, FROM company_staff cs
creator, LEFT JOIN
create_time, (
updater, SELECT cs.user_id,
update_time sr.id,
from company_staff cs GROUP_CONCAT(DISTINCT sr.name ORDER BY sr.name SEPARATOR ',') AS role_names
where deleted = '0' FROM company_staff cs
LEFT JOIN
system_user_role sur ON cs.user_id = sur.user_id
LEFT JOIN
system_role sr ON sur.role_id = sr.id
WHERE cs.deleted = '0' AND sur.deleted = '0'
GROUP BY cs.user_id
) rn ON cs.user_id = rn.user_id
WHERE cs.deleted = '0'
</sql> </sql>
<select id="selectListPage" resultMap="BaseResultMap"> <select id="selectListPage" resultMap="BaseResultMap">
@ -93,6 +96,12 @@
<if test="map.joinedDateArray.length > 0"> <if test="map.joinedDateArray.length > 0">
and cs.joined_date between #{map.joinedDateArray[0]} and #{map.joinedDateArray[1]} and cs.joined_date between #{map.joinedDateArray[0]} and #{map.joinedDateArray[1]}
</if> </if>
order by create_time desc <if test="map.roleIds != null and map.roleIds.size > 0">
and rn.id in
<foreach collection="map.roleIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</if>
order by cs.create_time desc
</select> </select>
</mapper> </mapper>

View File

@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.system.api.permission;
import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO; import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
import java.util.Collection; import java.util.Collection;
import java.util.List;
import java.util.Set; import java.util.Set;
/** /**
@ -54,4 +55,21 @@ public interface PermissionApi {
*/ */
void assignUserRole(Long userId, Set<String> roleCodes); void assignUserRole(Long userId, Set<String> roleCodes);
/**
* 设置用户角色
*
* @author 小李
* @date 18:58 2024/8/14
* @param userId 用户D
* @param roleIds 角色IDs
**/
void assignUserRoleByRoleIds(Long userId, Set<Long> roleIds);
/**
* 获取某个用户的角色IDs
* @author 小李
* @date 19:24 2024/8/14
* @param userId 用户ID
**/
List<Long> getRoleIdsByUserId(Long userId);
} }

View File

@ -1,6 +1,9 @@
package cn.iocoder.yudao.module.system.api.permission; package cn.iocoder.yudao.module.system.api.permission;
import cn.iocoder.yudao.module.system.api.permission.dto.RoleReqDTO;
import java.util.Collection; import java.util.Collection;
import java.util.List;
/** /**
* 角色 API 接口 * 角色 API 接口
@ -18,4 +21,11 @@ public interface RoleApi {
*/ */
void validRoleList(Collection<Long> ids); void validRoleList(Collection<Long> ids);
/**
* 查询角色列表
* @author 小李
* @date 15:03 2024/8/14
**/
List<RoleReqDTO> getRoleList();
} }

View File

@ -6,7 +6,9 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Collection; import java.util.Collection;
import java.util.List;
import java.util.Set; import java.util.Set;
import java.util.stream.Collectors;
/** /**
* 权限 API 实现类 * 权限 API 实现类
@ -50,4 +52,29 @@ public class PermissionApiImpl implements PermissionApi {
permissionService.assignUserRoleByCodes(userId, roleCodes); permissionService.assignUserRoleByCodes(userId, roleCodes);
} }
/**
* 设置用户角色
*
* @author 小李
* @date 18:58 2024/8/14
* @param userId 用户D
* @param roleIds 角色IDs
**/
@Override
public void assignUserRoleByRoleIds(Long userId, Set<Long> roleIds){
permissionService.assignUserRole(userId, roleIds);
}
/**
* 获取某个用户的角色IDs
* @author 小李
* @date 19:24 2024/8/14
* @param userId 用户ID
**/
@Override
public List<Long> getRoleIdsByUserId(Long userId){
Set<Long> roleIds = permissionService.getUserRoleIdListByUserId(userId);
return roleIds.stream().collect(Collectors.toList());
}
} }

View File

@ -1,10 +1,15 @@
package cn.iocoder.yudao.module.system.api.permission; package cn.iocoder.yudao.module.system.api.permission;
import cn.hutool.core.bean.BeanUtil;
import cn.iocoder.yudao.module.system.api.permission.dto.RoleReqDTO;
import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO;
import cn.iocoder.yudao.module.system.service.permission.RoleService; import cn.iocoder.yudao.module.system.service.permission.RoleService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Collection; import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;
/** /**
* 角色 API 实现类 * 角色 API 实现类
@ -21,4 +26,20 @@ public class RoleApiImpl implements RoleApi {
public void validRoleList(Collection<Long> ids) { public void validRoleList(Collection<Long> ids) {
roleService.validateRoleList(ids); roleService.validateRoleList(ids);
} }
/**
* 查询角色列表
* @author 小李
* @date 15:03 2024/8/14
**/
@Override
public List<RoleReqDTO> getRoleList(){
List<RoleDO> roleList = roleService.getRoleList();
List<RoleReqDTO> result = roleList.stream().map(item -> {
RoleReqDTO roleReqDTO = new RoleReqDTO();
BeanUtil.copyProperties(item, roleReqDTO);
return roleReqDTO;
}).collect(Collectors.toList());
return result;
}
} }