Merge remote-tracking branch 'base-version/main' into test

# Conflicts:
#	pom.xml
#	zt-dependencies/pom.xml
This commit is contained in:
chenbowen
2025-09-25 19:25:47 +08:00
29 changed files with 519 additions and 68 deletions

View File

@@ -12,16 +12,16 @@ import com.zt.plat.module.system.api.user.dto.AdminUserUpdateStatusReqDTO;
import com.zt.plat.module.system.controller.admin.user.vo.user.UserSaveReqVO;
import com.zt.plat.module.system.dal.dataobject.dept.DeptDO;
import com.zt.plat.module.system.dal.dataobject.user.AdminUserDO;
import com.zt.plat.module.system.dal.dataobject.userdept.UserDeptDO;
import com.zt.plat.module.system.service.dept.DeptService;
import com.zt.plat.module.system.service.user.AdminUserService;
import com.zt.plat.module.system.service.userdept.UserDeptService;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertSet;
@@ -34,6 +34,8 @@ public class AdminUserApiImpl implements AdminUserApi {
private AdminUserService userService;
@Resource
private DeptService deptService;
@Resource
private UserDeptService userDeptService;
@Override
public CommonResult<Long> createUser(AdminUserSaveReqDTO reqVO) {
@@ -107,7 +109,23 @@ public class AdminUserApiImpl implements AdminUserApi {
public CommonResult<List<AdminUserRespDTO>> getUserList(Collection<Long> ids) {
return DataPermissionUtils.executeIgnore(() -> { // 禁用数据权限。原因是,一般基于指定 id 的 API 查询,都是数据拼接为主
List<AdminUserDO> users = userService.getUserList(ids);
return success(BeanUtils.toBean(users, AdminUserRespDTO.class));
List<UserDeptDO> validUserDeptListByUserIds = userDeptService.getValidUserDeptListByUserIds(ids);
// 构建用户ID到部门ID列表的映射
Map<Long, List<Long>> userDeptMap = validUserDeptListByUserIds.stream()
.collect(Collectors.groupingBy(
UserDeptDO::getUserId,
Collectors.mapping(UserDeptDO::getDeptId, Collectors.toList())
));
// 转换并设置部门信息
List<AdminUserRespDTO> userRespList = BeanUtils.toBean(users, AdminUserRespDTO.class);
userRespList.forEach(userResp -> {
List<Long> deptIds = userDeptMap.getOrDefault(userResp.getId(), new ArrayList<>());
userResp.setDeptIds(deptIds);
});
return success(userRespList);
});
}