Skip to content

Commit 7a3ccc2

Browse files
committed
refactor: 优化用户和角色部分数据填充方式
1 parent f813c71 commit 7a3ccc2

File tree

7 files changed

+35
-29
lines changed

7 files changed

+35
-29
lines changed

continew-admin-common/src/main/java/top/charles7c/continew/admin/common/constant/ContainerConstants.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public interface ContainerConstants extends top.charles7c.continew.starter.exten
3030
String USER_ROLE_ID_LIST = "UserRoleIdList";
3131

3232
/**
33-
* 用户角色名称列表
33+
* 角色部门列表
3434
*/
35-
String USER_ROLE_NAME_LIST = "UserRoleNameList";
35+
String ROLE_DEPT_ID_LIST = "RoleDeptIdList";
3636
}

continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/resp/RoleDetailResp.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,20 @@
1616

1717
package top.charles7c.continew.admin.system.model.resp;
1818

19-
import java.io.Serial;
20-
import java.util.List;
21-
22-
import lombok.Data;
23-
24-
import io.swagger.v3.oas.annotations.media.Schema;
25-
19+
import cn.crane4j.annotation.Assemble;
20+
import cn.crane4j.annotation.Mapping;
2621
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
2722
import com.alibaba.excel.annotation.ExcelProperty;
28-
29-
import top.charles7c.continew.starter.extension.crud.converter.ExcelBaseEnumConverter;
23+
import io.swagger.v3.oas.annotations.media.Schema;
24+
import lombok.Data;
25+
import top.charles7c.continew.admin.common.constant.ContainerConstants;
3026
import top.charles7c.continew.admin.common.enums.DataScopeEnum;
3127
import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum;
3228
import top.charles7c.continew.starter.extension.crud.base.BaseDetailResp;
29+
import top.charles7c.continew.starter.extension.crud.converter.ExcelBaseEnumConverter;
30+
31+
import java.io.Serial;
32+
import java.util.List;
3333

