Browse Source

0812 完成登录和获取用户信息功能

Qing 8 months ago
parent
commit
4993518dc5
45 changed files with 1360 additions and 0 deletions
  1. 2 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/AdminDemoApplication.java
  2. 98 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/controller/UmsAdminController.java
  3. 18 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/controller/UmsDeptController.java
  4. 18 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/controller/UmsMenuController.java
  5. 18 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/controller/UmsRoleController.java
  6. 124 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/dto/CommonResult.java
  7. 11 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/dto/IErrorCode.java
  8. 28 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/dto/ResultCode.java
  9. 15 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/dto/req/AdminLoginReqDto.java
  10. 34 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/dto/resp/AdminInfoRespDto.java
  11. 16 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/dto/resp/AdminLoginRespDto.java
  12. 51 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/dto/resp/UmsMenuRespDto.java
  13. 88 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/entity/UmsAdmin.java
  14. 31 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/entity/UmsAdminRoleRelation.java
  15. 101 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/entity/UmsDept.java
  16. 68 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/entity/UmsMenu.java
  17. 55 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/entity/UmsRole.java
  18. 37 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/entity/UmsRoleMenuRelation.java
  19. 16 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/mapper/UmsAdminMapper.java
  20. 16 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/mapper/UmsAdminRoleRelationMapper.java
  21. 16 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/mapper/UmsDeptMapper.java
  22. 16 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/mapper/UmsMenuMapper.java
  23. 16 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/mapper/UmsRoleMapper.java
  24. 16 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/mapper/UmsRoleMenuRelationMapper.java
  25. 21 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/service/IUmsAdminRoleRelationService.java
  26. 20 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/service/IUmsAdminService.java
  27. 16 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/service/IUmsDeptService.java
  28. 21 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/service/IUmsMenuService.java
  29. 20 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/service/IUmsRoleMenuRelationService.java
  30. 16 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/service/IUmsRoleService.java
  31. 47 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/service/impl/UmsAdminRoleRelationServiceImpl.java
  32. 45 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/service/impl/UmsAdminServiceImpl.java
  33. 20 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/service/impl/UmsDeptServiceImpl.java
  34. 43 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/service/impl/UmsMenuServiceImpl.java
  35. 39 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/service/impl/UmsRoleMenuRelationServiceImpl.java
  36. 20 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/service/impl/UmsRoleServiceImpl.java
  37. 75 0
      consumer-service-demo/admin-demo/src/main/java/com/sf/admin/util/GeneUtils.java
  38. 3 0
      consumer-service-demo/admin-demo/src/main/resources/application.properties
  39. 5 0
      consumer-service-demo/admin-demo/src/main/resources/mapper/UmsAdminMapper.xml
  40. 5 0
      consumer-service-demo/admin-demo/src/main/resources/mapper/UmsAdminRoleRelationMapper.xml
  41. 5 0
      consumer-service-demo/admin-demo/src/main/resources/mapper/UmsDeptMapper.xml
  42. 5 0
      consumer-service-demo/admin-demo/src/main/resources/mapper/UmsMenuMapper.xml
  43. 5 0
      consumer-service-demo/admin-demo/src/main/resources/mapper/UmsRoleMapper.xml
  44. 5 0
      consumer-service-demo/admin-demo/src/main/resources/mapper/UmsRoleMenuRelationMapper.xml
  45. 15 0
      consumer-service-demo/admin-demo/src/test/java/com/sf/admin/PwdTests.java

+ 2 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/AdminDemoApplication.java

@@ -1,9 +1,11 @@
 package com.sf.admin;
 
+import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 
 @SpringBootApplication
