Browse Source

[add] message:1.初始化项目

kelei 10 months ago
commit
dfab048f67
43 changed files with 1236 additions and 0 deletions
  1. 11 0
      .gitignore
  2. 79 0
      admin/pom.xml
  3. 17 0
      admin/src/main/java/com/flyer/foster/AdminApplication.java
  4. 18 0
      admin/src/main/java/com/flyer/foster/controller/MenuController.java
  5. 18 0
      admin/src/main/java/com/flyer/foster/controller/RoleController.java
  6. 18 0
      admin/src/main/java/com/flyer/foster/controller/RoleMenuController.java
  7. 18 0
      admin/src/main/java/com/flyer/foster/controller/TenantController.java
  8. 18 0
      admin/src/main/java/com/flyer/foster/controller/UserController.java
  9. 18 0
      admin/src/main/java/com/flyer/foster/controller/UserRoleController.java
  10. 67 0
      admin/src/main/java/com/flyer/foster/entity/Menu.java
  11. 59 0
      admin/src/main/java/com/flyer/foster/entity/Role.java
  12. 55 0
      admin/src/main/java/com/flyer/foster/entity/RoleMenu.java
  13. 57 0
      admin/src/main/java/com/flyer/foster/entity/Tenant.java
  14. 57 0
      admin/src/main/java/com/flyer/foster/entity/User.java
  15. 57 0
      admin/src/main/java/com/flyer/foster/entity/UserRole.java
  16. 16 0
      admin/src/main/java/com/flyer/foster/mapper/IMenuMapper.java
  17. 16 0
      admin/src/main/java/com/flyer/foster/mapper/IRoleMapper.java
  18. 16 0
      admin/src/main/java/com/flyer/foster/mapper/IRoleMenuMapper.java
  19. 16 0
      admin/src/main/java/com/flyer/foster/mapper/ITenantMapper.java
  20. 16 0
      admin/src/main/java/com/flyer/foster/mapper/IUserMapper.java
  21. 16 0
      admin/src/main/java/com/flyer/foster/mapper/IUserRoleMapper.java
  22. 16 0
      admin/src/main/java/com/flyer/foster/service/IMenuService.java
  23. 16 0
      admin/src/main/java/com/flyer/foster/service/IRoleMenuService.java
  24. 16 0
      admin/src/main/java/com/flyer/foster/service/IRoleService.java
  25. 16 0
      admin/src/main/java/com/flyer/foster/service/ITenantService.java
  26. 16 0
      admin/src/main/java/com/flyer/foster/service/IUserRoleService.java
  27. 16 0
      admin/src/main/java/com/flyer/foster/service/IUserService.java
  28. 20 0
      admin/src/main/java/com/flyer/foster/service/impl/MenuServiceImpl.java
  29. 20 0
      admin/src/main/java/com/flyer/foster/service/impl/RoleMenuServiceImpl.java
  30. 20 0
      admin/src/main/java/com/flyer/foster/service/impl/RoleServiceImpl.java
  31. 20 0
      admin/src/main/java/com/flyer/foster/service/impl/TenantServiceImpl.java
  32. 20 0
      admin/src/main/java/com/flyer/foster/service/impl/UserRoleServiceImpl.java
  33. 20 0
      admin/src/main/java/com/flyer/foster/service/impl/UserServiceImpl.java
  34. 5 0
      admin/src/main/resources/mapper/MenuMapper.xml
  35. 5 0
      admin/src/main/resources/mapper/RoleMapper.xml
  36. 5 0
      admin/src/main/resources/mapper/RoleMenuMapper.xml
  37. 5 0
      admin/src/main/resources/mapper/TenantMapper.xml
  38. 5 0
      admin/src/main/resources/mapper/UserMapper.xml
  39. 5 0
      admin/src/main/resources/mapper/UserRoleMapper.xml
  40. 93 0
      common/pom.xml
  41. 43 0
      common/src/main/java/com/flyer/enums/StatusCodeEnum.java
  42. 94 0
      common/src/main/java/com/flyer/util/R.java
  43. 97 0
      pom.xml

