From 9344f817724f9dc6aa4ebbc136ebbd9835fd459e Mon Sep 17 00:00:00 2001 From: none Date: Wed, 12 Apr 2023 13:55:22 +0800 Subject: [PATCH] =?UTF-8?q?=E9=83=A8=E9=97=A8=E5=88=97=E8=A1=A8api?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E9=83=A8=E9=97=A8=E7=9A=84=E5=AD=A6=E5=91=98?= =?UTF-8?q?=E6=95=B0=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../backend/DepartmentController.java | 3 +- .../controller/backend/UserController.java | 33 +++++++++---------- .../playedu/api/mapper/DepartmentMapper.java | 7 +++- .../api/service/DepartmentService.java | 6 ++-- .../service/impl/DepartmentServiceImpl.java | 22 ++++++------- .../mapper/DepartmentsUserCountMapRes.java | 19 +++++++++++ .../resources/mapper/DepartmentMapper.xml | 9 +++-- 7 files changed, 63 insertions(+), 36 deletions(-) create mode 100644 src/main/java/xyz/playedu/api/types/mapper/DepartmentsUserCountMapRes.java diff --git a/src/main/java/xyz/playedu/api/controller/backend/DepartmentController.java b/src/main/java/xyz/playedu/api/controller/backend/DepartmentController.java index 254d415..89d4994 100644 --- a/src/main/java/xyz/playedu/api/controller/backend/DepartmentController.java +++ b/src/main/java/xyz/playedu/api/controller/backend/DepartmentController.java @@ -47,6 +47,7 @@ public class DepartmentController { public JsonResponse index() { HashMap data = new HashMap<>(); data.put("departments", departmentService.groupByParent()); + data.put("dep_user_count", departmentService.getDepartmentsUserCount()); return JsonResponse.data(data); } @@ -133,7 +134,7 @@ public class DepartmentController { @DeleteMapping("/{id}") public JsonResponse destroy(@PathVariable Integer id) throws NotFoundException { Department department = departmentService.findOrFail(id); - departmentService.deleteById(department.getId()); + departmentService.destroy(department.getId()); ctx.publishEvent(new DepartmentDestroyEvent(this, BCtx.getId(), department.getId())); return JsonResponse.success(); } diff --git a/src/main/java/xyz/playedu/api/controller/backend/UserController.java b/src/main/java/xyz/playedu/api/controller/backend/UserController.java index e59587a..4a74a5e 100644 --- a/src/main/java/xyz/playedu/api/controller/backend/UserController.java +++ b/src/main/java/xyz/playedu/api/controller/backend/UserController.java @@ -38,6 +38,7 @@ import java.util.stream.Collectors; /** * @Author 杭州白书科技有限公司 + * * @create 2023/2/23 09:48 */ @RestController @@ -45,17 +46,13 @@ import java.util.stream.Collectors; @RequestMapping("/backend/v1/user") public class UserController { - @Autowired - private UserService userService; + @Autowired private UserService userService; - @Autowired - private UserDepartmentService userDepartmentService; + @Autowired private UserDepartmentService userDepartmentService; - @Autowired - private DepartmentService departmentService; + @Autowired private DepartmentService departmentService; - @Autowired - private ApplicationContext context; + @Autowired private ApplicationContext context; @BackendPermissionMiddleware(slug = BPermissionConstant.USER_INDEX) @GetMapping("/index") @@ -200,7 +197,7 @@ public class UserController { String defaultAvatar = BCtx.getConfig().get(CConfig.MEMBER_DEFAULT_AVATAR); List errorLines = new ArrayList<>(); - errorLines.add(new String[]{"错误行", "错误信息"}); // 错误表-表头 + errorLines.add(new String[] {"错误行", "错误信息"}); // 错误表-表头 // 读取存在的部门 List departments = departmentService.all(); @@ -240,14 +237,14 @@ public class UserController { i++; // 索引值 if (userItem.getEmail() == null || userItem.getEmail().trim().length() == 0) { - errorLines.add(new String[]{"第" + (i + startLine) + "行", "未输入邮箱账号"}); + errorLines.add(new String[] {"第" + (i + startLine) + "行", "未输入邮箱账号"}); } else { // 邮箱重复判断 Integer repeatLine = emailRepeat.get(userItem.getEmail()); if (repeatLine != null) { errorLines.add( - new String[]{ - "第" + (i + startLine) + "行", "与第" + repeatLine + "行邮箱重复" + new String[] { + "第" + (i + startLine) + "行", "与第" + repeatLine + "行邮箱重复" }); } else { emailRepeat.put(userItem.getEmail(), i + startLine); @@ -257,7 +254,7 @@ public class UserController { // 部门数据检测 if (userItem.getDeps() == null || userItem.getDeps().trim().length() == 0) { - errorLines.add(new String[]{"第" + (i + startLine) + "行", "未选择部门"}); + errorLines.add(new String[] {"第" + (i + startLine) + "行", "未选择部门"}); } else { String[] tmpDepList = userItem.getDeps().trim().split("\\|"); Integer[] tmpDepIds = new Integer[tmpDepList.length]; @@ -267,8 +264,8 @@ public class UserController { // 判断部门id是否存在 if (tmpDepId == null || tmpDepId == 0) { errorLines.add( - new String[]{ - "第" + (i + startLine) + "行", "部门『" + tmpDepList[j] + "』不存在" + new String[] { + "第" + (i + startLine) + "行", "部门『" + tmpDepList[j] + "』不存在" }); continue; } @@ -280,13 +277,13 @@ public class UserController { // 姓名为空检测 String tmpName = userItem.getName(); if (tmpName == null || tmpName.trim().length() == 0) { - errorLines.add(new String[]{"第" + (i + startLine) + "行", "昵称为空"}); + errorLines.add(new String[] {"第" + (i + startLine) + "行", "昵称为空"}); } // 密码为空检测 String tmpPassword = userItem.getPassword(); if (tmpPassword == null || tmpPassword.trim().length() == 0) { - errorLines.add(new String[]{"第" + (i + startLine) + "行", "密码为空"}); + errorLines.add(new String[] {"第" + (i + startLine) + "行", "密码为空"}); } // 待插入数据 @@ -314,7 +311,7 @@ public class UserController { List existsEmails = userService.existsEmailsByEmails(emails); if (existsEmails.size() > 0) { for (String tmpEmail : existsEmails) { - errorLines.add(new String[]{"第" + emailRepeat.get(tmpEmail) + "行", "邮箱已注册"}); + errorLines.add(new String[] {"第" + emailRepeat.get(tmpEmail) + "行", "邮箱已注册"}); } } if (errorLines.size() > 1) { diff --git a/src/main/java/xyz/playedu/api/mapper/DepartmentMapper.java b/src/main/java/xyz/playedu/api/mapper/DepartmentMapper.java index 273a296..3beb698 100644 --- a/src/main/java/xyz/playedu/api/mapper/DepartmentMapper.java +++ b/src/main/java/xyz/playedu/api/mapper/DepartmentMapper.java @@ -9,6 +9,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; import xyz.playedu.api.domain.Department; +import xyz.playedu.api.types.mapper.DepartmentsUserCountMapRes; + +import java.util.List; /** * @author tengteng @@ -16,4 +19,6 @@ import xyz.playedu.api.domain.Department; * @createDate 2023-02-19 12:19:45 @Entity xyz.playedu.api.domain.Department */ @Mapper -public interface DepartmentMapper extends BaseMapper {} +public interface DepartmentMapper extends BaseMapper { + List getDepartmentsUserCount(); +} diff --git a/src/main/java/xyz/playedu/api/service/DepartmentService.java b/src/main/java/xyz/playedu/api/service/DepartmentService.java index d453da0..44c2caf 100644 --- a/src/main/java/xyz/playedu/api/service/DepartmentService.java +++ b/src/main/java/xyz/playedu/api/service/DepartmentService.java @@ -25,13 +25,11 @@ public interface DepartmentService extends IService { Department findOrFail(Integer id) throws NotFoundException; - void deleteById(Integer id) throws NotFoundException; + void destroy(Integer id) throws NotFoundException; void update(Department department, String name, Integer parentId, Integer sort) throws NotFoundException; - List allIds(); - String compParentChain(Integer parentId) throws NotFoundException; String childrenParentChain(Department department); @@ -53,4 +51,6 @@ public interface DepartmentService extends IService { Map id2name(); Long total(); + + Map getDepartmentsUserCount(); } diff --git a/src/main/java/xyz/playedu/api/service/impl/DepartmentServiceImpl.java b/src/main/java/xyz/playedu/api/service/impl/DepartmentServiceImpl.java index 7e090d2..0b83893 100644 --- a/src/main/java/xyz/playedu/api/service/impl/DepartmentServiceImpl.java +++ b/src/main/java/xyz/playedu/api/service/impl/DepartmentServiceImpl.java @@ -21,6 +21,7 @@ import xyz.playedu.api.mapper.DepartmentMapper; import xyz.playedu.api.service.CourseDepartmentService; import xyz.playedu.api.service.DepartmentService; import xyz.playedu.api.service.internal.UserDepartmentService; +import xyz.playedu.api.types.mapper.DepartmentsUserCountMapRes; import java.util.*; import java.util.stream.Collectors; @@ -60,7 +61,7 @@ public class DepartmentServiceImpl extends ServiceImpl allIds() { - List departments = list(query().getWrapper().eq("1", "1").select("id")); - List ids = new ArrayList<>(); - for (Department department : departments) { - ids.add(department.getId()); - } - return ids; - } - @Override public String compParentChain(Integer parentId) throws NotFoundException { String parentChain = ""; @@ -257,4 +248,13 @@ public class DepartmentServiceImpl extends ServiceImpl getDepartmentsUserCount() { + return getBaseMapper().getDepartmentsUserCount().stream() + .collect( + Collectors.toMap( + DepartmentsUserCountMapRes::getDepId, + DepartmentsUserCountMapRes::getTotal)); + } } diff --git a/src/main/java/xyz/playedu/api/types/mapper/DepartmentsUserCountMapRes.java b/src/main/java/xyz/playedu/api/types/mapper/DepartmentsUserCountMapRes.java new file mode 100644 index 0000000..3788562 --- /dev/null +++ b/src/main/java/xyz/playedu/api/types/mapper/DepartmentsUserCountMapRes.java @@ -0,0 +1,19 @@ +/** + * This file is part of the PlayEdu. + * (c) 杭州白书科技有限公司 + */ +package xyz.playedu.api.types.mapper; + +import lombok.Data; + +/** + * @Author 杭州白书科技有限公司 + * + * @create 2023/4/12 13:46 + */ +@Data +public class DepartmentsUserCountMapRes { + private Integer depId; + + private Integer total; +} diff --git a/src/main/resources/mapper/DepartmentMapper.xml b/src/main/resources/mapper/DepartmentMapper.xml index b9a86c2..f79032c 100644 --- a/src/main/resources/mapper/DepartmentMapper.xml +++ b/src/main/resources/mapper/DepartmentMapper.xml @@ -15,8 +15,13 @@ - id,name,parent_id, - parent_chain,sort,created_at, + id,name,parent_id, + parent_chain,sort,created_at, updated_at +