+@MapperScan("com.sf.admin.mapper")
 public class AdminDemoApplication {
 
 	public static void main(String[] args) {

+ 98 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/controller/UmsAdminController.java

@@ -0,0 +1,98 @@
+package com.sf.admin.controller;
+
+import com.sf.admin.dto.CommonResult;
+import com.sf.admin.dto.req.AdminLoginReqDto;
+import com.sf.admin.dto.resp.AdminInfoRespDto;
+import com.sf.admin.dto.resp.AdminLoginRespDto;
+import com.sf.admin.dto.resp.UmsMenuRespDto;
+import com.sf.admin.entity.UmsAdmin;
+import com.sf.admin.entity.UmsAdminRoleRelation;
+import com.sf.admin.entity.UmsDept;
+import com.sf.admin.entity.UmsRole;
+import com.sf.admin.service.*;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.stereotype.Controller;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 后台用户表 前端控制器
+ * </p>
+ *
+ * @author baomidou
+ * @since 2024-08-12
+ */
+@RestController
+@RequiredArgsConstructor
+public class UmsAdminController {
+
+    private final IUmsAdminService umsAdminService;
+    private final IUmsDeptService umsDeptService;
+    private final IUmsMenuService umsMenuService;
+    private final IUmsAdminRoleRelationService adminRoleRelationService;
+    private final IUmsRoleMenuRelationService roleMenuRelationService;
+
+    // http://localhost:8013/ums/admin/list
+//    @GetMapping("/ums/admin/list")
+//    public List<UmsAdmin> list(){
+//        return umsAdminService.list();
+//    }
+
+    @PostMapping("/admin/login")
+    public CommonResult<AdminLoginRespDto> login(@RequestBody AdminLoginReqDto loginReqDto){
+        String logined = umsAdminService.login(loginReqDto);
+        if(logined == null){
+            return CommonResult.failed("用户名或密码错误");
+        }
+        AdminLoginRespDto adminLoginRespDto = AdminLoginRespDto.builder()
+                .token(logined).tokenHead("SFCC ").build();
+        return CommonResult.success(adminLoginRespDto);
+    }
+
+    @GetMapping("/admin/info")
+    public CommonResult<AdminInfoRespDto> getAdminInfo(@RequestHeader("Authorization") String token){
+        if(token == null){
+            return CommonResult.unauthorized(null);
+        }
+
+        // 获取用户id
+        // token = "SFCC token_3"
+        String id = token.substring(11);
+        // 获取用户信息
+        UmsAdmin umsAdmin = umsAdminService.getById(Long.parseLong(id));
+        // 获取用户对应的部门信息
+        // ums_admin表中的dept_id 对应 ums_dept表中的id
+        UmsDept umsDept = umsDeptService.getById(umsAdmin.getDeptId());
+        // 获取用户对应的角色信息
+        List<UmsRole> roleList = adminRoleRelationService.getRolesByUserId(umsAdmin.getId());
+        String[] roles = new String[roleList.size()];
+        for (int i = 0; i < roleList.size(); i++) {
+             roles[i] = roleList.get(i).getName();
+        }
+
+        // 获取角色所对应的菜单信息
+        List<Long> roleIds = new ArrayList<>();
+        for (UmsRole umsRole : roleList) {
+            roleIds.add(umsRole.getId());
+        }
+        List<Long> menuIds = roleMenuRelationService.queryMenusByRoleId(roleIds);
+        List<UmsMenuRespDto> menus = umsMenuService.getMenuInfoByIds(menuIds);
+
+        AdminInfoRespDto adminInfoRespDto = AdminInfoRespDto.builder()
+                .username(umsAdmin.getUsername())
+                .id(umsAdmin.getId())
+                .code(umsAdmin.getCode())
+                .exNum(umsAdmin.getExNum())
+                .nickName(umsAdmin.getNickName())
+                .headImg(umsAdmin.getHeadImg())
+                .deptName(umsDept.getDeptName())
+                .roles(roles)
+                .menus(menus)
+                .build();
+        return CommonResult.success(adminInfoRespDto);
+    }
+
+}

+ 18 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/controller/UmsDeptController.java

@@ -0,0 +1,18 @@
+package com.sf.admin.controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author baomidou
+ * @since 2024-08-12
+ */
+@Controller
+@RequestMapping("/umsDept")
+public class UmsDeptController {
+
+}

+ 18 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/controller/UmsMenuController.java

@@ -0,0 +1,18 @@
+package com.sf.admin.controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ * 后台菜单表 前端控制器
+ * </p>
+ *
+ * @author baomidou
+ * @since 2024-08-12
+ */
+@Controller
+@RequestMapping("/umsMenu")
+public class UmsMenuController {
+
+}

+ 18 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/controller/UmsRoleController.java

@@ -0,0 +1,18 @@
+package com.sf.admin.controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ * 后台用户角色表 前端控制器
+ * </p>
+ *
+ * @author baomidou
+ * @since 2024-08-12
+ */
+@Controller
+@RequestMapping("/umsRole")
+public class UmsRoleController {
+
+}

+ 124 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/dto/CommonResult.java

@@ -0,0 +1,124 @@
+package com.sf.admin.dto;
+
+/**
+ * 通用返回对象
+ * Created by commerce on 2019/4/19.
+ */
+public class CommonResult<T> {
+    private long code;
+    private String message;
+    private T data;
+
+    protected CommonResult() {
+    }
+
+    protected CommonResult(long code, String message, T data) {
+        this.code = code;
+        this.message = message;
+        this.data = data;
+    }
+
+    /**
+     * 成功返回结果
+     *
+     * @param data 获取的数据
+     */
+    public static <T> CommonResult<T> success(T data) {
+        return new CommonResult<T>(ResultCode.SUCCESS.getCode(), ResultCode.SUCCESS.getMessage(), data);
+    }
+
+    /**
+     * 成功返回结果
+     *
+     * @param data 获取的数据
+     * @param  message 提示信息
+     */
+    public static <T> CommonResult<T> success(T data, String message) {
+        return new CommonResult<T>(ResultCode.SUCCESS.getCode(), message, data);
+    }
+
+    /**
+     * 失败返回结果
+     * @param errorCode 错误码
+     */
+    public static <T> CommonResult<T> failed(IErrorCode errorCode) {
+        return new CommonResult<T>(errorCode.getCode(), errorCode.getMessage(), null);
+    }
+
+    /**
+     * 失败返回结果
+     * @param errorCode 错误码
+     * @param message 错误信息
+     */
+    public static <T> CommonResult<T> failed(IErrorCode errorCode,String message) {
+        return new CommonResult<T>(errorCode.getCode(), message, null);
+    }
+
+    /**
+     * 失败返回结果
+     * @param message 提示信息
+     */
+    public static <T> CommonResult<T> failed(String message) {
+        return new CommonResult<T>(ResultCode.FAILED.getCode(), message, null);
+    }
+
+    /**
+     * 失败返回结果
+     */
+    public static <T> CommonResult<T> failed() {
+        return failed(ResultCode.FAILED);
+    }
+
+    /**
+     * 参数验证失败返回结果
+     */
+    public static <T> CommonResult<T> validateFailed() {
+        return failed(ResultCode.VALIDATE_FAILED);
+    }
+
+    /**
+     * 参数验证失败返回结果
+     * @param message 提示信息
+     */
+    public static <T> CommonResult<T> validateFailed(String message) {
+        return new CommonResult<T>(ResultCode.VALIDATE_FAILED.getCode(), message, null);
+    }
+
+    /**
+     * 未登录返回结果
+     */
+    public static <T> CommonResult<T> unauthorized(T data) {
+        return new CommonResult<T>(ResultCode.UNAUTHORIZED.getCode(), ResultCode.UNAUTHORIZED.getMessage(), data);
+    }
+
+    /**
+     * 未授权返回结果
+     */
+    public static <T> CommonResult<T> forbidden(T data) {
+        return new CommonResult<T>(ResultCode.FORBIDDEN.getCode(), ResultCode.FORBIDDEN.getMessage(), data);
+    }
+
+    public long getCode() {
+        return code;
+    }
+
+    public void setCode(long code) {
+        this.code = code;
+    }
+
+    public String getMessage() {
+        return message;
+    }
+
+    public void setMessage(String message) {
+        this.message = message;
+    }
+
+    public T getData() {
+        return data;
+    }
+
+    public void setData(T data) {
+        this.data = data;
+    }
+}

+ 11 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/dto/IErrorCode.java

@@ -0,0 +1,11 @@
+package com.sf.admin.dto;
+
+/**
+ * 封装API的错误码
+ * Created by commerce on 2019/4/19.
+ */
+public interface IErrorCode {
+    long getCode();
+
+    String getMessage();
+}

+ 28 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/dto/ResultCode.java

@@ -0,0 +1,28 @@
+package com.sf.admin.dto;
+
+/**
+ * 枚举了一些常用API操作码
+ * Created by commerce on 2019/4/19.
+ */
+public enum ResultCode implements IErrorCode {
+    SUCCESS(200, "操作成功"),
+    FAILED(500, "操作失败"),
+    VALIDATE_FAILED(404, "参数检验失败"),
+    UNAUTHORIZED(401, "暂未登录或token已经过期"),
+    FORBIDDEN(403, "没有相关权限");
+    private long code;
+    private String message;
+
+    private ResultCode(long code, String message) {
+        this.code = code;
+        this.message = message;
+    }
+
+    public long getCode() {
+        return code;
+    }
+
+    public String getMessage() {
+        return message;
+    }
+}

+ 15 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/dto/req/AdminLoginReqDto.java

@@ -0,0 +1,15 @@
+package com.sf.admin.dto.req;
+
+import lombok.Data;
+
+@Data
+public class AdminLoginReqDto {
+    /**
+     * 密码
+     */
+    private String password;
+    /**
+     * 用户名
+     */
+    private String username;
+}

+ 34 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/dto/resp/AdminInfoRespDto.java

@@ -0,0 +1,34 @@
+package com.sf.admin.dto.resp;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class AdminInfoRespDto implements Serializable {
+    // 用户id
+    private Long id;
+    // 用户名
+    private String username;
+    // 昵称
+    private String nickName;
+    // 坐席号
+    private String code;
+    // 分机号
+    private String exNum;
+    // 头像
+    private String headImg;
+    // 角色信息
+    private String[] roles;
+    // 部门信息
+    private String deptName;
+    // 菜单信息
+    private List<UmsMenuRespDto> menus;
+}

+ 16 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/dto/resp/AdminLoginRespDto.java

@@ -0,0 +1,16 @@
+package com.sf.admin.dto.resp;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class AdminLoginRespDto {
+
+    private String token;
+    private String tokenHead;
+}

+ 51 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/dto/resp/UmsMenuRespDto.java

@@ -0,0 +1,51 @@
+package com.sf.admin.dto.resp;
+
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Data
+public class UmsMenuRespDto {
+
+    private Long id;
+
+    /**
+     * 父级ID
+     */
+    private Long parentId;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 菜单名称
+     */
+    private String title;
+
+    /**
+     * 菜单级数
+     */
+    private Integer level;
+
+    /**
+     * 菜单排序
+     */
+    private Integer sort;
+
+    /**
+     * 前端名称
+     */
+    private String name;
+
+    /**
+     * 前端图标
+     */
+    private String icon;
+
+    /**
+     * 前端隐藏
+     */
+    private Integer hidden;
+}

+ 88 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/entity/UmsAdmin.java

@@ -0,0 +1,88 @@
+package com.sf.admin.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 后台用户表
+ * </p>
+ *
+ * @author baomidou
+ * @since 2024-08-12
+ */
+@Getter
+@Setter
+@TableName("ums_admin")
+public class UmsAdmin implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    private String username;
+
+    private String password;
+
+    /**
+     * 邮箱
+     */
+    private String email;
+
+    /**
+     * 昵称
+     */
+    private String nickName;
+
+    /**
+     * 电话
+     */
+    private String phone;
+
+    /**
+     * 创建时间
+     */
+    private LocalDate createTime;
+
+    /**
+     * 最后登录时间
+     */
+    private LocalDateTime loginTime;
+
+    /**
+     * 帐号启用状态:0->禁用;1->启用
+     */
+    private Integer status;
+
+    /**
+     * 服务次数
+     */
+    private Integer count;
+
+    /**
+     * 对应部门
+     */
+    private Long deptId;
+
+    /**
+     * 坐席号
+     */
+    private String code;
+
+    /**
+     * 头像
+     */
+    private String headImg;
+
+    /**
+     * 分机号
+     */
+    private String exNum;
+}

+ 31 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/entity/UmsAdminRoleRelation.java

@@ -0,0 +1,31 @@
+package com.sf.admin.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 后台用户和角色关系表
+ * </p>
+ *
+ * @author baomidou
+ * @since 2024-08-12
+ */
+@Getter
+@Setter
+@TableName("ums_admin_role_relation")
+public class UmsAdminRoleRelation implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    private Long adminId;
+
+    private Long roleId;
+}