3434
/**
3535
* 角色详情信息
@@ -40,6 +40,7 @@
4040
@Data
4141
@ExcelIgnoreUnannotated
4242
@Schema(description = "角色详情信息")
43+
@Assemble(container = ContainerConstants.ROLE_DEPT_ID_LIST, key = "id", props = @Mapping(ref = "deptIds"))
4344
public class RoleDetailResp extends BaseDetailResp {
4445

4546
@Serial

continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/resp/UserDetailResp.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,15 @@
1616

1717
package top.charles7c.continew.admin.system.model.resp;
1818

19+
import cn.crane4j.annotation.Assemble;
1920
import cn.crane4j.annotation.AssembleMethod;
2021
import cn.crane4j.annotation.ContainerMethod;
2122
import cn.crane4j.annotation.Mapping;
2223
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
2324
import com.alibaba.excel.annotation.ExcelProperty;
2425
import io.swagger.v3.oas.annotations.media.Schema;
2526
import lombok.Data;
27+
import top.charles7c.continew.admin.common.constant.ContainerConstants;
2628
import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum;
2729
import top.charles7c.continew.admin.common.enums.GenderEnum;
2830
import top.charles7c.continew.admin.common.util.helper.LoginHelper;
@@ -44,6 +46,7 @@
4446
@Data
4547
@ExcelIgnoreUnannotated
4648
@Schema(description = "用户详情信息")
49+
@Assemble(container = ContainerConstants.USER_ROLE_ID_LIST, key = "id", props = @Mapping(ref = "roleIds"))
4750
public class UserDetailResp extends BaseDetailResp {
4851

4952
@Serial

continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/RoleDeptServiceImpl.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,20 @@
1616

1717
package top.charles7c.continew.admin.system.service.impl;
1818

19-
import java.util.List;
20-
import java.util.stream.Collectors;
21-
19+
import cn.crane4j.annotation.ContainerMethod;
20+
import cn.crane4j.annotation.MappingType;
21+
import cn.hutool.core.collection.CollUtil;
2222
import lombok.RequiredArgsConstructor;
23-
2423
import org.springframework.stereotype.Service;
2524
import org.springframework.transaction.annotation.Transactional;
26-
27-
import cn.hutool.core.collection.CollUtil;
28-
25+
import top.charles7c.continew.admin.common.constant.ContainerConstants;
2926
import top.charles7c.continew.admin.system.mapper.RoleDeptMapper;
3027
import top.charles7c.continew.admin.system.model.entity.RoleDeptDO;
3128
import top.charles7c.continew.admin.system.service.RoleDeptService;
3229

30+
import java.util.List;
31+
import java.util.stream.Collectors;
32+
3333
/**
3434
* 角色和部门业务实现
3535
*
@@ -78,6 +78,7 @@ public void deleteByDeptIds(List<Long> deptIds) {
7878
}
7979

8080
@Override
81+
@ContainerMethod(namespace = ContainerConstants.ROLE_DEPT_ID_LIST, type = MappingType.NONE)
8182
public List<Long> listDeptIdByRoleId(Long roleId) {
8283
return roleDeptMapper.selectDeptIdByRoleId(roleId);
8384
}

continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/RoleServiceImpl.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,6 @@ protected void fill(Object obj) {
138138
} else {
139139
detail.setMenuIds(roleMenuService.listMenuIdByRoleIds(CollUtil.newArrayList(roleId)));
140140
}
141-
detail.setDeptIds(roleDeptService.listDeptIdByRoleId(roleId));
142141
}
143142
}
144143

continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/UserRoleServiceImpl.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,20 @@
1616

1717
package top.charles7c.continew.admin.system.service.impl;
1818

19-
import java.util.List;
20-
import java.util.stream.Collectors;
21-
19+
import cn.crane4j.annotation.ContainerMethod;
20+
import cn.crane4j.annotation.MappingType;
21+
import cn.hutool.core.collection.CollUtil;
2222
import lombok.RequiredArgsConstructor;
23-
2423
import org.springframework.stereotype.Service;
2524
import org.springframework.transaction.annotation.Transactional;
26-
27-
import cn.hutool.core.collection.CollUtil;
28-
25+
import top.charles7c.continew.admin.common.constant.ContainerConstants;
2926
import top.charles7c.continew.admin.system.mapper.UserRoleMapper;
3027
import top.charles7c.continew.admin.system.model.entity.UserRoleDO;
3128
import top.charles7c.continew.admin.system.service.UserRoleService;
3229

30+
import java.util.List;
31+
import java.util.stream.Collectors;
32+
3333
/**
3434
* 用户和角色业务实现
3535
*
@@ -72,6 +72,7 @@ public void deleteByUserIds(List<Long> userIds) {
7272
}
7373

7474
@Override
75+
@ContainerMethod(namespace = ContainerConstants.USER_ROLE_ID_LIST, type = MappingType.NONE)
7576
public List<Long> listRoleIdByUserId(Long userId) {
7677
return userRoleMapper.selectRoleIdByUserId(userId);
7778
}

continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/UserServiceImpl.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -152,9 +152,10 @@ public void delete(List<Long> ids) {
152152
protected void fill(Object obj) {
153153
super.fill(obj);
154154
if (obj instanceof UserDetailResp detail) {
155-
List<Long> roleIdList = userRoleService.listRoleIdByUserId(detail.getId());
156-
detail.setRoleIds(roleIdList);
157-
detail.setRoleNames(String.join(StringConstants.CHINESE_COMMA, roleService.listNameByIds(roleIdList)));
155+
List<Long> roleIdList = detail.getRoleIds();
156+
if (CollUtil.isNotEmpty(roleIdList)) {
157+
detail.setRoleNames(String.join(StringConstants.CHINESE_COMMA, roleService.listNameByIds(roleIdList)));
158+
}
158159
}
159160
}
160161

0 commit comments

Comments
 (0)