refactor: 使用 Crane4j 优化部分数据填充处理
This commit is contained in:
parent
df0c0dd7dc
commit
c05584ba66
@ -16,10 +16,13 @@
|
|||||||
|
|
||||||
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.Mapping;
|
||||||
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 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.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.converter.ExcelBaseEnumConverter;
|
import top.charles7c.continew.starter.extension.crud.converter.ExcelBaseEnumConverter;
|
||||||
@ -37,6 +40,7 @@ import java.util.List;
|
|||||||
@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
|
||||||
|
@ -131,8 +131,6 @@ public class RoleServiceImpl extends BaseServiceImpl<RoleMapper, RoleDO, RoleRes
|
|||||||
super.fill(obj);
|
super.fill(obj);
|
||||||
if (obj instanceof RoleDetailResp detail) {
|
if (obj instanceof RoleDetailResp detail) {
|
||||||
Long roleId = detail.getId();
|
Long roleId = detail.getId();
|
||||||
List<Long> deptIdList = roleDeptService.listDeptIdByRoleId(roleId);
|
|
||||||
detail.setDeptIds(deptIdList);
|
|
||||||
if (SysConstants.ADMIN_ROLE_CODE.equals(detail.getCode())) {
|
if (SysConstants.ADMIN_ROLE_CODE.equals(detail.getCode())) {
|
||||||
List<MenuResp> list = menuService.listAll();
|
List<MenuResp> list = menuService.listAll();
|
||||||
List<Long> menuIds = list.stream().map(MenuResp::getId).toList();
|
List<Long> menuIds = list.stream().map(MenuResp::getId).toList();
|
||||||
|
@ -153,8 +153,7 @@ 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)) {
|
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