+ 101 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/entity/UmsDept.java

@@ -0,0 +1,101 @@
+package com.sf.admin.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author baomidou
+ * @since 2024-08-12
+ */
+@Getter
+@Setter
+@TableName("ums_dept")
+public class UmsDept implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 部门id
+     */
+    @TableId(value = "dept_id", type = IdType.AUTO)
+    private Long deptId;
+
+    /**
+     * 部门名称
+     */
+    private String deptName;
+
+    /**
+     * 显示顺序
+     */
+    private Integer orderNum;
+
+    /**
+     * 负责人
+     */
+    private String leader;
+
+    /**
+     * 联系电话
+     */
+    private String phone;
+
+    /**
+     * 邮箱
+     */
+    private String email;
+
+    /**
+     * 部门状态(0正常 1停用)
+     */
+    private String status;
+
+    /**
+     * 删除标志(0代表存在 2代表删除)
+     */
+    private String delFlag;
+
+    /**
+     * 创建者
+     */
+    private String createBy;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 更新者
+     */
+    private String updateBy;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     * 部门电话
+     */
+    private String deptPhone;
+
+    /**
+     * 城市
+     */
+    private String city;
+
+    /**
+     * 备注
+     */
+    private String remark;
+}

+ 68 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/entity/UmsMenu.java