+ 11 - 0
.gitignore

@@ -0,0 +1,11 @@
+### Example user template template
+### Example user template
+
+# IntelliJ project files
+.idea
+*.iml
+out
+gen
+
+target
+test

+ 79 - 0
admin/pom.xml

@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>foster</artifactId>
+        <groupId>org.flyer</groupId>
+        <version>${revision}</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>admin</artifactId>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.flyer</groupId>
+            <artifactId>common</artifactId>
+            <version>${revision}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>easyexcel</artifactId>
+            <version>3.1.1</version>
+        </dependency>
+
+        <dependency>
+            <groupId>net.sf.jasperreports</groupId>
+            <artifactId>jasperreports</artifactId>
+            <version>6.17.0</version>
+        </dependency>
+
+        <dependency>
+            <groupId>net.sf.jasperreports</groupId>
+            <artifactId>jasperreports-fonts</artifactId>
+            <version>6.0.0</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.codehaus.groovy</groupId>
+            <artifactId>groovy-all</artifactId>
+            <version>2.4.11</version>
+        </dependency>
+        <!-- 解决中文字体显示问题 -->
+        <dependency>
+            <groupId>cn.lesper</groupId>
+            <artifactId>iTextAsian</artifactId>
+            <version>3.0</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.google.zxing</groupId>
+            <artifactId>core</artifactId>
+            <version>3.5.0</version>
+        </dependency>
+
+    </dependencies>
+
+    <build>
+        <finalName>foster</finalName>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
+</project>

+ 17 - 0
admin/src/main/java/com/flyer/foster/AdminApplication.java

@@ -0,0 +1,17 @@
+package com.flyer.foster;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+/**
+ * com.flyer.foster.AdminApplication
+ *
+ * @author kelei
+ * @since 2022/4/2/15:15
+ */
+@SpringBootApplication
+public class AdminApplication {
+    public static void main(String[] args) {
+        SpringApplication.run(AdminApplication.class, args);
+    }
+}

+ 18 - 0
admin/src/main/java/com/flyer/foster/controller/MenuController.java

@@ -0,0 +1,18 @@
+package com.flyer.foster.controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 菜单表 前端控制器
+ * </p>
+ *
+ * @author flyer
+ * @since 2024-05-06
+ */
+@RestController
+@RequestMapping("/foster/menu")
+public class MenuController {
+
+}

+ 18 - 0
admin/src/main/java/com/flyer/foster/controller/RoleController.java

@@ -0,0 +1,18 @@
+package com.flyer.foster.controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 角色表 前端控制器
+ * </p>
+ *
+ * @author flyer
+ * @since 2024-05-06
+ */
+@RestController
+@RequestMapping("/foster/role")
+public class RoleController {
+
+}

+ 18 - 0
admin/src/main/java/com/flyer/foster/controller/RoleMenuController.java

@@ -0,0 +1,18 @@
+package com.flyer.foster.controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 角色菜单关系表 前端控制器
+ * </p>
+ *
+ * @author flyer
+ * @since 2024-05-06
+ */
+@RestController
+@RequestMapping("/foster/role-menu")
+public class RoleMenuController {
+
+}

+ 18 - 0
admin/src/main/java/com/flyer/foster/controller/TenantController.java

@@ -0,0 +1,18 @@
+package com.flyer.foster.controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 系统租户表 前端控制器
+ * </p>
+ *
+ * @author flyer
+ * @since 2024-05-06
+ */
+@RestController
+@RequestMapping("/foster/tenant")
+public class TenantController {
+
+}

+ 18 - 0
admin/src/main/java/com/flyer/foster/controller/UserController.java

@@ -0,0 +1,18 @@
+package com.flyer.foster.controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 用户表 前端控制器
+ * </p>
+ *
+ * @author flyer
+ * @since 2024-05-06
+ */
+@RestController
+@RequestMapping("/foster/user")
+public class UserController {
+
+}

