From 0382a152d68cce42ab6247c993440df119a0f083 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=AF=E5=87=AF?= <371894675@qq.com> Date: Sat, 21 Oct 2023 08:36:40 +0800 Subject: [PATCH] =?UTF-8?q?=E7=99=BB=E5=BD=95=20=E5=A2=9E=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/common/domain/EmailLoginUser.java | 18 +++++++++++ base-system-server/pom.xml | 1 + .../server/controller/SysUserController.java | 32 ++++++++++++++++--- .../system/server/mapper/SysRoleMapper.java | 4 +++ .../system/server/mapper/SysUserMapper.java | 4 +++ .../server/service/ISysPermissionService.java | 4 +++ .../server/service/ISysRoleService.java | 5 +++ .../server/service/ISysUserService.java | 4 +++ .../impl/SysPermissionServiceImpl.java | 13 ++++++++ .../service/impl/SysRoleServiceImpl.java | 11 +++++++ .../service/impl/SysUserServiceImpl.java | 9 +++++- .../resources/mapper/system/SysRoleMapper.xml | 9 +++++- .../resources/mapper/system/SysUserMapper.xml | 9 ++++++ 13 files changed, 117 insertions(+), 6 deletions(-) create mode 100644 base-system-common/src/main/java/com/health/system/common/domain/EmailLoginUser.java diff --git a/base-system-common/src/main/java/com/health/system/common/domain/EmailLoginUser.java b/base-system-common/src/main/java/com/health/system/common/domain/EmailLoginUser.java new file mode 100644 index 0000000..d87f306 --- /dev/null +++ b/base-system-common/src/main/java/com/health/system/common/domain/EmailLoginUser.java @@ -0,0 +1,18 @@ +package com.health.system.common.domain; + +import lombok.Data; + +/** + * @author 冯凯 + * @version 1.0 + * @description: + * @date 2023/10/21 1:23 + */ + +@Data +public class EmailLoginUser { + + private Integer roleId; + + private String email; +} diff --git a/base-system-server/pom.xml b/base-system-server/pom.xml index 1c2d366..d6f38a7 100644 --- a/base-system-server/pom.xml +++ b/base-system-server/pom.xml @@ -48,6 +48,7 @@ com.health base-system-common + 3.6.4 diff --git a/base-system-server/src/main/java/com/health/system/server/controller/SysUserController.java b/base-system-server/src/main/java/com/health/system/server/controller/SysUserController.java index 9aaabe5..55c85f7 100644 --- a/base-system-server/src/main/java/com/health/system/server/controller/SysUserController.java +++ b/base-system-server/src/main/java/com/health/system/server/controller/SysUserController.java @@ -11,10 +11,7 @@ import com.health.common.log.enums.BusinessType; import com.health.common.security.annotation.InnerAuth; import com.health.common.security.annotation.RequiresPermissions; import com.health.common.security.utils.SecurityUtils; -import com.health.system.common.domain.SysDept; -import com.health.system.common.domain.SysRole; -import com.health.system.common.domain.SysUser; -import com.health.system.common.domain.User; +import com.health.system.common.domain.*; import com.health.system.common.domain.model.LoginUser; import com.health.system.server.service.*; import org.apache.commons.lang3.ArrayUtils; @@ -123,6 +120,33 @@ public class SysUserController extends BaseController return Result.success(sysUserVo); } + //-------------邮箱获取用户信息------------------ + + @PostMapping("/email/info") + public Result emailInfo(@RequestBody EmailLoginUser emailLoginUser){ + System.out.println("收到请求对象是:"+emailLoginUser); + //先根据邮箱查询有无此人 + CommonBody commonBody=userService.selectByEmail(emailLoginUser); + if (StringUtils.isNull(commonBody)){ + return Result.error("邮箱不存在"); + } + if (StringUtils.isNotEmpty(commonBody.getHospital())){ + System.out.println("是医生"); + commonBody.setRoleId(2); + }else{ + System.out.println("是患者"); + commonBody.setRoleId(1); + } + //查询该用户下的所有角色 + Set roles=permissionService.getEmailRolePermission(commonBody); + System.out.println("所有角色是"+roles); + LoginUser loginUserVo = new LoginUser(); + loginUserVo.setCommonBody(commonBody); + loginUserVo.setRoles(roles); + System.out.println("最后的返回对象是:"+loginUserVo); + return Result.success(loginUserVo); + } + /** * 注册用户信息 */ diff --git a/base-system-server/src/main/java/com/health/system/server/mapper/SysRoleMapper.java b/base-system-server/src/main/java/com/health/system/server/mapper/SysRoleMapper.java index a0e97b1..0b0f11d 100644 --- a/base-system-server/src/main/java/com/health/system/server/mapper/SysRoleMapper.java +++ b/base-system-server/src/main/java/com/health/system/server/mapper/SysRoleMapper.java @@ -2,6 +2,7 @@ package com.health.system.server.mapper; import com.health.system.common.domain.SysRole; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -106,4 +107,7 @@ public interface SysRoleMapper { * @return 结果 */ public int deleteRoleByIds(Long[] roleIds); + + //0--------------------------------------------------------------- + List selectEmailRoleByUserId(@Param("userId") Integer userId, @Param("roleTag") Integer roleTag); } diff --git a/base-system-server/src/main/java/com/health/system/server/mapper/SysUserMapper.java b/base-system-server/src/main/java/com/health/system/server/mapper/SysUserMapper.java index f855fbd..4e07e4b 100644 --- a/base-system-server/src/main/java/com/health/system/server/mapper/SysUserMapper.java +++ b/base-system-server/src/main/java/com/health/system/server/mapper/SysUserMapper.java @@ -1,6 +1,7 @@ package com.health.system.server.mapper; import com.health.common.core.user.CommonBody; +import com.health.system.common.domain.EmailLoginUser; import com.health.system.common.domain.SysUser; import com.health.system.common.domain.User; import org.apache.ibatis.annotations.Mapper; @@ -144,4 +145,7 @@ public interface SysUserMapper { //添加患者或者医生公用这个动态sql int insertNewUser(CommonBody commonBody); + + //------------------------------------------ + CommonBody selectUserByUserEmail(EmailLoginUser emailLoginUser); } diff --git a/base-system-server/src/main/java/com/health/system/server/service/ISysPermissionService.java b/base-system-server/src/main/java/com/health/system/server/service/ISysPermissionService.java index 6950b1a..b3f44f9 100644 --- a/base-system-server/src/main/java/com/health/system/server/service/ISysPermissionService.java +++ b/base-system-server/src/main/java/com/health/system/server/service/ISysPermissionService.java @@ -1,5 +1,6 @@ package com.health.system.server.service; +import com.health.common.core.user.CommonBody; import com.health.system.common.domain.SysUser; import java.util.Set; @@ -25,4 +26,7 @@ public interface ISysPermissionService { * @return 菜单权限信息 */ public Set getMenuPermission(SysUser user); + + //--------------------------------- + Set getEmailRolePermission(CommonBody commonBody); } diff --git a/base-system-server/src/main/java/com/health/system/server/service/ISysRoleService.java b/base-system-server/src/main/java/com/health/system/server/service/ISysRoleService.java index 11611d6..bf1f414 100644 --- a/base-system-server/src/main/java/com/health/system/server/service/ISysRoleService.java +++ b/base-system-server/src/main/java/com/health/system/server/service/ISysRoleService.java @@ -2,7 +2,9 @@ package com.health.system.server.service; import com.health.system.common.domain.SysRole; import com.health.system.common.domain.SysUserRole; +import io.swagger.models.auth.In; +import java.util.Collection; import java.util.List; import java.util.Set; @@ -171,4 +173,7 @@ public interface ISysRoleService { * @return 结果 */ public int insertAuthUsers(Long roleId, Long[] userIds); + + //----------------------------------------------------------- + Set selectEmailRoleByUserId(Integer userId, Integer roleId); } diff --git a/base-system-server/src/main/java/com/health/system/server/service/ISysUserService.java b/base-system-server/src/main/java/com/health/system/server/service/ISysUserService.java index d3f5d66..b404310 100644 --- a/base-system-server/src/main/java/com/health/system/server/service/ISysUserService.java +++ b/base-system-server/src/main/java/com/health/system/server/service/ISysUserService.java @@ -4,6 +4,7 @@ import java.util.List; import com.health.common.core.domain.Result; import com.health.common.core.user.CommonBody; +import com.health.system.common.domain.EmailLoginUser; import com.health.system.common.domain.SysUser; import com.health.system.common.domain.User; @@ -210,4 +211,7 @@ public interface ISysUserService int registerNewUser(CommonBody commonBody); + + //------------------------- + CommonBody selectByEmail(EmailLoginUser emailLoginUser); } diff --git a/base-system-server/src/main/java/com/health/system/server/service/impl/SysPermissionServiceImpl.java b/base-system-server/src/main/java/com/health/system/server/service/impl/SysPermissionServiceImpl.java index 4ba4e7b..2dc6e5d 100644 --- a/base-system-server/src/main/java/com/health/system/server/service/impl/SysPermissionServiceImpl.java +++ b/base-system-server/src/main/java/com/health/system/server/service/impl/SysPermissionServiceImpl.java @@ -1,5 +1,7 @@ package com.health.system.server.service.impl; +import cn.hutool.core.lang.hash.Hash; +import com.health.common.core.user.CommonBody; import com.health.system.common.domain.SysRole; import com.health.system.common.domain.SysUser; import com.health.system.server.service.ISysMenuService; @@ -44,6 +46,15 @@ public class SysPermissionServiceImpl implements ISysPermissionService { return roles; } + //-------------------------------------------------- + + @Override + public Set getEmailRolePermission(CommonBody commonBody) { + HashSet roles = new HashSet<>(); + roles.addAll(roleService.selectEmailRoleByUserId(commonBody.getUserId(),commonBody.getRoleId())); + return roles; + } +//---------------------------------------------------------------------------- /** * 获取菜单数据权限 * @@ -71,4 +82,6 @@ public class SysPermissionServiceImpl implements ISysPermissionService { } return perms; } + + } diff --git a/base-system-server/src/main/java/com/health/system/server/service/impl/SysRoleServiceImpl.java b/base-system-server/src/main/java/com/health/system/server/service/impl/SysRoleServiceImpl.java index 38ff079..403d265 100644 --- a/base-system-server/src/main/java/com/health/system/server/service/impl/SysRoleServiceImpl.java +++ b/base-system-server/src/main/java/com/health/system/server/service/impl/SysRoleServiceImpl.java @@ -88,6 +88,15 @@ public class SysRoleServiceImpl implements ISysRoleService { return permsSet; } + //------------------------------------------------------- + @Override + public Set selectEmailRoleByUserId(Integer userId,Integer roleTag) { + List roleList=roleMapper.selectEmailRoleByUserId(userId,roleTag); + HashSet roleSet = new HashSet<>(); + roleSet.addAll(roleList); + return roleSet; + } + /** * 查询所有角色 * @@ -374,4 +383,6 @@ public class SysRoleServiceImpl implements ISysRoleService { } return userRoleMapper.batchUserRole(list); } + + } diff --git a/base-system-server/src/main/java/com/health/system/server/service/impl/SysUserServiceImpl.java b/base-system-server/src/main/java/com/health/system/server/service/impl/SysUserServiceImpl.java index b196952..0345d69 100644 --- a/base-system-server/src/main/java/com/health/system/server/service/impl/SysUserServiceImpl.java +++ b/base-system-server/src/main/java/com/health/system/server/service/impl/SysUserServiceImpl.java @@ -574,11 +574,18 @@ public class SysUserServiceImpl implements ISysUserService System.out.println("获取的自增userId是"+userId1); //如果角色标识roleId==2的时候再赋值为102 if (commonBody.getRoleId()==2){ - role=102; + role=100; } //为用户添加角色 userMapper.addUserRole(userId1,role,commonBody.getRoleId()); return userId; } + //---------------------------------------------------- + @Override + public CommonBody selectByEmail(EmailLoginUser emailLoginUser) { + CommonBody commonBody= userMapper.selectUserByUserEmail(emailLoginUser); + return commonBody; + } + } diff --git a/base-system-server/src/main/resources/mapper/system/SysRoleMapper.xml b/base-system-server/src/main/resources/mapper/system/SysRoleMapper.xml index ad3ae57..c6cea9b 100644 --- a/base-system-server/src/main/resources/mapper/system/SysRoleMapper.xml +++ b/base-system-server/src/main/resources/mapper/system/SysRoleMapper.xml @@ -92,8 +92,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where r.role_key=#{roleKey} and r.del_flag = '0' limit 1 + + - + insert into sys_role( role_id, role_name, diff --git a/base-system-server/src/main/resources/mapper/system/SysUserMapper.xml b/base-system-server/src/main/resources/mapper/system/SysUserMapper.xml index 84170ee..182d21d 100644 --- a/base-system-server/src/main/resources/mapper/system/SysUserMapper.xml +++ b/base-system-server/src/main/resources/mapper/system/SysUserMapper.xml @@ -141,6 +141,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + insert into sys_user(