@@ -0,0 +1,68 @@
+package com.sf.admin.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 后台菜单表
+ * </p>
+ *
+ * @author baomidou
+ * @since 2024-08-12
+ */
+@Getter
+@Setter
+@TableName("ums_menu")
+public class UmsMenu implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 父级ID
+     */
+    private Long parentId;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 菜单名称
+     */
+    private String title;
+
+    /**
+     * 菜单级数
+     */
+    private Integer level;
+
+    /**
+     * 菜单排序
+     */
+    private Integer sort;
+
+    /**
+     * 前端名称
+     */
+    private String name;
+
+    /**
+     * 前端图标
+     */
+    private String icon;
+
+    /**
+     * 前端隐藏
+     */
+    private Integer hidden;
+}

+ 55 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/entity/UmsRole.java

@@ -0,0 +1,55 @@
+package com.sf.admin.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 后台用户角色表
+ * </p>
+ *
+ * @author baomidou
+ * @since 2024-08-12
+ */
+@Getter
+@Setter
+@TableName("ums_role")
+public class UmsRole implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 名称
+     */
+    private String name;
+
+    /**
+     * 描述
+     */
+    private String description;
+
+    /**
+     * 后台用户数量
+     */
+    private Integer adminCount;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 启用状态:0->禁用;1->启用
+     */
+    private Integer status;
+
+    private Integer sort;
+}