+ 18 - 0
admin/src/main/java/com/flyer/foster/controller/UserRoleController.java

@@ -0,0 +1,18 @@
+package com.flyer.foster.controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 用户角色表 前端控制器
+ * </p>
+ *
+ * @author flyer
+ * @since 2024-05-06
+ */
+@RestController
+@RequestMapping("/foster/user-role")
+public class UserRoleController {
+
+}

+ 67 - 0
admin/src/main/java/com/flyer/foster/entity/Menu.java

@@ -0,0 +1,67 @@
+package com.flyer.foster.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.Version;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 菜单表
+ * </p>
+ *
+ * @author flyer
+ * @since 2024-05-06
+ */
+@Getter
+@Setter
+@TableName("tb_menu")
+public class Menu implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private Integer id;
+
+    private String menuName;
+
+    private String menuCode;
+
+    private Integer parentId;
+
+    private Integer isAdmin;
+
+    private Integer menuSort;
+
+    private Integer type;
+
+    private String permission;
+
+    private String url;
+
+    private Integer status;
+
+    @Version
+    private Integer version;
+
+    @TableLogic
+    private Integer isDeleted;
+
+    @TableField(fill = FieldFill.INSERT)
+    private String createdBy;
+
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createdTime;
+
+    @TableField(fill = FieldFill.UPDATE)
+    private String updatedBy;
+
+    @TableField(fill = FieldFill.UPDATE)
+    private LocalDateTime updatedTime;
+
+
+}

+ 59 - 0
admin/src/main/java/com/flyer/foster/entity/Role.java

@@ -0,0 +1,59 @@
+package com.flyer.foster.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.Version;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 角色表
+ * </p>
+ *
+ * @author flyer
+ * @since 2024-05-06
+ */
+@Getter
+@Setter
+@TableName("tb_role")
+public class Role implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private Integer id;
+
+    private String roleName;
+
+    private String roleCode;
+
+    private Integer isAdmin;
+
+    private Integer status;
+
+    private Integer tenantId;
+
+    @Version
+    private Integer version;
+
+    @TableLogic
+    private Integer isDeleted;
+
+    @TableField(fill = FieldFill.INSERT)
+    private String createdBy;
+
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createdTime;
+
+    @TableField(fill = FieldFill.UPDATE)
+    private String updatedBy;
+
+    @TableField(fill = FieldFill.UPDATE)
+    private LocalDateTime updatedTime;
+
+
+}

+ 55 - 0
admin/src/main/java/com/flyer/foster/entity/RoleMenu.java

@@ -0,0 +1,55 @@
+package com.flyer.foster.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.Version;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 角色菜单关系表
+ * </p>
+ *
+ * @author flyer
+ * @since 2024-05-06
+ */
+@Getter
+@Setter
+@TableName("tb_role_menu")
+public class RoleMenu implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private Integer id;
+
+    private Integer roleId;
+
+    private Integer menuId;
+
+    private Integer status;
+
+    @Version
+    private Integer version;
+
+    @TableLogic
+    private Integer isDeleted;
+
+    @TableField(fill = FieldFill.INSERT)
+    private String createdBy;
+
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createdTime;
+
+    @TableField(fill = FieldFill.UPDATE)
+    private String updatedBy;
+
+    @TableField(fill = FieldFill.UPDATE)
+    private LocalDateTime updatedTime;
+
+
+}

+ 57 - 0
admin/src/main/java/com/flyer/foster/entity/Tenant.java

