From d5e1fb4db7ede37f4f87b7998ef4936dc53c1d24 Mon Sep 17 00:00:00 2001
From: tortoise <2891138827@qq.com>
Date: Fri, 9 Aug 2024 22:35:46 +0800
Subject: [PATCH] =?UTF-8?q?=E8=A1=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 6 +++
pom.xml | 5 ++
.../top/suyiiyii/sims/SimsApplication.java | 4 +-
.../top/suyiiyii/sims/entity/Attachment.java | 26 +++++++++
.../sims/entity/HierarchyRelation.java | 31 +++++++++++
.../suyiiyii/sims/entity/Notification.java | 28 ++++++++++
.../top/suyiiyii/sims/entity/Permissions.java | 26 +++++++++
.../sims/entity/RewardPunishmentCategory.java | 28 ++++++++++
.../sims/entity/RewardPunishmentRecord.java | 54 +++++++++++++++++++
.../java/top/suyiiyii/sims/entity/Role.java | 24 +++++++++
.../suyiiyii/sims/entity/RolePermission.java | 25 +++++++++
.../java/top/suyiiyii/sims/entity/User.java | 29 ++++++++++
.../top/suyiiyii/sims/entity/UserRole.java | 23 ++++++++
src/main/resources/application.properties | 1 -
src/main/resources/mapper/UserMapper.xml | 0
15 files changed, 307 insertions(+), 3 deletions(-)
create mode 100644 src/main/java/top/suyiiyii/sims/entity/Attachment.java
create mode 100644 src/main/java/top/suyiiyii/sims/entity/HierarchyRelation.java
create mode 100644 src/main/java/top/suyiiyii/sims/entity/Notification.java
create mode 100644 src/main/java/top/suyiiyii/sims/entity/Permissions.java
create mode 100644 src/main/java/top/suyiiyii/sims/entity/RewardPunishmentCategory.java
create mode 100644 src/main/java/top/suyiiyii/sims/entity/RewardPunishmentRecord.java
create mode 100644 src/main/java/top/suyiiyii/sims/entity/Role.java
create mode 100644 src/main/java/top/suyiiyii/sims/entity/RolePermission.java
create mode 100644 src/main/java/top/suyiiyii/sims/entity/User.java
create mode 100644 src/main/java/top/suyiiyii/sims/entity/UserRole.java
delete mode 100644 src/main/resources/application.properties
create mode 100644 src/main/resources/mapper/UserMapper.xml
diff --git a/README.md b/README.md
index 6a6c606..82a2cce 100644
--- a/README.md
+++ b/README.md
@@ -13,3 +13,9 @@ Super Invincible Management System
8. require review: 请求review
9. merge: 合并 PR
10. delete: 删除分支
+
+1. 基础rbac的五张表: user, role, permission, user_role, role_permission
+2. 然后奖惩记录这张表,通过用户id来查到,里面有相应的记录, 有一个 奖惩类别ID是对应到奖惩类型去的
+3. 有一个上下级关系表,想着是用户明确查上下级就可以用查,
+4. 然后就是附件,是通过奖惩记录的id来存一个路径,然后前端通过这个路径来获取附件,同样的上传的时候也是
+5. 通知是这样子想的,有上传的人的id和接收的人的id,然后有状态(已读,未读),然后有附件的路径,然后有通知内容,然后有通知时间,然后有通知类型(奖惩,通知)
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index e884319..f41ede9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -46,6 +46,11 @@
runtime
true
+
+ com.tangzc
+ mybatis-plus-ext-boot-starter
+ 3.5.5-EXT560
+
com.mysql
mysql-connector-j
diff --git a/src/main/java/top/suyiiyii/sims/SimsApplication.java b/src/main/java/top/suyiiyii/sims/SimsApplication.java
index 06daf3b..b5d5093 100644
--- a/src/main/java/top/suyiiyii/sims/SimsApplication.java
+++ b/src/main/java/top/suyiiyii/sims/SimsApplication.java
@@ -1,11 +1,11 @@
package top.suyiiyii.sims;
+import com.tangzc.mpe.autotable.EnableAutoTable;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-
+@EnableAutoTable
@SpringBootApplication
public class SimsApplication {
-
public static void main(String[] args) {
SpringApplication.run(SimsApplication.class, args);
}
diff --git a/src/main/java/top/suyiiyii/sims/entity/Attachment.java b/src/main/java/top/suyiiyii/sims/entity/Attachment.java
new file mode 100644
index 0000000..1a3f602
--- /dev/null
+++ b/src/main/java/top/suyiiyii/sims/entity/Attachment.java
@@ -0,0 +1,26 @@
+package top.suyiiyii.sims.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.tangzc.mpe.autotable.annotation.Table;
+import lombok.Data;
+
+/**
+ * @Author tortoise
+ * @Date 2024/8/9 15:44
+ * @PackageName:top.suyiiyii.sims.entity
+ * @ClassName: Attachment
+ * @Description: TODO
+ * @Version 1.0
+ */
+@Data
+@Table
+public class Attachment {
+ private Integer id;
+ private Integer recordId;
+ // 文件路径
+ private String filePath;
+ // 文件名
+ private String fileName;
+}
diff --git a/src/main/java/top/suyiiyii/sims/entity/HierarchyRelation.java b/src/main/java/top/suyiiyii/sims/entity/HierarchyRelation.java
new file mode 100644
index 0000000..da3259d
--- /dev/null
+++ b/src/main/java/top/suyiiyii/sims/entity/HierarchyRelation.java
@@ -0,0 +1,31 @@
+package top.suyiiyii.sims.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.tangzc.mpe.autotable.annotation.Table;
+import lombok.Data;
+
+/**
+ * @Author tortoise
+ * @Date 2024/8/9 15:45
+ * @PackageName:top.suyiiyii.sims.entity
+ * @ClassName: HierarchyRelation
+ * @Description: TODO
+ * @Version 1.0
+ */
+@Data
+@Table
+public class HierarchyRelation {
+
+ private Integer id;
+
+ // 上级用户ID
+ private Integer superiorUserId;
+
+ // 下级用户ID
+ private Integer subordinateUserId;
+
+ // 关系类型
+ private String relationType;
+}
diff --git a/src/main/java/top/suyiiyii/sims/entity/Notification.java b/src/main/java/top/suyiiyii/sims/entity/Notification.java
new file mode 100644
index 0000000..402b5b0
--- /dev/null
+++ b/src/main/java/top/suyiiyii/sims/entity/Notification.java
@@ -0,0 +1,28 @@
+package top.suyiiyii.sims.entity;
+
+import com.tangzc.mpe.autotable.annotation.Table;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * @Author tortoise
+ * @Date 2024/8/9 22:22
+ * @PackageName:top.suyiiyii.sims.entity
+ * @ClassName: Notification
+ * @Description: TODO
+ * @Version 1.0
+ */
+@Data
+@Table
+public class Notification {
+ private Integer id;
+ private String title;
+ private String content;
+ private Integer senderId;
+ private LocalDateTime createdAt;
+ private String status;
+ private String type;
+ private Integer targetUserId;
+
+}
diff --git a/src/main/java/top/suyiiyii/sims/entity/Permissions.java b/src/main/java/top/suyiiyii/sims/entity/Permissions.java
new file mode 100644
index 0000000..33c19f2
--- /dev/null
+++ b/src/main/java/top/suyiiyii/sims/entity/Permissions.java
@@ -0,0 +1,26 @@
+package top.suyiiyii.sims.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.tangzc.mpe.autotable.annotation.Table;
+import lombok.Data;
+
+/**
+ * @Author tortoise
+ * @Date 2024/8/9 14:03
+ * @PackageName:top.suyiiyii.sims.entity
+ * @ClassName: Permissions
+ * @Description: TODO
+ * @Version 1.0
+ */
+@Data
+@Table
+public class Permissions {
+
+ private Integer id;
+ //权限id
+ private Integer permissionId;
+ // 权限描述
+ private String description;
+
+}
diff --git a/src/main/java/top/suyiiyii/sims/entity/RewardPunishmentCategory.java b/src/main/java/top/suyiiyii/sims/entity/RewardPunishmentCategory.java
new file mode 100644
index 0000000..f1dbf22
--- /dev/null
+++ b/src/main/java/top/suyiiyii/sims/entity/RewardPunishmentCategory.java
@@ -0,0 +1,28 @@
+package top.suyiiyii.sims.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.tangzc.mpe.autotable.annotation.Table;
+import lombok.Data;
+
+/**
+ * @Author tortoise
+ * @Date 2024/8/9 15:43
+ * @PackageName:top.suyiiyii.sims.entity
+ * @ClassName: RewardPunishmentCategory
+ * @Description: TODO
+ * @Version 1.0
+ */
+@Data
+@Table
+public class RewardPunishmentCategory {
+
+ private Integer id;
+
+ private Integer categoryId;
+ // 类别名称
+ private String categoryName;
+ // 类别说明
+ private String description;
+
+}
diff --git a/src/main/java/top/suyiiyii/sims/entity/RewardPunishmentRecord.java b/src/main/java/top/suyiiyii/sims/entity/RewardPunishmentRecord.java
new file mode 100644
index 0000000..6081c68
--- /dev/null
+++ b/src/main/java/top/suyiiyii/sims/entity/RewardPunishmentRecord.java
@@ -0,0 +1,54 @@
+package top.suyiiyii.sims.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.tangzc.mpe.autotable.annotation.Table;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * @Author tortoise
+ * @Date 2024/8/9 14:04
+ * @PackageName:top.suyiiyii.sims.entity
+ * @ClassName: RewardPunishmentRecord
+ * @Description: TODO
+ * @Version 1.0
+ */
+@Data
+@Table
+public class RewardPunishmentRecord {
+
+ private Integer id;
+ // 用户ID
+ private Integer userId;
+ // 奖惩类型
+ private String type;
+ // 奖惩类别ID
+ private Integer categoryId;
+ // 奖惩日期
+ private LocalDateTime date;
+ // 奖惩内容
+ private String content;
+ // 奖惩原因
+ private String reason;
+ // 奖惩金额
+ private Double amount;
+ // 奖惩备注
+ private String remark;
+ // 是否撤销
+ private Boolean isRevoked;
+ // 撤销日期
+ private LocalDateTime revokeDate;
+ // 撤销原因
+ private String revokeReason;
+ // 撤销备注
+ private String revokeRemark;
+ // 操作人ID
+ private Integer operatorUserId;
+ // 最近一次更新时间
+ private LocalDateTime lastUpdateTime;
+
+
+}
diff --git a/src/main/java/top/suyiiyii/sims/entity/Role.java b/src/main/java/top/suyiiyii/sims/entity/Role.java
new file mode 100644
index 0000000..05a39dc
--- /dev/null
+++ b/src/main/java/top/suyiiyii/sims/entity/Role.java
@@ -0,0 +1,24 @@
+package top.suyiiyii.sims.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.tangzc.mpe.autotable.annotation.Table;
+import lombok.Data;
+
+/**
+ * @Author tortoise
+ * @Date 2024/8/9 14:02
+ * @PackageName:top.suyiiyii.sims.entity
+ * @ClassName: Role
+ * @Description: TODO
+ * @Version 1.0
+ */
+@Data
+@Table
+public class Role {
+
+ private Integer id;
+ private Integer roleId;
+ private String roleName;
+
+}
diff --git a/src/main/java/top/suyiiyii/sims/entity/RolePermission.java b/src/main/java/top/suyiiyii/sims/entity/RolePermission.java
new file mode 100644
index 0000000..02b863b
--- /dev/null
+++ b/src/main/java/top/suyiiyii/sims/entity/RolePermission.java
@@ -0,0 +1,25 @@
+package top.suyiiyii.sims.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.tangzc.mpe.autotable.annotation.Table;
+import lombok.Data;
+
+import java.security.Permission;
+
+/**
+ * @Author tortoise
+ * @Date 2024/8/9 14:03
+ * @PackageName:top.suyiiyii.sims.entity
+ * @ClassName: RolePermission
+ * @Description: TODO
+ * @Version 1.0
+ */
+@Data
+@Table
+public class RolePermission {
+ private Integer rolePermissionId;
+ private Integer roleId;
+ private Integer permissionId;
+}
diff --git a/src/main/java/top/suyiiyii/sims/entity/User.java b/src/main/java/top/suyiiyii/sims/entity/User.java
new file mode 100644
index 0000000..ab369d2
--- /dev/null
+++ b/src/main/java/top/suyiiyii/sims/entity/User.java
@@ -0,0 +1,29 @@
+package top.suyiiyii.sims.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.tangzc.mpe.autotable.annotation.Table;
+import lombok.Data;
+
+/**
+ * @Author tortoise
+ * @Date 2024/8/9 14:02
+ * @PackageName:top.suyiiyii.sims.entity
+ * @ClassName: User
+ * @Description: TODO
+ * @Version 1.0
+ */
+@Data
+@Table
+public class User {
+
+ private Integer id;
+ private Integer userId;
+ private String username;
+ private String password;
+ private String name;
+ private String email;
+ private String group;
+
+}
diff --git a/src/main/java/top/suyiiyii/sims/entity/UserRole.java b/src/main/java/top/suyiiyii/sims/entity/UserRole.java
new file mode 100644
index 0000000..7d82f6d
--- /dev/null
+++ b/src/main/java/top/suyiiyii/sims/entity/UserRole.java
@@ -0,0 +1,23 @@
+package top.suyiiyii.sims.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.tangzc.mpe.autotable.annotation.Table;
+import lombok.Data;
+
+/**
+ * @Author tortoise
+ * @Date 2024/8/9 14:02
+ * @PackageName:top.suyiiyii.sims.entity
+ * @ClassName: UserRole
+ * @Description: TODO
+ * @Version 1.0
+ */
+@Data
+@Table
+public class UserRole {
+
+ private Integer id;
+ private Integer userId;
+ private Integer roleId;
+}
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
deleted file mode 100644
index e4aea02..0000000
--- a/src/main/resources/application.properties
+++ /dev/null
@@ -1 +0,0 @@
-spring.application.name=SIMS
diff --git a/src/main/resources/mapper/UserMapper.xml b/src/main/resources/mapper/UserMapper.xml
new file mode 100644
index 0000000..e69de29