+ 37 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/entity/UmsRoleMenuRelation.java

@@ -0,0 +1,37 @@
+package com.sf.admin.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 后台角色菜单关系表
+ * </p>
+ *
+ * @author baomidou
+ * @since 2024-08-12
+ */
+@Getter
+@Setter
+@TableName("ums_role_menu_relation")
+public class UmsRoleMenuRelation implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 角色ID
+     */
+    private Long roleId;
+
+    /**
+     * 菜单ID
+     */
+    private Long menuId;
+}

+ 16 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/mapper/UmsAdminMapper.java

@@ -0,0 +1,16 @@
+package com.sf.admin.mapper;
+
+import com.sf.admin.entity.UmsAdmin;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 后台用户表 Mapper 接口
+ * </p>
+ *
+ * @author baomidou
+ * @since 2024-08-12
+ */
+public interface UmsAdminMapper extends BaseMapper<UmsAdmin> {
+
+}

+ 16 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/mapper/UmsAdminRoleRelationMapper.java

@@ -0,0 +1,16 @@
+package com.sf.admin.mapper;
+
+import com.sf.admin.entity.UmsAdminRoleRelation;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 后台用户和角色关系表 Mapper 接口
+ * </p>
+ *
+ * @author baomidou
+ * @since 2024-08-12
+ */
+public interface UmsAdminRoleRelationMapper extends BaseMapper<UmsAdminRoleRelation> {
+
+}

+ 16 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/mapper/UmsDeptMapper.java

@@ -0,0 +1,16 @@
+package com.sf.admin.mapper;
+
+import com.sf.admin.entity.UmsDept;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author baomidou
+ * @since 2024-08-12
+ */
+public interface UmsDeptMapper extends BaseMapper<UmsDept> {
+
+}

+ 16 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/mapper/UmsMenuMapper.java

@@ -0,0 +1,16 @@
+package com.sf.admin.mapper;
+
+import com.sf.admin.entity.UmsMenu;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 后台菜单表 Mapper 接口
+ * </p>
+ *
+ * @author baomidou
+ * @since 2024-08-12
+ */
+public interface UmsMenuMapper extends BaseMapper<UmsMenu> {
+
+}

+ 16 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/mapper/UmsRoleMapper.java

@@ -0,0 +1,16 @@
+package com.sf.admin.mapper;
+
+import com.sf.admin.entity.UmsRole;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 后台用户角色表 Mapper 接口
+ * </p>
+ *
+ * @author baomidou
+ * @since 2024-08-12
+ */
+public interface UmsRoleMapper extends BaseMapper<UmsRole> {
+
+}

+ 16 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/mapper/UmsRoleMenuRelationMapper.java

@@ -0,0 +1,16 @@
+package com.sf.admin.mapper;
+
+import com.sf.admin.entity.UmsRoleMenuRelation;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 后台角色菜单关系表 Mapper 接口
+ * </p>
+ *
+ * @author baomidou
+ * @since 2024-08-12
+ */
+public interface UmsRoleMenuRelationMapper extends BaseMapper<UmsRoleMenuRelation> {
+
+}

+ 21 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/service/IUmsAdminRoleRelationService.java

@@ -0,0 +1,21 @@
+package com.sf.admin.service;
+
+import com.sf.admin.entity.UmsAdminRoleRelation;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.sf.admin.entity.UmsRole;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 后台用户和角色关系表 服务类
+ * </p>
+ *
+ * @author baomidou
+ * @since 2024-08-12
+ */
+public interface IUmsAdminRoleRelationService extends IService<UmsAdminRoleRelation> {
+
+    // 根据用户id找到角色id 可以有多个
+    List<UmsRole> getRolesByUserId(Long adminId);
+}

+ 20 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/service/IUmsAdminService.java

@@ -0,0 +1,20 @@
+package com.sf.admin.service;
+
+import com.sf.admin.dto.req.AdminLoginReqDto;
+import com.sf.admin.entity.UmsAdmin;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springframework.web.bind.annotation.RequestBody;
+
+/**
+ * <p>
+ * 后台用户表 服务类
+ * </p>
+ *
+ * @author baomidou
+ * @since 2024-08-12
+ */
+public interface IUmsAdminService extends IService<UmsAdmin> {
+
+    // 如果登录成功 返回token 如果登录失败 返回空
+    String login(AdminLoginReqDto loginReqDto);
+}

+ 16 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/service/IUmsDeptService.java