@@ -0,0 +1,57 @@
+package com.flyer.foster.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.Version;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 系统租户表
+ * </p>
+ *
+ * @author flyer
+ * @since 2024-05-06
+ */
+@Getter
+@Setter
+@TableName("tb_tenant")
+public class Tenant implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private Integer id;
+
+    private String tenantName;
+
+    private Integer type;
+
+    private Integer parentId;
+
+    private Integer status;
+
+    @Version
+    private Integer version;
+
+    @TableLogic
+    private Integer isDeleted;
+
+    @TableField(fill = FieldFill.INSERT)
+    private String createdBy;
+
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createdTime;
+
+    @TableField(fill = FieldFill.UPDATE)
+    private String updatedBy;
+
+    @TableField(fill = FieldFill.UPDATE)
+    private LocalDateTime updatedTime;
+
+
+}

+ 57 - 0
admin/src/main/java/com/flyer/foster/entity/User.java

@@ -0,0 +1,57 @@
+package com.flyer.foster.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.Version;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 用户表
+ * </p>
+ *
+ * @author flyer
+ * @since 2024-05-06
+ */
+@Getter
+@Setter
+@TableName("tb_user")
+public class User implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private Integer id;
+
+    private String username;
+
+    private String password;
+
+    private Integer status;
+
+    private Integer tenantId;
+
+    @Version
+    private Integer version;
+
+    @TableLogic
+    private Integer isDeleted;
+
+    @TableField(fill = FieldFill.INSERT)
+    private String createdBy;
+
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createdTime;
+
+    @TableField(fill = FieldFill.UPDATE)
+    private String updatedBy;
+
+    @TableField(fill = FieldFill.UPDATE)
+    private LocalDateTime updatedTime;
+
+
+}

+ 57 - 0
admin/src/main/java/com/flyer/foster/entity/UserRole.java

@@ -0,0 +1,57 @@
+package com.flyer.foster.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.Version;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 用户角色表
+ * </p>
+ *
+ * @author flyer
+ * @since 2024-05-06
+ */
+@Getter
+@Setter
+@TableName("tb_user_role")
+public class UserRole implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private Integer id;
+
+    private Integer userId;
+
+    private Integer roleId;
+
+    private Integer status;
+
+    private Integer tenantId;
+
+    @Version
+    private Integer version;
+
+    @TableLogic
+    private Integer isDeleted;
+
+    @TableField(fill = FieldFill.INSERT)
+    private String createdBy;
+
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createdTime;
+
+    @TableField(fill = FieldFill.UPDATE)
+    private String updatedBy;
+
+    @TableField(fill = FieldFill.UPDATE)
+    private LocalDateTime updatedTime;
+
+
+}

+ 16 - 0
admin/src/main/java/com/flyer/foster/mapper/IMenuMapper.java

@@ -0,0 +1,16 @@
+package com.flyer.foster.mapper;
+
+import com.flyer.foster.entity.Menu;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 菜单表 Mapper 接口
+ * </p>
+ *
+ * @author flyer
+ * @since 2024-05-06
+ */
+public interface IMenuMapper extends BaseMapper<Menu> {
+
+}

+ 16 - 0
admin/src/main/java/com/flyer/foster/mapper/IRoleMapper.java

@@ -0,0 +1,16 @@
+package com.flyer.foster.mapper;
+
+import com.flyer.foster.entity.Role;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 角色表 Mapper 接口
+ * </p>
+ *
+ * @author flyer
+ * @since 2024-05-06
+ */
+public interface IRoleMapper extends BaseMapper<Role> {
+
+}

+ 16 - 0
admin/src/main/java/com/flyer/foster/mapper/IRoleMenuMapper.java

@@ -0,0 +1,16 @@
+package com.flyer.foster.mapper;
+
+import com.flyer.foster.entity.RoleMenu;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 角色菜单关系表 Mapper 接口
+ * </p>
+ *
+ * @author flyer
+ * @since 2024-05-06
+ */
+public interface IRoleMenuMapper extends BaseMapper<RoleMenu> {
+
+}

+ 16 - 0
admin/src/main/java/com/flyer/foster/mapper/ITenantMapper.java

