|
@@ -1,11 +1,16 @@
|
|
|
package com.zjugis.module.system.controller.admin.dept;
|
|
|
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.zjugis.framework.common.enums.CommonStatusEnum;
|
|
|
import com.zjugis.framework.common.pojo.CommonResult;
|
|
|
+import com.zjugis.framework.common.util.collection.CollectionUtils;
|
|
|
+import com.zjugis.module.system.api.dept.dto.DeptRespDTO;
|
|
|
import com.zjugis.module.system.controller.admin.dept.vo.dept.*;
|
|
|
import com.zjugis.module.system.convert.dept.DeptConvert;
|
|
|
import com.zjugis.module.system.dal.dataobject.dept.DeptDO;
|
|
|
+import com.zjugis.module.system.dal.dataobject.dept.DeptLeaderDO;
|
|
|
import com.zjugis.module.system.dal.dataobject.user.AdminUserDO;
|
|
|
+import com.zjugis.module.system.service.dept.DeptLeaderService;
|
|
|
import com.zjugis.module.system.service.dept.DeptService;
|
|
|
import com.zjugis.module.system.service.user.AdminUserService;
|
|
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
@@ -19,9 +24,11 @@ import javax.annotation.Resource;
|
|
|
import javax.validation.Valid;
|
|
|
import java.util.Comparator;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
import java.util.Set;
|
|
|
|
|
|
import static com.zjugis.framework.common.pojo.CommonResult.success;
|
|
|
+import static com.zjugis.framework.common.util.collection.CollectionUtils.convertSet;
|
|
|
|
|
|
@Tag(name = "管理后台 - 部门")
|
|
|
@RestController
|
|
@@ -33,6 +40,8 @@ public class DeptController {
|
|
|
private DeptService deptService;
|
|
|
@Resource
|
|
|
private AdminUserService userService;
|
|
|
+ @Resource
|
|
|
+ private DeptLeaderService deptLeaderService;
|
|
|
|
|
|
@PostMapping("create")
|
|
|
@Operation(summary = "创建部门")
|
|
@@ -64,8 +73,18 @@ public class DeptController {
|
|
|
@PreAuthorize("@ss.hasPermission('system:dept:query')")
|
|
|
public CommonResult<List<DeptRespVO>> getDeptList(DeptListReqVO reqVO) {
|
|
|
List<DeptDO> list = deptService.getDeptList(reqVO);
|
|
|
+ Set<String> ids = convertSet(list, DeptDO::getId);
|
|
|
+ Map<String, DeptLeaderDO> stringDeptLeaderDOMap = CollectionUtils.convertMap(deptLeaderService.getDeptLeaderList(ids), DeptLeaderDO::getDeptId);
|
|
|
list.sort(Comparator.comparing(DeptDO::getSort));
|
|
|
- return success(DeptConvert.INSTANCE.convertList(list));
|
|
|
+ List<DeptRespVO> result = DeptConvert.INSTANCE.convertList(list);
|
|
|
+ result.forEach(deptRespVO -> {
|
|
|
+ DeptLeaderDO deptLeaderDO = stringDeptLeaderDOMap.get(deptRespVO.getId());
|
|
|
+ if(ObjectUtil.isNotNull(deptLeaderDO)){
|
|
|
+ String deptLeaderUserId = deptLeaderDO.getUserId();
|
|
|
+ deptRespVO.setDeptLeaderUserId(deptLeaderUserId);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return success(result);
|
|
|
}
|
|
|
|
|
|
@GetMapping("/list-all-simple")
|