@@ -0,0 +1,16 @@
+package com.sf.admin.service;
+
+import com.sf.admin.entity.UmsDept;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author baomidou
+ * @since 2024-08-12
+ */
+public interface IUmsDeptService extends IService<UmsDept> {
+
+}

+ 21 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/service/IUmsMenuService.java

@@ -0,0 +1,21 @@
+package com.sf.admin.service;
+
+import com.sf.admin.dto.resp.UmsMenuRespDto;
+import com.sf.admin.entity.UmsMenu;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 后台菜单表 服务类
+ * </p>
+ *
+ * @author baomidou
+ * @since 2024-08-12
+ */
+public interface IUmsMenuService extends IService<UmsMenu> {
+
+    // 根据多个菜单id 获取菜单信息
+    List<UmsMenuRespDto> getMenuInfoByIds(List<Long> menuIdList);
+}

+ 20 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/service/IUmsRoleMenuRelationService.java

@@ -0,0 +1,20 @@
+package com.sf.admin.service;
+
+import com.sf.admin.entity.UmsRoleMenuRelation;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 后台角色菜单关系表 服务类
+ * </p>
+ *
+ * @author baomidou
+ * @since 2024-08-12
+ */
+public interface IUmsRoleMenuRelationService extends IService<UmsRoleMenuRelation> {
+
+    // 根据多个角色id 来获取对应的菜单id列表
+    List<Long> queryMenusByRoleId(List<Long> roleIdList);
+}

+ 16 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/service/IUmsRoleService.java

@@ -0,0 +1,16 @@
+package com.sf.admin.service;
+
+import com.sf.admin.entity.UmsRole;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 后台用户角色表 服务类
+ * </p>
+ *
+ * @author baomidou
+ * @since 2024-08-12
+ */
+public interface IUmsRoleService extends IService<UmsRole> {
+
+}

+ 47 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/service/impl/UmsAdminRoleRelationServiceImpl.java

@@ -0,0 +1,47 @@
+package com.sf.admin.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.sf.admin.entity.UmsAdminRoleRelation;
+import com.sf.admin.entity.UmsRole;
+import com.sf.admin.mapper.UmsAdminRoleRelationMapper;
+import com.sf.admin.mapper.UmsRoleMapper;
+import com.sf.admin.service.IUmsAdminRoleRelationService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 后台用户和角色关系表 服务实现类
+ * </p>
+ *
+ * @author baomidou
+ * @since 2024-08-12
+ */
+@Service
+@RequiredArgsConstructor
+public class UmsAdminRoleRelationServiceImpl extends ServiceImpl<UmsAdminRoleRelationMapper, UmsAdminRoleRelation> implements IUmsAdminRoleRelationService {
+
+    private final UmsAdminRoleRelationMapper umsAdminRoleRelationMapper;
+    private final UmsRoleMapper umsRoleMapper;
+
+    @Override
+    public List<UmsRole> getRolesByUserId(Long adminId) {
+        LambdaQueryWrapper<UmsAdminRoleRelation> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(UmsAdminRoleRelation::getAdminId, adminId);
+        // 一个用户可能对应多个角色 同时 一个角色也可能对应多个用户
+        List<UmsAdminRoleRelation> umsAdminRoleRelations = umsAdminRoleRelationMapper.selectList(queryWrapper);
+
+        List<Long> roleIds = new ArrayList<>();
+        for (UmsAdminRoleRelation adminRoleRelation : umsAdminRoleRelations) {
+            roleIds.add(adminRoleRelation.getRoleId());
+        }
+        LambdaQueryWrapper<UmsRole> roleLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        roleLambdaQueryWrapper.in(UmsRole::getId, roleIds);
+        List<UmsRole> umsRoles = umsRoleMapper.selectList(roleLambdaQueryWrapper);
+        return umsRoles;
+    }
+}

+ 45 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/service/impl/UmsAdminServiceImpl.java

@@ -0,0 +1,45 @@
+package com.sf.admin.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.sf.admin.dto.req.AdminLoginReqDto;
+import com.sf.admin.entity.UmsAdmin;
+import com.sf.admin.mapper.UmsAdminMapper;
+import com.sf.admin.service.IUmsAdminService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.springframework.util.DigestUtils;
+
+import java.nio.charset.StandardCharsets;
+
+/**
+ * <p>
+ * 后台用户表 服务实现类
+ * </p>
+ *
+ * @author baomidou
+ * @since 2024-08-12
+ */
+@Service
+@RequiredArgsConstructor
+public class UmsAdminServiceImpl extends ServiceImpl<UmsAdminMapper, UmsAdmin> implements IUmsAdminService {
+
+    private final UmsAdminMapper adminMapper;
+
+    @Override
+    public String login(AdminLoginReqDto loginReqDto) {
+        LambdaQueryWrapper<UmsAdmin> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(UmsAdmin::getUsername, loginReqDto.getUsername());
+        UmsAdmin umsAdmin = adminMapper.selectOne(queryWrapper);
+        if(umsAdmin == null){
+            // 用户名不存在
+            return null;
+        }
+        String pwd = DigestUtils.md5DigestAsHex(loginReqDto.getPassword().getBytes(StandardCharsets.UTF_8));
+        if(!pwd.equals(umsAdmin.getPassword())){
+            // 密码不正确
+            return null;
+        }
+        return "token_" + umsAdmin.getId();
+    }
+}