@@ -0,0 +1,16 @@
+package com.flyer.foster.mapper;
+
+import com.flyer.foster.entity.Tenant;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 系统租户表 Mapper 接口
+ * </p>
+ *
+ * @author flyer
+ * @since 2024-05-06
+ */
+public interface ITenantMapper extends BaseMapper<Tenant> {
+
+}

+ 16 - 0
admin/src/main/java/com/flyer/foster/mapper/IUserMapper.java

@@ -0,0 +1,16 @@
+package com.flyer.foster.mapper;
+
+import com.flyer.foster.entity.User;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 用户表 Mapper 接口
+ * </p>
+ *
+ * @author flyer
+ * @since 2024-05-06
+ */
+public interface IUserMapper extends BaseMapper<User> {
+
+}

+ 16 - 0
admin/src/main/java/com/flyer/foster/mapper/IUserRoleMapper.java

@@ -0,0 +1,16 @@
+package com.flyer.foster.mapper;
+
+import com.flyer.foster.entity.UserRole;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 用户角色表 Mapper 接口
+ * </p>
+ *
+ * @author flyer
+ * @since 2024-05-06
+ */
+public interface IUserRoleMapper extends BaseMapper<UserRole> {
+
+}

+ 16 - 0
admin/src/main/java/com/flyer/foster/service/IMenuService.java

@@ -0,0 +1,16 @@
+package com.flyer.foster.service;
+
+import com.flyer.foster.entity.Menu;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 菜单表 服务类
+ * </p>
+ *
+ * @author flyer
+ * @since 2024-05-06
+ */
+public interface IMenuService extends IService<Menu> {
+
+}

+ 16 - 0
admin/src/main/java/com/flyer/foster/service/IRoleMenuService.java

@@ -0,0 +1,16 @@
+package com.flyer.foster.service;
+
+import com.flyer.foster.entity.RoleMenu;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 角色菜单关系表 服务类
+ * </p>
+ *
+ * @author flyer
+ * @since 2024-05-06
+ */
+public interface IRoleMenuService extends IService<RoleMenu> {
+
+}

+ 16 - 0
admin/src/main/java/com/flyer/foster/service/IRoleService.java

@@ -0,0 +1,16 @@
+package com.flyer.foster.service;
+
+import com.flyer.foster.entity.Role;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 角色表 服务类
+ * </p>
+ *
+ * @author flyer
+ * @since 2024-05-06
+ */
+public interface IRoleService extends IService<Role> {
+
+}

+ 16 - 0
admin/src/main/java/com/flyer/foster/service/ITenantService.java

@@ -0,0 +1,16 @@
+package com.flyer.foster.service;
+
+import com.flyer.foster.entity.Tenant;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 系统租户表 服务类
+ * </p>
+ *
+ * @author flyer
+ * @since 2024-05-06
+ */
+public interface ITenantService extends IService<Tenant> {
+
+}

+ 16 - 0
admin/src/main/java/com/flyer/foster/service/IUserRoleService.java

@@ -0,0 +1,16 @@
+package com.flyer.foster.service;
+
+import com.flyer.foster.entity.UserRole;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 用户角色表 服务类
+ * </p>
+ *
+ * @author flyer
+ * @since 2024-05-06
+ */
+public interface IUserRoleService extends IService<UserRole> {
+
+}

+ 16 - 0
admin/src/main/java/com/flyer/foster/service/IUserService.java

@@ -0,0 +1,16 @@
+package com.flyer.foster.service;
+
+import com.flyer.foster.entity.User;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 用户表 服务类
+ * </p>
+ *
+ * @author flyer
+ * @since 2024-05-06
+ */
+public interface IUserService extends IService<User> {
+
+}

+ 20 - 0
admin/src/main/java/com/flyer/foster/service/impl/MenuServiceImpl.java

