refactor: 优化用户和角色部分数据填充方式
This commit is contained in:
parent
f813c71d73
commit
7a3ccc2dee
@ -30,7 +30,7 @@ public interface ContainerConstants extends top.charles7c.continew.starter.exten
|
||||
String USER_ROLE_ID_LIST = "UserRoleIdList";
|
||||
|
||||
/**
|
||||
* 用户角色名称列表
|
||||
* 角色部门列表
|
||||
*/
|
||||
String USER_ROLE_NAME_LIST = "UserRoleNameList";
|
||||
String ROLE_DEPT_ID_LIST = "RoleDeptIdList";
|
||||
}
|
@ -16,20 +16,20 @@
|
||||
|
||||
package top.charles7c.continew.admin.system.model.resp;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
import cn.crane4j.annotation.Assemble;
|
||||
import cn.crane4j.annotation.Mapping;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
|
||||
import top.charles7c.continew.starter.extension.crud.converter.ExcelBaseEnumConverter;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import top.charles7c.continew.admin.common.constant.ContainerConstants;
|
||||
import top.charles7c.continew.admin.common.enums.DataScopeEnum;
|
||||
import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum;
|
||||
import top.charles7c.continew.starter.extension.crud.base.BaseDetailResp;
|
||||
import top.charles7c.continew.starter.extension.crud.converter.ExcelBaseEnumConverter;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 角色详情信息
|
||||
@ -40,6 +40,7 @@ import top.charles7c.continew.starter.extension.crud.base.BaseDetailResp;
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@Schema(description = "角色详情信息")
|
||||
@Assemble(container = ContainerConstants.ROLE_DEPT_ID_LIST, key = "id", props = @Mapping(ref = "deptIds"))
|
||||
public class RoleDetailResp extends BaseDetailResp {
|
||||
|
||||
@Serial
|
||||
|
@ -16,6 +16,7 @@
|
||||
|
||||
package top.charles7c.continew.admin.system.model.resp;
|
||||
|
||||
import cn.crane4j.annotation.Assemble;
|
||||
import cn.crane4j.annotation.AssembleMethod;
|
||||
import cn.crane4j.annotation.ContainerMethod;
|
||||
import cn.crane4j.annotation.Mapping;
|
||||
@ -23,6 +24,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import top.charles7c.continew.admin.common.constant.ContainerConstants;
|
||||
import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum;
|
||||
import top.charles7c.continew.admin.common.enums.GenderEnum;
|
||||
import top.charles7c.continew.admin.common.util.helper.LoginHelper;
|
||||
@ -44,6 +46,7 @@ import java.util.Objects;
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@Schema(description = "用户详情信息")
|
||||
@Assemble(container = ContainerConstants.USER_ROLE_ID_LIST, key = "id", props = @Mapping(ref = "roleIds"))
|
||||
public class UserDetailResp extends BaseDetailResp {
|
||||
|
||||
@Serial
|
||||
|
@ -16,20 +16,20 @@
|
||||
|
||||
package top.charles7c.continew.admin.system.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import cn.crane4j.annotation.ContainerMethod;
|
||||
import cn.crane4j.annotation.MappingType;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
|
||||
import top.charles7c.continew.admin.common.constant.ContainerConstants;
|
||||
import top.charles7c.continew.admin.system.mapper.RoleDeptMapper;
|
||||
import top.charles7c.continew.admin.system.model.entity.RoleDeptDO;
|
||||
import top.charles7c.continew.admin.system.service.RoleDeptService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 角色和部门业务实现
|
||||
*
|
||||
@ -78,6 +78,7 @@ public class RoleDeptServiceImpl implements RoleDeptService {
|
||||
}
|
||||
|
||||
@Override
|
||||
@ContainerMethod(namespace = ContainerConstants.ROLE_DEPT_ID_LIST, type = MappingType.NONE)
|
||||
public List<Long> listDeptIdByRoleId(Long roleId) {
|
||||
return roleDeptMapper.selectDeptIdByRoleId(roleId);
|
||||
}
|
||||
|
@ -138,7 +138,6 @@ public class RoleServiceImpl extends BaseServiceImpl<RoleMapper, RoleDO, RoleRes
|
||||
} else {
|
||||
detail.setMenuIds(roleMenuService.listMenuIdByRoleIds(CollUtil.newArrayList(roleId)));
|
||||
}
|
||||
detail.setDeptIds(roleDeptService.listDeptIdByRoleId(roleId));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -16,20 +16,20 @@
|
||||
|
||||
package top.charles7c.continew.admin.system.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import cn.crane4j.annotation.ContainerMethod;
|
||||
import cn.crane4j.annotation.MappingType;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
|
||||
import top.charles7c.continew.admin.common.constant.ContainerConstants;
|
||||
import top.charles7c.continew.admin.system.mapper.UserRoleMapper;
|
||||
import top.charles7c.continew.admin.system.model.entity.UserRoleDO;
|
||||
import top.charles7c.continew.admin.system.service.UserRoleService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 用户和角色业务实现
|
||||
*
|
||||
@ -72,6 +72,7 @@ public class UserRoleServiceImpl implements UserRoleService {
|
||||
}
|
||||
|
||||
@Override
|
||||
@ContainerMethod(namespace = ContainerConstants.USER_ROLE_ID_LIST, type = MappingType.NONE)
|
||||
public List<Long> listRoleIdByUserId(Long userId) {
|
||||
return userRoleMapper.selectRoleIdByUserId(userId);
|
||||
}
|
||||
|
@ -152,11 +152,12 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, UserDO, UserRes
|
||||
protected void fill(Object obj) {
|
||||
super.fill(obj);
|
||||
if (obj instanceof UserDetailResp detail) {
|
||||
List<Long> roleIdList = userRoleService.listRoleIdByUserId(detail.getId());
|
||||
detail.setRoleIds(roleIdList);
|
||||
List<Long> roleIdList = detail.getRoleIds();
|
||||
if (CollUtil.isNotEmpty(roleIdList)) {
|
||||
detail.setRoleNames(String.join(StringConstants.CHINESE_COMMA, roleService.listNameByIds(roleIdList)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
|
Loading…
Reference in New Issue
Block a user