From dbbc9e82dbbcd6b26e8fff1bbdffae8d4257cb7b Mon Sep 17 00:00:00 2001 From: zhuangtianxiang <2913129173@qq.com> Date: Fri, 6 Dec 2024 16:01:14 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=B6=88=E6=81=AF=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E4=B8=8E=E9=83=A8=E9=97=A8=E6=A8=A1=E5=9D=97):=20=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E4=BA=86=E6=B6=88=E6=81=AF=E6=A8=A1=E5=9D=97=E7=9A=84?= =?UTF-8?q?bug=E5=B9=B6=E4=BB=8E=E6=96=B0=E5=BB=BA=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E4=B8=AD=E7=8B=AC=E7=AB=8B=E5=87=BA=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E9=99=84=E4=BB=B6=E6=8E=A5=E5=8F=A3=EF=BC=8C=E9=83=A8?= =?UTF-8?q?=E9=97=A8=E6=A8=A1=E5=9D=97=E6=96=B0=E6=B7=BB=E5=8A=A0=E4=BA=86?= =?UTF-8?q?=E9=83=A8=E9=97=A8=E6=A0=91=E8=BF=94=E5=9B=9E=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gateway/exception/ApiExceptionHandler.java | 10 +++++----- .../controller/UserMessageController.java | 4 ++-- .../gateway/modules/notice/entity/Message.java | 2 +- .../notice/mapper/BulletinAttachmentMapper.java | 15 --------------- .../notice/repo/UserMessageRepository.java | 6 ++---- .../notice/service/UserMessageService.java | 3 +-- .../service/impl/UserMessageServiceImpl.java | 11 ++++++----- .../system/controller/DeptController.java | 8 ++++---- .../modules/system/service/DeptService.java | 2 +- .../service/impl/AuthorityServiceImpl.java | 4 ++++ .../system/service/impl/DeptServiceImpl.java | 17 +++++++++++++++-- .../mappers/noticeMappers/BulletinMapper.xml | 1 + .../mappers/noticeMappers/UserMessageMapper.xml | 4 ++-- .../mappers/systemMappers/DeptMapper.xml | 8 ++++++-- 14 files changed, 50 insertions(+), 45 deletions(-) delete mode 100644 src/main/java/com/zsc/edu/gateway/modules/notice/mapper/BulletinAttachmentMapper.java diff --git a/src/main/java/com/zsc/edu/gateway/exception/ApiExceptionHandler.java b/src/main/java/com/zsc/edu/gateway/exception/ApiExceptionHandler.java index 0e16523..934bf3c 100644 --- a/src/main/java/com/zsc/edu/gateway/exception/ApiExceptionHandler.java +++ b/src/main/java/com/zsc/edu/gateway/exception/ApiExceptionHandler.java @@ -66,10 +66,10 @@ public class ApiExceptionHandler { } //TODO 跟全局security 冲突 - @ExceptionHandler(value = {Exception.class}) - public ResponseEntity handleException(Exception ex) throws JsonProcessingException { - log.error("Exception: {}", objectMapper.writeValueAsString(Map.of("msg", ex.getMessage()))); - return new ResponseEntity<>(objectMapper.writeValueAsString(Map.of("msg", ex.getMessage())), HttpStatus.INTERNAL_SERVER_ERROR); - } +// @ExceptionHandler(value = {Exception.class}) +// public ResponseEntity handleException(Exception ex) throws JsonProcessingException { +// log.error("Exception: {}", objectMapper.writeValueAsString(Map.of("msg", ex.getMessage()))); +// return new ResponseEntity<>(objectMapper.writeValueAsString(Map.of("msg", ex.getMessage())), HttpStatus.INTERNAL_SERVER_ERROR); +// } } diff --git a/src/main/java/com/zsc/edu/gateway/modules/notice/controller/UserMessageController.java b/src/main/java/com/zsc/edu/gateway/modules/notice/controller/UserMessageController.java index 307cb17..da3df90 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/notice/controller/UserMessageController.java +++ b/src/main/java/com/zsc/edu/gateway/modules/notice/controller/UserMessageController.java @@ -97,8 +97,8 @@ public class UserMessageController { */ @GetMapping @PreAuthorize("hasAuthority('MESSAGE_QUERY')") - public IPage page(Page pageParam, AdminMessageQuery query) { - return service.getAdminVo(pageParam, query); + public IPage page(Page page, AdminMessageQuery query) { + return service.getAdminMessagePage(page, query); } /** diff --git a/src/main/java/com/zsc/edu/gateway/modules/notice/entity/Message.java b/src/main/java/com/zsc/edu/gateway/modules/notice/entity/Message.java index 21237a9..b320dc5 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/notice/entity/Message.java +++ b/src/main/java/com/zsc/edu/gateway/modules/notice/entity/Message.java @@ -30,7 +30,7 @@ public class Message extends BaseEntity { /** * 是否系统生成 */ - public Boolean system; + public Boolean system = false; /** * 是否需要发送邮件 diff --git a/src/main/java/com/zsc/edu/gateway/modules/notice/mapper/BulletinAttachmentMapper.java b/src/main/java/com/zsc/edu/gateway/modules/notice/mapper/BulletinAttachmentMapper.java deleted file mode 100644 index e3b4d0e..0000000 --- a/src/main/java/com/zsc/edu/gateway/modules/notice/mapper/BulletinAttachmentMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.zsc.edu.gateway.modules.notice.mapper; - -import com.zsc.edu.gateway.common.mapstruct.BaseMapper; -import com.zsc.edu.gateway.modules.notice.dto.BulletinAttachmentDto; -import com.zsc.edu.gateway.modules.notice.entity.BulletinAttachment; -import org.mapstruct.Mapper; -import org.mapstruct.ReportingPolicy; - -/** - * @author zhuang - */ -@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) -public interface BulletinAttachmentMapper extends BaseMapper { - -} diff --git a/src/main/java/com/zsc/edu/gateway/modules/notice/repo/UserMessageRepository.java b/src/main/java/com/zsc/edu/gateway/modules/notice/repo/UserMessageRepository.java index 6901f72..965ebe7 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/notice/repo/UserMessageRepository.java +++ b/src/main/java/com/zsc/edu/gateway/modules/notice/repo/UserMessageRepository.java @@ -10,8 +10,6 @@ import com.zsc.edu.gateway.modules.notice.vo.AdminMessageVo; import com.zsc.edu.gateway.modules.notice.vo.UserMessageVo; import org.apache.ibatis.annotations.Param; -import java.util.List; - /** * 用户消息Repo * @@ -21,7 +19,7 @@ public interface UserMessageRepository extends BaseMapper { UserMessageVo selectByMessageIdAndUserId(@Param("messageId") Long messageId, @Param("userId") Long userId); - IPage query(Page page, @Param("query") UserMessageQuery query); + IPage page(Page page, @Param("query") UserMessageQuery query); - IPage getAdminVo(Page page, @Param("query") AdminMessageQuery query); + IPage pageAdmin(Page page, @Param("query") AdminMessageQuery query); } diff --git a/src/main/java/com/zsc/edu/gateway/modules/notice/service/UserMessageService.java b/src/main/java/com/zsc/edu/gateway/modules/notice/service/UserMessageService.java index 58c97af..4f774f0 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/notice/service/UserMessageService.java +++ b/src/main/java/com/zsc/edu/gateway/modules/notice/service/UserMessageService.java @@ -10,7 +10,6 @@ import com.zsc.edu.gateway.modules.notice.query.AdminMessageQuery; import com.zsc.edu.gateway.modules.notice.query.UserMessageQuery; import com.zsc.edu.gateway.modules.notice.vo.AdminMessageVo; import com.zsc.edu.gateway.modules.notice.vo.UserMessageVo; -import org.springframework.transaction.annotation.Transactional; import java.util.List; @@ -32,5 +31,5 @@ public interface UserMessageService extends IService { Integer markAsRead(UserDetailsImpl userDetails, List messageIds); - IPage getAdminVo(Page page, AdminMessageQuery query); + IPage getAdminMessagePage(Page page, AdminMessageQuery query); } diff --git a/src/main/java/com/zsc/edu/gateway/modules/notice/service/impl/UserMessageServiceImpl.java b/src/main/java/com/zsc/edu/gateway/modules/notice/service/impl/UserMessageServiceImpl.java index 7ebcb94..b20b20b 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/notice/service/impl/UserMessageServiceImpl.java +++ b/src/main/java/com/zsc/edu/gateway/modules/notice/service/impl/UserMessageServiceImpl.java @@ -12,6 +12,7 @@ import com.zsc.edu.gateway.framework.message.sms.SmsSender; import com.zsc.edu.gateway.framework.security.UserDetailsImpl; import com.zsc.edu.gateway.modules.notice.dto.UserMessageDto; import com.zsc.edu.gateway.modules.notice.entity.*; +import com.zsc.edu.gateway.modules.notice.mapper.MessageMapper; import com.zsc.edu.gateway.modules.notice.query.AdminMessageQuery; import com.zsc.edu.gateway.modules.notice.query.UserMessageQuery; import com.zsc.edu.gateway.modules.notice.repo.MessageRepository; @@ -48,7 +49,7 @@ public class UserMessageServiceImpl extends ServiceImpl page(Page page, UserMessageQuery query) { - return userMessageRepository.query(page, query); + return userMessageRepository.page(page, query); } /** @@ -121,8 +122,8 @@ public class UserMessageServiceImpl extends ServiceImpl getAdminVo(Page page, AdminMessageQuery query) { - return userMessageRepository.getAdminVo(page, query); + public IPage getAdminMessagePage(Page page, AdminMessageQuery query) { + return userMessageRepository.pageAdmin(page, query); } @@ -136,7 +137,7 @@ public class UserMessageServiceImpl extends ServiceImpl users = new HashSet<>(userRepository.selectList(new LambdaQueryWrapper().in(User::getId, dto.userIds))); - Message message = new Message(dto.type, false, dto.email, dto.sms, dto.html, dto.title, dto.content); + Message message = messageMapper.toEntity(dto); messageRepo.insert(message); Set userMessages = users.stream() .map(user -> new UserMessage(null, user.getId(), message.getId(), true, null)) diff --git a/src/main/java/com/zsc/edu/gateway/modules/system/controller/DeptController.java b/src/main/java/com/zsc/edu/gateway/modules/system/controller/DeptController.java index afd7a0c..179463d 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/system/controller/DeptController.java +++ b/src/main/java/com/zsc/edu/gateway/modules/system/controller/DeptController.java @@ -28,12 +28,12 @@ public class DeptController { /** * 返回管理部门列表 hasAuthority('DEPT_QUERY') - * + * @param deptId 部门ID * @return 部门列表 */ - @GetMapping() - public List getDeptTree() { - return service.getDeptTree(); + @GetMapping("/{deptId}") + public List getDeptTree(@PathVariable Long deptId) { + return service.getDeptTree(deptId); } /** diff --git a/src/main/java/com/zsc/edu/gateway/modules/system/service/DeptService.java b/src/main/java/com/zsc/edu/gateway/modules/system/service/DeptService.java index 17b43d3..b116e53 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/system/service/DeptService.java +++ b/src/main/java/com/zsc/edu/gateway/modules/system/service/DeptService.java @@ -36,5 +36,5 @@ public interface DeptService extends IService { * * @return Dept */ - List getDeptTree(); + List getDeptTree(Long deptId); } diff --git a/src/main/java/com/zsc/edu/gateway/modules/system/service/impl/AuthorityServiceImpl.java b/src/main/java/com/zsc/edu/gateway/modules/system/service/impl/AuthorityServiceImpl.java index abceaf6..6836a89 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/system/service/impl/AuthorityServiceImpl.java +++ b/src/main/java/com/zsc/edu/gateway/modules/system/service/impl/AuthorityServiceImpl.java @@ -2,10 +2,12 @@ package com.zsc.edu.gateway.modules.system.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.zsc.edu.gateway.common.util.TreeUtil; import com.zsc.edu.gateway.exception.ConstraintException; import com.zsc.edu.gateway.modules.system.dto.AuthorityDto; //import com.zsc.edu.gateway.modules.system.dto.RoleAuthorityDto; import com.zsc.edu.gateway.modules.system.entity.Authority; +import com.zsc.edu.gateway.modules.system.entity.Dept; import com.zsc.edu.gateway.modules.system.entity.Role; import com.zsc.edu.gateway.modules.system.mapper.AuthorityMapper; import com.zsc.edu.gateway.modules.system.repo.AuthorityRepository; @@ -13,6 +15,8 @@ import com.zsc.edu.gateway.modules.system.service.AuthorityService; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Objects; import java.util.Set; /** diff --git a/src/main/java/com/zsc/edu/gateway/modules/system/service/impl/DeptServiceImpl.java b/src/main/java/com/zsc/edu/gateway/modules/system/service/impl/DeptServiceImpl.java index 444f70a..83fc465 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/system/service/impl/DeptServiceImpl.java +++ b/src/main/java/com/zsc/edu/gateway/modules/system/service/impl/DeptServiceImpl.java @@ -12,7 +12,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; +import java.util.Objects; /** *