@@ -0,0 +1,20 @@
+package com.flyer.foster.service.impl;
+
+import com.flyer.foster.entity.Menu;
+import com.flyer.foster.mapper.IMenuMapper;
+import com.flyer.foster.service.IMenuService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 菜单表 服务实现类
+ * </p>
+ *
+ * @author flyer
+ * @since 2024-05-06
+ */
+@Service
+public class MenuServiceImpl extends ServiceImpl<IMenuMapper, Menu> implements IMenuService {
+
+}

+ 20 - 0
admin/src/main/java/com/flyer/foster/service/impl/RoleMenuServiceImpl.java

@@ -0,0 +1,20 @@
+package com.flyer.foster.service.impl;
+
+import com.flyer.foster.entity.RoleMenu;
+import com.flyer.foster.mapper.IRoleMenuMapper;
+import com.flyer.foster.service.IRoleMenuService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 角色菜单关系表 服务实现类
+ * </p>
+ *
+ * @author flyer
+ * @since 2024-05-06
+ */
+@Service
+public class RoleMenuServiceImpl extends ServiceImpl<IRoleMenuMapper, RoleMenu> implements IRoleMenuService {
+
+}

+ 20 - 0
admin/src/main/java/com/flyer/foster/service/impl/RoleServiceImpl.java

@@ -0,0 +1,20 @@
+package com.flyer.foster.service.impl;
+
+import com.flyer.foster.entity.Role;
+import com.flyer.foster.mapper.IRoleMapper;
+import com.flyer.foster.service.IRoleService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 角色表 服务实现类
+ * </p>
+ *
+ * @author flyer
+ * @since 2024-05-06
+ */
+@Service
+public class RoleServiceImpl extends ServiceImpl<IRoleMapper, Role> implements IRoleService {
+
+}

+ 20 - 0
admin/src/main/java/com/flyer/foster/service/impl/TenantServiceImpl.java

@@ -0,0 +1,20 @@
+package com.flyer.foster.service.impl;
+
+import com.flyer.foster.entity.Tenant;
+import com.flyer.foster.mapper.ITenantMapper;
+import com.flyer.foster.service.ITenantService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 系统租户表 服务实现类
+ * </p>
+ *
+ * @author flyer
+ * @since 2024-05-06
+ */
+@Service
+public class TenantServiceImpl extends ServiceImpl<ITenantMapper, Tenant> implements ITenantService {
+
+}

+ 20 - 0
admin/src/main/java/com/flyer/foster/service/impl/UserRoleServiceImpl.java

@@ -0,0 +1,20 @@
+package com.flyer.foster.service.impl;
+
+import com.flyer.foster.entity.UserRole;
+import com.flyer.foster.mapper.IUserRoleMapper;
+import com.flyer.foster.service.IUserRoleService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 用户角色表 服务实现类
+ * </p>
+ *
+ * @author flyer
+ * @since 2024-05-06
+ */
+@Service
+public class UserRoleServiceImpl extends ServiceImpl<IUserRoleMapper, UserRole> implements IUserRoleService {
+
+}

+ 20 - 0
admin/src/main/java/com/flyer/foster/service/impl/UserServiceImpl.java

@@ -0,0 +1,20 @@
+package com.flyer.foster.service.impl;
+
+import com.flyer.foster.entity.User;
+import com.flyer.foster.mapper.IUserMapper;
+import com.flyer.foster.service.IUserService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 用户表 服务实现类
+ * </p>
+ *
+ * @author flyer
+ * @since 2024-05-06
+ */
+@Service
+public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements IUserService {
+
+}

+ 5 - 0
admin/src/main/resources/mapper/MenuMapper.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.flyer.foster.mapper.IMenuMapper">
+
+</mapper>

+ 5 - 0
admin/src/main/resources/mapper/RoleMapper.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.flyer.foster.mapper.IRoleMapper">
+
+</mapper>

+ 5 - 0
admin/src/main/resources/mapper/RoleMenuMapper.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.flyer.foster.mapper.IRoleMenuMapper">
+
+</mapper>

+ 5 - 0
admin/src/main/resources/mapper/TenantMapper.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.flyer.foster.mapper.ITenantMapper">
+
+</mapper>