+ 20 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/service/impl/UmsDeptServiceImpl.java

@@ -0,0 +1,20 @@
+package com.sf.admin.service.impl;
+
+import com.sf.admin.entity.UmsDept;
+import com.sf.admin.mapper.UmsDeptMapper;
+import com.sf.admin.service.IUmsDeptService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author baomidou
+ * @since 2024-08-12
+ */
+@Service
+public class UmsDeptServiceImpl extends ServiceImpl<UmsDeptMapper, UmsDept> implements IUmsDeptService {
+
+}

+ 43 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/service/impl/UmsMenuServiceImpl.java

@@ -0,0 +1,43 @@
+package com.sf.admin.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.sf.admin.dto.resp.UmsMenuRespDto;
+import com.sf.admin.entity.UmsMenu;
+import com.sf.admin.mapper.UmsMenuMapper;
+import com.sf.admin.service.IUmsMenuService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 后台菜单表 服务实现类
+ * </p>
+ *
+ * @author baomidou
+ * @since 2024-08-12
+ */
+@Service
+@RequiredArgsConstructor
+public class UmsMenuServiceImpl extends ServiceImpl<UmsMenuMapper, UmsMenu> implements IUmsMenuService {
+
+    private final UmsMenuMapper umsMenuMapper;
+
+    @Override
+    public List<UmsMenuRespDto> getMenuInfoByIds(List<Long> menuIdList) {
+        LambdaQueryWrapper<UmsMenu> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.in(UmsMenu::getId, menuIdList);
+        List<UmsMenu> umsMenuList = umsMenuMapper.selectList(queryWrapper);
+        List<UmsMenuRespDto> umsMenuRespDtoList = new ArrayList<>();
+        for (UmsMenu umsMenu : umsMenuList) {
+            UmsMenuRespDto umsMenuRespDto = new UmsMenuRespDto();
+            BeanUtils.copyProperties(umsMenu, umsMenuRespDto);
+            umsMenuRespDtoList.add(umsMenuRespDto);
+        }
+        return umsMenuRespDtoList;
+    }
+}

+ 39 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/service/impl/UmsRoleMenuRelationServiceImpl.java

@@ -0,0 +1,39 @@
+package com.sf.admin.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.sf.admin.entity.UmsRoleMenuRelation;
+import com.sf.admin.mapper.UmsRoleMenuRelationMapper;
+import com.sf.admin.service.IUmsRoleMenuRelationService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 后台角色菜单关系表 服务实现类
+ * </p>
+ *
+ * @author baomidou
+ * @since 2024-08-12
+ */
+@Service
+@RequiredArgsConstructor
+public class UmsRoleMenuRelationServiceImpl extends ServiceImpl<UmsRoleMenuRelationMapper, UmsRoleMenuRelation> implements IUmsRoleMenuRelationService {
+
+    private final UmsRoleMenuRelationMapper roleMenuRelationMapper;
+
+    @Override
+    public List<Long> queryMenusByRoleId(List<Long> roleIdList) {
+        LambdaQueryWrapper<UmsRoleMenuRelation> wrapper = new LambdaQueryWrapper<>();
+        wrapper.in(UmsRoleMenuRelation::getRoleId, roleIdList);
+        List<UmsRoleMenuRelation> umsRoleMenuRelations = roleMenuRelationMapper.selectList(wrapper);
+        List<Long> menus = new ArrayList<>();
+        for (UmsRoleMenuRelation umsRoleMenuRelation : umsRoleMenuRelations) {
+            menus.add(umsRoleMenuRelation.getMenuId());
+        }
+        return menus;
+    }
+}

+ 20 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/service/impl/UmsRoleServiceImpl.java

@@ -0,0 +1,20 @@
+package com.sf.admin.service.impl;
+
+import com.sf.admin.entity.UmsRole;
+import com.sf.admin.mapper.UmsRoleMapper;
+import com.sf.admin.service.IUmsRoleService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 后台用户角色表 服务实现类
+ * </p>
+ *
+ * @author baomidou
+ * @since 2024-08-12
+ */
+@Service
+public class UmsRoleServiceImpl extends ServiceImpl<UmsRoleMapper, UmsRole> implements IUmsRoleService {
+
+}

+ 75 - 0
consumer-service-demo/admin-demo/src/main/java/com/sf/admin/util/GeneUtils.java

