孙永军 1 年之前
父節點
當前提交
e4b4ab3599

+ 18 - 0
src/main/java/com/sxtvs/open/api/user/controller/MenusController.java

@@ -0,0 +1,18 @@
+package com.sxtvs.open.api.user.controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author syj
+ * @since 2023-05-26
+ */
+@RestController
+@RequestMapping("/user/menus")
+public class MenusController {
+
+}

+ 18 - 0
src/main/java/com/sxtvs/open/api/user/controller/UserRoleController.java

@@ -0,0 +1,18 @@
+package com.sxtvs.open.api.user.controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author syj
+ * @since 2023-05-26
+ */
+@RestController
+@RequestMapping("/user/userRole")
+public class UserRoleController {
+
+}

+ 24 - 0
src/main/java/com/sxtvs/open/api/user/entity/Menus.java

@@ -0,0 +1,24 @@
+package com.sxtvs.open.api.user.entity;
+
+import java.io.Serializable;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author syj
+ * @since 2023-05-26
+ */
+@Getter
+@Setter
+public class Menus implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private String id;
+
+    private String name;
+}

+ 6 - 0
src/main/java/com/sxtvs/open/api/user/entity/User.java

@@ -1,6 +1,7 @@
 package com.sxtvs.open.api.user.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import lombok.Getter;
@@ -33,7 +34,12 @@ public class User implements Serializable {
     @JsonIgnore
     private String encodePassword;
 
+    private Integer roleId;
+
     private LocalDateTime createTime;
 
     private LocalDateTime updateTime;
+
+    @TableField(exist = false)
+    private UserRole userRole;
 }

+ 37 - 0
src/main/java/com/sxtvs/open/api/user/entity/UserRole.java

@@ -0,0 +1,37 @@
+package com.sxtvs.open.api.user.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.List;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author syj
+ * @since 2023-05-26
+ */
+@Getter
+@Setter
+@TableName("user_role")
+public class UserRole implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "role_id", type = IdType.AUTO)
+    private Integer roleId;
+
+    private String name;
+
+    private String menuId;
+
+    @TableField(exist = false)
+    private List<Menus> menus;
+}

+ 16 - 0
src/main/java/com/sxtvs/open/api/user/mapper/MenusMapper.java

@@ -0,0 +1,16 @@
+package com.sxtvs.open.api.user.mapper;
+
+import com.sxtvs.open.api.user.entity.Menus;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author syj
+ * @since 2023-05-26
+ */
+public interface MenusMapper extends BaseMapper<Menus> {
+
+}

+ 16 - 0
src/main/java/com/sxtvs/open/api/user/mapper/UserRoleMapper.java

@@ -0,0 +1,16 @@
+package com.sxtvs.open.api.user.mapper;
+
+import com.sxtvs.open.api.user.entity.UserRole;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author syj
+ * @since 2023-05-26
+ */
+public interface UserRoleMapper extends BaseMapper<UserRole> {
+
+}

+ 16 - 0
src/main/java/com/sxtvs/open/api/user/service/IMenusService.java

@@ -0,0 +1,16 @@
+package com.sxtvs.open.api.user.service;
+
+import com.sxtvs.open.api.user.entity.Menus;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author syj
+ * @since 2023-05-26
+ */
+public interface IMenusService extends IService<Menus> {
+
+}

+ 16 - 0
src/main/java/com/sxtvs/open/api/user/service/IUserRoleService.java

@@ -0,0 +1,16 @@
+package com.sxtvs.open.api.user.service;
+
+import com.sxtvs.open.api.user.entity.UserRole;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author syj
+ * @since 2023-05-26
+ */
+public interface IUserRoleService extends IService<UserRole> {
+
+}

+ 20 - 0
src/main/java/com/sxtvs/open/api/user/service/impl/MenusServiceImpl.java

@@ -0,0 +1,20 @@
+package com.sxtvs.open.api.user.service.impl;
+
+import com.sxtvs.open.api.user.entity.Menus;
+import com.sxtvs.open.api.user.mapper.MenusMapper;
+import com.sxtvs.open.api.user.service.IMenusService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author syj
+ * @since 2023-05-26
+ */
+@Service
+public class MenusServiceImpl extends ServiceImpl<MenusMapper, Menus> implements IMenusService {
+
+}

+ 20 - 0
src/main/java/com/sxtvs/open/api/user/service/impl/UserRoleServiceImpl.java

@@ -0,0 +1,20 @@
+package com.sxtvs.open.api.user.service.impl;
+
+import com.sxtvs.open.api.user.entity.UserRole;
+import com.sxtvs.open.api.user.mapper.UserRoleMapper;
+import com.sxtvs.open.api.user.service.IUserRoleService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author syj
+ * @since 2023-05-26
+ */
+@Service
+public class UserRoleServiceImpl extends ServiceImpl<UserRoleMapper, UserRole> implements IUserRoleService {
+
+}

+ 19 - 0
src/main/java/com/sxtvs/open/api/user/service/impl/UserServiceImpl.java

@@ -5,16 +5,22 @@ import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.sxtvs.open.api.user.dto.LoginDto;
 import com.sxtvs.open.api.user.dto.TokenDto;
+import com.sxtvs.open.api.user.entity.Menus;
 import com.sxtvs.open.api.user.entity.User;
+import com.sxtvs.open.api.user.entity.UserRole;
 import com.sxtvs.open.api.user.mapper.UserMapper;
 import com.sxtvs.open.api.user.service.IUserService;
 import com.sxtvs.open.core.advice.BizException;
 import com.sxtvs.open.core.auth.AESUtil;
 import com.sxtvs.open.core.auth.HttpContextUtil;
 import com.sxtvs.open.core.sls.AliyunLogger;
+import jakarta.annotation.Resource;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Arrays;
+import java.util.List;
+
 /**
  * <p>
  * 服务实现类
@@ -29,6 +35,12 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
     @Autowired
     private AliyunLogger logger;
 
+    @Resource
+    private UserRoleServiceImpl userRoleService;
+
+    @Resource
+    private MenusServiceImpl menusService;
+
     public TokenDto login(LoginDto dto) {
 
         logger.info("key", "login", "dto", JSON.toJSONString(dto));
@@ -62,6 +74,13 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
         if (user == null) {
             throw new RuntimeException("用户不存在");
         }
+
+        UserRole userRole = userRoleService.getById(user.getRoleId());
+
+        List<Menus> menus = menusService.lambdaQuery().in(Menus::getId, Arrays.asList(userRole.getMenuId().split(","))).list();
+        userRole.setMenus(menus);
+        user.setUserRole(userRole);
+
         return user;
     }