+ 5 - 0
admin/src/main/resources/mapper/UserMapper.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.flyer.foster.mapper.IUserMapper">
+
+</mapper>

+ 5 - 0
admin/src/main/resources/mapper/UserRoleMapper.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.flyer.foster.mapper.IUserRoleMapper">
+
+</mapper>

+ 93 - 0
common/pom.xml

@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>foster</artifactId>
+        <groupId>org.flyer</groupId>
+        <version>${revision}</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>common</artifactId>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-boot-starter</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-generator</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.velocity</groupId>
+            <artifactId>velocity-engine-core</artifactId>
+            <version>2.3</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-redis</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-validation</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-pool2</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>fastjson</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>io.jsonwebtoken</groupId>
+            <artifactId>jjwt</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+            <scope>runtime</scope>
+        </dependency>
+
+        <!-- 阿里短信-->
+        <dependency>
+            <groupId>com.aliyun</groupId>
+            <artifactId>aliyun-java-sdk-core</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.aliyun</groupId>
+            <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-all</artifactId>
+        </dependency>
+    </dependencies>
+</project>

+ 43 - 0
common/src/main/java/com/flyer/enums/StatusCodeEnum.java

@@ -0,0 +1,43 @@
+package com.flyer.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.ToString;
+
+/**
+ * StatusCodeEnum
+ *
+ * @author kelei
+ * @since 2022/3/14/15:30
+ */
+@Getter
+@AllArgsConstructor
+@ToString
+public enum StatusCodeEnum {
+    SUCCESS(2000, "成功"),
+
+    UNAUTHORIZED(3101, "用户未登录,无法访问"),
+    NO_AUTHENTICATION(3102, "没有操作权限"),
+
+    LOGIN_SUCCESS(3201, "登录成功"),
+    LOGIN_FAIL(3202, "登录失败"),
+    LOGOUT_SUCCESS(3203, "登出成功"),
+    LOGIN_UNREGISTERED(3204, "未注册"),
+
+    USER_ACCOUNT_EXPIRED(3301, "账号过期,请重新登录"),
+    USER_PASSWORD_ERROR(3302, "账号密码错误"),
+
+    INVALID_TOKEN(3401, "无效的TOKEN"),
+    TOKENEXPIRE(3402, "TOKEN失效"),
+
+    BAD_SQL(3501, "SQL异常"),
+
+    ERROR(4000, "服务器内部错误"),
+
+    COMMENT_ERROR(87014,"评论含有违法违规内容");
+
+    //响应状态码
+    private Integer code;
+    //响应信息
+    private String message;
+}

+ 94 - 0
common/src/main/java/com/flyer/util/R.java

@@ -0,0 +1,94 @@
+package com.flyer.util;
+
+import com.flyer.enums.StatusCodeEnum;
+import lombok.Data;
+
+/**
+ * R
+ *
+ * @author kelei
+ * @since 2022/3/14/15:17
+ */
+@Data
+public class R {
+    private Integer code;
+    private String message;
+    private Object result;
+
+    /**
+     * 构造函数私有化
+     */
+    private R() {
+    }
+
+    /**
+     * 返回成功结果
+     *
+     * @return
+     */
+    public static R ok() {
+        R r = new R();
+        r.setCode(StatusCodeEnum.SUCCESS.getCode());
+        r.setMessage(StatusCodeEnum.SUCCESS.getMessage());
+        return r;
+    }
+
+    public static R ok(StatusCodeEnum statusCodeEnum) {
+        R r = new R();
+        r.setCode(statusCodeEnum.getCode());
+        r.setMessage(statusCodeEnum.getMessage());
+        return r;
+    }
+
+    /**
+     * 返回失败结果
+     *
+     * @return
+     */
+    public static R error() {
+        R r = new R();
+        r.setCode(StatusCodeEnum.ERROR.getCode());
+        r.setMessage(StatusCodeEnum.ERROR.getMessage());
+        return r;
+    }
+
+    /**
+     * 返回指定失败结果
+     *
+     * @return
+     */
+    public static R error(StatusCodeEnum statusCodeEnum) {
+        R r = new R();
+        r.setCode(statusCodeEnum.getCode());
+        r.setMessage(statusCodeEnum.getMessage());
+        return r;
+    }
+
+    public <T> R result(T result) {
+        this.setResult(result);
+        return this;
+    }
+
+    /**
+     * 设置特定的响应消息
+     *
+     * @param message
+     * @return
+     */
+    public R message(String message) {
+        this.setMessage(message);
+        return this;
+    }
+
+
+    /**
+     * 设置特定的响应码
+     *
+     * @param code
+     * @return
+     */
+    public R code(Integer code) {
+        this.setCode(code);
+        return this;
+    }
+}

