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_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;
|
package top.charles7c.continew.admin.system.model.resp;
|
||||||
|
|
||||||
import java.io.Serial;
|
import cn.crane4j.annotation.Assemble;
|
||||||
import java.util.List;
|
import cn.crane4j.annotation.Mapping;
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
|
||||||
|
|
||||||
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 io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import top.charles7c.continew.starter.extension.crud.converter.ExcelBaseEnumConverter;
|
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.DataScopeEnum;
|
||||||
import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum;
|
import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum;
|
||||||
import top.charles7c.continew.starter.extension.crud.base.BaseDetailResp;
|
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
|
@Data
|
||||||
@ExcelIgnoreUnannotated
|
@ExcelIgnoreUnannotated
|
||||||
@Schema(description = "角色详情信息")
|
@Schema(description = "角色详情信息")
|
||||||
|
@Assemble(container = ContainerConstants.ROLE_DEPT_ID_LIST, key = "id", props = @Mapping(ref = "deptIds"))
|
||||||
public class RoleDetailResp extends BaseDetailResp {
|
public class RoleDetailResp extends BaseDetailResp {
|
||||||
|
|
||||||
@Serial
|
@Serial
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package top.charles7c.continew.admin.system.model.resp;
|
package top.charles7c.continew.admin.system.model.resp;
|
||||||
|
|
||||||
|
import cn.crane4j.annotation.Assemble;
|
||||||
import cn.crane4j.annotation.AssembleMethod;
|
import cn.crane4j.annotation.AssembleMethod;
|
||||||
import cn.crane4j.annotation.ContainerMethod;
|
import cn.crane4j.annotation.ContainerMethod;
|
||||||
import cn.crane4j.annotation.Mapping;
|
import cn.crane4j.annotation.Mapping;
|
||||||
@ -23,6 +24,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
|||||||
import com.alibaba.excel.annotation.ExcelProperty;
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
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.DisEnableStatusEnum;
|
||||||
import top.charles7c.continew.admin.common.enums.GenderEnum;
|
import top.charles7c.continew.admin.common.enums.GenderEnum;
|
||||||
import top.charles7c.continew.admin.common.util.helper.LoginHelper;
|
import top.charles7c.continew.admin.common.util.helper.LoginHelper;
|
||||||
@ -44,6 +46,7 @@ import java.util.Objects;
|
|||||||
@Data
|
@Data
|
||||||
@ExcelIgnoreUnannotated
|
@ExcelIgnoreUnannotated
|
||||||
@Schema(description = "用户详情信息")
|
@Schema(description = "用户详情信息")
|
||||||
|
@Assemble(container = ContainerConstants.USER_ROLE_ID_LIST, key = "id", props = @Mapping(ref = "roleIds"))
|
||||||
public class UserDetailResp extends BaseDetailResp {
|
public class UserDetailResp extends BaseDetailResp {
|
||||||
|
|
||||||
@Serial
|
@Serial
|
||||||
|
@ -16,20 +16,20 @@
|
|||||||
|
|
||||||
package top.charles7c.continew.admin.system.service.impl;
|
package top.charles7c.continew.admin.system.service.impl;
|
||||||
|
|
||||||
import java.util.List;
|
import cn.crane4j.annotation.ContainerMethod;
|
||||||
import java.util.stream.Collectors;
|
import cn.crane4j.annotation.MappingType;
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
import top.charles7c.continew.admin.common.constant.ContainerConstants;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
|
||||||
|
|
||||||
import top.charles7c.continew.admin.system.mapper.RoleDeptMapper;
|
import top.charles7c.continew.admin.system.mapper.RoleDeptMapper;
|
||||||
import top.charles7c.continew.admin.system.model.entity.RoleDeptDO;
|
import top.charles7c.continew.admin.system.model.entity.RoleDeptDO;
|
||||||
import top.charles7c.continew.admin.system.service.RoleDeptService;
|
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
|
@Override
|
||||||
|
@ContainerMethod(namespace = ContainerConstants.ROLE_DEPT_ID_LIST, type = MappingType.NONE)
|
||||||
public List<Long> listDeptIdByRoleId(Long roleId) {
|
public List<Long> listDeptIdByRoleId(Long roleId) {
|
||||||
return roleDeptMapper.selectDeptIdByRoleId(roleId);
|
return roleDeptMapper.selectDeptIdByRoleId(roleId);
|
||||||
}
|
}
|
||||||
|
@ -138,7 +138,6 @@ public class RoleServiceImpl extends BaseServiceImpl<RoleMapper, RoleDO, RoleRes
|
|||||||
} else {
|
} else {
|
||||||
detail.setMenuIds(roleMenuService.listMenuIdByRoleIds(CollUtil.newArrayList(roleId)));
|
detail.setMenuIds(roleMenuService.listMenuIdByRoleIds(CollUtil.newArrayList(roleId)));
|
||||||
}
|
}
|
||||||
detail.setDeptIds(roleDeptService.listDeptIdByRoleId(roleId));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -16,20 +16,20 @@
|
|||||||
|
|
||||||
package top.charles7c.continew.admin.system.service.impl;
|
package top.charles7c.continew.admin.system.service.impl;
|
||||||
|
|
||||||
import java.util.List;
|
import cn.crane4j.annotation.ContainerMethod;
|
||||||
import java.util.stream.Collectors;
|
import cn.crane4j.annotation.MappingType;
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
import top.charles7c.continew.admin.common.constant.ContainerConstants;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
|
||||||
|
|
||||||
import top.charles7c.continew.admin.system.mapper.UserRoleMapper;
|
import top.charles7c.continew.admin.system.mapper.UserRoleMapper;
|
||||||
import top.charles7c.continew.admin.system.model.entity.UserRoleDO;
|
import top.charles7c.continew.admin.system.model.entity.UserRoleDO;
|
||||||
import top.charles7c.continew.admin.system.service.UserRoleService;
|
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
|
@Override
|
||||||
|
@ContainerMethod(namespace = ContainerConstants.USER_ROLE_ID_LIST, type = MappingType.NONE)
|
||||||
public List<Long> listRoleIdByUserId(Long userId) {
|
public List<Long> listRoleIdByUserId(Long userId) {
|
||||||
return userRoleMapper.selectRoleIdByUserId(userId);
|
return userRoleMapper.selectRoleIdByUserId(userId);
|
||||||
}
|
}
|
||||||
|
@ -152,9 +152,10 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, UserDO, UserRes
|
|||||||
protected void fill(Object obj) {
|
protected void fill(Object obj) {
|
||||||
super.fill(obj);
|
super.fill(obj);
|
||||||
if (obj instanceof UserDetailResp detail) {
|
if (obj instanceof UserDetailResp detail) {
|
||||||
List<Long> roleIdList = userRoleService.listRoleIdByUserId(detail.getId());
|
List<Long> roleIdList = detail.getRoleIds();
|
||||||
detail.setRoleIds(roleIdList);
|
if (CollUtil.isNotEmpty(roleIdList)) {
|
||||||
detail.setRoleNames(String.join(StringConstants.CHINESE_COMMA, roleService.listNameByIds(roleIdList)));
|
detail.setRoleNames(String.join(StringConstants.CHINESE_COMMA, roleService.listNameByIds(roleIdList)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user