From 6a9c28487fdc1f710d0d90bc8e496903805131c1 Mon Sep 17 00:00:00 2001 From: liuhanqing <447067298@qq.com> Date: Mon, 4 Jan 2021 23:24:39 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90message=E3=80=91=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E6=A8=A1=E5=9D=97=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel-s-message/message-api/pom.xml | 2 +- .../roses/kernel/message/api/MessageApi.java | 11 ++- .../api/constants/MessageConstants.java | 2 +- .../api/enums/MessageReadFlagEnum.java | 33 ++++++++ .../kernel/message/api/pojo/MessageParam.java | 5 ++ .../message/api/pojo/MessageResponse.java | 5 ++ .../message/api/pojo/MessageSendParam.java | 5 ++ kernel-s-message/message-sdk-db/pom.xml | 8 +- .../message/db/MessageDbServiceImpl.java | 56 ++++++++++++- .../kernel/message/db/entity/SysMessage.java | 6 ++ .../message-spring-boot-starter/pom.xml | 2 +- .../roses/kernel/system/UserServiceApi.java | 35 ++++++++ .../kernel/system/pojo/user/SysUserDTO.java | 81 +++++++++++++++++++ .../pojo/user}/request/SysUserRequest.java | 2 +- .../user/controller/SysUserController.java | 2 +- .../user/factory/SysUserCreateFactory.java | 2 +- .../modular/user/mapper/SysUserMapper.java | 2 +- .../user/service/SysUserDataScopeService.java | 2 +- .../user/service/SysUserRoleService.java | 2 +- .../modular/user/service/SysUserService.java | 2 +- .../impl/SysUserDataScopeServiceImpl.java | 2 +- .../service/impl/SysUserRoleServiceImpl.java | 2 +- .../user/service/impl/SysUserServiceImpl.java | 56 ++++++++++++- 23 files changed, 308 insertions(+), 17 deletions(-) create mode 100644 kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/enums/MessageReadFlagEnum.java create mode 100644 kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/pojo/user/SysUserDTO.java rename kernel-s-system/{system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/pojo => system-api/src/main/java/cn/stylefeng/roses/kernel/system/pojo/user}/request/SysUserRequest.java (98%) diff --git a/kernel-s-message/message-api/pom.xml b/kernel-s-message/message-api/pom.xml index 17ac09d84..33e993129 100644 --- a/kernel-s-message/message-api/pom.xml +++ b/kernel-s-message/message-api/pom.xml @@ -6,7 +6,7 @@ cn.stylefeng.roses - kernel-d-message + kernel-s-message 1.0.0 ../pom.xml diff --git a/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/MessageApi.java b/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/MessageApi.java index 3687e057f..449792c94 100644 --- a/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/MessageApi.java +++ b/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/MessageApi.java @@ -1,6 +1,7 @@ package cn.stylefeng.roses.kernel.message.api; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; +import cn.stylefeng.roses.kernel.message.api.enums.MessageReadFlagEnum; import cn.stylefeng.roses.kernel.message.api.pojo.MessageResponse; import cn.stylefeng.roses.kernel.message.api.pojo.MessageSendParam; import cn.stylefeng.roses.kernel.message.api.pojo.MessageParam; @@ -36,6 +37,14 @@ public interface MessageApi { */ void updateReadFlag(MessageParam messageParam); + /** + * 批量更新阅读状态 + * + * @param messageIds 消息id字符串,多个用逗号分隔 + * @author liuhanqing + * @date 2021/1/4 21:21 + */ + void batchReadFlagByMessageIds(String messageIds, MessageReadFlagEnum flagEnum); /** * 删除系统消息 * @@ -52,7 +61,7 @@ public interface MessageApi { * @author liuhanqing * @date 2021/1/2 21:21 */ - void batchDeleteByMessageId(String messageIds); + void batchDeleteByMessageIds(String messageIds); /** * 查看系统消息 diff --git a/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/constants/MessageConstants.java b/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/constants/MessageConstants.java index c61294c5e..4957afc24 100644 --- a/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/constants/MessageConstants.java +++ b/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/constants/MessageConstants.java @@ -11,7 +11,7 @@ public interface MessageConstants { /** * 消息模块的名称 */ - String MESSAGE_MODULE_NAME = "kernel-d-message"; + String MESSAGE_MODULE_NAME = "kernel-s-message"; /** * 异常枚举的步进值 diff --git a/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/enums/MessageReadFlagEnum.java b/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/enums/MessageReadFlagEnum.java new file mode 100644 index 000000000..ef2d7c12a --- /dev/null +++ b/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/enums/MessageReadFlagEnum.java @@ -0,0 +1,33 @@ +package cn.stylefeng.roses.kernel.message.api.enums; + +import lombok.Getter; + +/** + * 消息阅读状态 + * + * @author liuhanqing + * @date 2021/1/4 22:26 + */ +@Getter +public enum MessageReadFlagEnum { + + /** + * 未读 + */ + UNREAD(0, "未读"), + + /** + * 已读 + */ + READ(1, "已读"); + + private final Integer code; + + private final String name; + + MessageReadFlagEnum(Integer code, String name) { + this.code = code; + this.name = name; + } + +} diff --git a/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/pojo/MessageParam.java b/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/pojo/MessageParam.java index 60d62f4d1..11c0d93f9 100644 --- a/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/pojo/MessageParam.java +++ b/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/pojo/MessageParam.java @@ -48,6 +48,11 @@ public class MessageParam extends BaseRequest { */ private String messageType; + /** + * 消息优先级 + */ + private String priorityLevel; + /** * 消息发送时间 */ diff --git a/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/pojo/MessageResponse.java b/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/pojo/MessageResponse.java index 2d6c01f2d..795470203 100644 --- a/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/pojo/MessageResponse.java +++ b/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/pojo/MessageResponse.java @@ -39,6 +39,11 @@ public class MessageResponse implements Serializable { */ private String messageContent; + /** + * 消息优先级 + */ + private String priorityLevel; + /** * 消息类型 */ diff --git a/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/pojo/MessageSendParam.java b/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/pojo/MessageSendParam.java index a044b4320..36e5dd642 100644 --- a/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/pojo/MessageSendParam.java +++ b/kernel-s-message/message-api/src/main/java/cn/stylefeng/roses/kernel/message/api/pojo/MessageSendParam.java @@ -38,6 +38,11 @@ public class MessageSendParam extends BaseRequest { */ private String messageType; + /** + * 消息优先级 + */ + private String priorityLevel; + /** * 业务id */ diff --git a/kernel-s-message/message-sdk-db/pom.xml b/kernel-s-message/message-sdk-db/pom.xml index b12b29801..0b8c4ebf3 100644 --- a/kernel-s-message/message-sdk-db/pom.xml +++ b/kernel-s-message/message-sdk-db/pom.xml @@ -6,7 +6,7 @@ cn.stylefeng.roses - kernel-d-message + kernel-s-message 1.0.0 ../pom.xml @@ -30,6 +30,12 @@ db-sdk-mp 1.0.0 + + + cn.stylefeng.roses + system-api + 1.0.0 + diff --git a/kernel-s-message/message-sdk-db/src/main/java/cn/stylefeng/roses/kernel/message/db/MessageDbServiceImpl.java b/kernel-s-message/message-sdk-db/src/main/java/cn/stylefeng/roses/kernel/message/db/MessageDbServiceImpl.java index 380e501fc..fd3dbbdd3 100644 --- a/kernel-s-message/message-sdk-db/src/main/java/cn/stylefeng/roses/kernel/message/db/MessageDbServiceImpl.java +++ b/kernel-s-message/message-sdk-db/src/main/java/cn/stylefeng/roses/kernel/message/db/MessageDbServiceImpl.java @@ -1,15 +1,27 @@ package cn.stylefeng.roses.kernel.message.db; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.convert.Convert; +import cn.stylefeng.roses.kernel.auth.api.context.LoginContext; +import cn.stylefeng.roses.kernel.auth.api.pojo.login.LoginUser; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.message.api.MessageApi; import cn.stylefeng.roses.kernel.message.api.constants.MessageConstants; +import cn.stylefeng.roses.kernel.message.api.enums.MessageReadFlagEnum; +import cn.stylefeng.roses.kernel.message.api.exception.enums.MessageExceptionEnum; import cn.stylefeng.roses.kernel.message.api.pojo.MessageParam; import cn.stylefeng.roses.kernel.message.api.pojo.MessageResponse; import cn.stylefeng.roses.kernel.message.api.pojo.MessageSendParam; +import cn.stylefeng.roses.kernel.message.db.entity.SysMessage; +import cn.stylefeng.roses.kernel.message.db.service.SysMessageService; +import cn.stylefeng.roses.kernel.system.UserServiceApi; +import cn.stylefeng.roses.kernel.system.exception.SystemModularException; +import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; -import java.util.List; +import javax.annotation.Resource; +import java.util.*; /** * 系统消息,数据库实现 @@ -21,13 +33,48 @@ import java.util.List; @Service public class MessageDbServiceImpl implements MessageApi { + + @Resource + private UserServiceApi userServiceApi; + + @Resource + private SysMessageService sysMessageService; + @Override public void sendMessage(MessageSendParam messageSendParam) { String receiveUserIds = messageSendParam.getReceiveUserIds(); + // 获取当前登录人 + LoginUser loginUser = LoginContext.me().getLoginUser(); + List sendMsgList = new ArrayList<>(); + List userIds = new ArrayList<>(); // 发送所有人判断 if (MessageConstants.RECEIVE_ALL_USER_FLAG.equals(receiveUserIds)) { + // 查询所有用户 + userIds = userServiceApi.queryAllUserIdList(new SysUserRequest()); + } else { + String[] userIdArr = receiveUserIds.split(","); + userIds = Convert.toList(Long.class, userIdArr); } + if (userIds == null || userIds.isEmpty()) { + throw new SystemModularException(MessageExceptionEnum.ERROR_RECEIVE_USER_IDS, receiveUserIds); + } + + Set userIdSet = new HashSet<>(userIds); + SysMessage sysMessage = new SysMessage(); + BeanUtil.copyProperties(messageSendParam, sysMessage); + // 初始化默认值 + sysMessage.setReadFlag(MessageReadFlagEnum.UNREAD.getCode()); + sysMessage.setSendUserId(loginUser.getUserId()); + sysMessage.setMessageSendTime(new Date()); + userIdSet.forEach(userId -> { + // 判断用户是否存在 + if(userServiceApi.userExist(userId)){ + sysMessage.setReceiveUserId(userId); + sendMsgList.add(sysMessage); + } + }); + sysMessageService.saveBatch(sendMsgList); } @@ -36,13 +83,18 @@ public class MessageDbServiceImpl implements MessageApi { } + @Override + public void batchReadFlagByMessageIds(String messageIds, MessageReadFlagEnum flagEnum) { + + } + @Override public void deleteByMessageId(Long messageId) { } @Override - public void batchDeleteByMessageId(String messageIds) { + public void batchDeleteByMessageIds(String messageIds) { } diff --git a/kernel-s-message/message-sdk-db/src/main/java/cn/stylefeng/roses/kernel/message/db/entity/SysMessage.java b/kernel-s-message/message-sdk-db/src/main/java/cn/stylefeng/roses/kernel/message/db/entity/SysMessage.java index 0f39b4a9b..a4da591ae 100644 --- a/kernel-s-message/message-sdk-db/src/main/java/cn/stylefeng/roses/kernel/message/db/entity/SysMessage.java +++ b/kernel-s-message/message-sdk-db/src/main/java/cn/stylefeng/roses/kernel/message/db/entity/SysMessage.java @@ -54,6 +54,12 @@ public class SysMessage extends BaseEntity { @TableField(value = "message_type") private String messageType; + /** + * 消息优先级 + */ + @TableField(value = "priority_level") + private String priorityLevel; + /** * 消息发送时间 */ diff --git a/kernel-s-message/message-spring-boot-starter/pom.xml b/kernel-s-message/message-spring-boot-starter/pom.xml index cf61944ed..8ac9a1d90 100644 --- a/kernel-s-message/message-spring-boot-starter/pom.xml +++ b/kernel-s-message/message-spring-boot-starter/pom.xml @@ -6,7 +6,7 @@ cn.stylefeng.roses - kernel-d-message + kernel-s-message 1.0.0 ../pom.xml diff --git a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/UserServiceApi.java b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/UserServiceApi.java index ea878834b..1ffdc89e8 100644 --- a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/UserServiceApi.java +++ b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/UserServiceApi.java @@ -1,6 +1,8 @@ package cn.stylefeng.roses.kernel.system; +import cn.stylefeng.roses.kernel.system.pojo.user.SysUserDTO; import cn.stylefeng.roses.kernel.system.pojo.user.UserLoginInfoDTO; +import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest; import java.util.Date; import java.util.List; @@ -73,4 +75,37 @@ public interface UserServiceApi { */ List getUserBindDataScope(Long userId); + /** + * 查询全部用户ID(剔除管理员,和不允许登录) + * + * @param sysUserRequest 查询参数 + * @return List 用户id 集合 + * @author liuhanqing + * @date 2021/1/4 22:09 + */ + List queryAllUserIdList(SysUserRequest sysUserRequest); + + + + /** + * 获取用户信息 + * + * @param userId 用户id + * @return 用户信息 + * @author liuhanqing + * @date 2021/1/4 22:09 + */ + SysUserDTO getUserInfo(Long userId); + + + /** + * 根据用户id 判断用户是否存在 + * + * @param userId 用户id + * @return 用户信息 + * @author liuhanqing + * @date 2021/1/4 22:55 + */ + Boolean userExist(Long userId); + } diff --git a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/pojo/user/SysUserDTO.java b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/pojo/user/SysUserDTO.java new file mode 100644 index 000000000..33e04cc77 --- /dev/null +++ b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/pojo/user/SysUserDTO.java @@ -0,0 +1,81 @@ +package cn.stylefeng.roses.kernel.system.pojo.user; + +import lombok.Data; + +import java.util.Date; + +/** + * 系统用户结果 + * + * @author fengshuonan + * @date 2020/4/2 9:19 + */ +@Data +public class SysUserDTO { + + /** + * 主键 + */ + private Long userId; + + /** + * 账号 + */ + private String account; + + /** + * 昵称 + */ + private String nickName; + + /** + * 姓名 + */ + private String realName; + + /** + * 头像 + */ + private Long avatar; + + /** + * 生日 + */ + private Date birthday; + + /** + * 性别(M-男,F-女) + */ + private String sex; + + /** + * 邮箱 + */ + private String email; + + /** + * 手机 + */ + private String phone; + + /** + * 电话 + */ + private String tel; + + /** + * 用户所属机构 + */ + private Long orgId; + + /** + * 用户所属机构的职务 + */ + private Long positionId; + + /** + * 状态 + */ + private Integer statusFlag; + +} diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/pojo/request/SysUserRequest.java b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/pojo/user/request/SysUserRequest.java similarity index 98% rename from kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/pojo/request/SysUserRequest.java rename to kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/pojo/user/request/SysUserRequest.java index c347ed54e..a2a5e885d 100644 --- a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/pojo/request/SysUserRequest.java +++ b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/pojo/user/request/SysUserRequest.java @@ -1,4 +1,4 @@ -package cn.stylefeng.roses.kernel.system.modular.user.pojo.request; +package cn.stylefeng.roses.kernel.system.pojo.user.request; import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest; import cn.stylefeng.roses.kernel.validator.validators.date.DateValue; diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/controller/SysUserController.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/controller/SysUserController.java index e6c55e5c5..763c34fa4 100644 --- a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/controller/SysUserController.java +++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/controller/SysUserController.java @@ -8,7 +8,7 @@ import cn.stylefeng.roses.kernel.resource.api.annotation.PostResource; import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest; import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData; import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData; -import cn.stylefeng.roses.kernel.system.modular.user.pojo.request.SysUserRequest; +import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest; import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserRoleService; import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserService; import org.springframework.validation.annotation.Validated; diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/factory/SysUserCreateFactory.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/factory/SysUserCreateFactory.java index 068a5e12f..998782767 100644 --- a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/factory/SysUserCreateFactory.java +++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/factory/SysUserCreateFactory.java @@ -9,7 +9,7 @@ import cn.stylefeng.roses.kernel.rule.enums.SexEnum; import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum; import cn.stylefeng.roses.kernel.system.enums.UserStatusEnum; import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUser; -import cn.stylefeng.roses.kernel.system.modular.user.pojo.request.SysUserRequest; +import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest; /** * 用户信息填充,用于创建和修改用户时,添加一些基础信息 diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/mapper/SysUserMapper.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/mapper/SysUserMapper.java index b963fb854..af9e93af2 100644 --- a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/mapper/SysUserMapper.java +++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/mapper/SysUserMapper.java @@ -3,7 +3,7 @@ package cn.stylefeng.roses.kernel.system.modular.user.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUser; -import cn.stylefeng.roses.kernel.system.modular.user.pojo.request.SysUserRequest; +import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest; import cn.stylefeng.roses.kernel.system.modular.user.pojo.response.SysUserResponse; import org.apache.ibatis.annotations.Param; diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/SysUserDataScopeService.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/SysUserDataScopeService.java index 9080566f2..d8d94ce20 100644 --- a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/SysUserDataScopeService.java +++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/SysUserDataScopeService.java @@ -1,7 +1,7 @@ package cn.stylefeng.roses.kernel.system.modular.user.service; import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserDataScope; -import cn.stylefeng.roses.kernel.system.modular.user.pojo.request.SysUserRequest; +import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/SysUserRoleService.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/SysUserRoleService.java index 3a6635dde..c0f2552cc 100644 --- a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/SysUserRoleService.java +++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/SysUserRoleService.java @@ -1,7 +1,7 @@ package cn.stylefeng.roses.kernel.system.modular.user.service; import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserRole; -import cn.stylefeng.roses.kernel.system.modular.user.pojo.request.SysUserRequest; +import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/SysUserService.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/SysUserService.java index f3495d7d3..d4fd6c569 100644 --- a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/SysUserService.java +++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/SysUserService.java @@ -4,7 +4,7 @@ import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.rule.pojo.dict.SimpleDict; import cn.stylefeng.roses.kernel.system.UserServiceApi; import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUser; -import cn.stylefeng.roses.kernel.system.modular.user.pojo.request.SysUserRequest; +import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest; import cn.stylefeng.roses.kernel.system.modular.user.pojo.response.SysUserResponse; import com.baomidou.mybatisplus.extension.service.IService; diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserDataScopeServiceImpl.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserDataScopeServiceImpl.java index 5c544c363..f62493b0d 100644 --- a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserDataScopeServiceImpl.java +++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserDataScopeServiceImpl.java @@ -2,7 +2,7 @@ package cn.stylefeng.roses.kernel.system.modular.user.service.impl; import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserDataScope; import cn.stylefeng.roses.kernel.system.modular.user.mapper.SysUserDataScopeMapper; -import cn.stylefeng.roses.kernel.system.modular.user.pojo.request.SysUserRequest; +import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest; import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserDataScopeService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserRoleServiceImpl.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserRoleServiceImpl.java index e4c025cdf..25e8bbc00 100644 --- a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserRoleServiceImpl.java +++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserRoleServiceImpl.java @@ -4,7 +4,7 @@ import cn.stylefeng.roses.kernel.system.exception.SystemModularException; import cn.stylefeng.roses.kernel.system.exception.enums.SysUserExceptionEnum; import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserRole; import cn.stylefeng.roses.kernel.system.modular.user.mapper.SysUserRoleMapper; -import cn.stylefeng.roses.kernel.system.modular.user.pojo.request.SysUserRequest; +import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest; import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserRoleService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserServiceImpl.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserServiceImpl.java index 4947dbb39..f471bf8fe 100644 --- a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserServiceImpl.java +++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/SysUserServiceImpl.java @@ -26,7 +26,8 @@ import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserRole; import cn.stylefeng.roses.kernel.system.modular.user.factory.SysUserCreateFactory; import cn.stylefeng.roses.kernel.system.modular.user.factory.UserLoginInfoFactory; import cn.stylefeng.roses.kernel.system.modular.user.mapper.SysUserMapper; -import cn.stylefeng.roses.kernel.system.modular.user.pojo.request.SysUserRequest; +import cn.stylefeng.roses.kernel.system.pojo.user.SysUserDTO; +import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest; import cn.stylefeng.roses.kernel.system.modular.user.pojo.response.SysUserResponse; import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserDataScopeService; import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserOrgService; @@ -52,6 +53,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Set; +import java.util.function.Function; import java.util.stream.Collectors; /** @@ -451,6 +453,58 @@ public class SysUserServiceImpl extends ServiceImpl impl return sysUserDataScopeService.getUserDataScopeIdList(userId); } + + @Override + public List queryAllUserIdList(SysUserRequest sysUserRequest) { + + LambdaQueryWrapper wrapper = createWrapper(sysUserRequest); + + // 排除超级管理员 + wrapper.ne(SysUser::getSuperAdminFlag, YesOrNotEnum.Y.getCode()); + + // 只查询id + wrapper.select(SysUser::getUserId); + // 查询全部用户ID + Function mapper = id -> Long.valueOf(id.toString()); + List userIds = this.listObjs(wrapper, mapper); + + return userIds; + } + + /** + * 获取系统用户信息 + * + * @author liuhanqing + * @date 2021/1/4 22:54 + */ + @Override + public SysUserDTO getUserInfo(Long userId) { + SysUser sysUser = this.getById(userId); + if (ObjectUtil.isNull(sysUser)) { + throw new SystemModularException(SysUserExceptionEnum.USER_NOT_EXIST, userId); + } + SysUserDTO userDTO = new SysUserDTO(); + BeanUtil.copyProperties(sysUser, userDTO); + return userDTO; + } + + @Override + public Boolean userExist(Long userId) { + SysUserRequest userRequest = new SysUserRequest(); + userRequest.setUserId(userId); + LambdaQueryWrapper wrapper = createWrapper(userRequest); + + // 只查询id + wrapper.select(SysUser::getUserId); + // 查询用户 + SysUser sysUser = this.getOne(wrapper); + if (sysUser == null || sysUser.getUserId() == null) { + return Boolean.FALSE; + } + + return Boolean.TRUE; + } + /** * 获取系统用户 *