+ 97 - 0
pom.xml

@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-starter-parent</artifactId>
+        <version>2.3.12.RELEASE</version>
+        <relativePath/>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <groupId>org.flyer</groupId>
+    <artifactId>foster</artifactId>
+    <packaging>pom</packaging>
+    <version>${revision}</version>
+    <modules>
+        <module>common</module>
+        <module>admin</module>
+    </modules>
+
+    <properties>
+        <revision>1.0-SNAPSHOT</revision>
+        <fastjson.version>1.2.47</fastjson.version>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+        <mybatis-plus.version>3.5.1</mybatis-plus.version>
+        <mybatis-plus-generator.version>3.5.2</mybatis-plus-generator.version>
+        <jwt.version>0.9.1</jwt.version>
+        <commons.pool2.version>2.7.0</commons.pool2.version>
+        <aliyun.version>4.0.6</aliyun.version>
+        <dysmsapi.version>1.1.0</dysmsapi.version>
+        <hutool.version>5.7.20</hutool.version>
+        <hutool.pinyin.version>2.0.3.RELEASE</hutool.pinyin.version>
+    </properties>
+
+    <dependencyManagement>
+        <dependencies>
+            <!--mybatis-plus-->
+            <dependency>
+                <groupId>com.baomidou</groupId>
+                <artifactId>mybatis-plus-boot-starter</artifactId>
+                <version>${mybatis-plus.version}</version>
+            </dependency>
+            <!--代码生成-->
+            <dependency>
+                <groupId>com.baomidou</groupId>
+                <artifactId>mybatis-plus-generator</artifactId>
+                <version>${mybatis-plus-generator.version}</version>
+            </dependency>
+
+            <dependency>
+                <groupId>com.alibaba</groupId>
+                <artifactId>fastjson</artifactId>
+                <version>${fastjson.version}</version>
+            </dependency>
+
+            <!-- JWT -->
+            <dependency>
+                <groupId>io.jsonwebtoken</groupId>
+                <artifactId>jjwt</artifactId>
+                <version>${jwt.version}</version>
+            </dependency>
+
+            <dependency>
+                <groupId>org.apache.commons</groupId>
+                <artifactId>commons-pool2</artifactId>
+                <version>${commons.pool2.version}</version>
+            </dependency>
+
+            <!-- 阿里短信-->
+            <dependency>
+                <groupId>com.aliyun</groupId>
+                <artifactId>aliyun-java-sdk-core</artifactId>
+                <version>${aliyun.version}</version>
+            </dependency>
+
+            <dependency>
+                <groupId>com.aliyun</groupId>
+                <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
+                <version>${dysmsapi.version}</version>
+            </dependency>
+
+            <dependency>
+                <groupId>cn.hutool</groupId>
+                <artifactId>hutool-all</artifactId>
+                <version>${hutool.version}</version>
+            </dependency>
+
+            <dependency>
+                <groupId>io.github.biezhi</groupId>
+                <artifactId>TinyPinyin</artifactId>
+                <version>${hutool.pinyin.version}</version>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+</project>