@@ -57,14 +59,25 @@ public class DeptServiceImpl extends ServiceImpl implement } @Override - public List getDeptTree() { + public List getDeptTree(Long deptId) { List deptTrees = repo.selectDeptTree(); - return TreeUtil.makeTree( + List deptTree = TreeUtil.makeTree( deptTrees, department -> department.getPid() == null || department.getPid() == -1L, (parent, child) -> parent.getId().equals(child.getPid()), Dept::setChildren ); + + if (Objects.nonNull(deptId)) { + List deptChildrenTree = new ArrayList<>(); + TreeUtil.forLevelOrder(deptTree, node -> { + if (node.getId().equals(deptId)) { + deptChildrenTree.add(node); + } + }, Dept::getChildren); + return deptChildrenTree; + } + return deptTree; } } diff --git a/src/main/resources/mappers/noticeMappers/BulletinMapper.xml b/src/main/resources/mappers/noticeMappers/BulletinMapper.xml index ec5d79c..ed4dec6 100644 --- a/src/main/resources/mappers/noticeMappers/BulletinMapper.xml +++ b/src/main/resources/mappers/noticeMappers/BulletinMapper.xml @@ -31,6 +31,7 @@ - select sum.*,sm.*,su.username,su.address,su.avatar,su.name from sys_user_message sum left join sys_user su on sum.user_id = su.id @@ -79,7 +79,7 @@ sm.create_time DESC - SELECT sm.*, -- 获取消息详情 COUNT(DISTINCT sum.user_id) AS user_count, -- 统计用户的关联数量 diff --git a/src/main/resources/mappers/systemMappers/DeptMapper.xml b/src/main/resources/mappers/systemMappers/DeptMapper.xml index b8b84a3..c90954f 100644 --- a/src/main/resources/mappers/systemMappers/DeptMapper.xml +++ b/src/main/resources/mappers/systemMappers/DeptMapper.xml @@ -8,8 +8,12 @@ - +