@@ -0,0 +1,75 @@
+package com.sf.admin.util;
+
+import com.baomidou.mybatisplus.generator.FastAutoGenerator;
+import com.baomidou.mybatisplus.generator.config.OutputFile;
+import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
+import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
+
+import java.sql.Types;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+// 代码生成工具
+public class GeneUtils {
+
+    public static void main(String[] args) {
+
+        List<String> list = new ArrayList<>();
+//        list.add("ums_admin"); // 用户表
+//        list.add("ums_menu"); // 菜单表
+//        list.add("ums_role"); // 角色表
+//        list.add("ums_dept"); // 部门表
+//        list.add("ums_admin_role_relation"); // 用户角色关联表
+        list.add("ums_role_menu_relation"); // 角色菜单关联表
+
+        // 快速生成器
+        FastAutoGenerator.create("jdbc:mysql://localhost:3306/sfcc_bak?useUnicode=true&characterEncoding=utf-8&allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=Asia/Shanghai",
+                        "root", "root123456")
+                // 全局配置
+                .globalConfig(builder -> {
+                    builder.author("baomidou") // 设置作者
+//                            .enableSwagger() // 开启 swagger 模式
+                            .outputDir("admin-demo/src/main/java/"); // 指定输出目录  mac/linux系统
+//                            .outputDir("src\\main\\java\\"); // 指定输出目录  windows系统
+                })
+                // 数据源配置
+                .dataSourceConfig(builder ->
+                        builder.typeConvertHandler((globalConfig, typeRegistry, metaInfo) -> {
+                            int typeCode = metaInfo.getJdbcType().TYPE_CODE;
+                            if (typeCode == Types.SMALLINT) {
+                                // 自定义类型转换  smallint - short - int
+                                return DbColumnType.INTEGER;
+                            }
+                            if (typeCode == Types.TINYINT) {
+                                // tinyint - byte - int
+                                return DbColumnType.INTEGER;
+                            }
+                            return typeRegistry.getColumnType(metaInfo);
+                        })
+                )
+                // 包配置
+                .packageConfig(builder ->
+                        builder.parent("com.sf.admin") // 设置父包名
+                                .moduleName("") // 设置父包模块名
+                                .pathInfo(Collections.singletonMap(
+                                        // 设置mapperXml生成路径
+                                        OutputFile.xml, "admin-demo/src/main/resources/mapper"))
+                                .entity("entity") //设置实体类包名
+                                .mapper("mapper")
+                                .service("service")
+                                .controller("controller")
+                )
+                // 策略配置
+                .strategyConfig(builder ->
+                        // 设置需要生成的表名
+                        builder.addInclude(list).entityBuilder().enableLombok()
+                )
+                // 使用Freemarker引擎模板,默认的是Velocity引擎模板
+                .templateEngine(new FreemarkerTemplateEngine())
+                .execute();
+
+        // 退出
+        System.exit(0);
+    }
+}

+ 3 - 0
consumer-service-demo/admin-demo/src/main/resources/application.properties

@@ -1,3 +1,6 @@
+# ???????????
+server.port=8013
+
 spring.application.name=admin-demo
 
 # ??????????

+ 5 - 0
consumer-service-demo/admin-demo/src/main/resources/mapper/UmsAdminMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sf.admin.mapper.UmsAdminMapper">
+
+</mapper>

+ 5 - 0
consumer-service-demo/admin-demo/src/main/resources/mapper/UmsAdminRoleRelationMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sf.admin.mapper.UmsAdminRoleRelationMapper">
+
+</mapper>

+ 5 - 0
consumer-service-demo/admin-demo/src/main/resources/mapper/UmsDeptMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sf.admin.mapper.UmsDeptMapper">
+
+</mapper>

+ 5 - 0
consumer-service-demo/admin-demo/src/main/resources/mapper/UmsMenuMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sf.admin.mapper.UmsMenuMapper">
+
+</mapper>

+ 5 - 0
consumer-service-demo/admin-demo/src/main/resources/mapper/UmsRoleMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sf.admin.mapper.UmsRoleMapper">
+
+</mapper>

+ 5 - 0
consumer-service-demo/admin-demo/src/main/resources/mapper/UmsRoleMenuRelationMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sf.admin.mapper.UmsRoleMenuRelationMapper">
+
+</mapper>

+ 15 - 0
consumer-service-demo/admin-demo/src/test/java/com/sf/admin/PwdTests.java

@@ -0,0 +1,15 @@
+package com.sf.admin;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.util.DigestUtils;
+
+import java.nio.charset.StandardCharsets;
+
+public class PwdTests {
+
+    @Test
+    public void test() {
+        String pwd = DigestUtils.md5DigestAsHex("123456".getBytes(StandardCharsets.UTF_8));
+        System.out.println(pwd);
+    }
+}